aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroki Tagato <tagattie@FreeBSD.org>2021-05-12 06:00:55 +0000
committerHiroki Tagato <tagattie@FreeBSD.org>2021-05-12 06:00:55 +0000
commit8737e5cfe767d5547c420365c51f999afd503327 (patch)
treed30282503adda8508ca65c465eaa8b8eba67c154
parent14b915bc8f8965b573c38ddf4c49f7a916e1bbab (diff)
downloadports-8737e5cfe767d5547c420365c51f999afd503327.tar.gz
ports-8737e5cfe767d5547c420365c51f999afd503327.zip
devel/electron12: update to 12.0.7 (and rename from devel/electron11)
-rw-r--r--MOVED1
-rw-r--r--devel/Makefile2
-rw-r--r--devel/electron11/Makefile304
-rw-r--r--devel/electron11/Makefile.version2
-rw-r--r--devel/electron11/distinfo15
-rw-r--r--devel/electron11/files/package.json143
-rw-r--r--devel/electron11/files/patch-BUILD.gn96
-rw-r--r--devel/electron11/files/patch-apps_ui_views_app__window__frame__view.cc11
-rw-r--r--devel/electron11/files/patch-ash_display_mirror__window__controller.cc14
-rw-r--r--devel/electron11/files/patch-base_BUILD.gn112
-rw-r--r--devel/electron11/files/patch-base_allocator_allocator__shim__override__libc__symbols.h11
-rw-r--r--devel/electron11/files/patch-base_allocator_allocator__shim__unittest.cc47
-rw-r--r--devel/electron11/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h11
-rw-r--r--devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc.cc12
-rw-r--r--devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc26
-rw-r--r--devel/electron11/files/patch-base_base__switches.cc20
-rw-r--r--devel/electron11/files/patch-base_base__switches.h20
-rw-r--r--devel/electron11/files/patch-base_cpu.cc44
-rw-r--r--devel/electron11/files/patch-base_cpu.h20
-rw-r--r--devel/electron11/files/patch-base_debug_proc__maps__linux.cc141
-rw-r--r--devel/electron11/files/patch-base_debug_stack__trace__posix.cc23
-rw-r--r--devel/electron11/files/patch-base_debug_stack__trace__unittest.cc31
-rw-r--r--devel/electron11/files/patch-base_files_file__path__watcher__stub.cc53
-rw-r--r--devel/electron11/files/patch-base_files_file__path__watcher__unittest.cc65
-rw-r--r--devel/electron11/files/patch-base_files_file__util.h28
-rw-r--r--devel/electron11/files/patch-base_files_file__util__posix.cc60
-rw-r--r--devel/electron11/files/patch-base_files_file__util__unittest.cc38
-rw-r--r--devel/electron11/files/patch-base_i18n_icu__util.cc20
-rw-r--r--devel/electron11/files/patch-base_linux__util.cc38
-rw-r--r--devel/electron11/files/patch-base_logging__unittest.cc20
-rw-r--r--devel/electron11/files/patch-base_memory_platform__shared__memory__region__posix.cc38
-rw-r--r--devel/electron11/files/patch-base_process_launch.h29
-rw-r--r--devel/electron11/files/patch-base_process_launch__posix.cc39
-rw-r--r--devel/electron11/files/patch-base_process_process__iterator__freebsd.cc44
-rw-r--r--devel/electron11/files/patch-base_process_process__linux.cc48
-rw-r--r--devel/electron11/files/patch-base_process_process__metrics.cc38
-rw-r--r--devel/electron11/files/patch-base_process_process__metrics.h163
-rw-r--r--devel/electron11/files/patch-base_process_process__unittest.cc11
-rw-r--r--devel/electron11/files/patch-base_process_process__util__unittest.cc16
-rw-r--r--devel/electron11/files/patch-base_profiler_stack__copier__signal.cc63
-rw-r--r--devel/electron11/files/patch-base_system_sys__info.cc11
-rw-r--r--devel/electron11/files/patch-base_system_sys__info__posix.cc11
-rw-r--r--devel/electron11/files/patch-base_system_sys__info__unittest.cc46
-rw-r--r--devel/electron11/files/patch-base_test_BUILD.gn15
-rw-r--r--devel/electron11/files/patch-base_test_launcher_test__launcher.cc28
-rw-r--r--devel/electron11/files/patch-base_threading_platform__thread.h11
-rw-r--r--devel/electron11/files/patch-base_threading_platform__thread__linux.cc30
-rw-r--r--devel/electron11/files/patch-base_threading_platform__thread__posix.cc54
-rw-r--r--devel/electron11/files/patch-base_threading_platform__thread__unittest.cc24
-rw-r--r--devel/electron11/files/patch-base_threading_thread__task__runner__handle.cc26
-rw-r--r--devel/electron11/files/patch-base_trace__event_malloc__dump__provider.cc21
-rw-r--r--devel/electron11/files/patch-base_trace__event_process__memory__dump.cc11
-rw-r--r--devel/electron11/files/patch-base_trace__event_process__memory__dump.h11
-rw-r--r--devel/electron11/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc20
-rw-r--r--devel/electron11/files/patch-build_config_BUILD.gn30
-rw-r--r--devel/electron11/files/patch-build_config_BUILDCONFIG.gn48
-rw-r--r--devel/electron11/files/patch-build_config_compiler_BUILD.gn106
-rw-r--r--devel/electron11/files/patch-build_config_compiler_compiler.gni11
-rw-r--r--devel/electron11/files/patch-build_config_compiler_pgo_pgo.gni11
-rw-r--r--devel/electron11/files/patch-build_config_linux_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-build_linux_chrome.map29
-rw-r--r--devel/electron11/files/patch-build_toolchain_gcc__toolchain.gni45
-rw-r--r--devel/electron11/files/patch-build_toolchain_linux_BUILD.gn10
-rw-r--r--devel/electron11/files/patch-cc_BUILD.gn19
-rw-r--r--devel/electron11/files/patch-cc_test_layer__tree__test.cc11
-rw-r--r--devel/electron11/files/patch-cc_trees_property__tree.cc20
-rw-r--r--devel/electron11/files/patch-chrome_BUILD.gn13
-rw-r--r--devel/electron11/files/patch-chrome_app_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-chrome_app_chrome__command__ids.h11
-rw-r--r--devel/electron11/files/patch-chrome_app_chrome__main.cc17
-rw-r--r--devel/electron11/files/patch-chrome_app_chrome__main__delegate.cc195
-rw-r--r--devel/electron11/files/patch-chrome_app_chromium__strings.grd29
-rw-r--r--devel/electron11/files/patch-chrome_app_generated__resources.grd29
-rw-r--r--devel/electron11/files/patch-chrome_app_google__chrome__strings.grd29
-rw-r--r--devel/electron11/files/patch-chrome_app_settings__strings.grdp20
-rw-r--r--devel/electron11/files/patch-chrome_browser_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-chrome_browser_about__flags.cc186
-rw-r--r--devel/electron11/files/patch-chrome_browser_after__startup__task__utils.cc38
-rw-r--r--devel/electron11/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_background_background__mode__manager.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_browser__resources.grd11
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__browser__interface__binders.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__browser__main.cc54
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__browser__main__linux.cc32
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__browser__main__posix.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.cc106
-rw-r--r--devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.h17
-rw-r--r--devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_defaults.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_dev__ui__browser__resources.grd11
-rw-r--r--devel/electron11/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_download_download__prefs.cc65
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_BUILD.gn15
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_activity__log_activity__log.cc14
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_extensions_external__provider__impl.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_first__run_first__run__dialog.h11
-rw-r--r--devel/electron11/files/patch-chrome_browser_first__run_first__run__internal.h18
-rw-r--r--devel/electron11/files/patch-chrome_browser_first__run_first__run__internal__posix.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_flag__descriptions.cc74
-rw-r--r--devel/electron11/files/patch-chrome_browser_flag__descriptions.h69
-rw-r--r--devel/electron11/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc15
-rw-r--r--devel/electron11/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc14
-rw-r--r--devel/electron11/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc23
-rw-r--r--devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_memory__details__linux.cc13
-rw-r--r--devel/electron11/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc21
-rw-r--r--devel/electron11/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc25
-rw-r--r--devel/electron11/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_net_system__network__context__manager.cc64
-rw-r--r--devel/electron11/files/patch-chrome_browser_notifications_notification__display__service__impl.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc14
-rw-r--r--devel/electron11/files/patch-chrome_browser_password__manager_password__store__factory.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_pdf_pdf__extension__test.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_plugins_plugins__resource__service.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc30
-rw-r--r--devel/electron11/files/patch-chrome_browser_policy_device__management__service__configuration.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_prefs_browser__prefs.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_printing_print__job__worker.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_process__singleton__posix.cc34
-rw-r--r--devel/electron11/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_profiles_profile__attributes__entry.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_renderer__preferences__util.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html29
-rw-r--r--devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js33
-rw-r--r--devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc14
-rw-r--r--devel/electron11/files/patch-chrome_browser_sharing_sharing__device__registration.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc32
-rw-r--r--devel/electron11/files/patch-chrome_browser_sync_chrome__sync__client.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.cc56
-rw-r--r--devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.h48
-rw-r--r--devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc72
-rw-r--r--devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc16
-rw-r--r--devel/electron11/files/patch-chrome_browser_themes_theme__service__factory.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_tracing_crash__service__uploader.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_BUILD.gn19
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_browser__command__controller.cc38
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_browser__view__prefs.cc24
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_tab__helpers.cc25
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc15
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_test_test__browser__dialog.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_test_test__browser__ui.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_accelerator__table.cc46
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc38
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_chrome__views__delegate.h11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_download_download__item__view.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_first__run__dialog.cc14
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__frame.cc28
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__view.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_hung__renderer__view.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc29
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_views_web__apps_pwa__confirmation__bubble__view.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_webui_about__ui.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc58
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc20
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h11
-rw-r--r--devel/electron11/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc11
-rw-r--r--devel/electron11/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc11
-rw-r--r--devel/electron11/files/patch-chrome_common_BUILD.gn37
-rw-r--r--devel/electron11/files/patch-chrome_common_channel__info.h11
-rw-r--r--devel/electron11/files/patch-chrome_common_channel__info__posix.cc20
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__features.cc33
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__features.h28
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__paths.cc99
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__paths.h29
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__switches.cc11
-rw-r--r--devel/electron11/files/patch-chrome_common_chrome__switches.h11
-rw-r--r--devel/electron11/files/patch-chrome_common_extensions_command.cc11
-rw-r--r--devel/electron11/files/patch-chrome_common_features.gni11
-rw-r--r--devel/electron11/files/patch-chrome_common_pref__names.cc53
-rw-r--r--devel/electron11/files/patch-chrome_common_pref__names.h50
-rw-r--r--devel/electron11/files/patch-chrome_common_webui__url__constants.cc50
-rw-r--r--devel/electron11/files/patch-chrome_common_webui__url__constants.h33
-rw-r--r--devel/electron11/files/patch-chrome_renderer_chrome__content__renderer__client.cc11
-rw-r--r--devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc29
-rw-r--r--devel/electron11/files/patch-chrome_test_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-chrome_test_base_chrome__test__launcher.cc38
-rw-r--r--devel/electron11/files/patch-chrome_test_base_in__process__browser__test.cc31
-rw-r--r--devel/electron11/files/patch-chrome_test_base_interactive__ui__tests__main.cc20
-rw-r--r--devel/electron11/files/patch-chrome_test_base_test__browser__window.h11
-rw-r--r--devel/electron11/files/patch-chrome_test_base_testing__browser__process.h13
-rw-r--r--devel/electron11/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc11
-rw-r--r--devel/electron11/files/patch-chromecast_browser_cast__browser__main__parts.cc83
-rw-r--r--devel/electron11/files/patch-chromecast_browser_cast__content__browser__client.cc38
-rw-r--r--devel/electron11/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc20
-rw-r--r--devel/electron11/files/patch-components_BUILD.gn21
-rw-r--r--devel/electron11/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc14
-rw-r--r--devel/electron11/files/patch-components_autofill_core_browser_autofill__external__delegate.cc11
-rw-r--r--devel/electron11/files/patch-components_autofill_core_browser_personal__data__manager.cc20
-rw-r--r--devel/electron11/files/patch-components_autofill_core_common_autofill__payments__features.cc11
-rw-r--r--devel/electron11/files/patch-components_content__settings_core_browser_website__settings__registry.cc11
-rw-r--r--devel/electron11/files/patch-components_crash_content_browser_BUILD.gn27
-rw-r--r--devel/electron11/files/patch-components_crash_core_common_BUILD.gn40
-rw-r--r--devel/electron11/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc20
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_event__constants.cc28
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_event__constants.h31
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_feature__constants.cc20
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_feature__constants.h20
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_feature__list.cc20
-rw-r--r--devel/electron11/files/patch-components_feature__engagement_public_feature__list.h38
-rw-r--r--devel/electron11/files/patch-components_feed_core_v2_proto__util.cc24
-rw-r--r--devel/electron11/files/patch-components_flags__ui_flags__state.cc11
-rw-r--r--devel/electron11/files/patch-components_metrics_BUILD.gn14
-rw-r--r--devel/electron11/files/patch-components_metrics_metrics__log.cc11
-rw-r--r--devel/electron11/files/patch-components_neterror_resources_neterror.js11
-rw-r--r--devel/electron11/files/patch-components_network__session__configurator_browser_network__session__configurator.cc11
-rw-r--r--devel/electron11/files/patch-components_os__crypt_os__crypt.h48
-rw-r--r--devel/electron11/files/patch-components_os__crypt_os__crypt__unittest.cc11
-rw-r--r--devel/electron11/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc11
-rw-r--r--devel/electron11/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc20
-rw-r--r--devel/electron11/files/patch-components_policy_resources_policy__templates.json74
-rw-r--r--devel/electron11/files/patch-components_previews_core_previews__features.cc18
-rw-r--r--devel/electron11/files/patch-components_security__interstitials_content_utils.cc11
-rw-r--r--devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc29
-rw-r--r--devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h20
-rw-r--r--devel/electron11/files/patch-components_storage__monitor_BUILD.gn16
-rw-r--r--devel/electron11/files/patch-components_sync__device__info_local__device__info__util.cc11
-rw-r--r--devel/electron11/files/patch-components_sync__device__info_local__device__info__util__linux.cc14
-rw-r--r--devel/electron11/files/patch-components_update__client_update__query__params.cc11
-rw-r--r--devel/electron11/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc11
-rw-r--r--devel/electron11/files/patch-components_viz_common_features.cc11
-rw-r--r--devel/electron11/files/patch-components_viz_host_host__display__client.cc11
-rw-r--r--devel/electron11/files/patch-components_viz_host_host__display__client.h11
-rw-r--r--devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.cc20
-rw-r--r--devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.h20
-rw-r--r--devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc20
-rw-r--r--devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h11
-rw-r--r--devel/electron11/files/patch-components_viz_test_fake__output__surface.cc11
-rw-r--r--devel/electron11/files/patch-components_viz_test_fake__output__surface.h11
-rw-r--r--devel/electron11/files/patch-components_viz_test_mock__display__client.h11
-rw-r--r--devel/electron11/files/patch-content_app_content__main.cc11
-rw-r--r--devel/electron11/files/patch-content_app_content__main__runner__impl.cc65
-rw-r--r--devel/electron11/files/patch-content_browser_BUILD.gn18
-rw-r--r--devel/electron11/files/patch-content_browser_browser__main__loop.cc38
-rw-r--r--devel/electron11/files/patch-content_browser_compositor_viz__process__transport__factory.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_devtools_protocol_system__info__handler.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_font__access_font__enumeration__cache.h11
-rw-r--r--devel/electron11/files/patch-content_browser_gpu_compositor__util.cc16
-rw-r--r--devel/electron11/files/patch-content_browser_gpu_gpu__process__host.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_ppapi__plugin__process__host.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_delegated__frame__host.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc20
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.cc29
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.h19
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__process__host__impl.cc56
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__view__host__impl.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc43
-rw-r--r--devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_utility__process__host.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_web__contents_web__contents__view__aura.cc11
-rw-r--r--devel/electron11/files/patch-content_browser_webui_shared__resources__data__source.cc18
-rw-r--r--devel/electron11/files/patch-content_child_child__process.cc11
-rw-r--r--devel/electron11/files/patch-content_common_BUILD.gn27
-rw-r--r--devel/electron11/files/patch-content_common_user__agent.cc17
-rw-r--r--devel/electron11/files/patch-content_gpu_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-content_gpu_gpu__main.cc20
-rw-r--r--devel/electron11/files/patch-content_gpu_gpu__sandbox__hook__linux.cc18
-rw-r--r--devel/electron11/files/patch-content_public_common_common__param__traits__macros.h11
-rw-r--r--devel/electron11/files/patch-content_public_common_content__constants.cc11
-rw-r--r--devel/electron11/files/patch-content_public_common_content__constants.h11
-rw-r--r--devel/electron11/files/patch-content_public_common_content__features.cc31
-rw-r--r--devel/electron11/files/patch-content_public_common_content__switches.cc20
-rw-r--r--devel/electron11/files/patch-content_public_common_content__switches.h20
-rw-r--r--devel/electron11/files/patch-content_public_test_browser__test__base.cc13
-rw-r--r--devel/electron11/files/patch-content_public_test_content__browser__test.cc29
-rw-r--r--devel/electron11/files/patch-content_public_test_mock__render__thread.cc11
-rw-r--r--devel/electron11/files/patch-content_renderer_render__process__impl.cc20
-rw-r--r--devel/electron11/files/patch-content_renderer_render__thread__impl.cc11
-rw-r--r--devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.cc47
-rw-r--r--devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.h29
-rw-r--r--devel/electron11/files/patch-content_shell_BUILD.gn47
-rw-r--r--devel/electron11/files/patch-content_shell_browser_shell__browser__main__parts.cc20
-rw-r--r--devel/electron11/files/patch-content_test_BUILD.gn28
-rw-r--r--devel/electron11/files/patch-content_test_content__test__suite.cc18
-rw-r--r--devel/electron11/files/patch-content_utility_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-content_zygote_zygote__linux.cc16
-rw-r--r--devel/electron11/files/patch-device_bluetooth_BUILD.gn20
-rw-r--r--devel/electron11/files/patch-electron_BUILD.gn42
-rw-r--r--devel/electron11/files/patch-electron_filenames.gni13
-rw-r--r--devel/electron11/files/patch-electron_lib_browser_api_power-monitor.ts11
-rw-r--r--devel/electron11/files/patch-electron_lib_browser_init.ts11
-rw-r--r--devel/electron11/files/patch-electron_lib_browser_rpc-server.ts11
-rw-r--r--devel/electron11/files/patch-electron_lib_common_api_clipboard.ts11
-rw-r--r--devel/electron11/files/patch-electron_script_lib_config.py12
-rw-r--r--devel/electron11/files/patch-electron_script_spec-runner.js20
-rw-r--r--devel/electron11/files/patch-electron_shell_app_electron__main.cc35
-rw-r--r--devel/electron11/files/patch-electron_shell_app_electron__main__delegate.cc20
-rw-r--r--devel/electron11/files/patch-electron_shell_app_node__main.cc56
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_api_electron__api__app.cc47
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_api_electron__api__web__contents.cc52
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_api_process__metric.h20
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_browser.h33
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_electron__browser__client.cc11
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts.cc20
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_native__window__views.cc47
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_native__window__views.h11
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.cc11
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.h11
-rw-r--r--devel/electron11/files/patch-electron_shell_browser_ui_views_submenu__button.cc11
-rw-r--r--devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.cc11
-rw-r--r--devel/electron11/files/patch-electron_shell_common_api_electron__bindings.cc11
-rw-r--r--devel/electron11/files/patch-electron_shell_common_node__bindings.cc29
-rw-r--r--devel/electron11/files/patch-electron_shell_common_platform__util.h11
-rw-r--r--devel/electron11/files/patch-electron_spec-main_api-app-spec.ts128
-rw-r--r--devel/electron11/files/patch-electron_spec-main_api-browser-window-spec.ts74
-rw-r--r--devel/electron11/files/patch-electron_spec-main_api-crash-reporter-spec.ts56
-rw-r--r--devel/electron11/files/patch-electron_spec-main_api-screen-spec.ts38
-rw-r--r--devel/electron11/files/patch-electron_spec-main_api-subframe-spec.ts11
-rw-r--r--devel/electron11/files/patch-electron_spec-main_chromium-spec.ts33
-rw-r--r--devel/electron11/files/patch-electron_spec_chromium-spec.js11
-rw-r--r--devel/electron11/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc20
-rw-r--r--devel/electron11/files/patch-extensions_browser_browser__context__keyed__service__factories.cc11
-rw-r--r--devel/electron11/files/patch-extensions_common_api___permission__features.json29
-rw-r--r--devel/electron11/files/patch-extensions_common_features_feature.cc11
-rw-r--r--devel/electron11/files/patch-extensions_renderer_bindings_api__binding__util.cc11
-rw-r--r--devel/electron11/files/patch-extensions_shell_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-extensions_shell_app_shell__main__delegate.cc20
-rw-r--r--devel/electron11/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc11
-rw-r--r--devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.cc20
-rw-r--r--devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.h19
-rw-r--r--devel/electron11/files/patch-google__apis_gcm_engine_heartbeat__manager.cc53
-rw-r--r--devel/electron11/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc38
-rw-r--r--devel/electron11/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc31
-rw-r--r--devel/electron11/files/patch-gpu_command__buffer_tests_webgpu__test.cc22
-rw-r--r--devel/electron11/files/patch-gpu_config_gpu__control__list.cc32
-rw-r--r--devel/electron11/files/patch-gpu_config_gpu__test__config.cc11
-rw-r--r--devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc47
-rw-r--r--devel/electron11/files/patch-gpu_ipc_service_gpu__init.cc100
-rw-r--r--devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc56
-rw-r--r--devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.h20
-rw-r--r--devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread__v2.cc47
-rw-r--r--devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.cc38
-rw-r--r--devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.h71
-rw-r--r--devel/electron11/files/patch-headless_BUILD.gn38
-rw-r--r--devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts.h11
-rw-r--r--devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc11
-rw-r--r--devel/electron11/files/patch-headless_lib_browser_headless__content__browser__client.cc11
-rw-r--r--devel/electron11/files/patch-headless_lib_browser_headless__request__context__manager.cc29
-rw-r--r--devel/electron11/files/patch-headless_lib_headless__content__main__delegate.cc20
-rw-r--r--devel/electron11/files/patch-ipc_ipc__message__utils.cc11
-rw-r--r--devel/electron11/files/patch-media_BUILD.gn12
-rw-r--r--devel/electron11/files/patch-media_audio_BUILD.gn29
-rw-r--r--devel/electron11/files/patch-media_audio_audio__features.cc11
-rw-r--r--devel/electron11/files/patch-media_base_audio__latency.cc11
-rw-r--r--devel/electron11/files/patch-media_base_media__switches.cc20
-rw-r--r--devel/electron11/files/patch-media_base_status.cc12
-rw-r--r--devel/electron11/files/patch-media_base_video__frame.cc83
-rw-r--r--devel/electron11/files/patch-media_base_video__frame.h50
-rw-r--r--devel/electron11/files/patch-media_capture_video_create__video__capture__device__factory.cc20
-rw-r--r--devel/electron11/files/patch-media_capture_video_video__capture__device__client.cc11
-rw-r--r--devel/electron11/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc26
-rw-r--r--devel/electron11/files/patch-media_media__options.gni12
-rw-r--r--devel/electron11/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc32
-rw-r--r--devel/electron11/files/patch-media_mojo_services_gpu__mojo__media__client.cc20
-rw-r--r--devel/electron11/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc11
-rw-r--r--devel/electron11/files/patch-mojo_public_js_mojo__bindings__resources.grd11
-rw-r--r--devel/electron11/files/patch-net_BUILD.gn55
-rw-r--r--devel/electron11/files/patch-net_base_address__tracker__linux.cc81
-rw-r--r--devel/electron11/files/patch-net_base_network__change__notifier.cc24
-rw-r--r--devel/electron11/files/patch-net_base_network__interfaces__posix.h11
-rw-r--r--devel/electron11/files/patch-net_dns_dns__util.cc11
-rw-r--r--devel/electron11/files/patch-net_nqe_network__quality__estimator.cc11
-rw-r--r--devel/electron11/files/patch-net_nqe_network__quality__estimator__unittest.cc11
-rw-r--r--devel/electron11/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc29
-rw-r--r--devel/electron11/files/patch-net_socket_udp__socket__posix.cc82
-rw-r--r--devel/electron11/files/patch-net_traffic__annotation_network__traffic__annotation.h20
-rw-r--r--devel/electron11/files/patch-net_url__request_url__fetcher.cc11
-rw-r--r--devel/electron11/files/patch-net_url__request_url__fetcher.h11
-rw-r--r--devel/electron11/files/patch-net_url__request_url__request__context.cc11
-rw-r--r--devel/electron11/files/patch-net_url__request_url__request__context.h11
-rw-r--r--devel/electron11/files/patch-net_url__request_url__request__context__builder.cc20
-rw-r--r--devel/electron11/files/patch-pdf_pdfium_pdfium__engine.cc56
-rw-r--r--devel/electron11/files/patch-ppapi_proxy_flash__resource.cc11
-rw-r--r--devel/electron11/files/patch-printing_print__settings.cc14
-rw-r--r--devel/electron11/files/patch-printing_print__settings.h56
-rw-r--r--devel/electron11/files/patch-printing_print__settings__conversion.cc28
-rw-r--r--devel/electron11/files/patch-printing_printing__features.cc18
-rw-r--r--devel/electron11/files/patch-printing_printing__features.h15
-rw-r--r--devel/electron11/files/patch-remoting_base_chromoting__event.cc11
-rw-r--r--devel/electron11/files/patch-remoting_host_evaluate__capability.cc11
-rw-r--r--devel/electron11/files/patch-remoting_host_host__details.cc11
-rw-r--r--devel/electron11/files/patch-remoting_host_host__main.cc27
-rw-r--r--devel/electron11/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc36
-rw-r--r--devel/electron11/files/patch-remoting_host_remoting__me2me__host.cc97
-rw-r--r--devel/electron11/files/patch-remoting_resources_remoting__strings.grd20
-rw-r--r--devel/electron11/files/patch-remoting_test_it2me__standalone__host__main.cc35
-rw-r--r--devel/electron11/files/patch-sandbox_policy_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-sandbox_policy_switches.cc11
-rw-r--r--devel/electron11/files/patch-sandbox_policy_switches.h11
-rw-r--r--devel/electron11/files/patch-services_audio_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-services_device_hid_BUILD.gn18
-rw-r--r--devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.cc243
-rw-r--r--devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.h68
-rw-r--r--devel/electron11/files/patch-services_device_hid_hid__service.cc20
-rw-r--r--devel/electron11/files/patch-services_device_hid_hid__service__freebsd.cc385
-rw-r--r--devel/electron11/files/patch-services_device_hid_hid__service__freebsd.h49
-rw-r--r--devel/electron11/files/patch-services_device_serial_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-services_device_serial_serial__io__handler__posix.cc22
-rw-r--r--devel/electron11/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc14
-rw-r--r--devel/electron11/files/patch-services_device_usb_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-services_network_BUILD.gn19
-rw-r--r--devel/electron11/files/patch-services_network_network__context.cc11
-rw-r--r--devel/electron11/files/patch-services_network_network__service.cc20
-rw-r--r--devel/electron11/files/patch-services_network_network__service.h11
-rw-r--r--devel/electron11/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc11
-rw-r--r--devel/electron11/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc20
-rw-r--r--devel/electron11/files/patch-services_service__manager_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-third__party_angle_BUILD.gn38
-rw-r--r--devel/electron11/files/patch-third__party_angle_src_libANGLE_Display.cpp47
-rw-r--r--devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp52
-rw-r--r--devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h11
-rw-r--r--devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h15
-rw-r--r--devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c11
-rw-r--r--devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h11
-rw-r--r--devel/electron11/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h11
-rw-r--r--devel/electron11/files/patch-third__party_blink_public_common_privacy__budget_identifiable__token.h11
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_BUILD.gn13
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_controller_blink__initializer.cc34
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc15
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_core_exported_web__frame__test.cc20
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_core_layout_layout__view.cc20
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc20
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc11
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc11
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc11
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc13
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_platform_BUILD.gn10
-rw-r--r--devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h58
-rw-r--r--devel/electron11/files/patch-third__party_crashpad_crashpad_client_BUILD.gn15
-rw-r--r--devel/electron11/files/patch-third__party_electron__node_deps_uv_BUILD.gn46
-rw-r--r--devel/electron11/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c18
-rw-r--r--devel/electron11/files/patch-third__party_libyuv_include_libyuv_row.h37
-rw-r--r--devel/electron11/files/patch-third__party_nearby_src_cpp_core__v2_internal_offline__service__controller.h23
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_build__config.h72
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_time.h20
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h13
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h12
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_src_base_subprocess.cc24
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_src_base_thread__task__runner.cc11
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_src_base_unix__socket.cc20
-rw-r--r--devel/electron11/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc14
-rw-r--r--devel/electron11/files/patch-third__party_skia_src_core_SkCpu.cpp26
-rw-r--r--devel/electron11/files/patch-third__party_skia_src_sksl_SkSLString.h11
-rw-r--r--devel/electron11/files/patch-third__party_swiftshader_BUILD.gn29
-rw-r--r--devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp20
-rw-r--r--devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp11
-rw-r--r--devel/electron11/files/patch-third__party_usrsctp_BUILD.gn22
-rw-r--r--devel/electron11/files/patch-third__party_webrtc_BUILD.gn12
-rw-r--r--devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc47
-rw-r--r--devel/electron11/files/patch-third__party_webrtc_system__wrappers_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-third__party_zlib_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-third__party_zlib_cpu__features.c48
-rw-r--r--devel/electron11/files/patch-tools_gn_src_util_sys__info.cc11
-rw-r--r--devel/electron11/files/patch-tools_json__schema__compiler_feature__compiler.py10
-rw-r--r--devel/electron11/files/patch-tools_json__schema__compiler_model.py11
-rw-r--r--devel/electron11/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-tools_variations_fieldtrial__to__struct.py10
-rw-r--r--devel/electron11/files/patch-ui_aura_test_aura__test__helper.cc20
-rw-r--r--devel/electron11/files/patch-ui_aura_test_ui__controls__ozone.cc11
-rw-r--r--devel/electron11/files/patch-ui_base_clipboard_clipboard__data__endpoint.h14
-rw-r--r--devel/electron11/files/patch-ui_base_clipboard_clipboard__ozone.cc11
-rw-r--r--devel/electron11/files/patch-ui_base_ime_init_input__method__initializer.cc38
-rw-r--r--devel/electron11/files/patch-ui_base_resource_resource__bundle.cc20
-rw-r--r--devel/electron11/files/patch-ui_base_test_skia__gold__pixel__diff.cc11
-rw-r--r--devel/electron11/files/patch-ui_base_ui__base__features.cc38
-rw-r--r--devel/electron11/files/patch-ui_base_ui__base__features.h16
-rw-r--r--devel/electron11/files/patch-ui_base_webui_web__ui__util.cc20
-rw-r--r--devel/electron11/files/patch-ui_base_x_x11__shm__image__pool.cc25
-rw-r--r--devel/electron11/files/patch-ui_compositor_compositor.cc11
-rw-r--r--devel/electron11/files/patch-ui_compositor_compositor.h11
-rw-r--r--devel/electron11/files/patch-ui_compositor_compositor__observer.h16
-rw-r--r--devel/electron11/files/patch-ui_events_event.cc11
-rw-r--r--devel/electron11/files/patch-ui_events_keycodes_dom_keycode__converter.cc11
-rw-r--r--devel/electron11/files/patch-ui_gfx_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-ui_gfx_canvas__skia.cc11
-rw-r--r--devel/electron11/files/patch-ui_gfx_font__render__params.h20
-rw-r--r--devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.cc11
-rw-r--r--devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.h20
-rw-r--r--devel/electron11/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h44
-rw-r--r--devel/electron11/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc25
-rw-r--r--devel/electron11/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc20
-rw-r--r--devel/electron11/files/patch-ui_gfx_native__widget__types.h20
-rw-r--r--devel/electron11/files/patch-ui_gfx_render__text.cc46
-rw-r--r--devel/electron11/files/patch-ui_gl_BUILD.gn11
-rw-r--r--devel/electron11/files/patch-ui_gl_generate__bindings.py12
-rw-r--r--devel/electron11/files/patch-ui_gl_gl__features.cc11
-rw-r--r--devel/electron11/files/patch-ui_message__center_views_message__popup__view.cc11
-rw-r--r--devel/electron11/files/patch-ui_native__theme_native__theme.h11
-rw-r--r--devel/electron11/files/patch-ui_native__theme_native__theme__base.cc11
-rw-r--r--devel/electron11/files/patch-ui_ozone_ozone.gni12
-rw-r--r--devel/electron11/files/patch-ui_platform__window_platform__window__init__properties.h20
-rw-r--r--devel/electron11/files/patch-ui_strings_app__locale__settings.grd11
-rw-r--r--devel/electron11/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_controls_label.cc20
-rw-r--r--devel/electron11/files/patch-ui_views_controls_textfield_textfield.cc73
-rw-r--r--devel/electron11/files/patch-ui_views_corewm_tooltip__aura.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_examples_widget__example.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_focus_focus__manager.cc20
-rw-r--r--devel/electron11/files/patch-ui_views_selection__controller.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_style_platform__style.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_views__delegate.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_views__delegate.h11
-rw-r--r--devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_widget_native__widget__aura.cc37
-rw-r--r--devel/electron11/files/patch-ui_views_window_custom__frame__view.cc11
-rw-r--r--devel/electron11/files/patch-ui_views_window_dialog__delegate.cc11
-rw-r--r--devel/electron11/files/patch-ui_webui_resources_js_cr.js14
-rw-r--r--devel/electron11/files/patch-v8_BUILD.gn27
-rw-r--r--devel/electron11/files/patch-v8_include_v8config.h21
-rw-r--r--devel/electron11/files/patch-v8_src_api_api.cc11
-rw-r--r--devel/electron11/files/patch-v8_src_base_cpu.cc18
-rw-r--r--devel/electron11/files/patch-v8_src_base_platform_platform-posix.cc24
-rw-r--r--devel/electron11/files/patch-weblayer_BUILD.gn17
-rw-r--r--devel/electron11/files/patch-weblayer_app_content__main__delegate__impl.cc11
-rw-r--r--devel/electron11/files/patch-weblayer_browser_browser__main__parts__impl.cc20
-rw-r--r--devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.cc20
-rw-r--r--devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.h17
-rw-r--r--devel/electron11/files/patch-weblayer_browser_system__network__context__manager.cc15
-rw-r--r--devel/electron11/files/patch-weblayer_common_weblayer__paths.cc20
-rw-r--r--devel/electron11/files/yarn.lock8639
-rw-r--r--devel/electron11/pkg-plist155
-rw-r--r--devel/electron12/Makefile292
-rw-r--r--devel/electron12/Makefile.version2
-rw-r--r--devel/electron12/distinfo13
-rw-r--r--devel/electron12/files/apply-electron-patches.sh (renamed from devel/electron11/files/apply-electron-patches.sh)0
-rw-r--r--devel/electron12/files/package.json151
-rw-r--r--devel/electron12/files/patch-BUILD.gn96
-rw-r--r--devel/electron12/files/patch-apps_app__restore__service__browsertest.cc (renamed from devel/electron11/files/patch-apps_app__restore__service__browsertest.cc)0
-rw-r--r--devel/electron12/files/patch-apps_ui_views_app__window__frame__view.cc11
-rw-r--r--devel/electron12/files/patch-ash_display_mirror__window__controller.cc14
-rw-r--r--devel/electron12/files/patch-base_BUILD.gn94
-rw-r--r--devel/electron12/files/patch-base_allocator_allocator.gni11
-rw-r--r--devel/electron12/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc (renamed from devel/electron11/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc)0
-rw-r--r--devel/electron12/files/patch-base_allocator_allocator__shim__override__libc__symbols.h13
-rw-r--r--devel/electron12/files/patch-base_allocator_allocator__shim__unittest.cc47
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_address__pool__manager.cc31
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h58
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc.cc15
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc20
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_partition__bucket.cc36
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.cc49
-rw-r--r--devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.h33
-rw-r--r--devel/electron12/files/patch-base_base__switches.cc22
-rw-r--r--devel/electron12/files/patch-base_base__switches.h22
-rw-r--r--devel/electron12/files/patch-base_cpu.cc35
-rw-r--r--devel/electron12/files/patch-base_cpu.h20
-rw-r--r--devel/electron12/files/patch-base_debug_debugger__posix.cc (renamed from devel/electron11/files/patch-base_debug_debugger__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_debug_elf__reader.cc (renamed from devel/electron11/files/patch-base_debug_elf__reader.cc)0
-rw-r--r--devel/electron12/files/patch-base_debug_proc__maps__linux.cc141
-rw-r--r--devel/electron12/files/patch-base_debug_stack__trace.cc (renamed from devel/electron11/files/patch-base_debug_stack__trace.cc)0
-rw-r--r--devel/electron12/files/patch-base_debug_stack__trace.h (renamed from devel/electron11/files/patch-base_debug_stack__trace.h)0
-rw-r--r--devel/electron12/files/patch-base_debug_stack__trace__posix.cc45
-rw-r--r--devel/electron12/files/patch-base_debug_stack__trace__unittest.cc40
-rw-r--r--devel/electron12/files/patch-base_files_file__path__unittest.cc (renamed from devel/electron11/files/patch-base_files_file__path__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_files_file__path__watcher__freebsd.cc64
-rw-r--r--devel/electron12/files/patch-base_files_file__path__watcher__kqueue.h (renamed from devel/electron11/files/patch-base_files_file__path__watcher__kqueue.h)0
-rw-r--r--devel/electron12/files/patch-base_files_file__path__watcher__unittest.cc56
-rw-r--r--devel/electron12/files/patch-base_files_file__util.h28
-rw-r--r--devel/electron12/files/patch-base_files_file__util__posix.cc78
-rw-r--r--devel/electron12/files/patch-base_files_file__util__unittest.cc38
-rw-r--r--devel/electron12/files/patch-base_files_scoped__file.cc (renamed from devel/electron11/files/patch-base_files_scoped__file.cc)0
-rw-r--r--devel/electron12/files/patch-base_i18n_icu__util.cc20
-rw-r--r--devel/electron12/files/patch-base_linux__util.cc38
-rw-r--r--devel/electron12/files/patch-base_location__unittest.cc (renamed from devel/electron11/files/patch-base_location__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_logging__unittest.cc20
-rw-r--r--devel/electron12/files/patch-base_memory_discardable__memory.cc (renamed from devel/electron11/files/patch-base_memory_discardable__memory.cc)0
-rw-r--r--devel/electron12/files/patch-base_memory_discardable__memory__internal.h (renamed from devel/electron11/files/patch-base_memory_discardable__memory__internal.h)0
-rw-r--r--devel/electron12/files/patch-base_memory_madv__free__discardable__memory__posix.cc (renamed from devel/electron11/files/patch-base_memory_madv__free__discardable__memory__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_memory_platform__shared__memory__region.h (renamed from devel/electron11/files/patch-base_memory_platform__shared__memory__region.h)0
-rw-r--r--devel/electron12/files/patch-base_memory_platform__shared__memory__region__posix.cc100
-rw-r--r--devel/electron12/files/patch-base_memory_shared__memory__region__unittest.cc (renamed from devel/electron11/files/patch-base_memory_shared__memory__region__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_message__loop_message__pump__glib.cc (renamed from devel/electron11/files/patch-base_message__loop_message__pump__glib.cc)0
-rw-r--r--devel/electron12/files/patch-base_native__library__posix.cc (renamed from devel/electron11/files/patch-base_native__library__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_native__library__unittest.cc (renamed from devel/electron11/files/patch-base_native__library__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_numerics_safe__math__shared__impl.h (renamed from devel/electron11/files/patch-base_numerics_safe__math__shared__impl.h)0
-rw-r--r--devel/electron12/files/patch-base_path__service__unittest.cc (renamed from devel/electron11/files/patch-base_path__service__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_posix_can__lower__nice__to.cc (renamed from devel/electron11/files/patch-base_posix_can__lower__nice__to.cc)0
-rw-r--r--devel/electron12/files/patch-base_posix_unix__domain__socket.cc (renamed from devel/electron11/files/patch-base_posix_unix__domain__socket.cc)0
-rw-r--r--devel/electron12/files/patch-base_posix_unix__domain__socket__unittest.cc (renamed from devel/electron11/files/patch-base_posix_unix__domain__socket__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_internal__linux.cc (renamed from devel/electron11/files/patch-base_process_internal__linux.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_internal__linux.h (renamed from devel/electron11/files/patch-base_process_internal__linux.h)0
-rw-r--r--devel/electron12/files/patch-base_process_kill.h (renamed from devel/electron11/files/patch-base_process_kill.h)0
-rw-r--r--devel/electron12/files/patch-base_process_kill__posix.cc (renamed from devel/electron11/files/patch-base_process_kill__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_launch.cc (renamed from devel/electron11/files/patch-base_process_launch.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_launch.h29
-rw-r--r--devel/electron12/files/patch-base_process_launch__posix.cc80
-rw-r--r--devel/electron12/files/patch-base_process_memory.cc (renamed from devel/electron11/files/patch-base_process_memory.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_memory.h (renamed from devel/electron11/files/patch-base_process_memory.h)0
-rw-r--r--devel/electron12/files/patch-base_process_memory__unittest.cc (renamed from devel/electron11/files/patch-base_process_memory__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_process__handle.cc (renamed from devel/electron11/files/patch-base_process_process__handle.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_process__handle.h (renamed from devel/electron11/files/patch-base_process_process__handle.h)0
-rw-r--r--devel/electron12/files/patch-base_process_process__handle__freebsd.cc (renamed from devel/electron11/files/patch-base_process_process__handle__freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_process__iterator__freebsd.cc53
-rw-r--r--devel/electron12/files/patch-base_process_process__linux.cc48
-rw-r--r--devel/electron12/files/patch-base_process_process__metrics.cc38
-rw-r--r--devel/electron12/files/patch-base_process_process__metrics.h163
-rw-r--r--devel/electron12/files/patch-base_process_process__metrics__freebsd.cc (renamed from devel/electron11/files/patch-base_process_process__metrics__freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_process__metrics__posix.cc (renamed from devel/electron11/files/patch-base_process_process__metrics__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_process_process__unittest.cc11
-rw-r--r--devel/electron12/files/patch-base_process_process__util__unittest.cc16
-rw-r--r--devel/electron12/files/patch-base_profiler_register__context.h (renamed from devel/electron11/files/patch-base_profiler_register__context.h)0
-rw-r--r--devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.cc (renamed from devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.cc)0
-rw-r--r--devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.h (renamed from devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.h)0
-rw-r--r--devel/electron12/files/patch-base_profiler_stack__copier__signal.cc63
-rw-r--r--devel/electron12/files/patch-base_profiler_stack__sampling__profiler__test__util.cc (renamed from devel/electron11/files/patch-base_profiler_stack__sampling__profiler__test__util.cc)0
-rw-r--r--devel/electron12/files/patch-base_profiler_stack__sampling__profiler__unittest.cc (renamed from devel/electron11/files/patch-base_profiler_stack__sampling__profiler__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_profiler_thread__delegate__posix.cc (renamed from devel/electron11/files/patch-base_profiler_thread__delegate__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc (renamed from devel/electron11/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc)0
-rw-r--r--devel/electron12/files/patch-base_security__unittest.cc (renamed from devel/electron11/files/patch-base_security__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_strings_safe__sprintf__unittest.cc (renamed from devel/electron11/files/patch-base_strings_safe__sprintf__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_strings_sys__string__conversions__unittest.cc (renamed from devel/electron11/files/patch-base_strings_sys__string__conversions__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_synchronization_lock__impl.h (renamed from devel/electron11/files/patch-base_synchronization_lock__impl.h)0
-rw-r--r--devel/electron12/files/patch-base_syslog__logging.cc (renamed from devel/electron11/files/patch-base_syslog__logging.cc)0
-rw-r--r--devel/electron12/files/patch-base_system_sys__info.cc11
-rw-r--r--devel/electron12/files/patch-base_system_sys__info.h (renamed from devel/electron11/files/patch-base_system_sys__info.h)0
-rw-r--r--devel/electron12/files/patch-base_system_sys__info__freebsd.cc (renamed from devel/electron11/files/patch-base_system_sys__info__freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-base_system_sys__info__posix.cc23
-rw-r--r--devel/electron12/files/patch-base_system_sys__info__unittest.cc46
-rw-r--r--devel/electron12/files/patch-base_task_thread__pool_environment__config__unittest.cc (renamed from devel/electron11/files/patch-base_task_thread__pool_environment__config__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_test_BUILD.gn15
-rw-r--r--devel/electron12/files/patch-base_test_launcher_test__launcher.cc28
-rw-r--r--devel/electron12/files/patch-base_test_test__file__util__posix.cc (renamed from devel/electron11/files/patch-base_test_test__file__util__posix.cc)0
-rw-r--r--devel/electron12/files/patch-base_test_test__suite.cc (renamed from devel/electron11/files/patch-base_test_test__suite.cc)0
-rw-r--r--devel/electron12/files/patch-base_third__party_libevent_BUILD.gn (renamed from devel/electron11/files/patch-base_third__party_libevent_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-base_threading_platform__thread.h11
-rw-r--r--devel/electron12/files/patch-base_threading_platform__thread__internal__posix.h (renamed from devel/electron11/files/patch-base_threading_platform__thread__internal__posix.h)0
-rw-r--r--devel/electron12/files/patch-base_threading_platform__thread__linux.cc30
-rw-r--r--devel/electron12/files/patch-base_threading_platform__thread__posix.cc54
-rw-r--r--devel/electron12/files/patch-base_threading_platform__thread__unittest.cc24
-rw-r--r--devel/electron12/files/patch-base_threading_scoped__blocking__call__unittest.cc (renamed from devel/electron11/files/patch-base_threading_scoped__blocking__call__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_threading_thread__local__storage__unittest.cc (renamed from devel/electron11/files/patch-base_threading_thread__local__storage__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_threading_thread__task__runner__handle.cc26
-rw-r--r--devel/electron12/files/patch-base_time_time__unittest.cc (renamed from devel/electron11/files/patch-base_time_time__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc38
-rw-r--r--devel/electron12/files/patch-base_trace__event_malloc__dump__provider.cc21
-rw-r--r--devel/electron12/files/patch-base_trace__event_process__memory__dump.cc11
-rw-r--r--devel/electron12/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc20
-rw-r--r--devel/electron12/files/patch-build_config_BUILD.gn21
-rw-r--r--devel/electron12/files/patch-build_config_BUILDCONFIG.gn35
-rw-r--r--devel/electron12/files/patch-build_config_compiler_BUILD.gn120
-rw-r--r--devel/electron12/files/patch-build_config_compiler_compiler.gni11
-rw-r--r--devel/electron12/files/patch-build_config_compiler_pgo_pgo.gni11
-rw-r--r--devel/electron12/files/patch-build_config_features.gni (renamed from devel/electron11/files/patch-build_config_features.gni)0
-rw-r--r--devel/electron12/files/patch-build_config_freetype_freetype.gni9
-rw-r--r--devel/electron12/files/patch-build_config_linux_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-build_config_linux_pkg-config.py (renamed from devel/electron11/files/patch-build_config_linux_pkg-config.py)0
-rw-r--r--devel/electron12/files/patch-build_config_ozone.gni12
-rw-r--r--devel/electron12/files/patch-build_config_sysroot.gni (renamed from devel/electron11/files/patch-build_config_sysroot.gni)0
-rw-r--r--devel/electron12/files/patch-build_detect__host__arch.py (renamed from devel/electron11/files/patch-build_detect__host__arch.py)0
-rw-r--r--devel/electron12/files/patch-build_gn__run__binary.py (renamed from devel/electron11/files/patch-build_gn__run__binary.py)0
-rw-r--r--devel/electron12/files/patch-build_linux_chrome.map29
-rw-r--r--devel/electron12/files/patch-build_linux_libpci_BUILD.gn (renamed from devel/electron11/files/patch-build_linux_libpci_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-build_linux_unbundle_libusb.gn (renamed from devel/electron11/files/patch-build_linux_unbundle_libusb.gn)0
-rw-r--r--devel/electron12/files/patch-build_linux_unbundle_replace__gn__files.py (renamed from devel/electron11/files/patch-build_linux_unbundle_replace__gn__files.py)0
-rw-r--r--devel/electron12/files/patch-build_toolchain_gcc__toolchain.gni45
-rw-r--r--devel/electron12/files/patch-build_toolchain_get__concurrent__links.py (renamed from devel/electron11/files/patch-build_toolchain_get__concurrent__links.py)0
-rw-r--r--devel/electron12/files/patch-build_toolchain_linux_BUILD.gn10
-rw-r--r--devel/electron12/files/patch-cc_BUILD.gn19
-rw-r--r--devel/electron12/files/patch-cc_layers_scrollbar__layer__impl__base.cc (renamed from devel/electron11/files/patch-cc_layers_scrollbar__layer__impl__base.cc)0
-rw-r--r--devel/electron12/files/patch-cc_test_layer__tree__test.cc11
-rw-r--r--devel/electron12/files/patch-cc_test_pixel__test.cc (renamed from devel/electron11/files/patch-cc_test_pixel__test.cc)0
-rw-r--r--devel/electron12/files/patch-cc_trees_frame__rate__estimator.cc (renamed from devel/electron11/files/patch-cc_trees_frame__rate__estimator.cc)0
-rw-r--r--devel/electron12/files/patch-cc_trees_property__tree.cc20
-rw-r--r--devel/electron12/files/patch-chrome_BUILD.gn13
-rw-r--r--devel/electron12/files/patch-chrome_app_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-chrome_app_chrome__command__ids.h11
-rw-r--r--devel/electron12/files/patch-chrome_app_chrome__main.cc17
-rw-r--r--devel/electron12/files/patch-chrome_app_chrome__main__delegate.cc170
-rw-r--r--devel/electron12/files/patch-chrome_app_chromium__strings.grd29
-rw-r--r--devel/electron12/files/patch-chrome_app_generated__resources.grd29
-rw-r--r--devel/electron12/files/patch-chrome_app_google__chrome__strings.grd29
-rw-r--r--devel/electron12/files/patch-chrome_app_profiles__strings.grdp11
-rw-r--r--devel/electron12/files/patch-chrome_app_settings__strings.grdp20
-rw-r--r--devel/electron12/files/patch-chrome_app_shutdown__signal__handlers__posix.cc (renamed from devel/electron11/files/patch-chrome_app_shutdown__signal__handlers__posix.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_app_theme_chrome__unscaled__resources.grd (renamed from devel/electron11/files/patch-chrome_app_theme_chrome__unscaled__resources.grd)0
-rw-r--r--devel/electron12/files/patch-chrome_app_theme_theme__resources.grd (renamed from devel/electron11/files/patch-chrome_app_theme_theme__resources.grd)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-chrome_browser_about__flags.cc180
-rw-r--r--devel/electron12/files/patch-chrome_browser_after__startup__task__utils.cc38
-rw-r--r--devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc (renamed from devel/electron11/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_background_background__mode__manager.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_background_background__mode__optimizer.cc (renamed from devel/electron11/files/patch-chrome_browser_background_background__mode__optimizer.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_browser__resources.grd11
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__browser__interface__binders.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__browser__main.cc54
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__browser__main__linux.cc32
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__browser__main__posix.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.cc106
-rw-r--r--devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.h17
-rw-r--r--devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc (renamed from devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_defaults.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_dev__ui__browser__resources.grd11
-rw-r--r--devel/electron12/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_diagnostics_diagnostics__writer.h (renamed from devel/electron11/files/patch-chrome_browser_diagnostics_diagnostics__writer.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__commands.cc (renamed from devel/electron11/files/patch-chrome_browser_download_download__commands.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__commands.h (renamed from devel/electron11/files/patch-chrome_browser_download_download__commands.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__item__model.cc (renamed from devel/electron11/files/patch-chrome_browser_download_download__item__model.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__prefs.cc65
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__prefs.h (renamed from devel/electron11/files/patch-chrome_browser_download_download__prefs.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__query.cc (renamed from devel/electron11/files/patch-chrome_browser_download_download__query.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_download_download__shelf__context__menu.cc (renamed from devel/electron11/files/patch-chrome_browser_download_download__shelf__context__menu.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_error__reporting_BUILD.gn42
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_BUILD.gn15
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_activity__log_activity__log.cc14
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc (renamed from devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc (renamed from devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc (renamed from devel/electron11/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc (renamed from devel/electron11/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_extensions_external__provider__impl.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_first__run_first__run__dialog.h11
-rw-r--r--devel/electron12/files/patch-chrome_browser_first__run_first__run__internal.h19
-rw-r--r--devel/electron12/files/patch-chrome_browser_first__run_first__run__internal__posix.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_flag__descriptions.cc69
-rw-r--r--devel/electron12/files/patch-chrome_browser_flag__descriptions.h65
-rw-r--r--devel/electron12/files/patch-chrome_browser_intranet__redirect__detector.h (renamed from devel/electron11/files/patch-chrome_browser_intranet__redirect__detector.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc15
-rw-r--r--devel/electron12/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc14
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_audio__service__util.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc (renamed from devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc (renamed from devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc23
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc (renamed from devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h (renamed from devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_memory__details.cc (renamed from devel/electron11/files/patch-chrome_browser_memory__details.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_memory__details__linux.cc13
-rw-r--r--devel/electron12/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc21
-rw-r--r--devel/electron12/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc24
-rw-r--r--devel/electron12/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_net_system__network__context__manager.cc64
-rw-r--r--devel/electron12/files/patch-chrome_browser_notifications_notification__display__service__impl.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc26
-rw-r--r--devel/electron12/files/patch-chrome_browser_password__manager_password__store__factory.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_pdf_pdf__extension__test.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_performance__manager_policies_policy__features.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc (renamed from devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.h (renamed from devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_plugins_plugins__resource__service.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc (renamed from devel/electron11/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc (renamed from devel/electron11/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc30
-rw-r--r--devel/electron12/files/patch-chrome_browser_policy_device__management__service__configuration.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_prefs_browser__prefs.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_printing_print__job__worker.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_process__singleton__posix.cc35
-rw-r--r--devel/electron12/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_profiles_profile.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_profiles_profile__attributes__entry.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_profiles_profiles__state.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_renderer__preferences__util.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js (renamed from devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html29
-rw-r--r--devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js33
-rw-r--r--devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc (renamed from devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc14
-rw-r--r--devel/electron12/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc (renamed from devel/electron11/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc (renamed from devel/electron11/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc (renamed from devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h (renamed from devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_sharing_sharing__device__registration.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc32
-rw-r--r--devel/electron12/files/patch-chrome_browser_signin_signin__util.cc (renamed from devel/electron11/files/patch-chrome_browser_signin_signin__util.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_sync_chrome__sync__client.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_sync_device__info__sync__service__factory.cc17
-rw-r--r--devel/electron12/files/patch-chrome_browser_sync_profile__sync__service__factory.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.cc56
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.h48
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc72
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h (renamed from devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc16
-rw-r--r--devel/electron12/files/patch-chrome_browser_task__manager_task__manager__observer.h (renamed from devel/electron11/files/patch-chrome_browser_task__manager_task__manager__observer.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_themes_theme__service__factory.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_tracing_crash__service__uploader.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_BUILD.gn19
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_browser__command__controller.cc38
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_browser__view__prefs.cc24
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc (renamed from devel/electron11/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_sad__tab.cc (renamed from devel/electron11/files/patch-chrome_browser_ui_sad__tab.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_tab__helpers.cc25
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc15
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc (renamed from devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_test_test__browser__dialog.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_test_test__browser__ui.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_accelerator__table.cc46
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc38
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_chrome__views__delegate.h11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_download_download__item__view.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__frame.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__view.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc (renamed from devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_hung__renderer__view.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc29
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_about__ui.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc78
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h11
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc20
-rw-r--r--devel/electron12/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h (renamed from devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h)0
-rw-r--r--devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__run__on__os__login.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc11
-rw-r--r--devel/electron12/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc11
-rw-r--r--devel/electron12/files/patch-chrome_common_BUILD.gn36
-rw-r--r--devel/electron12/files/patch-chrome_common_channel__info.h11
-rw-r--r--devel/electron12/files/patch-chrome_common_channel__info__posix.cc20
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__features.cc34
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__features.h29
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__paths.cc103
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__paths.h33
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__paths__internal.h (renamed from devel/electron11/files/patch-chrome_common_chrome__paths__internal.h)0
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__switches.cc11
-rw-r--r--devel/electron12/files/patch-chrome_common_chrome__switches.h11
-rw-r--r--devel/electron12/files/patch-chrome_common_extensions_command.cc11
-rw-r--r--devel/electron12/files/patch-chrome_common_features.gni11
-rw-r--r--devel/electron12/files/patch-chrome_common_pref__names.cc53
-rw-r--r--devel/electron12/files/patch-chrome_common_pref__names.h50
-rw-r--r--devel/electron12/files/patch-chrome_common_webui__url__constants.cc70
-rw-r--r--devel/electron12/files/patch-chrome_common_webui__url__constants.h44
-rw-r--r--devel/electron12/files/patch-chrome_renderer_chrome__content__renderer__client.cc11
-rw-r--r--devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc29
-rw-r--r--devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h (renamed from devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h)0
-rw-r--r--devel/electron12/files/patch-chrome_service_cloud__print_print__system.cc (renamed from devel/electron11/files/patch-chrome_service_cloud__print_print__system.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_test_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-chrome_test_base_in__process__browser__test.cc31
-rw-r--r--devel/electron12/files/patch-chrome_test_base_interactive__ui__tests__main.cc20
-rw-r--r--devel/electron12/files/patch-chrome_test_base_test__browser__window.h11
-rw-r--r--devel/electron12/files/patch-chrome_test_chromedriver_chrome__launcher.cc (renamed from devel/electron11/files/patch-chrome_test_chromedriver_chrome__launcher.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc (renamed from devel/electron11/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_test_chromedriver_key__converter__unittest.cc (renamed from devel/electron11/files/patch-chrome_test_chromedriver_key__converter__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc11
-rw-r--r--devel/electron12/files/patch-chrome_utility_services.cc29
-rw-r--r--devel/electron12/files/patch-chromecast_app_cast__main__delegate.cc11
-rw-r--r--devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.cc83
-rw-r--r--devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.h11
-rw-r--r--devel/electron12/files/patch-chromecast_browser_cast__content__browser__client.cc38
-rw-r--r--devel/electron12/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc20
-rw-r--r--devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc87
-rw-r--r--devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.h15
-rw-r--r--devel/electron12/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc20
-rw-r--r--devel/electron12/files/patch-chromecast_media_base_default__monotonic__clock.cc (renamed from devel/electron11/files/patch-chromecast_media_base_default__monotonic__clock.cc)0
-rw-r--r--devel/electron12/files/patch-chromecast_renderer_cast__content__renderer__client.cc (renamed from devel/electron11/files/patch-chromecast_renderer_cast__content__renderer__client.cc)0
-rw-r--r--devel/electron12/files/patch-components_BUILD.gn18
-rw-r--r--devel/electron12/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc14
-rw-r--r--devel/electron12/files/patch-components_autofill_core_browser_autofill__external__delegate.cc11
-rw-r--r--devel/electron12/files/patch-components_autofill_core_browser_personal__data__manager.cc20
-rw-r--r--devel/electron12/files/patch-components_autofill_core_common_autofill__payments__features.cc11
-rw-r--r--devel/electron12/files/patch-components_autofill_core_common_autofill__util.cc (renamed from devel/electron11/files/patch-components_autofill_core_common_autofill__util.cc)0
-rw-r--r--devel/electron12/files/patch-components_content__settings_core_browser_website__settings__registry.cc11
-rw-r--r--devel/electron12/files/patch-components_cookie__config_cookie__store__util.cc (renamed from devel/electron11/files/patch-components_cookie__config_cookie__store__util.cc)0
-rw-r--r--devel/electron12/files/patch-components_crash_content_browser_BUILD.gn20
-rw-r--r--devel/electron12/files/patch-components_crash_content_browser_error__reporting_BUILD.gn13
-rw-r--r--devel/electron12/files/patch-components_crash_core_app_BUILD.gn (renamed from devel/electron11/files/patch-components_crash_core_app_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-components_crash_core_common_BUILD.gn40
-rw-r--r--devel/electron12/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc11
-rw-r--r--devel/electron12/files/patch-components_download_internal_common_base__file.cc (renamed from devel/electron11/files/patch-components_download_internal_common_base__file.cc)0
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_event__constants.cc28
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_event__constants.h31
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_feature__configurations.cc (renamed from devel/electron11/files/patch-components_feature__engagement_public_feature__configurations.cc)0
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_feature__constants.cc20
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_feature__constants.h20
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_feature__list.cc20
-rw-r--r--devel/electron12/files/patch-components_feature__engagement_public_feature__list.h38
-rw-r--r--devel/electron12/files/patch-components_feed_core_proto_v2_wire_version.proto (renamed from devel/electron11/files/patch-components_feed_core_proto_v2_wire_version.proto)0
-rw-r--r--devel/electron12/files/patch-components_feed_core_proto_wire_version.proto (renamed from devel/electron11/files/patch-components_feed_core_proto_wire_version.proto)0
-rw-r--r--devel/electron12/files/patch-components_feed_core_v2_proto__util.cc24
-rw-r--r--devel/electron12/files/patch-components_flags__ui_flags__state.cc11
-rw-r--r--devel/electron12/files/patch-components_gcm__driver_gcm__client.h (renamed from devel/electron11/files/patch-components_gcm__driver_gcm__client.h)0
-rw-r--r--devel/electron12/files/patch-components_gcm__driver_gcm__client__impl.cc (renamed from devel/electron11/files/patch-components_gcm__driver_gcm__client__impl.cc)0
-rw-r--r--devel/electron12/files/patch-components_gwp__asan_BUILD.gn (renamed from devel/electron11/files/patch-components_gwp__asan_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-components_invalidation_impl_invalidation__switches.cc11
-rw-r--r--devel/electron12/files/patch-components_keyed__service_core_dependency__graph__unittest.cc (renamed from devel/electron11/files/patch-components_keyed__service_core_dependency__graph__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-components_metrics_BUILD.gn14
-rw-r--r--devel/electron12/files/patch-components_metrics_drive__metrics__provider__linux.cc (renamed from devel/electron11/files/patch-components_metrics_drive__metrics__provider__linux.cc)0
-rw-r--r--devel/electron12/files/patch-components_metrics_metrics__log.cc11
-rw-r--r--devel/electron12/files/patch-components_neterror_resources_neterror.js11
-rw-r--r--devel/electron12/files/patch-components_network__session__configurator_browser_network__session__configurator.cc11
-rw-r--r--devel/electron12/files/patch-components_new__or__sad__tab__strings.grdp (renamed from devel/electron11/files/patch-components_new__or__sad__tab__strings.grdp)0
-rw-r--r--devel/electron12/files/patch-components_os__crypt_os__crypt.h51
-rw-r--r--devel/electron12/files/patch-components_os__crypt_os__crypt__unittest.cc11
-rw-r--r--devel/electron12/files/patch-components_permissions_prediction__service_prediction__service__common.cc11
-rw-r--r--devel/electron12/files/patch-components_plugins_renderer_plugin__placeholder.cc (renamed from devel/electron11/files/patch-components_plugins_renderer_plugin__placeholder.cc)0
-rw-r--r--devel/electron12/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc11
-rw-r--r--devel/electron12/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc58
-rw-r--r--devel/electron12/files/patch-components_policy_core_common_schema.cc (renamed from devel/electron11/files/patch-components_policy_core_common_schema.cc)0
-rw-r--r--devel/electron12/files/patch-components_policy_resources_policy__templates.json74
-rw-r--r--devel/electron12/files/patch-components_policy_tools_generate__policy__source.py (renamed from devel/electron11/files/patch-components_policy_tools_generate__policy__source.py)0
-rw-r--r--devel/electron12/files/patch-components_previews_core_previews__features.cc18
-rw-r--r--devel/electron12/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc11
-rw-r--r--devel/electron12/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py (renamed from devel/electron11/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py)0
-rw-r--r--devel/electron12/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc (renamed from devel/electron11/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc)0
-rw-r--r--devel/electron12/files/patch-components_security__interstitials_content_utils.cc11
-rw-r--r--devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc29
-rw-r--r--devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h20
-rw-r--r--devel/electron12/files/patch-components_storage__monitor_BUILD.gn16
-rw-r--r--devel/electron12/files/patch-components_storage__monitor_removable__device__constants.cc (renamed from devel/electron11/files/patch-components_storage__monitor_removable__device__constants.cc)0
-rw-r--r--devel/electron12/files/patch-components_storage__monitor_removable__device__constants.h (renamed from devel/electron11/files/patch-components_storage__monitor_removable__device__constants.h)0
-rw-r--r--devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.cc (renamed from devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.h (renamed from devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.h)0
-rw-r--r--devel/electron12/files/patch-components_sync__device__info_local__device__info__util.cc11
-rw-r--r--devel/electron12/files/patch-components_sync__device__info_local__device__info__util__linux.cc14
-rw-r--r--devel/electron12/files/patch-components_update__client_update__query__params.cc11
-rw-r--r--devel/electron12/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc11
-rw-r--r--devel/electron12/files/patch-components_url__matcher_regex__set__matcher.cc (renamed from devel/electron11/files/patch-components_url__matcher_regex__set__matcher.cc)0
-rw-r--r--devel/electron12/files/patch-components_url__matcher_url__matcher__factory.cc (renamed from devel/electron11/files/patch-components_url__matcher_url__matcher__factory.cc)0
-rw-r--r--devel/electron12/files/patch-components_viz_common_features.cc11
-rw-r--r--devel/electron12/files/patch-components_viz_common_gpu_dawn__context__provider.cc (renamed from devel/electron11/files/patch-components_viz_common_gpu_dawn__context__provider.cc)0
-rw-r--r--devel/electron12/files/patch-components_viz_host_host__display__client.cc11
-rw-r--r--devel/electron12/files/patch-components_viz_host_host__display__client.h11
-rw-r--r--devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.cc20
-rw-r--r--devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.h20
-rw-r--r--devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc20
-rw-r--r--devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h11
-rw-r--r--devel/electron12/files/patch-components_viz_test_fake__output__surface.cc11
-rw-r--r--devel/electron12/files/patch-components_viz_test_fake__output__surface.h11
-rw-r--r--devel/electron12/files/patch-components_viz_test_mock__display__client.h11
-rw-r--r--devel/electron12/files/patch-components_webcrypto_algorithms_test__helpers.cc (renamed from devel/electron11/files/patch-components_webcrypto_algorithms_test__helpers.cc)0
-rw-r--r--devel/electron12/files/patch-content_app_content__main.cc11
-rw-r--r--devel/electron12/files/patch-content_app_content__main__runner__impl.cc65
-rw-r--r--devel/electron12/files/patch-content_browser_BUILD.gn18
-rw-r--r--devel/electron12/files/patch-content_browser_browser__main__loop.cc38
-rw-r--r--devel/electron12/files/patch-content_browser_child__process__launcher__helper__linux.cc (renamed from devel/electron11/files/patch-content_browser_child__process__launcher__helper__linux.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_compositor_viz__process__transport__factory.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_devtools_protocol_system__info__handler.cc13
-rw-r--r--devel/electron12/files/patch-content_browser_download_download__manager__impl.cc29
-rw-r--r--devel/electron12/files/patch-content_browser_font__access_font__enumeration__cache.h11
-rw-r--r--devel/electron12/files/patch-content_browser_gpu_compositor__util.cc16
-rw-r--r--devel/electron12/files/patch-content_browser_gpu_gpu__process__host.cc22
-rw-r--r--devel/electron12/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc (renamed from devel/electron11/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_ppapi__plugin__process__host.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc (renamed from devel/electron11/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_delegated__frame__host.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc (renamed from devel/electron11/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc20
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.cc29
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.h19
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__process__host__impl.cc58
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__view__host__impl.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc38
-rw-r--r--devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc11
-rw-r--r--devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc (renamed from devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h (renamed from devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h)0
-rw-r--r--devel/electron12/files/patch-content_browser_utility__process__host.cc22
-rw-r--r--devel/electron12/files/patch-content_browser_utility__process__host__receiver__bindings.cc (renamed from devel/electron11/files/patch-content_browser_utility__process__host__receiver__bindings.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_v8__snapshot__files.cc (renamed from devel/electron11/files/patch-content_browser_v8__snapshot__files.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_web__contents_web__contents__view__aura.cc29
-rw-r--r--devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc (renamed from devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc)0
-rw-r--r--devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h (renamed from devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h)0
-rw-r--r--devel/electron12/files/patch-content_child_child__process.cc11
-rw-r--r--devel/electron12/files/patch-content_common_BUILD.gn36
-rw-r--r--devel/electron12/files/patch-content_common_common__sandbox__support__linux.cc (renamed from devel/electron11/files/patch-content_common_common__sandbox__support__linux.cc)0
-rw-r--r--devel/electron12/files/patch-content_common_mojo__core__library__support.cc (renamed from devel/electron11/files/patch-content_common_mojo__core__library__support.cc)0
-rw-r--r--devel/electron12/files/patch-content_common_user__agent.cc17
-rw-r--r--devel/electron12/files/patch-content_gpu_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-content_gpu_gpu__main.cc20
-rw-r--r--devel/electron12/files/patch-content_gpu_gpu__sandbox__hook__linux.cc18
-rw-r--r--devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc (renamed from devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc)0
-rw-r--r--devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h (renamed from devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h)0
-rw-r--r--devel/electron12/files/patch-content_public_app_content__main__delegate.cc (renamed from devel/electron11/files/patch-content_public_app_content__main__delegate.cc)0
-rw-r--r--devel/electron12/files/patch-content_public_app_content__main__delegate.h (renamed from devel/electron11/files/patch-content_public_app_content__main__delegate.h)0
-rw-r--r--devel/electron12/files/patch-content_public_browser_font__access__context.h11
-rw-r--r--devel/electron12/files/patch-content_public_browser_zygote__host_zygote__host__linux.h (renamed from devel/electron11/files/patch-content_public_browser_zygote__host_zygote__host__linux.h)0
-rw-r--r--devel/electron12/files/patch-content_public_common_child__process__host.h (renamed from devel/electron11/files/patch-content_public_common_child__process__host.h)0
-rw-r--r--devel/electron12/files/patch-content_public_common_common__param__traits__macros.h11
-rw-r--r--devel/electron12/files/patch-content_public_common_content__constants.cc11
-rw-r--r--devel/electron12/files/patch-content_public_common_content__constants.h11
-rw-r--r--devel/electron12/files/patch-content_public_common_content__features.cc31
-rw-r--r--devel/electron12/files/patch-content_public_common_content__switches.cc11
-rw-r--r--devel/electron12/files/patch-content_public_common_content__switches.h20
-rw-r--r--devel/electron12/files/patch-content_public_common_use__zoom__for__dsf__policy.cc (renamed from devel/electron11/files/patch-content_public_common_use__zoom__for__dsf__policy.cc)0
-rw-r--r--devel/electron12/files/patch-content_public_common_zygote_features.gni (renamed from devel/electron11/files/patch-content_public_common_zygote_features.gni)0
-rw-r--r--devel/electron12/files/patch-content_public_test_browser__test__base.cc13
-rw-r--r--devel/electron12/files/patch-content_public_test_content__browser__test.cc29
-rw-r--r--devel/electron12/files/patch-content_public_test_mock__render__thread.cc11
-rw-r--r--devel/electron12/files/patch-content_renderer_render__process__impl.cc20
-rw-r--r--devel/electron12/files/patch-content_renderer_render__thread__impl.cc52
-rw-r--r--devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.cc47
-rw-r--r--devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.h38
-rw-r--r--devel/electron12/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc (renamed from devel/electron11/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc)0
-rw-r--r--devel/electron12/files/patch-content_shell_BUILD.gn47
-rw-r--r--devel/electron12/files/patch-content_shell_app_shell__main__delegate.cc (renamed from devel/electron11/files/patch-content_shell_app_shell__main__delegate.cc)0
-rw-r--r--devel/electron12/files/patch-content_shell_browser_shell__browser__context.cc (renamed from devel/electron11/files/patch-content_shell_browser_shell__browser__context.cc)0
-rw-r--r--devel/electron12/files/patch-content_shell_browser_shell__browser__main__parts.cc20
-rw-r--r--devel/electron12/files/patch-content_test_BUILD.gn37
-rw-r--r--devel/electron12/files/patch-content_test_content__test__suite.cc18
-rw-r--r--devel/electron12/files/patch-content_utility_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc (renamed from devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc)0
-rw-r--r--devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h (renamed from devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h)0
-rw-r--r--devel/electron12/files/patch-content_zygote_zygote__linux.cc16
-rw-r--r--devel/electron12/files/patch-content_zygote_zygote__main__linux.cc (renamed from devel/electron11/files/patch-content_zygote_zygote__main__linux.cc)0
-rw-r--r--devel/electron12/files/patch-device_bluetooth_BUILD.gn20
-rw-r--r--devel/electron12/files/patch-device_gamepad_gamepad__provider.cc (renamed from devel/electron11/files/patch-device_gamepad_gamepad__provider.cc)0
-rw-r--r--devel/electron12/files/patch-device_gamepad_hid__writer__linux.cc (renamed from devel/electron11/files/patch-device_gamepad_hid__writer__linux.cc)0
-rw-r--r--devel/electron12/files/patch-electron_BUILD.gn42
-rw-r--r--devel/electron12/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc (renamed from devel/electron11/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc)0
-rw-r--r--devel/electron12/files/patch-electron_default__app_default__app.ts (renamed from devel/electron11/files/patch-electron_default__app_default__app.ts)0
-rw-r--r--devel/electron12/files/patch-electron_filenames.gni13
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_api_app.ts (renamed from devel/electron11/files/patch-electron_lib_browser_api_app.ts)0
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_api_dialog.ts (renamed from devel/electron11/files/patch-electron_lib_browser_api_dialog.ts)0
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_api_menu-item-roles.ts (renamed from devel/electron11/files/patch-electron_lib_browser_api_menu-item-roles.ts)0
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_api_power-monitor.ts11
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_init.ts11
-rw-r--r--devel/electron12/files/patch-electron_lib_browser_rpc-server.ts11
-rw-r--r--devel/electron12/files/patch-electron_lib_common_api_clipboard.ts11
-rw-r--r--devel/electron12/files/patch-electron_script_lib_config.py12
-rw-r--r--devel/electron12/files/patch-electron_script_lib_utils.js (renamed from devel/electron11/files/patch-electron_script_lib_utils.js)0
-rw-r--r--devel/electron12/files/patch-electron_script_spec-runner.js20
-rw-r--r--devel/electron12/files/patch-electron_shell_app_electron__main.cc35
-rw-r--r--devel/electron12/files/patch-electron_shell_app_electron__main__delegate.cc20
-rw-r--r--devel/electron12/files/patch-electron_shell_app_node__main.cc56
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_electron__api__app.cc47
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_electron__api__base__window.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc (renamed from devel/electron11/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.cc61
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.h11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_api_process__metric.h20
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_browser.h33
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_browser__linux.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_electron__browser__client.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.cc74
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.h20
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc (renamed from devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_native__window.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_native__window__views.cc146
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_native__window__views.h20
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.h11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_relauncher__linux.cc (renamed from devel/electron11/files/patch-electron_shell_browser_relauncher__linux.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc (renamed from devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h (renamed from devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h)0
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.cc29
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.h11
-rw-r--r--devel/electron12/files/patch-electron_shell_browser_ui_views_submenu__button.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.h (renamed from devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.h)0
-rw-r--r--devel/electron12/files/patch-electron_shell_common_api_electron__bindings.cc11
-rw-r--r--devel/electron12/files/patch-electron_shell_common_electron__command__line.cc (renamed from devel/electron11/files/patch-electron_shell_common_electron__command__line.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_common_electron__command__line.h (renamed from devel/electron11/files/patch-electron_shell_common_electron__command__line.h)0
-rw-r--r--devel/electron12/files/patch-electron_shell_common_electron__paths.h (renamed from devel/electron11/files/patch-electron_shell_common_electron__paths.h)0
-rw-r--r--devel/electron12/files/patch-electron_shell_common_node__bindings.cc29
-rw-r--r--devel/electron12/files/patch-electron_shell_common_node__bindings__linux.cc (renamed from devel/electron11/files/patch-electron_shell_common_node__bindings__linux.cc)0
-rw-r--r--devel/electron12/files/patch-electron_shell_common_platform__util.h11
-rw-r--r--devel/electron12/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc (renamed from devel/electron11/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-app-spec.ts128
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-browser-window-spec.ts74
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-crash-reporter-spec.ts56
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-desktop-capturer-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-desktop-capturer-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-net-log-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-net-log-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-notification-dbus-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-notification-dbus-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-power-monitor-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-power-monitor-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-screen-spec.ts38
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-shell-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-shell-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-subframe-spec.ts11
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-tray-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-tray-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_api-web-contents-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_api-web-contents-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_chromium-spec.ts44
-rw-r--r--devel/electron12/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js (renamed from devel/electron11/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js (renamed from devel/electron11/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_version-bump-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_version-bump-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec-main_visibility-state-spec.ts (renamed from devel/electron11/files/patch-electron_spec-main_visibility-state-spec.ts)0
-rw-r--r--devel/electron12/files/patch-electron_spec_api-clipboard-spec.js (renamed from devel/electron11/files/patch-electron_spec_api-clipboard-spec.js)0
-rw-r--r--devel/electron12/files/patch-electron_spec_api-native-image-spec.js (renamed from devel/electron11/files/patch-electron_spec_api-native-image-spec.js)0
-rw-r--r--devel/electron12/files/patch-electron_spec_api-process-spec.js (renamed from devel/electron11/files/patch-electron_spec_api-process-spec.js)0
-rw-r--r--devel/electron12/files/patch-electron_spec_chromium-spec.js11
-rw-r--r--devel/electron12/files/patch-electron_spec_node-spec.js (renamed from devel/electron11/files/patch-electron_spec_node-spec.js)0
-rw-r--r--devel/electron12/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc (renamed from devel/electron11/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_browser_api_messaging_message__service.cc (renamed from devel/electron11/files/patch-extensions_browser_api_messaging_message__service.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc20
-rw-r--r--devel/electron12/files/patch-extensions_browser_api_web__request_form__data__parser.cc (renamed from devel/electron11/files/patch-extensions_browser_api_web__request_form__data__parser.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_browser_browser__context__keyed__service__factories.cc11
-rw-r--r--devel/electron12/files/patch-extensions_common_api___permission__features.json29
-rw-r--r--devel/electron12/files/patch-extensions_common_api_runtime.json (renamed from devel/electron11/files/patch-extensions_common_api_runtime.json)0
-rw-r--r--devel/electron12/files/patch-extensions_common_feature__switch.cc (renamed from devel/electron11/files/patch-extensions_common_feature__switch.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_common_features_feature.cc11
-rw-r--r--devel/electron12/files/patch-extensions_common_image__util.cc (renamed from devel/electron11/files/patch-extensions_common_image__util.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_common_stack__frame.cc (renamed from devel/electron11/files/patch-extensions_common_stack__frame.cc)0
-rw-r--r--devel/electron12/files/patch-extensions_renderer_bindings_api__binding__util.cc11
-rw-r--r--devel/electron12/files/patch-extensions_shell_BUILD.gn31
-rw-r--r--devel/electron12/files/patch-extensions_shell_app_shell__main__delegate.cc20
-rw-r--r--devel/electron12/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc11
-rw-r--r--devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.cc20
-rw-r--r--devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.h20
-rw-r--r--devel/electron12/files/patch-google__apis_gcm_engine_heartbeat__manager.cc53
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc (renamed from devel/electron11/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc)0
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_service_external__semaphore.cc (renamed from devel/electron11/files/patch-gpu_command__buffer_service_external__semaphore.cc)0
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc38
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_service_program__manager.cc (renamed from devel/electron11/files/patch-gpu_command__buffer_service_program__manager.cc)0
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc17
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc31
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.cc (renamed from devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.cc)0
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.h (renamed from devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.h)0
-rw-r--r--devel/electron12/files/patch-gpu_command__buffer_tests_webgpu__test.cc22
-rw-r--r--devel/electron12/files/patch-gpu_config_gpu__control__list.cc32
-rw-r--r--devel/electron12/files/patch-gpu_config_gpu__test__config.cc11
-rw-r--r--devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc47
-rw-r--r--devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h (renamed from devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h)0
-rw-r--r--devel/electron12/files/patch-gpu_ipc_service_gpu__init.cc137
-rw-r--r--devel/electron12/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc (renamed from devel/electron11/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc)0
-rw-r--r--devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc47
-rw-r--r--devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.h20
-rw-r--r--devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.cc56
-rw-r--r--devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.h96
-rw-r--r--devel/electron12/files/patch-gpu_vulkan_vulkan__image.cc11
-rw-r--r--devel/electron12/files/patch-gpu_vulkan_vulkan__image.h20
-rw-r--r--devel/electron12/files/patch-headless_BUILD.gn38
-rw-r--r--devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts.h11
-rw-r--r--devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc11
-rw-r--r--devel/electron12/files/patch-headless_lib_browser_headless__content__browser__client.cc11
-rw-r--r--devel/electron12/files/patch-headless_lib_browser_headless__request__context__manager.cc20
-rw-r--r--devel/electron12/files/patch-headless_lib_headless__content__main__delegate.cc20
-rw-r--r--devel/electron12/files/patch-headless_lib_headless__macros.h (renamed from devel/electron11/files/patch-headless_lib_headless__macros.h)0
-rw-r--r--devel/electron12/files/patch-ipc_ipc__channel.h (renamed from devel/electron11/files/patch-ipc_ipc__channel.h)0
-rw-r--r--devel/electron12/files/patch-ipc_ipc__channel__common.cc (renamed from devel/electron11/files/patch-ipc_ipc__channel__common.cc)0
-rw-r--r--devel/electron12/files/patch-ipc_ipc__channel__mojo.cc (renamed from devel/electron11/files/patch-ipc_ipc__channel__mojo.cc)0
-rw-r--r--devel/electron12/files/patch-ipc_ipc__message__utils.cc11
-rw-r--r--devel/electron12/files/patch-ipc_ipc__message__utils.h (renamed from devel/electron11/files/patch-ipc_ipc__message__utils.h)0
-rw-r--r--devel/electron12/files/patch-media_BUILD.gn12
-rw-r--r--devel/electron12/files/patch-media_audio_BUILD.gn29
-rw-r--r--devel/electron12/files/patch-media_audio_alsa_audio__manager__alsa.cc (renamed from devel/electron11/files/patch-media_audio_alsa_audio__manager__alsa.cc)0
-rw-r--r--devel/electron12/files/patch-media_audio_audio__features.cc11
-rw-r--r--devel/electron12/files/patch-media_audio_audio__input__device.cc (renamed from devel/electron11/files/patch-media_audio_audio__input__device.cc)0
-rw-r--r--devel/electron12/files/patch-media_audio_audio__manager.cc (renamed from devel/electron11/files/patch-media_audio_audio__manager.cc)0
-rw-r--r--devel/electron12/files/patch-media_audio_audio__manager.h (renamed from devel/electron11/files/patch-media_audio_audio__manager.h)0
-rw-r--r--devel/electron12/files/patch-media_audio_audio__output__proxy__unittest.cc (renamed from devel/electron11/files/patch-media_audio_audio__output__proxy__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-media_base_audio__latency.cc11
-rw-r--r--devel/electron12/files/patch-media_base_media__switches.cc20
-rw-r--r--devel/electron12/files/patch-media_base_scopedfd__helper.h (renamed from devel/electron11/files/patch-media_base_scopedfd__helper.h)0
-rw-r--r--devel/electron12/files/patch-media_base_vector__math.cc11
-rw-r--r--devel/electron12/files/patch-media_base_video__frame.cc83
-rw-r--r--devel/electron12/files/patch-media_base_video__frame.h50
-rw-r--r--devel/electron12/files/patch-media_capture_video_create__video__capture__device__factory.cc20
-rw-r--r--devel/electron12/files/patch-media_capture_video_fake__video__capture__device__factory.cc (renamed from devel/electron11/files/patch-media_capture_video_fake__video__capture__device__factory.cc)0
-rw-r--r--devel/electron12/files/patch-media_capture_video_file__video__capture__device__factory.cc (renamed from devel/electron11/files/patch-media_capture_video_file__video__capture__device__factory.cc)0
-rw-r--r--devel/electron12/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc (renamed from devel/electron11/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc)0
-rw-r--r--devel/electron12/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc (renamed from devel/electron11/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc)0
-rw-r--r--devel/electron12/files/patch-media_capture_video_video__capture__device__client.cc11
-rw-r--r--devel/electron12/files/patch-media_filters_vp9__parser.h (renamed from devel/electron11/files/patch-media_filters_vp9__parser.h)0
-rw-r--r--devel/electron12/files/patch-media_formats_common_offset__byte__queue.cc (renamed from devel/electron11/files/patch-media_formats_common_offset__byte__queue.cc)0
-rw-r--r--devel/electron12/files/patch-media_formats_common_offset__byte__queue.h (renamed from devel/electron11/files/patch-media_formats_common_offset__byte__queue.h)0
-rw-r--r--devel/electron12/files/patch-media_formats_mp2t_es__parser__adts.cc (renamed from devel/electron11/files/patch-media_formats_mp2t_es__parser__adts.cc)0
-rw-r--r--devel/electron12/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc26
-rw-r--r--devel/electron12/files/patch-media_gpu_buffer__validation.cc (renamed from devel/electron11/files/patch-media_gpu_buffer__validation.cc)0
-rw-r--r--devel/electron12/files/patch-media_media__options.gni12
-rw-r--r--devel/electron12/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc (renamed from devel/electron11/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc)0
-rw-r--r--devel/electron12/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc32
-rw-r--r--devel/electron12/files/patch-media_mojo_services_gpu__mojo__media__client.cc20
-rw-r--r--devel/electron12/files/patch-media_video_fake__gpu__memory__buffer.cc (renamed from devel/electron11/files/patch-media_video_fake__gpu__memory__buffer.cc)0
-rw-r--r--devel/electron12/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc11
-rw-r--r--devel/electron12/files/patch-media_video_video__encode__accelerator__adapter.cc20
-rw-r--r--devel/electron12/files/patch-media_video_video__encode__accelerator__adapter__test.cc11
-rw-r--r--devel/electron12/files/patch-mojo_public_c_system_thunks.cc (renamed from devel/electron11/files/patch-mojo_public_c_system_thunks.cc)0
-rw-r--r--devel/electron12/files/patch-mojo_public_js_mojo__bindings__resources.grd11
-rw-r--r--devel/electron12/files/patch-net_BUILD.gn55
-rw-r--r--devel/electron12/files/patch-net_base_address__tracker__linux.cc83
-rw-r--r--devel/electron12/files/patch-net_base_address__tracker__linux.h (renamed from devel/electron11/files/patch-net_base_address__tracker__linux.h)0
-rw-r--r--devel/electron12/files/patch-net_base_address__tracker__linux__unittest.cc (renamed from devel/electron11/files/patch-net_base_address__tracker__linux__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-net_base_network__change__notifier.cc20
-rw-r--r--devel/electron12/files/patch-net_base_network__change__notifier__posix.cc11
-rw-r--r--devel/electron12/files/patch-net_base_network__interfaces__posix.cc17
-rw-r--r--devel/electron12/files/patch-net_cert_cert__verifier.cc (renamed from devel/electron11/files/patch-net_cert_cert__verifier.cc)0
-rw-r--r--devel/electron12/files/patch-net_cert_cert__verify__proc.cc (renamed from devel/electron11/files/patch-net_cert_cert__verify__proc.cc)0
-rw-r--r--devel/electron12/files/patch-net_cert_cert__verify__proc.h (renamed from devel/electron11/files/patch-net_cert_cert__verify__proc.h)0
-rw-r--r--devel/electron12/files/patch-net_cert_test__root__certs.h (renamed from devel/electron11/files/patch-net_cert_test__root__certs.h)0
-rw-r--r--devel/electron12/files/patch-net_disk__cache_blockfile_disk__format.h (renamed from devel/electron11/files/patch-net_disk__cache_blockfile_disk__format.h)0
-rw-r--r--devel/electron12/files/patch-net_dns_address__sorter__posix.cc (renamed from devel/electron11/files/patch-net_dns_address__sorter__posix.cc)0
-rw-r--r--devel/electron12/files/patch-net_dns_dns__config__service__posix__unittest.cc (renamed from devel/electron11/files/patch-net_dns_dns__config__service__posix__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-net_dns_dns__reloader.cc (renamed from devel/electron11/files/patch-net_dns_dns__reloader.cc)0
-rw-r--r--devel/electron12/files/patch-net_dns_dns__util.cc11
-rw-r--r--devel/electron12/files/patch-net_dns_host__resolver__proc.cc (renamed from devel/electron11/files/patch-net_dns_host__resolver__proc.cc)0
-rw-r--r--devel/electron12/files/patch-net_http_http__auth__gssapi__posix.cc (renamed from devel/electron11/files/patch-net_http_http__auth__gssapi__posix.cc)0
-rw-r--r--devel/electron12/files/patch-net_http_http__auth__gssapi__posix.h (renamed from devel/electron11/files/patch-net_http_http__auth__gssapi__posix.h)0
-rw-r--r--devel/electron12/files/patch-net_nqe_network__quality__estimator.cc11
-rw-r--r--devel/electron12/files/patch-net_nqe_network__quality__estimator__unittest.cc15
-rw-r--r--devel/electron12/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc29
-rw-r--r--devel/electron12/files/patch-net_proxy__resolution_proxy__config__service__linux.cc (renamed from devel/electron11/files/patch-net_proxy__resolution_proxy__config__service__linux.cc)0
-rw-r--r--devel/electron12/files/patch-net_socket_socket__posix.cc (renamed from devel/electron11/files/patch-net_socket_socket__posix.cc)0
-rw-r--r--devel/electron12/files/patch-net_socket_socks5__client__socket.cc (renamed from devel/electron11/files/patch-net_socket_socks5__client__socket.cc)0
-rw-r--r--devel/electron12/files/patch-net_socket_tcp__socket__posix.cc (renamed from devel/electron11/files/patch-net_socket_tcp__socket__posix.cc)0
-rw-r--r--devel/electron12/files/patch-net_socket_udp__socket__posix.cc82
-rw-r--r--devel/electron12/files/patch-net_socket_udp__socket__posix.h (renamed from devel/electron11/files/patch-net_socket_udp__socket__posix.h)0
-rw-r--r--devel/electron12/files/patch-net_socket_unix__domain__client__socket__posix.cc (renamed from devel/electron11/files/patch-net_socket_unix__domain__client__socket__posix.cc)0
-rw-r--r--devel/electron12/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc (renamed from devel/electron11/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc)0
-rw-r--r--devel/electron12/files/patch-net_tools_quic_quic__http__proxy__backend.cc (renamed from devel/electron11/files/patch-net_tools_quic_quic__http__proxy__backend.cc)0
-rw-r--r--devel/electron12/files/patch-net_traffic__annotation_network__traffic__annotation.h20
-rw-r--r--devel/electron12/files/patch-net_url__request_url__fetcher.cc11
-rw-r--r--devel/electron12/files/patch-net_url__request_url__fetcher.h13
-rw-r--r--devel/electron12/files/patch-net_url__request_url__request__context.cc11
-rw-r--r--devel/electron12/files/patch-net_url__request_url__request__context.h11
-rw-r--r--devel/electron12/files/patch-net_url__request_url__request__context__builder.cc20
-rw-r--r--devel/electron12/files/patch-pdf_pdfium_pdfium__engine.cc56
-rw-r--r--devel/electron12/files/patch-ppapi_proxy_file__io__resource.cc (renamed from devel/electron11/files/patch-ppapi_proxy_file__io__resource.cc)0
-rw-r--r--devel/electron12/files/patch-printing_cups__config__helper.py (renamed from devel/electron11/files/patch-printing_cups__config__helper.py)0
-rw-r--r--devel/electron12/files/patch-printing_print__settings.cc14
-rw-r--r--devel/electron12/files/patch-printing_print__settings.h56
-rw-r--r--devel/electron12/files/patch-printing_print__settings__conversion.cc22
-rw-r--r--devel/electron12/files/patch-printing_printing__features.cc18
-rw-r--r--devel/electron12/files/patch-printing_printing__features.h15
-rw-r--r--devel/electron12/files/patch-remoting_base_chromoting__event.cc11
-rw-r--r--devel/electron12/files/patch-remoting_client_display_sys__opengl.h (renamed from devel/electron11/files/patch-remoting_client_display_sys__opengl.h)0
-rw-r--r--devel/electron12/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc16
-rw-r--r--devel/electron12/files/patch-remoting_host_desktop__resizer__ozone.cc (renamed from devel/electron11/files/patch-remoting_host_desktop__resizer__ozone.cc)0
-rw-r--r--devel/electron12/files/patch-remoting_host_evaluate__capability.cc11
-rw-r--r--devel/electron12/files/patch-remoting_host_heartbeat__sender.cc11
-rw-r--r--devel/electron12/files/patch-remoting_host_host__attributes.cc (renamed from devel/electron11/files/patch-remoting_host_host__attributes.cc)0
-rw-r--r--devel/electron12/files/patch-remoting_host_host__details.cc11
-rw-r--r--devel/electron12/files/patch-remoting_host_host__main.cc44
-rw-r--r--devel/electron12/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc35
-rw-r--r--devel/electron12/files/patch-remoting_host_me2me__desktop__environment.cc (renamed from devel/electron11/files/patch-remoting_host_me2me__desktop__environment.cc)0
-rw-r--r--devel/electron12/files/patch-remoting_host_remoting__me2me__host.cc96
-rw-r--r--devel/electron12/files/patch-remoting_host_switches.cc (renamed from devel/electron11/files/patch-remoting_host_switches.cc)0
-rw-r--r--devel/electron12/files/patch-remoting_host_switches.h (renamed from devel/electron11/files/patch-remoting_host_switches.h)0
-rw-r--r--devel/electron12/files/patch-remoting_resources_remoting__strings.grd20
-rw-r--r--devel/electron12/files/patch-remoting_test_it2me__standalone__host.cc (renamed from devel/electron11/files/patch-remoting_test_it2me__standalone__host.cc)0
-rw-r--r--devel/electron12/files/patch-remoting_test_it2me__standalone__host__main.cc34
-rw-r--r--devel/electron12/files/patch-sandbox_BUILD.gn (renamed from devel/electron11/files/patch-sandbox_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-sandbox_features.gni (renamed from devel/electron11/files/patch-sandbox_features.gni)0
-rw-r--r--devel/electron12/files/patch-sandbox_linux_BUILD.gn (renamed from devel/electron11/files/patch-sandbox_linux_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-sandbox_linux_services_init__process__reaper.cc (renamed from devel/electron11/files/patch-sandbox_linux_services_init__process__reaper.cc)0
-rw-r--r--devel/electron12/files/patch-sandbox_linux_services_libc__interceptor.cc (renamed from devel/electron11/files/patch-sandbox_linux_services_libc__interceptor.cc)0
-rw-r--r--devel/electron12/files/patch-sandbox_policy_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-sandbox_policy_switches.cc11
-rw-r--r--devel/electron12/files/patch-sandbox_policy_switches.h11
-rw-r--r--devel/electron12/files/patch-services_audio_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-services_device_geolocation_location__arbitrator.cc (renamed from devel/electron11/files/patch-services_device_geolocation_location__arbitrator.cc)0
-rw-r--r--devel/electron12/files/patch-services_device_hid_BUILD.gn18
-rw-r--r--devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.cc244
-rw-r--r--devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.h69
-rw-r--r--devel/electron12/files/patch-services_device_hid_hid__service.cc20
-rw-r--r--devel/electron12/files/patch-services_device_hid_hid__service__freebsd.cc392
-rw-r--r--devel/electron12/files/patch-services_device_hid_hid__service__freebsd.h50
-rw-r--r--devel/electron12/files/patch-services_device_serial_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-services_device_serial_serial__device__enumerator.cc (renamed from devel/electron11/files/patch-services_device_serial_serial__device__enumerator.cc)0
-rw-r--r--devel/electron12/files/patch-services_device_serial_serial__io__handler__posix.cc22
-rw-r--r--devel/electron12/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc14
-rw-r--r--devel/electron12/files/patch-services_device_usb_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-services_network_BUILD.gn19
-rw-r--r--devel/electron12/files/patch-services_network_network__sandbox__hook__linux.cc (renamed from devel/electron11/files/patch-services_network_network__sandbox__hook__linux.cc)0
-rw-r--r--devel/electron12/files/patch-services_network_network__service.cc20
-rw-r--r--devel/electron12/files/patch-services_network_network__service.h11
-rw-r--r--devel/electron12/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc11
-rw-r--r--devel/electron12/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc20
-rw-r--r--devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h (renamed from devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h)0
-rw-r--r--devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc (renamed from devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc)0
-rw-r--r--devel/electron12/files/patch-services_service__manager_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn (renamed from devel/electron11/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc (renamed from devel/electron11/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc)0
-rw-r--r--devel/electron12/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc (renamed from devel/electron11/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc)0
-rw-r--r--devel/electron12/files/patch-services_video__capture_broadcasting__receiver.cc (renamed from devel/electron11/files/patch-services_video__capture_broadcasting__receiver.cc)0
-rw-r--r--devel/electron12/files/patch-skia_ext_SkMemory__new__handler.cpp (renamed from devel/electron11/files/patch-skia_ext_SkMemory__new__handler.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_angle_BUILD.gn19
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_common_debug.h11
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h (renamed from devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h)0
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp (renamed from devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp (renamed from devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp (renamed from devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_libANGLE_Display.cpp47
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp52
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h11
-rw-r--r--devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h20
-rw-r--r--devel/electron12/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h11
-rw-r--r--devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h11
-rw-r--r--devel/electron12/files/patch-third__party_blink_public_platform_platform.h11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_BUILD.gn21
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py (renamed from devel/electron11/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_controller_blink__initializer.cc34
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h (renamed from devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc15
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc26
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_layout_layout__view.cc20
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc20
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc13
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_BUILD.gn10
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h58
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc11
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc (renamed from devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c (renamed from devel/electron11/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c)0
-rw-r--r--devel/electron12/files/patch-third__party_boringssl_src_crypto_ex__data.c (renamed from devel/electron11/files/patch-third__party_boringssl_src_crypto_ex__data.c)0
-rw-r--r--devel/electron12/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h (renamed from devel/electron11/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h)0
-rw-r--r--devel/electron12/files/patch-third__party_crashpad_crashpad_client_BUILD.gn15
-rw-r--r--devel/electron12/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc (renamed from devel/electron11/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc (renamed from devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc (renamed from devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h (renamed from devel/electron11/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h)0
-rw-r--r--devel/electron12/files/patch-third__party_electron__node_deps_uv_BUILD.gn46
-rw-r--r--devel/electron12/files/patch-third__party_ffmpeg_libavutil_mem.c (renamed from devel/electron11/files/patch-third__party_ffmpeg_libavutil_mem.c)0
-rw-r--r--devel/electron12/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h (renamed from devel/electron11/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h)0
-rw-r--r--devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc (renamed from devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest.cc (renamed from devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_harfbuzz-ng_harfbuzz.gni20
-rw-r--r--devel/electron12/files/patch-third__party_leveldatabase_env__chromium.cc (renamed from devel/electron11/files/patch-third__party_leveldatabase_env__chromium.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_libXNVCtrl_NVCtrl.c (renamed from devel/electron11/files/patch-third__party_libXNVCtrl_NVCtrl.c)0
-rw-r--r--devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h (renamed from devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h)0
-rw-r--r--devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h (renamed from devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h)0
-rw-r--r--devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h (renamed from devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h)0
-rw-r--r--devel/electron12/files/patch-third__party_libpng_pnglibconf.h (renamed from devel/electron11/files/patch-third__party_libpng_pnglibconf.h)0
-rw-r--r--devel/electron12/files/patch-third__party_libva__protected__content_va__protected__content.h34
-rw-r--r--devel/electron12/files/patch-third__party_libyuv_include_libyuv_row.h37
-rw-r--r--devel/electron12/files/patch-third__party_nasm_config_config-linux.h (renamed from devel/electron11/files/patch-third__party_nasm_config_config-linux.h)0
-rw-r--r--devel/electron12/files/patch-third__party_node_node.py (renamed from devel/electron11/files/patch-third__party_node_node.py)0
-rw-r--r--devel/electron12/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc (renamed from devel/electron11/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp (renamed from devel/electron11/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp (renamed from devel/electron11/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp (renamed from devel/electron11/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp (renamed from devel/electron11/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp (renamed from devel/electron11/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h (renamed from devel/electron11/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h)0
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_gn_BUILD.gn19
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_build__config.h72
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h (renamed from devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h)0
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_time.h20
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h32
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc12
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_file__utils.cc14
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_subprocess__posix.cc37
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_unix__socket.cc21
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_utils.cc34
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_base_watchdog__posix.cc14
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc12
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc22
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_traced_service_service.cc12
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc24
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc12
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc16
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc18
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h19
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_src_tracing_platform__posix.cc28
-rw-r--r--devel/electron12/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc12
-rw-r--r--devel/electron12/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h (renamed from devel/electron11/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h)0
-rw-r--r--devel/electron12/files/patch-third__party_skia_src_core_SkCpu.cpp26
-rw-r--r--devel/electron12/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h (renamed from devel/electron11/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h)0
-rw-r--r--devel/electron12/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp (renamed from devel/electron11/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp (renamed from devel/electron11/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_skia_src_sksl_SkSLString.h11
-rw-r--r--devel/electron12/files/patch-third__party_sqlite_BUILD.gn (renamed from devel/electron11/files/patch-third__party_sqlite_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_BUILD.gn29
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_include_vulkan_vulkan.hpp56
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_Common_Configurator.cpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_Common_Configurator.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp20
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp11
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_src_System_Debug.cpp (renamed from devel/electron11/files/patch-third__party_swiftshader_src_System_Debug.cpp)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h (renamed from devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h (renamed from devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h)0
-rw-r--r--devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc (renamed from devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc)0
-rw-r--r--devel/electron12/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn15
-rw-r--r--devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_loader.c11
-rw-r--r--devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h42
-rw-r--r--devel/electron12/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h11
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_BUILD.gn12
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn (renamed from devel/electron11/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc (renamed from devel/electron11/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_byte__order.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_byte__order.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.cc (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_network.cc (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_network.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_network.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_network.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc47
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h (renamed from devel/electron11/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h)0
-rw-r--r--devel/electron12/files/patch-third__party_webrtc_system__wrappers_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-third__party_zlib_cpu__features.c48
-rw-r--r--devel/electron12/files/patch-tools_gn_build_gen.py (renamed from devel/electron11/files/patch-tools_gn_build_gen.py)0
-rw-r--r--devel/electron12/files/patch-tools_gn_src_base_files_file__posix.cc (renamed from devel/electron11/files/patch-tools_gn_src_base_files_file__posix.cc)0
-rw-r--r--devel/electron12/files/patch-tools_gn_src_base_files_scoped__file.cc11
-rw-r--r--devel/electron12/files/patch-tools_gn_src_gn_exec__process.cc (renamed from devel/electron11/files/patch-tools_gn_src_gn_exec__process.cc)0
-rw-r--r--devel/electron12/files/patch-tools_gn_src_gn_function__write__file__unittest.cc (renamed from devel/electron11/files/patch-tools_gn_src_gn_function__write__file__unittest.cc)0
-rw-r--r--devel/electron12/files/patch-tools_gn_src_gn_version.h (renamed from devel/electron11/files/patch-tools_gn_src_gn_version.h)0
-rw-r--r--devel/electron12/files/patch-tools_gn_src_util_sys__info.cc11
-rw-r--r--devel/electron12/files/patch-tools_json__schema__compiler_feature__compiler.py10
-rw-r--r--devel/electron12/files/patch-tools_json__schema__compiler_model.py11
-rw-r--r--devel/electron12/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-tools_variations_fieldtrial__to__struct.py10
-rw-r--r--devel/electron12/files/patch-ui_aura_test_aura__test__helper.cc20
-rw-r--r--devel/electron12/files/patch-ui_aura_test_ui__controls__ozone.cc11
-rw-r--r--devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.cc (renamed from devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.cc)0
-rw-r--r--devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.h (renamed from devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.h)0
-rw-r--r--devel/electron12/files/patch-ui_base_clipboard_clipboard__ozone.cc11
-rw-r--r--devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider.h11
-rw-r--r--devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc (renamed from devel/electron11/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc)0
-rw-r--r--devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc28
-rw-r--r--devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.h11
-rw-r--r--devel/electron12/files/patch-ui_base_ime_init_input__method__initializer.cc38
-rw-r--r--devel/electron12/files/patch-ui_base_resource_resource__bundle.cc20
-rw-r--r--devel/electron12/files/patch-ui_base_resource_resource__bundle__freebsd.cc (renamed from devel/electron11/files/patch-ui_base_resource_resource__bundle__freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-ui_base_test_skia__gold__pixel__diff.cc11
-rw-r--r--devel/electron12/files/patch-ui_base_ui__base__features.cc47
-rw-r--r--devel/electron12/files/patch-ui_base_ui__base__features.h16
-rw-r--r--devel/electron12/files/patch-ui_base_webui_web__ui__util.cc11
-rw-r--r--devel/electron12/files/patch-ui_base_x_x11__shm__image__pool.cc25
-rw-r--r--devel/electron12/files/patch-ui_compositor_compositor.cc11
-rw-r--r--devel/electron12/files/patch-ui_compositor_compositor.h11
-rw-r--r--devel/electron12/files/patch-ui_compositor_compositor__observer.h16
-rw-r--r--devel/electron12/files/patch-ui_events_devices_x11_device__data__manager__x11.cc (renamed from devel/electron11/files/patch-ui_events_devices_x11_device__data__manager__x11.cc)0
-rw-r--r--devel/electron12/files/patch-ui_events_event.cc11
-rw-r--r--devel/electron12/files/patch-ui_events_event__switches.cc (renamed from devel/electron11/files/patch-ui_events_event__switches.cc)0
-rw-r--r--devel/electron12/files/patch-ui_events_event__switches.h (renamed from devel/electron11/files/patch-ui_events_event__switches.h)0
-rw-r--r--devel/electron12/files/patch-ui_events_keycodes_dom_keycode__converter.cc11
-rw-r--r--devel/electron12/files/patch-ui_events_ozone_keyboard__hook__ozone.cc (renamed from devel/electron11/files/patch-ui_events_ozone_keyboard__hook__ozone.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-ui_gfx_canvas__skia.cc11
-rw-r--r--devel/electron12/files/patch-ui_gfx_codec_jpeg__codec.cc (renamed from devel/electron11/files/patch-ui_gfx_codec_jpeg__codec.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_font__fallback__linux.cc (renamed from devel/electron11/files/patch-ui_gfx_font__fallback__linux.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_font__list.cc (renamed from devel/electron11/files/patch-ui_gfx_font__list.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_font__names__testing.cc (renamed from devel/electron11/files/patch-ui_gfx_font__names__testing.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_font__render__params.h20
-rw-r--r--devel/electron12/files/patch-ui_gfx_font__util.cc (renamed from devel/electron11/files/patch-ui_gfx_font__util.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.cc11
-rw-r--r--devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.h20
-rw-r--r--devel/electron12/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h44
-rw-r--r--devel/electron12/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc25
-rw-r--r--devel/electron12/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc20
-rw-r--r--devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc (renamed from devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h (renamed from devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_native__pixmap__handle.cc (renamed from devel/electron11/files/patch-ui_gfx_native__pixmap__handle.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_native__pixmap__handle.h (renamed from devel/electron11/files/patch-ui_gfx_native__pixmap__handle.h)0
-rw-r--r--devel/electron12/files/patch-ui_gfx_native__widget__types.h20
-rw-r--r--devel/electron12/files/patch-ui_gfx_render__text.cc46
-rw-r--r--devel/electron12/files/patch-ui_gl_BUILD.gn11
-rw-r--r--devel/electron12/files/patch-ui_gl_generate__bindings.py12
-rw-r--r--devel/electron12/files/patch-ui_gl_gl__bindings__api__autogen__glx.h (renamed from devel/electron11/files/patch-ui_gl_gl__bindings__api__autogen__glx.h)0
-rw-r--r--devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.cc (renamed from devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.h (renamed from devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.h)0
-rw-r--r--devel/electron12/files/patch-ui_gl_gl__features.cc13
-rw-r--r--devel/electron12/files/patch-ui_gl_gl__fence.cc (renamed from devel/electron11/files/patch-ui_gl_gl__fence.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.cc (renamed from devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.cc)0
-rw-r--r--devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.h (renamed from devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.h)0
-rw-r--r--devel/electron12/files/patch-ui_gtk_printing_print__dialog__gtk.cc (renamed from devel/electron11/files/patch-ui_gtk_printing_print__dialog__gtk.cc)0
-rw-r--r--devel/electron12/files/patch-ui_message__center_views_message__popup__view.cc11
-rw-r--r--devel/electron12/files/patch-ui_native__theme_native__theme.h11
-rw-r--r--devel/electron12/files/patch-ui_native__theme_native__theme__base.cc11
-rw-r--r--devel/electron12/files/patch-ui_platform__window_platform__window__init__properties.h20
-rw-r--r--devel/electron12/files/patch-ui_strings_app__locale__settings.grd11
-rw-r--r--devel/electron12/files/patch-ui_views_controls_label.cc20
-rw-r--r--devel/electron12/files/patch-ui_views_controls_textfield_textfield.cc73
-rw-r--r--devel/electron12/files/patch-ui_views_corewm_tooltip__aura.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_examples_widget__example.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_focus_focus__manager.cc20
-rw-r--r--devel/electron12/files/patch-ui_views_selection__controller.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_style_platform__style.cc20
-rw-r--r--devel/electron12/files/patch-ui_views_views__delegate.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_views__delegate.h11
-rw-r--r--devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc (renamed from devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc)0
-rw-r--r--devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_widget_native__widget__aura.cc37
-rw-r--r--devel/electron12/files/patch-ui_views_window_custom__frame__view.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_window_dialog__delegate.cc11
-rw-r--r--devel/electron12/files/patch-ui_views_window_frame__background.cc (renamed from devel/electron11/files/patch-ui_views_window_frame__background.cc)0
-rw-r--r--devel/electron12/files/patch-ui_webui_resources_js_cr.js14
-rw-r--r--devel/electron12/files/patch-v8_BUILD.gn27
-rw-r--r--devel/electron12/files/patch-v8_include_v8config.h21
-rw-r--r--devel/electron12/files/patch-v8_src_api_api.cc11
-rw-r--r--devel/electron12/files/patch-v8_src_base_cpu.cc18
-rw-r--r--devel/electron12/files/patch-v8_src_base_platform_platform-freebsd.cc (renamed from devel/electron11/files/patch-v8_src_base_platform_platform-freebsd.cc)0
-rw-r--r--devel/electron12/files/patch-v8_src_base_platform_platform-posix.cc24
-rw-r--r--devel/electron12/files/patch-v8_src_d8_d8.cc62
-rw-r--r--devel/electron12/files/patch-weblayer_BUILD.gn17
-rw-r--r--devel/electron12/files/patch-weblayer_app_content__main__delegate__impl.cc11
-rw-r--r--devel/electron12/files/patch-weblayer_browser_browser__main__parts__impl.cc20
-rw-r--r--devel/electron12/files/patch-weblayer_browser_content__browser__client__impl.cc20
-rw-r--r--devel/electron12/files/patch-weblayer_browser_system__network__context__manager.cc15
-rw-r--r--devel/electron12/files/patch-weblayer_common_weblayer__paths.cc20
-rw-r--r--devel/electron12/files/yarn.lock8536
-rw-r--r--devel/electron12/pkg-descr (renamed from devel/electron11/pkg-descr)0
-rw-r--r--devel/electron12/pkg-plist163
1549 files changed, 24960 insertions, 23122 deletions
diff --git a/MOVED b/MOVED
index de9b3e40b847..a9da75aaac53 100644
--- a/MOVED
+++ b/MOVED
@@ -16327,3 +16327,4 @@ devel/rubygem-licensee8|devel/rubygem-licensee|2021-05-03|Obsolete, please use d
devel/rubygem-ruby-magic-static|devel/rubygem-ruby-magic|2021-05-03|Obsolete, please use devel/rubygem-ruby-magic
devel/gecode|math/gecode|2021-05-04|Move to a proper category
net-im/libqmatrixclient|devel/libquotient|2021-05-08|Has expired: Use libQuotient (devel/libquotient) instead
+devel/electron11|devel/electron12|2021-05-12|VSCode update requires a newer major version
diff --git a/devel/Makefile b/devel/Makefile
index de42cdb96f1b..7eba1549b4d8 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -535,7 +535,7 @@
SUBDIR += efl
SUBDIR += egypt
SUBDIR += eiffelstudio
- SUBDIR += electron11
+ SUBDIR += electron12
SUBDIR += elf
SUBDIR += elfio
SUBDIR += elfkickers
diff --git a/devel/electron11/Makefile b/devel/electron11/Makefile
deleted file mode 100644
index 0f587561b0c2..000000000000
--- a/devel/electron11/Makefile
+++ /dev/null
@@ -1,304 +0,0 @@
-PORTNAME= electron
-DISTVERSIONPREFIX= v
-DISTVERSION= ${ELECTRON_VER:S/-beta./.b/}
-CATEGORIES= devel java
-MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:chromium_official \
- https://commondatastorage.googleapis.com/chromium-nodejs/:chromium_node \
- https://commondatastorage.googleapis.com/chromium-fonts/:chromium_testfonts
-PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR}
-DISTFILES= chromium-${CHROMIUM_OFFICIAL_VER}${EXTRACT_SUFX}:chromium_official \
- ${CHROMIUM_NODE_MODULES_HASH}:chromium_node \
- ${CHROMIUM_TEST_FONTS_HASH}:chromium_testfonts \
- electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
-DIST_SUBDIR= ${PORTNAME}
-
-MAINTAINER= tagattie@FreeBSD.org
-COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS
-
-LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/electron/LICENSE
-
-FETCH_DEPENDS= yarn-node12>0:www/yarn-node12
-EXTRACT_DEPENDS= yarn-node12>0:www/yarn-node12
-PATCH_DEPENDS= git:devel/git
-BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
- gperf:devel/gperf \
- yasm:devel/yasm \
- ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
- node12>0:www/node12 \
- npm-node12>0:www/npm-node12
-LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
- libatspi.so:accessibility/at-spi2-core \
- libsnappy.so:archivers/snappy \
- libFLAC.so:audio/flac \
- libopus.so:audio/opus \
- libdbus-1.so:devel/dbus \
- libnotify.so:devel/libnotify \
- libpci.so:devel/libpci \
- libnspr4.so:devel/nspr \
- libre2.so:devel/re2 \
- libdrm.so:graphics/libdrm \
- libpng.so:graphics/png \
- libwebp.so:graphics/webp \
- libavcodec.so:multimedia/ffmpeg \
- libopenh264.so:multimedia/openh264 \
- libfreetype.so:print/freetype2 \
- libharfbuzz.so:print/harfbuzz \
- libsecret-1.so:security/libsecret \
- libnss3.so:security/nss \
- libexpat.so:textproc/expat2 \
- libxkbcommon.so:x11/libxkbcommon \
- libfontconfig.so:x11-fonts/fontconfig
-RUN_DEPENDS= xdg-open:devel/xdg-utils
-TEST_DEPENDS= git:devel/git \
- ${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \
- npm-node12>0:www/npm-node12
-
-USES= bison dos2unix gettext-tools gl gnome jpeg localbase:ldflags \
- ninja pkgconfig python:2.7,build,test shebangfix tar:xz xorg
-DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
-USE_GITHUB= yes
-GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER}
-GH_TUPLE= nodejs:node:v${NODE_VER}:node \
- nodejs:nan:${NAN_VER}:nan
-USE_GL= gbm gl glesv2
-USE_GNOME= atk cairo gdkpixbuf2 gtk30 libxml2 libxslt pango
-USE_JAVA= yes
-JAVA_VERSION= 1.8
-JAVA_BUILD= yes
-USE_LDCONFIG= ${DATADIR}
-USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
- xrender xscrnsaver xtst
-
-SHEBANG_FILES= buildtools/freebsd/clang-format
-
-MAKE_ARGS= -C out/${BUILDTYPE}
-MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
- CPLUS_INCLUDE_PATH=${LOCALBASE}/include
-ALL_TARGET= electron third_party/electron_node:headers
-POST_BUILD_TARGETS= licenses version
-POST_BUILD_DIST_TARGETS= electron_dist_zip electron_chromedriver_zip \
- electron_mksnapshot_zip
-
-DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
-BINARY_ALIAS= python=${PYTHON_CMD}
-
-NO_WRKSUBDIR= yes
-WRKSRC_SUBDIR= src
-
-PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} \
- ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR}
-
-OPTIONS_DEFINE= CUPS DEBUG DIST DRIVER KERBEROS
-OPTIONS_DEFAULT= CUPS DRIVER KERBEROS ALSA
-OPTIONS_GROUP= AUDIO
-OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO
-OPTIONS_SUB= yes
-
-DIST_DESC= Build distribution zip files
-DRIVER_DESC= Install chromedriver
-
-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins
-ALSA_VARS= GN_ARGS+=use_alsa=true
-ALSA_VARS_OFF= GN_ARGS+=use_alsa=false
-CUPS_LIB_DEPENDS= libcups.so:print/cups
-CUPS_VARS= GN_ARGS+=use_cups=true
-CUPS_VARS_OFF= GN_ARGS+=use_cups=false
-DEBUG_VARS= BUILDTYPE=Testing
-DEBUG_VARS_OFF= BUILDTYPE=Release
-DIST_IMPLIES= DRIVER
-DRIVER_ALL_TARGET= chromedriver
-KERBEROS_VARS= GN_ARGS+=use_kerberos=true
-KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true
-PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false
-
-# Official chromium version containing "gn" which is known to work
-CHROMIUM_OFFICIAL_VER= 87.0.4280.141
-# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
-CHROMIUM_VER= 87.0.4280.141
-# See ${WRKSRC}/third_party/node/node_modules.tar.gz.sha1 for CHROMIUM_NODE_MODULES_HASH
-CHROMIUM_NODE_MODULES_HASH= a9603a3dc03fa41af9cc5c8ac28d23d1f98dfe3c
-# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH
-CHROMIUM_TEST_FONTS_HASH= cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb
-# See ${WRKSRC}/electron/DEPS for NODE_VER
-NODE_VER= 12.18.3
-# See ${WRKSRC}/electron/DEPS for NAN_VER
-NAN_VER= 2c4ee8a32a299eada3cd6e468bbd0a473bfea96d
-
-YARN_TIMESTAMP= 1619856269
-
-GN_ARGS+= clang_use_chrome_plugins=false \
- enable_hangout_services_extension=true \
- enable_nacl=false \
- enable_one_click_signin=true \
- enable_remoting=false \
- fieldtrial_testing_like_official_build=true \
- is_clang=true \
- toolkit_views=true \
- treat_warnings_as_errors=false \
- use_allocator="none" \
- use_allocator_shim=false \
- use_aura=true \
- use_custom_libcxx=false \
- use_gnome_keyring=false \
- use_lld=true \
- use_sysroot=false \
- use_system_freetype=true \
- use_system_harfbuzz=true \
- use_system_libjpeg=true \
- extra_cxxflags="${CXXFLAGS}" \
- extra_ldflags="${LDFLAGS}"
-GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
-
-.include "Makefile.version"
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "amd64"
-PLIST_SUB+= AMD64=""
-.else
-PLIST_SUB+= AMD64="@comment "
-.endif
-
-.if ${ARCH} == "i386"
-PLIST_SUB+= I386=""
-.else
-PLIST_SUB+= I386="@comment "
-.endif
-
-pre-fetch:
- @${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
- if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} ]; \
- then ${MKDIR} ${WRKDIR}; \
- ${ECHO_CMD} 'yarn-offline-mirror "./yarn-offline-cache"' >> \
- ${WRKDIR}/.yarnrc; \
- ${CP} ${FILESDIR}/package.json ${FILESDIR}/yarn.lock ${WRKDIR}; \
- cd ${WRKDIR} && ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache \
- yarn --frozen-lockfile --ignore-scripts; \
- ${MTREE_CMD} -cbnSp yarn-offline-cache | ${MTREE_CMD} -C | ${SED} \
- -e 's:time=[0-9.]*:time=${YARN_TIMESTAMP}.000000000:' \
- -e 's:\([gu]id\)=[0-9]*:\1=0:g' \
- -e 's:flags=.*:flags=none:' \
- -e 's:^\.:./yarn-offline-cache:' > yarn-offline-cache.mtree; \
- ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} \
- @yarn-offline-cache.mtree; \
- ${RM} -r ${WRKDIR}; \
- fi
-
-post-extract:
-# Move extracted sources to appropriate locations
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC}
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${PORTNAME}-${ELECTRON_VER} ${WRKSRC}/electron
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_nan}-${NAN_VER} \
- ${WRKSRC}/third_party/nan
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_node}-${NODE_VER} \
- ${WRKSRC}/third_party/electron_node
- # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/node_modules ${WRKSRC}/third_party/node
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/test_fonts ${WRKSRC}/third_party/test_fonts
-# Take in clang-format from official chromium distribution
- ${MKDIR} ${WRKSRC}/buildtools/freebsd
- # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_OFFICIAL_VER}/buildtools/linux64/clang-format \
- # ${WRKSRC}/buildtools/freebsd
- ${CP} ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd
-# Take in gn source files from official chromium distribution
- # ${RM} -r ${WRKSRC}/tools/gn
- # ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_OFFICIAL_VER}/tools/gn \
- # ${WRKSRC}/tools/gn
-# Remove unnecessary files
- ${RM} -r ${WRKSRC}/third_party/jdk/current
- ${RM} -r ${WRKSRC}/third_party/jdk/extras
-# Install node modules for electron
- ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/yarn-offline-cache ${WRKDIR}
- ${ECHO_CMD} 'yarn-offline-mirror "../../../yarn-offline-cache"' >> ${WRKSRC}/electron/.yarnrc
- cd ${WRKSRC}/electron && \
- ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline
-
-pre-patch:
- ${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC}
- # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete
- # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete
-
-pre-configure:
-# We used to remove bundled libraries to be sure that chromium uses
-# system libraries and not shipped ones.
-# cd ${WRKSRC} && ${PYTHON_CMD} \
-#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
- ./build/linux/unbundle/replace_gn_files.py --system-libraries \
- ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libpng \
- libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE}
-
-do-configure:
-# GN generator bootstrapping and generating ninja files
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \
- READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \
- ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS}
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/Release/gn gen out/${BUILDTYPE} \
- --args='import("//electron/build/args/${BUILDTYPE:tl}.gn") ${GN_ARGS}'
-# Setup nodejs dependency
- ${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin
- ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node
-# Setup java dependency
- ${MKDIR} ${WRKDIR}/bin
- ${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java
-
-post-build:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
- ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_TARGETS}
-
-post-build-DIST-on:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
- ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_DIST_TARGETS}
- cd ${WRKSRC}/out/${BUILDTYPE} && \
- ${CP} chromedriver.zip chromedriver-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
- ${CP} dist.zip electron-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
- ${CP} mksnapshot.zip mksnapshot-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
- ${SHA256} -r *-v${ELECTRON_VER}-freebsd-*.zip | ${SED} -e 's/ / */' > SHASUMS256.txt
-
-do-install:
- ${MKDIR} ${STAGEDIR}${DATADIR}
-.for f in electron mksnapshot v8_context_snapshot_generator
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
-.endfor
-.for f in libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
-.endfor
- ${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
-.for f in libEGL.so libGLESv2.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${f} ${STAGEDIR}${DATADIR}/swiftshader
-.endfor
-.for f in LICENSE LICENSES.chromium.html icudtl.dat snapshot_blob.bin v8_context_snapshot.bin version vk_swiftshader_icd.json
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
-.endfor
-.for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
-.endfor
- ${MKDIR} ${STAGEDIR}${DATADIR}/locales
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/locales/*.pak ${STAGEDIR}${DATADIR}/locales
- ${MKDIR} ${STAGEDIR}${DATADIR}/resources
-.for f in default_app.asar
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources
-.endfor
- cd ${WRKSRC}/out/${BUILDTYPE}/gen && ${COPYTREE_SHARE} node_headers ${STAGEDIR}${DATADIR}
- cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/electron/buildflags ${STAGEDIR}${DATADIR}
- cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/v8/embedded.S ${STAGEDIR}${DATADIR}
- ${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin/electron${PKGNAMESUFFIX}
-
-post-install-DIST-on:
- ${MKDIR} ${STAGEDIR}${DATADIR}/releases
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/SHASUMS256.txt ${STAGEDIR}${DATADIR}/releases
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*-v${ELECTRON_VER}-freebsd-*.zip ${STAGEDIR}${DATADIR}/releases
-
-post-install-DRIVER-on:
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver ${STAGEDIR}${DATADIR}
-
-do-test:
-# Note 1: "npm install" will run before actual tests are executed
-# Note 2: Xvfb or something similar is necessary for headless testing
- cd ${WRKSRC}/electron && \
- ${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} LOCAL_GIT_DIRECTORY=${LOCALBASE} \
- npm run test -- --ci
-
-.include <bsd.port.post.mk>
diff --git a/devel/electron11/Makefile.version b/devel/electron11/Makefile.version
deleted file mode 100644
index 0b1c41515d83..000000000000
--- a/devel/electron11/Makefile.version
+++ /dev/null
@@ -1,2 +0,0 @@
-ELECTRON_VER= 11.4.4
-ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron11/distinfo b/devel/electron11/distinfo
deleted file mode 100644
index e0d28dffe39a..000000000000
--- a/devel/electron11/distinfo
+++ /dev/null
@@ -1,15 +0,0 @@
-TIMESTAMP = 1619857372
-SHA256 (electron/chromium-87.0.4280.141.tar.xz) = 147591d7fc21e1a173701d28bbf35baddb91e64dd96ec16d8eee9a5113403375
-SIZE (electron/chromium-87.0.4280.141.tar.xz) = 856467564
-SHA256 (electron/a9603a3dc03fa41af9cc5c8ac28d23d1f98dfe3c) = b8b23fa102ddea8b6b4b6b9161c76636fd48b37e6bcfe955e56bfe04e31ba13b
-SIZE (electron/a9603a3dc03fa41af9cc5c8ac28d23d1f98dfe3c) = 8072260
-SHA256 (electron/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = ec973eccd669d417fbf2d0a4dac730744a3174268ff062db5451b55c82bc3492
-SIZE (electron/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = 26759650
-SHA256 (electron/electron-yarn-cache-11.4.4.tar.xz) = 72764c221da243327e1f06b06ff561505bc4f81a238394afd0ecef3a2bce1fd5
-SIZE (electron/electron-yarn-cache-11.4.4.tar.xz) = 27493860
-SHA256 (electron/electron-electron-v11.4.4_GH0.tar.gz) = 2414917d9428116b834e3434d40b9576f72ac8ce332ef6f74eccd8de3a1dcaf1
-SIZE (electron/electron-electron-v11.4.4_GH0.tar.gz) = 6441275
-SHA256 (electron/nodejs-node-v12.18.3_GH0.tar.gz) = 6e2730c9284906a0f34cd7c64540c891c0e363323c46e9fc005c6366ddf389c6
-SIZE (electron/nodejs-node-v12.18.3_GH0.tar.gz) = 77078855
-SHA256 (electron/nodejs-nan-2c4ee8a32a299eada3cd6e468bbd0a473bfea96d_GH0.tar.gz) = e4ff33afb043329429c9551d3cc983786553a310a7d61ee313485ba3ac9b2b15
-SIZE (electron/nodejs-nan-2c4ee8a32a299eada3cd6e468bbd0a473bfea96d_GH0.tar.gz) = 178328
diff --git a/devel/electron11/files/package.json b/devel/electron11/files/package.json
deleted file mode 100644
index 6dbd4542e2eb..000000000000
--- a/devel/electron11/files/package.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "name": "electron",
- "version": "11.4.4",
- "repository": "https://github.com/electron/electron",
- "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
- "devDependencies": {
- "@electron/docs-parser": "^0.10.0",
- "@electron/typescript-definitions": "^8.7.5",
- "@octokit/auth-app": "^2.10.0",
- "@octokit/rest": "^18.0.3",
- "@primer/octicons": "^10.0.0",
- "@types/basic-auth": "^1.1.3",
- "@types/busboy": "^0.2.3",
- "@types/chai": "^4.2.12",
- "@types/chai-as-promised": "^7.1.3",
- "@types/dirty-chai": "^2.0.2",
- "@types/express": "^4.17.7",
- "@types/fs-extra": "^9.0.1",
- "@types/mocha": "^7.0.2",
- "@types/node": "^12.12.6",
- "@types/semver": "^7.3.3",
- "@types/send": "^0.14.5",
- "@types/split": "^1.0.0",
- "@types/uuid": "^3.4.6",
- "@types/webpack": "^4.41.21",
- "@types/webpack-env": "^1.15.2",
- "@typescript-eslint/eslint-plugin": "^3.9.1",
- "@typescript-eslint/parser": "^3.9.1",
- "asar": "^3.0.3",
- "check-for-leaks": "^1.2.1",
- "colors": "^1.4.0",
- "dotenv-safe": "^4.0.4",
- "dugite": "^1.45.0",
- "eslint": "^7.4.0",
- "eslint-config-standard": "^14.1.1",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-mocha": "^7.0.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-standard": "^4.0.1",
- "eslint-plugin-typescript": "^0.14.0",
- "express": "^4.16.4",
- "folder-hash": "^2.1.1",
- "fs-extra": "^9.0.1",
- "husky": "^2.2.0",
- "klaw": "^3.0.0",
- "lint": "^1.1.2",
- "lint-staged": "^10.2.11",
- "minimist": "^1.2.5",
- "nugget": "^2.0.1",
- "null-loader": "^4.0.0",
- "pre-flight": "^1.1.0",
- "remark-cli": "^4.0.0",
- "remark-preset-lint-markdown-style-guide": "^2.1.1",
- "request": "^2.88.2",
- "semver": "^5.6.0",
- "shx": "^0.3.2",
- "standard-markdown": "^6.0.0",
- "sumchecker": "^2.0.2",
- "tap-xunit": "^2.4.1",
- "temp": "^0.8.3",
- "timers-browserify": "1.4.2",
- "ts-loader": "^8.0.2",
- "ts-node": "6.2.0",
- "typescript": "^4.0.2",
- "webpack": "^4.43.0",
- "webpack-cli": "^3.3.12"
- },
- "private": true,
- "scripts": {
- "asar": "asar",
- "generate-version-json": "node script/generate-version-json.js",
- "lint": "node ./script/lint.js && npm run lint:clang-format && npm run lint:docs",
- "lint:js": "node ./script/lint.js --js",
- "lint:clang-format": "python script/run-clang-format.py -r -c atom/ chromium_src/ || (echo \"\\nCode not formatted correctly.\" && exit 1)",
- "lint:cpp": "node ./script/lint.js --cc",
- "lint:objc": "node ./script/lint.js --objc",
- "lint:py": "node ./script/lint.js --py",
- "lint:gn": "node ./script/lint.js --gn",
- "lint:docs": "remark docs -qf && npm run lint:js-in-markdown && npm run create-typescript-definitions && npm run lint:docs-relative-links && npm run lint:check-trailing-whitespace",
- "lint:docs-relative-links": "python ./script/check-relative-doc-links.py",
- "lint:check-trailing-whitespace": "python ./script/check-trailing-whitespace.py",
- "lint:js-in-markdown": "standard-markdown docs",
- "create-api-json": "electron-docs-parser --dir=./",
- "create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --api=electron-api.json && node spec/ts-smoke/runner.js",
- "gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts",
- "pre-flight": "pre-flight",
- "gn-check": "node ./script/gn-check.js",
- "preinstall": "node -e 'process.exit(0)'",
- "prepack": "check-for-leaks",
- "repl": "node ./script/start.js --interactive",
- "start": "node ./script/start.js",
- "test": "node ./script/spec-runner.js",
- "tsc": "tsc",
- "webpack": "node build/webpack/run-compiler"
- },
- "license": "MIT",
- "author": "Electron Community",
- "keywords": [
- "electron"
- ],
- "husky": {
- "hooks": {
- "pre-commit": "lint-staged",
- "pre-push": "check-for-leaks"
- }
- },
- "lint-staged": {
- "*.{js,ts}": [
- "node script/lint.js --js --fix --only --"
- ],
- "*.{js,ts,d.ts}": [
- "ts-node script/gen-filenames.ts"
- ],
- "*.{cc,mm,c,h}": [
- "python script/run-clang-format.py -r -c --fix"
- ],
- "*.md": [
- "npm run lint:docs"
- ],
- "*.{gn,gni}": [
- "npm run gn-check",
- "python script/run-gn-format.py"
- ],
- "*.py": [
- "node script/lint.js --py --fix --only --"
- ],
- "docs/api/**/*.md": [
- "ts-node script/gen-filenames.ts",
- "python script/check-trailing-whitespace.py --fix",
- "git add filenames.auto.gni"
- ],
- "{*.patch,.patches}": [
- "node script/lint.js --patches --only --",
- "ts-node script/check-patch-diff.ts"
- ],
- "DEPS": [
- "node script/gen-hunspell-filenames.js"
- ]
- },
- "dependencies": {
- "@types/temp": "^0.8.34"
- }
-}
diff --git a/devel/electron11/files/patch-BUILD.gn b/devel/electron11/files/patch-BUILD.gn
deleted file mode 100644
index bad7679c32f3..000000000000
--- a/devel/electron11/files/patch-BUILD.gn
+++ /dev/null
@@ -1,96 +0,0 @@
---- BUILD.gn.orig 2021-01-07 00:36:17 UTC
-+++ BUILD.gn
-@@ -422,7 +422,7 @@ group("gn_all") {
- ]
- }
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux && !is_bsd) || is_chromeos || is_android) {
- deps += [
- "//third_party/breakpad:breakpad_unittests",
- "//third_party/breakpad:core-2-minidump",
-@@ -463,8 +463,6 @@ group("gn_all") {
- "//net:disk_cache_memory_test",
- "//net:quic_client",
- "//net:quic_server",
-- "//sandbox/linux:chrome_sandbox",
-- "//sandbox/linux:sandbox_linux_unittests",
- "//testing:empty_main",
- ]
-
-@@ -519,10 +517,6 @@ group("gn_all") {
- "//chrome/test:load_library_perf_tests",
- "//chrome/test:sync_performance_tests",
- "//chrome/test/chromedriver:chromedriver",
-- "//courgette:courgette",
-- "//courgette:courgette_fuzz",
-- "//courgette:courgette_minimal_tool",
-- "//courgette:courgette_unittests",
- "//media/cast:generate_barcode_video",
- "//media/cast:generate_timecode_audio",
- "//net:crash_cache",
-@@ -582,10 +576,6 @@ group("gn_all") {
- "//mojo:mojo_perftests",
- "//services/service_manager/public/cpp",
- "//testing/gmock:gmock_main",
-- "//third_party/breakpad:dump_syms($host_toolchain)",
-- "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
-- "//third_party/breakpad:minidump_dump($host_toolchain)",
-- "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
- ]
-
- if (!is_android) {
-@@ -663,7 +653,7 @@ group("gn_all") {
- host_os == "win") {
- deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
- }
-- } else if (!is_android && !is_ios && !is_fuchsia) {
-+ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) {
- deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
- }
-
-@@ -678,7 +668,7 @@ group("gn_all") {
- }
- }
-
-- if (is_mac || is_win || is_android || (is_linux && !is_chromeos)) {
-+ if (is_mac || is_win || is_android || (is_linux && !is_chromeos && !is_bsd)) {
- deps += [
- "//third_party/crashpad/crashpad:crashpad_tests",
- "//third_party/crashpad/crashpad/handler:crashpad_handler",
-@@ -797,7 +787,6 @@ group("gn_all") {
- "//chrome/browser/vr:vr_common_perftests",
- "//chrome/browser/vr:vr_common_unittests",
- "//chrome/browser/vr:vr_pixeltests",
-- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests",
- ]
- if (is_android) {
- deps += [ "//chrome/browser/android/vr:vr_android_unittests" ]
-@@ -1090,7 +1079,7 @@ if (!is_ios) {
- data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
- }
-
-- if (!is_win && !is_android) {
-+ if (!is_win && !is_android && !is_bsd) {
- data_deps +=
- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
- }
-@@ -1099,7 +1088,7 @@ if (!is_ios) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux && !is_bsd) || is_chromeos) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
- }
-
-@@ -1296,9 +1285,6 @@ group("chromium_builder_perf") {
-
- if (is_win) {
- data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
-- } else {
-- data_deps +=
-- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
- }
- if (is_win || is_android) {
- data_deps += [
diff --git a/devel/electron11/files/patch-apps_ui_views_app__window__frame__view.cc b/devel/electron11/files/patch-apps_ui_views_app__window__frame__view.cc
deleted file mode 100644
index 229246bd7976..000000000000
--- a/devel/electron11/files/patch-apps_ui_views_app__window__frame__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- apps/ui/views/app_window_frame_view.cc.orig 2021-01-07 00:36:17 UTC
-+++ apps/ui/views/app_window_frame_view.cc
-@@ -132,7 +132,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView()
- gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds(
- const gfx::Rect& client_bounds) const {
- gfx::Rect window_bounds = client_bounds;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Get the difference between the widget's client area bounds and window
- // bounds, and grow |window_bounds| by that amount.
- gfx::Insets native_frame_insets =
diff --git a/devel/electron11/files/patch-ash_display_mirror__window__controller.cc b/devel/electron11/files/patch-ash_display_mirror__window__controller.cc
deleted file mode 100644
index fd42fbe52868..000000000000
--- a/devel/electron11/files/patch-ash_display_mirror__window__controller.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- ash/display/mirror_window_controller.cc.orig 2021-01-07 00:36:17 UTC
-+++ ash/display/mirror_window_controller.cc
-@@ -275,7 +275,11 @@ void MirrorWindowController::UpdateWindow(
- return info.id() == iter->first;
- }) == display_info_list.end()) {
- CloseAndDeleteHost(iter->second, true);
-+#if defined(__llvm__)
-+ mirroring_host_info_map_.erase(iter++);
-+#else
- iter = mirroring_host_info_map_.erase(iter);
-+#endif
- } else {
- ++iter;
- }
diff --git a/devel/electron11/files/patch-base_BUILD.gn b/devel/electron11/files/patch-base_BUILD.gn
deleted file mode 100644
index 5a4d8ddc0855..000000000000
--- a/devel/electron11/files/patch-base_BUILD.gn
+++ /dev/null
@@ -1,112 +0,0 @@
---- base/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ base/BUILD.gn
-@@ -53,7 +53,7 @@ declare_args() {
- # replacement base::Location::Current(). On by default in non-official builds
- # for testing purposes.
- # TODO(https://crbug.com/974061): remove this eventually.
-- from_here_uses_location_builtins = !is_official_build
-+ from_here_uses_location_builtins = !is_official_build && !is_bsd
-
- # Unsafe developer build. Has developer-friendly features that may weaken or
- # disable security measures like sandboxing or ASLR.
-@@ -878,7 +878,7 @@ component("base") {
- "timer/hi_res_timer_manager_posix.cc",
- ]
-
-- if (!is_nacl && !is_apple) {
-+ if (!is_nacl && !is_apple && !is_bsd) {
- sources += [
- "cpu_affinity_posix.cc",
- "cpu_affinity_posix.h",
-@@ -889,6 +889,11 @@ component("base") {
- "profiler/thread_delegate_posix.h",
- ]
- }
-+ if (is_bsd) {
-+ sources += [
-+ "profiler/stack_sampler_posix.cc",
-+ ]
-+ }
- }
-
- if (is_win) {
-@@ -1295,7 +1300,7 @@ component("base") {
- # building inside the cros_sdk environment - use host_toolchain as a
- # more robust check for this.
- if (!use_sysroot &&
-- (is_android || ((is_linux || is_chromeos) && !is_chromecast)) &&
-+ (is_android || ((is_linux || is_chromeos) && !is_chromecast) && !is_clang) &&
- host_toolchain != "//build/toolchain/cros:host") {
- libs += [ "atomic" ]
- }
-@@ -1342,7 +1347,7 @@ component("base") {
- "allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc",
- ]
- }
-- if (is_chromeos || is_linux) {
-+ if ((is_chromeos || is_linux) && !is_bsd) {
- sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
- }
- if (is_win) {
-@@ -1811,7 +1816,7 @@ component("base") {
- ]
- }
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
- sources += [
- "allocator/partition_allocator/spinning_futex_linux.cc",
- "allocator/partition_allocator/spinning_futex_linux.h",
-@@ -1956,6 +1961,34 @@ component("base") {
- }
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "files/file_path_watcher_linux.cc",
-+ "files/file_util_linux.cc",
-+ "process/memory_linux.cc",
-+ "process/process_handle_linux.cc",
-+ "process/process_iterator_linux.cc",
-+ "process/process_metrics_linux.cc",
-+ "system/sys_info_linux.cc"
-+ ]
-+ sources += [
-+ "files/file_path_watcher_kqueue.cc",
-+ "files/file_path_watcher_kqueue.h",
-+ "files/file_path_watcher_stub.cc",
-+ "process/memory_stubs.cc",
-+ "process/process_handle_freebsd.cc",
-+ "process/process_iterator_freebsd.cc",
-+ "process/process_metrics_freebsd.cc",
-+ "system/sys_info_freebsd.cc",
-+ ]
-+ libs = [
-+ "execinfo", # logging.cc
-+ "kvm", # process_metrics_freebsd
-+ "util" # process_metrics_freebsd
-+ ]
-+ }
-+
-+
- # iOS
- if (is_ios) {
- sources -= [
-@@ -3069,7 +3102,7 @@ test("base_unittests") {
- ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [ "debug/proc_maps_linux_unittest.cc" ]
- }
-
-@@ -3110,7 +3143,7 @@ test("base_unittests") {
- "posix/unix_domain_socket_unittest.cc",
- "task/thread_pool/task_tracker_posix_unittest.cc",
- ]
-- if (!is_nacl && !is_apple) {
-+ if (!is_nacl && !is_apple && !is_bsd) {
- sources += [
- "cpu_affinity_posix_unittest.cc",
- "profiler/stack_copier_signal_unittest.cc",
diff --git a/devel/electron11/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/devel/electron11/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
deleted file mode 100644
index 02fde87e6cee..000000000000
--- a/devel/electron11/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/allocator_shim_override_libc_symbols.h.orig 2021-01-07 00:36:18 UTC
-+++ base/allocator/allocator_shim_override_libc_symbols.h
-@@ -10,7 +10,7 @@
- #endif
- #define BASE_ALLOCATOR_ALLOCATOR_SHIM_OVERRIDE_LIBC_SYMBOLS_H_
-
--#include <malloc.h>
-+#include <stdlib.h>
-
- #include "base/allocator/allocator_shim_internals.h"
-
diff --git a/devel/electron11/files/patch-base_allocator_allocator__shim__unittest.cc b/devel/electron11/files/patch-base_allocator_allocator__shim__unittest.cc
deleted file mode 100644
index 667311933453..000000000000
--- a/devel/electron11/files/patch-base_allocator_allocator__shim__unittest.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- base/allocator/allocator_shim_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/allocator/allocator_shim_unittest.cc
-@@ -367,7 +367,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
-
- #endif // !OS_WIN
-
--#if !defined(OS_WIN) && !defined(OS_APPLE)
-+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
- void* memalign_ptr = memalign(128, 53);
- ASSERT_NE(nullptr, memalign_ptr);
- ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(memalign_ptr) % 128);
-@@ -383,7 +383,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u);
- #endif // !defined(OS_ANDROID)
-
--#endif // !OS_WIN && !OS_APPLE
-+#endif // !OS_WIN && !OS_APPLE && !OS_BSD
-
- // See allocator_shim_override_glibc_weak_symbols.h for why we intercept
- // internal libc symbols.
-@@ -410,7 +410,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- free(zero_alloc_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u);
-
--#if !defined(OS_WIN) && !defined(OS_APPLE)
-+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
- free(memalign_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
-
-@@ -419,7 +419,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
- #endif // !defined(OS_ANDROID)
-
--#endif // !OS_WIN && !OS_APPLE
-+#endif // !OS_WIN && !OS_APPLE && !OS_BSD
-
- #if !defined(OS_WIN)
- free(posix_memalign_ptr);
-@@ -595,7 +595,7 @@ static size_t GetAllocatedSize(void* ptr) {
- static size_t GetAllocatedSize(void* ptr) {
- return malloc_size(ptr);
- }
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- static size_t GetAllocatedSize(void* ptr) {
- return malloc_usable_size(ptr);
- }
diff --git a/devel/electron11/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/devel/electron11/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
deleted file mode 100644
index a32913989012..000000000000
--- a/devel/electron11/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-01-07 00:36:18 UTC
-+++ base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -24,7 +24,7 @@
- #if defined(OS_ANDROID)
- #include <sys/prctl.h>
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/resource.h>
-
- #include <algorithm>
diff --git a/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc.cc b/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc.cc
deleted file mode 100644
index 10970bed344d..000000000000
--- a/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/allocator/partition_allocator/partition_alloc.cc
-@@ -197,6 +197,9 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me
- // Check that some of our zanier calculations worked out as expected.
- #if ENABLE_TAG_FOR_MTE_CHECKED_PTR
- static_assert(kSmallestBucket >= kAlignment, "generic smallest bucket");
-+#elif defined(__i386__) && defined(OS_FREEBSD)
-+ // alignof(std::max_align_t) is only 4 on FreeBSD/i386
-+ static_assert(kSmallestBucket >= kAlignment, "generic smallest bucket");
- #else
- static_assert(kSmallestBucket == kAlignment, "generic smallest bucket");
- #endif
diff --git a/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
deleted file mode 100644
index f1dea4369b62..000000000000
--- a/devel/electron11/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/allocator/partition_allocator/partition_alloc_unittest.cc
-@@ -333,9 +333,13 @@ void FreeFullPage(PartitionRoot<base::internal::Thread
- }
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- bool CheckPageInCore(void* ptr, bool in_core) {
-+#if defined(OS_BSD)
-+ char ret = 0;
-+#else
- unsigned char ret = 0;
-+#endif
- EXPECT_EQ(0, mincore(ptr, SystemPageSize(), &ret));
- return in_core == (ret & 1);
- }
-@@ -344,7 +348,7 @@ bool CheckPageInCore(void* ptr, bool in_core) {
- EXPECT_TRUE(CheckPageInCore(ptr, in_core))
- #else
- #define CHECK_PAGE_IN_CORE(ptr, in_core) (void)(0)
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- class MockPartitionStatsDumper : public PartitionStatsDumper {
- public:
diff --git a/devel/electron11/files/patch-base_base__switches.cc b/devel/electron11/files/patch-base_base__switches.cc
deleted file mode 100644
index 84de035201d4..000000000000
--- a/devel/electron11/files/patch-base_base__switches.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/base_switches.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/base_switches.cc
-@@ -117,7 +117,7 @@ const char kDisableHighResTimer[] = "disable-highres-t
- const char kDisableUsbKeyboardDetect[] = "disable-usb-keyboard-detect";
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)) || defined(OS_BSD)
- // The /dev/shm partition is too small in certain VM environments, causing
- // Chrome to fail or crash (see http://crbug.com/715363). Use this flag to
- // work-around this issue (a temporary directory will always be used to create
-@@ -152,7 +152,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
-
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Controls whether or not retired instruction counts are surfaced for threads
- // in trace events on Linux.
- //
diff --git a/devel/electron11/files/patch-base_base__switches.h b/devel/electron11/files/patch-base_base__switches.h
deleted file mode 100644
index 965ee02b7750..000000000000
--- a/devel/electron11/files/patch-base_base__switches.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/base_switches.h.orig 2021-01-07 00:36:18 UTC
-+++ base/base_switches.h
-@@ -39,7 +39,7 @@ extern const char kDisableHighResTimer[];
- extern const char kDisableUsbKeyboardDetect[];
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)) || defined(OS_BSD)
- extern const char kDisableDevShmUsage[];
- #endif
-
-@@ -55,7 +55,7 @@ extern const char kEnableIdleTracing[];
- extern const char kForceFieldTrialParams[];
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- extern const char kEnableThreadInstructionCount[];
- #endif
-
diff --git a/devel/electron11/files/patch-base_cpu.cc b/devel/electron11/files/patch-base_cpu.cc
deleted file mode 100644
index 48c795120ce8..000000000000
--- a/devel/electron11/files/patch-base_cpu.cc
+++ /dev/null
@@ -1,44 +0,0 @@
---- base/cpu.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/cpu.cc
-@@ -16,7 +16,7 @@
-
- #include "base/stl_util.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- #include "base/containers/flat_set.h"
- #include "base/files/file_util.h"
-@@ -31,7 +31,7 @@
- #endif
-
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
- #include "base/files/file_util.h"
- #endif
-
-@@ -182,6 +182,14 @@ std::string* CpuInfoBrand() {
-
- return brand;
- }
-+#elif defined(OS_BSD)
-+std::string* CpuInfoBrand() {
-+ static std::string* brand = []() {
-+ return new std::string(SysInfo::CPUModelName());
-+ }();
-+
-+ return brand;
-+}
- #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) ||
- // defined(OS_LINUX) || defined(OS_CHROMEOS))
-
-@@ -305,7 +313,7 @@ void CPU::Initialize() {
- }
- }
- #elif defined(ARCH_CPU_ARM_FAMILY)
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- cpu_brand_ = *CpuInfoBrand();
- #elif defined(OS_WIN)
- // Windows makes high-resolution thread timing information available in
diff --git a/devel/electron11/files/patch-base_cpu.h b/devel/electron11/files/patch-base_cpu.h
deleted file mode 100644
index 51637a45b09d..000000000000
--- a/devel/electron11/files/patch-base_cpu.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/cpu.h.orig 2021-01-07 00:36:18 UTC
-+++ base/cpu.h
-@@ -73,7 +73,7 @@ class BASE_EXPORT CPU final {
- IntelMicroArchitecture GetIntelMicroArchitecture() const;
- const std::string& cpu_brand() const { return cpu_brand_; }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- enum class CoreType {
- kUnknown = 0,
-@@ -124,7 +124,7 @@ class BASE_EXPORT CPU final {
- // cpuidle driver.
- using CoreIdleTimes = std::vector<TimeDelta>;
- static bool GetCumulativeCoreIdleTimes(CoreIdleTimes&);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // defined(OS_AIX)
-
- private:
diff --git a/devel/electron11/files/patch-base_debug_proc__maps__linux.cc b/devel/electron11/files/patch-base_debug_proc__maps__linux.cc
deleted file mode 100644
index 3c5a2d29f013..000000000000
--- a/devel/electron11/files/patch-base_debug_proc__maps__linux.cc
+++ /dev/null
@@ -1,141 +0,0 @@
---- base/debug/proc_maps_linux.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/debug/proc_maps_linux.cc
-@@ -13,7 +13,7 @@
- #include "base/strings/string_split.h"
- #include "build/build_config.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <inttypes.h>
- #endif
-
-@@ -29,6 +29,11 @@
- namespace base {
- namespace debug {
-
-+#if defined(OS_BSD)
-+const char kProcSelfMapsPath[] = "/proc/curproc/map";
-+#else
-+const char kProcSelfMapsPath[] = "/proc/self/maps";
-+
- // Scans |proc_maps| starting from |pos| returning true if the gate VMA was
- // found, otherwise returns false.
- static bool ContainsGateVMA(std::string* proc_maps, size_t pos) {
-@@ -44,15 +49,16 @@ static bool ContainsGateVMA(std::string* proc_maps, si
- return false;
- #endif
- }
-+#endif
-
- bool ReadProcMaps(std::string* proc_maps) {
- // seq_file only writes out a page-sized amount on each call. Refer to header
- // file for details.
- const long kReadSize = sysconf(_SC_PAGESIZE);
-
-- base::ScopedFD fd(HANDLE_EINTR(open("/proc/self/maps", O_RDONLY)));
-+ base::ScopedFD fd(HANDLE_EINTR(open(kProcSelfMapsPath, O_RDONLY)));
- if (!fd.is_valid()) {
-- DPLOG(ERROR) << "Couldn't open /proc/self/maps";
-+ DPLOG(ERROR) << "Couldn't open " << kProcSelfMapsPath;
- return false;
- }
- proc_maps->clear();
-@@ -66,7 +72,7 @@ bool ReadProcMaps(std::string* proc_maps) {
-
- ssize_t bytes_read = HANDLE_EINTR(read(fd.get(), buffer, kReadSize));
- if (bytes_read < 0) {
-- DPLOG(ERROR) << "Couldn't read /proc/self/maps";
-+ DPLOG(ERROR) << "Couldn't read " << kProcSelfMapsPath;
- proc_maps->clear();
- return false;
- }
-@@ -77,6 +83,7 @@ bool ReadProcMaps(std::string* proc_maps) {
- if (bytes_read == 0)
- break;
-
-+#if !defined(OS_BSD)
- // The gate VMA is handled as a special case after seq_file has finished
- // iterating through all entries in the virtual memory table.
- //
-@@ -87,6 +94,7 @@ bool ReadProcMaps(std::string* proc_maps) {
- // Avoid this by searching for the gate VMA and breaking early.
- if (ContainsGateVMA(proc_maps, pos))
- break;
-+#endif
- }
-
- return true;
-@@ -115,10 +123,32 @@ bool ParseProcMaps(const std::string& input,
- MappedMemoryRegion region;
- const char* line = lines[i].c_str();
- char permissions[5] = {'\0'}; // Ensure NUL-terminated string.
-+ int path_index = 0;
-+
-+#if defined(OS_BSD)
-+ if (lines[i].empty())
-+ continue;
-+
-+
-+ char cow;
-+
-+ // Format:
-+ //
-+ // start end resident private_resident obj perms ref_count shadow_count flags cow needs_copy type fullpath cred ruid
-+ // 0x200000 0x202000 2 6 0xfffff80005be9000 r-- 3 1 0x1000 COW NC vnode /bin/cat NCH -1
-+ //
-+ if (sscanf(line, "%" SCNxPTR " %" SCNxPTR " %*ld %*ld %*llx %3c %*d %*d %*x %c%*s %*s %*s %n",
-+ &region.start, &region.end, permissions, &cow, &path_index) < 4) {
-+ DPLOG(WARNING) << "sscanf failed for line: " << line;
-+ return false;
-+ }
-+
-+ const char* fullpath = line + path_index;
-+ const char* cred = strchr(fullpath, ' ');
-+#else
- uint8_t dev_major = 0;
- uint8_t dev_minor = 0;
- long inode = 0;
-- int path_index = 0;
-
- // Sample format from man 5 proc:
- //
-@@ -134,6 +164,7 @@ bool ParseProcMaps(const std::string& input,
- DPLOG(WARNING) << "sscanf failed for line: " << line;
- return false;
- }
-+#endif
-
- region.permissions = 0;
-
-@@ -152,14 +183,31 @@ bool ParseProcMaps(const std::string& input,
- else if (permissions[2] != '-')
- return false;
-
-+#if defined(OS_BSD)
-+ if (cow == 'C') {
-+ region.permissions |= MappedMemoryRegion::PRIVATE;
-+ } else if (cow != 'N') {
-+ DPLOG(WARNING) << "unknown value for COW in line " << line << ": " << cow;
-+ return false;
-+ }
-+#else
- if (permissions[3] == 'p')
- region.permissions |= MappedMemoryRegion::PRIVATE;
- else if (permissions[3] != 's' && permissions[3] != 'S') // Shared memory.
- return false;
-+#endif
-
- // Pushing then assigning saves us a string copy.
- regions.push_back(region);
-+#if defined(OS_BSD)
-+ if (cred != nullptr) {
-+ regions.back().path.assign(line + path_index, cred - fullpath);
-+ } else {
-+ regions.back().path.assign(line + path_index);
-+ }
-+#else
- regions.back().path.assign(line + path_index);
-+#endif
- }
-
- regions_out->swap(regions);
diff --git a/devel/electron11/files/patch-base_debug_stack__trace__posix.cc b/devel/electron11/files/patch-base_debug_stack__trace__posix.cc
deleted file mode 100644
index c577d9be2386..000000000000
--- a/devel/electron11/files/patch-base_debug_stack__trace__posix.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- base/debug/stack_trace_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/debug/stack_trace_posix.cc
-@@ -35,7 +35,7 @@
- #include <AvailabilityMacros.h>
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/debug/proc_maps_linux.h"
- #endif
-
-@@ -697,7 +697,11 @@ class SandboxSymbolizeHelper {
- // Skip regions with empty file names.
- continue;
- }
-+#if defined(OS_BSD)
-+ if (region.path[0] == '-') {
-+#else
- if (region.path[0] == '[') {
-+#endif
- // Skip pseudo-paths, like [stack], [vdso], [heap], etc ...
- continue;
- }
diff --git a/devel/electron11/files/patch-base_debug_stack__trace__unittest.cc b/devel/electron11/files/patch-base_debug_stack__trace__unittest.cc
deleted file mode 100644
index a9197d909df3..000000000000
--- a/devel/electron11/files/patch-base_debug_stack__trace__unittest.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- base/debug/stack_trace_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/debug/stack_trace_unittest.cc
-@@ -88,6 +88,7 @@ TEST_F(StackTraceTest, OutputToStream) {
- std::string::npos)
- << "Unable to resolve symbols.";
-
-+#if !defined(OS_BSD)
- // Expect a demangled symbol.
- // Note that Windows Release builds omit the function parameters from the
- // demangled stack output, otherwise this could be "testing::UnitTest::Run()".
-@@ -106,9 +107,10 @@ TEST_F(StackTraceTest, OutputToStream) {
- EXPECT_TRUE(backtrace_message.find(__func__) != std::string::npos)
- << "Expected to find " << __func__ << " in backtrace:\n"
- << backtrace_message;
-+#endif
- }
-
--#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
-+#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
- // Disabled in Official builds, where Link-Time Optimization can result in two
- // or fewer stack frames being available, causing the test to fail.
- TEST_F(StackTraceTest, TruncatedTrace) {
-@@ -122,7 +124,7 @@ TEST_F(StackTraceTest, TruncatedTrace) {
- truncated.Addresses(&count);
- EXPECT_EQ(2u, count);
- }
--#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
-+#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
-
- // The test is used for manual testing, e.g., to see the raw output.
- TEST_F(StackTraceTest, DebugOutputToStream) {
diff --git a/devel/electron11/files/patch-base_files_file__path__watcher__stub.cc b/devel/electron11/files/patch-base_files_file__path__watcher__stub.cc
deleted file mode 100644
index 74a2340a4012..000000000000
--- a/devel/electron11/files/patch-base_files_file__path__watcher__stub.cc
+++ /dev/null
@@ -1,53 +0,0 @@
---- base/files/file_path_watcher_stub.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/files/file_path_watcher_stub.cc
-@@ -1,14 +1,15 @@
--// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-+// Copyright 2014 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
--// This file exists for Unix systems which don't have the inotify headers, and
--// thus cannot build file_watcher_inotify.cc
-
--#include "base/files/file_path_watcher.h"
-+#include <memory>
-
-+#include "base/files/file_path_watcher.h"
-+#include "base/files/file_path_watcher_kqueue.h"
- #include "base/macros.h"
- #include "base/memory/ptr_util.h"
-+#include "build/build_config.h"
-
- namespace base {
-
-@@ -22,12 +23,29 @@ class FilePathWatcherImpl : public FilePathWatcher::Pl
- bool Watch(const FilePath& path,
- bool recursive,
- const FilePathWatcher::Callback& callback) override {
-+#if defined(OS_BSD)
-+ DCHECK(!impl_.get());
-+ if (recursive) {
-+ return false;
-+ } else {
-+ impl_ = std::make_unique<FilePathWatcherKQueue>();
-+ }
-+ DCHECK(impl_.get());
-+ return impl_->Watch(path, recursive, callback);
-+#else
- return false;
-+#endif
- }
-
-- void Cancel() override {}
-+ void Cancel() override {
-+ if (impl_.get())
-+ impl_->Cancel();
-+ set_cancelled();
-+ }
-
- private:
-+ std::unique_ptr<PlatformDelegate> impl_;
-+
- DISALLOW_COPY_AND_ASSIGN(FilePathWatcherImpl);
- };
-
diff --git a/devel/electron11/files/patch-base_files_file__path__watcher__unittest.cc b/devel/electron11/files/patch-base_files_file__path__watcher__unittest.cc
deleted file mode 100644
index 201724b919d5..000000000000
--- a/devel/electron11/files/patch-base_files_file__path__watcher__unittest.cc
+++ /dev/null
@@ -1,65 +0,0 @@
---- base/files/file_path_watcher_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/files/file_path_watcher_unittest.cc
-@@ -425,12 +425,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
- VLOG(1) << "Waiting for file1 creation";
- ASSERT_TRUE(WaitForEvents());
-
--#if !defined(OS_APPLE)
-+#if !defined(OS_APPLE) && !defined(OS_BSD)
- // Mac implementation does not detect files modified in a directory.
- ASSERT_TRUE(WriteFile(file1, "content v2"));
- VLOG(1) << "Waiting for file1 modification";
- ASSERT_TRUE(WaitForEvents());
--#endif // !OS_APPLE
-+#endif // !OS_APPLE && !OS_BSD
-
- ASSERT_TRUE(base::DeleteFile(file1));
- VLOG(1) << "Waiting for file1 deletion";
-@@ -632,7 +632,7 @@ TEST_F(FilePathWatcherTest, FileAttributesChanged) {
- ASSERT_TRUE(WaitForEvents());
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Verify that creating a symlink is caught.
- TEST_F(FilePathWatcherTest, CreateLink) {
-@@ -790,7 +790,7 @@ TEST_F(FilePathWatcherTest, LinkedDirectoryPart3) {
- ASSERT_TRUE(WaitForEvents());
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- enum Permission {
- Read,
-@@ -798,7 +798,7 @@ enum Permission {
- Execute
- };
-
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_BSD)
- bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) {
- struct stat stat_buf;
-
-@@ -827,9 +827,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi
- }
- return chmod(path.value().c_str(), stat_buf.st_mode) == 0;
- }
--#endif // defined(OS_APPLE)
-+#endif // defined(OS_APPLE) || defined(OS_BSD)
-
--#if defined(OS_APPLE)
-+#if defined(OS_APPLE) || defined(OS_BSD)
- // Linux implementation of FilePathWatcher doesn't catch attribute changes.
- // http://crbug.com/78043
- // Windows implementation of FilePathWatcher catches attribute changes that
-@@ -864,7 +864,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
- ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true));
- }
-
--#endif // OS_APPLE
-+#endif // OS_APPLE || OS_BSD
- } // namespace
-
- } // namespace base
diff --git a/devel/electron11/files/patch-base_files_file__util.h b/devel/electron11/files/patch-base_files_file__util.h
deleted file mode 100644
index 8f3edf16077e..000000000000
--- a/devel/electron11/files/patch-base_files_file__util.h
+++ /dev/null
@@ -1,28 +0,0 @@
---- base/files/file_util.h.orig 2021-01-07 00:36:18 UTC
-+++ base/files/file_util.h
-@@ -278,14 +278,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat
- BASE_EXPORT bool ExecutableExistsInPath(Environment* env,
- const FilePath::StringType& executable);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- // Determine if files under a given |path| can be mapped and then mprotect'd
- // PROT_EXEC. This depends on the mount options used for |path|, which vary
- // among different Linux distributions and possibly local configuration. It also
- // depends on details of kernel--ChromeOS uses the noexec option for /dev/shm
- // but its kernel allows mprotect with PROT_EXEC anyway.
- BASE_EXPORT bool IsPathExecutable(const FilePath& path);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
-
- #endif // OS_POSIX
-
-@@ -592,7 +592,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas
- // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
- BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- // Broad categories of file systems as returned by statfs() on Linux.
- enum FileSystemType {
- FILE_SYSTEM_UNKNOWN, // statfs failed.
diff --git a/devel/electron11/files/patch-base_files_file__util__posix.cc b/devel/electron11/files/patch-base_files_file__util__posix.cc
deleted file mode 100644
index 18518b55a2dc..000000000000
--- a/devel/electron11/files/patch-base_files_file__util__posix.cc
+++ /dev/null
@@ -1,60 +0,0 @@
---- base/files/file_util_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/files/file_util_posix.cc
-@@ -412,7 +412,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd,
- }
-
- bool CreateLocalNonBlockingPipe(int fds[2]) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
- #else
- int raw_fds[2];
-@@ -947,8 +947,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si
- // space. It can fail because the filesystem doesn't support it. In that case,
- // use the manual method below.
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-+#if defined(OS_BSD)
-+ if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1)
-+#else
- if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1)
-+#endif
- return true;
- DPLOG(ERROR) << "fallocate";
- #elif defined(OS_APPLE)
-@@ -1172,7 +1176,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
- // posix_fadvise() is only available in the Android NDK in API 21+. Older
- // versions may have the required kernel support, but don't have enough usage
- // to justify backporting.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- (defined(OS_ANDROID) && __ANDROID_API__ >= 21)
- File file(file_path, File::FLAG_OPEN | File::FLAG_READ);
- if (!file.IsValid())
-@@ -1208,7 +1212,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
- return internal::PreReadFileSlow(file_path, max_bytes)
- ? PrefetchResult{PrefetchResultCode::kSlowSuccess}
- : PrefetchResult{PrefetchResultCode::kSlowFailed};
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) &&
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) &&
- // __ANDROID_API__ >= 21)
- }
-
-@@ -1243,7 +1247,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP
-
- #endif // !defined(OS_NACL_NONSFI)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
- BASE_EXPORT bool IsPathExecutable(const FilePath& path) {
- bool result = false;
- FilePath tmp_file_path;
-@@ -1264,6 +1268,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path
- }
- return result;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
-
- } // namespace base
diff --git a/devel/electron11/files/patch-base_files_file__util__unittest.cc b/devel/electron11/files/patch-base_files_file__util__unittest.cc
deleted file mode 100644
index 9577c86180af..000000000000
--- a/devel/electron11/files/patch-base_files_file__util__unittest.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/files/file_util_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/files/file_util_unittest.cc
-@@ -1639,7 +1639,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) {
- #endif
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // This test will validate that files which would block when read result in a
- // failure on a call to ReadFileToStringNonBlocking. To accomplish this we will
- // use a named pipe because it appears as a file on disk and we can control how
-@@ -1672,7 +1672,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) {
- ASSERT_EQ(result.size(), 1u);
- EXPECT_EQ(result[0], 'a');
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- TEST_F(FileUtilTest, MoveFileNew) {
- // Create a file
-@@ -3507,7 +3507,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_POSIX) && !defined(OS_APPLE)
-+#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
- TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
- FilePath file_path("/proc/cpuinfo");
- std::string data = "temp";
-@@ -3525,7 +3525,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste
-
- EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4));
- }
--#endif // defined(OS_POSIX) && !defined(OS_APPLE)
-+#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
-
- TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) {
- std::string data(kLargeFileSize, 'c');
diff --git a/devel/electron11/files/patch-base_i18n_icu__util.cc b/devel/electron11/files/patch-base_i18n_icu__util.cc
deleted file mode 100644
index 5afef686d775..000000000000
--- a/devel/electron11/files/patch-base_i18n_icu__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/i18n/icu_util.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/i18n/icu_util.cc
-@@ -48,7 +48,7 @@
- #include "third_party/icu/source/common/unicode/unistr.h"
- #endif
-
--#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \
-+#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST))
- #include "third_party/icu/source/i18n/unicode/timezone.h"
- #endif
-@@ -341,7 +341,7 @@ void InitializeIcuTimeZone() {
- fuchsia::IntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization();
- icu::TimeZone::adoptDefault(
- icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id)));
--#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST)
-+#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMECAST)
- // To respond to the time zone change properly, the default time zone
- // cache in ICU has to be populated on starting up.
- // See TimeZoneMonitorLinux::NotifyClientsFromImpl().
diff --git a/devel/electron11/files/patch-base_linux__util.cc b/devel/electron11/files/patch-base_linux__util.cc
deleted file mode 100644
index ab2399d1c64e..000000000000
--- a/devel/electron11/files/patch-base_linux__util.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/linux_util.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/linux_util.cc
-@@ -15,6 +15,7 @@
-
- #include <iomanip>
- #include <memory>
-+#include <sstream>
-
- #include "base/files/dir_reader_posix.h"
- #include "base/files/file_util.h"
-@@ -78,6 +79,9 @@ class DistroNameGetter {
- public:
- DistroNameGetter() {
- static const char* const kFilesToCheck[] = {"/etc/os-release",
-+#if defined(OS_BSD)
-+ "/usr/local/etc/os-release",
-+#endif
- "/usr/lib/os-release"};
- for (const char* file : kFilesToCheck) {
- if (ReadDistroFromOSReleaseFile(file))
-@@ -134,6 +138,9 @@ void SetLinuxDistro(const std::string& distro) {
- }
-
- bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) {
-+#if defined(OS_BSD)
-+ return false;
-+#else
- // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22
- char buf[25];
- strings::SafeSPrintf(buf, "/proc/%d/task", pid);
-@@ -153,6 +160,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t
- }
-
- return true;
-+#endif
- }
-
- pid_t FindThreadIDWithSyscall(pid_t pid, const std::string& expected_data,
diff --git a/devel/electron11/files/patch-base_logging__unittest.cc b/devel/electron11/files/patch-base_logging__unittest.cc
deleted file mode 100644
index cb56e1326da6..000000000000
--- a/devel/electron11/files/patch-base_logging__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/logging_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/logging_unittest.cc
-@@ -29,7 +29,7 @@
- #include "base/posix/eintr_wrapper.h"
- #endif // OS_POSIX
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <ucontext.h>
- #endif
-
-@@ -559,7 +559,7 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo
- // need the arch-specific boilerplate below, which is inspired by breakpad.
- // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine.
- uintptr_t crash_addr = 0;
--#if defined(OS_MAC)
-+#if defined(OS_MAC) || defined(OS_BSD)
- crash_addr = reinterpret_cast<uintptr_t>(info->si_addr);
- #else // OS_*
- ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr);
diff --git a/devel/electron11/files/patch-base_memory_platform__shared__memory__region__posix.cc b/devel/electron11/files/patch-base_memory_platform__shared__memory__region__posix.cc
deleted file mode 100644
index 07c939874b74..000000000000
--- a/devel/electron11/files/patch-base_memory_platform__shared__memory__region__posix.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/memory/platform_shared_memory_region_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/memory/platform_shared_memory_region_posix.cc
-@@ -70,7 +70,7 @@ FDPair ScopedFDPair::get() const {
- return {fd.get(), readonly_fd.get()};
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // static
- ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) {
- PlatformSharedMemoryRegion region =
-@@ -79,7 +79,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion:
- return region.PassPlatformHandle().fd;
- return ScopedFD();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take(
-@@ -204,7 +204,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o
- // static
- PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
- size_t size
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ,
- bool executable
- #endif
-@@ -233,7 +233,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- // flag.
- FilePath directory;
- if (!GetShmemTempDir(
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- executable,
- #else
- false /* executable */,
diff --git a/devel/electron11/files/patch-base_process_launch.h b/devel/electron11/files/patch-base_process_launch.h
deleted file mode 100644
index 8ed81cf98af8..000000000000
--- a/devel/electron11/files/patch-base_process_launch.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/process/launch.h.orig 2021-01-07 00:36:18 UTC
-+++ base/process/launch.h
-@@ -180,7 +180,7 @@ struct BASE_EXPORT LaunchOptions {
- bool clear_environment = false;
- #endif // OS_WIN || OS_POSIX || OS_FUCHSIA
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // If non-zero, start the process using clone(), using flags as provided.
- // Unlike in clone, clone_flags may not contain a custom termination signal
- // that is sent to the parent when the child dies. The termination signal will
-@@ -193,7 +193,7 @@ struct BASE_EXPORT LaunchOptions {
-
- // Sets parent process death signal to SIGKILL.
- bool kill_on_parent_death = false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_MAC)
- // Mach ports that will be accessible to the child process. These are not
-@@ -408,7 +408,7 @@ BASE_EXPORT void RaiseProcessToHighPriority();
- // binary. This should not be called in production/released code.
- BASE_EXPORT LaunchOptions LaunchOptionsForTest();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD)
- // A wrapper for clone with fork-like behavior, meaning that it returns the
- // child's pid in the parent and 0 in the child. |flags|, |ptid|, and |ctid| are
- // as in the clone system call (the CLONE_VM flag is not supported).
diff --git a/devel/electron11/files/patch-base_process_launch__posix.cc b/devel/electron11/files/patch-base_process_launch__posix.cc
deleted file mode 100644
index ac15da5f01b7..000000000000
--- a/devel/electron11/files/patch-base_process_launch__posix.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- base/process/launch_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/launch_posix.cc
-@@ -65,6 +65,7 @@
- #error "macOS should use launch_mac.cc"
- #endif
-
-+#pragma weak environ
- extern char** environ;
-
- namespace base {
-@@ -228,6 +229,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap
- DirReaderPosix fd_dir(kFDDir);
- if (!fd_dir.IsValid()) {
- // Fallback case: Try every possible fd.
-+
-+#if defined(OS_FREEBSD)
-+ // CEM: blast away most of the range with closefrom(). A common use case
-+ // of this function only maps STDIN/STDOUT/STDERR and closefrom(3) is much
-+ // cheaper than x00,000 close(2) invocations with a high RLIMIT_NOFILE.
-+ //
-+ // In the other caller, it is still very likely that the fds we care about
-+ // are in relatively low number space and we can save hundreds of thousands
-+ // of syscalls.
-+ int max_valid_fd = -1;
-+ for (size_t j = 0; j < saved_mapping.size(); j++) {
-+ int fd = saved_mapping[j].dest;
-+ if (fd > max_valid_fd)
-+ max_valid_fd = fd;
-+ }
-+ if (max_valid_fd < STDERR_FILENO)
-+ max_valid_fd = STDERR_FILENO;
-+
-+ closefrom(max_valid_fd + 1);
-+ max_fds = static_cast<size_t>(max_valid_fd) + 1;
-+#endif
-+
- for (size_t i = 0; i < max_fds; ++i) {
- const int fd = static_cast<int>(i);
- if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO)
diff --git a/devel/electron11/files/patch-base_process_process__iterator__freebsd.cc b/devel/electron11/files/patch-base_process_process__iterator__freebsd.cc
deleted file mode 100644
index 795b52b61e4f..000000000000
--- a/devel/electron11/files/patch-base_process_process__iterator__freebsd.cc
+++ /dev/null
@@ -1,44 +0,0 @@
---- base/process/process_iterator_freebsd.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_iterator_freebsd.cc
-@@ -10,6 +10,10 @@
- #include <sys/sysctl.h>
- #include <unistd.h>
-
-+/* getuid() */
-+#include <unistd.h>
-+#include <sys/types.h>
-+
- #include "base/logging.h"
- #include "base/stl_util.h"
- #include "base/strings/string_split.h"
-@@ -40,7 +44,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
- num_of_kinfo_proc += 16;
- kinfo_procs_.resize(num_of_kinfo_proc);
- len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
-- if (sysctl(mib, base::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) {
-+ if (sysctl(mib, base::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) {
- // If we get a mem error, it just means we need a bigger buffer, so
- // loop around again. Anything else is a real error and give up.
- if (errno != ENOMEM) {
-@@ -72,18 +76,13 @@ bool ProcessIterator::CheckForNextProcess() {
- for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) {
- size_t length;
- struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_];
-- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid };
-+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid };
-
- if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB))
- continue;
-
-- length = 0;
-- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) {
-- LOG(ERROR) << "failed to figure out the buffer size for a command line";
-- continue;
-- }
--
-- data.resize(length);
-+ data.resize(ARG_MAX);
-+ length = ARG_MAX;
-
- if (sysctl(mib, base::size(mib), &data[0], &length, NULL, 0) < 0) {
- LOG(ERROR) << "failed to fetch a commandline";
diff --git a/devel/electron11/files/patch-base_process_process__linux.cc b/devel/electron11/files/patch-base_process_process__linux.cc
deleted file mode 100644
index b7c0a337dc5a..000000000000
--- a/devel/electron11/files/patch-base_process_process__linux.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- base/process/process_linux.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_linux.cc
-@@ -24,7 +24,9 @@ namespace base {
-
- namespace {
-
-+#if !defined(OS_BSD)
- const int kForegroundPriority = 0;
-+#endif
-
- #if defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
- // We are more aggressive in our lowering of background process priority
-@@ -69,7 +71,7 @@ struct CGroups {
- return groups;
- }
- };
--#else
-+#elif !defined(OS_BSD)
- const int kBackgroundPriority = 5;
- #endif // defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
-
-@@ -96,13 +98,18 @@ Time Process::CreationTime() const {
- if (!start_ticks)
- return Time();
-
-+#if defined(OS_BSD)
-+ return Time::FromTimeT(start_ticks);
-+#else
- TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks);
- Time boot_time = internal::GetBootTime();
- if (boot_time.is_null())
- return Time();
- return Time(boot_time + start_offset);
-+#endif
- }
-
-+#if !defined(OS_BSD)
- // static
- bool Process::CanBackgroundProcesses() {
- #if defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
-@@ -154,6 +161,7 @@ bool Process::SetProcessBackgrounded(bool background)
- DPCHECK(result == 0);
- return result == 0;
- }
-+#endif // !defined(OS_BSD)
-
- #if defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
- bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) {
diff --git a/devel/electron11/files/patch-base_process_process__metrics.cc b/devel/electron11/files/patch-base_process_process__metrics.cc
deleted file mode 100644
index fb7aea7df066..000000000000
--- a/devel/electron11/files/patch-base_process_process__metrics.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/process/process_metrics.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_metrics.cc
-@@ -49,7 +49,7 @@ SystemMetrics SystemMetrics::Sample() {
- SystemMetrics system_metrics;
-
- system_metrics.committed_memory_ = GetSystemCommitCharge();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- GetSystemMemoryInfo(&system_metrics.memory_info_);
- GetVmStatInfo(&system_metrics.vmstat_info_);
- GetSystemDiskInfo(&system_metrics.disk_info_);
-@@ -68,7 +68,7 @@ std::unique_ptr<Value> SystemMetrics::ToValue() const
- std::unique_ptr<DictionaryValue> res(new DictionaryValue());
-
- res->SetIntKey("committed_memory", static_cast<int>(committed_memory_));
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- std::unique_ptr<DictionaryValue> meminfo = memory_info_.ToValue();
- std::unique_ptr<DictionaryValue> vmstat = vmstat_info_.ToValue();
- meminfo->MergeDictionary(vmstat.get());
-@@ -119,7 +119,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
- }
- #endif
-
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
- int ProcessMetrics::CalculateIdleWakeupsPerSecond(
- uint64_t absolute_idle_wakeups) {
-@@ -132,7 +132,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() {
- NOTIMPLEMENTED(); // http://crbug.com/120488
- return 0;
- }
--#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- #if defined(OS_APPLE)
diff --git a/devel/electron11/files/patch-base_process_process__metrics.h b/devel/electron11/files/patch-base_process_process__metrics.h
deleted file mode 100644
index 4b07263bd077..000000000000
--- a/devel/electron11/files/patch-base_process_process__metrics.h
+++ /dev/null
@@ -1,163 +0,0 @@
---- base/process/process_metrics.h.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_metrics.h
-@@ -47,7 +47,7 @@ namespace base {
- // Full declaration is in process_metrics_iocounters.h.
- struct IoCounters;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // Minor and major page fault counts since the process creation.
- // Both counts are process-wide, and exclude child processes.
- //
-@@ -57,7 +57,7 @@ struct PageFaultCounts {
- int64_t minor;
- int64_t major;
- };
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Convert a POSIX timeval to microseconds.
- BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv);
-@@ -98,7 +98,7 @@ class BASE_EXPORT ProcessMetrics {
- // convenience wrapper for CreateProcessMetrics().
- static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // Resident Set Size is a Linux/Android specific memory concept. Do not
- // attempt to extend this to other platforms.
- BASE_EXPORT size_t GetResidentSetSize() const;
-@@ -124,7 +124,7 @@ class BASE_EXPORT ProcessMetrics {
- // will result in a time delta of 2 seconds/per 1 wall-clock second.
- TimeDelta GetCumulativeCPUUsage();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- // Emits the cumulative CPU usage for all currently active threads since they
- // were started into the output parameter (replacing its current contents).
-@@ -159,7 +159,7 @@ class BASE_EXPORT ProcessMetrics {
- bool ParseProcTimeInState(const std::string& content,
- PlatformThreadId tid,
- TimeInStatePerThread& time_in_state_per_thread);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- // Returns the number of average idle cpu wakeups per second since the last
-@@ -216,14 +216,14 @@ class BASE_EXPORT ProcessMetrics {
- int GetOpenFdSoftLimit() const;
- #endif // defined(OS_POSIX)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- // Bytes of swap as reported by /proc/[pid]/status.
- uint64_t GetVmSwapBytes() const;
-
- // Minor and major page fault count as reported by /proc/[pid]/stat.
- // Returns true for success.
- bool GetPageFaultCounts(PageFaultCounts* counts) const;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Returns total memory usage of malloc.
- size_t GetMallocUsage();
-@@ -235,7 +235,7 @@ class BASE_EXPORT ProcessMetrics {
- ProcessMetrics(ProcessHandle process, PortProvider* port_provider);
- #endif // !defined(OS_MAC)
-
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
- int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
- #endif
-@@ -246,10 +246,10 @@ class BASE_EXPORT ProcessMetrics {
- uint64_t absolute_package_idle_wakeups);
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- CPU::CoreType GetCoreType(int core_index);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- #if defined(OS_WIN)
-@@ -271,7 +271,7 @@ class BASE_EXPORT ProcessMetrics {
- // Number of bytes transferred to/from disk in bytes.
- uint64_t last_cumulative_disk_usage_ = 0;
-
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX)
- // Same thing for idle wakeups.
- TimeTicks last_idle_wakeups_time_;
-@@ -323,7 +323,7 @@ BASE_EXPORT size_t GetHandleLimit();
- BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors);
- #endif // defined(OS_POSIX)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_AIX) || \
- defined(OS_FUCHSIA)
- // Data about system-wide memory consumption. Values are in KB. Available on
-@@ -358,7 +358,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int avail_phys = 0;
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- // This provides an estimate of available memory as described here:
- // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
-@@ -373,7 +373,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int swap_free = 0;
- #endif
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_AIX) || defined(OS_FUCHSIA)
- int buffers = 0;
- int cached = 0;
-@@ -383,7 +383,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int inactive_file = 0;
- int dirty = 0;
- int reclaimable = 0;
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_AIX) defined(OS_FUCHSIA)
-
- #if defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
-@@ -406,11 +406,11 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- // Exposed for memory debugging widget.
- BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo);
-
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) defined(OS_ANDROID) || defined(OS_AIX) ||
- // defined(OS_FUCHSIA)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_AIX)
- // Parse the data found in /proc/<pid>/stat and return the sum of the
- // CPU-related ticks. Returns -1 on parse error.
-@@ -485,7 +485,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis
- // Returns the amount of time spent in user space since boot across all CPUs.
- BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot();
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
- // defined(OS_AIX)
-
- #if defined(OS_CHROMEOS) || BUILDFLAG(IS_LACROS)
-@@ -597,7 +597,7 @@ class BASE_EXPORT SystemMetrics {
- FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics);
-
- size_t committed_memory_;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- SystemMemoryInfoKB memory_info_;
- VmStatInfo vmstat_info_;
- SystemDiskInfo disk_info_;
diff --git a/devel/electron11/files/patch-base_process_process__unittest.cc b/devel/electron11/files/patch-base_process_process__unittest.cc
deleted file mode 100644
index cd96cb8112d3..000000000000
--- a/devel/electron11/files/patch-base_process_process__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/process_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_unittest.cc
-@@ -153,7 +153,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
- // was spawned and a time recorded after it was spawned. However, since the
- // base::Time and process creation clocks don't match, tolerate some error.
- constexpr base::TimeDelta kTolerance =
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Linux, process creation time is relative to boot time which has a
- // 1-second resolution. Tolerate 1 second for the imprecise boot time and
- // 100 ms for the imprecise clock.
diff --git a/devel/electron11/files/patch-base_process_process__util__unittest.cc b/devel/electron11/files/patch-base_process_process__util__unittest.cc
deleted file mode 100644
index a0fdfd1dda29..000000000000
--- a/devel/electron11/files/patch-base_process_process__util__unittest.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/process/process_util_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/process/process_util_unittest.cc
-@@ -1307,11 +1307,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli
- options.fds_to_remap.emplace_back(fds[1], STDOUT_FILENO);
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- options.clone_flags = clone_flags;
- #else
- CHECK_EQ(0, clone_flags);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid());
- write_pipe.Close();
diff --git a/devel/electron11/files/patch-base_profiler_stack__copier__signal.cc b/devel/electron11/files/patch-base_profiler_stack__copier__signal.cc
deleted file mode 100644
index b39af9d32855..000000000000
--- a/devel/electron11/files/patch-base_profiler_stack__copier__signal.cc
+++ /dev/null
@@ -1,63 +0,0 @@
---- base/profiler/stack_copier_signal.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/profiler/stack_copier_signal.cc
-@@ -4,7 +4,14 @@
-
- #include "base/profiler/stack_copier_signal.h"
-
-+#if defined(OS_LINUX)
- #include <linux/futex.h>
-+#include <syscall.h>
-+#elif defined(OS_FREEBSD)
-+#include <sys/types.h>
-+#include <sys/thr.h>
-+#include <sys/umtx.h>
-+#endif
- #include <signal.h>
- #include <sys/ucontext.h>
- #include <syscall.h>
-@@ -34,8 +41,13 @@ class AsyncSafeWaitableEvent {
- // for a pthread mutex. So, also check the condition.
- while (true) {
- int res =
-+#if defined(OS_LINUX)
- syscall(SYS_futex, futex_int_ptr(), FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
- 0, nullptr, nullptr, 0);
-+#elif defined(OS_FREEBSD)
-+ _umtx_op(futex_int_ptr(), UMTX_OP_WAIT_UINT_PRIVATE, 0, nullptr,
-+ nullptr);
-+#endif
- if (futex_.load(std::memory_order_acquire) != 0)
- return true;
- if (res != 0)
-@@ -45,8 +57,12 @@ class AsyncSafeWaitableEvent {
-
- void Signal() {
- futex_.store(1, std::memory_order_release);
-+#if defined(OS_LINUX)
- syscall(SYS_futex, futex_int_ptr(), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1,
- nullptr, nullptr, 0);
-+#elif defined(OS_FREEBSD)
-+ _umtx_op(futex_int_ptr(), UMTX_OP_WAKE_PRIVATE, 1, nullptr, nullptr);
-+#endif
- }
-
- private:
-@@ -216,11 +232,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b
- if (!scoped_sigaction.succeeded())
- return false;
-
-+#if defined(OS_LINUX)
- if (syscall(SYS_tgkill, getpid(), thread_delegate_->GetThreadId(),
- SIGURG) != 0) {
- NOTREACHED();
- return false;
- }
-+#elif defined(OS_FREEBSD)
-+ if (thr_kill2(getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) {
-+ NOTREACHED();
-+ return false;
-+ }
-+#endif
- bool finished_waiting = wait_event.Wait();
- TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cpu_profiler.debug"),
- "StackCopierSignal copy stack");
diff --git a/devel/electron11/files/patch-base_system_sys__info.cc b/devel/electron11/files/patch-base_system_sys__info.cc
deleted file mode 100644
index d7e8ddfddf48..000000000000
--- a/devel/electron11/files/patch-base_system_sys__info.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/system/sys_info.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/system/sys_info.cc
-@@ -104,7 +104,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void(
- #elif defined(OS_ANDROID) || defined(OS_APPLE)
- base::ThreadPool::PostTaskAndReplyWithResult(
- FROM_HERE, {}, base::BindOnce(&GetHardwareInfoSync), std::move(callback));
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::ThreadPool::PostTaskAndReplyWithResult(
- FROM_HERE, {base::MayBlock()}, base::BindOnce(&GetHardwareInfoSync),
- std::move(callback));
diff --git a/devel/electron11/files/patch-base_system_sys__info__posix.cc b/devel/electron11/files/patch-base_system_sys__info__posix.cc
deleted file mode 100644
index d912d2a54611..000000000000
--- a/devel/electron11/files/patch-base_system_sys__info__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/system/sys_info_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/system/sys_info_posix.cc
-@@ -223,6 +223,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
- arch = "x86";
- } else if (arch == "amd64") {
- arch = "x86_64";
-+ } else if (arch == "arm64") {
-+ arch = "aarch64";
- } else if (std::string(info.sysname) == "AIX") {
- arch = "ppc64";
- }
diff --git a/devel/electron11/files/patch-base_system_sys__info__unittest.cc b/devel/electron11/files/patch-base_system_sys__info__unittest.cc
deleted file mode 100644
index 40f9e10d3a2e..000000000000
--- a/devel/electron11/files/patch-base_system_sys__info__unittest.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- base/system/sys_info_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/system/sys_info_unittest.cc
-@@ -50,13 +50,13 @@ TEST_F(SysInfoTest, AmountOfMem) {
- EXPECT_GE(SysInfo::AmountOfVirtualMemory(), 0);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define MAYBE_AmountOfAvailablePhysicalMemory \
- DISABLED_AmountOfAvailablePhysicalMemory
- #else
- #define MAYBE_AmountOfAvailablePhysicalMemory AmountOfAvailablePhysicalMemory
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMemory) {
- // Note: info is in _K_bytes.
- SystemMemoryInfoKB info;
-@@ -87,7 +87,7 @@ TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMem
- EXPECT_GT(amount, static_cast<int64_t>(info.free) * 1024);
- EXPECT_LT(amount / 1024, info.total);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSDD)
-
- #if defined(OS_FUCHSIA)
- // TODO(crbug.com/851734): Implementation depends on statvfs, which is not
-@@ -117,7 +117,7 @@ TEST_F(SysInfoTest, MAYBE_AmountOfTotalDiskSpace) {
- EXPECT_GT(SysInfo::AmountOfTotalDiskSpace(tmp_path), 0) << tmp_path.value();
- }
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
- TEST_F(SysInfoTest, OperatingSystemVersionNumbers) {
- int32_t os_major_version = -1;
-@@ -178,7 +178,7 @@ TEST_F(SysInfoTest, GetHardwareInfo) {
- EXPECT_TRUE(IsStringUTF8(hardware_info->model));
- bool empty_result_expected =
- #if defined(OS_ANDROID) || defined(OS_APPLE) || defined(OS_WIN) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- false;
- #else
- true;
diff --git a/devel/electron11/files/patch-base_test_BUILD.gn b/devel/electron11/files/patch-base_test_BUILD.gn
deleted file mode 100644
index 68d0c04140cf..000000000000
--- a/devel/electron11/files/patch-base_test_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- base/test/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ base/test/BUILD.gn
-@@ -415,7 +415,11 @@ if (is_linux || is_chromeos) {
-
- copy("fonts_conf") {
- sources = [ "fonts.conf" ]
-- outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ]
-+ if (is_bsd) {
-+ outputs = [ "${root_build_dir}/usr/local/etc/fonts/{{source_file_part}}" ]
-+ } else {
-+ outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ]
-+ }
- }
-
- if (current_toolchain == host_toolchain) {
diff --git a/devel/electron11/files/patch-base_test_launcher_test__launcher.cc b/devel/electron11/files/patch-base_test_launcher_test__launcher.cc
deleted file mode 100644
index ab021b33faf7..000000000000
--- a/devel/electron11/files/patch-base_test_launcher_test__launcher.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- base/test/launcher/test_launcher.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/test/launcher/test_launcher.cc
-@@ -58,6 +58,7 @@
- #include "testing/gtest/include/gtest/gtest.h"
-
- #if defined(OS_POSIX)
-+#include <signal.h>
- #include <fcntl.h>
-
- #include "base/files/file_descriptor_watcher_posix.h"
-@@ -588,7 +589,7 @@ ChildProcessResults DoLaunchChildTestProcess(
- #if !defined(OS_FUCHSIA)
- options.new_process_group = true;
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- options.kill_on_parent_death = true;
- #endif
-
-@@ -1529,7 +1530,7 @@ bool TestLauncher::Init(CommandLine* command_line) {
- results_tracker_.AddGlobalTag("OS_IOS");
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- results_tracker_.AddGlobalTag("OS_LINUX");
- #endif
-
diff --git a/devel/electron11/files/patch-base_threading_platform__thread.h b/devel/electron11/files/patch-base_threading_platform__thread.h
deleted file mode 100644
index 083ae5e5a057..000000000000
--- a/devel/electron11/files/patch-base_threading_platform__thread.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/threading/platform_thread.h.orig 2021-01-07 00:36:18 UTC
-+++ base/threading/platform_thread.h
-@@ -230,7 +230,7 @@ class BASE_EXPORT PlatformThread {
- // Returns a realtime period provided by |delegate|.
- static TimeDelta GetRealtimePeriod(Delegate* delegate);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Toggles a specific thread's priority at runtime. This can be used to
- // change the priority of a thread in a different process and will fail
- // if the calling process does not have proper permissions. The
diff --git a/devel/electron11/files/patch-base_threading_platform__thread__linux.cc b/devel/electron11/files/patch-base_threading_platform__thread__linux.cc
deleted file mode 100644
index 961985c4fefd..000000000000
--- a/devel/electron11/files/patch-base_threading_platform__thread__linux.cc
+++ /dev/null
@@ -1,30 +0,0 @@
---- base/threading/platform_thread_linux.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/threading/platform_thread_linux.cc
-@@ -24,7 +24,9 @@
-
- #if !defined(OS_NACL) && !defined(OS_AIX)
- #include <pthread.h>
-+#if !defined(OS_BSD)
- #include <sys/prctl.h>
-+#endif
- #include <sys/resource.h>
- #include <sys/time.h>
- #include <sys/types.h>
-@@ -264,7 +266,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN
-
- Optional<bool> CanIncreaseCurrentThreadPriorityForPlatform(
- ThreadPriority priority) {
--#if !defined(OS_NACL)
-+#if !defined(OS_NACL) && !defined(OS_BSD)
- // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke
- // pthread_setschedparam in SetCurrentThreadPriorityForPlatform().
- struct rlimit rlim;
-@@ -314,7 +316,7 @@ Optional<ThreadPriority> GetCurrentThreadPriorityForPl
- void PlatformThread::SetName(const std::string& name) {
- ThreadIdNameManager::GetInstance()->SetName(name);
-
--#if !defined(OS_NACL) && !defined(OS_AIX)
-+#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
- // On linux we can get the thread names to show up in the debugger by setting
- // the process name for the LWP. We don't want to do this for the main
- // thread because that would rename the process, causing tools like killall
diff --git a/devel/electron11/files/patch-base_threading_platform__thread__posix.cc b/devel/electron11/files/patch-base_threading_platform__thread__posix.cc
deleted file mode 100644
index 4e2b3ef267fa..000000000000
--- a/devel/electron11/files/patch-base_threading_platform__thread__posix.cc
+++ /dev/null
@@ -1,54 +0,0 @@
---- base/threading/platform_thread_posix.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/threading/platform_thread_posix.cc
-@@ -32,6 +32,10 @@
- #include <sys/syscall.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(OS_FUCHSIA)
- #include <zircon/process.h>
- #else
-@@ -141,7 +145,7 @@ bool CreateThread(size_t stack_size,
- return success;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Store the thread ids in local storage since calling the SWI can
- // expensive and PlatformThread::CurrentId is used liberally. Clear
-@@ -159,11 +163,11 @@ class InitAtFork {
- InitAtFork() { pthread_atfork(nullptr, nullptr, internal::ClearTidCache); }
- };
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSSD)
-
- } // namespace
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace internal {
-
-@@ -173,7 +177,7 @@ void ClearTidCache() {
-
- } // namespace internal
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- PlatformThreadId PlatformThread::CurrentId() {
-@@ -181,6 +185,8 @@ PlatformThreadId PlatformThread::CurrentId() {
- // into the kernel.
- #if defined(OS_APPLE)
- return pthread_mach_thread_np(pthread_self());
-+#elif defined(OS_BSD)
-+ return pthread_getthreadid_np();
- #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
- static NoDestructor<InitAtFork> init_at_fork;
- if (g_thread_id == -1) {
diff --git a/devel/electron11/files/patch-base_threading_platform__thread__unittest.cc b/devel/electron11/files/patch-base_threading_platform__thread__unittest.cc
deleted file mode 100644
index d855c6c4f35e..000000000000
--- a/devel/electron11/files/patch-base_threading_platform__thread__unittest.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- base/threading/platform_thread_unittest.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/threading/platform_thread_unittest.cc
-@@ -311,7 +311,7 @@ TEST(PlatformThreadTest,
- // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
- // proprerty changes for a given platform.
- TEST(PlatformThreadTest, CanIncreaseThreadPriority) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
- // able to increase priority to any level.
- constexpr bool kCanIncreasePriority = false;
-@@ -405,9 +405,9 @@ TEST(PlatformThreadTest, SetHugeThreadName) {
-
- TEST(PlatformThreadTest, GetDefaultThreadStackSize) {
- size_t stack_size = PlatformThread::GetDefaultThreadStackSize();
--#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-- !defined(THREAD_SANITIZER)) || \
-+#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
-+ !defined(THREAD_SANITIZER)) || \
- (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER))
- EXPECT_EQ(0u, stack_size);
- #else
diff --git a/devel/electron11/files/patch-base_threading_thread__task__runner__handle.cc b/devel/electron11/files/patch-base_threading_thread__task__runner__handle.cc
deleted file mode 100644
index 1088b34bb8f5..000000000000
--- a/devel/electron11/files/patch-base_threading_thread__task__runner__handle.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- base/threading/thread_task_runner_handle.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/threading/thread_task_runner_handle.cc
-@@ -8,6 +8,7 @@
- #include <utility>
-
- #include "base/bind.h"
-+#include "base/callback_helpers.h"
- #include "base/check_op.h"
- #include "base/lazy_instance.h"
- #include "base/run_loop.h"
-@@ -38,6 +39,7 @@ bool ThreadTaskRunnerHandle::IsSet() {
- return !!thread_task_runner_tls.Pointer()->Get();
- }
-
-+#if defined(OS_BSD)
- // static
- ScopedClosureRunner ThreadTaskRunnerHandle::OverrideForTesting(
- scoped_refptr<SingleThreadTaskRunner> overriding_task_runner) {
-@@ -82,6 +84,7 @@ ScopedClosureRunner ThreadTaskRunnerHandle::OverrideFo
- base::Unretained(ttrh->task_runner_.get()),
- std::move(no_running_during_override)));
- }
-+#endif
-
- ThreadTaskRunnerHandle::ThreadTaskRunnerHandle(
- scoped_refptr<SingleThreadTaskRunner> task_runner)
diff --git a/devel/electron11/files/patch-base_trace__event_malloc__dump__provider.cc b/devel/electron11/files/patch-base_trace__event_malloc__dump__provider.cc
deleted file mode 100644
index beb5858fd291..000000000000
--- a/devel/electron11/files/patch-base_trace__event_malloc__dump__provider.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- base/trace_event/malloc_dump_provider.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/trace_event/malloc_dump_provider.cc
-@@ -17,6 +17,8 @@
-
- #if defined(OS_APPLE)
- #include <malloc/malloc.h>
-+#elif defined(OS_BSD)
-+#include <stdlib.h>
- #else
- #include <malloc.h>
- #endif
-@@ -132,6 +134,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump
- }
- #elif defined(OS_FUCHSIA)
- // TODO(fuchsia): Port, see https://crbug.com/706592.
-+#elif defined(OS_BSD)
-+ total_virtual_size = 0;
-+ allocated_objects_size = 0;
- #else
- struct mallinfo info = mallinfo();
- // In case of Android's jemalloc |arena| is 0 and the outer pages size is
diff --git a/devel/electron11/files/patch-base_trace__event_process__memory__dump.cc b/devel/electron11/files/patch-base_trace__event_process__memory__dump.cc
deleted file mode 100644
index 4111bdac8fb9..000000000000
--- a/devel/electron11/files/patch-base_trace__event_process__memory__dump.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/trace_event/process_memory_dump.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/trace_event/process_memory_dump.cc
-@@ -95,7 +95,7 @@ size_t ProcessMemoryDump::CountResidentBytes(void* sta
- #if defined(OS_WIN)
- std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec(
- new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]);
--#elif defined(OS_APPLE)
-+#elif defined(OS_APPLE) || defined(OS_BSD)
- std::unique_ptr<char[]> vec(new char[max_vec_size]);
- #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
- std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]);
diff --git a/devel/electron11/files/patch-base_trace__event_process__memory__dump.h b/devel/electron11/files/patch-base_trace__event_process__memory__dump.h
deleted file mode 100644
index 6115a7a75549..000000000000
--- a/devel/electron11/files/patch-base_trace__event_process__memory__dump.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/trace_event/process_memory_dump.h.orig 2021-01-07 00:36:18 UTC
-+++ base/trace_event/process_memory_dump.h
-@@ -22,7 +22,7 @@
-
- // Define COUNT_RESIDENT_BYTES_SUPPORTED if platform supports counting of the
- // resident memory.
--#if !defined(OS_NACL)
-+#if !defined(OS_NACL) && !defined(OS_BSD)
- #define COUNT_RESIDENT_BYTES_SUPPORTED
- #endif
-
diff --git a/devel/electron11/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc b/devel/electron11/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc
deleted file mode 100644
index d91e4e66ed71..000000000000
--- a/devel/electron11/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/util/memory_pressure/system_memory_pressure_evaluator.cc.orig 2021-01-07 00:36:18 UTC
-+++ base/util/memory_pressure/system_memory_pressure_evaluator.cc
-@@ -14,7 +14,7 @@
- #elif defined(OS_WIN)
- #include "base/util/memory_pressure/system_memory_pressure_evaluator_win.h"
- #include "base/win/windows_version.h"
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "base/util/memory_pressure/system_memory_pressure_evaluator_linux.h"
- #endif
-
-@@ -45,7 +45,7 @@ SystemMemoryPressureEvaluator::CreateDefaultSystemEval
- evaluator->CreateOSSignalPressureEvaluator(monitor->CreateVoter());
- }
- return evaluator;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return std::make_unique<util::os_linux::SystemMemoryPressureEvaluator>(
- monitor->CreateVoter());
- #endif
diff --git a/devel/electron11/files/patch-build_config_BUILD.gn b/devel/electron11/files/patch-build_config_BUILD.gn
deleted file mode 100644
index cd54618fa830..000000000000
--- a/devel/electron11/files/patch-build_config_BUILD.gn
+++ /dev/null
@@ -1,30 +0,0 @@
---- build/config/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ build/config/BUILD.gn
-@@ -133,7 +133,7 @@ config("debug") {
- # builds, and we have to tell it to turn it off.
- defines += [ "_HAS_ITERATOR_DEBUGGING=0" ]
- }
-- } else if ((is_linux || is_chromeos) && current_cpu == "x64" && enable_iterator_debugging) {
-+ } else if ((is_linux || is_chromeos || is_bsd) && current_cpu == "x64" && enable_iterator_debugging) {
- # Enable libstdc++ debugging facilities to help catch problems early, see
- # http://crbug.com/65151 .
- # TODO(phajdan.jr): Should we enable this for all of POSIX?
-@@ -231,9 +231,7 @@ config("default_libs") {
- ]
- } else if (is_linux || is_chromeos) {
- libs = [
-- "dl",
- "pthread",
-- "rt",
- ]
- }
- }
-@@ -316,7 +314,7 @@ config("executable_config") {
- "//build/config/ios:ios_dynamic_flags",
- "//build/config/ios:ios_executable_flags",
- ]
-- } else if (is_linux || is_chromeos || is_android || current_os == "aix") {
-+ } else if (is_linux || is_bsd || is_chromeos || is_android || current_os == "aix") {
- configs += [ "//build/config/gcc:executable_config" ]
- if (is_chromecast) {
- configs += [ "//build/config/chromecast:executable_config" ]
diff --git a/devel/electron11/files/patch-build_config_BUILDCONFIG.gn b/devel/electron11/files/patch-build_config_BUILDCONFIG.gn
deleted file mode 100644
index 013ae30556ad..000000000000
--- a/devel/electron11/files/patch-build_config_BUILDCONFIG.gn
+++ /dev/null
@@ -1,48 +0,0 @@
---- build/config/BUILDCONFIG.gn.orig 2021-01-25 11:26:59 UTC
-+++ build/config/BUILDCONFIG.gn
-@@ -134,10 +134,10 @@ declare_args() {
- is_official_build = false
-
- # Whether we're a traditional desktop unix.
-- is_desktop_linux = current_os == "linux"
-+ is_desktop_linux = current_os == "linux" || current_os == "freebsd"
-
- # Set to true when compiling with the Clang compiler.
-- is_clang = current_os != "linux" ||
-+ is_clang = current_os != "linux" || current_os == "freebsd" ||
- (current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc" &&
- current_cpu != "mips" && current_cpu != "mips64")
-@@ -189,8 +189,8 @@ if (host_toolchain == "") {
- # TODO(dpranke): Add some sort of assert here that verifies that
- # no toolchain omitted host_toolchain from its toolchain_args().
-
-- if (host_os == "linux") {
-- if (target_os != "linux") {
-+ if (host_os == "linux" || host_os == "freebsd") {
-+ if (target_os != "linux" && target_os != "freebsd") {
- host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
- } else if (is_clang) {
- host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
-@@ -227,7 +227,7 @@ if (target_os == "android") {
- assert(host_os == "linux" || host_os == "mac",
- "Android builds are only supported on Linux and Mac hosts.")
- _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
--} else if (target_os == "chromeos" || target_os == "linux") {
-+} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") {
- # See comments in build/toolchain/cros/BUILD.gn about board compiles.
- if (is_clang) {
- _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
-@@ -288,10 +288,11 @@ if (custom_toolchain != "") {
- # current_os value directly.
-
- is_android = current_os == "android"
-+is_bsd = current_os == "freebsd"
- is_chromeos = current_os == "chromeos"
- is_fuchsia = current_os == "fuchsia"
- is_ios = current_os == "ios"
--is_linux = current_os == "linux"
-+is_linux = current_os == "linux" || current_os == "freebsd"
- is_mac = current_os == "mac"
- is_nacl = current_os == "nacl"
- is_win = current_os == "win" || current_os == "winuwp"
diff --git a/devel/electron11/files/patch-build_config_compiler_BUILD.gn b/devel/electron11/files/patch-build_config_compiler_BUILD.gn
deleted file mode 100644
index ecb7e389977e..000000000000
--- a/devel/electron11/files/patch-build_config_compiler_BUILD.gn
+++ /dev/null
@@ -1,106 +0,0 @@
---- build/config/compiler/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ build/config/compiler/BUILD.gn
-@@ -128,7 +128,7 @@ declare_args() {
- #
- # TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may
- # call an old clang that doesn't support auto-init.
-- init_stack_vars = !is_android && !use_xcode_clang
-+ init_stack_vars = !is_android && !use_xcode_clang && !is_bsd
-
- # This argument is to control whether enabling text section splitting in the
- # final binary. When enabled, the separated text sections with prefix
-@@ -291,7 +291,7 @@ config("compiler") {
- }
-
- # Linker warnings.
-- if (fatal_linker_warnings && !is_apple && current_os != "aix") {
-+ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") {
- ldflags += [ "-Wl,--fatal-warnings" ]
- }
- if (fatal_linker_warnings && is_apple &&
-@@ -389,7 +389,7 @@ config("compiler") {
-
- # Compiler instrumentation can introduce dependencies in DSOs to symbols in
- # the executable they are loaded into, so they are unresolved at link-time.
-- if (!using_sanitizer) {
-+ if (!using_sanitizer && !is_bsd) {
- ldflags += [
- "-Wl,-z,defs",
- "-Wl,--as-needed",
-@@ -480,7 +480,7 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && !use_xcode_clang) {
-+ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-
- cflags += [
-@@ -776,7 +776,7 @@ config("compiler_cpu_abi") {
- cflags += [ "-mtune=$arm_tune" ]
- }
- } else if (current_cpu == "arm64") {
-- if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
-+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) {
- cflags += [ "--target=aarch64-linux-gnu" ]
- ldflags += [ "--target=aarch64-linux-gnu" ]
- }
-@@ -1129,7 +1129,7 @@ config("compiler_deterministic") {
- "-Xclang",
- ".",
- ]
-- if (!is_win) {
-+ if (!is_win && !is_bsd) {
- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
- }
-@@ -1512,7 +1512,7 @@ config("default_warnings") {
- cflags += [ "-Wno-nonportable-include-path" ]
- }
-
-- if (current_toolchain == host_toolchain || !use_xcode_clang) {
-+ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
- # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
- # recognize.
- cflags += [
-@@ -1686,7 +1686,7 @@ config("no_chromium_code") {
- # suppressing them individually, we just blanket suppress them here.
- "-Wno-unused-variable",
- ]
-- if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) {
-+ if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
- cflags += [
- # TODO(https://crbug.com/1031169): Clean up and enable.
- "-Wno-misleading-indentation",
-@@ -1764,7 +1764,7 @@ config("thin_archive") {
- # Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't
- # have a "thin archive" mode (it does accept -T, but it means truncating
- # archive names to 16 characters, which is not what we want).
-- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
-+ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) {
- arflags = [ "-T" ]
- } else if (is_win && use_lld) {
- arflags = [ "/llvmlibthin" ]
-@@ -2297,11 +2297,11 @@ config("symbols") {
- # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
- # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
- if (!is_nacl || is_clang) {
-- cflags += [ "-g2" ]
-+ cflags += [ "-g0" ]
- }
-
- # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
-- if (is_clang && !is_nacl && !use_xcode_clang && !is_apple) {
-+ if (is_clang && !is_nacl && !use_xcode_clang && !is_apple && !is_bsd) {
- cflags += [
- "-Xclang",
- "-debug-info-kind=constructor",
-@@ -2339,7 +2339,7 @@ config("symbols") {
- # DWARF info may be corrupt; offsets in a range list entry are in different
- # sections" there. Maybe just a bug in nacl_switch_32.S.
- if (!is_apple && !is_nacl && current_cpu != "x86" &&
-- (use_gold || use_lld)) {
-+ (use_gold || use_lld) && !is_bsd) {
- if (is_clang) {
- # This flag enables the GNU-format pubnames and pubtypes sections,
- # which lld needs in order to generate a correct GDB index.
diff --git a/devel/electron11/files/patch-build_config_compiler_compiler.gni b/devel/electron11/files/patch-build_config_compiler_compiler.gni
deleted file mode 100644
index 34cba2947a27..000000000000
--- a/devel/electron11/files/patch-build_config_compiler_compiler.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/compiler/compiler.gni.orig 2021-01-07 00:36:18 UTC
-+++ build/config/compiler/compiler.gni
-@@ -192,7 +192,7 @@ declare_args() {
- declare_args() {
- # Whether to use the gold linker from binutils instead of lld or bfd.
- use_gold =
-- !use_lld && !(is_chromecast && is_linux &&
-+ !is_bsd && !use_lld && !(is_chromecast && is_linux &&
- (current_cpu == "arm" || current_cpu == "mipsel")) &&
- ((is_linux && (current_cpu == "x64" || current_cpu == "x86" ||
- current_cpu == "arm" || current_cpu == "arm64" ||
diff --git a/devel/electron11/files/patch-build_config_compiler_pgo_pgo.gni b/devel/electron11/files/patch-build_config_compiler_pgo_pgo.gni
deleted file mode 100644
index 5404a9fbf37d..000000000000
--- a/devel/electron11/files/patch-build_config_compiler_pgo_pgo.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/compiler/pgo/pgo.gni.orig 2021-01-07 00:36:18 UTC
-+++ build/config/compiler/pgo/pgo.gni
-@@ -12,7 +12,7 @@ declare_args() {
- # 2 : Used during the PGO (optimization) phase.
- chrome_pgo_phase = 0
- if (is_official_build &&
-- (is_win || is_mac || (is_desktop_linux && !chromeos_is_browser_only))) {
-+ (is_win || is_mac || (is_desktop_linux && !chromeos_is_browser_only && !is_bsd))) {
- chrome_pgo_phase = 2
- }
-
diff --git a/devel/electron11/files/patch-build_config_linux_BUILD.gn b/devel/electron11/files/patch-build_config_linux_BUILD.gn
deleted file mode 100644
index f0eaf7250dcf..000000000000
--- a/devel/electron11/files/patch-build_config_linux_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/linux/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ build/config/linux/BUILD.gn
-@@ -30,7 +30,7 @@ config("runtime_library") {
-
- if ((!(is_chromeos || chromeos_is_browser_only) ||
- default_toolchain != "//build/toolchain/cros:target") &&
-- (!use_custom_libcxx || current_cpu == "mipsel")) {
-+ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
- libs = [ "atomic" ]
- }
- }
diff --git a/devel/electron11/files/patch-build_linux_chrome.map b/devel/electron11/files/patch-build_linux_chrome.map
deleted file mode 100644
index 1ab4dced35ea..000000000000
--- a/devel/electron11/files/patch-build_linux_chrome.map
+++ /dev/null
@@ -1,29 +0,0 @@
---- build/linux/chrome.map.orig 2021-01-07 00:36:18 UTC
-+++ build/linux/chrome.map
-@@ -1,4 +1,7 @@
- {
-+local:
-+ *;
-+
- global:
- __bss_start;
- __data_start;
-@@ -20,6 +23,10 @@ global:
- # Program entry point.
- _start;
-
-+ # FreeBSD specific variables.
-+ __progname;
-+ environ;
-+
- # Memory allocation symbols. We want chrome and any libraries to
- # share the same heap, so it is correct to export these symbols.
- calloc;
-@@ -81,7 +88,4 @@ global:
- localtime64;
- localtime64_r;
- localtime_r;
--
--local:
-- *;
- };
diff --git a/devel/electron11/files/patch-build_toolchain_gcc__toolchain.gni b/devel/electron11/files/patch-build_toolchain_gcc__toolchain.gni
deleted file mode 100644
index fac0002c1f8e..000000000000
--- a/devel/electron11/files/patch-build_toolchain_gcc__toolchain.gni
+++ /dev/null
@@ -1,45 +0,0 @@
---- build/toolchain/gcc_toolchain.gni.orig 2021-01-07 00:36:18 UTC
-+++ build/toolchain/gcc_toolchain.gni
-@@ -50,6 +50,11 @@ if (enable_resource_allowlist_generation) {
- "enable_resource_allowlist_generation=true does not work for target_os=$target_os")
- }
-
-+declare_args() {
-+ extra_cxxflags = ""
-+ extra_ldflags = ""
-+}
-+
- # This template defines a toolchain for something that works like gcc
- # (including clang).
- #
-@@ -641,13 +646,23 @@ template("clang_toolchain") {
- }
-
- gcc_toolchain(target_name) {
-- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
-- cc = "$prefix/clang"
-- cxx = "$prefix/clang++"
-- ld = cxx
-- readelf = "${toolprefix}readelf"
-- ar = "${prefix}/llvm-ar"
-- nm = "${toolprefix}nm"
-+ if (is_bsd) {
-+ prefix = "/usr/local/bin"
-+ cc = "cc"
-+ cxx = "c++"
-+ ld = cxx
-+ readelf = "readelf"
-+ ar = "${prefix}/ar"
-+ nm = "${toolprefix}nm"
-+ } else {
-+ prefix = rebase_path("$clang_base_path/bin", root_build_dir)
-+ cc = "$prefix/clang"
-+ cxx = "$prefix/clang++"
-+ ld = cxx
-+ readelf = "${toolprefix}readelf"
-+ ar = "${prefix}/llvm-ar"
-+ nm = "${toolprefix}nm"
-+ }
-
- forward_variables_from(invoker,
- [
diff --git a/devel/electron11/files/patch-build_toolchain_linux_BUILD.gn b/devel/electron11/files/patch-build_toolchain_linux_BUILD.gn
deleted file mode 100644
index 2c5955f87561..000000000000
--- a/devel/electron11/files/patch-build_toolchain_linux_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- build/toolchain/linux/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ build/toolchain/linux/BUILD.gn
-@@ -22,7 +22,6 @@ clang_toolchain("clang_arm") {
- }
-
- clang_toolchain("clang_arm64") {
-- toolprefix = "aarch64-linux-gnu-"
- toolchain_args = {
- current_cpu = "arm64"
- current_os = "linux"
diff --git a/devel/electron11/files/patch-cc_BUILD.gn b/devel/electron11/files/patch-cc_BUILD.gn
deleted file mode 100644
index 2f36d5ca0632..000000000000
--- a/devel/electron11/files/patch-cc_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- cc/BUILD.gn.orig 2021-01-07 00:36:18 UTC
-+++ cc/BUILD.gn
-@@ -615,7 +615,7 @@ cc_test_static_library("test_support") {
- if (enable_vulkan) {
- deps += [ "//gpu/vulkan/init" ]
- }
-- if (!is_android) {
-+ if (!is_android && !is_bsd) {
- data_deps = [ "//third_party/mesa_headers" ]
- }
- }
-@@ -824,7 +824,6 @@ cc_test("cc_unittests") {
- ]
- data_deps = [
- "//testing/buildbot/filters:cc_unittests_filters",
-- "//third_party/mesa_headers",
- ]
-
- if (is_fuchsia) {
diff --git a/devel/electron11/files/patch-cc_test_layer__tree__test.cc b/devel/electron11/files/patch-cc_test_layer__tree__test.cc
deleted file mode 100644
index a0fe6be404d2..000000000000
--- a/devel/electron11/files/patch-cc_test_layer__tree__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- cc/test/layer_tree_test.cc.orig 2021-01-07 00:36:18 UTC
-+++ cc/test/layer_tree_test.cc
-@@ -669,7 +669,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere
- init_vulkan = true;
- } else if (renderer_type_ == viz::RendererType::kSkiaDawn) {
- scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- init_vulkan = true;
- #elif defined(OS_WIN)
- // TODO(sgilhuly): Initialize D3D12 for Windows.
diff --git a/devel/electron11/files/patch-cc_trees_property__tree.cc b/devel/electron11/files/patch-cc_trees_property__tree.cc
deleted file mode 100644
index 85c114d845a4..000000000000
--- a/devel/electron11/files/patch-cc_trees_property__tree.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- cc/trees/property_tree.cc.orig 2021-01-07 00:36:18 UTC
-+++ cc/trees/property_tree.cc
-@@ -1285,13 +1285,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollOffset(int scro
-
- gfx::Size clip_layer_bounds = container_bounds(scroll_node->id);
-
-- gfx::ScrollOffset max_offset(
-+ gfx::ScrollOffset _max_offset(
- scaled_scroll_bounds.width() - clip_layer_bounds.width(),
- scaled_scroll_bounds.height() - clip_layer_bounds.height());
-
-- max_offset.Scale(1 / scale_factor);
-- max_offset.SetToMax(gfx::ScrollOffset());
-- return max_offset;
-+ _max_offset.Scale(1 / scale_factor);
-+ _max_offset.SetToMax(gfx::ScrollOffset());
-+ return _max_offset;
- }
-
- gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const {
diff --git a/devel/electron11/files/patch-chrome_BUILD.gn b/devel/electron11/files/patch-chrome_BUILD.gn
deleted file mode 100644
index 644056ce2022..000000000000
--- a/devel/electron11/files/patch-chrome_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/BUILD.gn.orig 2021-01-25 11:26:59 UTC
-+++ chrome/BUILD.gn
-@@ -1214,6 +1214,10 @@ group("browser_dependencies") {
- public_deps += [ "//chromeos/lacros" ]
- }
-
-+ if (is_bsd) {
-+ public_deps -= [ "//components/crash/core/app" ]
-+ }
-+
- if (is_chromeos) {
- public_deps += [
- "//chrome/browser/chromeos",
diff --git a/devel/electron11/files/patch-chrome_app_BUILD.gn b/devel/electron11/files/patch-chrome_app_BUILD.gn
deleted file mode 100644
index dc1bb01fd9ce..000000000000
--- a/devel/electron11/files/patch-chrome_app_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/BUILD.gn.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/BUILD.gn
-@@ -140,7 +140,7 @@ static_library("test_support") {
- "//v8:v8_headers",
- ]
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
- deps += [
- "//components/crash/core/app",
diff --git a/devel/electron11/files/patch-chrome_app_chrome__command__ids.h b/devel/electron11/files/patch-chrome_app_chrome__command__ids.h
deleted file mode 100644
index a56be10aece6..000000000000
--- a/devel/electron11/files/patch-chrome_app_chrome__command__ids.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/chrome_command_ids.h.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/chrome_command_ids.h
-@@ -61,7 +61,7 @@
- #define IDC_ALL_WINDOWS_FRONT 34048
- #define IDC_NAME_WINDOW 34049
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #define IDC_USE_SYSTEM_TITLE_BAR 34051
- #define IDC_RESTORE_WINDOW 34052
- #endif
diff --git a/devel/electron11/files/patch-chrome_app_chrome__main.cc b/devel/electron11/files/patch-chrome_app_chrome__main.cc
deleted file mode 100644
index eafa71eebe1b..000000000000
--- a/devel/electron11/files/patch-chrome_app_chrome__main.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/app/chrome_main.cc.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/chrome_main.cc
-@@ -109,12 +109,12 @@ int ChromeMain(int argc, const char** argv) {
-
- // Chrome-specific process modes.
- #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-- defined(OS_WIN)
-+ defined(OS_WIN) || defined(OS_BSD)
- if (command_line->HasSwitch(switches::kHeadless)) {
- return headless::HeadlessShellMain(params);
- }
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-- // defined(OS_WIN)
-+ // defined(OS_WIN) || defined(OS_BSD)
-
- int rv = content::ContentMain(params);
-
diff --git a/devel/electron11/files/patch-chrome_app_chrome__main__delegate.cc b/devel/electron11/files/patch-chrome_app_chrome__main__delegate.cc
deleted file mode 100644
index 281a929119fd..000000000000
--- a/devel/electron11/files/patch-chrome_app_chrome__main__delegate.cc
+++ /dev/null
@@ -1,195 +0,0 @@
---- chrome/app/chrome_main_delegate.cc.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/chrome_main_delegate.cc
-@@ -108,7 +108,7 @@
- #include "chrome/app/shutdown_signal_handlers_posix.h"
- #endif
-
--#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- #include "components/nacl/common/nacl_paths.h"
- #include "components/nacl/zygote/nacl_fork_delegate_linux.h"
- #endif
-@@ -147,12 +147,12 @@
- #include "v8/include/v8.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/environment.h"
- #endif
-
- #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "chrome/browser/policy/policy_path_parser.h"
- #include "components/crash/core/app/crashpad.h"
- #endif
-@@ -258,7 +258,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce
-
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- void AdjustLinuxOOMScore(const std::string& process_type) {
- int score = -1;
-
-@@ -294,13 +294,13 @@ void AdjustLinuxOOMScore(const std::string& process_ty
- if (score > -1)
- base::AdjustOOMScore(base::GetCurrentProcId(), score);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
-
- // Returns true if this subprocess type needs the ResourceBundle initialized
- // and resources loaded.
- bool SubprocessNeedsResourceBundle(const std::string& process_type) {
- return
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The zygote process opens the resources for the renderers.
- process_type == switches::kZygoteProcess ||
- #endif
-@@ -339,7 +339,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
- return false;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Show the man page if --help or -h is on the command line.
- void HandleHelpSwitches(const base::CommandLine& command_line) {
- if (command_line.HasSwitch(switches::kHelp) ||
-@@ -349,7 +349,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
- PLOG(FATAL) << "execlp failed";
- }
- }
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #if !defined(OS_MAC) && !defined(OS_ANDROID)
- void SIGTERMProfilingShutdown(int signal) {
-@@ -403,7 +403,7 @@ void InitializeUserDataDir(base::CommandLine* command_
- std::string process_type =
- command_line->GetSwitchValueASCII(switches::kProcessType);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Linux, Chrome does not support running multiple copies under different
- // DISPLAYs, so the profile directory can be specified in the environment to
- // support the virtual desktop use-case.
-@@ -415,7 +415,7 @@ void InitializeUserDataDir(base::CommandLine* command_
- user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string);
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_MAC)
- policy::path_parser::CheckUserDataDirPolicy(&user_data_dir);
- #endif // OS_MAC
-@@ -487,7 +487,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
- #endif
-
- #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-- defined(OS_CHROMEOS)
-+ defined(OS_CHROMEOS) || defined(OS_BSD)
- // Record the startup process creation time on supported platforms. On Android
- // this is recorded in ChromeMainDelegateAndroid.
- startup_metric_utils::RecordStartupProcessCreationTime(
-@@ -705,7 +705,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- v8_crashpad_support::SetUp();
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- if (!crash_reporter::IsCrashpadEnabled()) {
- breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix);
- }
-@@ -716,7 +716,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- *exit_code = 0;
- return true; // Got a --version switch; exit with a success error code.
- }
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // This will directly exit if the user asked for help.
- HandleHelpSwitches(command_line);
- #endif
-@@ -744,7 +744,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- #if defined(OS_CHROMEOS)
- chromeos::RegisterPathProvider();
- #endif
--#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- nacl::RegisterPathProvider();
- #endif
-
-@@ -924,7 +924,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
-
- crash_reporter::InitializeCrashKeys();
-
--#if defined(OS_POSIX)
-+#if defined(OS_POSIX) && !defined(OS_BSD)
- ChromeCrashReporterClient::Create();
- #endif
-
-@@ -937,7 +937,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- child_process_logging::Init();
- #endif
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache
- // cpu_brand info.
- base::CPU cpu_info;
-@@ -1056,7 +1056,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- locale;
- }
-
--#if defined(OS_POSIX) && !defined(OS_MAC)
-+#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- // Zygote needs to call InitCrashReporter() in RunZygote().
- if (process_type != switches::kZygoteProcess) {
- #if defined(OS_ANDROID)
-@@ -1077,7 +1077,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- }
- #endif // defined(OS_ANDROID)
- }
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- CHECK_EQ(base::android::GetLibraryProcessType(),
-@@ -1097,7 +1097,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) {
- // Note: If you are adding a new process type below, be sure to adjust the
- // AdjustLinuxOOMScore function too.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- AdjustLinuxOOMScore(process_type);
- #endif
- #if defined(OS_WIN)
-@@ -1139,7 +1139,7 @@ int ChromeMainDelegate::RunProcess(
-
- // This entry is not needed on Linux, where the NaCl loader
- // process is launched via nacl_helper instead.
--#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- {switches::kNaClLoaderProcess, NaClMain},
- #else
- {"<invalid>", nullptr}, // To avoid constant array of size 0
-@@ -1167,7 +1167,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str
- #endif // !defined(OS_ANDROID)
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- void ChromeMainDelegate::ZygoteStarting(
- std::vector<std::unique_ptr<content::ZygoteForkDelegate>>* delegates) {
- #if defined(OS_CHROMEOS)
-@@ -1204,7 +1204,7 @@ void ChromeMainDelegate::ZygoteForked() {
- crash_keys::SetCrashKeysFromCommandLine(*command_line);
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
-
- content::ContentClient* ChromeMainDelegate::CreateContentClient() {
- return &chrome_content_client_;
diff --git a/devel/electron11/files/patch-chrome_app_chromium__strings.grd b/devel/electron11/files/patch-chrome_app_chromium__strings.grd
deleted file mode 100644
index 69eaa12b6495..000000000000
--- a/devel/electron11/files/patch-chrome_app_chromium__strings.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/chromium_strings.grd.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/chromium_strings.grd
-@@ -698,7 +698,7 @@ Chromium is unable to recover your settings.
- </if>
-
- <!-- about:browser-switch strings -->
-- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
- <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
- Your system administrator has configured Chromium to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
- </message>
-@@ -809,7 +809,7 @@ Chromium is unable to recover your settings.
- </message>
-
- <!-- ProcessSingleton -->
-- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_posix">
- <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
- The profile appears to be in use by another Chromium process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.
- </message>
-@@ -1028,7 +1028,7 @@ Chromium is unable to recover your settings.
- </message>
-
- <!-- Plugin Placeholders -->
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
- Restart Chromium to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
- </message>
diff --git a/devel/electron11/files/patch-chrome_app_generated__resources.grd b/devel/electron11/files/patch-chrome_app_generated__resources.grd
deleted file mode 100644
index 27f025d82423..000000000000
--- a/devel/electron11/files/patch-chrome_app_generated__resources.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/generated_resources.grd.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/generated_resources.grd
-@@ -5248,7 +5248,7 @@ Keep your key file in a safe place. You will need it t
- </if>
-
- <!-- chrome://browser-switch strings -->
-- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
- <message name="IDS_ABOUT_BROWSER_SWITCH_TITLE" desc="about:browser-switch page title">
- Legacy Browser Support
- </message>
-@@ -7239,7 +7239,7 @@ the Bookmarks menu.">
- Google Pay
- </message>
-
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders.">
- Use system title bar and borders
- </message>
-@@ -8210,7 +8210,7 @@ Please help our engineers fix this problem. Tell us wh
- Set as default
- </message>
-
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window.">
- Minimize
- </message>
diff --git a/devel/electron11/files/patch-chrome_app_google__chrome__strings.grd b/devel/electron11/files/patch-chrome_app_google__chrome__strings.grd
deleted file mode 100644
index a246275ec7ec..000000000000
--- a/devel/electron11/files/patch-chrome_app_google__chrome__strings.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/google_chrome_strings.grd.orig 2021-01-07 00:36:20 UTC
-+++ chrome/app/google_chrome_strings.grd
-@@ -705,7 +705,7 @@ Google Chrome is unable to recover your settings.
- </if>
-
- <!-- about:browser-switch strings -->
-- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
- <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
- Your system administrator has configured Google Chrome to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
- </message>
-@@ -816,7 +816,7 @@ Google Chrome is unable to recover your settings.
- </message>
-
- <!-- ProcessSingleton -->
-- <if expr="is_linux or is_macosx">
-+ <if expr="is_linux or is_macosx or is_posix">
- <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
- The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome.
- </message>
-@@ -1042,7 +1042,7 @@ Google Chrome is unable to recover your settings.
- </message>
-
- <!-- Plugin Placeholders -->
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
- Restart Chrome to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
- </message>
diff --git a/devel/electron11/files/patch-chrome_app_settings__strings.grdp b/devel/electron11/files/patch-chrome_app_settings__strings.grdp
deleted file mode 100644
index 8074d9b5a9ec..000000000000
--- a/devel/electron11/files/patch-chrome_app_settings__strings.grdp
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/app/settings_strings.grdp.orig 2021-01-07 00:36:21 UTC
-+++ chrome/app/settings_strings.grdp
-@@ -110,7 +110,7 @@
- Theme
- </message>
- </if>
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux">
- GTK+
- </message>
-@@ -124,7 +124,7 @@
- Use Classic
- </message>
- </if>
-- <if expr="not is_linux or chromeos">
-+ <if expr="not is_posix or chromeos">
- <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme.">
- Reset to default
- </message>
diff --git a/devel/electron11/files/patch-chrome_browser_BUILD.gn b/devel/electron11/files/patch-chrome_browser_BUILD.gn
deleted file mode 100644
index 86b56d9ca9a6..000000000000
--- a/devel/electron11/files/patch-chrome_browser_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/BUILD.gn.orig 2021-01-25 11:27:00 UTC
-+++ chrome/browser/BUILD.gn
-@@ -4999,7 +4999,7 @@ static_library("browser") {
- ]
- }
-
-- if (is_posix && !is_mac) {
-+ if (is_posix && !is_mac && !is_bsd) {
- # TODO(crbug.com / 753619): Enable crash reporting on Fuchsia.
- sources += [
- "//chrome/app/chrome_crash_reporter_client.cc",
diff --git a/devel/electron11/files/patch-chrome_browser_about__flags.cc b/devel/electron11/files/patch-chrome_browser_about__flags.cc
deleted file mode 100644
index 2dc8a359c726..000000000000
--- a/devel/electron11/files/patch-chrome_browser_about__flags.cc
+++ /dev/null
@@ -1,186 +0,0 @@
---- chrome/browser/about_flags.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/about_flags.cc
-@@ -881,7 +881,7 @@ const FeatureEntry::Choice kMemlogSamplingRateChoices[
- heap_profiling::kMemlogSamplingRate5MB},
- };
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = {
- {"DocumentUseServerScore", "true"},
-@@ -1231,7 +1231,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP
- },
- };
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
- // defined(OS_WIN)
-
- const FeatureEntry::FeatureParam kOmniboxOnFocusSuggestionsParamSERP[] = {
-@@ -2879,7 +2879,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(ash::features::kSystemTrayMicGainSetting)},
- #endif // OS_CHROMEOS
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)) || defined(OS_BSD)
- {
- "enable-accelerated-video-decode",
- flag_descriptions::kAcceleratedVideoDecodeName,
-@@ -2895,7 +2895,7 @@ const FeatureEntry kFeatureEntries[] = {
- kOsMac | kOsWin | kOsCrOS | kOsAndroid,
- SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
- },
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)) || defined(OS_BSD)
- {
- "disable-accelerated-video-encode",
- flag_descriptions::kAcceleratedVideoEncodeName,
-@@ -3001,13 +3001,13 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kForceEnableDevicesPageName,
- flag_descriptions::kForceEnableDevicesPageDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(features::kForceEnableDevicesPage)},
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- {"enable-webgl2-compute-context",
- flag_descriptions::kWebGL2ComputeContextName,
- flag_descriptions::kWebGL2ComputeContextDescription,
- kOsWin | kOsLinux | kOsCrOS,
- SINGLE_VALUE_TYPE(switches::kEnableWebGL2ComputeContext)},
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- {"enable-webgl-draft-extensions",
- flag_descriptions::kWebglDraftExtensionsName,
- flag_descriptions::kWebglDraftExtensionsDescription, kOsAll,
-@@ -3204,7 +3204,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kEnableOfflinePreviewsDescription, kOsAndroid,
- FEATURE_VALUE_TYPE(previews::features::kOfflinePreviews)},
- #endif // OS_ANDROID
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- {"enable-save-data", flag_descriptions::kEnableSaveDataName,
- flag_descriptions::kEnableSaveDataDescription, kOsCrOS | kOsLinux,
- SINGLE_VALUE_TYPE(
-@@ -3214,7 +3214,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kEnableNavigationPredictorDescription,
- kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(blink::features::kNavigationPredictor)},
--#endif // OS_CHROMEOS || OS_LINUX
-+#endif // OS_CHROMEOS || OS_LINUX || OS_BSD
- {"enable-preconnect-to-search",
- flag_descriptions::kEnablePreconnectToSearchName,
- flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll,
-@@ -4012,7 +4012,7 @@ const FeatureEntry kFeatureEntries[] = {
- kOsAll,
- FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)},
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- {"omnibox-experimental-keyword-mode",
- flag_descriptions::kOmniboxExperimentalKeywordModeName,
-@@ -4089,7 +4089,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_WITH_PARAMS_VALUE_TYPE(omnibox::kBookmarkPaths,
- kOmniboxBookmarkPathsVariations,
- "OmniboxBundledExperimentV1")},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
- // defined(OS_WIN)
-
- {"enable-speculative-service-worker-start-on-query-input",
-@@ -4398,14 +4398,14 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kClickToOpenPDFDescription, kOsAll,
- FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)},
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"direct-manipulation-stylus",
- flag_descriptions::kDirectManipulationStylusName,
- flag_descriptions::kDirectManipulationStylusDescription,
- kOsWin | kOsMac | kOsLinux,
- FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if !defined(OS_ANDROID)
-@@ -5108,7 +5108,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(kClickToCallUI)},
- #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"remote-copy-receiver", flag_descriptions::kRemoteCopyReceiverName,
- flag_descriptions::kRemoteCopyReceiverDescription, kOsDesktop,
-@@ -5125,7 +5125,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kRemoteCopyProgressNotificationName,
- flag_descriptions::kRemoteCopyProgressNotificationDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(kRemoteCopyProgressNotification)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"restrict-gamepad-access", flag_descriptions::kRestrictGamepadAccessName,
-@@ -5712,7 +5712,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(autofill::features::kAutofillTouchToFill)},
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"global-media-controls", flag_descriptions::kGlobalMediaControlsName,
- flag_descriptions::kGlobalMediaControlsDescription,
-@@ -5753,7 +5753,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kGlobalMediaControlsOverlayControlsDescription,
- kOsWin | kOsMac | kOsLinux,
- FEATURE_VALUE_TYPE(media::kGlobalMediaControlsOverlayControls)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN)
-@@ -5939,7 +5939,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(
- password_manager::features::kEnablePasswordsAccountStorage)},
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"passwords-account-storage-iph",
- flag_descriptions::kEnablePasswordsAccountStorageIPHName,
-@@ -5947,7 +5947,7 @@ const FeatureEntry kFeatureEntries[] = {
- kOsWin | kOsMac | kOsLinux,
- FEATURE_VALUE_TYPE(
- feature_engagement::kIPHPasswordsAccountStorageFeature)},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"autofill-always-return-cloud-tokenized-card",
-@@ -6680,7 +6680,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(ash::features::kEnhancedDeskAnimations)},
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"enable-oop-print-drivers", flag_descriptions::kEnableOopPrintDriversName,
- flag_descriptions::kEnableOopPrintDriversDescription, kOsDesktop,
-@@ -6714,13 +6714,13 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(features::kMuteNotificationsDuringScreenShare)},
- #endif // !defined(OS_ANDROID)
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- {"enable-ephemeral-guest-profiles-on-desktop",
- flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopName,
- flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopDescription,
- kOsWin | kOsLinux | kOsMac,
- FEATURE_VALUE_TYPE(features::kEnableEphemeralGuestProfilesOnDesktop)},
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- {"decouple-sync-from-android-auto-sync",
diff --git a/devel/electron11/files/patch-chrome_browser_after__startup__task__utils.cc b/devel/electron11/files/patch-chrome_browser_after__startup__task__utils.cc
deleted file mode 100644
index 2b71959bf864..000000000000
--- a/devel/electron11/files/patch-chrome_browser_after__startup__task__utils.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/after_startup_task_utils.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/after_startup_task_utils.cc
-@@ -32,7 +32,7 @@
- #include "chrome/browser/ui/tabs/tab_strip_model.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
- #endif
-
-@@ -119,7 +119,7 @@ void QueueTask(std::unique_ptr<AfterStartupTask> queue
-
- void SetBrowserStartupIsComplete() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Process::Current().CreationTime() is not available on all platforms.
- const base::Time process_creation_time =
-@@ -128,7 +128,7 @@ void SetBrowserStartupIsComplete() {
- UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime",
- base::Time::Now() - process_creation_time);
- }
--#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) ||
-+#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount",
- g_after_startup_tasks.Get().size());
-@@ -138,7 +138,7 @@ void SetBrowserStartupIsComplete() {
- g_after_startup_tasks.Get().clear();
- g_after_startup_tasks.Get().shrink_to_fit();
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Make sure we complete the startup notification sequence, or launchers will
- // get confused by not receiving the expected message from the main process.
- views::LinuxUI* linux_ui = views::LinuxUI::instance();
diff --git a/devel/electron11/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/devel/electron11/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
deleted file mode 100644
index 9f0ecc098283..000000000000
--- a/devel/electron11/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
-@@ -86,7 +86,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
- return metrics::OmniboxInputType::QUERY;
-
- case ExternalProtocolHandler::UNKNOWN: {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Linux impl of GetApplicationNameForProtocol doesn't distinguish
- // between URL schemes with handers and those without. This will
- // make the default behaviour be search on Linux.
-@@ -99,7 +99,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
- shell_integration::GetApplicationNameForProtocol(url);
- return application_name.empty() ? metrics::OmniboxInputType::EMPTY
- : metrics::OmniboxInputType::URL;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- }
- NOTREACHED();
diff --git a/devel/electron11/files/patch-chrome_browser_background_background__mode__manager.cc b/devel/electron11/files/patch-chrome_browser_background_background__mode__manager.cc
deleted file mode 100644
index 98f3355b06c6..000000000000
--- a/devel/electron11/files/patch-chrome_browser_background_background__mode__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/background/background_mode_manager.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/background/background_mode_manager.cc
-@@ -849,7 +849,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
- return gfx::ImageSkia();
-
- return family->CreateExact(size).AsImageSkia();
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PRODUCT_LOGO_128);
- #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-chrome_browser_browser__resources.grd b/devel/electron11/files/patch-chrome_browser_browser__resources.grd
deleted file mode 100644
index 936e613211d2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/browser_resources.grd.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/browser_resources.grd
-@@ -67,7 +67,7 @@
- <include name="IDR_DISCARDS_SITE_DATA_MOJOM_LITE_JS" file="${root_gen_dir}\chrome\browser\ui\webui\discards\site_data.mojom-lite.js" use_base_dir="false" type="BINDATA" />
- <include name="IDR_DISCARDS_SORTED_TABLE_BEHAVIOR_JS" file="resources\discards\sorted_table_behavior.js" type="BINDATA" />
- </if>
-- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
-+ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
- <include name="IDR_BROWSER_SWITCH_APP_JS" file="${root_gen_dir}\chrome\browser\resources\browser_switch\app.js" use_base_dir="false" type="BINDATA" />
- <include name="IDR_BROWSER_SWITCH_PROXY_JS" file="resources\browser_switch\browser_switch_proxy.js" type="BINDATA" />
- <include name="IDR_BROWSER_SWITCH_HTML" file="resources\browser_switch\browser_switch.html" allowexternalscript="true" type="BINDATA" />
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/devel/electron11/files/patch-chrome_browser_chrome__browser__interface__binders.cc
deleted file mode 100644
index 02fe5db980aa..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__browser__interface__binders.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_browser_interface_binders.cc
-@@ -128,7 +128,7 @@
- #include "media/mojo/mojom/speech_recognition_service.mojom.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- #include "chrome/browser/ui/webui/discards/discards.mojom.h"
- #include "chrome/browser/ui/webui/discards/discards_ui.h"
-@@ -730,7 +730,7 @@ void PopulateChromeWebUIFrameBinders(
- }
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
- DiscardsUI>(map);
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__browser__main.cc b/devel/electron11/files/patch-chrome_browser_chrome__browser__main.cc
deleted file mode 100644
index f797dc82ed62..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__browser__main.cc
+++ /dev/null
@@ -1,54 +0,0 @@
---- chrome/browser/chrome_browser_main.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_browser_main.cc
-@@ -246,7 +246,7 @@
- #endif // defined(OS_WIN)
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
- #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h"
- #include "chrome/browser/profiles/profile_activity_metrics_recorder.h"
-@@ -925,7 +925,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs);
- }
-
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Create directory for user-level Native Messaging manifest files. This
- // makes it less likely that the directory will be created by third-party
- // software with incorrect owner or permission. See crbug.com/725513 .
-@@ -934,7 +934,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- &user_native_messaging_dir));
- if (!base::PathExists(user_native_messaging_dir))
- base::CreateDirectory(user_native_messaging_dir);
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-
-@@ -956,7 +956,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- #endif // defined(OS_MAC)
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- metrics::DesktopSessionDurationTracker::Initialize();
- ProfileActivityMetricsRecorder::Initialize();
- TouchModeStatsTracker::Initialize(
-@@ -1113,6 +1113,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
- base::TimeDelta::FromMinutes(1));
-
- #if !defined(OS_ANDROID)
-+#if !defined(OS_BSD)
- if (base::FeatureList::IsEnabled(features::kWebUsb)) {
- web_usb_detector_.reset(new WebUsbDetector());
- content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
-@@ -1120,6 +1121,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
- base::BindOnce(&WebUsbDetector::Initialize,
- base::Unretained(web_usb_detector_.get())));
- }
-+#endif
- if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) {
- // Initialize the TabActivityWatcher to begin logging tab activity events.
- resource_coordinator::TabActivityWatcher::GetInstance();
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__browser__main__linux.cc b/devel/electron11/files/patch-chrome_browser_chrome__browser__main__linux.cc
deleted file mode 100644
index 5c0a19d40ae2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__browser__main__linux.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- chrome/browser/chrome_browser_main_linux.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_browser_main_linux.cc
-@@ -81,6 +81,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
- void ChromeBrowserMainPartsLinux::PostProfileInit() {
- ChromeBrowserMainPartsPosix::PostProfileInit();
-
-+#if !defined(OS_BSD)
- bool breakpad_registered;
- if (crash_reporter::IsCrashpadEnabled()) {
- // If we're using crashpad, there's no breakpad and crashpad is always
-@@ -98,10 +99,11 @@ void ChromeBrowserMainPartsLinux::PostProfileInit() {
- }
- g_browser_process->metrics_service()->RecordBreakpadRegistration(
- breakpad_registered);
-+#endif
- }
-
- void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
- #endif
-
-@@ -109,7 +111,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS
- }
-
- void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- bluez::BluezDBusManager::Shutdown();
- bluez::BluezDBusThreadManager::Shutdown();
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__browser__main__posix.cc b/devel/electron11/files/patch-chrome_browser_chrome__browser__main__posix.cc
deleted file mode 100644
index 195690177739..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__browser__main__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/chrome_browser_main_posix.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_browser_main_posix.cc
-@@ -70,7 +70,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
- // ExitHandler takes care of deleting itself.
- new ExitHandler();
- } else {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- switch (signal) {
- case SIGINT:
- case SIGHUP:
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.cc b/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.cc
deleted file mode 100644
index 9f2189d647c9..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.cc
+++ /dev/null
@@ -1,106 +0,0 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_content_browser_client.cc
-@@ -424,7 +424,7 @@
- #include "components/user_manager/user.h"
- #include "components/user_manager/user_manager.h"
- #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/chrome_browser_main_linux.h"
- #elif defined(OS_ANDROID)
- #include "base/android/application_status_listener.h"
-@@ -482,7 +482,7 @@
- #endif // !defined(OS_ANDROID)
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
- #endif
-
-@@ -514,7 +514,7 @@
- #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
- #endif
-
-@@ -833,11 +833,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos
- }
-
- int GetCrashSignalFD(const base::CommandLine& command_line) {
-+#if !defined(OS_BSD)
- if (crash_reporter::IsCrashpadEnabled()) {
- int fd;
- pid_t pid;
- return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1;
- }
-+#endif
-
- // Extensions have the same process type as renderers.
- if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) {
-@@ -1364,7 +1366,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
- #elif defined(OS_CHROMEOS)
- main_parts = std::make_unique<chromeos::ChromeBrowserMainPartsChromeos>(
- parameters, startup_data_);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- main_parts =
- std::make_unique<ChromeBrowserMainPartsLinux>(parameters, startup_data_);
- #elif defined(OS_ANDROID)
-@@ -1390,7 +1392,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
- // Construct additional browser parts. Stages are called in the order in
- // which they are added.
- #if defined(TOOLKIT_VIEWS)
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- main_parts->AddParts(
- std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>());
- #else
-@@ -2144,7 +2146,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
- command_line->AppendSwitchASCII(switches::kMetricsClientID,
- client_info->client_id);
- }
--#elif defined(OS_POSIX)
-+#elif defined(OS_POSIX) && !defined(OS_BSD)
- #if defined(OS_ANDROID)
- bool enable_crash_reporter = true;
- #else
-@@ -3738,7 +3740,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
- }
- }
-
--#if defined(OS_POSIX) && !defined(OS_MAC)
-+#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
-@@ -3773,7 +3775,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi
- mappings->Share(kCrashDumpSignal, crash_signal_fd);
- }
- }
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
-
- #if defined(OS_WIN)
- base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType(
-@@ -3862,7 +3864,7 @@ bool ChromeContentBrowserClient::IsRendererCodeIntegri
-
- void ChromeContentBrowserClient::WillStartServiceManager() {
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (startup_data_) {
- auto* chrome_feature_list_creator =
- startup_data_->chrome_feature_list_creator();
-@@ -4104,7 +4106,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
- }
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
- MaybeCreateThrottleFor(handle),
- &throttles);
diff --git a/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.h b/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.h
deleted file mode 100644
index d150912b311c..000000000000
--- a/devel/electron11/files/patch-chrome_browser_chrome__content__browser__client.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/browser/chrome_content_browser_client.h.orig 2021-01-07 00:36:21 UTC
-+++ chrome/browser/chrome_content_browser_client.h
-@@ -395,12 +395,12 @@ class ChromeContentBrowserClient : public content::Con
- void OverridePageVisibilityState(
- content::RenderFrameHost* render_frame_host,
- content::PageVisibilityState* visibility_state) override;
--#if defined(OS_POSIX) && !defined(OS_MAC)
-+#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- void GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
- content::PosixFileDescriptorInfo* mappings) override;
--#endif // defined(OS_POSIX) && !defined(OS_MAC)
-+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
- #if defined(OS_WIN)
- bool PreSpawnRenderer(sandbox::TargetPolicy* policy,
- RendererSpawnFlags flags) override;
diff --git a/devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
deleted file mode 100644
index f3b9563dd3c1..000000000000
--- a/devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/crash_upload_list/crash_upload_list.cc
-@@ -38,7 +38,7 @@ scoped_refptr<UploadList> CreateCrashUploadList() {
- // ChromeOS uses crash_sender as its uploader even when Crashpad is enabled,
- // which isn't compatible with CrashUploadListCrashpad. crash_sender continues
- // to log uploads in CrashUploadList::kReporterLogFilename.
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- if (crash_reporter::IsCrashpadEnabled()) {
- return new CrashUploadListCrashpad();
- }
diff --git a/devel/electron11/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/devel/electron11/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
deleted file mode 100644
index 90e004bbbaec..000000000000
--- a/devel/electron11/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/custom_handlers/protocol_handler_registry.cc
-@@ -43,7 +43,7 @@ const ProtocolHandler& LookupHandler(
- // If true default protocol handlers will be removed if the OS level
- // registration for a protocol is no longer Chrome.
- bool ShouldRemoveHandlersNotInOS() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // We don't do this on Linux as the OS registration there is not reliable,
- // and Chrome OS doesn't have any notion of OS registration.
- // TODO(benwells): When Linux support is more reliable remove this
diff --git a/devel/electron11/files/patch-chrome_browser_defaults.cc b/devel/electron11/files/patch-chrome_browser_defaults.cc
deleted file mode 100644
index 8d6f45794db0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_defaults.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/defaults.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/defaults.cc
-@@ -43,7 +43,7 @@ const bool kSyncAutoStarts = true;
- const bool kSyncAutoStarts = false;
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- const bool kScrollEventChangesTab = true;
- #else
- const bool kScrollEventChangesTab = false;
diff --git a/devel/electron11/files/patch-chrome_browser_dev__ui__browser__resources.grd b/devel/electron11/files/patch-chrome_browser_dev__ui__browser__resources.grd
deleted file mode 100644
index ad62cc767760..000000000000
--- a/devel/electron11/files/patch-chrome_browser_dev__ui__browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/dev_ui_browser_resources.grd.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/dev_ui_browser_resources.grd
-@@ -57,7 +57,7 @@ This file specifies browser resources for developer-fa
- <include name="IDR_MEDIA_SESSION_MOJOM_LITE_JS" file="${root_gen_dir}\services\media_session\public\mojom\media_session.mojom-lite.js" use_base_dir="false" type="BINDATA" />
- <include name="IDR_UI_GEOMETRY_MOJOM_LITE_JS" file="${root_gen_dir}\ui\gfx\geometry\mojom\geometry.mojom-lite.js" use_base_dir="false" type="BINDATA" />
-
-- <if expr="is_android or is_linux">
-+ <if expr="is_android or is_posix">
- <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
- <include name="IDR_SANDBOX_INTERNALS_JS" file="resources\sandbox_internals\sandbox_internals.js" type="BINDATA" />
- </if>
diff --git a/devel/electron11/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/devel/electron11/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
deleted file mode 100644
index 5643259784d6..000000000000
--- a/devel/electron11/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc
-@@ -28,7 +28,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform
- #if defined(OS_CHROMEOS)
- return std::make_unique<chromeos::DeviceOAuth2TokenStoreChromeOS>(
- local_state);
--#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
- DCHECK(
- base::FeatureList::IsEnabled(policy::features::kCBCMPolicyInvalidations));
- return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state);
diff --git a/devel/electron11/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/devel/electron11/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
deleted file mode 100644
index 346dfeaab9ab..000000000000
--- a/devel/electron11/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/devtools/devtools_eye_dropper.cc
-@@ -163,7 +163,7 @@ void DevToolsEyeDropper::UpdateCursor() {
- // magnified projection only with centered hotspot.
- // Mac Retina requires cursor to be > 120px in order to render smoothly.
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const float kCursorSize = 63;
- const float kDiameter = 63;
- const float kHotspotOffset = 32;
diff --git a/devel/electron11/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/devel/electron11/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
deleted file mode 100644
index 798c6a0768f7..000000000000
--- a/devel/electron11/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -1393,7 +1393,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
- target_info->is_filetype_handled_safely)
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
- #endif
-@@ -1445,7 +1445,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
-
- bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
- const base::FilePath& path) {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
- return !download_prefs_->ShouldOpenPdfInSystemReader();
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__prefs.cc b/devel/electron11/files/patch-chrome_browser_download_download__prefs.cc
deleted file mode 100644
index 4d0eb1dda2e7..000000000000
--- a/devel/electron11/files/patch-chrome_browser_download_download__prefs.cc
+++ /dev/null
@@ -1,65 +0,0 @@
---- chrome/browser/download/download_prefs.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/download/download_prefs.cc
-@@ -67,7 +67,7 @@ namespace {
- // Consider downloads 'dangerous' if they go to the home directory on Linux and
- // to the desktop on any platform.
- bool DownloadPathIsDangerous(const base::FilePath& download_path) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::FilePath home_dir = base::GetHomeDir();
- if (download_path == home_dir) {
- return true;
-@@ -172,7 +172,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
- GetDefaultDownloadDirectoryForProfile()));
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- should_open_pdf_in_system_reader_ =
- prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
-@@ -300,7 +300,7 @@ void DownloadPrefs::RegisterProfilePrefs(
- default_download_path);
- registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
- default_download_path);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
- #endif
-@@ -430,7 +430,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
- }
-
- bool DownloadPrefs::IsAutoOpenByUserUsed() const {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- if (ShouldOpenPdfInSystemReader())
- return true;
-@@ -445,7 +445,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
- return false;
- DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
- extension.erase(0, 1);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- if (base::FilePath::CompareEqualIgnoreCase(extension,
- FILE_PATH_LITERAL("pdf")) &&
-@@ -496,7 +496,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
- SaveAutoOpenState();
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
- if (should_open_pdf_in_system_reader_ == should_open)
-@@ -518,7 +518,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
- #endif
-
- void DownloadPrefs::ResetAutoOpenByUser() {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- SetShouldOpenPdfInSystemReader(false);
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_BUILD.gn b/devel/electron11/files/patch-chrome_browser_extensions_BUILD.gn
deleted file mode 100644
index 9f3243ff27bd..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/extensions/BUILD.gn.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/BUILD.gn
-@@ -1219,6 +1219,12 @@ static_library("extensions") {
- deps += [ "//chrome/common:service_process_mojom" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "api/image_writer_private/removable_storage_provider_linux.cc",
-+ ]
-+ }
-+
- if (enable_service_discovery) {
- sources += [
- "api/mdns/mdns_api.cc",
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/devel/electron11/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
deleted file mode 100644
index dc6d9999b971..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/extensions/activity_log/activity_log.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/activity_log/activity_log.cc
-@@ -47,7 +47,11 @@
- #include "extensions/browser/extensions_browser_client.h"
- #include "extensions/common/extension.h"
- #include "extensions/common/extension_messages.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- namespace constants = activity_log_constants;
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
deleted file mode 100644
index e96d67277fee..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
-@@ -22,7 +22,7 @@
- #include "base/win/registry.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/environment.h"
- #include "base/nix/xdg_util.h"
- #endif
-@@ -226,7 +226,7 @@ base::FilePath GetEndpointVerificationDir() {
- return *GetEndpointVerificationDirOverride();
- #if defined(OS_WIN)
- if (!base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path))
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar,
- base::nix::kDotConfigDir);
-@@ -237,7 +237,7 @@ base::FilePath GetEndpointVerificationDir() {
- if (true)
- #endif
- return path;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- path = path.AppendASCII("google");
- #else
- path = path.AppendASCII("Google");
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc b/devel/electron11/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
deleted file mode 100644
index 319e8501931a..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc
-@@ -277,7 +277,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T
- frame_observer.Wait();
- // Non-Aura Linux uses a singleton for the popup, so it looks like all windows
- // have popups if there is any popup open.
--#if !((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(USE_AURA))
-+#if !((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(USE_AURA))
- // Starting window does not have a popup.
- EXPECT_FALSE(ExtensionActionTestHelper::Create(browser())->HasPopup());
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/devel/electron11/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
deleted file mode 100644
index b806a3ec5f44..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
-@@ -284,6 +284,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor
- info->os = extensions::api::runtime::PLATFORM_OS_CROS;
- } else if (strcmp(os, "linux") == 0) {
- info->os = extensions::api::runtime::PLATFORM_OS_LINUX;
-+ } else if (strcmp(os, "freebsd") == 0) {
-+ info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD;
- } else if (strcmp(os, "openbsd") == 0) {
- info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD;
- } else {
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/devel/electron11/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
deleted file mode 100644
index 1dd284032f0c..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -169,7 +169,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
- (*s_allowlist)[bookmarks::prefs::kShowBookmarkBar] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- (*s_allowlist)[::prefs::kUseCustomChromeFrame] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
- #endif
-@@ -179,7 +179,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
- // Appearance settings.
- (*s_allowlist)[::prefs::kCurrentThemeID] =
- settings_api::PrefType::PREF_TYPE_STRING;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- (*s_allowlist)[::prefs::kUsesSystemTheme] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/devel/electron11/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
deleted file mode 100644
index d34745bc4bd1..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
-@@ -53,7 +53,7 @@
- #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
- #include "ppapi/buildflags/buildflags.h"
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- #include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
- #endif
-
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_external__provider__impl.cc b/devel/electron11/files/patch-chrome_browser_extensions_external__provider__impl.cc
deleted file mode 100644
index 0f3eff6015fd..000000000000
--- a/devel/electron11/files/patch-chrome_browser_extensions_external__provider__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2021-01-07 00:36:22 UTC
-+++ chrome/browser/extensions/external_provider_impl.cc
-@@ -776,7 +776,7 @@ void ExternalProviderImpl::CreateExternalProviders(
- }
- #endif
- if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- provider_list->push_back(std::make_unique<ExternalProviderImpl>(
- service,
- base::MakeRefCounted<ExternalPrefLoader>(
-@@ -803,7 +803,7 @@ void ExternalProviderImpl::CreateExternalProviders(
- bundled_extension_creation_flags));
-
- // Define a per-user source of external extensions.
--#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if defined(OS_MAC) || defined(OS_BSD) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
- BUILDFLAG(CHROMIUM_BRANDING))
- provider_list->push_back(std::make_unique<ExternalProviderImpl>(
- service,
diff --git a/devel/electron11/files/patch-chrome_browser_first__run_first__run__dialog.h b/devel/electron11/files/patch-chrome_browser_first__run_first__run__dialog.h
deleted file mode 100644
index c0727acba740..000000000000
--- a/devel/electron11/files/patch-chrome_browser_first__run_first__run__dialog.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/first_run/first_run_dialog.h.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/first_run/first_run_dialog.h
-@@ -9,7 +9,7 @@
- #include "build/build_config.h"
-
- // Hide this function on platforms where the dialog does not exist.
--#if defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- class Profile;
-
diff --git a/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal.h b/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal.h
deleted file mode 100644
index 3bd6d0608f6e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- chrome/browser/first_run/first_run_internal.h.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/first_run/first_run_internal.h
-@@ -56,13 +56,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
- bool force_first_run,
- bool no_first_run);
-
--#if defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // For testing, forces the first run dialog to either be shown or not. If not
- // called, the decision to show the dialog or not will be made by Chrome based
- // on a number of factors (such as install type, whether it's a Chrome-branded
- // build, etc).
- void ForceFirstRunDialogShownForTesting(bool shown);
--#endif // defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#endif // defined(OS_MAC) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- } // namespace internal
- } // namespace first_run
diff --git a/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
deleted file mode 100644
index dd779b87f987..000000000000
--- a/devel/electron11/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/first_run/first_run_internal_posix.cc
-@@ -45,7 +45,7 @@ enum class ForcedShowDialogState {
- ForcedShowDialogState g_forced_show_dialog_state =
- ForcedShowDialogState::kNotForced;
-
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- // Returns whether the first run dialog should be shown. This is only true for
- // certain builds, and only if the user has not already set preferences. In a
- // real, official-build first run, initializes the default metrics reporting if
-@@ -96,7 +96,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) {
- }
-
- void DoPostImportPlatformSpecificTasks(Profile* profile) {
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- if (!ShouldShowFirstRunDialog())
- return;
-
diff --git a/devel/electron11/files/patch-chrome_browser_flag__descriptions.cc b/devel/electron11/files/patch-chrome_browser_flag__descriptions.cc
deleted file mode 100644
index d1606f37f2ed..000000000000
--- a/devel/electron11/files/patch-chrome_browser_flag__descriptions.cc
+++ /dev/null
@@ -1,74 +0,0 @@
---- chrome/browser/flag_descriptions.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/flag_descriptions.cc
-@@ -4555,15 +4555,15 @@ const char kEnableNewBadgeOnMenuItemsDescription[] =
-
- // Random platform combinations -----------------------------------------------
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- const char kWebGL2ComputeContextName[] = "WebGL 2.0 Compute";
- const char kWebGL2ComputeContextDescription[] =
- "Enable the use of WebGL 2.0 Compute API.";
-
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
-
- const char kEnableMediaFeedsName[] = "Enables Media Feeds";
-@@ -4607,17 +4607,17 @@ const char kRemoteCopyProgressNotificationDescription[
- "Enables progress notifications to be shown for the remote copy feature "
- "when receiving a message.";
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
-
- const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus";
- const char kDirectManipulationStylusDescription[] =
- "If enabled, Chrome will scroll web pages on stylus drag.";
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_CHROMEOS)
-@@ -4629,14 +4629,14 @@ const char kWebContentsOcclusionDescription[] =
-
- #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_CHROMEOS)
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- #if BUILDFLAG(USE_TCMALLOC)
- const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning";
- const char kDynamicTcmallocDescription[] =
- "Allows tcmalloc to dynamically adjust tunables based on system resource "
- "utilization.";
- #endif // BUILDFLAG(USE_TCMALLOC)
--#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
- const char kUserDataSnapshotName[] = "Enable user data snapshots";
-@@ -4652,12 +4652,12 @@ const char kWebShareDescription[] =
- "platforms.";
- #endif // defined(OS_WIN) || defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- const char kEnableEphemeralGuestProfilesOnDesktopName[] =
- "Enable ephemeral Guest profiles on Desktop";
- const char kEnableEphemeralGuestProfilesOnDesktopDescription[] =
- "Enables ephemeral Guest profiles on Windows, Linux, and Mac.";
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
-
- // Feature flags --------------------------------------------------------------
-
diff --git a/devel/electron11/files/patch-chrome_browser_flag__descriptions.h b/devel/electron11/files/patch-chrome_browser_flag__descriptions.h
deleted file mode 100644
index cf1903235ca0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_flag__descriptions.h
+++ /dev/null
@@ -1,69 +0,0 @@
---- chrome/browser/flag_descriptions.h.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/flag_descriptions.h
-@@ -19,9 +19,9 @@
- #include "ppapi/buildflags/buildflags.h"
- #include "printing/buildflags/buildflags.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/allocator/buildflags.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // This file declares strings used in chrome://flags. These messages are not
- // translated, because instead of end-users they target Chromium developers and
-@@ -2649,14 +2649,14 @@ extern const char kEnableNewBadgeOnMenuItemsDescriptio
-
- // Random platform combinations -----------------------------------------------
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- extern const char kWebGL2ComputeContextName[];
- extern const char kWebGL2ComputeContextDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
-
- extern const char kEnableMediaFeedsName[];
-@@ -2683,7 +2683,7 @@ extern const char kRemoteCopyProgressNotificationDescr
- extern const char kDirectManipulationStylusName[];
- extern const char kDirectManipulationStylusDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_CHROMEOS)
-@@ -2693,12 +2693,12 @@ extern const char kWebContentsOcclusionDescription[];
-
- #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_CHROMEOS)
-
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- #if BUILDFLAG(USE_TCMALLOC)
- extern const char kDynamicTcmallocName[];
- extern const char kDynamicTcmallocDescription[];
- #endif // BUILDFLAG(USE_TCMALLOC)
--#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
- extern const char kUserDataSnapshotName[];
-@@ -2710,10 +2710,10 @@ extern const char kWebShareName[];
- extern const char kWebShareDescription[];
- #endif // defined(OS_WIN) || defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- extern const char kEnableEphemeralGuestProfilesOnDesktopName[];
- extern const char kEnableEphemeralGuestProfilesOnDesktopDescription[];
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
-
- // Feature flags --------------------------------------------------------------
-
diff --git a/devel/electron11/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/devel/electron11/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
deleted file mode 100644
index 71385ae96195..000000000000
--- a/devel/electron11/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc
-@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem(
- // Note that this initializes the delegate asynchronously, but since
- // the delegate will only be used from the IO thread, it is guaranteed
- // to be created before use of it expects it to be there.
-+#if !defined(OS_FREEBSD)
- CreateMTPDeviceAsyncDelegate(
- device_location, read_only,
- base::Bind(&MTPDeviceMapService::AddAsyncDelegate,
- base::Unretained(this), device_location, read_only));
-+#endif
- mtp_device_usage_map_[key] = 0;
- }
-
diff --git a/devel/electron11/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/devel/electron11/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
deleted file mode 100644
index 8feb8ea78127..000000000000
--- a/devel/electron11/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/media_galleries/media_file_system_registry.cc
-@@ -735,7 +735,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
- // Constructor in 'private' section because depends on private class definition.
- MediaFileSystemRegistry::MediaFileSystemRegistry()
- : file_system_context_(new MediaFileSystemContextImpl) {
-- StorageMonitor::GetInstance()->AddObserver(this);
-+ // This conditional is needed for shutdown. Destructors
-+ // try to get the media file system registry.
-+ if (StorageMonitor::GetInstance())
-+ StorageMonitor::GetInstance()->AddObserver(this);
- }
-
- MediaFileSystemRegistry::~MediaFileSystemRegistry() {
diff --git a/devel/electron11/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc b/devel/electron11/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc
deleted file mode 100644
index fe77a82283cd..000000000000
--- a/devel/electron11/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc
-@@ -112,6 +112,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute(
- bool off_the_record,
- CreateRouteCallback callback) {
- DCHECK(!base::Contains(presentations_, presentation_id));
-+#if defined(OS_BSD)
-+ std::move(callback).Run(base::nullopt, nullptr,
-+ std::string("Not implemented"),
-+ RouteRequestResult::UNKNOWN_ERROR);
-+ return;
-+#else
- base::Optional<Display> display = GetDisplayBySinkId(sink_id);
- if (!display) {
- std::move(callback).Run(base::nullopt, nullptr,
-@@ -138,6 +144,7 @@ void WiredDisplayMediaRouteProvider::CreateRoute(
- std::move(callback).Run(route, nullptr, base::nullopt,
- RouteRequestResult::OK);
- NotifyRouteObservers();
-+#endif
- }
-
- void WiredDisplayMediaRouteProvider::JoinRoute(
diff --git a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
deleted file mode 100644
index a3b364d99e05..000000000000
--- a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -40,6 +40,8 @@ const char kProduct[] = "Chrome_Mac";
- const char kProduct[] = "Chrome_ChromeOS";
- #elif defined(OS_LINUX)
- const char kProduct[] = "Chrome_Linux";
-+#elif defined(OS_FREEBSD)
-+const char kProduct[] = "Chrome_FreeBSD";
- #elif defined(OS_ANDROID)
- const char kProduct[] = "Chrome_Android";
- #else
diff --git a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
deleted file mode 100644
index 9bc13c262692..000000000000
--- a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -357,6 +357,8 @@ void WebRtcLogUploader::SetupMultipart(
- const char product[] = "Chrome_Android";
- #elif defined(OS_CHROMEOS)
- const char product[] = "Chrome_ChromeOS";
-+#elif defined(OS_FREEBSD)
-+ const char product[] = "Chrome_FreeBSD";
- #else
- #error Platform not supported.
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_memory__details__linux.cc b/devel/electron11/files/patch-chrome_browser_memory__details__linux.cc
deleted file mode 100644
index 7c3bb2de2b54..000000000000
--- a/devel/electron11/files/patch-chrome_browser_memory__details__linux.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/browser/memory_details_linux.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/memory_details_linux.cc
-@@ -69,8 +69,10 @@ ProcessData GetProcessDataMemoryInformation(
-
- std::unique_ptr<base::ProcessMetrics> metrics(
- base::ProcessMetrics::CreateProcessMetrics(pid));
-+#if !defined(OS_BSD)
- pmi.num_open_fds = metrics->GetOpenFdCount();
- pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit();
-+#endif
-
- process_data.processes.push_back(pmi);
- }
diff --git a/devel/electron11/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/devel/electron11/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
deleted file mode 100644
index e36b22171792..000000000000
--- a/devel/electron11/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -50,7 +50,9 @@
-
- #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
- #include <gnu/libc-version.h>
-+#endif
-
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "base/linux_util.h"
- #include "base/strings/string_split.h"
- #include "base/strings/string_util.h"
-@@ -59,7 +61,7 @@
- #include "ui/base/ui_base_features.h"
- #include "ui/base/x/x11_util.h"
- #endif
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #if defined(USE_OZONE) || defined(USE_X11)
- #include "ui/events/devices/device_data_manager.h"
diff --git a/devel/electron11/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/devel/electron11/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
deleted file mode 100644
index 4bbe96acd50e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -685,11 +685,11 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
- #endif // defined(OS_WIN)
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- metrics_service_->RegisterMetricsProvider(
- std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
- #endif // defined(OS_WIN) || defined(OS_MAC) || \
-- // (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_PLUGINS)
- plugin_metrics_provider_ = new PluginMetricsProvider(local_state);
-@@ -955,7 +955,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
- }
- #endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // This creates the DesktopProfileSessionDurationsServices if it didn't exist
- // already.
- metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext(
diff --git a/devel/electron11/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/devel/electron11/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
deleted file mode 100644
index 9157a6b5e637..000000000000
--- a/devel/electron11/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/metrics/process_memory_metrics_emitter.cc
-@@ -496,7 +496,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
-
- builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / kKiB);
- builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / kKiB);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb /
- kKiB);
- #endif
-@@ -519,7 +519,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".SharedMemoryFootprint",
- pmd.os_dump().shared_footprint_kb / kKiB);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".PrivateSwapFootprint",
- pmd.os_dump().private_footprint_swap_kb / kKiB);
diff --git a/devel/electron11/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc b/devel/electron11/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc
deleted file mode 100644
index ed67ff9057d6..000000000000
--- a/devel/electron11/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc
-@@ -138,7 +138,7 @@ const struct {
- {base::DIR_APP_DATA, nullptr, kBlockAllChildren},
- {base::DIR_HOME, FILE_PATH_LITERAL("Library"), kBlockAllChildren},
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Linux also block access to devices via /dev, as well as security
- // sensitive data in /sys and /proc.
- {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren},
diff --git a/devel/electron11/files/patch-chrome_browser_net_system__network__context__manager.cc b/devel/electron11/files/patch-chrome_browser_net_system__network__context__manager.cc
deleted file mode 100644
index 424f1ecff12d..000000000000
--- a/devel/electron11/files/patch-chrome_browser_net_system__network__context__manager.cc
+++ /dev/null
@@ -1,64 +0,0 @@
---- chrome/browser/net/system_network_context_manager.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/net/system_network_context_manager.cc
-@@ -77,11 +77,11 @@
- #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/common/chrome_paths_internal.h"
- #include "chrome/grit/chromium_strings.h"
- #include "ui/base/l10n/l10n_util.h"
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_EXTENSIONS)
- #include "extensions/common/constants.h"
-@@ -140,10 +140,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
- auth_dynamic_params->enable_negotiate_port =
- local_state->GetBoolean(prefs::kEnableAuthNegotiatePort);
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- auth_dynamic_params->delegate_by_kdc_policy =
- local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- auth_dynamic_params->ntlm_v2_enabled =
-@@ -356,10 +356,10 @@ SystemNetworkContextManager::SystemNetworkContextManag
- pref_change_registrar_.Add(prefs::kEnableAuthNegotiatePort,
- auth_pref_callback);
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
- auth_pref_callback);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback);
-@@ -406,10 +406,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
- registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string());
- registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist,
- std::string());
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy,
- false);
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- registry->RegisterBooleanPref(
-@@ -492,7 +492,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
- // NetworkContext is created, but before anything has the chance to use it.
- stub_resolver_config_reader_.UpdateNetworkService(true /* record_metrics */);
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
-
diff --git a/devel/electron11/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/devel/electron11/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
deleted file mode 100644
index ed5cb3e51a24..000000000000
--- a/devel/electron11/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/notifications/notification_display_service_impl.cc
-@@ -29,7 +29,7 @@
- #include "chrome/browser/extensions/api/notifications/extension_notification_handler.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
- #include "chrome/browser/sharing/sharing_notification_handler.h"
-@@ -57,7 +57,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer
- // static
- void NotificationDisplayServiceImpl::RegisterProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- registry->RegisterBooleanPref(prefs::kAllowNativeNotifications, true);
- #endif
- }
-@@ -72,7 +72,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
- AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT,
- std::make_unique<PersistentNotificationHandler>());
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- AddNotificationHandler(
- NotificationHandler::Type::SEND_TAB_TO_SELF,
diff --git a/devel/electron11/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/devel/electron11/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
deleted file mode 100644
index 99ab3e68f3af..000000000000
--- a/devel/electron11/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -98,7 +98,11 @@
- #include "net/base/url_util.h"
- #include "net/cert/cert_status_flags.h"
- #include "services/metrics/public/cpp/ukm_recorder.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/url_constants.h"
-
- #if BUILDFLAG(FULL_SAFE_BROWSING)
diff --git a/devel/electron11/files/patch-chrome_browser_password__manager_password__store__factory.cc b/devel/electron11/files/patch-chrome_browser_password__manager_password__store__factory.cc
deleted file mode 100644
index 2c9622caed79..000000000000
--- a/devel/electron11/files/patch-chrome_browser_password__manager_password__store__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/password_manager/password_store_factory.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/password_manager/password_store_factory.cc
-@@ -188,7 +188,7 @@ PasswordStoreFactory::BuildServiceInstanceFor(
- network_context_getter);
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier =
- std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>(
- IdentityManagerFactory::GetForProfile(profile));
diff --git a/devel/electron11/files/patch-chrome_browser_pdf_pdf__extension__test.cc b/devel/electron11/files/patch-chrome_browser_pdf_pdf__extension__test.cc
deleted file mode 100644
index ddd330eccea7..000000000000
--- a/devel/electron11/files/patch-chrome_browser_pdf_pdf__extension__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/pdf/pdf_extension_test.cc
-@@ -2159,7 +2159,7 @@ class PDFExtensionClipboardTest : public PDFExtensionT
- // Runs `action` and checks the Linux selection clipboard contains `expected`.
- void DoActionAndCheckSelectionClipboard(base::OnceClosure action,
- const std::string& expected) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- DoActionAndCheckClipboard(std::move(action),
- ui::ClipboardBuffer::kSelection, expected);
- #else
diff --git a/devel/electron11/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc b/devel/electron11/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc
deleted file mode 100644
index 008920ef5117..000000000000
--- a/devel/electron11/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/plugins/plugin_info_host_impl.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/plugins/plugin_info_host_impl.cc
-@@ -391,7 +391,7 @@ void PluginInfoHostImpl::ComponentPluginLookupDone(
- std::unique_ptr<component_updater::ComponentInfo> cus_plugin_info) {
- if (cus_plugin_info) {
- output->status = chrome::mojom::PluginStatus::kComponentUpdateRequired;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (cus_plugin_info->version != base::Version("0")) {
- output->status = chrome::mojom::PluginStatus::kRestartRequired;
- }
diff --git a/devel/electron11/files/patch-chrome_browser_plugins_plugins__resource__service.cc b/devel/electron11/files/patch-chrome_browser_plugins_plugins__resource__service.cc
deleted file mode 100644
index 2523882729b0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_plugins_plugins__resource__service.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/plugins/plugins_resource_service.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/plugins/plugins_resource_service.cc
-@@ -62,7 +62,7 @@ GURL GetPluginsServerURL() {
- filename = "plugins_win.json";
- #elif defined(OS_CHROMEOS)
- filename = "plugins_chromeos.json";
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- filename = "plugins_linux.json";
- #elif defined(OS_MAC)
- filename = "plugins_mac.json";
diff --git a/devel/electron11/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/devel/electron11/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
deleted file mode 100644
index e448ae4639b0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
+++ /dev/null
@@ -1,30 +0,0 @@
---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -1248,11 +1248,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- base::Value::Type::BOOLEAN },
- #endif // !defined(OS_MAC) && !defined(OS_CHROMEOS)
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- { key::kAuthNegotiateDelegateByKdcPolicy,
- prefs::kAuthNegotiateDelegateByKdcPolicy,
- base::Value::Type::BOOLEAN },
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if !defined(OS_MAC)
- { key::kFullscreenAllowed,
-@@ -1302,11 +1302,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- base::Value::Type::BOOLEAN },
- #endif // BUILDFLAG(ENABLE_SPELLCHECK)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- { key::kAllowNativeNotifications,
- prefs::kAllowNativeNotifications,
- base::Value::Type::BOOLEAN },
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- { key::kScrollToTextFragmentEnabled,
- prefs::kScrollToTextFragmentEnabled,
diff --git a/devel/electron11/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/devel/electron11/files/patch-chrome_browser_policy_device__management__service__configuration.cc
deleted file mode 100644
index 70e4d668c6f9..000000000000
--- a/devel/electron11/files/patch-chrome_browser_policy_device__management__service__configuration.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/policy/device_management_service_configuration.cc
-@@ -18,7 +18,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
- #include "chrome/browser/enterprise/connectors/common.h"
- #include "chrome/browser/enterprise/connectors/connectors_manager.h"
- #endif
-@@ -86,7 +86,7 @@ std::string DeviceManagementServiceConfiguration::GetR
- std::string
- DeviceManagementServiceConfiguration::GetReportingConnectorServerUrl() {
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
-+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
- auto settings =
- enterprise_connectors::ConnectorsManager::GetInstance()
- ->GetReportingSettings(
diff --git a/devel/electron11/files/patch-chrome_browser_prefs_browser__prefs.cc b/devel/electron11/files/patch-chrome_browser_prefs_browser__prefs.cc
deleted file mode 100644
index 256e92251639..000000000000
--- a/devel/electron11/files/patch-chrome_browser_prefs_browser__prefs.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/prefs/browser_prefs.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/prefs/browser_prefs.cc
-@@ -379,7 +379,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
- #endif
-
-@@ -976,7 +976,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
- #endif
-
diff --git a/devel/electron11/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/devel/electron11/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
deleted file mode 100644
index f8a89f6abae2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/prefs/pref_service_incognito_allowlist.cc
-@@ -135,7 +135,7 @@ const char* const kPersistentPrefNames[] = {
- prefs::kShowFullscreenToolbar,
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_BSD) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
- // Toggleing custom frames affects all open windows in the profile, hence
- // should be written to the regular profile when changed in incognito mode.
- prefs::kUseCustomChromeFrame,
diff --git a/devel/electron11/files/patch-chrome_browser_printing_print__job__worker.cc b/devel/electron11/files/patch-chrome_browser_printing_print__job__worker.cc
deleted file mode 100644
index fbab9ef32dfd..000000000000
--- a/devel/electron11/files/patch-chrome_browser_printing_print__job__worker.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/printing/print_job_worker.cc.orig 2021-01-25 11:27:00 UTC
-+++ chrome/browser/printing/print_job_worker.cc
-@@ -223,7 +223,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
- crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
- print_backend->GetPrinterDriverInfo(printer_name));
-
--#if defined(OS_LINUX) && defined(USE_CUPS) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) && !defined(OS_CHROMEOS)
- PrinterBasicInfo basic_info;
- if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info)) {
- base::Value advanced_settings(base::Value::Type::DICTIONARY);
-@@ -233,7 +233,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
- new_settings.SetKey(kSettingAdvancedSettings,
- std::move(advanced_settings));
- }
--#endif // defined(OS_LINUX) && defined(USE_CUPS) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) && !defined(OS_CHROMEOS)
- }
-
- {
diff --git a/devel/electron11/files/patch-chrome_browser_process__singleton__posix.cc b/devel/electron11/files/patch-chrome_browser_process__singleton__posix.cc
deleted file mode 100644
index b18ad689f36d..000000000000
--- a/devel/electron11/files/patch-chrome_browser_process__singleton__posix.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- chrome/browser/process_singleton_posix.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/process_singleton_posix.cc
-@@ -94,11 +94,11 @@
- #include "net/base/network_interfaces.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "chrome/browser/ui/process_singleton_dialog_linux.h"
- #endif
-
--#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "ui/views/linux_ui/linux_ui.h"
- #endif
-
-@@ -295,7 +295,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
- if (g_disable_prompt)
- return g_user_opted_unlock_in_use_profile;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::string16 relaunch_button_text = l10n_util::GetStringUTF16(
- IDS_PROFILE_IN_USE_LINUX_RELAUNCH);
- return ShowProcessSingletonDialog(error, relaunch_button_text);
-@@ -871,7 +871,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::Notif
- SendRemoteProcessInteractionResultHistogram(REMOTE_PROCESS_SHUTTING_DOWN);
- return PROCESS_NONE;
- } else if (strncmp(buf, kACKToken, base::size(kACKToken) - 1) == 0) {
--#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Likely NULL in unit tests.
- views::LinuxUI* linux_ui = views::LinuxUI::instance();
- if (linux_ui)
diff --git a/devel/electron11/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/devel/electron11/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
deleted file mode 100644
index 0ee0953d3c83..000000000000
--- a/devel/electron11/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -304,7 +304,7 @@ void ChromeBrowserMainExtraPartsProfiles::
- media_router::MediaRouterUIServiceFactory::GetInstance();
- #endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
- #endif
- ModelTypeStoreServiceFactory::GetInstance();
diff --git a/devel/electron11/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/devel/electron11/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
deleted file mode 100644
index 9de8fb1c3371..000000000000
--- a/devel/electron11/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/profiles/profile_attributes_entry.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/profiles/profile_attributes_entry.cc
-@@ -166,7 +166,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac
- if (is_force_signin_enabled_) {
- if (!IsAuthenticated())
- is_force_signin_profile_locked_ = true;
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_WIN)
- } else if (IsSigninRequired()) {
- // Profiles that require signin in the absence of an enterprise policy are
diff --git a/devel/electron11/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/devel/electron11/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
deleted file mode 100644
index 88fa8f6a6b03..000000000000
--- a/devel/electron11/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
-@@ -2079,7 +2079,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id)
- case IDC_CHECK_SPELLING_WHILE_TYPING:
- return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable);
-
--#if !defined(OS_MAC) && defined(OS_POSIX)
-+#if !defined(OS_MAC) && !defined(OS_BSD) && defined(OS_POSIX)
- // TODO(suzhe): this should not be enabled for password fields.
- case IDC_INPUT_METHODS_MENU:
- return true;
diff --git a/devel/electron11/files/patch-chrome_browser_renderer__preferences__util.cc b/devel/electron11/files/patch-chrome_browser_renderer__preferences__util.cc
deleted file mode 100644
index b3540f60a785..000000000000
--- a/devel/electron11/files/patch-chrome_browser_renderer__preferences__util.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/renderer_preferences_util.cc.orig 2021-01-07 00:36:23 UTC
-+++ chrome/browser/renderer_preferences_util.cc
-@@ -34,7 +34,7 @@
- #include "ui/base/cocoa/defaults_utils.h"
- #endif
-
--#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include "chrome/browser/themes/theme_service.h"
- #include "chrome/browser/themes/theme_service_factory.h"
- #include "ui/views/linux_ui/linux_ui.h"
-@@ -164,7 +164,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr
- prefs->caret_blink_interval = interval;
- #endif
-
--#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- views::LinuxUI* linux_ui = views::LinuxUI::instance();
- if (linux_ui) {
- if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
-@@ -183,7 +183,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_WIN)
- content::UpdateFontRendererPreferencesFromSystemSettings(prefs);
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
deleted file mode 100644
index 43218e0a1676..000000000000
--- a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.html
-@@ -27,7 +27,7 @@
- <cr-link-row class="first" hidden="[[!pageVisibility.setTheme]]"
- label="$i18n{themes}" sub-label="[[themeSublabel_]]"
- on-click="openThemeUrl_" external></cr-link-row>
--<if expr="not is_linux or chromeos">
-+<if expr="not is_posix or chromeos">
- <template is="dom-if" if="[[prefs.extensions.theme.id.value]]">
- <div class="separator"></div>
- <cr-button id="useDefault" on-click="onUseDefaultTap_">
-@@ -35,7 +35,7 @@
- </cr-button>
- </template>
- </if>
--<if expr="is_linux and not chromeos">
-+<if expr="is_posix and not chromeos">
- <div class="settings-row continuation"
- hidden="[[!showThemesSecondary_(
- prefs.extensions.theme.id.value, useSystemTheme_)]]"
-@@ -99,7 +99,7 @@
- pref="{{prefs.bookmark_bar.show_on_all_tabs}}"
- label="$i18n{showBookmarksBar}">
- </settings-toggle-button>
--<if expr="is_linux and not chromeos">
-+<if expr="is_posix and not chromeos">
- <div class="hr" hidden="[[!pageVisibility.bookmarksBar]]"></div>
- <settings-toggle-button
- pref="{{prefs.browser.custom_chrome_frame}}"
diff --git a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js b/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js
deleted file mode 100644
index aa82036c684d..000000000000
--- a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js
+++ /dev/null
@@ -1,33 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_page.js.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.js
-@@ -137,7 +137,7 @@ Polymer({
- 'defaultFontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)',
- 'themeChanged_(prefs.extensions.theme.id.value, useSystemTheme_)',
-
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- // NOTE: this pref only exists on Linux.
- 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)',
- // </if>
-@@ -222,7 +222,7 @@ Polymer({
- this.appearanceBrowserProxy_.useDefaultTheme();
- },
-
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- /**
- * @param {boolean} useSystemTheme
- * @private
-@@ -299,10 +299,10 @@ Polymer({
- }
-
- let i18nId;
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme';
- // </if>
-- // <if expr="not is_linux or chromeos">
-+ // <if expr="not is_bsd or chromeos">
- i18nId = 'chooseFromWebStore';
- // </if>
- this.themeSublabel_ = this.i18n(i18nId);
diff --git a/devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
deleted file mode 100644
index e579b7735ee5..000000000000
--- a/devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -676,7 +676,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
- environment_collection_pending_ = false;
-
- // Process::Current().CreationTime() is missing on some platforms.
--#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- base::TimeDelta uptime =
- first_incident_time_ - base::Process::Current().CreationTime();
diff --git a/devel/electron11/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc b/devel/electron11/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc
deleted file mode 100644
index 52412246a4fd..000000000000
--- a/devel/electron11/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/search/search_suggest/search_suggest_service.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/search/search_suggest/search_suggest_service.cc
-@@ -21,7 +21,11 @@
- #include "components/prefs/scoped_user_pref_update.h"
- #include "components/signin/public/identity_manager/accounts_in_cookie_jar_info.h"
- #include "components/signin/public/identity_manager/identity_manager.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace {
-
diff --git a/devel/electron11/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/devel/electron11/files/patch-chrome_browser_sharing_sharing__device__registration.cc
deleted file mode 100644
index 84c73ad7488e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_sharing_sharing__device__registration.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/sharing/sharing_device_registration.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/sharing/sharing_device_registration.cc
-@@ -325,7 +325,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported(
- }
-
- bool SharingDeviceRegistration::IsRemoteCopySupported() const {
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- return base::FeatureList::IsEnabled(kRemoteCopyReceiver);
- #else
diff --git a/devel/electron11/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/devel/electron11/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
deleted file mode 100644
index f7bdc210d245..000000000000
--- a/devel/electron11/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/sharing/sharing_handler_registry_impl.cc
-@@ -22,10 +22,10 @@
- #include "chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.h"
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- #include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h"
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- SharingHandlerRegistryImpl::SharingHandlerRegistryImpl(
-@@ -70,14 +70,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
- {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage});
- }
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- if (sharing_device_registration->IsRemoteCopySupported()) {
- AddSharingHandler(
- std::make_unique<RemoteCopyMessageHandler>(profile),
- {chrome_browser_sharing::SharingMessage::kRemoteCopyMessage});
- }
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- }
-
diff --git a/devel/electron11/files/patch-chrome_browser_sync_chrome__sync__client.cc b/devel/electron11/files/patch-chrome_browser_sync_chrome__sync__client.cc
deleted file mode 100644
index 0df7c8a0e08c..000000000000
--- a/devel/electron11/files/patch-chrome_browser_sync_chrome__sync__client.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/sync/chrome_sync_client.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/sync/chrome_sync_client.cc
-@@ -458,7 +458,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
-
- // Chrome prefers OS provided spell checkers where they exist. So only sync the
- // custom dictionary on platforms that typically don't provide one.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- // Dictionary sync is enabled by default.
- if (!disabled_types.Has(syncer::DICTIONARY) &&
- GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) {
-@@ -467,7 +467,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
- syncer::DICTIONARY, model_type_store_factory,
- GetSyncableServiceForType(syncer::DICTIONARY), dump_stack));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- if (arc::IsArcAllowedForProfile(profile_) &&
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.cc
deleted file mode 100644
index 888d5cddc064..000000000000
--- a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/task_manager/sampling/task_group.cc
-@@ -32,9 +32,9 @@ const int kBackgroundRefreshTypesMask =
- #if defined(OS_WIN)
- REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME |
- #endif // defined(OS_WIN)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- REFRESH_TYPE_FD_COUNT |
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- #if BUILDFLAG(ENABLE_NACL)
- REFRESH_TYPE_NACL |
- #endif // BUILDFLAG(ENABLE_NACL)
-@@ -113,9 +113,9 @@ TaskGroup::TaskGroup(
- #if BUILDFLAG(ENABLE_NACL)
- nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown),
- #endif // BUILDFLAG(ENABLE_NACL)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- open_fd_count_(-1),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- idle_wakeups_per_second_(-1),
- gpu_memory_has_duplicates_(false),
- is_backgrounded_(false) {
-@@ -128,10 +128,10 @@ TaskGroup::TaskGroup(
- weak_ptr_factory_.GetWeakPtr()),
- base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone,
- weak_ptr_factory_.GetWeakPtr()),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone,
- weak_ptr_factory_.GetWeakPtr()),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- base::BindRepeating(&TaskGroup::OnProcessPriorityDone,
- weak_ptr_factory_.GetWeakPtr()));
-
-@@ -299,14 +299,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
- }
- #endif // BUILDFLAG(ENABLE_NACL)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-
- open_fd_count_ = open_fd_count;
- OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- void TaskGroup::OnCpuRefreshDone(double cpu_usage) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.h b/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.h
deleted file mode 100644
index c138c50dc1f2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group.h
+++ /dev/null
@@ -1,48 +0,0 @@
---- chrome/browser/task_manager/sampling/task_group.h.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/task_manager/sampling/task_group.h
-@@ -39,7 +39,7 @@ constexpr int kUnsupportedVMRefreshFlags =
- REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE |
- REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES |
- REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY |
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- REFRESH_TYPE_FD_COUNT |
- #endif
- REFRESH_TYPE_HARD_FAULTS;
-@@ -122,9 +122,9 @@ class TaskGroup {
- int nacl_debug_stub_port() const { return nacl_debug_stub_port_; }
- #endif // BUILDFLAG(ENABLE_NACL)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- int open_fd_count() const { return open_fd_count_; }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- int idle_wakeups_per_second() const { return idle_wakeups_per_second_; }
-
-@@ -138,9 +138,9 @@ class TaskGroup {
- void RefreshNaClDebugStubPort(int child_process_unique_id);
- void OnRefreshNaClDebugStubPortDone(int port);
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- void OnOpenFdCountRefreshDone(int open_fd_count);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- void OnCpuRefreshDone(double cpu_usage);
- void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes);
-@@ -209,10 +209,10 @@ class TaskGroup {
- #if BUILDFLAG(ENABLE_NACL)
- int nacl_debug_stub_port_;
- #endif // BUILDFLAG(ENABLE_NACL)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- // The number of file descriptors currently open by the process.
- int open_fd_count_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- int idle_wakeups_per_second_;
- bool gpu_memory_has_duplicates_;
- bool is_backgrounded_;
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
deleted file mode 100644
index 488c462072f2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
+++ /dev/null
@@ -1,72 +0,0 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/task_manager/sampling/task_group_sampler.cc
-@@ -43,9 +43,9 @@ TaskGroupSampler::TaskGroupSampler(
- const OnCpuRefreshCallback& on_cpu_refresh,
- const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
- const OnIdleWakeupsCallback& on_idle_wakeups,
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- const OnOpenFdCountCallback& on_open_fd_count,
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- const OnProcessPriorityCallback& on_process_priority)
- : process_(std::move(process)),
- process_metrics_(CreateProcessMetrics(process_.Handle())),
-@@ -53,9 +53,9 @@ TaskGroupSampler::TaskGroupSampler(
- on_cpu_refresh_callback_(on_cpu_refresh),
- on_swapped_mem_refresh_callback_(on_swapped_mem_refresh),
- on_idle_wakeups_callback_(on_idle_wakeups),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- on_open_fd_count_callback_(on_open_fd_count),
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- on_process_priority_callback_(on_process_priority) {
- DCHECK(blocking_pool_runner.get());
-
-@@ -85,7 +85,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- base::BindOnce(on_swapped_mem_refresh_callback_));
- }
-
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
- refresh_flags)) {
- base::PostTaskAndReplyWithResult(
-@@ -93,9 +93,9 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- base::BindOnce(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this),
- base::BindOnce(on_idle_wakeups_callback_));
- }
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
- refresh_flags)) {
- base::PostTaskAndReplyWithResult(
-@@ -103,7 +103,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
- base::BindOnce(&TaskGroupSampler::RefreshOpenFdCount, this),
- base::BindOnce(on_open_fd_count_callback_));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY,
- refresh_flags)) {
-@@ -145,13 +145,13 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
- return process_metrics_->GetIdleWakeupsPerSecond();
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- int TaskGroupSampler::RefreshOpenFdCount() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
-
- return process_metrics_->GetOpenFdCount();
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
-
- bool TaskGroupSampler::RefreshProcessPriority() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
deleted file mode 100644
index aecb62ba624b..000000000000
--- a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/task_manager/sampling/task_manager_impl.cc
-@@ -220,11 +220,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
- }
-
- int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- return GetTaskGroupByTaskId(task_id)->open_fd_count();
- #else
- return -1;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- }
-
- bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const {
diff --git a/devel/electron11/files/patch-chrome_browser_themes_theme__service__factory.cc b/devel/electron11/files/patch-chrome_browser_themes_theme__service__factory.cc
deleted file mode 100644
index 95e0ab360d52..000000000000
--- a/devel/electron11/files/patch-chrome_browser_themes_theme__service__factory.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/themes/theme_service_factory.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/themes/theme_service_factory.cc
-@@ -22,7 +22,7 @@
- #include "chrome/browser/themes/theme_helper_win.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/themes/theme_service_aura_linux.h"
- #include "ui/views/linux_ui/linux_ui.h"
- #endif
-@@ -77,7 +77,7 @@ ThemeServiceFactory::~ThemeServiceFactory() {}
-
- KeyedService* ThemeServiceFactory::BuildServiceInstanceFor(
- content::BrowserContext* profile) const {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- using ThemeService = ThemeServiceAuraLinux;
- #endif
-
-@@ -89,7 +89,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc
-
- void ThemeServiceFactory::RegisterProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool default_uses_system_theme = false;
-
- const views::LinuxUI* linux_ui = views::LinuxUI::instance();
diff --git a/devel/electron11/files/patch-chrome_browser_tracing_crash__service__uploader.cc b/devel/electron11/files/patch-chrome_browser_tracing_crash__service__uploader.cc
deleted file mode 100644
index 49bc239c84c0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_tracing_crash__service__uploader.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/tracing/crash_service_uploader.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/tracing/crash_service_uploader.cc
-@@ -160,6 +160,8 @@ void TraceCrashServiceUploader::DoCompressOnBackground
- const char product[] = "Chrome_Linux";
- #elif defined(OS_ANDROID)
- const char product[] = "Chrome_Android";
-+#elif defined(OS_FREEBSD)
-+ const char product[] = "Chrome_FreeBSD";
- #else
- #error Platform not supported.
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_BUILD.gn b/devel/electron11/files/patch-chrome_browser_ui_BUILD.gn
deleted file mode 100644
index 45da075d5c27..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- chrome/browser/ui/BUILD.gn.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/BUILD.gn
-@@ -615,12 +615,15 @@ static_library("ui") {
- deps += [ "//components/autofill/content/browser/webauthn" ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
- deps += [
- "//components/crash/core/app",
- "//components/crash/core/browser",
- ]
-+ }
-+ if (is_bsd) {
-+ deps += [ "//components/crash/core/browser" ]
- }
-
- if (is_win || is_android || is_linux || is_chromeos) {
diff --git a/devel/electron11/files/patch-chrome_browser_ui_browser__command__controller.cc b/devel/electron11/files/patch-chrome_browser_ui_browser__command__controller.cc
deleted file mode 100644
index 763d681ff29e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_browser__command__controller.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/ui/browser_command_controller.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/browser_command_controller.cc
-@@ -82,7 +82,7 @@
- #include "components/session_manager/core/session_manager.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-
-@@ -246,7 +246,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
- #endif
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // If this key was registered by the user as a content editing hotkey, then
- // it is not reserved.
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
-@@ -473,7 +473,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
- break;
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- case IDC_MINIMIZE_WINDOW:
- browser_->window()->Minimize();
- break;
-@@ -940,7 +940,7 @@ void BrowserCommandController::InitCommandState() {
- command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true);
- command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true);
- #endif
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true);
- command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true);
- command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true);
diff --git a/devel/electron11/files/patch-chrome_browser_ui_browser__view__prefs.cc b/devel/electron11/files/patch-chrome_browser_ui_browser__view__prefs.cc
deleted file mode 100644
index ee1571500d74..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_browser__view__prefs.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- chrome/browser/ui/browser_view_prefs.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/browser_view_prefs.cc
-@@ -26,7 +26,7 @@ namespace {
- // Old values: 0 = SHRINK (default), 1 = STACKED.
- const char kTabStripLayoutType[] = "tab_strip_layout_type";
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- bool GetCustomFramePrefDefault() {
- #if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform()) {
-@@ -51,10 +51,10 @@ void RegisterBrowserViewLocalPrefs(PrefRegistrySimple*
-
- void RegisterBrowserViewProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
- GetCustomFramePrefDefault());
--#endif // defined(OS_LINUX) && defined(!OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(!OS_CHROMEOS)
- }
-
- void MigrateBrowserTabStripPrefs(PrefService* prefs) {
diff --git a/devel/electron11/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/devel/electron11/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
deleted file mode 100644
index 53934853a946..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/startup/bad_flags_prompt.cc
-@@ -88,7 +88,7 @@ static const char* kBadFlags[] = {
- extensions::switches::kExtensionsOnChromeURLs,
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Speech dispatcher is buggy, it can crash and it can make Chrome freeze.
- // http://crbug.com/327295
- switches::kEnableSpeechDispatcher,
diff --git a/devel/electron11/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/devel/electron11/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
deleted file mode 100644
index 18f54a25d81e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/startup/startup_browser_creator.cc
-@@ -274,7 +274,7 @@ bool CanOpenProfileOnStartup(Profile* profile) {
- // true, send a warning if guest mode is requested but not allowed by policy.
- bool IsGuestModeEnforced(const base::CommandLine& command_line,
- bool show_warning) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
- PrefService* service = g_browser_process->local_state();
- DCHECK(service);
diff --git a/devel/electron11/files/patch-chrome_browser_ui_tab__helpers.cc b/devel/electron11/files/patch-chrome_browser_ui_tab__helpers.cc
deleted file mode 100644
index 32a19ead11a0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_tab__helpers.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/tab_helpers.cc
-@@ -146,7 +146,7 @@
- #include "chrome/browser/ui/app_list/search/cros_action_history/cros_action_recorder_tab_tracker.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
- #include "chrome/browser/ui/hats/hats_helper.h"
-@@ -398,11 +398,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- if (base::FeatureList::IsEnabled(
- features::kHappinessTrackingSurveysForDesktop) ||
diff --git a/devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
deleted file mode 100644
index 8a6f32531841..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/task_manager/task_manager_columns.cc
-@@ -93,10 +93,10 @@ const TableColumnData kColumns[] = {
- base::size("100000") * kCharWidth, -1, true, false, false},
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- {IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
- base::size("999") * kCharWidth, -1, true, false, false},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- {IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN, ui::TableColumn::LEFT, -1, 0,
- base::size("background") * kCharWidth, -1, true, true, false},
- {IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
diff --git a/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__dialog.cc b/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
deleted file mode 100644
index 0024c596f3ae..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/test/test_browser_dialog.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/test/test_browser_dialog.cc
-@@ -114,7 +114,7 @@ bool TestBrowserDialog::VerifyUi() {
-
- views::Widget* dialog_widget = *(added.begin());
- // TODO(https://crbug.com/958242) support Mac for pixel tests.
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- dialog_widget->SetBlockCloseForTesting(true);
- // Deactivate before taking screenshot. Deactivated dialog pixel outputs
- // is more predictable than activated dialog.
diff --git a/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__ui.cc
deleted file mode 100644
index 1b53dab83ebb..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_test_test__browser__ui.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/test/test_browser_ui.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/test/test_browser_ui.cc
-@@ -10,7 +10,7 @@
- #include "build/build_config.h"
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/test/pixel/browser_skia_gold_pixel_diff.h"
- #include "ui/base/test/skia_gold_matching_algorithm.h"
- #include "ui/compositor/test/draw_waiter_for_test.h"
-@@ -32,7 +32,7 @@ std::string NameFromTestCase() {
- } // namespace
-
- TestBrowserUi::TestBrowserUi() {
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Default to fuzzy diff. The magic number is chosen based on
- // past experiments.
- SetPixelMatchAlgorithm(
-@@ -43,7 +43,7 @@ TestBrowserUi::TestBrowserUi() {
- TestBrowserUi::~TestBrowserUi() = default;
-
- // TODO(https://crbug.com/958242) support Mac for pixel tests.
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool TestBrowserUi::VerifyPixelUi(views::Widget* widget,
- const std::string& screenshot_prefix,
- const std::string& screenshot_name) {
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_accelerator__table.cc b/devel/electron11/files/patch-chrome_browser_ui_views_accelerator__table.cc
deleted file mode 100644
index 4e782daf8427..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_accelerator__table.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- chrome/browser/ui/views/accelerator_table.cc.orig 2021-01-07 00:36:24 UTC
-+++ chrome/browser/ui/views/accelerator_table.cc
-@@ -58,7 +58,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
- {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE},
- {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
- {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
- {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
- {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT},
-@@ -88,7 +88,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
- {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6},
- {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
- {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
- {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
- {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1},
-@@ -106,7 +106,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
- {ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
- {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
- {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR},
--#endif // OS_LINUX && !OS_CHROMEOS
-+#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS
- {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR,
- IDC_SHOW_BOOKMARK_BAR},
- {ui::VKEY_OEM_MINUS, ui::EF_PLATFORM_ACCELERATOR, IDC_ZOOM_MINUS},
-@@ -132,14 +132,14 @@ const AcceleratorMapping kAcceleratorMap[] = {
- IDC_SHOW_AVATAR_MENU},
-
- // Platform-specific key maps.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK},
- {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD},
- {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE},
- {ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE},
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash.
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc b/devel/electron11/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
deleted file mode 100644
index 7e9b1664a865..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc
-@@ -1848,7 +1848,7 @@ class BookmarkBarViewTest20 : public BookmarkBarViewEv
- }
-
- void Step3() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- EXPECT_EQ(1, test_view_->press_count());
- #else
- EXPECT_EQ(2, test_view_->press_count());
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/devel/electron11/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
deleted file mode 100644
index 0049a1608f7c..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
-@@ -34,7 +34,7 @@
- #include "ui/wm/core/wm_state.h"
- #endif // defined(USE_AURA)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <unistd.h>
-@@ -44,7 +44,7 @@
- #include "chrome/grit/generated_resources.h"
- #include "content/public/common/content_switches.h"
- #include "ui/base/l10n/l10n_util.h"
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
-
- // This connector is used in ui_devtools's TracingAgent to hook up with the
- // tracing service.
-@@ -114,7 +114,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
- return controller;
- }));
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- // On the Linux desktop, we want to prevent the user from logging in as root,
- // so that we don't destroy the profile. Now that we have some minimal ui
- // initialized, check to see if we're running as root and bail if we are.
-@@ -145,7 +145,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
- base::RunLoop().RunUntilIdle();
-
- exit(EXIT_FAILURE);
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- }
-
- void ChromeBrowserMainExtraPartsViews::PostBrowserStart() {
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/devel/electron11/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
deleted file mode 100644
index 10cd4f9eaa76..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/chrome_views_delegate.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/chrome_views_delegate.h
-@@ -44,7 +44,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat
- HICON GetSmallWindowIcon() const override;
- int GetAppbarAutohideEdges(HMONITOR monitor,
- base::OnceClosure callback) override;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- gfx::ImageSkia* GetDefaultWindowIcon() const override;
- bool WindowManagerProvidesTitleBar(bool maximized) override;
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/devel/electron11/files/patch-chrome_browser_ui_views_download_download__item__view.cc
deleted file mode 100644
index fd1bbcb0787e..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_download_download__item__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/download/download_item_view.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/download/download_item_view.cc
-@@ -190,7 +190,7 @@ bool UseNewWarnings() {
- }
-
- int GetFilenameStyle(const views::StyledLabel& label) {
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- if (UseNewWarnings())
- return STYLE_EMPHASIZED;
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/devel/electron11/files/patch-chrome_browser_ui_views_first__run__dialog.cc
deleted file mode 100644
index 4a5a43bd0b6b..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_first__run__dialog.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/ui/views/first_run_dialog.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/first_run_dialog.cc
-@@ -114,9 +114,11 @@ void FirstRunDialog::Done() {
- bool FirstRunDialog::Accept() {
- GetWidget()->Hide();
-
-+#if !defined(OS_BSD)
- ChangeMetricsReportingStateWithReply(
- report_crashes_->GetChecked(),
- base::BindRepeating(&InitCrashReporterIfEnabled));
-+#endif
-
- if (make_default_->GetChecked())
- shell_integration::SetAsDefaultBrowser();
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
deleted file mode 100644
index 3186f89c113d..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -38,14 +38,14 @@
- #include "components/user_manager/user_manager.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/display/screen.h"
- #endif
-
- namespace {
-
- bool IsUsingGtkTheme(Profile* profile) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme();
- #else
- return false;
-@@ -204,7 +204,7 @@ const ui::NativeTheme* BrowserFrame::GetNativeTheme()
-
- void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
- chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // If the window was sent to a different workspace, prioritize it if
- // it was sent to the current workspace and deprioritize it
- // otherwise. This is done by MoveBrowsersInWorkspaceToFront()
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
deleted file mode 100644
index e08903662c3a..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
-@@ -13,7 +13,7 @@
- #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.h"
- #include "chrome/browser/ui/views/frame/desktop_linux_browser_frame_view_layout.h"
- #include "ui/views/linux_ui/linux_ui.h"
-@@ -27,7 +27,7 @@ namespace {
- std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBrowserFrameView(
- BrowserFrame* frame,
- BrowserView* browser_view) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- auto* linux_ui = views::LinuxUI::instance();
- auto* profile = browser_view->browser()->profile();
- auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile);
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__view.cc
deleted file mode 100644
index 5051d88ab9c8..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_browser__view.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -1474,7 +1474,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating
- void BrowserView::TabDraggingStatusChanged(bool is_dragging) {
- // TODO(crbug.com/1110266): Remove explicit OS_CHROMEOS check once OS_LINUX
- // CrOS cleanup is done.
--#if !defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- contents_web_view_->SetFastResize(is_dragging);
- if (!is_dragging) {
- // When tab dragging is ended, we need to make sure the web contents get
-@@ -1854,7 +1854,7 @@ void BrowserView::UserChangedTheme(BrowserThemeChangeT
- const bool should_use_native_frame = frame_->ShouldUseNativeFrame();
-
- bool must_regenerate_frame;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // GTK and user theme changes can both change frame buttons, so the frame
- // always needs to be regenerated on Linux.
- must_regenerate_frame = true;
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
deleted file mode 100644
index 9b488e8b7860..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
-@@ -49,7 +49,7 @@
- #include "ui/views/window/vector_icons/vector_icons.h"
- #include "ui/views/window/window_shape.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/views/controls/menu/menu_runner.h"
- #endif
-
-@@ -464,7 +464,7 @@ bool OpaqueBrowserFrameView::EverHasVisibleBackgroundT
-
- OpaqueBrowserFrameView::FrameButtonStyle
- OpaqueBrowserFrameView::GetFrameButtonStyle() const {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return FrameButtonStyle::kMdButton;
- #else
- return FrameButtonStyle::kImageButton;
-@@ -657,7 +657,7 @@ gfx::Rect OpaqueBrowserFrameView::IconBounds() const {
- }
-
- void OpaqueBrowserFrameView::WindowIconPressed() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // TODO(pbos): Figure out / document why this is Linux only. This needs a
- // comment.
- views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
deleted file mode 100644
index 7afa4578f24b..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
-@@ -63,7 +63,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM
-
- void SystemMenuModelBuilder::BuildSystemMenuForBrowserWindow(
- ui::SimpleMenuModel* model) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU);
- model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU);
- model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU);
-@@ -78,7 +78,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
- model->AddSeparator(ui::NORMAL_SEPARATOR);
- model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
- }
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- model->AddSeparator(ui::NORMAL_SEPARATOR);
- model->AddCheckItemWithStringId(IDC_USE_SYSTEM_TITLE_BAR,
- IDS_SHOW_WINDOW_DECORATIONS_MENU);
-@@ -116,7 +116,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo
- model->AddSeparator(ui::NORMAL_SEPARATOR);
- model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
- }
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- model->AddSeparator(ui::NORMAL_SEPARATOR);
- model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE);
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
deleted file mode 100644
index 4b8ea31d3ba8..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc
-@@ -15,7 +15,7 @@
- #include "components/sessions/core/tab_restore_service.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "chrome/common/pref_names.h"
- #include "components/prefs/pref_service.h"
- #endif
-@@ -30,7 +30,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate(
- SystemMenuModelDelegate::~SystemMenuModelDelegate() {}
-
- bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (command_id == IDC_USE_SYSTEM_TITLE_BAR) {
- PrefService* prefs = browser_->profile()->GetPrefs();
- return !prefs->GetBoolean(prefs::kUseCustomChromeFrame);
-@@ -44,7 +44,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c
- }
-
- bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool is_maximized = browser_->window()->IsMaximized();
- switch (command_id) {
- case IDC_MAXIMIZE_WINDOW:
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/devel/electron11/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
deleted file mode 100644
index f6a6b3f77429..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/hung_renderer_view.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/hung_renderer_view.cc
-@@ -421,7 +421,7 @@ void HungRendererDialogView::ForceCrashHungRenderer()
- content::RenderProcessHost* rph =
- hung_pages_table_model_->GetRenderWidgetHost()->GetProcess();
- if (rph) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // A generic |CrashDumpHungChildProcess()| is not implemented for Linux.
- // Instead we send an explicit IPC to crash on the renderer's IO thread.
- rph->ForceCrash();
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc b/devel/electron11/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
deleted file mode 100644
index ff4697f801a0..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/new_tab_button.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/tabs/new_tab_button.cc
-@@ -57,7 +57,7 @@ class NewTabButton::HighlightPathGenerator
- NewTabButton::NewTabButton(TabStrip* tab_strip, PressedCallback callback)
- : views::ImageButton(std::move(callback)), tab_strip_(tab_strip) {
- SetAnimateOnStateChange(true);
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- SetTriggerableEventFlags(GetTriggerableEventFlags() |
- ui::EF_MIDDLE_MOUSE_BUTTON);
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab.cc b/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab.cc
deleted file mode 100644
index 404f095d6e5f..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/tab.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/tabs/tab.cc
-@@ -571,7 +571,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
- if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled())
- return;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Move the hit test area for hovering up so that it is not overlapped by tab
- // hover cards when they are shown.
- // TODO(crbug/978134): Once Linux/CrOS widget transparency is solved, remove
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
deleted file mode 100644
index 5ec140f0f6bc..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -445,7 +445,7 @@ void TabDragController::Init(TabDragContext* source_co
- // synchronous on desktop Linux, so use that.
- // - Chrome OS
- // Releasing capture on Ash cancels gestures so avoid it.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- can_release_capture_ = false;
- #endif
- start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y());
-@@ -895,7 +895,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
- else
- SetCapture(target_context);
-
--#if !defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if (!defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD)
- // EndMoveLoop is going to snap the window back to its original location.
- // Hide it so users don't see this. Hiding a window in Linux aura causes
- // it to lose capture so skip it.
-@@ -2081,7 +2081,7 @@ TabDragController::Liveness TabDragController::GetLoca
- if (dragged_window)
- exclude.insert(dragged_window);
- }
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Exclude windows which are pending deletion via Browser::TabStripEmpty().
- // These windows can be returned in the Linux Aura port because the browser
- // window which was used for dragging is not hidden once all of its tabs are
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_web__apps_pwa__confirmation__bubble__view.cc b/devel/electron11/files/patch-chrome_browser_ui_views_web__apps_pwa__confirmation__bubble__view.cc
deleted file mode 100644
index ca08e7cd9b91..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_views_web__apps_pwa__confirmation__bubble__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/views/web_apps/pwa_confirmation_bubble_view.cc
-@@ -34,7 +34,7 @@
-
- namespace {
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- constexpr char kDeviceTypeForCheckbox[] = "computer";
- #else
diff --git a/devel/electron11/files/patch-chrome_browser_ui_webui_about__ui.cc b/devel/electron11/files/patch-chrome_browser_ui_webui_about__ui.cc
deleted file mode 100644
index 67228bd53a15..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_webui_about__ui.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/webui/about_ui.cc
-@@ -579,7 +579,7 @@ std::string ChromeURLs() {
- return html;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::string AboutLinuxProxyConfig() {
- std::string data;
- AppendHeader(&data, 0,
-@@ -635,7 +635,7 @@ void AboutUIHTMLSource::StartDataRequest(
- response =
- ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
- }
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
- response = AboutLinuxProxyConfig();
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/devel/electron11/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
deleted file mode 100644
index 7bb044dedbf7..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
+++ /dev/null
@@ -1,58 +0,0 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -246,12 +246,12 @@
- #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- #include "chrome/browser/ui/webui/discards/discards_ui.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h"
- #endif
-@@ -425,7 +425,7 @@ bool IsAboutUI(const GURL& url) {
- #if !defined(OS_ANDROID)
- || url.host_piece() == chrome::kChromeUITermsHost
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost
- #endif
- #if defined(OS_CHROMEOS)
-@@ -816,7 +816,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- if (url.host_piece() == chrome::kChromeUINaClHost)
- return &NewWebUI<NaClUI>;
- #endif
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
- defined(USE_AURA)
- if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost)
- return &NewWebUI<ConstrainedWebDialogUI>;
-@@ -865,19 +865,19 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- return &NewWebUI<media_router::MediaRouterInternalsUI>;
- }
- #endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- if (url.host_piece() == chrome::kChromeUISandboxHost) {
- return &NewWebUI<SandboxInternalsUI>;
- }
- #endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- if (url.host_piece() == chrome::kChromeUIDiscardsHost)
- return &NewWebUI<DiscardsUI>;
- #endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost)
- return &NewWebUI<BrowserSwitchUI>;
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
deleted file mode 100644
index 5cb814e93c00..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/webui/settings/appearance_handler.cc
-@@ -27,7 +27,7 @@ void AppearanceHandler::RegisterMessages() {
- "useDefaultTheme",
- base::BindRepeating(&AppearanceHandler::HandleUseDefaultTheme,
- base::Unretained(this)));
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS)
- web_ui()->RegisterMessageCallback(
- "useSystemTheme",
- base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme,
-@@ -39,7 +39,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba
- ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme();
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS)
- void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) {
- if (profile_->IsSupervised())
- NOTREACHED();
diff --git a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
deleted file mode 100644
index 9b03572a18e3..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/webui/settings/appearance_handler.h
-@@ -36,7 +36,7 @@ class AppearanceHandler : public SettingsPageUIHandler
- // Changes the UI theme of the browser to the default theme.
- void HandleUseDefaultTheme(const base::ListValue* args);
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- // Changes the UI theme of the browser to the system (GTK+) theme.
- void HandleUseSystemTheme(const base::ListValue* args);
- #endif
diff --git a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/devel/electron11/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
deleted file mode 100644
index 3b6a509d3835..000000000000
--- a/devel/electron11/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -335,7 +335,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
- {"minimumFont", IDS_SETTINGS_MINIMUM_FONT_SIZE_LABEL},
- {"tiny", IDS_SETTINGS_TINY_FONT_SIZE},
- {"huge", IDS_SETTINGS_HUGE_FONT_SIZE},
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- {"systemTheme", IDS_SETTINGS_SYSTEM_THEME},
- {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME},
- {"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
diff --git a/devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc b/devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc
deleted file mode 100644
index 4706a75e9ef2..000000000000
--- a/devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/components/web_app_shortcut.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/web_applications/components/web_app_shortcut.cc
-@@ -34,7 +34,7 @@ namespace {
-
- #if defined(OS_MAC)
- const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Linux supports icons of any size. FreeDesktop Icon Theme Specification states
- // that "Minimally you should install a 48x48 icon in the hicolor theme."
- const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512};
diff --git a/devel/electron11/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc b/devel/electron11/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc
deleted file mode 100644
index e42254f4d916..000000000000
--- a/devel/electron11/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc
-@@ -15,7 +15,7 @@ namespace {
-
- #if !defined(OS_CHROMEOS)
- bool CanOsAddDesktopShortcuts() {
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- return true;
- #else
- return false;
diff --git a/devel/electron11/files/patch-chrome_common_BUILD.gn b/devel/electron11/files/patch-chrome_common_BUILD.gn
deleted file mode 100644
index 87947ce844be..000000000000
--- a/devel/electron11/files/patch-chrome_common_BUILD.gn
+++ /dev/null
@@ -1,37 +0,0 @@
---- chrome/common/BUILD.gn.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/BUILD.gn
-@@ -250,6 +250,10 @@ static_library("common") {
- public_deps += [ "//ppapi/shared_impl" ]
- }
-
-+ if (is_bsd) {
-+ deps -= [ "//components/crash/core/app" ]
-+ }
-+
- if (enable_extensions) {
- sources += [
- "cast_messages.cc",
-@@ -487,7 +491,7 @@ static_library("common") {
- public_deps += [ "//chrome/common/safe_browsing" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "auto_start_linux.cc",
- "auto_start_linux.h",
-@@ -496,6 +500,14 @@ static_library("common") {
- "multi_process_lock_linux.cc",
- ]
- deps += [ "//sandbox/linux:sandbox_services" ]
-+ }
-+
-+ if (is_bsd) {
-+ sources += [
-+ "auto_start_linux.cc",
-+ "auto_start_linux.h",
-+ "multi_process_lock_linux.cc",
-+ ]
- }
-
- if (enable_cdm_host_verification) {
diff --git a/devel/electron11/files/patch-chrome_common_channel__info.h b/devel/electron11/files/patch-chrome_common_channel__info.h
deleted file mode 100644
index 4ff35399e3e3..000000000000
--- a/devel/electron11/files/patch-chrome_common_channel__info.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/channel_info.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/channel_info.h
-@@ -61,7 +61,7 @@ bool IsSideBySideCapable();
- std::string GetChannelSuffixForDataDir();
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Returns the channel-specific filename of the desktop shortcut used to launch
- // the browser.
- std::string GetDesktopName(base::Environment* env);
diff --git a/devel/electron11/files/patch-chrome_common_channel__info__posix.cc b/devel/electron11/files/patch-chrome_common_channel__info__posix.cc
deleted file mode 100644
index cddef41ef5e7..000000000000
--- a/devel/electron11/files/patch-chrome_common_channel__info__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/common/channel_info_posix.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/channel_info_posix.cc
-@@ -67,7 +67,7 @@ std::string GetChannelSuffixForDataDir() {
- }
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- std::string GetDesktopName(base::Environment* env) {
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- // Google Chrome packaged as a snap is a special case: the application name
-@@ -96,7 +96,7 @@ std::string GetDesktopName(base::Environment* env) {
- return "chromium-browser.desktop";
- #endif
- }
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- version_info::Channel GetChannel() {
- return GetChannelImpl(nullptr);
diff --git a/devel/electron11/files/patch-chrome_common_chrome__features.cc b/devel/electron11/files/patch-chrome_common_chrome__features.cc
deleted file mode 100644
index 1a916d6d1d43..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__features.cc
+++ /dev/null
@@ -1,33 +0,0 @@
---- chrome/common/chrome_features.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_features.cc
-@@ -96,13 +96,13 @@ const base::Feature kAsyncDns {
- #endif
- };
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Enables the Restart background mode optimization. When all Chrome UI is
- // closed and it goes in the background, allows to restart the browser to
- // discard memory.
- const base::Feature kBackgroundModeAllowRestart{
- "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // Enable Borealis on Chrome OS.
-@@ -337,12 +337,12 @@ const base::Feature kEnableAmbientAuthenticationInInco
- "EnableAmbientAuthenticationInIncognito",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- COMPONENT_EXPORT(CHROME_FEATURES)
- // Enables ephemeral Guest profiles on desktop.
- extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop{
- "EnableEphemeralGuestProfilesOnDesktop", base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- // Enables users to create a desktop shortcut for incognito mode.
diff --git a/devel/electron11/files/patch-chrome_common_chrome__features.h b/devel/electron11/files/patch-chrome_common_chrome__features.h
deleted file mode 100644
index 2e9e5c4fae8d..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__features.h
+++ /dev/null
@@ -1,28 +0,0 @@
---- chrome/common/chrome_features.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_features.h
-@@ -82,10 +82,10 @@ extern const base::Feature kAppShimNewCloseBehavior;
-
- COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kBackgroundModeAllowRestart;
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis;
-@@ -214,10 +214,10 @@ extern const base::Feature kEnableAmbientAuthenticatio
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kEnableAmbientAuthenticationInIncognito;
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop;
--#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- COMPONENT_EXPORT(CHROME_FEATURES)
diff --git a/devel/electron11/files/patch-chrome_common_chrome__paths.cc b/devel/electron11/files/patch-chrome_common_chrome__paths.cc
deleted file mode 100644
index f469224dd13d..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__paths.cc
+++ /dev/null
@@ -1,99 +0,0 @@
---- chrome/common/chrome_paths.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_paths.cc
-@@ -52,21 +52,29 @@ const base::FilePath::CharType kPepperFlashSystemBaseD
- FILE_PATH_LITERAL("Internet Plug-Ins/PepperFlashPlayer");
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The path to the external extension <id>.json files.
- // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/
- const base::FilePath::CharType kFilepathSinglePrefExtensions[] =
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+#if defined(OS_BSD)
-+ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions");
-+#else
- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
-+#endif
- #else
-+#if defined(OS_BSD)
-+ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
-+#else
- FILE_PATH_LITERAL("/usr/share/chromium/extensions");
-+#endif
- #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
-
- // The path to the hint file that tells the pepper plugin loader
- // where it can find the latest component updated flash.
- const base::FilePath::CharType kComponentUpdatedFlashHint[] =
- FILE_PATH_LITERAL("latest-component-updated-flash");
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
- BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
-@@ -207,7 +215,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
- break;
- case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (!GetUserDownloadsDirectorySafe(&cur))
- return false;
- break;
-@@ -494,6 +502,9 @@ bool PathProvider(int key, base::FilePath* result) {
- case chrome::DIR_POLICY_FILES: {
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies"));
-+#elif defined(OS_BSD)
-+ cur = base::FilePath(FILE_PATH_LITERAL(
-+ "/usr/local/etc/chrome/policies"));
- #else
- cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies"));
- #endif
-@@ -501,7 +512,7 @@ bool PathProvider(int key, base::FilePath* result) {
- }
- #endif
- #if defined(OS_CHROMEOS) || \
-- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MAC)
-+ (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MAC) || defined(OS_BSD)
- case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
- return false;
-@@ -509,7 +520,7 @@ bool PathProvider(int key, base::FilePath* result) {
- break;
- }
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
- cur = base::FilePath(kFilepathSinglePrefExtensions);
- break;
-@@ -544,7 +555,7 @@ bool PathProvider(int key, base::FilePath* result) {
- #endif
- break;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- case chrome::DIR_NATIVE_MESSAGING:
- #if defined(OS_MAC)
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-@@ -558,6 +569,9 @@ bool PathProvider(int key, base::FilePath* result) {
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
- cur = base::FilePath(FILE_PATH_LITERAL(
- "/etc/opt/chrome/native-messaging-hosts"));
-+#elif defined(OS_BSD)
-+ cur = base::FilePath(FILE_PATH_LITERAL(
-+ "/usr/local/etc/chrome/native-messaging-hosts"));
- #else
- cur = base::FilePath(FILE_PATH_LITERAL(
- "/etc/chromium/native-messaging-hosts"));
-@@ -570,7 +584,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
- cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts"));
- break;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- #if !defined(OS_ANDROID)
- case chrome::DIR_GLOBAL_GCM_STORE:
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
diff --git a/devel/electron11/files/patch-chrome_common_chrome__paths.h b/devel/electron11/files/patch-chrome_common_chrome__paths.h
deleted file mode 100644
index d43ae56079ad..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__paths.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/common/chrome_paths.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_paths.h
-@@ -51,7 +51,7 @@ enum {
- // contains subdirectories.
- #endif
- #if defined(OS_CHROMEOS) || \
-- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MAC)
-+ (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MAC) || defined(OS_BSD)
- DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions
- // on Chrome Mac and Chromium Linux.
- // On Chrome OS, this path is used for OEM
-@@ -59,7 +59,7 @@ enum {
- // create it.
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension'
- // definition manifest files that
- // describe extensions which are to be
-@@ -120,7 +120,7 @@ enum {
- DIR_SUPERVISED_USER_INSTALLED_WHITELISTS, // Directory where sanitized
- // supervised user whitelists are
- // installed.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- DIR_NATIVE_MESSAGING, // System directory where native messaging host
- // manifest files are stored.
- DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts
diff --git a/devel/electron11/files/patch-chrome_common_chrome__switches.cc b/devel/electron11/files/patch-chrome_common_chrome__switches.cc
deleted file mode 100644
index 8da0067a392a..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/chrome_switches.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_switches.cc
-@@ -808,7 +808,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n
- const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
-
diff --git a/devel/electron11/files/patch-chrome_common_chrome__switches.h b/devel/electron11/files/patch-chrome_common_chrome__switches.h
deleted file mode 100644
index 28d721f47a04..000000000000
--- a/devel/electron11/files/patch-chrome_common_chrome__switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/chrome_switches.h.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/chrome_switches.h
-@@ -253,7 +253,7 @@ extern const char kAllowNaClFileHandleAPI[];
- extern const char kAllowNaClSocketAPI[];
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_WIN)
- extern const char kEnableNewAppMenuIcon[];
- extern const char kGuest[];
diff --git a/devel/electron11/files/patch-chrome_common_extensions_command.cc b/devel/electron11/files/patch-chrome_common_extensions_command.cc
deleted file mode 100644
index a10851c0752d..000000000000
--- a/devel/electron11/files/patch-chrome_common_extensions_command.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/extensions/command.cc.orig 2021-01-07 00:36:25 UTC
-+++ chrome/common/extensions/command.cc
-@@ -293,7 +293,7 @@ std::string Command::CommandPlatform() {
- return values::kKeybindingPlatformMac;
- #elif defined(OS_CHROMEOS)
- return values::kKeybindingPlatformChromeOs;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return values::kKeybindingPlatformLinux;
- #else
- return "";
diff --git a/devel/electron11/files/patch-chrome_common_features.gni b/devel/electron11/files/patch-chrome_common_features.gni
deleted file mode 100644
index 1cdd1823f808..000000000000
--- a/devel/electron11/files/patch-chrome_common_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/features.gni.orig 2021-01-07 00:36:26 UTC
-+++ chrome/common/features.gni
-@@ -51,7 +51,7 @@ declare_args() {
- enable_one_click_signin =
- is_win || is_mac || (is_linux && !is_chromeos && !is_chromecast)
-
-- enable_service_discovery = (enable_mdns && !is_android) || is_mac
-+ enable_service_discovery = (enable_mdns && !is_android) || is_mac || is_bsd
-
- # Enables use of the session service, which is enabled by default.
- # Android stores them separately on the Java side.
diff --git a/devel/electron11/files/patch-chrome_common_pref__names.cc b/devel/electron11/files/patch-chrome_common_pref__names.cc
deleted file mode 100644
index c2246e0fc966..000000000000
--- a/devel/electron11/files/patch-chrome_common_pref__names.cc
+++ /dev/null
@@ -1,53 +0,0 @@
---- chrome/common/pref_names.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/common/pref_names.cc
-@@ -1076,7 +1076,7 @@ const char kForceYouTubeRestrict[] = "settings.force_y
- // only using an account that belongs to one of the domains from this pref.
- const char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps";
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Linux specific preference on whether we should match the system theme.
- const char kUsesSystemTheme[] = "extensions.theme.use_system";
- #endif
-@@ -1238,7 +1238,7 @@ const char kShowUpdatePromotionInfoBar[] =
- "browser.show_update_promotion_info_bar";
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Boolean that is false if we should show window manager decorations. If
- // true, we draw a custom chrome frame (thicker title bar and blue border).
- const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
-@@ -1685,7 +1685,7 @@ const char kDownloadDefaultDirectory[] = "download.def
- // upgrade a unsafe location to a safe location.
- const char kDownloadDirUpgraded[] = "download.directory_upgrade";
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- const char kOpenPdfDownloadInSystemReader[] =
- "download.open_pdf_in_system_reader";
-@@ -2027,12 +2027,12 @@ const char kGloballyScopeHTTPAuthCacheEnabled[] =
- const char kAmbientAuthenticationInPrivateModesEnabled[] =
- "auth.ambient_auth_in_private_modes";
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
- // along with kAuthNegotiateDelegateAllowlist.
- const char kAuthNegotiateDelegateByKdcPolicy[] =
- "auth.negotiate_delegate_by_kdc_policy";
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- // Boolean that specifies whether NTLMv2 is enabled.
-@@ -2931,7 +2931,7 @@ const char kAutoplayWhitelist[] = "media.autoplay_whit
- const char kBlockAutoplayEnabled[] = "media.block_autoplay";
- #endif // !defined(OS_ANDROID)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Boolean that indicates if native notifications are allowed to be used in
- // place of Chrome notifications.
- const char kAllowNativeNotifications[] = "native_notifications.allowed";
diff --git a/devel/electron11/files/patch-chrome_common_pref__names.h b/devel/electron11/files/patch-chrome_common_pref__names.h
deleted file mode 100644
index 4c341aa76ada..000000000000
--- a/devel/electron11/files/patch-chrome_common_pref__names.h
+++ /dev/null
@@ -1,50 +0,0 @@
---- chrome/common/pref_names.h.orig 2021-01-07 00:36:26 UTC
-+++ chrome/common/pref_names.h
-@@ -355,7 +355,7 @@ extern const char kHistoryMenuPromoShown[];
- extern const char kForceGoogleSafeSearch[];
- extern const char kForceYouTubeRestrict[];
- extern const char kAllowedDomainsForApps[];
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- extern const char kUsesSystemTheme[];
- #endif
- extern const char kCurrentThemePackFilename[];
-@@ -385,7 +385,7 @@ extern const char kDefaultBrowserSettingEnabled[];
- #if defined(OS_MAC)
- extern const char kShowUpdatePromotionInfoBar[];
- #endif
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- extern const char kUseCustomChromeFrame[];
- #endif
- #if BUILDFLAG(ENABLE_PLUGINS)
-@@ -554,7 +554,7 @@ extern const char kDownloadExtensionsToOpen[];
- extern const char kDownloadExtensionsToOpenByPolicy[];
- extern const char kDownloadAllowedURLsForOpenByPolicy[];
- extern const char kDownloadDirUpgraded[];
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- extern const char kOpenPdfDownloadInSystemReader[];
- #endif
-@@ -777,9 +777,9 @@ extern const char kAllowCrossOriginAuthPrompt[];
- extern const char kGloballyScopeHTTPAuthCacheEnabled[];
- extern const char kAmbientAuthenticationInPrivateModesEnabled[];
-
--#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
- extern const char kAuthNegotiateDelegateByKdcPolicy[];
--#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- extern const char kNtlmV2Enabled[];
-@@ -1006,7 +1006,7 @@ extern const char kAutoplayWhitelist[];
- extern const char kBlockAutoplayEnabled[];
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- extern const char kAllowNativeNotifications[];
- #endif
-
diff --git a/devel/electron11/files/patch-chrome_common_webui__url__constants.cc b/devel/electron11/files/patch-chrome_common_webui__url__constants.cc
deleted file mode 100644
index 28f7a32a20af..000000000000
--- a/devel/electron11/files/patch-chrome_common_webui__url__constants.cc
+++ /dev/null
@@ -1,50 +0,0 @@
---- chrome/common/webui_url_constants.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/common/webui_url_constants.cc
-@@ -338,7 +338,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
- }
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const char kChromeUIDiscardsHost[] = "discards";
- const char kChromeUIDiscardsURL[] = "chrome://discards/";
-@@ -360,18 +360,18 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb
- const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- const char kChromeUISandboxHost[] = "sandbox";
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- const char kChromeUIBrowserSwitchHost[] = "browser-switch";
- const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
- #endif
-
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \
- defined(USE_AURA)
- const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
- #endif
-@@ -542,14 +542,14 @@ const char* const kChromeHostURLs[] = {
- kChromeUIInternetDetailDialogHost,
- kChromeUIAssistantOptInHost,
- #endif
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- kChromeUIDiscardsHost,
- #endif
- #if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_ANDROID)
- kChromeUILinuxProxyConfigHost,
- #endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- kChromeUISandboxHost,
- #endif
diff --git a/devel/electron11/files/patch-chrome_common_webui__url__constants.h b/devel/electron11/files/patch-chrome_common_webui__url__constants.h
deleted file mode 100644
index 76589a21ab10..000000000000
--- a/devel/electron11/files/patch-chrome_common_webui__url__constants.h
+++ /dev/null
@@ -1,33 +0,0 @@
---- chrome/common/webui_url_constants.h.orig 2021-01-07 00:36:26 UTC
-+++ chrome/common/webui_url_constants.h
-@@ -291,7 +291,7 @@ bool IsSystemWebUIHost(base::StringPiece host);
-
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- extern const char kChromeUIDiscardsHost[];
- extern const char kChromeUIDiscardsURL[];
-@@ -311,18 +311,18 @@ extern const char kChromeUINearbyShareURL[];
- extern const char kChromeUILinuxProxyConfigHost[];
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- extern const char kChromeUISandboxHost[];
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- extern const char kChromeUIBrowserSwitchHost[];
- extern const char kChromeUIBrowserSwitchURL[];
- #endif
-
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \
- defined(USE_AURA)
- extern const char kChromeUITabModalConfirmDialogHost[];
- #endif
diff --git a/devel/electron11/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/devel/electron11/files/patch-chrome_renderer_chrome__content__renderer__client.cc
deleted file mode 100644
index 69e7e9bc4c14..000000000000
--- a/devel/electron11/files/patch-chrome_renderer_chrome__content__renderer__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/renderer/chrome_content_renderer_client.cc.orig 2021-01-25 11:27:00 UTC
-+++ chrome/renderer/chrome_content_renderer_client.cc
-@@ -1085,7 +1085,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
- }
-
- case chrome::mojom::PluginStatus::kRestartRequired: {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- placeholder =
- create_blocked_plugin(IDR_BLOCKED_PLUGIN_HTML,
- l10n_util::GetStringFUTF16(
diff --git a/devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
deleted file mode 100644
index 731557dc6ef5..000000000000
--- a/devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/renderer/pepper/pepper_flash_font_file_host.cc
-@@ -15,7 +15,7 @@
- #include "ppapi/proxy/ppapi_messages.h"
- #include "ppapi/proxy/serialized_structs.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #include "content/public/common/common_sandbox_support_linux.h"
- #elif defined(OS_WIN)
-@@ -29,7 +29,7 @@ PepperFlashFontFileHost::PepperFlashFontFileHost(
- const ppapi::proxy::SerializedFontDescription& description,
- PP_PrivateFontCharset charset)
- : ResourceHost(host->GetPpapiHost(), instance, resource) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The global SkFontConfigInterface is configured and initialized with a
- // SkFontconfigInterface compatible font_service::FontLoader in
- // RendererBlinkPlatformImpl (called from RenderThreadImpl::Init) at startup
-@@ -74,7 +74,7 @@ bool PepperFlashFontFileHost::GetFontData(uint32_t tab
- void* buffer,
- size_t* length) {
- bool result = false;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (font_file_.IsValid()) {
- result = content::GetFontTable(font_file_.GetPlatformFile(), table,
- 0 /* offset */,
diff --git a/devel/electron11/files/patch-chrome_test_BUILD.gn b/devel/electron11/files/patch-chrome_test_BUILD.gn
deleted file mode 100644
index 2c0f8951928b..000000000000
--- a/devel/electron11/files/patch-chrome_test_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/BUILD.gn.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/BUILD.gn
-@@ -6572,7 +6572,7 @@ test("chrome_app_unittests") {
- "//components/safe_browsing:buildflags",
- "//pdf:pdf_ppapi",
- ]
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
- deps += [ "//third_party/breakpad:client" ]
- }
diff --git a/devel/electron11/files/patch-chrome_test_base_chrome__test__launcher.cc b/devel/electron11/files/patch-chrome_test_base_chrome__test__launcher.cc
deleted file mode 100644
index f3c0568a2b83..000000000000
--- a/devel/electron11/files/patch-chrome_test_base_chrome__test__launcher.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/test/base/chrome_test_launcher.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/base/chrome_test_launcher.cc
-@@ -61,7 +61,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "chrome/browser/first_run/scoped_relaunch_chrome_browser_override.h"
- #include "chrome/browser/upgrade_detector/installed_version_poller.h"
- #include "testing/gtest/include/gtest/gtest.h"
-@@ -79,7 +79,7 @@ int ChromeTestSuiteRunner::RunTestSuite(int argc, char
- content::ContentTestSuiteBase::RegisterInProcessThreads();
- #endif
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- InstalledVersionPoller::ScopedDisableForTesting disable_polling(
- InstalledVersionPoller::MakeScopedDisableForTesting());
- #endif
-@@ -201,7 +201,7 @@ int LaunchChromeTests(size_t parallel_jobs,
- if (command_line.HasSwitch(switches::kLaunchAsBrowser))
- sampling_profiler = std::make_unique<MainThreadStackSamplingProfiler>();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- ChromeCrashReporterClient::Create();
- #elif defined(OS_WIN)
- // We leak this pointer intentionally. The crash client needs to outlive
-@@ -229,7 +229,7 @@ int LaunchChromeTests(size_t parallel_jobs,
- }
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Cause a test failure for any test that triggers an unexpected relaunch.
- // Tests that fail here should likely be restructured to put the "before
- // relaunch" code into a PRE_ test with its own
diff --git a/devel/electron11/files/patch-chrome_test_base_in__process__browser__test.cc b/devel/electron11/files/patch-chrome_test_base_in__process__browser__test.cc
deleted file mode 100644
index 6c699bd90308..000000000000
--- a/devel/electron11/files/patch-chrome_test_base_in__process__browser__test.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/test/base/in_process_browser_test.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/base/in_process_browser_test.cc
-@@ -78,6 +78,10 @@
- #include "chrome/test/base/scoped_bundle_swizzler_mac.h"
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <signal.h>
-+#endif
-+
- #if defined(OS_WIN)
- #include "base/win/scoped_com_initializer.h"
- #include "base/win/windows_version.h"
-@@ -288,7 +292,7 @@ void InProcessBrowserTest::SetUp() {
- // Cookies). Without this on Mac and Linux, many tests will hang waiting for a
- // user to approve KeyChain/kwallet access. On Windows this is not needed as
- // OS APIs never block.
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- OSCryptMocker::SetUp();
- #endif
-
-@@ -348,7 +352,7 @@ void InProcessBrowserTest::TearDown() {
- com_initializer_.reset();
- #endif
- BrowserTestBase::TearDown();
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- OSCryptMocker::TearDown();
- #endif
-
diff --git a/devel/electron11/files/patch-chrome_test_base_interactive__ui__tests__main.cc b/devel/electron11/files/patch-chrome_test_base_interactive__ui__tests__main.cc
deleted file mode 100644
index 68d0079db76c..000000000000
--- a/devel/electron11/files/patch-chrome_test_base_interactive__ui__tests__main.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/test/base/interactive_ui_tests_main.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/base/interactive_ui_tests_main.cc
-@@ -16,7 +16,7 @@
- #if defined(USE_AURA)
- #include "ui/aura/test/ui_controls_factory_aura.h"
- #include "ui/base/test/ui_controls_aura.h"
--#if defined(USE_OZONE) && defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(USE_OZONE) && ((defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD))
- #include "ui/base/ui_base_features.h"
- #include "ui/ozone/public/ozone_platform.h"
- #endif
-@@ -53,7 +53,7 @@ class InteractiveUITestSuite : public ChromeTestSuite
- com_initializer_.reset(new base::win::ScopedCOMInitializer());
- ui_controls::InstallUIControlsAura(
- aura::test::CreateUIControlsAura(nullptr));
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #if defined(USE_OZONE)
- if (features::IsUsingOzonePlatform()) {
- ui::OzonePlatform::InitParams params;
diff --git a/devel/electron11/files/patch-chrome_test_base_test__browser__window.h b/devel/electron11/files/patch-chrome_test_base_test__browser__window.h
deleted file mode 100644
index 4e7d02309f63..000000000000
--- a/devel/electron11/files/patch-chrome_test_base_test__browser__window.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/base/test_browser_window.h.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/base/test_browser_window.h
-@@ -179,7 +179,7 @@ class TestBrowserWindow : public BrowserWindow {
- bool is_source_keyboard) override {}
-
- #if defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_WIN) || \
-- defined(OS_LINUX)
-+ defined(OS_LINUX) || defined(OS_BSD)
- void ShowHatsBubble(const std::string& site_id) override {}
- #endif
-
diff --git a/devel/electron11/files/patch-chrome_test_base_testing__browser__process.h b/devel/electron11/files/patch-chrome_test_base_testing__browser__process.h
deleted file mode 100644
index 8de288fcb17c..000000000000
--- a/devel/electron11/files/patch-chrome_test_base_testing__browser__process.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/test/base/testing_browser_process.h.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/base/testing_browser_process.h
-@@ -124,8 +124,8 @@ class TestingBrowserProcess : public BrowserProcess {
- DownloadRequestLimiter* download_request_limiter() override;
- StartupData* startup_data() override;
-
--#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
-- void StartAutoupdateTimer() override {}
-+#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS)
-+ void StartAutoupdateTimer() /*override*/ {}
- #endif
-
- component_updater::ComponentUpdateService* component_updater() override;
diff --git a/devel/electron11/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc b/devel/electron11/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
deleted file mode 100644
index 24a4b586303d..000000000000
--- a/devel/electron11/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/chromedriver/server/chromedriver_server.cc.orig 2021-01-07 00:36:26 UTC
-+++ chrome/test/chromedriver/server/chromedriver_server.cc
-@@ -283,7 +283,7 @@ int main(int argc, char *argv[]) {
- base::AtExitManager at_exit;
- base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Select the locale from the environment by passing an empty string instead
- // of the default "C" locale. This is particularly needed for the keycode
- // conversion code to work.
diff --git a/devel/electron11/files/patch-chromecast_browser_cast__browser__main__parts.cc b/devel/electron11/files/patch-chromecast_browser_cast__browser__main__parts.cc
deleted file mode 100644
index 781d2770036b..000000000000
--- a/devel/electron11/files/patch-chromecast_browser_cast__browser__main__parts.cc
+++ /dev/null
@@ -1,83 +0,0 @@
---- chromecast/browser/cast_browser_main_parts.cc.orig 2021-01-07 00:36:28 UTC
-+++ chromecast/browser/cast_browser_main_parts.cc
-@@ -73,7 +73,7 @@
- #include "ui/base/ui_base_switches.h"
- #include "ui/gl/gl_switches.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <fontconfig/fontconfig.h>
- #include <signal.h>
- #include <sys/prctl.h>
-@@ -129,7 +129,7 @@
- #include "extensions/browser/extension_prefs.h" // nogncheck
- #endif
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- #include "chromecast/browser/exo/wayland_server_controller.h"
- #endif
-
-@@ -271,7 +271,7 @@ class CastViewsDelegate : public views::ViewsDelegate
-
- #endif // defined(USE_AURA)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- base::FilePath GetApplicationFontsDir() {
- std::unique_ptr<base::Environment> env(base::Environment::Create());
-@@ -287,7 +287,7 @@ base::FilePath GetApplicationFontsDir() {
- }
- }
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace
-
-@@ -316,7 +316,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {cc::switches::kDisableThreadedAnimation, ""},
- #endif // defined(OS_ANDROID)
- #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(ARCH_CPU_X86_FAMILY)
- // This is needed for now to enable the x11 Ozone platform to work with
- // current Linux/NVidia OpenGL drivers.
-@@ -326,7 +326,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {switches::kEnableHardwareOverlays, "cast"},
- #endif
- #endif
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // It's better to start GPU process on demand. For example, for TV platforms
- // cast starts in background and can't render until TV switches to cast
- // input.
-@@ -476,7 +476,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
- views_delegate_ = std::make_unique<CastViewsDelegate>();
- #endif // defined(USE_AURA)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::FilePath dir_font = GetApplicationFontsDir();
- const FcChar8 *dir_font_char8 = reinterpret_cast<const FcChar8*>(dir_font.value().data());
- if (!FcConfigAppFontAddDir(gfx::GetGlobalFontConfig(), dir_font_char8)) {
-@@ -657,7 +657,7 @@ void CastBrowserMainParts::PreMainMessageLoopRun() {
- cast_browser_process_->browser_context());
- #endif
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- wayland_server_controller_ =
- std::make_unique<WaylandServerController>(window_manager_.get());
- #endif
-@@ -739,7 +739,7 @@ bool CastBrowserMainParts::MainMessageLoopRun(int* res
- }
-
- void CastBrowserMainParts::PostMainMessageLoopRun() {
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- wayland_server_controller_.reset();
- #endif
- #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
diff --git a/devel/electron11/files/patch-chromecast_browser_cast__content__browser__client.cc b/devel/electron11/files/patch-chromecast_browser_cast__content__browser__client.cc
deleted file mode 100644
index 0b0cd752fa3a..000000000000
--- a/devel/electron11/files/patch-chromecast_browser_cast__content__browser__client.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chromecast/browser/cast_content_browser_client.cc.orig 2021-01-07 00:36:28 UTC
-+++ chromecast/browser/cast_content_browser_client.cc
-@@ -130,9 +130,9 @@
- #include "chromecast/external_mojo/broker_service/broker_service.h"
- #endif
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- #include "chromecast/browser/webview/webview_controller.h"
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
-
- #if BUILDFLAG(ENABLE_CAST_RENDERER)
- #include "base/sequenced_task_runner.h"
-@@ -472,7 +472,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
- switches::kAudioOutputChannels));
- }
- } else if (process_type == switches::kGpuProcess) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Necessary for accelerated 2d canvas. By default on Linux, Chromium
- // assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU
- // canvas apps.
-@@ -854,12 +854,12 @@ CastContentBrowserClient::CreateThrottlesForNavigation
- handle, general_audience_browsing_service_.get()));
- }
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
- auto webview_throttle = WebviewController::MaybeGetNavigationThrottle(handle);
- if (webview_throttle) {
- throttles.push_back(std::move(webview_throttle));
- }
--#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
-+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
-
- return throttles;
- }
diff --git a/devel/electron11/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/devel/electron11/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
deleted file mode 100644
index ca519f5fd55f..000000000000
--- a/devel/electron11/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chromecast/external_mojo/public/cpp/external_mojo_broker.cc.orig 2021-01-07 00:36:28 UTC
-+++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc
-@@ -7,7 +7,7 @@
- #include <map>
- #include <utility>
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/stat.h>
- #endif
-
-@@ -412,7 +412,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri
- named_channel.TakeServerEndpoint();
- DCHECK(server_endpoint.is_valid());
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- chmod(broker_path.c_str(), 0770);
- #endif
-
diff --git a/devel/electron11/files/patch-components_BUILD.gn b/devel/electron11/files/patch-components_BUILD.gn
deleted file mode 100644
index 8d2a1c6e747e..000000000000
--- a/devel/electron11/files/patch-components_BUILD.gn
+++ /dev/null
@@ -1,21 +0,0 @@
---- components/BUILD.gn.orig 2021-01-07 00:36:29 UTC
-+++ components/BUILD.gn
-@@ -308,10 +308,15 @@ test("components_unittests") {
- ]
-
- if (!is_fuchsia) { # !iOS and !Fuchsia
-+ if (!is_bsd) {
-+ deps += [
-+ "//components/crash/content/browser:unit_tests",
-+ "//components/crash/content/browser/error_reporting:unit_tests",
-+ "//components/crash/core/app:unit_tests",
-+ ]
-+ }
-+
- deps += [
-- "//components/crash/content/browser:unit_tests",
-- "//components/crash/content/browser/error_reporting:unit_tests",
-- "//components/crash/core/app:unit_tests",
- "//components/data_reduction_proxy/core/browser:unit_tests",
- "//components/data_reduction_proxy/core/common:unit_tests",
- ]
diff --git a/devel/electron11/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/devel/electron11/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
deleted file mode 100644
index 6227165854a4..000000000000
--- a/devel/electron11/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/autofill/content/renderer/password_form_conversion_utils.cc
-@@ -19,7 +19,11 @@
- #include "third_party/blink/public/web/web_form_control_element.h"
- #include "third_party/blink/public/web/web_input_element.h"
- #include "third_party/blink/public/web/web_local_frame.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- using blink::WebElement;
diff --git a/devel/electron11/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/devel/electron11/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
deleted file mode 100644
index 711e8f38cc60..000000000000
--- a/devel/electron11/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill/core/browser/autofill_external_delegate.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/autofill/core/browser/autofill_external_delegate.cc
-@@ -127,7 +127,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
-
- // Append the "Hide Suggestions" menu item for only Autofill Address and
- // Autocomplete popups.
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- if (base::FeatureList::IsEnabled(
- features::kAutofillEnableHideSuggestionsUI)) {
diff --git a/devel/electron11/files/patch-components_autofill_core_browser_personal__data__manager.cc b/devel/electron11/files/patch-components_autofill_core_browser_personal__data__manager.cc
deleted file mode 100644
index 0f3196edc827..000000000000
--- a/devel/electron11/files/patch-components_autofill_core_browser_personal__data__manager.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/autofill/core/browser/personal_data_manager.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/autofill/core/browser/personal_data_manager.cc
-@@ -1960,7 +1960,7 @@ bool PersonalDataManager::IsServerCard(const CreditCar
-
- bool PersonalDataManager::ShouldShowCardsFromAccountOption() const {
- // The feature is only for Linux, Windows and Mac.
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || \
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_APPLE)
- // This option should only be shown for users that have not enabled the Sync
- // Feature and that have server credit cards available.
-@@ -1984,7 +1984,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
- return !is_opted_in;
- #else
- return false;
--#endif // #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || \
-+#endif // #if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || defined(OS_BSD) || \
- // defined(OS_APPLE)
- }
-
diff --git a/devel/electron11/files/patch-components_autofill_core_common_autofill__payments__features.cc b/devel/electron11/files/patch-components_autofill_core_common_autofill__payments__features.cc
deleted file mode 100644
index 5026f0f0ac5b..000000000000
--- a/devel/electron11/files/patch-components_autofill_core_common_autofill__payments__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill/core/common/autofill_payments_features.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/autofill/core/common/autofill_payments_features.cc
-@@ -123,7 +123,7 @@ const base::Feature kAutofillUpstreamAllowAllEmailDoma
-
- bool ShouldShowImprovedUserConsentForCreditCardSave() {
- #if defined(OS_WIN) || defined(OS_APPLE) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // The new user consent UI is fully launched on MacOS, Windows and Linux.
- return true;
- #else
diff --git a/devel/electron11/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/devel/electron11/files/patch-components_content__settings_core_browser_website__settings__registry.cc
deleted file mode 100644
index 1cc2267366c0..000000000000
--- a/devel/electron11/files/patch-components_content__settings_core_browser_website__settings__registry.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/content_settings/core/browser/website_settings_registry.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/content_settings/core/browser/website_settings_registry.cc
-@@ -66,7 +66,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re
- #if defined(OS_WIN)
- if (!(platform & PLATFORM_WINDOWS))
- return nullptr;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (!(platform & PLATFORM_LINUX))
- return nullptr;
- #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-components_crash_content_browser_BUILD.gn b/devel/electron11/files/patch-components_crash_content_browser_BUILD.gn
deleted file mode 100644
index 6a5aba3eeded..000000000000
--- a/devel/electron11/files/patch-components_crash_content_browser_BUILD.gn
+++ /dev/null
@@ -1,27 +0,0 @@
---- components/crash/content/browser/BUILD.gn.orig 2021-01-07 00:36:29 UTC
-+++ components/crash/content/browser/BUILD.gn
-@@ -35,7 +35,7 @@ source_set("browser") {
- "//content/public/common",
- ]
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
- set_sources_assignment_filter([])
-
- # Want this file on both Linux and Android.
-@@ -49,13 +49,13 @@ source_set("browser") {
- deps += [ "//third_party/crashpad/crashpad/client" ]
- }
-
-- if (!is_android) {
-+ if (!is_android && !is_bsd) {
- deps += [ "//third_party/breakpad:client" ]
- }
-
- # This is not in the GYP build but this target includes breakpad client
- # headers, so add the dependency here.
-- if ((is_posix && !is_ios) || is_fuchsia) {
-+ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) {
- configs += [ "//third_party/breakpad:client_config" ]
- public_configs = [ "//third_party/breakpad:client_config" ]
- }
diff --git a/devel/electron11/files/patch-components_crash_core_common_BUILD.gn b/devel/electron11/files/patch-components_crash_core_common_BUILD.gn
deleted file mode 100644
index b1ac79a33faa..000000000000
--- a/devel/electron11/files/patch-components_crash_core_common_BUILD.gn
+++ /dev/null
@@ -1,40 +0,0 @@
---- components/crash/core/common/BUILD.gn.orig 2021-01-07 00:36:29 UTC
-+++ components/crash/core/common/BUILD.gn
-@@ -7,7 +7,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn
-
- declare_args() {
- # If set to true, this will stub out and disable the entire crash key system.
-- use_crash_key_stubs = is_fuchsia
-+ use_crash_key_stubs = is_fuchsia || is_bsd
- }
-
- group("common") {
-@@ -32,7 +32,7 @@ use_crashpad_annotation =
- # implementations will be instantiated and set, doubling the storage
- # used for keys. This is intended to be used temporarily to test Crashpad
- # integrations without disabling Breakpad.
--use_combined_annotations = is_linux || is_chromeos
-+use_combined_annotations = (is_linux || is_chromeos) && !is_bsd
-
- buildflag_header("crash_buildflags") {
- header = "crash_buildflags.h"
-@@ -93,7 +93,9 @@ target(crash_key_target_type, "crash_key_lib") {
- sources += [ "crash_key_stubs.cc" ]
- } else if (use_crashpad_annotation) {
- sources += [ "crash_key_crashpad.cc" ]
-- deps += [ "//third_party/crashpad/crashpad/client" ]
-+ if (!is_bsd) {
-+ deps += [ "//third_party/crashpad/crashpad/client" ]
-+ }
- } else {
- include_dirs = [ "//third_party/breakpad/breakpad/src" ]
-
-@@ -184,7 +186,7 @@ source_set("unit_tests") {
- sources += [ "crash_key_breakpad_ios_unittest.cc" ]
- deps += [ "//third_party/breakpad:client" ]
- include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
-- } else if (!is_mac && !is_win && !is_fuchsia && !is_android) {
-+ } else if (!is_mac && !is_win && !is_fuchsia && !is_android && !is_bsd) {
- include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
- sources += [ "crash_key_breakpad_unittest.cc" ]
- }
diff --git a/devel/electron11/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/devel/electron11/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
deleted file mode 100644
index c66a72f32eb8..000000000000
--- a/devel/electron11/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/discardable_memory/service/discardable_shared_memory_manager.cc
-@@ -33,7 +33,7 @@
- #include "components/discardable_memory/common/discardable_shared_memory_heap.h"
- #include "mojo/public/cpp/bindings/self_owned_receiver.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/files/file_path.h"
- #include "base/files/file_util.h"
- #include "base/metrics/histogram_macros.h"
-@@ -176,7 +176,7 @@ int64_t GetDefaultMemoryLimit() {
- max_default_memory_limit /= 8;
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::FilePath shmem_dir;
- if (base::GetShmemTempDir(false, &shmem_dir)) {
- int64_t shmem_dir_amount_of_free_space =
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_event__constants.cc b/devel/electron11/files/patch-components_feature__engagement_public_event__constants.cc
deleted file mode 100644
index 1626234a17e7..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_event__constants.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- components/feature_engagement/public/event_constants.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/event_constants.cc
-@@ -10,13 +10,13 @@ namespace feature_engagement {
-
- namespace events {
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const char kNewTabOpened[] = "new_tab_opened";
- #endif // defined(OS_WIN) || defined(OS_APPLE) ||
-- // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const char kSixthTabOpened[] = "sixth_tab_opened";
- const char kTabGroupCreated[] = "tab_group_created";
-@@ -32,7 +32,7 @@ const char kFocusModeConditionsMet[] = "focus_mode_con
-
- const char kWebUITabStripClosed[] = "webui_tab_strip_closed";
- const char kWebUITabStripOpened[] = "webui_tab_strip_opened";
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_IOS)
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_event__constants.h b/devel/electron11/files/patch-components_feature__engagement_public_event__constants.h
deleted file mode 100644
index 9175babeb93d..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_event__constants.h
+++ /dev/null
@@ -1,31 +0,0 @@
---- components/feature_engagement/public/event_constants.h.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/event_constants.h
-@@ -12,16 +12,16 @@ namespace feature_engagement {
- namespace events {
-
- // Desktop and IOS.
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // The user has explicitly opened a new tab via an entry point from inside of
- // Chrome.
- extern const char kNewTabOpened[];
- #endif // defined(OS_WIN) || defined(OS_APPLE) ||
-- // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Desktop
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // A new tab was opened when 5 (or more) tabs were already open.
- extern const char kSixthTabOpened[];
-@@ -54,7 +54,7 @@ extern const char kWebUITabStripClosed[];
- // The WebUI tab strip was opened by the user.
- extern const char kWebUITabStripOpened[];
-
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_IOS)
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.cc b/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.cc
deleted file mode 100644
index d154a506aa71..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_constants.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/feature_constants.cc
-@@ -12,7 +12,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode",
- const base::Feature kIPHDummyFeature{"IPH_Dummy",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const base::Feature kIPHDesktopTabGroupsNewGroupFeature{
- "IPH_DesktopTabGroupsNewGroup", base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -30,7 +30,7 @@ const base::Feature kIPHWebUITabStripFeature{"IPH_WebU
- base::FEATURE_DISABLED_BY_DEFAULT};
- const base::Feature kIPHDesktopSnoozeFeature{"IPH_DesktopSnoozeFeature",
- base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.h b/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.h
deleted file mode 100644
index 40d19f7331d7..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_feature__constants.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_constants.h.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/feature_constants.h
-@@ -16,7 +16,7 @@ extern const base::Feature kIPHDemoMode;
- // A feature to ensure all arrays can contain at least one feature.
- extern const base::Feature kIPHDummyFeature;
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature;
- extern const base::Feature kIPHFocusModeFeature;
-@@ -26,7 +26,7 @@ extern const base::Feature kIPHPasswordsAccountStorage
- extern const base::Feature kIPHReopenTabFeature;
- extern const base::Feature kIPHWebUITabStripFeature;
- extern const base::Feature kIPHDesktopSnoozeFeature;
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- // All the features declared for Android below that are also used in Java,
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_feature__list.cc b/devel/electron11/files/patch-components_feature__engagement_public_feature__list.cc
deleted file mode 100644
index 1c13a8ad5da8..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_feature__list.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_list.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/feature_list.cc
-@@ -66,7 +66,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHBadgedTranslateManualTriggerFeature,
- &kIPHDiscoverFeedHeaderFeature,
- #endif // defined(OS_IOS)
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- &kIPHDesktopTabGroupsNewGroupFeature,
- &kIPHFocusModeFeature,
-@@ -75,7 +75,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHPasswordsAccountStorageFeature,
- &kIPHReopenTabFeature,
- &kIPHWebUITabStripFeature,
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- };
- } // namespace
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_feature__list.h b/devel/electron11/files/patch-components_feature__engagement_public_feature__list.h
deleted file mode 100644
index e32d1c136314..000000000000
--- a/devel/electron11/files/patch-components_feature__engagement_public_feature__list.h
+++ /dev/null
@@ -1,38 +0,0 @@
---- components/feature_engagement/public/feature_list.h.orig 2021-01-07 00:36:29 UTC
-+++ components/feature_engagement/public/feature_list.h
-@@ -126,7 +126,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature,
- "IPH_DiscoverFeedHeaderMenu");
- #endif // defined(OS_IOS)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature,
- "IPH_DesktopTabGroupsNewGroup");
-@@ -137,7 +137,7 @@ DEFINE_VARIATION_PARAM(kIPHPasswordsAccountStorageFeat
- "IPH_PasswordsAccountStorage");
- DEFINE_VARIATION_PARAM(kIPHReopenTabFeature, "IPH_ReopenTab");
- DEFINE_VARIATION_PARAM(kIPHWebUITabStripFeature, "IPH_WebUITabStrip");
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- } // namespace
-@@ -196,7 +196,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHBadgedReadingListFeature),
- VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature),
- VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature),
--#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
- VARIATION_ENTRY(kIPHFocusModeFeature),
-@@ -205,7 +205,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHPasswordsAccountStorageFeature),
- VARIATION_ENTRY(kIPHReopenTabFeature),
- VARIATION_ENTRY(kIPHWebUITabStripFeature),
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- };
-
diff --git a/devel/electron11/files/patch-components_feed_core_v2_proto__util.cc b/devel/electron11/files/patch-components_feed_core_v2_proto__util.cc
deleted file mode 100644
index aeeda4b05c37..000000000000
--- a/devel/electron11/files/patch-components_feed_core_v2_proto__util.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- components/feed/core/v2/proto_util.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/feed/core/v2/proto_util.cc
-@@ -79,8 +79,8 @@ feedwire::Version GetPlatformVersionMessage() {
-
- int32_t major, minor, revision;
- base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
-- result.set_major(major);
-- result.set_minor(minor);
-+ result.set_gmajor(major);
-+ result.set_gminor(minor);
- result.set_revision(revision);
- #if defined(OS_ANDROID)
- result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
-@@ -95,8 +95,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
- // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH.
- const std::vector<uint32_t>& numbers = chrome_info.version.components();
- if (numbers.size() > 3) {
-- result.set_major(static_cast<int32_t>(numbers[0]));
-- result.set_minor(static_cast<int32_t>(numbers[1]));
-+ result.set_gmajor(static_cast<int32_t>(numbers[0]));
-+ result.set_gminor(static_cast<int32_t>(numbers[1]));
- result.set_build(static_cast<int32_t>(numbers[2]));
- result.set_revision(static_cast<int32_t>(numbers[3]));
- }
diff --git a/devel/electron11/files/patch-components_flags__ui_flags__state.cc b/devel/electron11/files/patch-components_flags__ui_flags__state.cc
deleted file mode 100644
index 655ade0cedac..000000000000
--- a/devel/electron11/files/patch-components_flags__ui_flags__state.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/flags_ui/flags_state.cc.orig 2021-01-07 00:36:29 UTC
-+++ components/flags_ui/flags_state.cc
-@@ -687,7 +687,7 @@ int FlagsState::GetCurrentPlatform() {
- return kOsWin;
- #elif defined(OS_CHROMEOS)
- return kOsCrOS;
--#elif defined(OS_LINUX) || defined(OS_OPENBSD)
-+#elif defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
- return kOsLinux;
- #elif defined(OS_ANDROID)
- return kOsAndroid;
diff --git a/devel/electron11/files/patch-components_metrics_BUILD.gn b/devel/electron11/files/patch-components_metrics_BUILD.gn
deleted file mode 100644
index 4e920753aedf..000000000000
--- a/devel/electron11/files/patch-components_metrics_BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/metrics/BUILD.gn.orig 2021-01-07 00:36:30 UTC
-+++ components/metrics/BUILD.gn
-@@ -189,6 +189,11 @@ static_library("metrics") {
- if (is_fuchsia) {
- sources += [ "drive_metrics_provider_fuchsia.cc" ]
- }
-+
-+ if (is_bsd) {
-+ sources -= [ "system_memory_stats_recorder_linux.cc" ]
-+ }
-+
- }
-
- if (is_android) {
diff --git a/devel/electron11/files/patch-components_metrics_metrics__log.cc b/devel/electron11/files/patch-components_metrics_metrics__log.cc
deleted file mode 100644
index 584e95b88969..000000000000
--- a/devel/electron11/files/patch-components_metrics_metrics__log.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/metrics/metrics_log.cc.orig 2021-01-07 00:36:30 UTC
-+++ components/metrics/metrics_log.cc
-@@ -224,7 +224,7 @@ void MetricsLog::RecordCoreSystemProfile(
- // OperatingSystemVersion refers to the ChromeOS release version.
- #if defined(OS_CHROMEOS)
- os->set_kernel_version(base::SysInfo::KernelVersion());
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // Linux operating system version is copied over into kernel version to be
- // consistent.
- os->set_kernel_version(base::SysInfo::OperatingSystemVersion());
diff --git a/devel/electron11/files/patch-components_neterror_resources_neterror.js b/devel/electron11/files/patch-components_neterror_resources_neterror.js
deleted file mode 100644
index 557121bd5ff1..000000000000
--- a/devel/electron11/files/patch-components_neterror_resources_neterror.js
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/neterror/resources/neterror.js.orig 2021-01-07 00:36:30 UTC
-+++ components/neterror/resources/neterror.js
-@@ -153,7 +153,7 @@ function detailsButtonClick() {
- }
-
- let primaryControlOnLeft = true;
--// <if expr="is_macosx or is_ios or is_linux or is_android">
-+// <if expr="is_macosx or is_ios or is_linux or is_android or is_bsd">
- primaryControlOnLeft = false;
- // </if>
-
diff --git a/devel/electron11/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/devel/electron11/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
deleted file mode 100644
index 59809db4d6f5..000000000000
--- a/devel/electron11/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/network_session_configurator/browser/network_session_configurator.cc.orig 2021-01-07 00:36:30 UTC
-+++ components/network_session_configurator/browser/network_session_configurator.cc
-@@ -749,7 +749,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C
- }
- #endif // #if !defined(OS_ANDROID)
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE;
- #else
- return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE;
diff --git a/devel/electron11/files/patch-components_os__crypt_os__crypt.h b/devel/electron11/files/patch-components_os__crypt_os__crypt.h
deleted file mode 100644
index 5f3cfc6a12f6..000000000000
--- a/devel/electron11/files/patch-components_os__crypt_os__crypt.h
+++ /dev/null
@@ -1,48 +0,0 @@
---- components/os_crypt/os_crypt.h.orig 2021-01-07 00:36:30 UTC
-+++ components/os_crypt/os_crypt.h
-@@ -15,9 +15,9 @@
- #include "base/strings/string16.h"
- #include "build/build_config.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- class KeyStorageLinux;
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #if defined(OS_WIN) || defined(OS_MAC)
- class PrefRegistrySimple;
-@@ -34,13 +34,13 @@ struct Config;
- // true for Linux, if a password management tool is available.
- class OSCrypt {
- public:
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Set the configuration of OSCrypt.
- static COMPONENT_EXPORT(OS_CRYPT) void SetConfig(
- std::unique_ptr<os_crypt::Config> config);
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
--#if defined(OS_APPLE) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_APPLE) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // On Linux returns true iff the real secret key (not hardcoded one) is
- // available. On MacOS returns true if Keychain is available (for mock
- // Keychain it returns true if not using locked Keychain, false if using
-@@ -131,7 +131,7 @@ class OSCrypt {
- DISALLOW_IMPLICIT_CONSTRUCTORS(OSCrypt);
- };
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // For unit testing purposes, inject methods to be used.
- // |get_key_storage_mock| provides the desired |KeyStorage| implementation.
- // If the provider returns |nullptr|, a hardcoded password will be used.
-@@ -146,6 +146,6 @@ void UseMockKeyStorageForTesting(
- // Clears any caching and most lazy initialisations performed by the production
- // code. Should be used after any test which required a password.
- COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting();
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_
diff --git a/devel/electron11/files/patch-components_os__crypt_os__crypt__unittest.cc b/devel/electron11/files/patch-components_os__crypt_os__crypt__unittest.cc
deleted file mode 100644
index 7f2433204d08..000000000000
--- a/devel/electron11/files/patch-components_os__crypt_os__crypt__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/os_crypt/os_crypt_unittest.cc.orig 2021-01-07 00:36:30 UTC
-+++ components/os_crypt/os_crypt_unittest.cc
-@@ -18,7 +18,7 @@
- #include "components/os_crypt/os_crypt_mocker.h"
- #include "testing/gtest/include/gtest/gtest.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "components/os_crypt/os_crypt_mocker_linux.h"
- #endif
-
diff --git a/devel/electron11/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/devel/electron11/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
deleted file mode 100644
index 4d909bf42262..000000000000
--- a/devel/electron11/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2021-01-07 00:36:30 UTC
-+++ components/policy/core/browser/policy_pref_mapping_test.cc
-@@ -270,6 +270,8 @@ class PolicyTestCase {
- const std::string os("chromeos");
- #elif defined(OS_LINUX)
- const std::string os("linux");
-+#elif defined(OS_FREEBSD)
-+ const std::string os("freebsd");
- #else
- #error "Unknown platform"
- #endif
diff --git a/devel/electron11/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/devel/electron11/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
deleted file mode 100644
index 13dda2ba7d77..000000000000
--- a/devel/electron11/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-01-07 00:36:30 UTC
-+++ components/policy/core/common/cloud/cloud_policy_util.cc
-@@ -32,7 +32,7 @@
- #import <SystemConfiguration/SCDynamicStoreCopySpecific.h>
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include <limits.h> // For HOST_NAME_MAX
- #endif
-
-@@ -66,7 +66,7 @@
- #include "base/system/sys_info.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "base/system/sys_info.h"
- #endif
-
diff --git a/devel/electron11/files/patch-components_policy_resources_policy__templates.json b/devel/electron11/files/patch-components_policy_resources_policy__templates.json
deleted file mode 100644
index 4f786bb27040..000000000000
--- a/devel/electron11/files/patch-components_policy_resources_policy__templates.json
+++ /dev/null
@@ -1,74 +0,0 @@
---- components/policy/resources/policy_templates.json.orig 2021-01-07 00:36:30 UTC
-+++ components/policy/resources/policy_templates.json
-@@ -1198,7 +1198,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-', 'chrome.freebsd:9-'],
- 'features': {
- 'can_be_recommended': True,
- 'dynamic_refresh': True,
-@@ -1224,7 +1224,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
-+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'],
- 'features': {
- 'can_be_recommended': True,
- 'dynamic_refresh': True,
-@@ -1245,7 +1245,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'],
-+ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'],
- 'features': {
- 'can_be_recommended': True,
- 'dynamic_refresh': True,
-@@ -4285,7 +4285,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'string',
- 'schema': { 'type': 'string' },
-- 'supported_on': ['chrome.linux:9-'],
-+ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'],
- 'features': {
- 'dynamic_refresh': False,
- 'per_profile': False,
-@@ -4341,7 +4341,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'],
-+ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-', 'chrome.freebsd:63-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -8423,7 +8423,7 @@
- 'owners': ['file://src/net/cert/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'],
-+ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.freebsd:30-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -9998,7 +9998,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'],
-+ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'],
- 'features': {
- 'can_be_recommended': True,
- 'dynamic_refresh': True,
-@@ -10733,7 +10733,7 @@
- 'owners': ['file://components/policy/resources/OWNERS'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'],
-+ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.freebsd:31-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': True,
diff --git a/devel/electron11/files/patch-components_previews_core_previews__features.cc b/devel/electron11/files/patch-components_previews_core_previews__features.cc
deleted file mode 100644
index 3d6ad28767fe..000000000000
--- a/devel/electron11/files/patch-components_previews_core_previews__features.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/previews/core/previews_features.cc.orig 2021-01-07 00:36:31 UTC
-+++ components/previews/core/previews_features.cc
-@@ -14,12 +14,12 @@ namespace features {
- // are enabled are controlled by other features.
- const base::Feature kPreviews {
- "Previews",
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Previews allowed for Android (but also allow on Linux for dev/debug).
- base::FEATURE_ENABLED_BY_DEFAULT
--#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::FEATURE_DISABLED_BY_DEFAULT
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- };
-
- // Enables the Offline previews on android slow connections.
diff --git a/devel/electron11/files/patch-components_security__interstitials_content_utils.cc b/devel/electron11/files/patch-components_security__interstitials_content_utils.cc
deleted file mode 100644
index aabc09e177ca..000000000000
--- a/devel/electron11/files/patch-components_security__interstitials_content_utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/security_interstitials/content/utils.cc.orig 2021-01-07 00:36:31 UTC
-+++ components/security_interstitials/content/utils.cc
-@@ -31,7 +31,7 @@ void LaunchDateAndTimeSettings() {
- #if defined(OS_ANDROID)
- JNIEnv* env = base::android::AttachCurrentThread();
- Java_DateAndTimeSettingsHelper_openDateAndTimeSettings(env);
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- struct ClockCommand {
- const char* const pathname;
- const char* const argument;
diff --git a/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
deleted file mode 100644
index ee0bffd2cc4d..000000000000
--- a/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2021-01-07 00:36:31 UTC
-+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
-@@ -15,7 +15,7 @@
-
- #if defined(OS_WIN)
- #include "content/public/child/dwrite_font_proxy_init_win.h"
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #endif
-
-@@ -35,7 +35,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
- // Initialize font access for Skia.
- #if defined(OS_WIN)
- content::InitializeDWriteFontProxy();
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- mojo::PendingRemote<font_service::mojom::FontService> font_service;
- content::UtilityThread::Get()->BindHostReceiver(
- font_service.InitWithNewPipeAndPassReceiver());
-@@ -54,7 +54,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
- // encoding to PNG or we could provide our own codec implementations.
-
- // Sanity check that fonts are working.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // No WebSandbox is provided on Linux so the local fonts aren't accessible.
- // This is fine since since the subsetted fonts are provided in the SkPicture.
- // However, we still need to check that the SkFontMgr starts as it is used by
diff --git a/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
deleted file mode 100644
index 9c0974ed494f..000000000000
--- a/devel/electron11/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2021-01-07 00:36:31 UTC
-+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h
-@@ -20,7 +20,7 @@
- #include "mojo/public/cpp/bindings/pending_receiver.h"
- #include "mojo/public/cpp/bindings/receiver.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #include "third_party/skia/include/core/SkRefCnt.h"
- #endif
-@@ -74,7 +74,7 @@ class PaintPreviewCompositorCollectionImpl
- std::unique_ptr<PaintPreviewCompositorImpl>>
- compositors_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/devel/electron11/files/patch-components_storage__monitor_BUILD.gn b/devel/electron11/files/patch-components_storage__monitor_BUILD.gn
deleted file mode 100644
index 5454726c6642..000000000000
--- a/devel/electron11/files/patch-components_storage__monitor_BUILD.gn
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/storage_monitor/BUILD.gn.orig 2021-01-07 00:36:31 UTC
-+++ components/storage_monitor/BUILD.gn
-@@ -88,6 +88,13 @@ static_library("storage_monitor") {
- }
- }
-
-+ if (is_bsd) {
-+ sources += [
-+ "storage_monitor_freebsd.cc",
-+ "storage_monitor_freebsd.h",
-+ ]
-+ }
-+
- if (use_udev) {
- sources += [
- "udev_util_linux.cc",
diff --git a/devel/electron11/files/patch-components_sync__device__info_local__device__info__util.cc b/devel/electron11/files/patch-components_sync__device__info_local__device__info__util.cc
deleted file mode 100644
index 3b1f202bf735..000000000000
--- a/devel/electron11/files/patch-components_sync__device__info_local__device__info__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/sync_device_info/local_device_info_util.cc.orig 2021-01-07 00:36:31 UTC
-+++ components/sync_device_info/local_device_info_util.cc
-@@ -52,7 +52,7 @@ std::string GetPersonalizableDeviceNameInternal();
- sync_pb::SyncEnums::DeviceType GetLocalDeviceType() {
- #if defined(OS_CHROMEOS)
- return sync_pb::SyncEnums_DeviceType_TYPE_CROS;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return sync_pb::SyncEnums_DeviceType_TYPE_LINUX;
- #elif defined(OS_ANDROID) || defined(OS_IOS)
- return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET
diff --git a/devel/electron11/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/devel/electron11/files/patch-components_sync__device__info_local__device__info__util__linux.cc
deleted file mode 100644
index 126a31a8fdd4..000000000000
--- a/devel/electron11/files/patch-components_sync__device__info_local__device__info__util__linux.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/sync_device_info/local_device_info_util_linux.cc.orig 2021-01-07 00:36:31 UTC
-+++ components/sync_device_info/local_device_info_util_linux.cc
-@@ -37,8 +37,9 @@ std::string GetPersonalizableDeviceNameInternal() {
- #if defined(OS_CHROMEOS)
- return GetChromeOSDeviceNameFromType();
- #else
-- char hostname[HOST_NAME_MAX];
-- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
-+ int len = sysconf(_SC_HOST_NAME_MAX);
-+ char hostname[len];
-+ if (gethostname(hostname, _SC_HOST_NAME_MAX) == 0) // Success.
- return hostname;
- return base::GetLinuxDistro();
- #endif
diff --git a/devel/electron11/files/patch-components_update__client_update__query__params.cc b/devel/electron11/files/patch-components_update__client_update__query__params.cc
deleted file mode 100644
index 8da0a523bff2..000000000000
--- a/devel/electron11/files/patch-components_update__client_update__query__params.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/update_client/update_query_params.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/update_client/update_query_params.cc
-@@ -39,6 +39,8 @@ const char kOs[] =
- "fuchsia";
- #elif defined(OS_OPENBSD)
- "openbsd";
-+#elif defined(OS_FREEBSD)
-+ "freebsd";
- #else
- #error "unknown os"
- #endif
diff --git a/devel/electron11/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/devel/electron11/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
deleted file mode 100644
index 2a44d68c3fe0..000000000000
--- a/devel/electron11/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/url_formatter/spoof_checks/idn_spoof_checker.cc
-@@ -291,7 +291,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
- // The ideal fix would be to change the omnibox font used for Thai. In
- // that case, the Linux-only list should be revisited and potentially
- // removed.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- "[ทนบพรหเแ๐ดลปฟม]",
- #else
- "[บพเแ๐]",
diff --git a/devel/electron11/files/patch-components_viz_common_features.cc b/devel/electron11/files/patch-components_viz_common_features.cc
deleted file mode 100644
index d353022b2547..000000000000
--- a/devel/electron11/files/patch-components_viz_common_features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/common/features.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/common/features.cc
-@@ -22,7 +22,7 @@ const base::Feature kForcePreferredIntervalForVideo{
-
- // Use the SkiaRenderer.
- #if defined(OS_WIN) || \
-- (defined(OS_LINUX) && !(defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMECAST)))
-+ (defined(OS_LINUX) && !(defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMECAST))) || defined(OS_BSD)
- const base::Feature kUseSkiaRenderer{"UseSkiaRenderer",
- base::FEATURE_ENABLED_BY_DEFAULT};
- #else
diff --git a/devel/electron11/files/patch-components_viz_host_host__display__client.cc b/devel/electron11/files/patch-components_viz_host_host__display__client.cc
deleted file mode 100644
index 4681c967d1f4..000000000000
--- a/devel/electron11/files/patch-components_viz_host_host__display__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/host/host_display_client.cc.orig 2021-01-25 11:27:00 UTC
-+++ components/viz/host/host_display_client.cc
-@@ -64,7 +64,7 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
- #endif
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
- NOTIMPLEMENTED();
- }
diff --git a/devel/electron11/files/patch-components_viz_host_host__display__client.h b/devel/electron11/files/patch-components_viz_host_host__display__client.h
deleted file mode 100644
index cf4eae4542d1..000000000000
--- a/devel/electron11/files/patch-components_viz_host_host__display__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/host/host_display_client.h.orig 2021-01-25 11:27:00 UTC
-+++ components/viz/host/host_display_client.h
-@@ -43,7 +43,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
- void CreateLayeredWindowUpdater(
- mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) override;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
- #endif
-
diff --git a/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.cc
deleted file mode 100644
index d5f47e19dad2..000000000000
--- a/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/viz/service/display_embedder/software_output_surface.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/service/display_embedder/software_output_surface.cc
-@@ -112,7 +112,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
- base::TimeTicks now = base::TimeTicks::Now();
- base::TimeDelta interval_to_next_refresh =
- now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (needs_swap_size_notifications_)
- client_->DidSwapWithSize(pixel_size);
- #endif
-@@ -141,7 +141,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
- return gfx::OVERLAY_TRANSFORM_NONE;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void SoftwareOutputSurface::SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) {
- needs_swap_size_notifications_ = needs_swap_size_notifications;
diff --git a/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.h b/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.h
deleted file mode 100644
index 30ed38571031..000000000000
--- a/devel/electron11/files/patch-components_viz_service_display__embedder_software__output__surface.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/viz/service/display_embedder/software_output_surface.h.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/service/display_embedder/software_output_surface.h
-@@ -48,7 +48,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
- UpdateVSyncParametersCallback callback) override;
- void SetDisplayTransformHint(gfx::OverlayTransform transform) override {}
- gfx::OverlayTransform GetDisplayTransform() override;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) override;
- #endif
-@@ -71,7 +71,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
- std::queue<std::vector<ui::LatencyInfo>> stored_latency_info_;
- ui::LatencyTracker latency_tracker_;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool needs_swap_size_notifications_ = false;
- #endif
-
diff --git a/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
deleted file mode 100644
index d89064f2b0d8..000000000000
--- a/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -54,7 +54,7 @@ RootCompositorFrameSinkImpl::Create(
- output_surface->SetNeedsSwapSizeNotifications(
- params->send_swap_size_notifications);
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // For X11, we need notify client about swap completion after resizing, so the
- // client can use it for synchronize with X11 WM.
- output_surface->SetNeedsSwapSizeNotifications(true);
-@@ -456,7 +456,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
- #if defined(OS_ANDROID)
- if (display_client_)
- display_client_->DidCompleteSwapWithSize(pixel_size);
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (display_client_ && pixel_size != last_swap_pixel_size_) {
- last_swap_pixel_size_ = pixel_size;
- display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_);
diff --git a/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
deleted file mode 100644
index 0d918ba14590..000000000000
--- a/devel/electron11/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -163,7 +163,7 @@ class RootCompositorFrameSinkImpl : public mojom::Comp
- base::TimeDelta preferred_frame_interval_ =
- FrameRateDecider::UnspecifiedFrameInterval();
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- gfx::Size last_swap_pixel_size_;
- #endif
-
diff --git a/devel/electron11/files/patch-components_viz_test_fake__output__surface.cc b/devel/electron11/files/patch-components_viz_test_fake__output__surface.cc
deleted file mode 100644
index 56d7280c8fe1..000000000000
--- a/devel/electron11/files/patch-components_viz_test_fake__output__surface.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.cc.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/test/fake_output_surface.cc
-@@ -115,7 +115,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra
- : gfx::OVERLAY_TRANSFORM_NONE;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void FakeOutputSurface::SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) {}
- #endif
diff --git a/devel/electron11/files/patch-components_viz_test_fake__output__surface.h b/devel/electron11/files/patch-components_viz_test_fake__output__surface.h
deleted file mode 100644
index ee666fe92bd5..000000000000
--- a/devel/electron11/files/patch-components_viz_test_fake__output__surface.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.h.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/test/fake_output_surface.h
-@@ -86,7 +86,7 @@ class FakeOutputSurface : public OutputSurface {
- UpdateVSyncParametersCallback callback) override;
- void SetDisplayTransformHint(gfx::OverlayTransform transform) override;
- gfx::OverlayTransform GetDisplayTransform() override;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void SetNeedsSwapSizeNotifications(
- bool needs_swap_size_notifications) override;
- #endif
diff --git a/devel/electron11/files/patch-components_viz_test_mock__display__client.h b/devel/electron11/files/patch-components_viz_test_mock__display__client.h
deleted file mode 100644
index 72740f065437..000000000000
--- a/devel/electron11/files/patch-components_viz_test_mock__display__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/mock_display_client.h.orig 2021-01-07 00:36:32 UTC
-+++ components/viz/test/mock_display_client.h
-@@ -36,7 +36,7 @@ class MockDisplayClient : public mojom::DisplayClient
- MOCK_METHOD1(SetWideColorEnabled, void(bool enabled));
- MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate));
- #endif
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&));
- #endif
-
diff --git a/devel/electron11/files/patch-content_app_content__main.cc b/devel/electron11/files/patch-content_app_content__main.cc
deleted file mode 100644
index 40a0a9fc013b..000000000000
--- a/devel/electron11/files/patch-content_app_content__main.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/app/content_main.cc.orig 2021-01-07 00:36:32 UTC
-+++ content/app/content_main.cc
-@@ -230,7 +230,7 @@ int RunContentProcess(const ContentMainParams& params,
- #endif
- base::EnableTerminationOnOutOfMemory();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The various desktop environments set this environment variable that
- // allows the dbus client library to connect directly to the bus. When this
- // variable is not set (test environments like xvfb-run), the dbus client
diff --git a/devel/electron11/files/patch-content_app_content__main__runner__impl.cc b/devel/electron11/files/patch-content_app_content__main__runner__impl.cc
deleted file mode 100644
index e67d4b1958a0..000000000000
--- a/devel/electron11/files/patch-content_app_content__main__runner__impl.cc
+++ /dev/null
@@ -1,65 +0,0 @@
---- content/app/content_main_runner_impl.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/app/content_main_runner_impl.cc
-@@ -131,7 +131,7 @@
-
- #endif // OS_POSIX || OS_FUCHSIA
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/native_library.h"
- #include "base/rand_util.h"
- #include "content/public/common/zygote/sandbox_support_linux.h"
-@@ -151,7 +151,7 @@
- #include "content/public/common/content_client.h"
- #endif
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(USE_ZYGOTE_HANDLE)
- #include "content/browser/sandbox_host_linux.h"
-@@ -301,7 +301,7 @@ void InitializeZygoteSandboxForBrowserProcess(
- }
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_PLUGINS)
- // Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -392,7 +392,7 @@ void PreSandboxInit() {
- }
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
-
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- } // namespace
-
-@@ -455,7 +455,7 @@ int RunZygote(ContentMainDelegate* delegate) {
- delegate->ZygoteStarting(&zygote_fork_delegates);
- media::InitializeMediaLibrary();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- PreSandboxInit();
- #endif
-
-@@ -830,7 +830,7 @@ int ContentMainRunnerImpl::Run(bool start_service_mana
- delegate_->PostFieldTrialInitialization();
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // If dynamic Mojo Core is being used, ensure that it's loaded very early in
- // the child/zygote process, before any sandbox is initialized. The library
- // is not fully initialized with IPC support until a ChildProcess is later
-@@ -840,7 +840,7 @@ int ContentMainRunnerImpl::Run(bool start_service_mana
- CHECK_EQ(mojo::LoadCoreLibrary(GetMojoCoreSharedLibraryPath()),
- MOJO_RESULT_OK);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- MainFunctionParams main_params(command_line);
diff --git a/devel/electron11/files/patch-content_browser_BUILD.gn b/devel/electron11/files/patch-content_browser_BUILD.gn
deleted file mode 100644
index 616e2e2b33d8..000000000000
--- a/devel/electron11/files/patch-content_browser_BUILD.gn
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/browser/BUILD.gn.orig 2021-01-07 00:36:32 UTC
-+++ content/browser/BUILD.gn
-@@ -2113,6 +2113,15 @@ source_set("browser") {
- deps += [ "//third_party/speech-dispatcher" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "sandbox_host_linux.cc",
-+ "sandbox_host_linux.h",
-+ "sandbox_ipc_linux.cc",
-+ "sandbox_ipc_linux.h",
-+ ]
-+ }
-+
- # ChromeOS also defines linux but their memory-monitors conflict.
- if (is_chromeos) {
- sources += [
diff --git a/devel/electron11/files/patch-content_browser_browser__main__loop.cc b/devel/electron11/files/patch-content_browser_browser__main__loop.cc
deleted file mode 100644
index 95febacafa3e..000000000000
--- a/devel/electron11/files/patch-content_browser_browser__main__loop.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- content/browser/browser_main_loop.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/browser_main_loop.cc
-@@ -367,7 +367,7 @@ std::unique_ptr<base::MemoryPressureMonitor> CreateMem
- if (chromeos::switches::MemoryPressureHandlingEnabled())
- monitor = std::make_unique<util::MultiSourceMemoryPressureMonitor>();
- #elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_FUCHSIA) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- monitor = std::make_unique<util::MultiSourceMemoryPressureMonitor>();
- #endif
- // No memory monitor on other platforms...
-@@ -611,7 +611,7 @@ int BrowserMainLoop::EarlyInitialization() {
-
- // Up the priority of the UI thread unless it was already high (since Mac
- // and recent versions of Android (O+) do this automatically).
--#if !defined(OS_MAC)
-+#if !defined(OS_MAC) && !defined(OS_BSD)
- if (base::FeatureList::IsEnabled(
- features::kBrowserUseDisplayThreadPriority) &&
- base::PlatformThread::GetCurrentThreadPriority() <
-@@ -621,7 +621,7 @@ int BrowserMainLoop::EarlyInitialization() {
- }
- #endif // !defined(OS_MAC)
-
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- // We use quite a few file descriptors for our IPC as well as disk the disk
- // cache,and the default limit on the Mac is low (256), so bump it up.
-@@ -631,7 +631,7 @@ int BrowserMainLoop::EarlyInitialization() {
- // users can easily hit this limit with many open tabs. Bump up the limit to
- // an arbitrarily high number. See https://crbug.com/539567
- base::IncreaseFdLimitTo(8192);
--#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_ANDROID)
-
- #if defined(OS_WIN)
diff --git a/devel/electron11/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/devel/electron11/files/patch-content_browser_compositor_viz__process__transport__factory.cc
deleted file mode 100644
index 6d8c39dd19ce..000000000000
--- a/devel/electron11/files/patch-content_browser_compositor_viz__process__transport__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/compositor/viz_process_transport_factory.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/compositor/viz_process_transport_factory.cc
-@@ -108,7 +108,7 @@ class HostDisplayClient : public viz::HostDisplayClien
- HostDisplayClient& operator=(const HostDisplayClient&) = delete;
-
- // viz::HostDisplayClient:
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void DidCompleteSwapWithNewSize(const gfx::Size& size) override {
- compositor_->OnCompleteSwapWithNewSize(size);
- }
diff --git a/devel/electron11/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/devel/electron11/files/patch-content_browser_devtools_protocol_system__info__handler.cc
deleted file mode 100644
index 9a1ba5207d58..000000000000
--- a/devel/electron11/files/patch-content_browser_devtools_protocol_system__info__handler.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/devtools/protocol/system_info_handler.cc.orig 2021-01-07 00:36:32 UTC
-+++ content/browser/devtools/protocol/system_info_handler.cc
-@@ -47,7 +47,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
- // Give the GPU process a few seconds to provide GPU info.
- // Linux Debug builds need more time -- see Issue 796437 and 1046598.
- // Windows builds need more time -- see Issue 873112 and 1004472.
--#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || \
-+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(NDEBUG)) || \
- defined(OS_WIN)
- const int kGPUInfoWatchdogTimeoutMs = 30000;
- #else
diff --git a/devel/electron11/files/patch-content_browser_font__access_font__enumeration__cache.h b/devel/electron11/files/patch-content_browser_font__access_font__enumeration__cache.h
deleted file mode 100644
index 8982653bfa55..000000000000
--- a/devel/electron11/files/patch-content_browser_font__access_font__enumeration__cache.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/font_access/font_enumeration_cache.h.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/font_access/font_enumeration_cache.h
-@@ -15,7 +15,7 @@
- #include "third_party/blink/public/common/font_access/font_enumeration_table.pb.h"
- #include "third_party/blink/public/mojom/font_access/font_access.mojom.h"
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_MAC)
- #define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1
- #endif
diff --git a/devel/electron11/files/patch-content_browser_gpu_compositor__util.cc b/devel/electron11/files/patch-content_browser_gpu_compositor__util.cc
deleted file mode 100644
index 1e40ca38314d..000000000000
--- a/devel/electron11/files/patch-content_browser_gpu_compositor__util.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- content/browser/gpu/compositor_util.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/gpu/compositor_util.cc
-@@ -131,11 +131,11 @@ const GpuFeatureData GetGpuFeatureData(
- {"video_decode",
- SafeGetFeatureStatus(gpu_feature_info,
- gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE),
--#if defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- !command_line.HasSwitch(switches::kEnableAcceleratedVideoDecode),
- #else
- command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode),
--#endif // defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- DisableInfo::Problem(
- "Accelerated video decode has been disabled, either via blocklist, "
- "about:flags or the command line."),
diff --git a/devel/electron11/files/patch-content_browser_gpu_gpu__process__host.cc b/devel/electron11/files/patch-content_browser_gpu_gpu__process__host.cc
deleted file mode 100644
index 5e7a06178b85..000000000000
--- a/devel/electron11/files/patch-content_browser_gpu_gpu__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/gpu/gpu_process_host.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/gpu/gpu_process_host.cc
-@@ -1128,7 +1128,7 @@ bool GpuProcessHost::LaunchGpuProcess() {
- std::unique_ptr<base::CommandLine> cmd_line =
- std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM);
- #else
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-content_browser_ppapi__plugin__process__host.cc b/devel/electron11/files/patch-content_browser_ppapi__plugin__process__host.cc
deleted file mode 100644
index 78a36c97ba96..000000000000
--- a/devel/electron11/files/patch-content_browser_ppapi__plugin__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/ppapi_plugin_process_host.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/ppapi_plugin_process_host.cc
-@@ -367,7 +367,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn
- base::CommandLine::StringType plugin_launcher =
- browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF :
- ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/devel/electron11/files/patch-content_browser_renderer__host_delegated__frame__host.cc
deleted file mode 100644
index ceab878b426a..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_delegated__frame__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/renderer_host/delegated_frame_host.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/renderer_host/delegated_frame_host.cc
-@@ -243,7 +243,7 @@ void DelegatedFrameHost::EmbedSurface(
-
- if (!primary_surface_id ||
- primary_surface_id->local_surface_id() != local_surface_id_) {
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // On Windows and Linux, we would like to produce new content as soon as
- // possible or the OS will create an additional black gutter. Until we can
- // block resize on surface synchronization on these platforms, we will not
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/devel/electron11/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
deleted file mode 100644
index 17d381f4a810..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc
-@@ -438,7 +438,7 @@ void PepperFileIOHost::OnLocalFileOpened(
- ppapi::host::ReplyMessageContext reply_context,
- const base::FilePath& path,
- base::File::Error error_code) {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Quarantining a file before its contents are available is only supported on
- // Windows and Linux.
- if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) {
-@@ -459,7 +459,7 @@ void PepperFileIOHost::OnLocalFileOpened(
- #endif
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void PepperFileIOHost::OnLocalFileQuarantined(
- ppapi::host::ReplyMessageContext reply_context,
- const base::FilePath& path,
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.cc b/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.cc
deleted file mode 100644
index 891eefd3ea47..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/renderer_host/render_message_filter.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/renderer_host/render_message_filter.cc
-@@ -70,7 +70,7 @@
- #if defined(OS_MAC)
- #include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/linux_util.h"
- #include "base/threading/platform_thread.h"
- #endif
-@@ -117,7 +117,7 @@ void RenderMessageFilter::GenerateRoutingID(
- std::move(callback).Run(render_widget_helper_->GetNextRoutingID());
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void RenderMessageFilter::SetThreadPriorityOnFileThread(
- base::PlatformThreadId ns_tid,
- base::ThreadPriority priority) {
-@@ -138,7 +138,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void RenderMessageFilter::SetThreadPriority(int32_t ns_tid,
- base::ThreadPriority priority) {
- constexpr base::TaskTraits kTraits = {
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.h b/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.h
deleted file mode 100644
index e06f52271ec7..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__message__filter.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- content/browser/renderer_host/render_message_filter.h.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/renderer_host/render_message_filter.h
-@@ -79,14 +79,14 @@ class CONTENT_EXPORT RenderMessageFilter
- // mojom::RenderMessageFilter:
- void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override;
- void HasGpuProcess(HasGpuProcessCallback callback) override;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void SetThreadPriority(int32_t ns_tid,
- base::ThreadPriority priority) override;
- #endif
-
- void OnResolveProxy(const GURL& url, IPC::Message* reply_msg);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid,
- base::ThreadPriority priority);
- #endif
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/devel/electron11/files/patch-content_browser_renderer__host_render__process__host__impl.cc
deleted file mode 100644
index c0e3342fe60c..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__process__host__impl.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -238,7 +238,7 @@
- #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <sys/resource.h>
- #include <sys/time.h>
-
-@@ -1240,7 +1240,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
- // to indicate failure and std::numeric_limits<size_t>::max() to indicate
- // unlimited.
- size_t GetPlatformProcessLimit() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- struct rlimit limit;
- if (getrlimit(RLIMIT_NPROC, &limit) != 0)
- return kUnknownPlatformProcessLimit;
-@@ -1251,7 +1251,7 @@ size_t GetPlatformProcessLimit() {
- #else
- // TODO(https://crbug.com/104689): Implement on other platforms.
- return kUnknownPlatformProcessLimit;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-
-@@ -1336,7 +1336,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
- return;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
- ConnectToFontService(std::move(font_receiver));
- return;
-@@ -1769,7 +1769,7 @@ bool RenderProcessHostImpl::Init() {
- renderer_prefix =
- browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MAC)
-@@ -3322,7 +3322,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
- #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
- switches::kDisableDevShmUsage,
- #endif
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)) || defined(OS_BSD)
- switches::kEnableAcceleratedVideoDecode,
- #endif
- #if defined(OS_MAC)
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/devel/electron11/files/patch-content_browser_renderer__host_render__view__host__impl.cc
deleted file mode 100644
index c1df87b44a10..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__view__host__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/renderer_host/render_view_host_impl.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/browser/renderer_host/render_view_host_impl.cc
-@@ -278,7 +278,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
- display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL);
- prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips =
- display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL);
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- prefs->system_font_family_name = gfx::Font().GetFontName();
- #elif defined(OS_FUCHSIA)
- // Make Blink's "focus ring" invisible. The focus ring is a hairline border
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
deleted file mode 100644
index e09af826bafc..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-01-25 11:26:59 UTC
-+++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -111,11 +111,11 @@
- #include "ui/gfx/gdi_util.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "content/browser/accessibility/browser_accessibility_auralinux.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-@@ -492,7 +492,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
- if (manager)
- return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM();
-
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- BrowserAccessibilityManager* manager =
- host()->GetOrCreateRootBrowserAccessibilityManager();
- if (manager && manager->GetRoot())
-@@ -2224,7 +2224,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
- }
-
- bool RenderWidgetHostViewAura::NeedsMouseCapture() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- return NeedsInputGrab();
- #else
- return false;
-@@ -2388,7 +2388,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
- if (!target_host)
- return;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate =
- ui::GetTextEditKeyBindingsDelegate();
- std::vector<ui::TextEditCommandAuraLinux> commands;
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
deleted file mode 100644
index 3066e4728c64..000000000000
--- a/devel/electron11/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
-@@ -716,7 +716,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
- if (event->type() == ui::ET_MOUSE_EXITED) {
- if (mouse_locked || selection_popup)
- return false;
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Don't forward the mouse leave message which is received when the context
- // menu is displayed by the page. This confuses the page and causes state
- // changes.
diff --git a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/devel/electron11/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
deleted file mode 100644
index a5d4ac787cb5..000000000000
--- a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc
-@@ -332,7 +332,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask
- // in context menus, among others). Simply ignore the mismatches for now.
- // See https://crbug.com/929813 for the details of why the mismatch
- // happens.
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX) && defined(USE_OZONE)
-+#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE)
- task_execution_metadata_.clear();
- #endif
- return;
diff --git a/devel/electron11/files/patch-content_browser_utility__process__host.cc b/devel/electron11/files/patch-content_browser_utility__process__host.cc
deleted file mode 100644
index 8e9b93319fc3..000000000000
--- a/devel/electron11/files/patch-content_browser_utility__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/utility_process_host.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/utility_process_host.cc
-@@ -58,7 +58,7 @@ UtilityProcessHost::UtilityProcessHost()
-
- UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client)
- : sandbox_type_(sandbox::policy::SandboxType::kUtility),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- child_flags_(ChildProcessHost::CHILD_ALLOW_SELF),
- #else
- child_flags_(ChildProcessHost::CHILD_NORMAL),
diff --git a/devel/electron11/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/devel/electron11/files/patch-content_browser_web__contents_web__contents__view__aura.cc
deleted file mode 100644
index 0d8d369d6e3a..000000000000
--- a/devel/electron11/files/patch-content_browser_web__contents_web__contents__view__aura.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/web_contents/web_contents_view_aura.cc.orig 2021-01-25 11:26:59 UTC
-+++ content/browser/web_contents/web_contents_view_aura.cc
-@@ -1209,7 +1209,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
- // Linux window managers like to handle raise-on-click themselves. If we
- // raise-on-click manually, this may override user settings that prevent
- // focus-stealing.
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- // It is possible for the web-contents to be destroyed while it is being
- // activated. Use a weak-ptr to track whether that happened or not.
- // More in https://crbug.com/1040725
diff --git a/devel/electron11/files/patch-content_browser_webui_shared__resources__data__source.cc b/devel/electron11/files/patch-content_browser_webui_shared__resources__data__source.cc
deleted file mode 100644
index 93061ae7ac62..000000000000
--- a/devel/electron11/files/patch-content_browser_webui_shared__resources__data__source.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/browser/webui/shared_resources_data_source.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/browser/webui/shared_resources_data_source.cc
-@@ -120,13 +120,13 @@ const std::map<int, std::string> CreateMojoResourceIdT
- "mojo/mojo/public/mojom/base/text_direction.mojom.html"},
- {IDR_MOJO_TEXT_DIRECTION_MOJOM_LITE_JS,
- "mojo/mojo/public/mojom/base/text_direction.mojom-lite.js"},
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_ANDROID)
- {IDR_MOJO_TIME_MOJOM_HTML,
- "mojo/mojo/public/mojom/base/time.mojom.html"},
- {IDR_MOJO_TIME_MOJOM_LITE_JS,
- "mojo/mojo/public/mojom/base/time.mojom-lite.js"},
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS) || defined(OS_ANDROID)
- };
- }
diff --git a/devel/electron11/files/patch-content_child_child__process.cc b/devel/electron11/files/patch-content_child_child__process.cc
deleted file mode 100644
index b17d5f38768a..000000000000
--- a/devel/electron11/files/patch-content_child_child__process.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/child/child_process.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/child/child_process.cc
-@@ -50,7 +50,7 @@ ChildProcess::ChildProcess(base::ThreadPriority io_thr
- DCHECK(!g_lazy_child_process_tls.Pointer()->Get());
- g_lazy_child_process_tls.Pointer()->Set(this);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
- if (IsMojoCoreSharedLibraryEnabled()) {
diff --git a/devel/electron11/files/patch-content_common_BUILD.gn b/devel/electron11/files/patch-content_common_BUILD.gn
deleted file mode 100644
index 715f4a603f2b..000000000000
--- a/devel/electron11/files/patch-content_common_BUILD.gn
+++ /dev/null
@@ -1,27 +0,0 @@
---- content/common/BUILD.gn.orig 2021-01-07 00:36:33 UTC
-+++ content/common/BUILD.gn
-@@ -328,6 +328,15 @@ source_set("common") {
- libs += [ "android" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "sandbox_init_linux.cc",
-+ ]
-+ deps += [
-+ "//third_party/fontconfig",
-+ ]
-+ }
-+
- if (is_debug && !is_component_build && enable_plugins) {
- # Content depends on the PPAPI message logging stuff; if this isn't here,
- # some unit test binaries won't compile. This only worked in release mode
-@@ -345,7 +354,7 @@ source_set("common") {
- sources -= [ "cursors/webcursor_aura.cc" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "zygote/sandbox_support_linux.cc",
- "zygote/send_zygote_child_ping_linux.cc",
diff --git a/devel/electron11/files/patch-content_common_user__agent.cc b/devel/electron11/files/patch-content_common_user__agent.cc
deleted file mode 100644
index d081caa14adb..000000000000
--- a/devel/electron11/files/patch-content_common_user__agent.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- content/common/user_agent.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/common/user_agent.cc
-@@ -214,6 +214,14 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
- );
- #endif
-
-+#if defined(OS_BSD)
-+#if defined(__x86_64__)
-+ base::StringAppendF(&os_cpu, "; Linux x86_64");
-+#else
-+ base::StringAppendF(&os_cpu, "; Linux i686");
-+#endif
-+#endif
-+
- return os_cpu;
- }
-
diff --git a/devel/electron11/files/patch-content_gpu_BUILD.gn b/devel/electron11/files/patch-content_gpu_BUILD.gn
deleted file mode 100644
index d6773e93e9ab..000000000000
--- a/devel/electron11/files/patch-content_gpu_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/gpu/BUILD.gn.orig 2021-01-07 00:36:33 UTC
-+++ content/gpu/BUILD.gn
-@@ -130,7 +130,7 @@ target(link_target_type, "gpu_sources") {
-
- # Use DRI on desktop Linux builds.
- if (current_cpu != "s390x" && current_cpu != "ppc64" && is_desktop_linux &&
-- (!is_chromecast || is_cast_desktop_build)) {
-+ (!is_chromecast || is_cast_desktop_build) && !is_bsd) {
- configs += [ "//build/config/linux/dri" ]
- }
- }
diff --git a/devel/electron11/files/patch-content_gpu_gpu__main.cc b/devel/electron11/files/patch-content_gpu_gpu__main.cc
deleted file mode 100644
index af5411cf9977..000000000000
--- a/devel/electron11/files/patch-content_gpu_gpu__main.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/gpu/gpu_main.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/gpu/gpu_main.cc
-@@ -86,7 +86,7 @@
- #include "ui/gfx/x/x11_types.h" // nogncheck
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "content/gpu/gpu_sandbox_hook_linux.h"
- #include "content/public/common/sandbox_init.h"
- #include "sandbox/policy/linux/sandbox_linux.h"
-@@ -306,7 +306,7 @@ int GpuMain(const MainFunctionParams& parameters) {
- gpu_preferences.message_pump_type);
- }
- #endif
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #error "Unsupported Linux platform."
- #elif defined(OS_MAC)
- // Cross-process CoreAnimation requires a CFRunLoop to function at all, and
diff --git a/devel/electron11/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/devel/electron11/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
deleted file mode 100644
index 04810f32a891..000000000000
--- a/devel/electron11/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/gpu/gpu_sandbox_hook_linux.cc
-@@ -361,6 +361,7 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
- }
-
- void LoadArmGpuLibraries() {
-+#if !defined(OS_BSD)
- // Preload the Mali library.
- if (UseChromecastSandboxAllowlist()) {
- for (const char* path : kAllowedChromecastPaths) {
-@@ -375,6 +376,7 @@ void LoadArmGpuLibraries() {
- // Preload the Tegra V4L2 (video decode acceleration) library.
- dlopen(kLibTegraPath, dlopen_flag);
- }
-+#endif
- }
-
- bool LoadAmdGpuLibraries() {
diff --git a/devel/electron11/files/patch-content_public_common_common__param__traits__macros.h b/devel/electron11/files/patch-content_public_common_common__param__traits__macros.h
deleted file mode 100644
index 33ea392164a6..000000000000
--- a/devel/electron11/files/patch-content_public_common_common__param__traits__macros.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/common_param_traits_macros.h.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/common_param_traits_macros.h
-@@ -138,7 +138,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::mojom::RendererPreferen
- IPC_STRUCT_TRAITS_MEMBER(accept_languages)
- IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
- IPC_STRUCT_TRAITS_MEMBER(caret_browsing_enabled)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
- IPC_STRUCT_TRAITS_MEMBER(selection_clipboard_buffer_available)
- #endif
diff --git a/devel/electron11/files/patch-content_public_common_content__constants.cc b/devel/electron11/files/patch-content_public_common_content__constants.cc
deleted file mode 100644
index 0d6323f5fd93..000000000000
--- a/devel/electron11/files/patch-content_public_common_content__constants.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_constants.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/content_constants.cc
-@@ -56,7 +56,7 @@ std::string GetCorsExemptRequestedWithHeaderName() {
- return base::JoinString(pieces, "-");
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const int kLowestRendererOomScore = 300;
- const int kHighestRendererOomScore = 1000;
-
diff --git a/devel/electron11/files/patch-content_public_common_content__constants.h b/devel/electron11/files/patch-content_public_common_content__constants.h
deleted file mode 100644
index 79ac64323981..000000000000
--- a/devel/electron11/files/patch-content_public_common_content__constants.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_constants.h.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/content_constants.h
-@@ -70,7 +70,7 @@ CONTENT_EXPORT extern const char kCorsExemptPurposeHea
- // it at run time.
- CONTENT_EXPORT std::string GetCorsExemptRequestedWithHeaderName();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The OOM score adj constants
- // The highest and lowest assigned OOM score adjustment (oom_score_adj) for
- // renderers and extensions used by the OomPriority Manager.
diff --git a/devel/electron11/files/patch-content_public_common_content__features.cc b/devel/electron11/files/patch-content_public_common_content__features.cc
deleted file mode 100644
index 4b7da492cee1..000000000000
--- a/devel/electron11/files/patch-content_public_common_content__features.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- content/public/common/content_features.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/content_features.cc
-@@ -54,7 +54,7 @@ const base::Feature kAudioServiceLaunchOnStartup{
- const base::Feature kAudioServiceOutOfProcess {
- "AudioServiceOutOfProcess",
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -781,8 +781,8 @@ const base::Feature kWebAssemblyThreads {
- };
-
- // Enable WebAssembly trap handler.
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-- defined(OS_MAC)) && \
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
-+ defined(OS_MAC)) && \
- defined(ARCH_CPU_X86_64)
- const base::Feature kWebAssemblyTrapHandler{"WebAssemblyTrapHandler",
- base::FEATURE_ENABLED_BY_DEFAULT};
-@@ -812,7 +812,7 @@ const base::Feature kWebAuth{"WebAuthentication",
- // https://w3c.github.io/webauthn
- const base::Feature kWebAuthCable {
- "WebAuthenticationCable",
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
-+#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD)
- base::FEATURE_DISABLED_BY_DEFAULT
- #else
- base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/devel/electron11/files/patch-content_public_common_content__switches.cc b/devel/electron11/files/patch-content_public_common_content__switches.cc
deleted file mode 100644
index 58903c777a09..000000000000
--- a/devel/electron11/files/patch-content_public_common_content__switches.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/public/common/content_switches.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/content_switches.cc
-@@ -905,7 +905,7 @@ const char kWebXrRuntimeWMR[] = "windows-mixed-reality
- const char kDisableAcceleratedVideoDecode[] =
- "disable-accelerated-video-decode";
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)) || defined(OS_BSD)
- // Enables hardware acceleration of video decoding on linux. (defaults to off)
- const char kEnableAcceleratedVideoDecode[] = "enable-accelerated-video-decode";
- #endif
-@@ -969,7 +969,7 @@ const char kEnableAggressiveDOMStorageFlushing[] =
- // Enable indication that browser is controlled by automation.
- const char kEnableAutomation[] = "enable-automation";
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_FREEBSD)
- // Allows sending text-to-speech requests to speech-dispatcher, a common
- // Linux speech service. Because it's buggy, the user must explicitly
- // enable it so that visiting a random webpage can't cause instability.
diff --git a/devel/electron11/files/patch-content_public_common_content__switches.h b/devel/electron11/files/patch-content_public_common_content__switches.h
deleted file mode 100644
index fc132c4e7308..000000000000
--- a/devel/electron11/files/patch-content_public_common_content__switches.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/public/common/content_switches.h.orig 2021-01-07 00:36:33 UTC
-+++ content/public/common/content_switches.h
-@@ -248,7 +248,7 @@ CONTENT_EXPORT extern const char kWebXrRuntimeOrientat
- CONTENT_EXPORT extern const char kWebXrRuntimeOpenXr[];
- CONTENT_EXPORT extern const char kWebXrRuntimeWMR[];
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)) || defined(OS_BSD)
- CONTENT_EXPORT extern const char kEnableAcceleratedVideoDecode[];
- #endif
- CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[];
-@@ -269,7 +269,7 @@ CONTENT_EXPORT extern const char kRemoteDebuggingSocke
- CONTENT_EXPORT extern const char kRendererWaitForJavaDebugger[];
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_FREEBSD)
- CONTENT_EXPORT extern const char kEnableSpeechDispatcher[];
- #endif
-
diff --git a/devel/electron11/files/patch-content_public_test_browser__test__base.cc b/devel/electron11/files/patch-content_public_test_browser__test__base.cc
deleted file mode 100644
index 00d74c3f86ce..000000000000
--- a/devel/electron11/files/patch-content_public_test_browser__test__base.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- content/public/test/browser_test_base.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/test/browser_test_base.cc
-@@ -105,6 +105,10 @@
- #include "ui/views/test/event_generator_delegate_mac.h"
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <sys/signal.h>
-+#endif
-+
- #if defined(OS_POSIX)
- #include "base/process/process_handle.h"
- #endif
diff --git a/devel/electron11/files/patch-content_public_test_content__browser__test.cc b/devel/electron11/files/patch-content_public_test_content__browser__test.cc
deleted file mode 100644
index f3231ceaf75d..000000000000
--- a/devel/electron11/files/patch-content_public_test_content__browser__test.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/public/test/content_browser_test.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/test/content_browser_test.cc
-@@ -26,7 +26,7 @@
- #include "base/mac/foundation_util.h"
- #endif
-
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
-+#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD)
- #include "ui/base/ime/init/input_method_initializer.h"
- #endif
-
-@@ -87,7 +87,7 @@ void ContentBrowserTest::SetUp() {
- #endif
-
- // LinuxInputMethodContextFactory has to be initialized.
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
-+#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD)
- ui::InitializeInputMethodForTesting();
- #endif
-
-@@ -100,7 +100,7 @@ void ContentBrowserTest::TearDown() {
- BrowserTestBase::TearDown();
-
- // LinuxInputMethodContextFactory has to be shutdown.
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
-+#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD)
- ui::ShutdownInputMethodForTesting();
- #endif
- }
diff --git a/devel/electron11/files/patch-content_public_test_mock__render__thread.cc b/devel/electron11/files/patch-content_public_test_mock__render__thread.cc
deleted file mode 100644
index d41e0623f4ea..000000000000
--- a/devel/electron11/files/patch-content_public_test_mock__render__thread.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/test/mock_render_thread.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/public/test/mock_render_thread.cc
-@@ -52,7 +52,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
- std::move(callback).Run(false);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void SetThreadPriority(int32_t platform_thread_id,
- base::ThreadPriority thread_priority) override {}
- #endif
diff --git a/devel/electron11/files/patch-content_renderer_render__process__impl.cc b/devel/electron11/files/patch-content_renderer_render__process__impl.cc
deleted file mode 100644
index 848169819d02..000000000000
--- a/devel/electron11/files/patch-content_renderer_render__process__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/renderer/render_process_impl.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/renderer/render_process_impl.cc
-@@ -44,7 +44,7 @@
- #if defined(OS_WIN)
- #include "base/win/win_util.h"
- #endif
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
- #include "v8/include/v8-wasm-trap-handler-posix.h"
- #endif
- namespace {
-@@ -177,7 +177,7 @@ RenderProcessImpl::RenderProcessImpl()
-
- SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler,
- "--no-wasm-trap-handler");
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
- if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) {
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
- if (!command_line->HasSwitch(switches::kDisableInProcessStackTraces)) {
diff --git a/devel/electron11/files/patch-content_renderer_render__thread__impl.cc b/devel/electron11/files/patch-content_renderer_render__thread__impl.cc
deleted file mode 100644
index fd42e48e9a5c..000000000000
--- a/devel/electron11/files/patch-content_renderer_render__thread__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/renderer/render_thread_impl.cc.orig 2021-01-25 11:26:59 UTC
-+++ content/renderer/render_thread_impl.cc
-@@ -173,7 +173,7 @@
-
- #if defined(OS_MAC)
- #include <malloc/malloc.h>
--#else
-+#elif !defined(OS_BSD)
- #include <malloc.h>
- #endif
-
diff --git a/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.cc b/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.cc
deleted file mode 100644
index d19166aa52b3..000000000000
--- a/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2021-01-25 11:27:00 UTC
-+++ content/renderer/renderer_blink_platform_impl.cc
-@@ -97,7 +97,7 @@
-
- #if defined(OS_MAC)
- #include "content/child/child_process_sandbox_support_impl_mac.h"
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "content/child/child_process_sandbox_support_impl_linux.h"
- #endif
-
-@@ -169,7 +169,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- main_thread_scheduler_(main_thread_scheduler) {
- // RenderThread may not exist in some tests.
- if (RenderThreadImpl::current()) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- mojo::PendingRemote<font_service::mojom::FontService> font_service;
- RenderThreadImpl::current()->BindHostReceiver(
- font_service.InitWithNewPipeAndPassReceiver());
-@@ -179,7 +179,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- #endif
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- if (sandboxEnabled()) {
- #if defined(OS_MAC)
- sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -232,7 +232,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory(
-
- void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
- base::PlatformThreadId thread_id) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
- render_thread->render_message_filter()->SetThreadPriority(
- thread_id, base::ThreadPriority::DISPLAY);
-@@ -245,7 +245,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
- }
-
- blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- return sandbox_support_.get();
- #else
- // These platforms do not require sandbox support.
diff --git a/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.h b/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.h
deleted file mode 100644
index dbffcb8a774f..000000000000
--- a/devel/electron11/files/patch-content_renderer_renderer__blink__platform__impl.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2021-01-25 11:27:00 UTC
-+++ content/renderer/renderer_blink_platform_impl.h
-@@ -29,7 +29,7 @@
- #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
- #include "third_party/blink/public/mojom/loader/code_cache.mojom.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h" // nogncheck
- #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
- #endif
-@@ -224,7 +224,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
- // Return the mojo interface for making CodeCache calls.
- blink::mojom::CodeCacheHost& GetCodeCacheHost();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
- #endif
-
-@@ -245,7 +245,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
- mojo::PendingRemote<blink::mojom::CodeCacheHost> code_cache_host_remote_;
- mojo::SharedRemote<blink::mojom::CodeCacheHost> code_cache_host_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/devel/electron11/files/patch-content_shell_BUILD.gn b/devel/electron11/files/patch-content_shell_BUILD.gn
deleted file mode 100644
index 1e2d209d947f..000000000000
--- a/devel/electron11/files/patch-content_shell_BUILD.gn
+++ /dev/null
@@ -1,47 +0,0 @@
---- content/shell/BUILD.gn.orig 2021-01-07 00:36:33 UTC
-+++ content/shell/BUILD.gn
-@@ -94,7 +94,7 @@ static_library("content_shell_app") {
- "//content/web_test:web_test_renderer",
- ]
- }
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [
- "//components/crash/core/app",
- "//components/crash/core/app:test_support",
-@@ -253,7 +253,7 @@ static_library("content_shell_lib") {
-
- if (is_fuchsia) {
- deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.policy" ]
-- } else {
-+ } else if (!is_bsd) {
- deps += [
- "//components/crash/content/browser",
- "//components/crash/core/app",
-@@ -505,7 +505,7 @@ if (is_android) {
- }
- }
-
-- if (is_win || is_linux || is_chromeos) {
-+ if ((is_win || is_linux || is_chromeos) && !is_bsd) {
- data_deps +=
- [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ]
- }
-@@ -789,7 +789,7 @@ group("content_shell_crash_test") {
- mac_bin_path + "otool",
- ]
- }
-- if (is_posix) {
-+ if (is_posix && !is_bsd) {
- data += [
- "//components/crash/content/tools/generate_breakpad_symbols.py",
- "//components/crash/content/tools/dmp2minidump.py",
-@@ -798,7 +798,7 @@ group("content_shell_crash_test") {
- if (is_win) {
- data_deps += [ "//build/win:copy_cdb_to_output" ]
- }
-- if (is_posix) {
-+ if (is_posix && !is_bsd) {
- data_deps += [
- "//third_party/breakpad:dump_syms",
- "//third_party/breakpad:minidump_stackwalk",
diff --git a/devel/electron11/files/patch-content_shell_browser_shell__browser__main__parts.cc b/devel/electron11/files/patch-content_shell_browser_shell__browser__main__parts.cc
deleted file mode 100644
index 0b903c2fb1cb..000000000000
--- a/devel/electron11/files/patch-content_shell_browser_shell__browser__main__parts.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/shell/browser/shell_browser_main_parts.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/shell/browser/shell_browser_main_parts.cc
-@@ -54,7 +54,7 @@
- #if defined(USE_AURA) && defined(USE_X11)
- #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck
- #endif
--#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX)
-+#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "ui/base/ime/init/input_method_initializer.h"
- #endif
- #if defined(OS_CHROMEOS)
-@@ -141,7 +141,7 @@ int ShellBrowserMainParts::PreEarlyInitialization() {
- if (!features::IsUsingOzonePlatform())
- ui::SetDefaultX11ErrorHandlers();
- #endif
--#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX)
-+#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX))
- ui::InitializeInputMethodForTesting();
- #endif
- #if defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-content_test_BUILD.gn b/devel/electron11/files/patch-content_test_BUILD.gn
deleted file mode 100644
index 5aed3d2cc88e..000000000000
--- a/devel/electron11/files/patch-content_test_BUILD.gn
+++ /dev/null
@@ -1,28 +0,0 @@
---- content/test/BUILD.gn.orig 2021-01-07 00:36:33 UTC
-+++ content/test/BUILD.gn
-@@ -1402,10 +1402,12 @@ test("content_browsertests") {
- }
-
- if (is_linux || is_chromeos) {
-- sources += [
-- "../browser/utility_process_sandbox_browsertest.cc",
-- "../browser/zygote_host/zygote_browsertest.cc",
-- ]
-+ if (!is_bsd) {
-+ sources += [
-+ "../browser/utility_process_sandbox_browsertest.cc",
-+ "../browser/zygote_host/zygote_browsertest.cc",
-+ ]
-+ }
- deps += [
- "//services/service_manager/tests:interfaces",
- "//ui/gfx:test_support",
-@@ -1625,7 +1627,7 @@ static_library("run_all_unittests") {
- ":test_support",
- "//base/test:test_support",
- ]
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//content/common:set_process_title_linux" ]
- }
- }
diff --git a/devel/electron11/files/patch-content_test_content__test__suite.cc b/devel/electron11/files/patch-content_test_content__test__suite.cc
deleted file mode 100644
index 748eabbe7198..000000000000
--- a/devel/electron11/files/patch-content_test_content__test__suite.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/test/content_test_suite.cc.orig 2021-01-07 00:36:33 UTC
-+++ content/test/content_test_suite.cc
-@@ -83,6 +83,7 @@ void ContentTestSuite::Initialize() {
- // to initialize GL, so don't do it here.
- base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
- bool is_child_process = command_line->HasSwitch(switches::kTestChildProcess);
-+#if !defined(OS_BSD)
- if (!is_child_process) {
- gl::GLSurfaceTestSupport::InitializeNoExtensionsOneOff();
- auto* gpu_feature_info = gpu::GetTestGpuThreadHolder()->GetGpuFeatureInfo();
-@@ -90,6 +91,7 @@ void ContentTestSuite::Initialize() {
- gpu_feature_info->disabled_extensions);
- gl::init::InitializeExtensionSettingsOneOffPlatform();
- }
-+#endif
- testing::TestEventListeners& listeners =
- testing::UnitTest::GetInstance()->listeners();
- listeners.Append(new TestInitializationListener);
diff --git a/devel/electron11/files/patch-content_utility_BUILD.gn b/devel/electron11/files/patch-content_utility_BUILD.gn
deleted file mode 100644
index 17e0d0def7fe..000000000000
--- a/devel/electron11/files/patch-content_utility_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/utility/BUILD.gn.orig 2021-01-07 00:36:34 UTC
-+++ content/utility/BUILD.gn
-@@ -84,7 +84,7 @@ source_set("utility") {
- deps += [ "//services/proxy_resolver:lib" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//content/utility/speech:speech_recognition_sandbox_hook" ]
- }
-
diff --git a/devel/electron11/files/patch-content_zygote_zygote__linux.cc b/devel/electron11/files/patch-content_zygote_zygote__linux.cc
deleted file mode 100644
index d9517e03ace6..000000000000
--- a/devel/electron11/files/patch-content_zygote_zygote__linux.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- content/zygote/zygote_linux.cc.orig 2021-01-07 00:36:34 UTC
-+++ content/zygote/zygote_linux.cc
-@@ -1,7 +1,7 @@
- // Copyright (c) 2012 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
--
-+#if 0
- #include "content/zygote/zygote_linux.h"
-
- #include <errno.h>
-@@ -650,3 +650,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
- }
-
- } // namespace content
-+#endif
diff --git a/devel/electron11/files/patch-device_bluetooth_BUILD.gn b/devel/electron11/files/patch-device_bluetooth_BUILD.gn
deleted file mode 100644
index 36ca415add4a..000000000000
--- a/devel/electron11/files/patch-device_bluetooth_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- device/bluetooth/BUILD.gn.orig 2021-01-07 00:36:34 UTC
-+++ device/bluetooth/BUILD.gn
-@@ -8,7 +8,7 @@ if (is_android) {
- }
- if (is_chromeos) {
- import("//chromeos/dbus/use_real_dbus_clients.gni")
--} else if (use_dbus) {
-+} else if (use_dbus && !is_bsd) {
- use_real_dbus_clients = false
- }
-
-@@ -295,7 +295,7 @@ component("bluetooth") {
- ]
- }
-
-- if (is_chromeos || is_linux) {
-+ if (is_chromeos || (is_linux && !is_bsd)) {
- if (use_dbus) {
- sources += [
- "bluez/bluetooth_adapter_bluez.cc",
diff --git a/devel/electron11/files/patch-electron_BUILD.gn b/devel/electron11/files/patch-electron_BUILD.gn
deleted file mode 100644
index 66a5172c028d..000000000000
--- a/devel/electron11/files/patch-electron_BUILD.gn
+++ /dev/null
@@ -1,42 +0,0 @@
---- electron/BUILD.gn.orig 2021-01-22 23:55:24 UTC
-+++ electron/BUILD.gn
-@@ -405,7 +405,7 @@ source_set("electron_lib") {
- defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
- }
-
-- if (!is_mas_build) {
-+ if (!is_mas_build && !is_bsd) {
- deps += [ "//components/crash/core/app" ]
- }
-
-@@ -437,7 +437,7 @@ source_set("electron_lib") {
- ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- deps += [ "//components/crash/content/browser" ]
- }
-
-@@ -494,6 +494,12 @@ source_set("electron_lib") {
- cflags_objcc = [ "-fobjc-weak" ]
- }
- }
-+ if (is_bsd) {
-+ sources -= [
-+ "shell/common/crash_keys.cc",
-+ "shell/common/crash_keys.h",
-+ ]
-+ }
- if (is_linux) {
- deps += [
- ":libnotify_loader",
-@@ -1100,7 +1106,7 @@ if (is_mac) {
- ":electron_app_manifest",
- ":electron_lib",
- ":packed_resources",
-- "//components/crash/core/app",
-+ # "//components/crash/core/app",
- "//content:sandbox_helper_win",
- "//electron/buildflags",
- "//ui/strings",
diff --git a/devel/electron11/files/patch-electron_filenames.gni b/devel/electron11/files/patch-electron_filenames.gni
deleted file mode 100644
index 9491d12ab5cb..000000000000
--- a/devel/electron11/files/patch-electron_filenames.gni
+++ /dev/null
@@ -1,13 +0,0 @@
---- electron/filenames.gni.orig 2021-01-22 23:55:24 UTC
-+++ electron/filenames.gni
-@@ -234,8 +234,8 @@ filenames = {
- "shell/app/command_line_args.h",
- "shell/app/electron_content_client.cc",
- "shell/app/electron_content_client.h",
-- "shell/app/electron_crash_reporter_client.cc",
-- "shell/app/electron_crash_reporter_client.h",
-+ # "shell/app/electron_crash_reporter_client.cc",
-+ # "shell/app/electron_crash_reporter_client.h",
- "shell/app/electron_main_delegate.cc",
- "shell/app/electron_main_delegate.h",
- "shell/app/uv_task_runner.cc",
diff --git a/devel/electron11/files/patch-electron_lib_browser_api_power-monitor.ts b/devel/electron11/files/patch-electron_lib_browser_api_power-monitor.ts
deleted file mode 100644
index e39f8d2e5c11..000000000000
--- a/devel/electron11/files/patch-electron_lib_browser_api_power-monitor.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/lib/browser/api/power-monitor.ts.orig 2021-01-25 12:15:22 UTC
-+++ electron/lib/browser/api/power-monitor.ts
-@@ -17,7 +17,7 @@ class PowerMonitor extends EventEmitter {
- const pm = createPowerMonitor();
- pm.emit = this.emit.bind(this);
-
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // On Linux, we inhibit shutdown in order to give the app a chance to
- // decide whether or not it wants to prevent the shutdown. We don't
- // inhibit the shutdown event unless there's a listener for it. This
diff --git a/devel/electron11/files/patch-electron_lib_browser_init.ts b/devel/electron11/files/patch-electron_lib_browser_init.ts
deleted file mode 100644
index a59a6d84474f..000000000000
--- a/devel/electron11/files/patch-electron_lib_browser_init.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/lib/browser/init.ts.orig 2021-01-22 23:55:24 UTC
-+++ electron/lib/browser/init.ts
-@@ -172,7 +172,7 @@ const mainStartupScript = packageJson.main || 'index.j
- const KNOWN_XDG_DESKTOP_VALUES = ['Pantheon', 'Unity:Unity7', 'pop:GNOME'];
-
- function currentPlatformSupportsAppIndicator () {
-- if (process.platform !== 'linux') return false;
-+ if (process.platform !== 'linux' && process.platform !== 'freebsd') return false;
- const currentDesktop = process.env.XDG_CURRENT_DESKTOP;
-
- if (!currentDesktop) return false;
diff --git a/devel/electron11/files/patch-electron_lib_browser_rpc-server.ts b/devel/electron11/files/patch-electron_lib_browser_rpc-server.ts
deleted file mode 100644
index 1969f3cd1d03..000000000000
--- a/devel/electron11/files/patch-electron_lib_browser_rpc-server.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/lib/browser/rpc-server.ts.orig 2021-01-25 12:26:10 UTC
-+++ electron/lib/browser/rpc-server.ts
-@@ -42,7 +42,7 @@ const allowedClipboardMethods = (() => {
- switch (process.platform) {
- case 'darwin':
- return new Set(['readFindText', 'writeFindText']);
-- case 'linux':
-+ case 'linux': case 'freebsd':
- return new Set(Object.keys(clipboard));
- default:
- return new Set();
diff --git a/devel/electron11/files/patch-electron_lib_common_api_clipboard.ts b/devel/electron11/files/patch-electron_lib_common_api_clipboard.ts
deleted file mode 100644
index a56db86de3ea..000000000000
--- a/devel/electron11/files/patch-electron_lib_common_api_clipboard.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/lib/common/api/clipboard.ts.orig 2021-01-25 12:16:04 UTC
-+++ electron/lib/common/api/clipboard.ts
-@@ -12,7 +12,7 @@ if (process.type === 'renderer') {
- };
- };
-
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // On Linux we could not access clipboard in renderer process.
- for (const method of Object.keys(clipboard) as (keyof Electron.Clipboard)[]) {
- clipboard[method] = makeRemoteMethod(method);
diff --git a/devel/electron11/files/patch-electron_script_lib_config.py b/devel/electron11/files/patch-electron_script_lib_config.py
deleted file mode 100644
index 49fce7bcdee2..000000000000
--- a/devel/electron11/files/patch-electron_script_lib_config.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- electron/script/lib/config.py.orig 2021-01-22 23:55:24 UTC
-+++ electron/script/lib/config.py
-@@ -21,6 +21,9 @@ BASE_URL = os.getenv('LIBCHROMIUMCONTENT_MIRROR') or \
- PLATFORM = {
- 'cygwin': 'win32',
- 'darwin': 'darwin',
-+ 'freebsd11': 'freebsd',
-+ 'freebsd12': 'freebsd',
-+ 'freebsd13': 'freebsd',
- 'linux': 'linux',
- 'linux2': 'linux',
- 'win32': 'win32',
diff --git a/devel/electron11/files/patch-electron_script_spec-runner.js b/devel/electron11/files/patch-electron_script_spec-runner.js
deleted file mode 100644
index 189c573cdad9..000000000000
--- a/devel/electron11/files/patch-electron_script_spec-runner.js
+++ /dev/null
@@ -1,20 +0,0 @@
---- electron/script/spec-runner.js.orig 2021-01-22 23:55:24 UTC
-+++ electron/script/spec-runner.js
-@@ -127,7 +127,7 @@ async function runElectronTests () {
- async function runRemoteBasedElectronTests () {
- let exe = path.resolve(BASE, utils.getElectronExec());
- const runnerArgs = ['electron/spec', ...unknownArgs.slice(2)];
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
- exe = 'python';
- }
-@@ -198,7 +198,7 @@ async function runNativeElectronTests () {
- async function runMainProcessElectronTests () {
- let exe = path.resolve(BASE, utils.getElectronExec());
- const runnerArgs = ['electron/spec-main', ...unknownArgs.slice(2)];
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
- exe = 'python';
- }
diff --git a/devel/electron11/files/patch-electron_shell_app_electron__main.cc b/devel/electron11/files/patch-electron_shell_app_electron__main.cc
deleted file mode 100644
index 6d52fe1b3899..000000000000
--- a/devel/electron11/files/patch-electron_shell_app_electron__main.cc
+++ /dev/null
@@ -1,35 +0,0 @@
---- electron/shell/app/electron_main.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/app/electron_main.cc
-@@ -32,12 +32,12 @@
- #include "shell/app/electron_main_delegate.h"
- #include "third_party/crashpad/crashpad/util/win/initial_client_data.h"
-
--#elif defined(OS_LINUX) // defined(OS_WIN)
-+#elif defined(OS_LINUX) || defined(OS_BSD) // defined(OS_WIN)
- #include <unistd.h>
- #include <cstdio>
- #include "content/public/app/content_main.h"
- #include "shell/app/electron_main_delegate.h" // NOLINT
--#else // defined(OS_LINUX)
-+#else // defined(OS_LINUX) || defined(OS_BSD)
- #include <mach-o/dyld.h>
- #include <unistd.h>
- #include <cstdio>
-@@ -210,7 +210,7 @@ int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, w
- return content::ContentMain(params);
- }
-
--#elif defined(OS_LINUX) // defined(OS_WIN)
-+#elif defined(OS_LINUX) || defined(OS_BSD) // defined(OS_WIN)
-
- int main(int argc, char* argv[]) {
- FixStdioStreams();
-@@ -231,7 +231,7 @@ int main(int argc, char* argv[]) {
- return content::ContentMain(params);
- }
-
--#else // defined(OS_LINUX)
-+#else // defined(OS_LINUX) || defined(OS_BSD)
-
- int main(int argc, char* argv[]) {
- FixStdioStreams();
diff --git a/devel/electron11/files/patch-electron_shell_app_electron__main__delegate.cc b/devel/electron11/files/patch-electron_shell_app_electron__main__delegate.cc
deleted file mode 100644
index ea4e910d484a..000000000000
--- a/devel/electron11/files/patch-electron_shell_app_electron__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- electron/shell/app/electron_main_delegate.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/app/electron_main_delegate.cc
-@@ -247,7 +247,7 @@ bool ElectronMainDelegate::BasicStartupComplete(int* e
- base::win::PinUser32();
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Check for --no-sandbox parameter when running as root.
- if (getuid() == 0 && IsSandboxEnabled(command_line))
- LOG(FATAL) << "Running as root without --"
-@@ -311,7 +311,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
- }
- #endif
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- crash_keys::SetCrashKeysFromCommandLine(*command_line);
- crash_keys::SetPlatformCrashKey();
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_app_node__main.cc b/devel/electron11/files/patch-electron_shell_app_node__main.cc
deleted file mode 100644
index d7430abb8991..000000000000
--- a/devel/electron11/files/patch-electron_shell_app_node__main.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- electron/shell/app/node_main.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/app/node_main.cc
-@@ -39,7 +39,7 @@
- #include "chrome/child/v8_crashpad_support_win.h"
- #endif
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- #include "components/crash/core/app/crashpad.h" // nogncheck
- #include "shell/app/electron_crash_reporter_client.h"
- #include "shell/browser/api/electron_api_crash_reporter.h"
-@@ -87,7 +87,7 @@ void SetNodeCliFlags() {
- ProcessGlobalArgs(&args, nullptr, &errors, node::kDisallowedInEnvironment);
- }
-
--#if defined(MAS_BUILD)
-+#if defined(MAS_BUILD) || defined(OS_BSD)
- void SetCrashKeyStub(const std::string& key, const std::string& value) {}
- void ClearCrashKeyStub(const std::string& key) {}
- #endif
-@@ -127,7 +127,7 @@ void CrashReporterStart(gin_helper::Dictionary options
-
- v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) {
- std::map<std::string, std::string> keys;
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- electron::crash_keys::GetCrashKeys(&keys);
- #endif
- return gin::ConvertToV8(isolate, keys);
-@@ -140,7 +140,7 @@ int NodeMain(int argc, char* argv[]) {
- v8_crashpad_support::SetUp();
- #endif
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- ElectronCrashReporterClient::Create();
- #endif
-
-@@ -148,7 +148,7 @@ int NodeMain(int argc, char* argv[]) {
- crash_reporter::InitializeCrashpad(false, "node");
- #endif
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- crash_keys::SetCrashKeysFromCommandLine(
- *base::CommandLine::ForCurrentProcess());
- crash_keys::SetPlatformCrashKey();
-@@ -221,7 +221,7 @@ int NodeMain(int argc, char* argv[]) {
- #endif
-
- reporter.SetMethod("getParameters", &GetParameters);
--#if defined(MAS_BUILD)
-+#if defined(MAS_BUILD) || defined(OS_BSD)
- reporter.SetMethod("addExtraParameter", &SetCrashKeyStub);
- reporter.SetMethod("removeExtraParameter", &ClearCrashKeyStub);
- #else
diff --git a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron11/files/patch-electron_shell_browser_api_electron__api__app.cc
deleted file mode 100644
index d41fa5b4704a..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__app.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- electron/shell/browser/api/electron_api_app.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/api/electron_api_app.cc
-@@ -656,7 +656,7 @@ void App::OnWillFinishLaunching() {
- }
-
- void App::OnFinishLaunching(const base::DictionaryValue& launch_info) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Set the application name for audio streams shown in external
- // applications. Only affects pulseaudio currently.
- media::AudioManager::SetGlobalAppName(Browser::Get()->GetName());
-@@ -1004,7 +1004,7 @@ void App::SetPath(gin_helper::ErrorThrower thrower,
- }
-
- void App::SetDesktopName(const std::string& desktop_name) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- env->SetVar("CHROME_DESKTOP", desktop_name);
- #endif
-@@ -1353,7 +1353,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
- pid_dict.Set("name", process_metric.second->name);
- }
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- auto memory_info = process_metric.second->GetMemoryInfo();
-
- gin_helper::Dictionary memory_dict = gin::Dictionary::CreateEmpty(isolate);
-@@ -1565,7 +1565,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
- .SetMethod(
- "removeAsDefaultProtocolClient",
- base::BindRepeating(&Browser::RemoveAsDefaultProtocolClient, browser))
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- .SetMethod(
- "getApplicationInfoForProtocol",
- base::BindRepeating(&Browser::GetApplicationInfoForProtocol, browser))
-@@ -1622,7 +1622,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
- .SetMethod("getJumpListSettings", &App::GetJumpListSettings)
- .SetMethod("setJumpList", &App::SetJumpList)
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- .SetMethod("isUnityRunning",
- base::BindRepeating(&Browser::IsUnityRunning, browser))
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron11/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
deleted file mode 100644
index 5528abb6a826..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
+++ /dev/null
@@ -1,52 +0,0 @@
---- electron/shell/browser/api/electron_api_web_contents.cc.orig 2021-03-23 15:10:33 UTC
-+++ electron/shell/browser/api/electron_api_web_contents.cc
-@@ -123,11 +123,11 @@
- #include "ui/base/cocoa/defaults_utils.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/views/linux_ui/linux_ui.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- #include "ui/gfx/font_render_params.h"
- #endif
-
-@@ -360,7 +360,7 @@ base::Optional<base::TimeDelta> GetCursorBlinkInterval
- base::TimeDelta interval;
- if (ui::TextInsertionCaretBlinkPeriod(&interval))
- return interval;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- if (auto* linux_ui = views::LinuxUI::instance())
- return linux_ui->GetCursorBlinkInterval();
- #elif defined(OS_WIN)
-@@ -660,7 +660,7 @@ void WebContents::InitWithSessionAndOptions(
- accept_languages.pop_back();
- prefs->accept_languages = accept_languages;
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- // Update font settings.
- static const base::NoDestructor<gfx::FontRenderParams> params(
- gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
-@@ -1816,7 +1816,7 @@ void WebContents::ForcefullyCrashRenderer() {
-
- content::RenderProcessHost* rph = rwh->GetProcess();
- if (rph) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // A generic |CrashDumpHungChildProcess()| is not implemented for Linux.
- // Instead we send an explicit IPC to crash on the renderer's IO thread.
- rph->ForceCrash();
-@@ -2395,7 +2395,7 @@ void WebContents::CopyImageAt(int x, int y) {
- void WebContents::Focus() {
- // Focusing on WebContents does not automatically focus the window on macOS
- // and Linux, do it manually to match the behavior on Windows.
--#if defined(OS_MAC) || defined(OS_LINUX)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
- if (owner_window())
- owner_window()->Focus(true);
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_api_process__metric.h b/devel/electron11/files/patch-electron_shell_browser_api_process__metric.h
deleted file mode 100644
index 924fcfeaeebb..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_api_process__metric.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- electron/shell/browser/api/process_metric.h.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/api/process_metric.h
-@@ -14,7 +14,7 @@
-
- namespace electron {
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- struct ProcessMemoryInfo {
- size_t working_set_size = 0;
- size_t peak_working_set_size = 0;
-@@ -46,7 +46,7 @@ struct ProcessMetric {
- const std::string& name = std::string());
- ~ProcessMetric();
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- ProcessMemoryInfo GetMemoryInfo() const;
- #endif
-
diff --git a/devel/electron11/files/patch-electron_shell_browser_browser.h b/devel/electron11/files/patch-electron_shell_browser_browser.h
deleted file mode 100644
index 5aaffa71b3fc..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_browser.h
+++ /dev/null
@@ -1,33 +0,0 @@
---- electron/shell/browser/browser.h.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/browser.h
-@@ -100,7 +100,7 @@ class Browser : public WindowListObserver {
-
- base::string16 GetApplicationNameForProtocol(const GURL& url);
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- // get the name, icon and path for an application
- v8::Local<v8::Promise> GetApplicationInfoForProtocol(v8::Isolate* isolate,
- const GURL& url);
-@@ -258,10 +258,10 @@ class Browser : public WindowListObserver {
- PCWSTR GetAppUserModelID();
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Whether Unity launcher is running.
- bool IsUnityRunning();
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // Tell the application to open a file.
- bool OpenFile(const std::string& file_path);
-@@ -358,7 +358,7 @@ class Browser : public WindowListObserver {
- base::Time last_dock_show_;
- #endif
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- base::Value about_panel_options_;
- #elif defined(OS_MAC)
- base::DictionaryValue about_panel_options_;
diff --git a/devel/electron11/files/patch-electron_shell_browser_electron__browser__client.cc b/devel/electron11/files/patch-electron_shell_browser_electron__browser__client.cc
deleted file mode 100644
index ce18ebd4553d..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_electron__browser__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/browser/electron_browser_client.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/electron_browser_client.cc
-@@ -174,7 +174,7 @@
- #include "content/public/common/child_process_host.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(MAS_BUILD)
-+#if defined(OS_LINUX) && !defined(MAS_BUILD) && !defined(OS_BSD)
- #include "base/debug/leak_annotations.h"
- #include "components/crash/content/browser/crash_handler_host_linux.h"
- #include "components/crash/core/app/breakpad_linux.h" // nogncheck
diff --git a/devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts.cc
deleted file mode 100644
index 670ad64f9f8e..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- electron/shell/browser/electron_browser_main_parts.cc.orig 2021-04-02 17:02:59 UTC
-+++ electron/shell/browser/electron_browser_main_parts.cc
-@@ -362,7 +362,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
- // happen before the ResourceBundle is loaded
- if (locale.empty())
- l10n_util::OverrideLocaleWithCocoaLocale();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // l10n_util::GetApplicationLocaleInternal uses g_get_language_names(),
- // which keys off of getenv("LC_ALL").
- // We must set this env first to make ui::ResourceBundle accept the custom
-@@ -385,7 +385,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
- ElectronBrowserClient::SetApplicationLocale(app_locale);
- fake_browser_process_->SetApplicationLocale(app_locale);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Reset to the original LC_ALL since we should not be changing it.
- if (!locale.empty()) {
- if (lc_all)
diff --git a/devel/electron11/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron11/files/patch-electron_shell_browser_native__window__views.cc
deleted file mode 100644
index 462240b44065..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_native__window__views.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- electron/shell/browser/native_window_views.cc.orig 2021-04-27 14:58:49 UTC
-+++ electron/shell/browser/native_window_views.cc
-@@ -306,7 +306,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
- last_window_state_ = ui::SHOW_STATE_NORMAL;
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Listen to move events.
- aura::Window* window = GetNativeWindow();
- if (window)
-@@ -326,7 +326,7 @@ NativeWindowViews::~NativeWindowViews() {
- SetForwardMouseMessages(false);
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- aura::Window* window = GetNativeWindow();
- if (window)
- window->RemovePreTargetHandler(this);
-@@ -1391,7 +1391,7 @@ void NativeWindowViews::OnWidgetBoundsChanged(views::W
- }
-
- void NativeWindowViews::OnWidgetDestroying(views::Widget* widget) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- aura::Window* window = GetNativeWindow();
- if (window)
- window->RemovePreTargetHandler(this);
-@@ -1501,7 +1501,7 @@ void NativeWindowViews::HandleKeyboardEvent(
- if (widget_destroyed_)
- return;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
- NotifyWindowExecuteAppCommand(kBrowserBackward);
- else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
-@@ -1513,7 +1513,7 @@ void NativeWindowViews::HandleKeyboardEvent(
- root_view_->HandleKeyEvent(event);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void NativeWindowViews::OnMouseEvent(ui::MouseEvent* event) {
- if (event->type() != ui::ET_MOUSE_PRESSED)
- return;
diff --git a/devel/electron11/files/patch-electron_shell_browser_native__window__views.h b/devel/electron11/files/patch-electron_shell_browser_native__window__views.h
deleted file mode 100644
index cb562d6ef6e8..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_native__window__views.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/browser/native_window_views.h.orig 2021-02-19 19:40:19 UTC
-+++ electron/shell/browser/native_window_views.h
-@@ -218,7 +218,7 @@ class NativeWindowViews : public NativeWindow,
- content::WebContents*,
- const content::NativeWebKeyboardEvent& event) override;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // ui::EventHandler:
- void OnMouseEvent(ui::MouseEvent* event) override;
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.cc b/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.cc
deleted file mode 100644
index a19e7a0710b9..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/browser/osr/osr_host_display_client.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/osr/osr_host_display_client.cc
-@@ -101,7 +101,7 @@ void OffScreenHostDisplayClient::CreateLayeredWindowUp
- layered_window_updater_->SetActive(active_);
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void OffScreenHostDisplayClient::DidCompleteSwapWithNewSize(
- const gfx::Size& size) {}
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.h b/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.h
deleted file mode 100644
index cf5a4a9339c5..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_osr_osr__host__display__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/browser/osr/osr_host_display_client.h.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/osr/osr_host_display_client.h
-@@ -66,7 +66,7 @@ class OffScreenHostDisplayClient : public viz::HostDis
- mojo::PendingReceiver<viz::mojom::LayeredWindowUpdater> receiver)
- override;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
- #endif
-
diff --git a/devel/electron11/files/patch-electron_shell_browser_ui_views_submenu__button.cc b/devel/electron11/files/patch-electron_shell_browser_ui_views_submenu__button.cc
deleted file mode 100644
index dc9019917aa4..000000000000
--- a/devel/electron11/files/patch-electron_shell_browser_ui_views_submenu__button.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/browser/ui/views/submenu_button.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/browser/ui/views/submenu_button.cc
-@@ -27,7 +27,7 @@ SubmenuButton::SubmenuButton(views::ButtonListener* bu
- button_listener,
- gfx::RemoveAcceleratorChar(title, '&', nullptr, nullptr)),
- background_color_(background_color) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Dont' use native style border.
- SetBorder(CreateDefaultBorder());
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.cc b/devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.cc
deleted file mode 100644
index 9e107a8333a7..000000000000
--- a/devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/common/api/electron_api_native_image.cc.orig 2021-02-02 17:38:53 UTC
-+++ electron/shell/common/api/electron_api_native_image.cc
-@@ -630,7 +630,7 @@ void Initialize(v8::Local<v8::Object> exports,
- native_image.SetMethod("createFromDataURL", &NativeImage::CreateFromDataURL);
- native_image.SetMethod("createFromNamedImage",
- &NativeImage::CreateFromNamedImage);
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- native_image.SetMethod("createThumbnailFromPath",
- &NativeImage::CreateThumbnailFromPath);
- #endif
diff --git a/devel/electron11/files/patch-electron_shell_common_api_electron__bindings.cc b/devel/electron11/files/patch-electron_shell_common_api_electron__bindings.cc
deleted file mode 100644
index 7667c8fa4d81..000000000000
--- a/devel/electron11/files/patch-electron_shell_common_api_electron__bindings.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/common/api/electron_bindings.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/common/api/electron_bindings.cc
-@@ -269,7 +269,7 @@ void ElectronBindings::DidReceiveMemoryDump(
- if (base::GetCurrentProcId() == dump.pid()) {
- gin_helper::Dictionary dict = gin::Dictionary::CreateEmpty(isolate);
- const auto& osdump = dump.os_dump();
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- dict.Set("residentSet", osdump.resident_set_kb);
- #endif
- dict.Set("private", osdump.private_footprint_kb);
diff --git a/devel/electron11/files/patch-electron_shell_common_node__bindings.cc b/devel/electron11/files/patch-electron_shell_common_node__bindings.cc
deleted file mode 100644
index b0e0817c11de..000000000000
--- a/devel/electron11/files/patch-electron_shell_common_node__bindings.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- electron/shell/common/node_bindings.cc.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/common/node_bindings.cc
-@@ -35,7 +35,7 @@
- #include "shell/common/node_includes.h"
- #include "third_party/blink/renderer/bindings/core/v8/v8_initializer.h" // nogncheck
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- #include "shell/common/crash_keys.h"
- #endif
-
-@@ -143,7 +143,7 @@ bool IsPackagedApp() {
- void V8FatalErrorCallback(const char* location, const char* message) {
- LOG(ERROR) << "Fatal error in V8: " << location << " " << message;
-
--#if !defined(MAS_BUILD)
-+#if !defined(MAS_BUILD) && !defined(OS_BSD)
- electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message);
- electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location);
- #endif
-@@ -360,7 +360,7 @@ void NodeBindings::Initialize() {
- // Open node's error reporting system for browser process.
- node::g_upstream_node_mode = false;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Get real command line in renderer process forked by zygote.
- if (browser_env_ != BrowserEnvironment::BROWSER)
- ElectronCommandLine::InitializeFromCommandLine();
diff --git a/devel/electron11/files/patch-electron_shell_common_platform__util.h b/devel/electron11/files/patch-electron_shell_common_platform__util.h
deleted file mode 100644
index aafcd285a501..000000000000
--- a/devel/electron11/files/patch-electron_shell_common_platform__util.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/shell/common/platform_util.h.orig 2021-01-22 23:55:24 UTC
-+++ electron/shell/common/platform_util.h
-@@ -55,7 +55,7 @@ bool GetLoginItemEnabled();
- bool SetLoginItemEnabled(bool enabled);
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Returns a success flag.
- // Unlike libgtkui, does *not* use "chromium-browser.desktop" as a fallback.
- bool GetDesktopName(std::string* setme);
diff --git a/devel/electron11/files/patch-electron_spec-main_api-app-spec.ts b/devel/electron11/files/patch-electron_spec-main_api-app-spec.ts
deleted file mode 100644
index 9fa0719947eb..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_api-app-spec.ts
+++ /dev/null
@@ -1,128 +0,0 @@
---- electron/spec-main/api-app-spec.ts.orig 2021-01-22 23:55:24 UTC
-+++ electron/spec-main/api-app-spec.ts
-@@ -123,7 +123,7 @@ describe('app module', () => {
- describe('app.getLocaleCountryCode()', () => {
- it('should be empty or have length of two', () => {
- let expectedLength = 2;
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // Linux CI machines have no locale.
- expectedLength = 0;
- }
-@@ -179,7 +179,7 @@ describe('app module', () => {
- });
-
- it('exits gracefully', async function () {
-- if (!['darwin', 'linux'].includes(process.platform)) {
-+ if (!['darwin', 'linux', 'freebsd'].includes(process.platform)) {
- this.skip();
- return;
- }
-@@ -321,7 +321,7 @@ describe('app module', () => {
- // let w = null
-
- // before(function () {
-- // if (process.platform !== 'linux') {
-+ // if (process.platform !== 'linux' && process.platform !== 'freebsd') {
- // this.skip()
- // }
- // })
-@@ -550,7 +550,7 @@ describe('app module', () => {
- describe('app.badgeCount', () => {
- const platformIsNotSupported =
- (process.platform === 'win32') ||
-- (process.platform === 'linux' && !app.isUnityRunning());
-+ ((process.platform === 'linux' || process.platform === 'freebsd') && !app.isUnityRunning());
- const platformIsSupported = !platformIsNotSupported;
-
- const expectedBadgeCount = 42;
-@@ -616,7 +616,7 @@ describe('app module', () => {
- ];
-
- before(function () {
-- if (process.platform === 'linux' || process.mas) this.skip();
-+ if (process.platform === 'linux' || process.platform === 'freebsd' || process.mas) this.skip();
- });
-
- beforeEach(() => {
-@@ -919,7 +919,7 @@ describe('app module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('accessibilitySupportEnabled property', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('accessibilitySupportEnabled property', () => {
- it('with properties', () => {
- it('can set accessibility support enabled', () => {
- expect(app.accessibilitySupportEnabled).to.eql(false);
-@@ -1033,7 +1033,7 @@ describe('app module', () => {
- let w: BrowserWindow;
-
- before(function () {
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- this.skip();
- }
- session.fromPartition('empty-certificate').setCertificateVerifyProc((req, cb) => { cb(0); });
-@@ -1174,7 +1174,7 @@ describe('app module', () => {
- // We can't expect particular app names here, but these protocols should
- // at least have _something_ registered. Except on our Linux CI
- // environment apparently.
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- this.skip();
- }
-
-@@ -1192,7 +1192,7 @@ describe('app module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('getApplicationInfoForProtocol()', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getApplicationInfoForProtocol()', () => {
- it('returns promise rejection for a bogus protocol', async function () {
- await expect(
- app.getApplicationInfoForProtocol('bogus-protocol://')
-@@ -1248,7 +1248,7 @@ describe('app module', () => {
- });
-
- // FIXME Get these specs running on Linux CI
-- ifdescribe(process.platform !== 'linux')('getFileIcon() API', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getFileIcon() API', () => {
- const iconPath = path.join(__dirname, 'fixtures/assets/icon.ico');
- const sizes = {
- small: 16,
-@@ -1325,7 +1325,7 @@ describe('app module', () => {
- expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
- }
-
-- if (process.platform !== 'linux') {
-+ if (process.platform !== 'linux' && process.platform !== 'freebsd') {
- expect(entry.sandboxed).to.be.a('boolean');
- }
-
-@@ -1351,7 +1351,7 @@ describe('app module', () => {
- });
-
- // FIXME https://github.com/electron/electron/issues/24224
-- ifdescribe(process.platform !== 'linux')('getGPUInfo() API', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getGPUInfo() API', () => {
- const appPath = path.join(fixturesPath, 'api', 'gpu-info.js');
-
- const getGPUInfo = async (type: string) => {
-@@ -1393,7 +1393,7 @@ describe('app module', () => {
-
- it('succeeds with complete GPUInfo', async () => {
- const completeInfo = await getGPUInfo('complete');
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // For linux and macOS complete info is same as basic info
- await verifyBasicGPUInfo(completeInfo);
- const basicInfo = await getGPUInfo('basic');
-@@ -1423,7 +1423,7 @@ describe('app module', () => {
- const socketPath = process.platform === 'win32' ? '\\\\.\\pipe\\electron-mixed-sandbox' : '/tmp/electron-mixed-sandbox';
-
- beforeEach(function (done) {
-- if (process.platform === 'linux' && (process.arch === 'arm64' || process.arch === 'arm')) {
-+ if ((process.platform === 'linux' || process.platform === 'freebsd') && (process.arch === 'arm64' || process.arch === 'arm')) {
- // Our ARM tests are run on VSTS rather than CircleCI, and the Docker
- // setup on VSTS disallows syscalls that Chrome requires for setting up
- // sandboxing.
diff --git a/devel/electron11/files/patch-electron_spec-main_api-browser-window-spec.ts b/devel/electron11/files/patch-electron_spec-main_api-browser-window-spec.ts
deleted file mode 100644
index 4ad63a7e9971..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_api-browser-window-spec.ts
+++ /dev/null
@@ -1,74 +0,0 @@
---- electron/spec-main/api-browser-window-spec.ts.orig 2021-03-23 15:10:33 UTC
-+++ electron/spec-main/api-browser-window-spec.ts
-@@ -57,7 +57,7 @@ describe('BrowserWindow module', () => {
- }).not.to.throw();
- });
-
-- ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => {
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd')('does not crash when setting large window icons', async () => {
- const appPath = path.join(__dirname, 'spec-main', 'fixtures', 'apps', 'xwindow-icon');
- const appProcess = childProcess.spawn(process.execPath, [appPath]);
- await new Promise((resolve) => { appProcess.once('exit', resolve); });
-@@ -1036,7 +1036,7 @@ describe('BrowserWindow module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('Maximized state', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Maximized state', () => {
- it('checks normal bounds when maximized', async () => {
- const bounds = w.getBounds();
- const maximize = emittedOnce(w, 'maximize');
-@@ -1097,7 +1097,7 @@ describe('BrowserWindow module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('Minimized state', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Minimized state', () => {
- it('checks normal bounds when minimized', async () => {
- const bounds = w.getBounds();
- const minimize = emittedOnce(w, 'minimize');
-@@ -1685,7 +1685,7 @@ describe('BrowserWindow module', () => {
- describe('BrowserWindow.setOpacity(opacity)', () => {
- afterEach(closeAllWindows);
-
-- ifdescribe(process.platform !== 'linux')(('Windows and Mac'), () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')(('Windows and Mac'), () => {
- it('make window with initial opacity', () => {
- const w = new BrowserWindow({ show: false, opacity: 0.5 });
- expect(w.getOpacity()).to.equal(0.5);
-@@ -1711,7 +1711,7 @@ describe('BrowserWindow module', () => {
- });
- });
-
-- ifdescribe(process.platform === 'linux')(('Linux'), () => {
-+ ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')(('Linux'), () => {
- it('sets 1 regardless of parameter', () => {
- const w = new BrowserWindow({ show: false });
- w.setOpacity(0);
-@@ -2547,7 +2547,7 @@ describe('BrowserWindow module', () => {
- expect(test.version).to.equal(process.version);
- expect(test.versions).to.deep.equal(process.versions);
-
-- if (process.platform === 'linux' && test.osSandbox) {
-+ if ((process.platform === 'linux' || process.platform === 'freebsd') && test.osSandbox) {
- expect(test.creationTime).to.be.null('creation time');
- expect(test.systemMemoryInfo).to.be.null('system memory info');
- } else {
-@@ -3073,7 +3073,7 @@ describe('BrowserWindow module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('max/minimize events', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('max/minimize events', () => {
- afterEach(closeAllWindows);
- it('emits an event when window is maximized', async () => {
- const w = new BrowserWindow({ show: false });
-@@ -3651,7 +3651,7 @@ describe('BrowserWindow module', () => {
- });
- });
-
-- ifdescribe(process.platform !== 'linux')('window states (excluding Linux)', () => {
-+ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('window states (excluding Linux)', () => {
- // Not implemented on Linux.
- afterEach(closeAllWindows);
-
diff --git a/devel/electron11/files/patch-electron_spec-main_api-crash-reporter-spec.ts b/devel/electron11/files/patch-electron_spec-main_api-crash-reporter-spec.ts
deleted file mode 100644
index ff6ce49d999f..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_api-crash-reporter-spec.ts
+++ /dev/null
@@ -1,56 +0,0 @@
---- electron/spec-main/api-crash-reporter-spec.ts.orig 2021-01-22 23:55:24 UTC
-+++ electron/spec-main/api-crash-reporter-spec.ts
-@@ -12,7 +12,7 @@ import * as fs from 'fs';
- import * as uuid from 'uuid';
-
- const isWindowsOnArm = process.platform === 'win32' && process.arch === 'arm64';
--const isLinuxOnArm = process.platform === 'linux' && process.arch.includes('arm');
-+const isLinuxOnArm = (process.platform === 'linux' && process.arch.includes('arm')) || process.platform === 'freebsd';
-
- type CrashInfo = {
- prod: string
-@@ -45,7 +45,7 @@ function checkCrash (expectedProcessType: string, fiel
-
- // TODO(nornagon): minidumps are sometimes (not always) turning up empty on
- // 32-bit Linux. Figure out why.
-- if (!(process.platform === 'linux' && process.arch === 'ia32')) {
-+ if (!((process.platform === 'linux' || process.platform === 'freebsd') && process.arch === 'ia32')) {
- expect(fields.upload_file_minidump.length).to.be.greaterThan(0);
- }
- }
-@@ -486,7 +486,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
- await bw.webContents.executeJavaScript('require(\'electron\').crashReporter.addExtraParameter(\'hello\', \'world\')');
- return bw.webContents.executeJavaScript('require(\'electron\').crashReporter.getParameters()');
- });
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // On Linux, 'getParameters' will also include the global parameters,
- // because breakpad doesn't support global parameters.
- expect(rendererParameters).to.have.property('hello', 'world');
-@@ -554,7 +554,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
- }
- }
-
-- const processList = process.platform === 'linux' ? ['main', 'renderer', 'sandboxed-renderer']
-+ const processList = (process.platform === 'linux' || process.platform === 'freebsd') ? ['main', 'renderer', 'sandboxed-renderer']
- : ['main', 'renderer', 'sandboxed-renderer', 'node'];
- for (const crashingProcess of processList) {
- describe(`when ${crashingProcess} crashes`, () => {
-@@ -575,7 +575,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
- crash(crashingProcess, remotely);
- const newFiles = await newFileAppeared;
- expect(newFiles.length).to.be.greaterThan(0);
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- if (crashingProcess === 'main') {
- expect(newFiles[0]).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{8}-[0-9a-f]{8}\.dmp$/);
- } else {
-@@ -609,7 +609,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
- crash(crashingProcess, remotely);
- const newFiles = await newFileAppeared;
- expect(newFiles.length).to.be.greaterThan(0);
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- if (crashingProcess === 'main') {
- expect(newFiles[0]).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{8}-[0-9a-f]{8}\.dmp$/);
- } else {
diff --git a/devel/electron11/files/patch-electron_spec-main_api-screen-spec.ts b/devel/electron11/files/patch-electron_spec-main_api-screen-spec.ts
deleted file mode 100644
index af5c392f37ce..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_api-screen-spec.ts
+++ /dev/null
@@ -1,38 +0,0 @@
---- electron/spec-main/api-screen-spec.ts.orig 2021-01-22 23:55:24 UTC
-+++ electron/spec-main/api-screen-spec.ts
-@@ -29,7 +29,7 @@ describe('screen module', () => {
- });
-
- it('has the correct non-object properties', function () {
-- if (process.platform === 'linux') this.skip();
-+ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
- const display = screen.getPrimaryDisplay();
-
- expect(display).to.have.property('scaleFactor').that.is.a('number');
-@@ -45,7 +45,7 @@ describe('screen module', () => {
- });
-
- it('has a size object property', function () {
-- if (process.platform === 'linux') this.skip();
-+ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
- const display = screen.getPrimaryDisplay();
-
- expect(display).to.have.property('size').that.is.an('object');
-@@ -55,7 +55,7 @@ describe('screen module', () => {
- });
-
- it('has a workAreaSize object property', function () {
-- if (process.platform === 'linux') this.skip();
-+ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
- const display = screen.getPrimaryDisplay();
-
- expect(display).to.have.property('workAreaSize').that.is.an('object');
-@@ -65,7 +65,7 @@ describe('screen module', () => {
- });
-
- it('has a bounds object property', function () {
-- if (process.platform === 'linux') this.skip();
-+ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
- const display = screen.getPrimaryDisplay();
-
- expect(display).to.have.property('bounds').that.is.an('object');
diff --git a/devel/electron11/files/patch-electron_spec-main_api-subframe-spec.ts b/devel/electron11/files/patch-electron_spec-main_api-subframe-spec.ts
deleted file mode 100644
index 93ac7c6fa52a..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_api-subframe-spec.ts
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/spec-main/api-subframe-spec.ts.orig 2021-01-22 23:55:24 UTC
-+++ electron/spec-main/api-subframe-spec.ts
-@@ -177,7 +177,7 @@ describe('renderer nodeIntegrationInSubFrames', () =>
- });
-
- // app.getAppMetrics() does not return sandbox information on Linux.
--ifdescribe(process.platform !== 'linux')('cross-site frame sandboxing', () => {
-+ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('cross-site frame sandboxing', () => {
- let server: http.Server;
- let crossSiteUrl: string;
- let serverUrl: string;
diff --git a/devel/electron11/files/patch-electron_spec-main_chromium-spec.ts b/devel/electron11/files/patch-electron_spec-main_chromium-spec.ts
deleted file mode 100644
index 0a270776284b..000000000000
--- a/devel/electron11/files/patch-electron_spec-main_chromium-spec.ts
+++ /dev/null
@@ -1,33 +0,0 @@
---- electron/spec-main/chromium-spec.ts.orig 2021-04-13 20:38:27 UTC
-+++ electron/spec-main/chromium-spec.ts
-@@ -392,13 +392,13 @@ describe('command line switches', () => {
- it('should not set an invalid locale', async () => testLocale('asdfkl', currentLocale));
-
- const lcAll = String(process.env.LC_ALL);
-- ifit(process.platform === 'linux')('current process has a valid LC_ALL env', async () => {
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd')('current process has a valid LC_ALL env', async () => {
- // The LC_ALL env should not be set to DOM locale string.
- expect(lcAll).to.not.equal(app.getLocale());
- });
-- ifit(process.platform === 'linux')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
-- ifit(process.platform === 'linux')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true));
-- ifit(process.platform === 'linux')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true));
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true));
-+ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true));
- });
-
- describe('--remote-debugging-pipe switch', () => {
-@@ -1455,10 +1455,10 @@ describe('font fallback', () => {
- const fonts = await getRenderedFonts(html);
- expect(fonts).to.be.an('array');
- expect(fonts).to.have.length(1);
-- if (process.platform === 'win32') { expect(fonts[0].familyName).to.equal('Arial'); } else if (process.platform === 'darwin') { expect(fonts[0].familyName).to.equal('Helvetica'); } else if (process.platform === 'linux') { expect(fonts[0].familyName).to.equal('DejaVu Sans'); } // I think this depends on the distro? We don't specify a default.
-+ if (process.platform === 'win32') { expect(fonts[0].familyName).to.equal('Arial'); } else if (process.platform === 'darwin') { expect(fonts[0].familyName).to.equal('Helvetica'); } else if (process.platform === 'linux' || process.platform === 'freebsd') { expect(fonts[0].familyName).to.equal('DejaVu Sans'); } // I think this depends on the distro? We don't specify a default.
- });
-
-- ifit(process.platform !== 'linux')('should fall back to Japanese font for sans-serif Japanese script', async function () {
-+ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should fall back to Japanese font for sans-serif Japanese script', async function () {
- const html = `
- <html lang="ja-JP">
- <head>
diff --git a/devel/electron11/files/patch-electron_spec_chromium-spec.js b/devel/electron11/files/patch-electron_spec_chromium-spec.js
deleted file mode 100644
index 1476e7e943a5..000000000000
--- a/devel/electron11/files/patch-electron_spec_chromium-spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
---- electron/spec/chromium-spec.js.orig 2021-01-22 23:55:24 UTC
-+++ electron/spec/chromium-spec.js
-@@ -226,7 +226,7 @@ describe('chromium feature', () => {
- });
-
- it('can be get as context in canvas', () => {
-- if (process.platform === 'linux') {
-+ if (process.platform === 'linux' || process.platform === 'freebsd') {
- // FIXME(alexeykuzmin): Skip the test.
- // this.skip()
- return;
diff --git a/devel/electron11/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/devel/electron11/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
deleted file mode 100644
index 7985eb5bfb9d..000000000000
--- a/devel/electron11/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2021-01-07 00:36:34 UTC
-+++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc
-@@ -11,7 +11,7 @@
-
- #if defined(OS_CHROMEOS)
- #include "extensions/browser/api/networking_private/networking_private_chromeos.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "extensions/browser/api/networking_private/networking_private_linux.h"
- #elif defined(OS_WIN) || defined(OS_MAC)
- #include "components/wifi/wifi_service.h"
-@@ -61,7 +61,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS
- NetworkingPrivateDelegate* delegate;
- #if defined(OS_CHROMEOS)
- delegate = new NetworkingPrivateChromeOS(browser_context);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- delegate = new NetworkingPrivateLinux();
- #elif defined(OS_WIN) || defined(OS_MAC)
- std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create());
diff --git a/devel/electron11/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/devel/electron11/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
deleted file mode 100644
index 9eaf0caf356c..000000000000
--- a/devel/electron11/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/browser/browser_context_keyed_service_factories.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/browser/browser_context_keyed_service_factories.cc
-@@ -96,7 +96,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- #if defined(OS_CHROMEOS)
- NetworkingConfigServiceFactory::GetInstance();
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_MAC)
- NetworkingPrivateEventRouterFactory::GetInstance();
- #endif
diff --git a/devel/electron11/files/patch-extensions_common_api___permission__features.json b/devel/electron11/files/patch-extensions_common_api___permission__features.json
deleted file mode 100644
index c1e23c5e7435..000000000000
--- a/devel/electron11/files/patch-extensions_common_api___permission__features.json
+++ /dev/null
@@ -1,29 +0,0 @@
---- extensions/common/api/_permission_features.json.orig 2021-01-07 00:36:35 UTC
-+++ extensions/common/api/_permission_features.json
-@@ -135,7 +135,7 @@
- {
- "channel": "stable",
- "extension_types": ["platform_app"],
-- "platforms": ["chromeos", "win", "mac", "linux"],
-+ "platforms": ["chromeos", "win", "mac", "linux", "bsd"],
- "whitelist": [
- "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
- "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
-@@ -473,7 +473,7 @@
- }, {
- "channel": "stable",
- "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
-- "platforms": ["chromeos", "mac", "win", "linux"],
-+ "platforms": ["chromeos", "mac", "win", "linux", "bsd"],
- "whitelist": [
- "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
- "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
-@@ -508,7 +508,7 @@
- "networkingPrivate": {
- "channel": "stable",
- "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
-- "platforms": ["chromeos", "mac", "win", "linux"],
-+ "platforms": ["chromeos", "mac", "win", "linux", "bsd"],
- "whitelist": [
- // DO NOT ADD ANY MORE ENTRIES HERE.
- // networkingPrivate is being migrated to networking.onc.
diff --git a/devel/electron11/files/patch-extensions_common_features_feature.cc b/devel/electron11/files/patch-extensions_common_features_feature.cc
deleted file mode 100644
index 8f62180fbb6a..000000000000
--- a/devel/electron11/files/patch-extensions_common_features_feature.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/common/features/feature.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/common/features/feature.cc
-@@ -26,7 +26,7 @@ Feature::Platform Feature::GetCurrentPlatform() {
- return LACROS_PLATFORM;
- #elif defined(OS_CHROMEOS) && !BUILDFLAG(IS_LACROS)
- return CHROMEOS_PLATFORM;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return LINUX_PLATFORM;
- #elif defined(OS_MAC)
- return MACOSX_PLATFORM;
diff --git a/devel/electron11/files/patch-extensions_renderer_bindings_api__binding__util.cc b/devel/electron11/files/patch-extensions_renderer_bindings_api__binding__util.cc
deleted file mode 100644
index f46531f38a4a..000000000000
--- a/devel/electron11/files/patch-extensions_renderer_bindings_api__binding__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/renderer/bindings/api_binding_util.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/renderer/bindings/api_binding_util.cc
-@@ -130,6 +130,8 @@ std::string GetPlatformString() {
- return "mac";
- #elif defined(OS_WIN)
- return "win";
-+#elif defined(OS_BSD)
-+ return "bsd";
- #else
- NOTREACHED();
- return std::string();
diff --git a/devel/electron11/files/patch-extensions_shell_BUILD.gn b/devel/electron11/files/patch-extensions_shell_BUILD.gn
deleted file mode 100644
index 5ec76e6a51ac..000000000000
--- a/devel/electron11/files/patch-extensions_shell_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/shell/BUILD.gn.orig 2021-01-07 00:36:35 UTC
-+++ extensions/shell/BUILD.gn
-@@ -202,7 +202,7 @@ source_set("app_shell_lib") {
- }
- }
-
-- if (is_desktop_linux) {
-+ if (is_desktop_linux && !is_bsd) {
- sources += [
- "app/shell_crash_reporter_client.cc",
- "app/shell_crash_reporter_client.h",
diff --git a/devel/electron11/files/patch-extensions_shell_app_shell__main__delegate.cc b/devel/electron11/files/patch-extensions_shell_app_shell__main__delegate.cc
deleted file mode 100644
index 81f5fc53d768..000000000000
--- a/devel/electron11/files/patch-extensions_shell_app_shell__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- extensions/shell/app/shell_main_delegate.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/shell/app/shell_main_delegate.cc
-@@ -37,7 +37,7 @@
-
- #if defined(OS_WIN)
- #include "base/base_paths_win.h"
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/nix/xdg_util.h"
- #elif defined(OS_MAC)
- #include "base/base_paths_mac.h"
-@@ -69,7 +69,7 @@ base::FilePath GetDataPath() {
- return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath);
-
- base::FilePath data_dir;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- data_dir = base::nix::GetXDGDirectory(
- env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir);
diff --git a/devel/electron11/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/devel/electron11/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
deleted file mode 100644
index 44aa7452f9a6..000000000000
--- a/devel/electron11/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc
-@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin
- bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
- #if defined(OS_CHROMEOS)
- info->os = api::runtime::PLATFORM_OS_CROS;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- info->os = api::runtime::PLATFORM_OS_LINUX;
- #endif
- return true;
diff --git a/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
deleted file mode 100644
index 5ddfa60263fc..000000000000
--- a/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2021-01-07 00:36:35 UTC
-+++ extensions/shell/browser/shell_extensions_api_client.cc
-@@ -16,7 +16,7 @@
- #include "extensions/shell/browser/shell_virtual_keyboard_delegate.h"
- #include "extensions/shell/browser/shell_web_view_guest_delegate.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h"
- #endif
-
-@@ -52,7 +52,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider()
- return std::make_unique<ShellDisplayInfoProvider>();
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() {
- if (!file_system_delegate_)
- file_system_delegate_ = std::make_unique<ShellFileSystemDelegate>();
diff --git a/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.h
deleted file mode 100644
index c5b2238bf209..000000000000
--- a/devel/electron11/files/patch-extensions_shell_browser_shell__extensions__api__client.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- extensions/shell/browser/shell_extensions_api_client.h.orig 2021-01-07 00:36:35 UTC
-+++ extensions/shell/browser/shell_extensions_api_client.h
-@@ -33,14 +33,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
- content::BrowserContext* browser_context) const override;
- std::unique_ptr<DisplayInfoProvider> CreateDisplayInfoProvider()
- const override;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- FileSystemDelegate* GetFileSystemDelegate() override;
- #endif
- MessagingDelegate* GetMessagingDelegate() override;
- FeedbackPrivateDelegate* GetFeedbackPrivateDelegate() override;
-
- private:
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- std::unique_ptr<FileSystemDelegate> file_system_delegate_;
- #endif
- std::unique_ptr<MessagingDelegate> messaging_delegate_;
diff --git a/devel/electron11/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/devel/electron11/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
deleted file mode 100644
index b70c5b1a7578..000000000000
--- a/devel/electron11/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
+++ /dev/null
@@ -1,53 +0,0 @@
---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2021-01-07 00:36:35 UTC
-+++ google_apis/gcm/engine/heartbeat_manager.cc
-@@ -31,13 +31,13 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
- // Minimum time spent sleeping before we force a new heartbeat.
- const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // The period at which to check if the heartbeat time has passed. Used to
- // protect against platforms where the timer is delayed by the system being
- // suspended. Only needed on linux because the other OSes provide a standard
- // way to be notified of system suspend and resume events.
- const int kHeartbeatMissedCheckMs = 1000 * 60 * 5; // 5 minutes.
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- } // namespace
-
-@@ -191,7 +191,7 @@ void HeartbeatManager::RestartTimer() {
- base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
- weak_ptr_factory_.GetWeakPtr()));
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
- // when the system is suspending or resuming. The only one that does not is
- // Linux so we need to poll to check for missed heartbeats.
-@@ -200,7 +200,7 @@ void HeartbeatManager::RestartTimer() {
- base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
- weak_ptr_factory_.GetWeakPtr()),
- base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs));
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- }
-
- void HeartbeatManager::CheckForMissedHeartbeat() {
-@@ -216,14 +216,14 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
- return;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Otherwise check again later.
- io_task_runner_->PostDelayedTask(
- FROM_HERE,
- base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
- weak_ptr_factory_.GetWeakPtr()),
- base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs));
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- }
-
- void HeartbeatManager::UpdateHeartbeatInterval() {
diff --git a/devel/electron11/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/devel/electron11/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
deleted file mode 100644
index 3fedbc13b120..000000000000
--- a/devel/electron11/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/command_buffer/service/external_vk_image_backing.cc
-@@ -29,7 +29,7 @@
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/scoped_binders.h"
-
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h"
- #endif
-
-@@ -583,7 +583,7 @@ std::unique_ptr<SharedImageRepresentationDawn>
- ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager,
- MemoryTypeTracker* tracker,
- WGPUDevice wgpuDevice) {
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- auto wgpu_format = viz::ToWGPUFormat(format());
-
- if (wgpu_format == WGPUTextureFormat_Undefined) {
-@@ -602,7 +602,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
-
- return std::make_unique<ExternalVkImageDawnRepresentation>(
- manager, this, tracker, wgpuDevice, wgpu_format, std::move(memory_fd));
--#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS)) || !BUILDFLAG(USE_DAWN)
-+#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN)
- NOTIMPLEMENTED_LOG_ONCE();
- return nullptr;
- #endif
-@@ -615,7 +615,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna
- gl::GLApi* api = gl::g_current_gl_context;
- base::Optional<ScopedDedicatedMemoryObject> memory_object;
- if (!use_separate_gl_texture()) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- auto memory_fd = image_->GetMemoryFd();
- if (!memory_fd.is_valid())
- return 0;
diff --git a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/devel/electron11/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
deleted file mode 100644
index d61e927fe2e2..000000000000
--- a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
-@@ -258,7 +258,7 @@ void getExpectedColorAndMask(GLenum src_internal_forma
-
- setColor(adjusted_color[0], adjusted_color[1], adjusted_color[2],
- alpha_value, expected_color);
--#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The alpha channel values for LUMINANCE_ALPHA source don't work OK
- // on Mac or Linux, so skip comparison of those, see crbug.com/926579
- setColor(1, 1, 1, src_internal_format != GL_LUMINANCE_ALPHA,
-@@ -643,8 +643,8 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
-
- bool ShouldSkipNorm16() const {
- DCHECK(!ShouldSkipTest());
--#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-- defined(OS_CHROMEOS)) && \
-+#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
-+ defined(OS_CHROMEOS)) && \
- (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
- // Make sure it's tested; it is safe to assume that the flag is always true
- // on desktop.
-@@ -656,7 +656,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
-
- bool ShouldSkipRGBA16ToRGB10A2() const {
- DCHECK(!ShouldSkipTest());
--#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
- (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
- // // TODO(crbug.com/1046873): Fails on mac and linux intel.
- return true;
diff --git a/devel/electron11/files/patch-gpu_command__buffer_tests_webgpu__test.cc b/devel/electron11/files/patch-gpu_command__buffer_tests_webgpu__test.cc
deleted file mode 100644
index f8529723233e..000000000000
--- a/devel/electron11/files/patch-gpu_command__buffer_tests_webgpu__test.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- gpu/command_buffer/tests/webgpu_test.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/command_buffer/tests/webgpu_test.cc
-@@ -51,8 +51,8 @@ bool WebGPUTest::WebGPUSupported() const {
-
- bool WebGPUTest::WebGPUSharedImageSupported() const {
- // Currently WebGPUSharedImage is only implemented on Mac, Linux and Windows
--#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-- defined(OS_WIN)) && \
-+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
-+ defined(OS_WIN)) && \
- BUILDFLAG(USE_DAWN)
- return true;
- #else
-@@ -63,7 +63,7 @@ bool WebGPUTest::WebGPUSharedImageSupported() const {
- void WebGPUTest::SetUp() {
- gpu::GpuPreferences gpu_preferences;
- gpu_preferences.enable_webgpu = true;
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- gpu_preferences.use_vulkan = gpu::VulkanImplementationName::kNative;
- gpu_preferences.gr_context_type = gpu::GrContextType::kVulkan;
- #elif defined(OS_WIN)
diff --git a/devel/electron11/files/patch-gpu_config_gpu__control__list.cc b/devel/electron11/files/patch-gpu_config_gpu__control__list.cc
deleted file mode 100644
index 2f5a8f663b40..000000000000
--- a/devel/electron11/files/patch-gpu_config_gpu__control__list.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- gpu/config/gpu_control_list.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/config/gpu_control_list.cc
-@@ -17,7 +17,11 @@
- #include "base/values.h"
- #include "build/build_config.h"
- #include "gpu/config/gpu_util.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif // defined(OS_BSD)
-
- namespace gpu {
- namespace {
-@@ -275,7 +279,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
- GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
- #if defined(OS_CHROMEOS)
- return kGLTypeGL;
--#elif defined(OS_LINUX) || defined(OS_OPENBSD)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return kGLTypeGL;
- #elif defined(OS_MAC)
- return kGLTypeGL;
-@@ -781,7 +785,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
- return kOsAndroid;
- #elif defined(OS_FUCHSIA)
- return kOsFuchsia;
--#elif defined(OS_LINUX) || defined(OS_OPENBSD)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return kOsLinux;
- #elif defined(OS_MAC)
- return kOsMacosx;
diff --git a/devel/electron11/files/patch-gpu_config_gpu__test__config.cc b/devel/electron11/files/patch-gpu_config_gpu__test__config.cc
deleted file mode 100644
index a4371cd4d051..000000000000
--- a/devel/electron11/files/patch-gpu_config_gpu__test__config.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/config/gpu_test_config.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/config/gpu_test_config.cc
-@@ -27,7 +27,7 @@ namespace {
- GPUTestConfig::OS GetCurrentOS() {
- #if defined(OS_CHROMEOS)
- return GPUTestConfig::kOsChromeOS;
--#elif defined(OS_LINUX) || defined(OS_OPENBSD)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return GPUTestConfig::kOsLinux;
- #elif defined(OS_WIN)
- int32_t major_version = 0;
diff --git a/devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
deleted file mode 100644
index 726d24fe81c5..000000000000
--- a/devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/ipc/common/gpu_memory_buffer_support.cc
-@@ -16,7 +16,7 @@
- #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gfx/client_native_pixmap_factory.h"
- #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h"
- #endif
-@@ -26,7 +26,7 @@
- #include "ui/ozone/public/ozone_platform.h"
- #endif
-
--#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
- #endif
-
-@@ -52,7 +52,7 @@ GpuMemoryBufferSupport::GpuMemoryBufferSupport() {
- return;
- }
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- client_native_pixmap_factory_.reset(
- gfx::CreateClientNativePixmapFactoryDmabuf());
- #endif
-@@ -66,7 +66,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
- return gfx::IO_SURFACE_BUFFER;
- #elif defined(OS_ANDROID)
- return gfx::ANDROID_HARDWARE_BUFFER;
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- return gfx::NATIVE_PIXMAP;
- #elif defined(OS_WIN)
- return gfx::DXGI_SHARED_HANDLE;
-@@ -194,7 +194,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH
- return GpuMemoryBufferImplIOSurface::CreateFromHandle(
- std::move(handle), size, format, usage, std::move(callback));
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- case gfx::NATIVE_PIXMAP:
- return GpuMemoryBufferImplNativePixmap::CreateFromHandle(
- client_native_pixmap_factory(), std::move(handle), size, format,
diff --git a/devel/electron11/files/patch-gpu_ipc_service_gpu__init.cc b/devel/electron11/files/patch-gpu_ipc_service_gpu__init.cc
deleted file mode 100644
index 884535a526e6..000000000000
--- a/devel/electron11/files/patch-gpu_ipc_service_gpu__init.cc
+++ /dev/null
@@ -1,100 +0,0 @@
---- gpu/ipc/service/gpu_init.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/ipc/service/gpu_init.cc
-@@ -107,7 +107,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in
- #endif
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- bool CanAccessNvidiaDeviceFile() {
- bool res = true;
- base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
-@@ -118,7 +118,7 @@ bool CanAccessNvidiaDeviceFile() {
- }
- return res;
- }
--#endif // OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST)
-+#endif // (OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
-
- class GpuWatchdogInit {
- public:
-@@ -203,7 +203,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- device_perf_info_ = device_perf_info;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA
- gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile())
- return false;
-@@ -337,14 +337,14 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- }
- if (gl_initialized && gl_use_swiftshader_ &&
- gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
- << "on Linux";
- return false;
- #else
- gl::init::ShutdownGL(true);
- gl_initialized = false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- if (!gl_initialized) {
-@@ -424,7 +424,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- command_line, gpu_feature_info_,
- gpu_preferences_.disable_software_rasterizer, false);
- if (gl_use_swiftshader_) {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
- << "on Linux";
- return false;
-@@ -438,7 +438,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- << "failed";
- return false;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
- } else { // gl_use_swiftshader_ == true
- switch (gpu_preferences_.use_vulkan) {
-@@ -514,7 +514,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
-
- InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Driver may create a compatibility profile context when collect graphics
- // information on Linux platform. Try to collect graphics information
- // based on core profile context after disabling platform extensions.
-@@ -533,7 +533,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- if (gl_use_swiftshader_) {
- AdjustInfoToSwiftShader();
-@@ -701,7 +701,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
-
- InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Driver may create a compatibility profile context when collect graphics
- // information on Linux platform. Try to collect graphics information
- // based on core profile context after disabling platform extensions.
-@@ -721,7 +721,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
- }
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- if (gl_use_swiftshader_) {
- AdjustInfoToSwiftShader();
diff --git a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
deleted file mode 100644
index 8658d184c1b9..000000000000
--- a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.cc
-@@ -57,7 +57,7 @@ const int kNewGpuTimeout = 17000;
- const int kNewGpuTimeout = 15000;
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- const base::FilePath::CharType kTtyFilePath[] =
- FILE_PATH_LITERAL("/sys/class/tty/tty0/active");
- #endif
-@@ -75,7 +75,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1()
- arm_cpu_time_(),
- #endif
- suspension_counter_(this)
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- ,
- host_tty_(-1)
- #endif
-@@ -97,7 +97,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1()
- DCHECK(result);
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- tty_file_ = base::OpenFile(base::FilePath(kTtyFilePath), "r");
- UpdateActiveTTY();
- host_tty_ = active_tty_;
-@@ -239,7 +239,7 @@ GpuWatchdogThreadImplV1::~GpuWatchdogThreadImplV1() {
-
- base::PowerMonitor::RemoveObserver(this);
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- if (tty_file_)
- fclose(tty_file_);
- #endif
-@@ -388,7 +388,7 @@ void GpuWatchdogThreadImplV1::DeliberatelyTerminateToR
- return;
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- // Don't crash if we're not on the TTY of our host X11 server.
- UpdateActiveTTY();
- if (host_tty_ != -1 && active_tty_ != -1 && host_tty_ != active_tty_) {
-@@ -548,7 +548,7 @@ base::ThreadTicks GpuWatchdogThreadImplV1::GetWatchedT
- }
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- void GpuWatchdogThreadImplV1::UpdateActiveTTY() {
- last_active_tty_ = active_tty_;
-
diff --git a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
deleted file mode 100644
index 7068d84d31e3..000000000000
--- a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.h.orig 2021-01-07 00:36:35 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.h
-@@ -213,7 +213,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1
- base::ThreadTicks GetWatchedThreadTime();
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- void UpdateActiveTTY();
- #endif
-
-@@ -261,7 +261,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1
- base::Time check_time_;
- base::TimeTicks check_timeticks_;
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- FILE* tty_file_;
- int host_tty_;
- int active_tty_ = -1;
diff --git a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread__v2.cc b/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread__v2.cc
deleted file mode 100644
index d53d8a3f3a59..000000000000
--- a/devel/electron11/files/patch-gpu_ipc_service_gpu__watchdog__thread__v2.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread_v2.cc.orig 2021-03-20 14:36:05 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread_v2.cc
-@@ -77,7 +77,7 @@ GpuWatchdogThreadImplV2::GpuWatchdogThreadImplV2(
- }
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- tty_file_ = base::OpenFile(
- base::FilePath(FILE_PATH_LITERAL("/sys/class/tty/tty0/active")), "r");
- UpdateActiveTTY();
-@@ -105,7 +105,7 @@ GpuWatchdogThreadImplV2::~GpuWatchdogThreadImplV2() {
- CloseHandle(watched_thread_handle_);
- #endif
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- if (tty_file_)
- fclose(tty_file_);
- #endif
-@@ -481,7 +481,7 @@ void GpuWatchdogThreadImplV2::OnWatchdogTimeout() {
- if (foregrounded_event_)
- num_of_timeout_after_foregrounded_++;
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- UpdateActiveTTY();
- #endif
-
-@@ -874,7 +874,7 @@ bool GpuWatchdogThreadImplV2::WithinOneMinFromForegrou
- return foregrounded_event_ && num_of_timeout_after_foregrounded_ <= count;
- }
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- void GpuWatchdogThreadImplV2::UpdateActiveTTY() {
- last_active_tty_ = active_tty_;
-
-@@ -891,7 +891,7 @@ void GpuWatchdogThreadImplV2::UpdateActiveTTY() {
- #endif
-
- bool GpuWatchdogThreadImplV2::ContinueOnNonHostX11ServerTty() {
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- if (host_tty_ == -1 || active_tty_ == -1)
- return false;
-
diff --git a/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.cc
deleted file mode 100644
index f5150780af7b..000000000000
--- a/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- gpu/vulkan/vulkan_function_pointers.cc.orig 2021-01-07 00:36:35 UTC
-+++ gpu/vulkan/vulkan_function_pointers.cc
-@@ -862,7 +862,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- }
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- if (gfx::HasExtension(enabled_extensions,
- VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) {
- vkGetSemaphoreFdKHR = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(
-@@ -881,7 +881,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- if (gfx::HasExtension(enabled_extensions,
-@@ -906,7 +906,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- if (gfx::HasExtension(enabled_extensions,
- VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) {
- vkGetMemoryFdKHR = reinterpret_cast<PFN_vkGetMemoryFdKHR>(
-@@ -926,7 +926,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- if (gfx::HasExtension(enabled_extensions,
diff --git a/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.h b/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.h
deleted file mode 100644
index 5071a603d783..000000000000
--- a/devel/electron11/files/patch-gpu_vulkan_vulkan__function__pointers.h
+++ /dev/null
@@ -1,71 +0,0 @@
---- gpu/vulkan/vulkan_function_pointers.h.orig 2021-01-07 00:36:35 UTC
-+++ gpu/vulkan/vulkan_function_pointers.h
-@@ -236,10 +236,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
- vkGetAndroidHardwareBufferPropertiesANDROID;
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- VulkanFunction<PFN_vkGetSemaphoreFdKHR> vkGetSemaphoreFdKHR;
- VulkanFunction<PFN_vkImportSemaphoreFdKHR> vkImportSemaphoreFdKHR;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- VulkanFunction<PFN_vkGetSemaphoreWin32HandleKHR> vkGetSemaphoreWin32HandleKHR;
-@@ -247,10 +247,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
- vkImportSemaphoreWin32HandleKHR;
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- VulkanFunction<PFN_vkGetMemoryFdKHR> vkGetMemoryFdKHR;
- VulkanFunction<PFN_vkGetMemoryFdPropertiesKHR> vkGetMemoryFdPropertiesKHR;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- VulkanFunction<PFN_vkGetMemoryWin32HandleKHR> vkGetMemoryWin32HandleKHR;
-@@ -955,7 +955,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope
- }
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- ALWAYS_INLINE VkResult
- vkGetSemaphoreFdKHR(VkDevice device,
- const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
-@@ -969,7 +969,7 @@ ALWAYS_INLINE VkResult vkImportSemaphoreFdKHR(
- return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHR(
- device, pImportSemaphoreFdInfo);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- ALWAYS_INLINE VkResult vkGetSemaphoreWin32HandleKHR(
-@@ -988,7 +988,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device,
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- ALWAYS_INLINE VkResult vkGetMemoryFdKHR(VkDevice device,
- const VkMemoryGetFdInfoKHR* pGetFdInfo,
- int* pFd) {
-@@ -1003,7 +1003,7 @@ vkGetMemoryFdPropertiesKHR(VkDevice device,
- return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHR(
- device, handleType, fd, pMemoryFdProperties);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- ALWAYS_INLINE VkResult vkGetMemoryWin32HandleKHR(
-@@ -1083,4 +1083,4 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
- pPresentInfo);
- }
-
--#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
-\ No newline at end of file
-+#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
diff --git a/devel/electron11/files/patch-headless_BUILD.gn b/devel/electron11/files/patch-headless_BUILD.gn
deleted file mode 100644
index 00a532b8c9e8..000000000000
--- a/devel/electron11/files/patch-headless_BUILD.gn
+++ /dev/null
@@ -1,38 +0,0 @@
---- headless/BUILD.gn.orig 2021-01-07 00:36:35 UTC
-+++ headless/BUILD.gn
-@@ -275,7 +275,7 @@ source_set("headless_shared_sources") {
- sources += generated_devtools_api
- sources += get_target_outputs(":protocol_sources")
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- sources += [
- "lib/headless_crash_reporter_client.cc",
- "lib/headless_crash_reporter_client.h",
-@@ -295,7 +295,7 @@ source_set("headless_shared_sources") {
- "//url",
- ]
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/content/browser" ]
- }
- if (is_component_build && is_win) {
-@@ -448,7 +448,7 @@ component("headless_non_renderer") {
- "//v8",
- ]
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/content/browser" ]
- }
- if (is_win) {
-@@ -732,7 +732,7 @@ static_library("headless_shell_lib") {
- public_deps += [ ":headless_non_renderer" ]
- }
-
-- if (!is_fuchsia) {
-+ if (!is_fuchsia && !is_bsd) {
- deps += [ "//components/crash/content/browser" ]
- }
-
diff --git a/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts.h b/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts.h
deleted file mode 100644
index b01ac8b53ba9..000000000000
--- a/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_browser_main_parts.h.orig 2021-01-07 00:36:35 UTC
-+++ headless/lib/browser/headless_browser_main_parts.h
-@@ -32,7 +32,7 @@ class HeadlessBrowserMainParts : public content::Brows
- #if defined(OS_MAC)
- void PreMainMessageLoopStart() override;
- #endif
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void PostMainMessageLoopStart() override;
- #endif
- void QuitMainMessageLoop();
diff --git a/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc b/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
deleted file mode 100644
index 7f01a7a20f50..000000000000
--- a/devel/electron11/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2021-01-07 00:36:35 UTC
-+++ headless/lib/browser/headless_browser_main_parts_linux.cc
-@@ -10,7 +10,7 @@
- namespace headless {
-
- void HeadlessBrowserMainParts::PostMainMessageLoopStart() {
--#if defined(USE_DBUS) && !defined(OS_CHROMEOS)
-+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
- #endif
- }
diff --git a/devel/electron11/files/patch-headless_lib_browser_headless__content__browser__client.cc b/devel/electron11/files/patch-headless_lib_browser_headless__content__browser__client.cc
deleted file mode 100644
index 1785e5bc1b59..000000000000
--- a/devel/electron11/files/patch-headless_lib_browser_headless__content__browser__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_content_browser_client.cc.orig 2021-01-07 00:36:35 UTC
-+++ headless/lib/browser/headless_content_browser_client.cc
-@@ -241,7 +241,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL
- process_type, child_process_id);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Processes may only query perf_event_open with the BPF sandbox disabled.
- if (old_command_line.HasSwitch(::switches::kEnableThreadInstructionCount) &&
- old_command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) {
diff --git a/devel/electron11/files/patch-headless_lib_browser_headless__request__context__manager.cc b/devel/electron11/files/patch-headless_lib_browser_headless__request__context__manager.cc
deleted file mode 100644
index 7bb50e10e39d..000000000000
--- a/devel/electron11/files/patch-headless_lib_browser_headless__request__context__manager.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- headless/lib/browser/headless_request_context_manager.cc.orig 2021-01-07 00:36:35 UTC
-+++ headless/lib/browser/headless_request_context_manager.cc
-@@ -26,7 +26,7 @@ namespace headless {
-
- namespace {
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- constexpr char kProductName[] = "HeadlessChrome";
- #endif
-
-@@ -56,7 +56,7 @@ net::NetworkTrafficAnnotationTag GetProxyConfigTraffic
- return traffic_annotation;
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- ::network::mojom::CryptConfigPtr BuildCryptConfigOnce(
- const base::FilePath& user_data_path) {
- static bool done_once = false;
-@@ -213,7 +213,7 @@ HeadlessRequestContextManager::HeadlessRequestContextM
- proxy_config_monitor_ = std::make_unique<HeadlessProxyConfigMonitor>(
- base::ThreadTaskRunnerHandle::Get());
- }
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- auto crypt_config = BuildCryptConfigOnce(user_data_path_);
- if (crypt_config)
- content::GetNetworkService()->SetCryptConfig(std::move(crypt_config));
diff --git a/devel/electron11/files/patch-headless_lib_headless__content__main__delegate.cc b/devel/electron11/files/patch-headless_lib_headless__content__main__delegate.cc
deleted file mode 100644
index 5348876c0ea9..000000000000
--- a/devel/electron11/files/patch-headless_lib_headless__content__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- headless/lib/headless_content_main_delegate.cc.orig 2021-01-07 00:36:35 UTC
-+++ headless/lib/headless_content_main_delegate.cc
-@@ -323,7 +323,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
- const base::CommandLine& command_line) {
- if (command_line.HasSwitch(::switches::kDisableBreakpad))
- return;
--#if defined(OS_FUCHSIA)
-+#if defined(OS_FUCHSIA) || defined(OS_BSD)
- // TODO(fuchsia): Implement this when crash reporting/Breakpad are available
- // in Fuchsia. (crbug.com/753619)
- NOTIMPLEMENTED();
-@@ -352,7 +352,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
- crash_reporter::InitializeCrashpadWithEmbeddedHandler(
- process_type.empty(), process_type, "", base::FilePath());
- #endif // defined(HEADLESS_USE_BREAKPAD)
--#endif // defined(OS_FUCHSIA)
-+#endif // defined(OS_FUCHSIA) || defined(OS_BSD)
- }
-
-
diff --git a/devel/electron11/files/patch-ipc_ipc__message__utils.cc b/devel/electron11/files/patch-ipc_ipc__message__utils.cc
deleted file mode 100644
index 4eda84f2d69d..000000000000
--- a/devel/electron11/files/patch-ipc_ipc__message__utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ipc/ipc_message_utils.cc.orig 2021-01-07 00:36:36 UTC
-+++ ipc/ipc_message_utils.cc
-@@ -356,7 +356,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
- l->append(base::NumberToString(p));
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_FUCHSIA) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
- void ParamTraits<long>::Log(const param_type& p, std::string* l) {
- l->append(base::NumberToString(p));
diff --git a/devel/electron11/files/patch-media_BUILD.gn b/devel/electron11/files/patch-media_BUILD.gn
deleted file mode 100644
index 9ca3ff2013ea..000000000000
--- a/devel/electron11/files/patch-media_BUILD.gn
+++ /dev/null
@@ -1,12 +0,0 @@
---- media/BUILD.gn.orig 2021-01-07 00:36:36 UTC
-+++ media/BUILD.gn
-@@ -65,6 +65,9 @@ config("media_config") {
- defines += [ "DLOPEN_PULSEAUDIO" ]
- }
- }
-+ if (use_sndio) {
-+ defines += [ "USE_SNDIO" ]
-+ }
- if (use_cras) {
- defines += [ "USE_CRAS" ]
- }
diff --git a/devel/electron11/files/patch-media_audio_BUILD.gn b/devel/electron11/files/patch-media_audio_BUILD.gn
deleted file mode 100644
index c8ee8205affe..000000000000
--- a/devel/electron11/files/patch-media_audio_BUILD.gn
+++ /dev/null
@@ -1,29 +0,0 @@
---- media/audio/BUILD.gn.orig 2021-01-25 11:26:59 UTC
-+++ media/audio/BUILD.gn
-@@ -242,7 +242,7 @@ source_set("audio") {
- ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !use_sndio) {
- sources += [ "linux/audio_manager_linux.cc" ]
- }
-
-@@ -305,6 +305,17 @@ source_set("audio") {
- } else {
- deps += [ ":libpulse_stubs" ]
- }
-+ }
-+
-+ if (use_sndio) {
-+ libs += [ "sndio" ]
-+ sources += [
-+ "openbsd/audio_manager_openbsd.cc",
-+ "sndio/sndio_input.cc",
-+ "sndio/sndio_input.h",
-+ "sndio/sndio_output.cc",
-+ "sndio/sndio_output.h",
-+ ]
- }
-
- if (is_fuchsia) {
diff --git a/devel/electron11/files/patch-media_audio_audio__features.cc b/devel/electron11/files/patch-media_audio_audio__features.cc
deleted file mode 100644
index 184f7fc96203..000000000000
--- a/devel/electron11/files/patch-media_audio_audio__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/audio/audio_features.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/audio/audio_features.cc
-@@ -11,7 +11,7 @@ namespace features {
- // detected. It will be restarted when needed.
- const base::Feature kAudioServiceOutOfProcessKillAtHang{
- "AudioServiceOutOfProcessKillAtHang",
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
diff --git a/devel/electron11/files/patch-media_base_audio__latency.cc b/devel/electron11/files/patch-media_base_audio__latency.cc
deleted file mode 100644
index 4ff3742941b3..000000000000
--- a/devel/electron11/files/patch-media_base_audio__latency.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/audio_latency.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/base/audio_latency.cc
-@@ -113,7 +113,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
- return frames_per_buffer;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- // On Linux, MacOS and Fuchsia, the low level IO implementations on the
- // browser side supports all buffer size the clients want. We use the native
diff --git a/devel/electron11/files/patch-media_base_media__switches.cc b/devel/electron11/files/patch-media_base_media__switches.cc
deleted file mode 100644
index 734da38df856..000000000000
--- a/devel/electron11/files/patch-media_base_media__switches.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/base/media_switches.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/base/media_switches.cc
-@@ -361,7 +361,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode
- const base::Feature kGlobalMediaControls {
- "GlobalMediaControls",
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -390,7 +390,7 @@ const base::Feature kGlobalMediaControlsOverlayControl
- const base::Feature kGlobalMediaControlsPictureInPicture {
- "GlobalMediaControlsPictureInPicture",
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/devel/electron11/files/patch-media_base_status.cc b/devel/electron11/files/patch-media_base_status.cc
deleted file mode 100644
index a7f93a412c83..000000000000
--- a/devel/electron11/files/patch-media_base_status.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- media/base/status.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/base/status.cc
-@@ -70,7 +70,9 @@ Status&& Status::AddCause(Status&& cause) && {
-
- void Status::AddFrame(const base::Location& location) {
- DCHECK(data_);
-+#if SUPPORTS_LOCATION_BUILTINS
- data_->frames.push_back(MediaSerialize(location));
-+#endif
- }
-
- Status OkStatus() {
diff --git a/devel/electron11/files/patch-media_base_video__frame.cc b/devel/electron11/files/patch-media_base_video__frame.cc
deleted file mode 100644
index e73e25faaa48..000000000000
--- a/devel/electron11/files/patch-media_base_video__frame.cc
+++ /dev/null
@@ -1,83 +0,0 @@
---- media/base/video_frame.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/base/video_frame.cc
-@@ -60,7 +60,7 @@ std::string VideoFrame::StorageTypeToString(
- return "OWNED_MEMORY";
- case VideoFrame::STORAGE_SHMEM:
- return "SHMEM";
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- case VideoFrame::STORAGE_DMABUFS:
- return "DMABUFS";
- #endif
-@@ -77,7 +77,7 @@ std::string VideoFrame::StorageTypeToString(
- // static
- bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
- return
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // This is not strictly needed but makes explicit that, at VideoFrame
- // level, DmaBufs are not mappable from userspace.
- storage_type != VideoFrame::STORAGE_DMABUFS &&
-@@ -262,7 +262,7 @@ static base::Optional<VideoFrameLayout> GetDefaultLayo
- return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
- // thus to have several VideoFrames share the same set of DMABUF FDs.
- class VideoFrame::DmabufHolder
-@@ -280,7 +280,7 @@ class VideoFrame::DmabufHolder
- friend class base::RefCountedThreadSafe<DmabufHolder>;
- ~DmabufHolder() = default;
- };
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // static
- bool VideoFrame::IsValidConfig(VideoPixelFormat format,
-@@ -607,7 +607,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
- }
-
- uint64_t modifier = gfx::NativePixmapHandle::kNoModifier;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) {
- const auto gmb_handle = gpu_memory_buffer->CloneHandle();
- if (gmb_handle.is_null() ||
-@@ -645,7 +645,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
- return frame;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // static
- scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
- const VideoFrameLayout& layout,
-@@ -847,7 +847,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
- }
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- DCHECK(frame->dmabuf_fds_);
- // If there are any |dmabuf_fds_| plugged in, we should refer them too.
- wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
-@@ -1190,7 +1190,7 @@ VideoFrame::mailbox_holder(size_t texture_index) const
- : mailbox_holders_[texture_index];
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
- DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
-
-@@ -1273,7 +1273,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
- storage_type_(storage_type),
- visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
- natural_size_(natural_size),
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
- #endif
- timestamp_(timestamp),
diff --git a/devel/electron11/files/patch-media_base_video__frame.h b/devel/electron11/files/patch-media_base_video__frame.h
deleted file mode 100644
index 1184b846c0a6..000000000000
--- a/devel/electron11/files/patch-media_base_video__frame.h
+++ /dev/null
@@ -1,50 +0,0 @@
---- media/base/video_frame.h.orig 2021-01-07 00:36:36 UTC
-+++ media/base/video_frame.h
-@@ -41,9 +41,9 @@
- #include "base/mac/scoped_cftyperef.h"
- #endif // defined(OS_MAC)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/files/scoped_file.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace gfx {
- class GpuMemoryBuffer;
-@@ -83,7 +83,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
- STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
- STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // TODO(mcasas): Consider turning this type into STORAGE_NATIVE
- // based on the idea of using this same enum value for both DMA
- // buffers on Linux and CVPixelBuffers on Mac (which currently use
-@@ -260,7 +260,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- ReleaseMailboxCB mailbox_holder_release_cb,
- base::TimeDelta timestamp);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Wraps provided dmabufs
- // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a
- // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will
-@@ -507,7 +507,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- // mailbox, the caller must wait for the included sync point.
- const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Returns a vector containing the backing DmaBufs for this frame. The number
- // of returned DmaBufs will be equal or less than the number of planes of
- // the frame. If there are less, this means that the last FD contains the
-@@ -696,7 +696,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER.
- std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- class DmabufHolder;
-
- // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either
diff --git a/devel/electron11/files/patch-media_capture_video_create__video__capture__device__factory.cc b/devel/electron11/files/patch-media_capture_video_create__video__capture__device__factory.cc
deleted file mode 100644
index 470c0725cc8e..000000000000
--- a/devel/electron11/files/patch-media_capture_video_create__video__capture__device__factory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/capture/video/create_video_capture_device_factory.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/capture/video/create_video_capture_device_factory.cc
-@@ -10,7 +10,7 @@
- #include "media/capture/video/fake_video_capture_device_factory.h"
- #include "media/capture/video/file_video_capture_device_factory.h"
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "media/capture/video/linux/video_capture_device_factory_linux.h"
- #elif defined(OS_CHROMEOS)
- #include "media/capture/video/chromeos/camera_app_device_bridge_impl.h"
-@@ -82,7 +82,7 @@ CreateChromeOSVideoCaptureDeviceFactory(
- std::unique_ptr<VideoCaptureDeviceFactory>
- CreatePlatformSpecificVideoCaptureDeviceFactory(
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
- #elif defined(OS_CHROMEOS)
- return CreateChromeOSVideoCaptureDeviceFactory(ui_task_runner, {});
diff --git a/devel/electron11/files/patch-media_capture_video_video__capture__device__client.cc b/devel/electron11/files/patch-media_capture_video_video__capture__device__client.cc
deleted file mode 100644
index 2a341b13bf3d..000000000000
--- a/devel/electron11/files/patch-media_capture_video_video__capture__device__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/video_capture_device_client.cc.orig 2021-01-07 00:36:36 UTC
-+++ media/capture/video/video_capture_device_client.cc
-@@ -318,7 +318,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData(
- // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
- // Windows RGB24 defines blue at lowest byte,
- // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- fourcc_format = libyuv::FOURCC_RAW;
- #elif defined(OS_WIN)
- fourcc_format = libyuv::FOURCC_24BG;
diff --git a/devel/electron11/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/devel/electron11/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
deleted file mode 100644
index 1828aac9ca3c..000000000000
--- a/devel/electron11/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2021-01-07 00:36:37 UTC
-+++ media/formats/mp2t/es_parser_mpeg1audio.cc
-@@ -108,11 +108,11 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
- const uint8_t* es;
- es_queue_->Peek(&es, &es_size);
-
-- int max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
-- if (max_offset <= 0)
-+ int _max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
-+ if (_max_offset <= 0)
- return false;
-
-- for (int offset = 0; offset < max_offset; offset++) {
-+ for (int offset = 0; offset < _max_offset; offset++) {
- const uint8_t* cur_buf = &es[offset];
- if (cur_buf[0] != 0xff)
- continue;
-@@ -153,7 +153,7 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
- return true;
- }
-
-- es_queue_->Pop(max_offset);
-+ es_queue_->Pop(_max_offset);
- return false;
- }
-
diff --git a/devel/electron11/files/patch-media_media__options.gni b/devel/electron11/files/patch-media_media__options.gni
deleted file mode 100644
index 8e7a6129ce4c..000000000000
--- a/devel/electron11/files/patch-media_media__options.gni
+++ /dev/null
@@ -1,12 +0,0 @@
---- media/media_options.gni.orig 2021-01-07 00:36:37 UTC
-+++ media/media_options.gni
-@@ -120,6 +120,9 @@ declare_args() {
- # Enables runtime selection of ALSA library for audio.
- use_alsa = false
-
-+ # Enable runtime selection of sndio(7)
-+ use_sndio = false
-+
- # Alsa should be used on non-Android, non-Mac POSIX systems.
- # Alsa should be used on desktop Chromecast and audio-only Chromecast builds.
- if (is_posix && !is_android && !is_mac &&
diff --git a/devel/electron11/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/devel/electron11/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
deleted file mode 100644
index 8bf2ff636985..000000000000
--- a/devel/electron11/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2021-01-07 00:36:37 UTC
-+++ media/mojo/mojom/video_frame_mojom_traits.cc
-@@ -21,9 +21,9 @@
- #include "ui/gfx/mojom/color_space_mojom_traits.h"
- #include "ui/gl/mojom/hdr_metadata_mojom_traits.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/posix/eintr_wrapper.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace mojo {
-
-@@ -63,7 +63,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData(
- std::move(offsets)));
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) {
- std::vector<mojo::PlatformHandle> dmabuf_fds;
-
-@@ -166,7 +166,7 @@ bool StructTraits<media::mojom::VideoFrameDataView,
- shared_buffer_data.TakeFrameData(),
- shared_buffer_data.frame_data_size(), std::move(offsets),
- std::move(strides), timestamp);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- } else if (data.is_dmabuf_data()) {
- media::mojom::DmabufVideoFrameDataDataView dmabuf_data;
- data.GetDmabufDataDataView(&dmabuf_data);
diff --git a/devel/electron11/files/patch-media_mojo_services_gpu__mojo__media__client.cc b/devel/electron11/files/patch-media_mojo_services_gpu__mojo__media__client.cc
deleted file mode 100644
index beeb12608fec..000000000000
--- a/devel/electron11/files/patch-media_mojo_services_gpu__mojo__media__client.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/mojo/services/gpu_mojo_media_client.cc.orig 2021-01-07 00:36:37 UTC
-+++ media/mojo/services/gpu_mojo_media_client.cc
-@@ -67,7 +67,7 @@ namespace media {
- namespace {
-
- #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-- defined(OS_WIN) || defined(OS_LINUX)
-+ defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- gpu::CommandBufferStub* GetCommandBufferStub(
- scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
- base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
-@@ -298,7 +298,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::Crea
- command_buffer_id->route_id));
- }
-
--#elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
-+#elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- #if defined(OS_WIN)
- // Don't instantiate the DXVA decoder if it's not supported.
diff --git a/devel/electron11/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/devel/electron11/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
deleted file mode 100644
index 915ff17deede..000000000000
--- a/devel/electron11/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2021-01-07 00:36:37 UTC
-+++ media/video/gpu_memory_buffer_video_frame_pool.cc
-@@ -573,7 +573,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
- }
-
- bool is_software_backed_video_frame = !video_frame->HasTextures();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- is_software_backed_video_frame &= !video_frame->HasDmaBufs();
- #endif
-
diff --git a/devel/electron11/files/patch-mojo_public_js_mojo__bindings__resources.grd b/devel/electron11/files/patch-mojo_public_js_mojo__bindings__resources.grd
deleted file mode 100644
index 144971d0083e..000000000000
--- a/devel/electron11/files/patch-mojo_public_js_mojo__bindings__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- mojo/public/js/mojo_bindings_resources.grd.orig 2021-01-07 00:36:37 UTC
-+++ mojo/public/js/mojo_bindings_resources.grd
-@@ -59,7 +59,7 @@
- file="${root_gen_dir}/mojo/public/mojom/base/text_direction.mojom-lite.js"
- use_base_dir="false"
- type="BINDATA" />
-- <if expr="is_win or is_macosx or is_linux or is_android">
-+ <if expr="is_win or is_macosx or is_posix or is_android">
- <include name="IDR_MOJO_TIME_MOJOM_HTML"
- file="${root_gen_dir}/mojo/public/mojom/base/time.mojom.html"
- use_base_dir="false"
diff --git a/devel/electron11/files/patch-net_BUILD.gn b/devel/electron11/files/patch-net_BUILD.gn
deleted file mode 100644
index b4ccccc46cc1..000000000000
--- a/devel/electron11/files/patch-net_BUILD.gn
+++ /dev/null
@@ -1,55 +0,0 @@
---- net/BUILD.gn.orig 2021-01-07 00:36:38 UTC
-+++ net/BUILD.gn
-@@ -99,7 +99,7 @@ net_configs = [
- "//build/config/compiler:wexit_time_destructors",
- ]
-
--if (is_linux || is_chromeos) {
-+if ((is_linux || is_chromeos) && !is_bsd) {
- net_configs += [ "//build/config/linux:libresolv" ]
- }
-
-@@ -1261,6 +1261,16 @@ component("net") {
- ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "base/address_tracker_linux.cc",
-+ "base/address_tracker_linux.h",
-+ "base/network_change_notifier_linux.cc",
-+ "base/network_change_notifier_linux.h",
-+ "base/network_interfaces_linux.cc"
-+ ]
-+ }
-+
- if (is_mac) {
- sources += [
- "base/network_notification_thread_mac.cc",
-@@ -1397,7 +1407,7 @@ component("net") {
- }
- }
-
-- if (is_android || is_chromeos) {
-+ if (is_android || is_chromeos || is_bsd) {
- sources += [
- "base/network_change_notifier_posix.cc",
- "base/network_change_notifier_posix.h",
-@@ -1430,7 +1440,7 @@ component("net") {
- }
-
- # Use getifaddrs() on POSIX platforms, except Linux.
-- if (is_posix && !is_linux && !is_chromeos) {
-+ if ((is_posix && !is_linux && !is_chromeos) || is_bsd) {
- sources += [
- "base/network_interfaces_getifaddrs.cc",
- "base/network_interfaces_getifaddrs.h",
-@@ -4770,7 +4780,7 @@ test("net_unittests") {
- }
-
- # Use getifaddrs() on POSIX platforms, except Linux and Android.
-- if (is_posix && !is_linux && !is_chromeos && !is_android) {
-+ if ((is_posix && !is_linux && !is_chromeos && !is_android) || is_bsd) {
- sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ]
- }
-
diff --git a/devel/electron11/files/patch-net_base_address__tracker__linux.cc b/devel/electron11/files/patch-net_base_address__tracker__linux.cc
deleted file mode 100644
index 65477e680120..000000000000
--- a/devel/electron11/files/patch-net_base_address__tracker__linux.cc
+++ /dev/null
@@ -1,81 +0,0 @@
---- net/base/address_tracker_linux.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/base/address_tracker_linux.cc
-@@ -5,7 +5,9 @@
- #include "net/base/address_tracker_linux.h"
-
- #include <errno.h>
-+#if !defined(OS_BSD)
- #include <linux/if.h>
-+#endif
- #include <stdint.h>
- #include <sys/ioctl.h>
- #include <utility>
-@@ -190,6 +192,7 @@ void AddressTrackerLinux::Init() {
- DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(),
- base::android::SDK_VERSION_P);
- #endif
-+#if !defined(OS_FREEBSD)
- netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
- if (!netlink_fd_.is_valid()) {
- PLOG(ERROR) << "Could not create NETLINK socket";
-@@ -274,6 +277,7 @@ void AddressTrackerLinux::Init() {
- base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking,
- base::Unretained(this)));
- }
-+#endif // !OS_FREEBSD
- }
-
- void AddressTrackerLinux::AbortAndForceOnline() {
-@@ -285,6 +289,7 @@ void AddressTrackerLinux::AbortAndForceOnline() {
- connection_type_initialized_cv_.Broadcast();
- }
-
-+#if !defined(OS_BSD)
- AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const {
- AddressTrackerAutoLock lock(*this, address_map_lock_);
- return address_map_;
-@@ -303,6 +308,7 @@ bool AddressTrackerLinux::IsInterfaceIgnored(int inter
- const char* interface_name = get_interface_name_(interface_index, buf);
- return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end();
- }
-+#endif // !OS_BSD
-
- NetworkChangeNotifier::ConnectionType
- AddressTrackerLinux::GetCurrentConnectionType() {
-@@ -361,6 +367,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu
- bool* address_changed,
- bool* link_changed,
- bool* tunnel_changed) {
-+#if !defined(OS_FREEBSD)
- DCHECK(buffer);
- // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes
- // remaining in |buffer|.
-@@ -473,6 +480,10 @@ void AddressTrackerLinux::HandleMessage(const char* bu
- break;
- }
- }
-+#else // !OS_FREEBSD
-+ NOTIMPLEMENTED();
-+ AbortAndForceOnline();
-+#endif // !OS_FREEBSD
- }
-
- void AddressTrackerLinux::OnFileCanReadWithoutBlocking() {
-@@ -500,6 +511,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
- }
-
- void AddressTrackerLinux::UpdateCurrentConnectionType() {
-+#if !defined(OS_FREEBSD)
- AddressTrackerLinux::AddressMap address_map = GetAddressMap();
- std::unordered_set<int> online_links = GetOnlineLinks();
-
-@@ -525,6 +537,9 @@ void AddressTrackerLinux::UpdateCurrentConnectionType(
-
- AddressTrackerAutoLock lock(*this, connection_type_lock_);
- current_connection_type_ = type;
-+#else
-+ NOTIMPLEMENTED();
-+#endif
- }
-
- int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() {
diff --git a/devel/electron11/files/patch-net_base_network__change__notifier.cc b/devel/electron11/files/patch-net_base_network__change__notifier.cc
deleted file mode 100644
index 3fcd63cf2d36..000000000000
--- a/devel/electron11/files/patch-net_base_network__change__notifier.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- net/base/network_change_notifier.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/base/network_change_notifier.cc
-@@ -36,7 +36,7 @@
- #include "net/base/network_change_notifier_linux.h"
- #elif defined(OS_APPLE)
- #include "net/base/network_change_notifier_mac.h"
--#elif defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#elif defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include "net/base/network_change_notifier_posix.h"
- #elif defined(OS_FUCHSIA)
- #include "net/base/network_change_notifier_fuchsia.h"
-@@ -249,8 +249,11 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
- #elif defined(OS_FUCHSIA)
- return std::make_unique<NetworkChangeNotifierFuchsia>(
- fuchsia::hardware::ethernet::Features());
-+#elif defined(OS_BSD)
-+ return std::make_unique<MockNetworkChangeNotifier>(
-+ std::make_unique<SystemDnsConfigChangeNotifier>(
-+ nullptr /* task_runner */, nullptr /* dns_config_service */));
- #else
-- NOTIMPLEMENTED();
- return NULL;
- #endif
- }
diff --git a/devel/electron11/files/patch-net_base_network__interfaces__posix.h b/devel/electron11/files/patch-net_base_network__interfaces__posix.h
deleted file mode 100644
index 96360730903f..000000000000
--- a/devel/electron11/files/patch-net_base_network__interfaces__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/base/network_interfaces_posix.h.orig 2021-01-07 00:36:38 UTC
-+++ net/base/network_interfaces_posix.h
-@@ -8,6 +8,8 @@
- // This file provides some basic functionality shared between
- // network_interfaces_linux.cc and network_interfaces_getifaddrs.cc.
-
-+#include <sys/socket.h>
-+
- #include <string>
-
- struct sockaddr;
diff --git a/devel/electron11/files/patch-net_dns_dns__util.cc b/devel/electron11/files/patch-net_dns_dns__util.cc
deleted file mode 100644
index 350d5a6b35f8..000000000000
--- a/devel/electron11/files/patch-net_dns_dns__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/dns_util.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/dns/dns_util.cc
-@@ -39,6 +39,8 @@ const uint16_t kFlagNamePointer = 0xc000;
-
- } // namespace
-
-+#include <sys/socket.h>
-+
- #if defined(OS_POSIX)
- #include <netinet/in.h>
- #if !defined(OS_NACL)
diff --git a/devel/electron11/files/patch-net_nqe_network__quality__estimator.cc b/devel/electron11/files/patch-net_nqe_network__quality__estimator.cc
deleted file mode 100644
index 08ddfa294a22..000000000000
--- a/devel/electron11/files/patch-net_nqe_network__quality__estimator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/nqe/network_quality_estimator.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/nqe/network_quality_estimator.cc
-@@ -108,7 +108,7 @@ nqe::internal::NetworkID DoGetCurrentNetworkID(
- case NetworkChangeNotifier::ConnectionType::CONNECTION_ETHERNET:
- break;
- case NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI:
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_WIN)
- network_id.id = GetWifiSSID();
- #endif
diff --git a/devel/electron11/files/patch-net_nqe_network__quality__estimator__unittest.cc b/devel/electron11/files/patch-net_nqe_network__quality__estimator__unittest.cc
deleted file mode 100644
index 1b56981f2505..000000000000
--- a/devel/electron11/files/patch-net_nqe_network__quality__estimator__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/nqe/network_quality_estimator_unittest.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/nqe/network_quality_estimator_unittest.cc
-@@ -2114,7 +2114,7 @@ TEST_F(NetworkQualityEstimatorTest, TestGlobalSocketWa
- // TestTCPSocketRTT requires kernel support for tcp_info struct, and so it is
- // enabled only on certain platforms.
- // ChromeOS is disabled due to crbug.com/986904
--#if (defined(TCP_INFO) || defined(OS_LINUX) || defined(OS_ANDROID)) && \
-+#if (defined(TCP_INFO) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)) && \
- !defined(OS_CHROMEOS)
- #define MAYBE_TestTCPSocketRTT TestTCPSocketRTT
- #else
diff --git a/devel/electron11/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc b/devel/electron11/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
deleted file mode 100644
index 8f8bab7b69c9..000000000000
--- a/devel/electron11/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2021-01-07 00:36:38 UTC
-+++ net/proxy_resolution/configured_proxy_resolution_service.cc
-@@ -46,7 +46,7 @@
- #elif defined(OS_MAC)
- #include "net/proxy_resolution/proxy_config_service_mac.h"
- #include "net/proxy_resolution/proxy_resolver_mac.h"
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "net/proxy_resolution/proxy_config_service_linux.h"
- #elif defined(OS_ANDROID)
- #include "net/proxy_resolution/proxy_config_service_android.h"
-@@ -60,7 +60,7 @@ namespace net {
- namespace {
-
- #if defined(OS_WIN) || defined(OS_APPLE) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
- net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
- semantics {
-@@ -1408,7 +1408,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon
- << "profile_io_data.cc::CreateProxyConfigService and this should "
- << "be used only for examples.";
- return std::make_unique<UnsetProxyConfigService>();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- std::unique_ptr<ProxyConfigServiceLinux> linux_config_service(
- new ProxyConfigServiceLinux());
-
diff --git a/devel/electron11/files/patch-net_socket_udp__socket__posix.cc b/devel/electron11/files/patch-net_socket_udp__socket__posix.cc
deleted file mode 100644
index 00d90ce97a39..000000000000
--- a/devel/electron11/files/patch-net_socket_udp__socket__posix.cc
+++ /dev/null
@@ -1,82 +0,0 @@
---- net/socket/udp_socket_posix.cc.orig 2021-01-07 00:36:39 UTC
-+++ net/socket/udp_socket_posix.cc
-@@ -70,6 +70,32 @@ const int kActivityMonitorMinimumSamplesForThroughputE
- const base::TimeDelta kActivityMonitorMsThreshold =
- base::TimeDelta::FromMilliseconds(100);
-
-+#if defined(OS_BSD)
-+int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) {
-+ if (!index) {
-+ *address = htonl(INADDR_ANY);
-+ return OK;
-+ }
-+
-+ sockaddr_in* result = nullptr;
-+
-+ ifreq ifr;
-+ ifr.ifr_addr.sa_family = AF_INET;
-+ if (!if_indextoname(index, ifr.ifr_name))
-+ return MapSystemError(errno);
-+ int rv = ioctl(socket, SIOCGIFADDR, &ifr);
-+ if (rv == -1)
-+ return MapSystemError(errno);
-+ result = reinterpret_cast<sockaddr_in*>(&ifr.ifr_addr);
-+
-+ if (!result)
-+ return ERR_ADDRESS_INVALID;
-+
-+ *address = result->sin_addr.s_addr;
-+ return OK;
-+}
-+#endif
-+
- #if defined(OS_MAC)
-
- // On OSX the file descriptor is guarded to detect the cause of
-@@ -622,13 +648,13 @@ int UDPSocketPosix::SetDoNotFragment() {
- }
-
- void UDPSocketPosix::SetMsgConfirm(bool confirm) {
--#if !defined(OS_APPLE)
-+#if !defined(OS_APPLE) && !defined(OS_BSD)
- if (confirm) {
- sendto_flags_ |= MSG_CONFIRM;
- } else {
- sendto_flags_ &= ~MSG_CONFIRM;
- }
--#endif // !defined(OS_APPLE)
-+#endif // !defined(OS_APPLE) && !defined(OS_BSD)
- }
-
- int UDPSocketPosix::AllowAddressReuse() {
-@@ -917,7 +943,11 @@ int UDPSocketPosix::SetMulticastOptions() {
- mreq.imr_ifindex = multicast_interface_;
- mreq.imr_address.s_addr = htonl(INADDR_ANY);
- int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#if defined(OS_BSD)
-+ reinterpret_cast<const char*>(&mreq.imr_address.s_addr), sizeof(mreq.imr_address.s_addr));
-+#else
- reinterpret_cast<const char*>(&mreq), sizeof(mreq));
-+#endif
- if (rv)
- return MapSystemError(errno);
- break;
-@@ -1018,9 +1048,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_
- case IPAddress::kIPv4AddressSize: {
- if (addr_family_ != AF_INET)
- return ERR_ADDRESS_INVALID;
-+#if defined(OS_BSD)
-+ ip_mreq mreq = {};
-+ int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
-+ &mreq.imr_interface.s_addr);
-+
-+ if (error != OK)
-+ return error;
-+#else
- ip_mreqn mreq = {};
- mreq.imr_ifindex = multicast_interface_;
- mreq.imr_address.s_addr = INADDR_ANY;
-+#endif
- memcpy(&mreq.imr_multiaddr, group_address.bytes().data(),
- IPAddress::kIPv4AddressSize);
- int rv = setsockopt(socket_, IPPROTO_IP, IP_DROP_MEMBERSHIP,
diff --git a/devel/electron11/files/patch-net_traffic__annotation_network__traffic__annotation.h b/devel/electron11/files/patch-net_traffic__annotation_network__traffic__annotation.h
deleted file mode 100644
index ce5dc88b87ca..000000000000
--- a/devel/electron11/files/patch-net_traffic__annotation_network__traffic__annotation.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/traffic_annotation/network_traffic_annotation.h.orig 2021-01-07 00:36:39 UTC
-+++ net/traffic_annotation/network_traffic_annotation.h
-@@ -359,7 +359,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
- } // namespace net
-
- // Placeholder for unannotated usages.
--#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \
- net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.")
- #endif
-@@ -370,7 +370,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
- //
- // On Linux and Windows, use MISSING_TRAFFIC_ANNOTATION or
- // TRAFFIC_ANNOTATION_FOR_TESTS.
--#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS)
-+#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS)
- #define NO_TRAFFIC_ANNOTATION_YET \
- net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.")
-
diff --git a/devel/electron11/files/patch-net_url__request_url__fetcher.cc b/devel/electron11/files/patch-net_url__request_url__fetcher.cc
deleted file mode 100644
index 4f66b06febc6..000000000000
--- a/devel/electron11/files/patch-net_url__request_url__fetcher.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.cc.orig 2021-01-07 00:36:39 UTC
-+++ net/url_request/url_fetcher.cc
-@@ -21,7 +21,7 @@ void URLFetcher::SetIgnoreCertificateRequests(bool ign
- URLFetcherImpl::SetIgnoreCertificateRequests(ignored);
- }
-
--#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS)
-+#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS)
- // static
- std::unique_ptr<URLFetcher> URLFetcher::Create(
- const GURL& url,
diff --git a/devel/electron11/files/patch-net_url__request_url__fetcher.h b/devel/electron11/files/patch-net_url__request_url__fetcher.h
deleted file mode 100644
index 3f6ae9dc26eb..000000000000
--- a/devel/electron11/files/patch-net_url__request_url__fetcher.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.h.orig 2021-01-07 00:36:39 UTC
-+++ net/url_request/url_fetcher.h
-@@ -355,7 +355,7 @@ class NET_EXPORT URLFetcher {
- // The unannotated Create() methods are not available on desktop Linux +
- // Windows. They are available on other platforms, since we only audit network
- // annotations on Linux & Windows.
--#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS)
-+#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS)
- // |url| is the URL to send the request to. It must be valid.
- // |request_type| is the type of request to make.
- // |d| the object that will receive the callback on fetch completion.
diff --git a/devel/electron11/files/patch-net_url__request_url__request__context.cc b/devel/electron11/files/patch-net_url__request_url__request__context.cc
deleted file mode 100644
index c1d97f343f96..000000000000
--- a/devel/electron11/files/patch-net_url__request_url__request__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_request_context.cc.orig 2021-01-07 00:36:39 UTC
-+++ net/url_request/url_request_context.cc
-@@ -91,7 +91,7 @@ const HttpNetworkSession::Context* URLRequestContext::
- return &network_session->context();
- }
-
--#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS)
-+#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS)
- std::unique_ptr<URLRequest> URLRequestContext::CreateRequest(
- const GURL& url,
- RequestPriority priority,
diff --git a/devel/electron11/files/patch-net_url__request_url__request__context.h b/devel/electron11/files/patch-net_url__request_url__request__context.h
deleted file mode 100644
index 1ee857533f79..000000000000
--- a/devel/electron11/files/patch-net_url__request_url__request__context.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_request_context.h.orig 2021-01-07 00:36:39 UTC
-+++ net/url_request/url_request_context.h
-@@ -83,7 +83,7 @@ class NET_EXPORT URLRequestContext
- // session.
- const HttpNetworkSession::Context* GetNetworkSessionContext() const;
-
--#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS)
-+#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS)
- // This function should not be used in Chromium, please use the version with
- // NetworkTrafficAnnotationTag in the future.
- //
diff --git a/devel/electron11/files/patch-net_url__request_url__request__context__builder.cc b/devel/electron11/files/patch-net_url__request_url__request__context__builder.cc
deleted file mode 100644
index a9c21ee5a4dd..000000000000
--- a/devel/electron11/files/patch-net_url__request_url__request__context__builder.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/url_request/url_request_context_builder.cc.orig 2021-01-07 00:36:39 UTC
-+++ net/url_request/url_request_context_builder.cc
-@@ -497,7 +497,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
- }
-
- if (!proxy_resolution_service_) {
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD)
- // TODO(willchan): Switch to using this code when
- // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s
- // signature doesn't suck.
-@@ -506,7 +506,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
- ConfiguredProxyResolutionService::CreateSystemProxyConfigService(
- base::ThreadTaskRunnerHandle::Get().get());
- }
--#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
-+#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD)
- proxy_resolution_service_ = CreateProxyResolutionService(
- std::move(proxy_config_service_), context.get(),
- context->host_resolver(), context->network_delegate(),
diff --git a/devel/electron11/files/patch-pdf_pdfium_pdfium__engine.cc b/devel/electron11/files/patch-pdf_pdfium_pdfium__engine.cc
deleted file mode 100644
index 61f97a43a720..000000000000
--- a/devel/electron11/files/patch-pdf_pdfium_pdfium__engine.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- pdf/pdfium/pdfium_engine.cc.orig 2021-01-07 00:36:39 UTC
-+++ pdf/pdfium/pdfium_engine.cc
-@@ -69,7 +69,7 @@
- #include "ui/gfx/geometry/vector2d.h"
- #include "v8/include/v8.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "pdf/pdfium/pdfium_font_linux.h"
- #endif
-
-@@ -416,7 +416,7 @@ void InitializeSDK(bool enable_v8) {
-
- FPDF_InitLibraryWithConfig(&config);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- InitializeLinuxFontMapper();
- #endif
-
-@@ -475,7 +475,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client,
- IFSDK_PAUSE::user = nullptr;
- IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // PreviewModeClient does not know its pp::Instance.
- SetLastInstance(client_->GetPluginInstance());
- #endif
-@@ -948,7 +948,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf(
-
- KillFormFocus();
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
-
-@@ -3042,7 +3042,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index
- DCHECK_LT(static_cast<size_t>(progressive_index), progressive_paints_.size());
-
- last_progressive_start_time_ = base::Time::Now();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
-
-@@ -3529,7 +3529,7 @@ void PDFiumEngine::SetCurrentPage(int index) {
- FORM_DoPageAAction(old_page, form(), FPDFPAGE_AACTION_CLOSE);
- }
- most_visible_page_ = index;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
- if (most_visible_page_ != -1 && called_do_document_action_) {
diff --git a/devel/electron11/files/patch-ppapi_proxy_flash__resource.cc b/devel/electron11/files/patch-ppapi_proxy_flash__resource.cc
deleted file mode 100644
index 8466f87d807f..000000000000
--- a/devel/electron11/files/patch-ppapi_proxy_flash__resource.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ppapi/proxy/flash_resource.cc.orig 2021-01-07 00:36:39 UTC
-+++ ppapi/proxy/flash_resource.cc
-@@ -136,7 +136,7 @@ double FlashResource::GetLocalTimeZoneOffset(PP_Instan
- // require filesystem access prohibited by the sandbox.
- // TODO(shess): Figure out why OSX needs the access, the sandbox warmup should
- // handle it. http://crbug.com/149006
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
- int32_t result = SyncCall<PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply>(
- BROWSER,
- PpapiHostMsg_Flash_GetLocalTimeZoneOffset(PPTimeToTime(t)),
diff --git a/devel/electron11/files/patch-printing_print__settings.cc b/devel/electron11/files/patch-printing_print__settings.cc
deleted file mode 100644
index 8c1d3179ad50..000000000000
--- a/devel/electron11/files/patch-printing_print__settings.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- printing/print_settings.cc.orig 2021-01-07 00:36:39 UTC
-+++ printing/print_settings.cc
-@@ -277,9 +277,9 @@ void PrintSettings::Clear() {
- #endif
- is_modifiable_ = true;
- pages_per_sheet_ = 1;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- advanced_settings_.clear();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- send_user_info_ = false;
- username_.clear();
diff --git a/devel/electron11/files/patch-printing_print__settings.h b/devel/electron11/files/patch-printing_print__settings.h
deleted file mode 100644
index 75a2310375d5..000000000000
--- a/devel/electron11/files/patch-printing_print__settings.h
+++ /dev/null
@@ -1,56 +0,0 @@
---- printing/print_settings.h.orig 2021-01-07 00:36:39 UTC
-+++ printing/print_settings.h
-@@ -19,11 +19,11 @@
- #include "ui/gfx/geometry/rect.h"
- #include "ui/gfx/geometry/size.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <map>
-
- #include "base/values.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace printing {
-
-@@ -80,9 +80,9 @@ class PRINTING_EXPORT PrintSettings {
- }
- };
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- using AdvancedSettings = std::map<std::string, base::Value>;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- PrintSettings();
- PrintSettings(const PrintSettings&) = delete;
-@@ -221,12 +221,12 @@ class PRINTING_EXPORT PrintSettings {
- pages_per_sheet_ = pages_per_sheet;
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- AdvancedSettings& advanced_settings() { return advanced_settings_; }
- const AdvancedSettings& advanced_settings() const {
- return advanced_settings_;
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- void set_send_user_info(bool send_user_info) {
-@@ -320,10 +320,10 @@ class PRINTING_EXPORT PrintSettings {
- // Number of pages per sheet.
- int pages_per_sheet_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Advanced settings.
- AdvancedSettings advanced_settings_;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // Whether to send user info.
diff --git a/devel/electron11/files/patch-printing_print__settings__conversion.cc b/devel/electron11/files/patch-printing_print__settings__conversion.cc
deleted file mode 100644
index 14823485dd73..000000000000
--- a/devel/electron11/files/patch-printing_print__settings__conversion.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- printing/print_settings_conversion.cc.orig 2021-01-07 00:36:39 UTC
-+++ printing/print_settings_conversion.cc
-@@ -182,7 +182,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
- return nullptr;
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- base::Optional<int> dpi_horizontal =
- job_settings.FindIntKey(kSettingDpiHorizontal);
- base::Optional<int> dpi_vertical =
-@@ -212,14 +212,14 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
- #endif
- }
-
--#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS))
-+#if defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS))
- const base::Value* advanced_settings =
- job_settings.FindDictKey(kSettingAdvancedSettings);
- if (advanced_settings) {
- for (const auto& item : advanced_settings->DictItems())
- settings->advanced_settings().emplace(item.first, item.second.Clone());
- }
--#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS))
-+#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS))
-
- #if defined(OS_CHROMEOS)
- bool send_user_info =
diff --git a/devel/electron11/files/patch-printing_printing__features.cc b/devel/electron11/files/patch-printing_printing__features.cc
deleted file mode 100644
index 2ee13e444609..000000000000
--- a/devel/electron11/files/patch-printing_printing__features.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- printing/printing_features.cc.orig 2021-01-07 00:36:39 UTC
-+++ printing/printing_features.cc
-@@ -47,13 +47,13 @@ bool ShouldPrintUsingXps(bool source_is_pdf) {
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Enables printing interactions with the operating system to be performed
- // out-of-process.
- const base::Feature kEnableOopPrintDrivers{"EnableOopPrintDrivers",
- base::FEATURE_DISABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- } // namespace features
diff --git a/devel/electron11/files/patch-printing_printing__features.h b/devel/electron11/files/patch-printing_printing__features.h
deleted file mode 100644
index 5e8aecbfab48..000000000000
--- a/devel/electron11/files/patch-printing_printing__features.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- printing/printing_features.h.orig 2021-01-07 00:36:39 UTC
-+++ printing/printing_features.h
-@@ -37,10 +37,10 @@ PRINTING_EXPORT bool IsXpsPrintCapabilityRequired();
- PRINTING_EXPORT bool ShouldPrintUsingXps(bool source_is_pdf);
- #endif // defined(OS_WIN)
-
--#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- PRINTING_EXPORT extern const base::Feature kEnableOopPrintDrivers;
--#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- } // namespace features
diff --git a/devel/electron11/files/patch-remoting_base_chromoting__event.cc b/devel/electron11/files/patch-remoting_base_chromoting__event.cc
deleted file mode 100644
index 61eb69105236..000000000000
--- a/devel/electron11/files/patch-remoting_base_chromoting__event.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/base/chromoting_event.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/base/chromoting_event.cc
-@@ -188,7 +188,7 @@ void ChromotingEvent::AddSystemInfo() {
- SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture());
- SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion());
- SetString(kWebAppVersionKey, STRINGIZE(VERSION));
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- Os os = Os::CHROMOTING_LINUX;
- #elif defined(OS_CHROMEOS)
- Os os = Os::CHROMOTING_CHROMEOS;
diff --git a/devel/electron11/files/patch-remoting_host_evaluate__capability.cc b/devel/electron11/files/patch-remoting_host_evaluate__capability.cc
deleted file mode 100644
index a23b9296df4c..000000000000
--- a/devel/electron11/files/patch-remoting_host_evaluate__capability.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/evaluate_capability.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/host/evaluate_capability.cc
-@@ -51,7 +51,7 @@ base::FilePath BuildHostBinaryPath() {
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (path.BaseName().value() ==
- FILE_PATH_LITERAL("chrome-remote-desktop-host")) {
- return path;
diff --git a/devel/electron11/files/patch-remoting_host_host__details.cc b/devel/electron11/files/patch-remoting_host_host__details.cc
deleted file mode 100644
index 257964797708..000000000000
--- a/devel/electron11/files/patch-remoting_host_host__details.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/host_details.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/host/host_details.cc
-@@ -22,7 +22,7 @@ std::string GetHostOperatingSystemName() {
- return "Mac";
- #elif defined(OS_CHROMEOS)
- return "ChromeOS";
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return "Linux";
- #elif defined(OS_ANDROID)
- return "Android";
diff --git a/devel/electron11/files/patch-remoting_host_host__main.cc b/devel/electron11/files/patch-remoting_host_host__main.cc
deleted file mode 100644
index 7bbb82317fbf..000000000000
--- a/devel/electron11/files/patch-remoting_host_host__main.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- remoting/host/host_main.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/host/host_main.cc
-@@ -48,9 +48,9 @@ int DesktopProcessMain();
- int FileChooserMain();
- int RdpDesktopSessionMain();
- #endif // defined(OS_WIN)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- int XSessionChooserMain();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- namespace {
-
-@@ -143,10 +143,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
- } else if (process_type == kProcessTypeRdpDesktopSession) {
- main_routine = &RdpDesktopSessionMain;
- #endif // defined(OS_WIN)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- } else if (process_type == kProcessTypeXSessionChooser) {
- main_routine = &XSessionChooserMain;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- return main_routine;
diff --git a/devel/electron11/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/devel/electron11/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
deleted file mode 100644
index f6b122ed1d38..000000000000
--- a/devel/electron11/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
+++ /dev/null
@@ -1,36 +0,0 @@
---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/host/it2me/it2me_native_messaging_host_main.cc
-@@ -29,13 +29,13 @@
- #include "remoting/host/switches.h"
- #include "remoting/host/usage_stats_consent.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <gtk/gtk.h>
-
- #include "base/linux_util.h"
- #include "ui/events/platform/x11/x11_event_source.h"
- #include "ui/gfx/x/x11.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_APPLE)
- #include "base/mac/mac_util.h"
-@@ -113,7 +113,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
-
- remoting::LoadResources("");
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Required in order for us to run multiple X11 threads.
- XInitThreads();
-
-@@ -134,7 +134,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
- // Need to prime the host OS version value for linux to prevent IO on the
- // network thread. base::GetLinuxDistro() caches the result.
- base::GetLinuxDistro();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- base::File read_file;
- base::File write_file;
diff --git a/devel/electron11/files/patch-remoting_host_remoting__me2me__host.cc b/devel/electron11/files/patch-remoting_host_remoting__me2me__host.cc
deleted file mode 100644
index 91053823b418..000000000000
--- a/devel/electron11/files/patch-remoting_host_remoting__me2me__host.cc
+++ /dev/null
@@ -1,97 +0,0 @@
---- remoting/host/remoting_me2me_host.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/host/remoting_me2me_host.cc
-@@ -118,7 +118,7 @@
- #include "remoting/host/mac/permission_utils.h"
- #endif // defined(OS_APPLE)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <gtk/gtk.h>
-
- #include "base/linux_util.h"
-@@ -126,7 +126,7 @@
- #include "remoting/host/linux/certificate_watcher.h"
- #include "ui/events/platform/x11/x11_event_source.h"
- #include "ui/gfx/x/x11.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- #include <commctrl.h>
-@@ -161,11 +161,11 @@ const char kApplicationName[] = "chromoting";
- const char kStdinConfigPath[] = "-";
- #endif // !defined(REMOTING_MULTI_PROCESS)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The command line switch used to pass name of the pipe to capture audio on
- // linux.
- const char kAudioPipeSwitchName[] = "audio-pipe-name";
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- // The command line switch used to pass name of the unix domain socket used to
-@@ -362,7 +362,7 @@ class HostProcess : public ConfigWatcher::Delegate,
-
- std::unique_ptr<ChromotingHostContext> context_;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Watch for certificate changes and kill the host when changes occur
- std::unique_ptr<CertificateWatcher> cert_watcher_;
- #endif
-@@ -761,7 +761,7 @@ void HostProcess::CreateAuthenticatorFactory() {
- DCHECK(third_party_auth_config_.token_url.is_valid());
- DCHECK(third_party_auth_config_.token_validation_url.is_valid());
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (!cert_watcher_) {
- cert_watcher_ = std::make_unique<CertificateWatcher>(
- base::BindRepeating(&HostProcess::ShutdownHost, this,
-@@ -848,7 +848,7 @@ void HostProcess::StartOnUiThread() {
- base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
- base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this)));
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // If an audio pipe is specific on the command-line then initialize
- // AudioCapturerLinux to capture from it.
- base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()->
-@@ -857,7 +857,7 @@ void HostProcess::StartOnUiThread() {
- remoting::AudioCapturerLinux::InitializePipeReader(
- context_->audio_task_runner(), audio_pipe_name);
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- base::FilePath security_key_socket_name =
-@@ -906,7 +906,7 @@ void HostProcess::ShutdownOnUiThread() {
- // It is now safe for the HostProcess to be deleted.
- self_ = nullptr;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Cause the global AudioPipeReader to be freed, otherwise the audio
- // thread will remain in-use and prevent the process from exiting.
- // TODO(wez): DesktopEnvironmentFactory should own the pipe reader.
-@@ -1512,7 +1512,7 @@ void HostProcess::StartHost() {
- host_->AddExtension(std::make_unique<TestEchoExtension>());
-
- // TODO(simonmorris): Get the maximum session duration from a policy.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20));
- #endif
-
-@@ -1687,7 +1687,7 @@ void HostProcess::OnCrash(const std::string& function_
- int HostProcessMain() {
- HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::unique_ptr<ui::X11EventSource> event_source;
- if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
- kReportOfflineReasonSwitchName)) {
diff --git a/devel/electron11/files/patch-remoting_resources_remoting__strings.grd b/devel/electron11/files/patch-remoting_resources_remoting__strings.grd
deleted file mode 100644
index 01effd096eee..000000000000
--- a/devel/electron11/files/patch-remoting_resources_remoting__strings.grd
+++ /dev/null
@@ -1,20 +0,0 @@
---- remoting/resources/remoting_strings.grd.orig 2021-01-07 00:36:39 UTC
-+++ remoting/resources/remoting_strings.grd
-@@ -880,7 +880,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
- Open Screen Recording Preferences
- </message>
- </if>
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog.">
- Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.)
- </message>
-@@ -896,7 +896,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
- <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session.">
- Launch the default XSession
- </message>
-- </if> <!-- is_linux -->
-+ </if> <!-- is_posix -->
- </messages>
- </release>
- </grit>
diff --git a/devel/electron11/files/patch-remoting_test_it2me__standalone__host__main.cc b/devel/electron11/files/patch-remoting_test_it2me__standalone__host__main.cc
deleted file mode 100644
index ca168b73b759..000000000000
--- a/devel/electron11/files/patch-remoting_test_it2me__standalone__host__main.cc
+++ /dev/null
@@ -1,35 +0,0 @@
---- remoting/test/it2me_standalone_host_main.cc.orig 2021-01-07 00:36:39 UTC
-+++ remoting/test/it2me_standalone_host_main.cc
-@@ -9,20 +9,20 @@
- #include "remoting/proto/event.pb.h"
- #include "remoting/test/it2me_standalone_host.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include <gtk/gtk.h>
-
- #include "base/linux_util.h"
- #include "ui/events/platform/x11/x11_event_source.h"
- #include "ui/gfx/x/x11.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- int main(int argc, const char** argv) {
- base::AtExitManager at_exit_manager;
- base::CommandLine::Init(argc, argv);
- remoting::test::It2MeStandaloneHost host;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Required in order for us to run multiple X11 threads.
- XInitThreads();
-
-@@ -43,7 +43,7 @@ int main(int argc, const char** argv) {
- // Need to prime the host OS version value for linux to prevent IO on the
- // network thread. base::GetLinuxDistro() caches the result.
- base::GetLinuxDistro();
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- remoting::LoadResources("");
- host.StartOutputTimer();
- host.Run();
diff --git a/devel/electron11/files/patch-sandbox_policy_BUILD.gn b/devel/electron11/files/patch-sandbox_policy_BUILD.gn
deleted file mode 100644
index fb03a80deaa8..000000000000
--- a/devel/electron11/files/patch-sandbox_policy_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- sandbox/policy/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ sandbox/policy/BUILD.gn
-@@ -27,7 +27,7 @@ component("policy") {
- "//sandbox:common",
- ]
- public_deps = []
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "linux/bpf_audio_policy_linux.cc",
- "linux/bpf_audio_policy_linux.h",
diff --git a/devel/electron11/files/patch-sandbox_policy_switches.cc b/devel/electron11/files/patch-sandbox_policy_switches.cc
deleted file mode 100644
index d216ef8e65c6..000000000000
--- a/devel/electron11/files/patch-sandbox_policy_switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- sandbox/policy/switches.cc.orig 2021-01-07 00:36:39 UTC
-+++ sandbox/policy/switches.cc
-@@ -81,7 +81,7 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
- // Meant to be used as a browser-level switch for testing purposes only.
- const char kNoSandbox[] = "no-sandbox";
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Instructs the zygote to launch without a sandbox. Processes forked from this
- // type of zygote will apply their own custom sandboxes later.
- const char kNoZygoteSandbox[] = "no-zygote-sandbox";
diff --git a/devel/electron11/files/patch-sandbox_policy_switches.h b/devel/electron11/files/patch-sandbox_policy_switches.h
deleted file mode 100644
index 12c95a3ebe7b..000000000000
--- a/devel/electron11/files/patch-sandbox_policy_switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- sandbox/policy/switches.h.orig 2021-01-07 00:36:39 UTC
-+++ sandbox/policy/switches.h
-@@ -53,7 +53,7 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
- SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[];
- SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[];
- SANDBOX_POLICY_EXPORT extern const char kNoSandbox[];
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[];
- #endif
- #if defined(OS_WIN)
diff --git a/devel/electron11/files/patch-services_audio_BUILD.gn b/devel/electron11/files/patch-services_audio_BUILD.gn
deleted file mode 100644
index 2f7eb34b414a..000000000000
--- a/devel/electron11/files/patch-services_audio_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/audio/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/audio/BUILD.gn
-@@ -73,7 +73,7 @@ source_set("audio") {
- "//services/audio/public/mojom",
- ]
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- sources += [
- "audio_sandbox_hook_linux.cc",
- "audio_sandbox_hook_linux.h",
diff --git a/devel/electron11/files/patch-services_device_hid_BUILD.gn b/devel/electron11/files/patch-services_device_hid_BUILD.gn
deleted file mode 100644
index 932d40bae6a3..000000000000
--- a/devel/electron11/files/patch-services_device_hid_BUILD.gn
+++ /dev/null
@@ -1,18 +0,0 @@
---- services/device/hid/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/device/hid/BUILD.gn
-@@ -43,6 +43,15 @@ source_set("hid") {
- deps += [ "//device/udev_linux" ]
- }
-
-+ if (is_bsd) {
-+ sources += [
-+ "hid_connection_freebsd.cc",
-+ "hid_connection_freebsd.h",
-+ "hid_service_freebsd.cc",
-+ "hid_service_freebsd.h",
-+ ]
-+ }
-+
- if (is_chromeos) {
- deps += [ "//chromeos/dbus/permission_broker" ]
- }
diff --git a/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.cc b/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.cc
deleted file mode 100644
index 5a9f4bdee20d..000000000000
--- a/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.cc
+++ /dev/null
@@ -1,243 +0,0 @@
---- services/device/hid/hid_connection_freebsd.cc.orig 2021-01-25 11:28:21 UTC
-+++ services/device/hid/hid_connection_freebsd.cc
-@@ -0,0 +1,240 @@
-+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#include "services/device/hid/hid_connection_freebsd.h"
-+
-+#include <dev/usb/usbhid.h>
-+#include <dev/usb/usb_ioctl.h>
-+
-+#include "base/bind.h"
-+#include "base/files/file_descriptor_watcher_posix.h"
-+#include "base/location.h"
-+#include "base/numerics/safe_math.h"
-+#include "base/posix/eintr_wrapper.h"
-+#include "base/single_thread_task_runner.h"
-+#include "base/strings/stringprintf.h"
-+#include "base/task/post_task.h"
-+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_restrictions.h"
-+#include "base/threading/thread_task_runner_handle.h"
-+#include "components/device_event_log/device_event_log.h"
-+#include "services/device/hid/hid_service.h"
-+
-+namespace device {
-+
-+class HidConnectionFreeBSD::BlockingTaskRunnerHelper {
-+ public:
-+ BlockingTaskRunnerHelper(base::ScopedFD fd,
-+ scoped_refptr<HidDeviceInfo> device_info,
-+ base::WeakPtr<HidConnectionFreeBSD> connection)
-+ : fd_(std::move(fd)),
-+ connection_(connection),
-+ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
-+ DETACH_FROM_SEQUENCE(sequence_checker_);
-+ // Report buffers must always have room for the report ID.
-+ report_buffer_size_ = device_info->max_input_report_size() + 1;
-+ has_report_id_ = device_info->has_report_id();
-+ }
-+
-+ ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); }
-+
-+ // Starts the FileDescriptorWatcher that reads input events from the device.
-+ // Must be called on a thread that has a base::MessageLoopForIO.
-+ void Start() {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::internal::AssertBlockingAllowed();
-+
-+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
-+ fd_.get(), base::Bind(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
-+ base::Unretained(this)));
-+ }
-+
-+ void Write(scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+
-+ auto data = buffer->front();
-+ size_t size = buffer->size();
-+ // if report id is 0, it shouldn't be included
-+ if (data[0] == 0) {
-+ data++;
-+ size--;
-+ }
-+
-+ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size));
-+ if (result < 0) {
-+ HID_PLOG(EVENT) << "Write failed";
-+ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false));
-+ } else {
-+ if (static_cast<size_t>(result) != size)
-+ HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size;
-+ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true));
-+ }
-+ }
-+
-+ void GetFeatureReport(uint8_t report_id,
-+ scoped_refptr<base::RefCountedBytes> buffer,
-+ ReadCallback callback) {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ struct usb_gen_descriptor ugd;
-+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
-+ ugd.ugd_data = buffer->front();
-+ ugd.ugd_maxlen = buffer->size();
-+ int result = HANDLE_EINTR(
-+ ioctl(fd_.get(), USB_GET_REPORT, &ugd));
-+ if (result < 0) {
-+ HID_PLOG(EVENT) << "Failed to get feature report";
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), false, nullptr, 0));
-+ } else if (result == 0) {
-+ HID_LOG(EVENT) << "Get feature result too short.";
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), false, nullptr, 0));
-+ } else {
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), true, buffer, result));
-+ }
-+ }
-+
-+ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ struct usb_gen_descriptor ugd;
-+ ugd.ugd_report_type = UHID_FEATURE_REPORT;
-+ ugd.ugd_data = buffer->front();
-+ ugd.ugd_maxlen = buffer->size();
-+ // FreeBSD does not require report id if it's not used
-+ if (buffer->front()[0] == 0) {
-+ ugd.ugd_data = buffer->front() + 1;
-+ ugd.ugd_maxlen = buffer->size() - 1;
-+ } else {
-+ ugd.ugd_data = buffer->front();
-+ ugd.ugd_maxlen = buffer->size();
-+ }
-+ int result = HANDLE_EINTR(
-+ ioctl(fd_.get(), USB_SET_REPORT, &ugd));
-+ if (result < 0) {
-+ HID_PLOG(EVENT) << "Failed to send feature report";
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), false));
-+ } else {
-+ origin_task_runner_->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(callback), true));
-+ }
-+ }
-+
-+ private:
-+ void OnFileCanReadWithoutBlocking() {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+
-+ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_));
-+ unsigned char* data = buffer->front();
-+ size_t length = report_buffer_size_;
-+ if (!has_report_id_) {
-+ // FreeBSD will not prefix the buffer with a report ID if report IDs are not
-+ // used by the device. Prefix the buffer with 0.
-+ *data++ = 0;
-+ length--;
-+ }
-+
-+ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length));
-+ if (bytes_read < 0) {
-+ if (errno != EAGAIN) {
-+ HID_PLOG(EVENT) << "Read failed";
-+ // This assumes that the error is unrecoverable and disables reading
-+ // from the device until it has been re-opened.
-+ // TODO(reillyg): Investigate starting and stopping the file descriptor
-+ // watcher in response to pending read requests so that per-request
-+ // errors can be returned to the client.
-+ file_watcher_.reset();
-+ }
-+ return;
-+ }
-+ if (!has_report_id_) {
-+ // Behave as if the byte prefixed above as the the report ID was read.
-+ bytes_read++;
-+ }
-+
-+ origin_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport,
-+ connection_, buffer, bytes_read));
-+ }
-+
-+ SEQUENCE_CHECKER(sequence_checker_);
-+ base::ScopedFD fd_;
-+ size_t report_buffer_size_;
-+ bool has_report_id_;
-+ base::WeakPtr<HidConnectionFreeBSD> connection_;
-+ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
-+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
-+};
-+
-+HidConnectionFreeBSD::HidConnectionFreeBSD(
-+ scoped_refptr<HidDeviceInfo> device_info,
-+ base::ScopedFD fd,
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner)
-+ : HidConnection(device_info),
-+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)),
-+ blocking_task_runner_(std::move(blocking_task_runner)) {
-+ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info,
-+ weak_factory_.GetWeakPtr()));
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
-+ base::Unretained(helper_.get())));
-+}
-+
-+HidConnectionFreeBSD::~HidConnectionFreeBSD() {}
-+
-+void HidConnectionFreeBSD::PlatformClose() {
-+ // By closing the device on the blocking task runner 1) the requirement that
-+ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied
-+ // and 2) any tasks posted to this task runner that refer to this file will
-+ // complete before it is closed.
-+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
-+}
-+
-+void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) {
-+
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&BlockingTaskRunnerHelper::Write, base::Unretained(helper_.get()),
-+ buffer, std::move(callback)));
-+}
-+
-+void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id,
-+ ReadCallback callback) {
-+ // The first byte of the destination buffer is the report ID being requested
-+ // and is overwritten by the feature report.
-+ DCHECK_GT(device_info()->max_feature_report_size(), 0u);
-+ scoped_refptr<base::RefCountedBytes> buffer(
-+ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1));
-+ if (report_id != 0)
-+ buffer->data()[0] = report_id;
-+
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport,
-+ base::Unretained(helper_.get()), report_id,
-+ buffer, std::move(callback)));
-+}
-+
-+void HidConnectionFreeBSD::PlatformSendFeatureReport(
-+ scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) {
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport,
-+ base::Unretained(helper_.get()), buffer, std::move(callback)));
-+}
-+
-+} // namespace device
diff --git a/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.h b/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.h
deleted file mode 100644
index 7c5c327d0c48..000000000000
--- a/devel/electron11/files/patch-services_device_hid_hid__connection__freebsd.h
+++ /dev/null
@@ -1,68 +0,0 @@
---- services/device/hid/hid_connection_freebsd.h.orig 2021-01-25 11:28:21 UTC
-+++ services/device/hid/hid_connection_freebsd.h
-@@ -0,0 +1,65 @@
-+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#ifndef DEVICE_HID_HID_CONNECTION_FREEBSD_H_
-+#define DEVICE_HID_HID_CONNECTION_FREEBSD_H_
-+
-+#include <stddef.h>
-+#include <stdint.h>
-+
-+#include "base/files/scoped_file.h"
-+#include "base/macros.h"
-+#include "base/memory/weak_ptr.h"
-+#include "base/memory/ref_counted_memory.h"
-+#include "base/sequenced_task_runner.h"
-+#include "services/device/hid/hid_connection.h"
-+
-+namespace base {
-+class SequencedTaskRunner;
-+}
-+
-+namespace net {
-+class IOBuffer;
-+}
-+
-+namespace device {
-+
-+class HidConnectionFreeBSD : public HidConnection {
-+ public:
-+ HidConnectionFreeBSD(
-+ scoped_refptr<HidDeviceInfo> device_info,
-+ base::ScopedFD fd,
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner);
-+
-+ private:
-+ friend class base::RefCountedThreadSafe<HidConnectionFreeBSD>;
-+ class BlockingTaskRunnerHelper;
-+
-+ ~HidConnectionFreeBSD() override;
-+
-+ // HidConnection implementation.
-+ void PlatformClose() override;
-+ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) override;
-+ void PlatformGetFeatureReport(uint8_t report_id,
-+ ReadCallback callback) override;
-+ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
-+ WriteCallback callback) override;
-+
-+ // |helper_| lives on the sequence to which |blocking_task_runner_| posts
-+ // tasks so all calls must be posted there including this object's
-+ // destruction.
-+ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
-+
-+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
-+
-+ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_{this};
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD);
-+};
-+
-+} // namespace device
-+
-+#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_
diff --git a/devel/electron11/files/patch-services_device_hid_hid__service.cc b/devel/electron11/files/patch-services_device_hid_hid__service.cc
deleted file mode 100644
index 49e1df3e3780..000000000000
--- a/devel/electron11/files/patch-services_device_hid_hid__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/device/hid/hid_service.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/device/hid/hid_service.cc
-@@ -16,6 +16,8 @@
-
- #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
- #include "services/device/hid/hid_service_linux.h"
-+#elif defined(OS_FREEBSD)
-+#include "services/device/hid/hid_service_freebsd.h"
- #elif defined(OS_MAC)
- #include "services/device/hid/hid_service_mac.h"
- #elif defined(OS_WIN)
-@@ -36,6 +38,8 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
- std::unique_ptr<HidService> HidService::Create() {
- #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
- return base::WrapUnique(new HidServiceLinux());
-+#elif defined(OS_FREEBSD)
-+ return base::WrapUnique(new HidServiceFreeBSD());
- #elif defined(OS_MAC)
- return base::WrapUnique(new HidServiceMac());
- #elif defined(OS_WIN)
diff --git a/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.cc b/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.cc
deleted file mode 100644
index 63103f3e4fb2..000000000000
--- a/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.cc
+++ /dev/null
@@ -1,385 +0,0 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2021-01-25 11:28:21 UTC
-+++ services/device/hid/hid_service_freebsd.cc
-@@ -0,0 +1,382 @@
-+// Copyright 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#include "services/device/hid/hid_service_freebsd.h"
-+
-+#include <dev/usb/usb_ioctl.h>
-+#include <stdint.h>
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+
-+#include <set>
-+#include <string>
-+#include <vector>
-+
-+#include "base/bind.h"
-+#include "base/files/file_descriptor_watcher_posix.h"
-+#include "base/files/file_enumerator.h"
-+#include "base/files/file_util.h"
-+#include "base/files/file.h"
-+#include "base/location.h"
-+#include "base/logging.h"
-+#include "base/posix/eintr_wrapper.h"
-+#include "base/single_thread_task_runner.h"
-+#include "base/stl_util.h"
-+#include "base/strings/pattern.h"
-+#include "base/strings/stringprintf.h"
-+#include "base/strings/sys_string_conversions.h"
-+#include "base/strings/string_util.h"
-+#include "base/strings/string_split.h"
-+#include "base/task/post_task.h"
-+#include "base/threading/scoped_blocking_call.h"
-+#include "base/threading/thread_task_runner_handle.h"
-+#include "components/device_event_log/device_event_log.h"
-+#include "services/device/hid/hid_connection_freebsd.h"
-+
-+const int kMaxPermissionChecks = 5;
-+
-+namespace device {
-+
-+struct HidServiceFreeBSD::ConnectParams {
-+ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
-+ ConnectCallback callback)
-+ : device_info(std::move(device_info)),
-+ callback(std::move(callback)),
-+ task_runner(base::ThreadTaskRunnerHandle::Get()),
-+ blocking_task_runner(
-+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
-+ ~ConnectParams() {}
-+
-+ scoped_refptr<HidDeviceInfo> device_info;
-+ ConnectCallback callback;
-+ scoped_refptr<base::SequencedTaskRunner> task_runner;
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
-+ base::ScopedFD fd;
-+};
-+
-+class HidServiceFreeBSD::BlockingTaskRunnerHelper {
-+ public:
-+ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFreeBSD> service)
-+ : service_(std::move(service)),
-+ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
-+ DETACH_FROM_SEQUENCE(sequence_checker_);
-+
-+ timer_.reset(new base::RepeatingTimer());
-+ devd_buffer_ = new net::IOBufferWithSize(1024);
-+ }
-+
-+ ~BlockingTaskRunnerHelper() {
-+ }
-+
-+ void Start() {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+
-+ const base::FilePath kDevRoot("/dev");
-+ const std::string kUHIDPattern("/dev/uhid*");
-+
-+ base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES);
-+ do {
-+ const base::FilePath next_device_path(enumerator.Next());
-+ const std::string next_device = next_device_path.value();
-+ if (next_device.empty())
-+ break;
-+
-+ if (base::MatchPattern(next_device, kUHIDPattern))
-+ OnDeviceAdded(next_device.substr(5));
-+ } while (true);
-+
-+ SetupDevdMonitor();
-+
-+ task_runner_->PostTask(
-+ FROM_HERE,
-+ base::Bind(&HidServiceFreeBSD::FirstEnumerationComplete, service_));
-+ }
-+
-+ bool HaveReadWritePermissions(std::string device_id) {
-+ std::string device_node = "/dev/" + device_id;
-+ base::internal::AssertBlockingAllowed();
-+
-+ base::FilePath device_path(device_node);
-+ base::File device_file;
-+ int flags =
-+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
-+ device_file.Initialize(device_path, flags);
-+ if (!device_file.IsValid())
-+ return false;
-+
-+ return true;
-+ }
-+
-+ void OnDeviceAdded(std::string device_id) {
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ std::string device_node = "/dev/" + device_id;
-+ uint16_t vendor_id = 0xffff;
-+ uint16_t product_id = 0xffff;
-+ std::string product_name = "";
-+ std::string serial_number = "";
-+
-+ std::vector<uint8_t> report_descriptor;
-+
-+ base::internal::AssertBlockingAllowed();
-+
-+ base::FilePath device_path(device_node);
-+ base::File device_file;
-+ int flags =
-+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
-+ device_file.Initialize(device_path, flags);
-+ if (!device_file.IsValid()) {
-+ HID_LOG(ERROR) << "Failed to open '" << device_node
-+ << "': "
-+ << base::File::ErrorToString(device_file.error_details());
-+ return;
-+ }
-+
-+ base::ScopedFD fd;
-+ fd.reset(device_file.TakePlatformFile());
-+
-+ struct usb_gen_descriptor ugd;
-+ ugd.ugd_data = NULL;
-+ ugd.ugd_maxlen = 0xffff;
-+ int result = HANDLE_EINTR(
-+ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
-+
-+ if (result < 0) {
-+ HID_LOG(ERROR) << "Failed to get report descriptor size";
-+ return;
-+ }
-+
-+ report_descriptor.resize(ugd.ugd_actlen);
-+
-+ ugd.ugd_data = report_descriptor.data();
-+ ugd.ugd_maxlen = ugd.ugd_actlen;
-+ result = HANDLE_EINTR(
-+ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
-+
-+ if (result < 0) {
-+ HID_LOG(ERROR) << "Failed to get report descriptor";
-+ return;
-+ }
-+
-+ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo(
-+ device_id,
-+ /*physical_device_id*/"",
-+ vendor_id,
-+ product_id,
-+ product_name,
-+ serial_number,
-+ device::mojom::HidBusType::kHIDBusTypeUSB,
-+ report_descriptor,
-+ device_node));
-+
-+ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice,
-+ service_, device_info));
-+ }
-+
-+ void OnDeviceRemoved(std::string device_id) {
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ task_runner_->PostTask(
-+ FROM_HERE, base::Bind(&HidServiceFreeBSD::RemoveDevice, service_,
-+ device_id));
-+ }
-+
-+ private:
-+
-+ void CheckPendingPermissionChange() {
-+ base::internal::AssertBlockingAllowed();
-+ std::map<std::string, int>::iterator it;
-+ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) {
-+ std::string device_name = it->first;
-+ bool keep = true;
-+ if (HaveReadWritePermissions(device_name)) {
-+ OnDeviceAdded(device_name);
-+ keep = false;
-+ }
-+ else if (it->second-- <= 0) {
-+ HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name
-+ << "' after " << kMaxPermissionChecks << " attempts";
-+ keep = false;
-+ }
-+
-+ if (keep)
-+ ++it;
-+ else
-+ permissions_checks_attempts_.erase(it++);
-+ }
-+
-+ if (permissions_checks_attempts_.empty())
-+ timer_->Stop();
-+ }
-+
-+ void SetupDevdMonitor() {
-+ base::internal::AssertBlockingAllowed();
-+
-+ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
-+ if (devd_fd < 0)
-+ return;
-+
-+ struct sockaddr_un sa;
-+
-+ sa.sun_family = AF_UNIX;
-+ strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path));
-+ if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
-+ close(devd_fd);
-+ return;
-+ }
-+
-+ devd_fd_.reset(devd_fd);
-+ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
-+ devd_fd_.get(), base::Bind(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead,
-+ base::Unretained(this)));
-+ }
-+
-+ void OnDevdMessageCanBeRead() {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+ ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(),
-+ devd_buffer_->size() - 1, MSG_WAITALL));
-+ if (bytes_read < 0) {
-+ if (errno != EAGAIN) {
-+ HID_LOG(ERROR) << "Read failed";
-+ file_watcher_.reset();
-+ }
-+ return;
-+ }
-+
-+ devd_buffer_->data()[bytes_read] = 0;
-+ char *data = devd_buffer_->data();
-+ // It may take some time for devd to change permissions
-+ // on /dev/uhidX node. So do not fail immediately if
-+ // open fail. Retry each second for kMaxPermissionChecks
-+ // times before giving up entirely
-+ if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) {
-+ std::vector<std::string> parts = base::SplitString(
-+ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-+ if (!parts.empty()) {
-+ std::string device_name = parts[0].substr(1); // skip '+'
-+ if (HaveReadWritePermissions(device_name))
-+ OnDeviceAdded(parts[0].substr(1));
-+ else {
-+ // Do not re-add to checks
-+ if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) {
-+ permissions_checks_attempts_.insert(std::pair<std::string, int>(device_name, kMaxPermissionChecks));
-+ timer_->Start(FROM_HERE, base::TimeDelta::FromSeconds(1),
-+ this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange);
-+ }
-+ }
-+ }
-+ }
-+
-+ if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) {
-+ std::vector<std::string> parts = base::SplitString(
-+ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-+ if (!parts.empty()) {
-+ std::string device_name = parts[0].substr(1); // skip '-'
-+ auto it = permissions_checks_attempts_.find(device_name);
-+ if (it != permissions_checks_attempts_.end()) {
-+ permissions_checks_attempts_.erase(it);
-+ if (permissions_checks_attempts_.empty())
-+ timer_->Stop();
-+ }
-+ OnDeviceRemoved(parts[0].substr(1));
-+ }
-+ }
-+ }
-+
-+ SEQUENCE_CHECKER(sequence_checker_);
-+
-+ // This weak pointer is only valid when checked on this task runner.
-+ base::WeakPtr<HidServiceFreeBSD> service_;
-+ scoped_refptr<base::SequencedTaskRunner> task_runner_;
-+ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
-+ std::unique_ptr<base::RepeatingTimer> timer_;
-+ base::ScopedFD devd_fd_;
-+ scoped_refptr<net::IOBufferWithSize> devd_buffer_;
-+ std::map<std::string, int> permissions_checks_attempts_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
-+};
-+
-+HidServiceFreeBSD::HidServiceFreeBSD()
-+ : blocking_task_runner_(
-+ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
-+ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) {
-+ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr()));
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get())));
-+}
-+
-+HidServiceFreeBSD::~HidServiceFreeBSD() {
-+ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
-+}
-+
-+base::WeakPtr<HidService> HidServiceFreeBSD::GetWeakPtr() {
-+ return weak_factory_.GetWeakPtr();
-+}
-+
-+// static
-+void HidServiceFreeBSD::OpenOnBlockingThread(
-+ std::unique_ptr<ConnectParams> params) {
-+ base::ScopedBlockingCall scoped_blocking_call(
-+ FROM_HERE, base::BlockingType::MAY_BLOCK);
-+ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
-+
-+ base::FilePath device_path(params->device_info->device_node());
-+ base::File device_file;
-+ int flags =
-+ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
-+ device_file.Initialize(device_path, flags);
-+ if (!device_file.IsValid()) {
-+ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node()
-+ << "': "
-+ << base::File::ErrorToString(device_file.error_details());
-+ task_runner->PostTask(FROM_HERE,
-+ base::BindOnce(std::move(params->callback), nullptr));
-+ return;
-+ }
-+ params->fd.reset(device_file.TakePlatformFile());
-+ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen,
-+ std::move(params)));
-+}
-+
-+void HidServiceFreeBSD::Connect(const std::string& device_guid,
-+ ConnectCallback callback) {
-+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-+
-+ const auto& map_entry = devices().find(device_guid);
-+ if (map_entry == devices().end()) {
-+ base::ThreadTaskRunnerHandle::Get()->PostTask(
-+ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
-+ return;
-+ }
-+
-+ scoped_refptr<HidDeviceInfo> device_info = map_entry->second;
-+
-+ auto params = std::make_unique<ConnectParams>(device_info, std::move(callback));
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
-+ params->blocking_task_runner;
-+
-+ blocking_task_runner->PostTask(
-+ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread,
-+ std::move(params)));
-+}
-+
-+// static
-+void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) {
-+ DCHECK(params->fd.is_valid());
-+
-+ if (!base::SetNonBlocking(params->fd.get())) {
-+ HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd";
-+ std::move(params->callback).Run(nullptr);
-+ }
-+
-+ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFreeBSD>(
-+ std::move(params->device_info),
-+ std::move(params->fd),
-+ std::move(params->blocking_task_runner)
-+ ));
-+}
-+
-+} // namespace device
diff --git a/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.h b/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.h
deleted file mode 100644
index 3c61726f9be8..000000000000
--- a/devel/electron11/files/patch-services_device_hid_hid__service__freebsd.h
+++ /dev/null
@@ -1,49 +0,0 @@
---- services/device/hid/hid_service_freebsd.h.orig 2021-01-25 11:28:21 UTC
-+++ services/device/hid/hid_service_freebsd.h
-@@ -0,0 +1,46 @@
-+// Copyright 2014 The Chromium Authors. All rights reserved.
-+// Use of this source code is governed by a BSD-style license that can be
-+// found in the LICENSE file.
-+
-+#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_
-+#define DEVICE_HID_HID_SERVICE_FREEBSD_H_
-+
-+#include <string>
-+
-+#include "base/macros.h"
-+#include "base/memory/ref_counted.h"
-+#include "base/memory/weak_ptr.h"
-+#include "base/timer/timer.h"
-+#include "services/device/hid/hid_service.h"
-+#include "net/base/io_buffer.h"
-+
-+namespace device {
-+
-+class HidServiceFreeBSD : public HidService {
-+ public:
-+ HidServiceFreeBSD();
-+ ~HidServiceFreeBSD() override;
-+
-+ void Connect(const std::string& device_guid,
-+ ConnectCallback connect) override;
-+ base::WeakPtr<HidService> GetWeakPtr() override;
-+
-+ private:
-+ struct ConnectParams;
-+ class BlockingTaskRunnerHelper;
-+
-+ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params);
-+ static void FinishOpen(std::unique_ptr<ConnectParams> params);
-+
-+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds
-+ // a weak reference back to the service that owns it.
-+ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
-+ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_{this};
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD);
-+};
-+
-+} // namespace device
-+
-+#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_
diff --git a/devel/electron11/files/patch-services_device_serial_BUILD.gn b/devel/electron11/files/patch-services_device_serial_BUILD.gn
deleted file mode 100644
index d344921d0911..000000000000
--- a/devel/electron11/files/patch-services_device_serial_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/serial/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/device/serial/BUILD.gn
-@@ -11,7 +11,7 @@ import("//build/config/features.gni")
- import("//build/config/deprecated_default_sources_assignment_filter.gni")
- set_sources_assignment_filter(deprecated_default_sources_assignment_filter)
-
--if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) {
-+if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_bsd) {
- config("platform_support") {
- visibility = [ ":serial" ]
- if (is_win) {
diff --git a/devel/electron11/files/patch-services_device_serial_serial__io__handler__posix.cc b/devel/electron11/files/patch-services_device_serial_serial__io__handler__posix.cc
deleted file mode 100644
index 63109d9fb199..000000000000
--- a/devel/electron11/files/patch-services_device_serial_serial__io__handler__posix.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- services/device/serial/serial_io_handler_posix.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/device/serial/serial_io_handler_posix.cc
-@@ -37,6 +37,10 @@ struct termios2 {
-
- #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-
-+#if defined(OS_BSD)
-+#include <sys/serial.h>
-+#endif
-+
- #if defined(OS_MAC)
- #include <IOKit/serial/ioss.h>
- #endif
-@@ -67,7 +71,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
- BITRATE_TO_SPEED_CASE(9600)
- BITRATE_TO_SPEED_CASE(19200)
- BITRATE_TO_SPEED_CASE(38400)
--#if !defined(OS_MAC)
-+#if !defined(OS_MAC) && !defined(OS_BSD)
- BITRATE_TO_SPEED_CASE(57600)
- BITRATE_TO_SPEED_CASE(115200)
- BITRATE_TO_SPEED_CASE(230400)
diff --git a/devel/electron11/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/devel/electron11/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
deleted file mode 100644
index 9405dc9c36df..000000000000
--- a/devel/electron11/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/device/time_zone_monitor/time_zone_monitor_linux.cc
-@@ -127,7 +127,11 @@ class TimeZoneMonitorLinuxImpl
- // false positives are harmless, assuming the false positive rate is
- // reasonable.
- const char* const kFilesToWatch[] = {
-+#if defined(OS_BSD)
-+ "/etc/localtime",
-+#else
- "/etc/localtime", "/etc/timezone", "/etc/TZ",
-+#endif
- };
- for (size_t index = 0; index < base::size(kFilesToWatch); ++index) {
- file_path_watchers_.push_back(std::make_unique<base::FilePathWatcher>());
diff --git a/devel/electron11/files/patch-services_device_usb_BUILD.gn b/devel/electron11/files/patch-services_device_usb_BUILD.gn
deleted file mode 100644
index 33d7c9239d97..000000000000
--- a/devel/electron11/files/patch-services_device_usb_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/usb/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/device/usb/BUILD.gn
-@@ -125,7 +125,7 @@ static_library("usb") {
- deps += [ "//third_party/re2" ]
- }
-
-- if (is_android || is_chromeos || is_linux) {
-+ if ((is_android || is_chromeos || is_linux) && !is_bsd) {
- sources += [
- "usb_device_handle_usbfs.cc",
- "usb_device_handle_usbfs.h",
diff --git a/devel/electron11/files/patch-services_network_BUILD.gn b/devel/electron11/files/patch-services_network_BUILD.gn
deleted file mode 100644
index df185e22b25e..000000000000
--- a/devel/electron11/files/patch-services_network_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- services/network/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/network/BUILD.gn
-@@ -261,9 +261,15 @@ component("network_service") {
- deps += [ "//components/certificate_transparency" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux && !is_bsd) || is_chromeos) {
- deps += [
- "//sandbox/linux:sandbox_services",
-+ "//sandbox/policy",
-+ ]
-+ }
-+
-+ if (is_bsd) {
-+ deps += [
- "//sandbox/policy",
- ]
- }
diff --git a/devel/electron11/files/patch-services_network_network__context.cc b/devel/electron11/files/patch-services_network_network__context.cc
deleted file mode 100644
index 463ebb40a0a7..000000000000
--- a/devel/electron11/files/patch-services_network_network__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/network_context.cc.orig 2021-04-18 07:12:19 UTC
-+++ services/network/network_context.cc
-@@ -2012,7 +2012,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestC
-
- net::CookieCryptoDelegate* crypto_delegate = nullptr;
- if (params_->enable_encrypted_cookies) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)
- DCHECK(network_service_->os_crypt_config_set())
- << "NetworkService::SetCryptConfig must be called before creating a "
- "NetworkContext with encrypted cookies.";
diff --git a/devel/electron11/files/patch-services_network_network__service.cc b/devel/electron11/files/patch-services_network_network__service.cc
deleted file mode 100644
index 5589da00c834..000000000000
--- a/devel/electron11/files/patch-services_network_network__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/network/network_service.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/network/network_service.cc
-@@ -70,7 +70,7 @@
- #include "third_party/boringssl/src/include/openssl/cpu.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)
- #include "components/os_crypt/key_storage_config_linux.h"
- #endif
-
-@@ -670,7 +670,7 @@ void NetworkService::OnCertDBChanged() {
- net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged();
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) {
- #if !BUILDFLAG(IS_CHROMECAST)
- DCHECK(!os_crypt_config_set_);
diff --git a/devel/electron11/files/patch-services_network_network__service.h b/devel/electron11/files/patch-services_network_network__service.h
deleted file mode 100644
index f76598b3372b..000000000000
--- a/devel/electron11/files/patch-services_network_network__service.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/network_service.h.orig 2021-01-07 00:36:39 UTC
-+++ services/network/network_service.h
-@@ -196,7 +196,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
- base::span<const uint8_t> config,
- mojom::NetworkService::UpdateLegacyTLSConfigCallback callback) override;
- void OnCertDBChanged() override;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override;
- #endif
- #if defined(OS_WIN) || defined(OS_MAC)
diff --git a/devel/electron11/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc b/devel/electron11/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc
deleted file mode 100644
index 8e2400a24d68..000000000000
--- a/devel/electron11/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/public/cpp/cert_verifier/cert_verifier_creation.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/network/public/cpp/cert_verifier/cert_verifier_creation.cc
-@@ -70,7 +70,7 @@ scoped_refptr<net::CertVerifyProc> CreateCertVerifyPro
-
- bool IsUsingCertNetFetcher() {
- #if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_CHROMEOS) || \
-- defined(OS_LINUX) || \
-+ defined(OS_LINUX) || defined(OS_BSD) || \
- BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \
- BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
- return true;
diff --git a/devel/electron11/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/devel/electron11/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
deleted file mode 100644
index b4516a3b015c..000000000000
--- a/devel/electron11/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2021-01-07 00:36:39 UTC
-+++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
-@@ -45,7 +45,7 @@ namespace {
- uint32_t CalculatePrivateFootprintKb(const mojom::RawOSMemDump& os_dump,
- uint32_t shared_resident_kb) {
- DCHECK(os_dump.platform_private_footprint);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes;
- uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes;
- return (rss_anon_bytes + vm_swap_bytes) / 1024;
-@@ -84,7 +84,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl
- os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable;
- os_dump->private_footprint_kb =
- CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- os_dump->private_footprint_swap_kb =
- internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024;
- #endif
diff --git a/devel/electron11/files/patch-services_service__manager_BUILD.gn b/devel/electron11/files/patch-services_service__manager_BUILD.gn
deleted file mode 100644
index cb63aa20fe00..000000000000
--- a/devel/electron11/files/patch-services_service__manager_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/service_manager/BUILD.gn.orig 2021-01-07 00:36:39 UTC
-+++ services/service_manager/BUILD.gn
-@@ -65,7 +65,7 @@ source_set("service_manager") {
- ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- deps += [ "//sandbox/linux:sandbox_services" ]
- }
- }
diff --git a/devel/electron11/files/patch-third__party_angle_BUILD.gn b/devel/electron11/files/patch-third__party_angle_BUILD.gn
deleted file mode 100644
index 436d8a481d69..000000000000
--- a/devel/electron11/files/patch-third__party_angle_BUILD.gn
+++ /dev/null
@@ -1,38 +0,0 @@
---- third_party/angle/BUILD.gn.orig 2021-01-07 00:39:26 UTC
-+++ third_party/angle/BUILD.gn
-@@ -141,10 +141,17 @@ config("extra_warnings") {
- ]
- }
- if (is_clang) {
-+ if (!is_bsd) {
-+ cflags += [
-+ "-Wdeprecated-copy",
-+ "-Wsuggest-destructor-override",
-+ "-Wsuggest-override",
-+ ]
-+ }
-+
- cflags += [
- "-Wbad-function-cast",
- "-Wconditional-uninitialized",
-- "-Wdeprecated-copy",
- "-Wextra-semi-stmt",
- "-Wfloat-conversion",
- "-Winconsistent-missing-destructor-override",
-@@ -154,8 +161,6 @@ config("extra_warnings") {
- "-Wredundant-parens",
- "-Wreturn-std-move-in-c++11",
- "-Wshadow-field",
-- "-Wsuggest-destructor-override",
-- "-Wsuggest-override",
- "-Wtautological-type-limit-compare",
- "-Wundefined-reinterpret-cast",
- "-Wunneeded-internal-declaration",
-@@ -396,6 +401,7 @@ angle_static_library("angle_gpu_info_util") {
- "X11",
- "Xi",
- "Xext",
-+ "GL",
- ]
- }
- }
diff --git a/devel/electron11/files/patch-third__party_angle_src_libANGLE_Display.cpp b/devel/electron11/files/patch-third__party_angle_src_libANGLE_Display.cpp
deleted file mode 100644
index 52ac24149ef0..000000000000
--- a/devel/electron11/files/patch-third__party_angle_src_libANGLE_Display.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
---- third_party/angle/src/libANGLE/Display.cpp.orig 2021-01-07 00:39:27 UTC
-+++ third_party/angle/src/libANGLE/Display.cpp
-@@ -55,7 +55,7 @@
- # include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
- # elif defined(ANGLE_PLATFORM_IOS)
- # include "libANGLE/renderer/gl/eagl/DisplayEAGL.h"
--# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
- # include "libANGLE/renderer/gl/egl/DisplayEGL.h"
- # if defined(ANGLE_USE_GBM)
- # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
-@@ -264,7 +264,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- impl = new rx::DisplayCGL(state);
- # elif defined(ANGLE_PLATFORM_IOS)
- impl = new rx::DisplayEAGL(state);
--# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
- # if defined(ANGLE_USE_GBM)
- if (platformType == 0)
- {
-@@ -305,7 +305,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- #if defined(ANGLE_ENABLE_OPENGL)
- # if defined(ANGLE_PLATFORM_WINDOWS)
- impl = new rx::DisplayWGL(state);
--# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
- # if defined(ANGLE_USE_GBM)
- if (platformType == 0)
- {
-@@ -346,7 +346,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- {
- impl = rx::CreateVulkanWin32Display(state);
- }
--# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
- # if defined(ANGLE_USE_X11)
- if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable())
- {
-@@ -1612,7 +1612,7 @@ static ClientExtensions GenerateClientExtensions()
- extensions.x11Visual = true;
- #endif
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- extensions.platformANGLEDeviceTypeEGLANGLE = true;
- #endif
-
diff --git a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp b/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
deleted file mode 100644
index 55319a0ffa9a..000000000000
--- a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-01-07 00:39:27 UTC
-+++ third_party/angle/src/libANGLE/renderer/driver_utils.cpp
-@@ -17,7 +17,7 @@
- # include <sys/system_properties.h>
- #endif
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- # include <sys/utsname.h>
- #endif
-
-@@ -207,7 +207,7 @@ OSVersion GetMacOSVersion()
- }
- #endif
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch)
- {
- errno = 0; // reset global error flag.
-@@ -219,6 +219,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj
- }
-
- *minor = static_cast<int>(strtol(next + 1, &next, 10));
-+#if defined(__FreeBSD__)
-+ if (next == nullptr || *next != '-' || errno != 0)
-+ {
-+ return false;
-+ }
-+
-+ *patch = 0;
-+#else
- if (next == nullptr || *next != '.' || errno != 0)
- {
- return false;
-@@ -229,6 +237,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
- {
- return false;
- }
-+#endif
-
- return true;
- }
-@@ -236,7 +245,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
-
- OSVersion GetLinuxOSVersion()
- {
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- struct utsname uname_info;
- if (uname(&uname_info) != 0)
- {
diff --git a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
deleted file mode 100644
index 47eb0ec0b29b..000000000000
--- a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2021-01-07 00:39:27 UTC
-+++ third_party/angle/src/libANGLE/renderer/driver_utils.h
-@@ -145,7 +145,7 @@ inline bool IsWindows()
-
- inline bool IsLinux()
- {
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- return true;
- #else
- return false;
diff --git a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
deleted file mode 100644
index 08e9c75aa96b..000000000000
--- a/devel/electron11/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2021-01-07 00:39:27 UTC
-+++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h
-@@ -19,10 +19,10 @@ bool IsVulkanWin32DisplayAvailable();
- DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state);
- #endif // defined(ANGLE_PLATFORM_WINDOWS)
-
--#if defined(ANGLE_PLATFORM_LINUX)
-+#if defined(ANGLE_PLATFORM_POSIX)
- bool IsVulkanXcbDisplayAvailable();
- DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state);
--#endif // defined(ANGLE_PLATFORM_LINUX)
-+#endif // defined(ANGLE_PLATFORM_POSIX)
-
- #if defined(ANGLE_PLATFORM_ANDROID)
- bool IsVulkanAndroidDisplayAvailable();
diff --git a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c b/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c
deleted file mode 100644
index dc0b2aaa02b4..000000000000
--- a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/third_party/vulkan-loader/src/loader/loader.c.orig 2021-01-07 00:39:38 UTC
-+++ third_party/angle/third_party/vulkan-loader/src/loader/loader.c
-@@ -250,7 +250,7 @@ void *loader_device_heap_realloc(const struct loader_d
- }
-
- // Environment variables
--#if defined(__linux__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
-
- static inline bool IsHighIntegrity() {
- return geteuid() != getuid() || getegid() != getgid();
diff --git a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h b/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h
deleted file mode 100644
index 4b9f7ec0fafa..000000000000
--- a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h.orig 2021-01-07 00:39:38 UTC
-+++ third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h
-@@ -31,7 +31,7 @@
- #include "vulkan/vk_platform.h"
- #include "vulkan/vk_sdk_platform.h"
-
--#if defined(__linux__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
- /* Linux-specific common code: */
-
- // Headers:
diff --git a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h b/devel/electron11/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h
deleted file mode 100644
index 10bc5b419a8f..000000000000
--- a/devel/electron11/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h.orig 2021-01-07 00:39:39 UTC
-+++ third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h
-@@ -33,7 +33,7 @@
- #undef NOMINMAX
- #include "vulkan/vk_sdk_platform.h"
-
--#if defined(__linux__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
- /* Linux-specific common code: */
-
- // Headers:
diff --git a/devel/electron11/files/patch-third__party_blink_public_common_privacy__budget_identifiable__token.h b/devel/electron11/files/patch-third__party_blink_public_common_privacy__budget_identifiable__token.h
deleted file mode 100644
index 89f4a3355149..000000000000
--- a/devel/electron11/files/patch-third__party_blink_public_common_privacy__budget_identifiable__token.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/public/common/privacy_budget/identifiable_token.h.orig 2021-01-07 00:36:41 UTC
-+++ third_party/blink/public/common/privacy_budget/identifiable_token.h
-@@ -118,7 +118,7 @@ class IdentifiableToken {
-
- // Enums. Punt to the underlying type.
- template <typename T,
-- typename U = typename std::underlying_type<T>::type,
-+ typename U = typename std::__sfinae_underlying_type<T>::type,
- typename std::enable_if_t<std::is_enum<T>::value>* = nullptr>
- constexpr IdentifiableToken(T in) // NOLINT(google-explicit-constructor)
- : IdentifiableToken(static_cast<U>(in)) {}
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_BUILD.gn b/devel/electron11/files/patch-third__party_blink_renderer_BUILD.gn
deleted file mode 100644
index fc19ad9f5269..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/blink/renderer/BUILD.gn.orig 2021-01-07 00:36:41 UTC
-+++ third_party/blink/renderer/BUILD.gn
-@@ -45,8 +45,8 @@ config("inside_blink") {
- "-Wconversion",
- "-Wno-float-conversion",
- "-Wno-sign-conversion",
-- "-Wno-implicit-float-conversion",
-- "-Wno-implicit-int-conversion",
-+# "-Wno-implicit-float-conversion",
-+# "-Wno-implicit-int-conversion",
- ]
-
- if (!is_chromeos || default_toolchain != "//build/toolchain/cros:target") {
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/devel/electron11/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
deleted file mode 100644
index b2aabb32945b..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-01-07 00:36:41 UTC
-+++ third_party/blink/renderer/controller/blink_initializer.cc
-@@ -68,11 +68,11 @@
- #include "third_party/blink/renderer/controller/oom_intervention_impl.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_WIN)
- #include "third_party/blink/renderer/controller/highest_pmf_reporter.h"
- #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h"
-@@ -154,7 +154,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
- CrashMemoryMetricsReporterImpl::Instance();
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_MAC) || defined(OS_WIN)
- // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
- if (UserLevelMemoryPressureSignalGenerator::Enabled())
-@@ -212,7 +212,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
- main_thread->GetTaskRunner());
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- binders.Add(ConvertToBaseRepeatingCallback(
- CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
- main_thread->GetTaskRunner());
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc b/devel/electron11/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc
deleted file mode 100644
index a432d6c9947f..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/blink/renderer/core/clipboard/system_clipboard.cc.orig 2021-01-07 00:36:41 UTC
-+++ third_party/blink/renderer/core/clipboard/system_clipboard.cc
-@@ -41,10 +41,10 @@ SystemClipboard::SystemClipboard(LocalFrame* frame)
- frame->GetBrowserInterfaceBroker().GetInterface(
- clipboard_.BindNewPipeAndPassReceiver(
- frame->GetTaskRunner(TaskType::kUserInteraction)));
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- is_selection_buffer_available_ =
- frame->GetSettings()->GetSelectionClipboardBufferAvailable();
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- }
-
- bool SystemClipboard::IsSelectionMode() const {
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_exported_web__frame__test.cc b/devel/electron11/files/patch-third__party_blink_renderer_core_exported_web__frame__test.cc
deleted file mode 100644
index 56751f62487c..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_exported_web__frame__test.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/core/exported/web_frame_test.cc.orig 2021-01-07 00:36:41 UTC
-+++ third_party/blink/renderer/core/exported/web_frame_test.cc
-@@ -6054,7 +6054,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) {
- EXPECT_EQ(64, ComputeOffset(layout_object, 1000, 1000));
- }
-
--#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- TEST_F(WebFrameTest, SelectRangeStaysHorizontallyAlignedWhenMoved) {
- RegisterMockedHttpURLLoad("move_caret.html");
-
-@@ -6387,7 +6387,7 @@ TEST_F(CompositedSelectionBoundsTest, Editable) {
- TEST_F(CompositedSelectionBoundsTest, EditableDiv) {
- RunTest("composited_selection_bounds_editable_div.html");
- }
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if !defined(OS_ANDROID)
- TEST_F(CompositedSelectionBoundsTest, Input) {
- RunTest("composited_selection_bounds_input.html");
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/devel/electron11/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
deleted file mode 100644
index 2395dd6957f6..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/core/layout/layout_view.cc.orig 2021-01-07 00:36:42 UTC
-+++ third_party/blink/renderer/core/layout/layout_view.cc
-@@ -62,7 +62,7 @@
- #include "third_party/blink/renderer/platform/instrumentation/tracing/traced_value.h"
- #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "third_party/blink/renderer/platform/fonts/font_cache.h"
- #endif
-
-@@ -347,7 +347,7 @@ void LayoutView::UpdateLayout() {
- DCHECK(!layout_state_);
- LayoutState root_layout_state(*this);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The font code in FontPlatformData does not have a direct connection to the
- // document, the frame or anything from which we could retrieve the device
- // scale factor. After using zoom for DSF, the GraphicsContext does only ever
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/devel/electron11/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
deleted file mode 100644
index b76013dd3c75..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2021-01-07 00:36:42 UTC
-+++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc
-@@ -137,7 +137,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
- // Disable snapback on desktop Linux to better integrate with the desktop
- // behavior. Typically, Linux apps do not implement scrollbar snapback (this
- // is true for at least GTK and QT apps).
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return false;
- #else
- return true;
-@@ -303,7 +303,7 @@ ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnT
-
- bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar,
- const WebMouseEvent& event) {
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS))
- if (event.button == WebPointerProperties::Button::kMiddle)
- return true;
- #endif
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc b/devel/electron11/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
deleted file mode 100644
index 372910889726..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc.orig 2021-01-07 00:36:42 UTC
-+++ third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc
-@@ -33,7 +33,7 @@ WebAudioDeviceFactory* WebAudioDeviceFactory::factory_
- namespace {
-
- #if defined(OS_WIN) || defined(OS_MAC) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Due to driver deadlock issues on Windows (http://crbug/422522) there is a
- // chance device authorization response is never received from the browser side.
- // In this case we will time out, to avoid renderer hang forever waiting for
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc b/devel/electron11/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc
deleted file mode 100644
index 9289ad9b59a9..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc.orig 2021-01-07 00:36:42 UTC
-+++ third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc
-@@ -408,7 +408,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor(
- bool key_pressed) {
- #if defined(OS_WIN) || defined(OS_MAC)
- DCHECK_LE(volume, 1.0);
--#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_OPENBSD)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // We have a special situation on Linux where the microphone volume can be
- // "higher than maximum". The input volume slider in the sound preference
- // allows the user to set a scaling that is higher than 100%. It means that
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/devel/electron11/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
deleted file mode 100644
index debda24ba3f9..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-01-07 00:36:42 UTC
-+++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
-@@ -272,7 +272,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, MultipleRenderer
- TEST_F(MAYBE_WebRtcAudioRendererTest, VerifySinkParameters) {
- SetupRenderer(kDefaultOutputDeviceId);
- renderer_proxy_->Start();
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- static const int kExpectedBufferSize = kHardwareSampleRate / 100;
- #elif defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/devel/electron11/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
deleted file mode 100644
index a3b2c98a99ae..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-01-07 00:36:43 UTC
-+++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc
-@@ -404,8 +404,8 @@ class AudioWorkletThreadPriorityTest
- base::PlatformThread::GetCurrentThreadPriority();
-
- // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL
-- // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting.
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // on OS_LINUX, OS_CHROMEOS and OS_BSD regardless of the thread priority setting.
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (expected_priority == base::ThreadPriority::REALTIME_AUDIO ||
- expected_priority == base::ThreadPriority::DISPLAY) {
- EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL);
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_BUILD.gn b/devel/electron11/files/patch-third__party_blink_renderer_platform_BUILD.gn
deleted file mode 100644
index 2f05c3e587c2..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/blink/renderer/platform/BUILD.gn.orig 2021-01-07 00:36:43 UTC
-+++ third_party/blink/renderer/platform/BUILD.gn
-@@ -110,6 +110,7 @@ executable("character_data_generator") {
- "//build/win:default_exe_manifest",
- "//third_party/icu",
- ]
-+ libs = [ "cxxrt" ]
- }
-
- # This isn't strictly necessary since we can just add the deps to "platform",
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
deleted file mode 100644
index c7bf91cb6227..000000000000
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
+++ /dev/null
@@ -1,58 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2021-01-07 00:36:43 UTC
-+++ third_party/blink/renderer/platform/fonts/font_cache.h
-@@ -58,7 +58,7 @@
- #include "third_party/skia/include/core/SkFontMgr.h"
- #include "third_party/skia/include/core/SkRefCnt.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gfx/font_fallback_linux.h"
- #endif
-
-@@ -167,7 +167,7 @@ class PLATFORM_EXPORT FontCache {
- sk_sp<SkFontMgr> FontManager() { return font_manager_; }
- static void SetFontManager(sk_sp<SkFontMgr>);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // These are needed for calling QueryRenderStyleForStrike, since
- // gfx::GetFontRenderParams makes distinctions based on DSF.
- static float DeviceScaleFactor() { return device_scale_factor_; }
-@@ -242,11 +242,11 @@ class PLATFORM_EXPORT FontCache {
- const FontDescription&);
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- static bool GetFontForCharacter(UChar32,
- const char* preferred_locale,
- gfx::FallbackFontData*);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FontDataFromFontPlatformData(
- const FontPlatformData*,
-@@ -320,12 +320,12 @@ class PLATFORM_EXPORT FontCache {
- const FontFaceCreationParams&,
- std::string& name);
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
- UChar32,
- const FontDescription&,
- FontFallbackPriority);
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle(
- const FontDescription&,
-@@ -365,7 +365,7 @@ class PLATFORM_EXPORT FontCache {
- std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- static float device_scale_factor_;
- #endif
-
diff --git a/devel/electron11/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/devel/electron11/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
deleted file mode 100644
index 4533f7ff1178..000000000000
--- a/devel/electron11/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/crashpad/crashpad/client/BUILD.gn.orig 2021-01-07 00:37:22 UTC
-+++ third_party/crashpad/crashpad/client/BUILD.gn
-@@ -82,6 +82,12 @@ crashpad_static_library("client") {
- sources += [ "crashpad_client_fuchsia.cc" ]
- }
-
-+ if (crashpad_is_posix) {
-+ sources += [
-+ "crashpad_client_posix.cc",
-+ ]
-+ }
-+
- if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
- sources += [ "crash_report_database_generic.cc" ]
- }
diff --git a/devel/electron11/files/patch-third__party_electron__node_deps_uv_BUILD.gn b/devel/electron11/files/patch-third__party_electron__node_deps_uv_BUILD.gn
deleted file mode 100644
index f5c64b8b500a..000000000000
--- a/devel/electron11/files/patch-third__party_electron__node_deps_uv_BUILD.gn
+++ /dev/null
@@ -1,46 +0,0 @@
---- third_party/electron_node/deps/uv/BUILD.gn.orig 2021-01-25 11:27:01 UTC
-+++ third_party/electron_node/deps/uv/BUILD.gn
-@@ -3,7 +3,7 @@ config("libuv_config") {
-
- defines = []
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- defines += [ "_POSIX_C_SOURCE=200112" ]
- }
- if (!is_win) {
-@@ -150,7 +150,7 @@ static_library("uv") {
- libs += [ "m" ]
- ldflags += [ "-pthread" ]
- }
-- if (is_mac || is_linux) {
-+ if (is_mac || (is_linux && !is_bsd)) {
- sources += [ "src/unix/proctitle.c" ]
- }
- if (is_mac) {
-@@ -165,7 +165,7 @@ static_library("uv") {
- "_DARWIN_UNLIMITED_SELECT=1",
- ]
- }
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- defines += [ "_GNU_SOURCE" ]
- sources += [
- "src/unix/linux-core.c",
-@@ -186,6 +186,16 @@ static_library("uv") {
- sources += [
- "src/unix/bsd-ifaddrs.c",
- "src/unix/kqueue.c",
-+ ]
-+ }
-+ if (is_bsd) {
-+ sources += [
-+ "src/unix/bsd-ifaddrs.c",
-+ "src/unix/bsd-proctitle.c",
-+ "src/unix/freebsd.c",
-+ "src/unix/kqueue.c",
-+ "src/unix/posix-hrtime.c",
-+ "src/unix/random-getrandom.c",
- ]
- }
- }
diff --git a/devel/electron11/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c b/devel/electron11/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
deleted file mode 100644
index d01c2065440c..000000000000
--- a/devel/electron11/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/electron_node/deps/uv/src/unix/pipe.c.orig 2020-07-22 14:57:01 UTC
-+++ third_party/electron_node/deps/uv/src/unix/pipe.c
-@@ -150,9 +150,13 @@ int uv_pipe_open(uv_pipe_t* handle, uv_file fd) {
- if (mode == -1)
- return UV__ERR(errno); /* according to docs, must be EBADF */
-
-+ /* If ioctl(FIONBIO) reports ENOTTY, try fcntl(F_GETFL) + fcntl(F_SETFL).
-+ * Workaround for e.g. kqueue fds not supporting ioctls.
-+ */
- err = uv__nonblock(fd, 1);
-- if (err)
-- return err;
-+ if (err == UV_ENOTTY)
-+ if (uv__nonblock == uv__nonblock_ioctl)
-+ err = uv__nonblock_fcntl(fd, 1);
-
- #if defined(__APPLE__)
- err = uv__stream_try_select((uv_stream_t*) handle, &fd);
diff --git a/devel/electron11/files/patch-third__party_libyuv_include_libyuv_row.h b/devel/electron11/files/patch-third__party_libyuv_include_libyuv_row.h
deleted file mode 100644
index 593bc3a76ea5..000000000000
--- a/devel/electron11/files/patch-third__party_libyuv_include_libyuv_row.h
+++ /dev/null
@@ -1,37 +0,0 @@
---- third_party/libyuv/include/libyuv/row.h.orig 2021-01-07 00:39:32 UTC
-+++ third_party/libyuv/include/libyuv/row.h
-@@ -157,10 +157,14 @@ extern "C" {
- #define HAS_ARGBSHADEROW_SSE2
- #define HAS_ARGBSUBTRACTROW_SSE2
- #define HAS_ARGBUNATTENUATEROW_SSE2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_BLENDPLANEROW_SSSE3
-+#endif
- #define HAS_COMPUTECUMULATIVESUMROW_SSE2
- #define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_INTERPOLATEROW_SSSE3
-+#endif
- #define HAS_RGBCOLORTABLEROW_X86
- #define HAS_SOBELROW_SSE2
- #define HAS_SOBELTOPLANEROW_SSE2
-@@ -206,7 +210,9 @@ extern "C" {
- #define HAS_I422TORGB565ROW_AVX2
- #define HAS_I422TORGBAROW_AVX2
- #define HAS_I444TOARGBROW_AVX2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_INTERPOLATEROW_AVX2
-+#endif
- #define HAS_J422TOARGBROW_AVX2
- #define HAS_MERGEUVROW_AVX2
- #define HAS_MIRRORROW_AVX2
-@@ -231,7 +237,9 @@ extern "C" {
- #define HAS_ARGBMULTIPLYROW_AVX2
- #define HAS_ARGBSUBTRACTROW_AVX2
- #define HAS_ARGBUNATTENUATEROW_AVX2
-+#if !(defined(__i386__) && defined(__GNUC__))
- #define HAS_BLENDPLANEROW_AVX2
-+#endif
-
- #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \
- defined(_MSC_VER)
diff --git a/devel/electron11/files/patch-third__party_nearby_src_cpp_core__v2_internal_offline__service__controller.h b/devel/electron11/files/patch-third__party_nearby_src_cpp_core__v2_internal_offline__service__controller.h
deleted file mode 100644
index 2412fead7a56..000000000000
--- a/devel/electron11/files/patch-third__party_nearby_src_cpp_core__v2_internal_offline__service__controller.h
+++ /dev/null
@@ -1,23 +0,0 @@
---- third_party/nearby/src/cpp/core_v2/internal/offline_service_controller.h.orig 2021-01-07 00:39:33 UTC
-+++ third_party/nearby/src/cpp/core_v2/internal/offline_service_controller.h
-@@ -12,6 +12,20 @@
- // See the License for the specific language governing permissions and
- // limitations under the License.
-
-+// Copyright 2020 Google LLC
-+//
-+// Licensed under the Apache License, Version 2.0 (the "License");
-+// you may not use this file except in compliance with the License.
-+// You may obtain a copy of the License at
-+//
-+// https://www.apache.org/licenses/LICENSE-2.0
-+//
-+// Unless required by applicable law or agreed to in writing, software
-+// distributed under the License is distributed on an "AS IS" BASIS,
-+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+// See the License for the specific language governing permissions and
-+// limitations under the License.
-+
- #ifndef CORE_V2_INTERNAL_OFFLINE_SERVICE_CONTROLLER_H_
- #define CORE_V2_INTERNAL_OFFLINE_SERVICE_CONTROLLER_H_
-
diff --git a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
deleted file mode 100644
index 2ccd9c339f35..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
+++ /dev/null
@@ -1,72 +0,0 @@
---- third_party/perfetto/include/perfetto/base/build_config.h.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/include/perfetto/base/build_config.h
-@@ -27,6 +27,7 @@
- #if defined(__ANDROID__)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -38,6 +39,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 1
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-@@ -54,6 +56,7 @@
- #elif defined(__linux__)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -61,9 +64,21 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
-+#elif defined(__FreeBSD__)
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 1
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
- #elif defined(_WIN32)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -74,6 +89,7 @@
- #elif defined(__EMSCRIPTEN__)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
-@@ -87,6 +103,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1
-@@ -94,6 +111,7 @@
- #elif defined(__native_client__)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
diff --git a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_time.h b/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_time.h
deleted file mode 100644
index 23a7b389c749..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_time.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/perfetto/include/perfetto/base/time.h.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/include/perfetto/base/time.h
-@@ -141,6 +141,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
- // Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time
- // during suspend (when supported).
- inline TimeNanos GetBootTimeNs() {
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ return GetTimeInternalNs(kWallTimeClockSource);
-+#else
- // Determine if CLOCK_BOOTTIME is available on the first call.
- static const clockid_t kBootTimeClockSource = [] {
- struct timespec ts = {};
-@@ -148,6 +151,7 @@ inline TimeNanos GetBootTimeNs() {
- return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
- }();
- return GetTimeInternalNs(kBootTimeClockSource);
-+#endif
- }
-
- inline TimeNanos GetWallTimeNs() {
diff --git a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
deleted file mode 100644
index 5203f23ca8bc..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/include/perfetto/ext/base/event_fd.h
-@@ -20,8 +20,8 @@
- #include "perfetto/base/build_config.h"
- #include "perfetto/ext/base/scoped_file.h"
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
- #define PERFETTO_USE_EVENTFD() 1
- #else
- #define PERFETTO_USE_EVENTFD() 0
diff --git a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h b/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
deleted file mode 100644
index 3988c551bafd..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/include/perfetto/ext/base/thread_utils.h
-@@ -47,6 +47,9 @@ inline bool MaybeSetThreadName(const std::string& name
-
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
- return pthread_setname_np(buf) == 0;
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ pthread_set_name_np(pthread_self(), buf);
-+ return true;
- #else
- return pthread_setname_np(pthread_self(), buf) == 0;
- #endif
diff --git a/devel/electron11/files/patch-third__party_perfetto_src_base_subprocess.cc b/devel/electron11/files/patch-third__party_perfetto_src_base_subprocess.cc
deleted file mode 100644
index 7598a59255dd..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_src_base_subprocess.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- third_party/perfetto/src/base/subprocess.cc.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/src/base/subprocess.cc
-@@ -35,8 +35,8 @@
- #include "perfetto/base/time.h"
- #include "perfetto/ext/base/utils.h"
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
- #include <sys/prctl.h>
- #endif
-
-@@ -60,8 +60,8 @@ struct ChildProcessArgs {
- // Don't add any dynamic allocation in this function. This will be invoked
- // under a fork(), potentially in a state where the allocator lock is held.
- void __attribute__((noreturn)) ChildProcess(ChildProcessArgs* args) {
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID))
- // In no case we want a child process to outlive its parent process. This is
- // relevant for tests, so that a test failure/crash doesn't leave child
- // processes around that get reparented to init.
diff --git a/devel/electron11/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/devel/electron11/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
deleted file mode 100644
index 41a4a00327fb..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/perfetto/src/base/thread_task_runner.cc.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/src/base/thread_task_runner.cc
-@@ -28,7 +28,7 @@
- #include "perfetto/ext/base/thread_utils.h"
- #include "perfetto/ext/base/unix_task_runner.h"
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
- #include <sys/prctl.h>
- #endif
diff --git a/devel/electron11/files/patch-third__party_perfetto_src_base_unix__socket.cc b/devel/electron11/files/patch-third__party_perfetto_src_base_unix__socket.cc
deleted file mode 100644
index 30e38f54eb75..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_src_base_unix__socket.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/perfetto/src/base/unix_socket.cc.orig 2021-01-07 00:39:33 UTC
-+++ third_party/perfetto/src/base/unix_socket.cc
-@@ -37,7 +37,7 @@
- #include "perfetto/ext/base/string_utils.h"
- #include "perfetto/ext/base/utils.h"
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #include <sys/ucred.h>
- #endif
-
-@@ -625,7 +625,7 @@ void UnixSocket::ReadPeerCredentials() {
- if (sock_raw_.family() != SockFamily::kUnix)
- return;
-
--#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
-+#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
- struct ucred user_cred;
- socklen_t len = sizeof(user_cred);
diff --git a/devel/electron11/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/devel/electron11/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
deleted file mode 100644
index 2996f8fccce4..000000000000
--- a/devel/electron11/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2021-01-07 00:39:34 UTC
-+++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc
-@@ -2569,8 +2569,9 @@ bool TracingServiceImpl::SnapshotClocks(
-
- TracingSession::ClockSnapshotData new_snapshot_data;
-
--#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
-- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-+#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && \
- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
- struct {
- clockid_t id;
diff --git a/devel/electron11/files/patch-third__party_skia_src_core_SkCpu.cpp b/devel/electron11/files/patch-third__party_skia_src_core_SkCpu.cpp
deleted file mode 100644
index 4312cdebfdbf..000000000000
--- a/devel/electron11/files/patch-third__party_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
---- third_party/skia/src/core/SkCpu.cpp.orig 2021-01-07 00:39:35 UTC
-+++ third_party/skia/src/core/SkCpu.cpp
-@@ -72,6 +72,23 @@
- return features;
- }
-
-+#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
-+ #include <machine/armreg.h>
-+ #ifndef ID_AA64ISAR0_CRC32_VAL
-+ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
-+ #endif
-+
-+ static uint32_t read_cpu_features() {
-+ uint32_t features = 0;
-+ uint64_t id_aa64isar0;
-+
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
-+ features |= SkCpu::CRC32;
-+ }
-+ return features;
-+ }
-+
- #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
- #include <sys/auxv.h>
-
diff --git a/devel/electron11/files/patch-third__party_skia_src_sksl_SkSLString.h b/devel/electron11/files/patch-third__party_skia_src_sksl_SkSLString.h
deleted file mode 100644
index 2c2d763293bc..000000000000
--- a/devel/electron11/files/patch-third__party_skia_src_sksl_SkSLString.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/src/sksl/SkSLString.h.orig 2021-01-07 00:39:36 UTC
-+++ third_party/skia/src/sksl/SkSLString.h
-@@ -17,6 +17,8 @@
- #include "include/core/SkString.h"
- #endif
-
-+#include <stdarg.h>
-+
- namespace SkSL {
-
- // Represents a (not necessarily null-terminated) slice of a string.
diff --git a/devel/electron11/files/patch-third__party_swiftshader_BUILD.gn b/devel/electron11/files/patch-third__party_swiftshader_BUILD.gn
deleted file mode 100644
index c0e4eccf9af5..000000000000
--- a/devel/electron11/files/patch-third__party_swiftshader_BUILD.gn
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/swiftshader/BUILD.gn.orig 2021-01-07 00:39:34 UTC
-+++ third_party/swiftshader/BUILD.gn
-@@ -138,9 +138,11 @@ config("swiftshader_config") {
- ldflags = [ "-Wl,--gc-sections" ]
-
- if (current_cpu == "mipsel") {
-- ldflags += [
-- "-Wl,--hash-style=sysv",
-- ]
-+ if (!is_bsd) {
-+ ldflags += [
-+ "-Wl,--hash-style=sysv",
-+ ]
-+ }
- if (mips_arch_variant == "r1") {
- ldflags += [
- "-mips32",
-@@ -152,11 +154,8 @@ config("swiftshader_config") {
- }
- } else if (current_cpu == "mips64el") {
- ldflags += [
-- "-Wl,--hash-style=sysv",
- "-mips64r2",
- ]
-- } else {
-- ldflags += [ "-Wl,--hash-style=both" ]
- }
-
- # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
deleted file mode 100644
index e669ad6f43f2..000000000000
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2021-01-07 00:39:34 UTC
-+++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
-@@ -691,7 +691,7 @@ bool Display::isValidWindow(EGLNativeWindowType window
- return status != 0;
- }
- return false;
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- return false; // Non X11 linux is headless only
- #elif defined(__APPLE__)
- return sw::OSX::IsValidWindow(window);
-@@ -869,7 +869,7 @@ sw::Format Display::getDisplayFormat() const
- {
- return sw::FORMAT_X8R8G8B8;
- }
-- #elif defined(__linux__) // Non X11 linux is headless only
-+ #elif defined(__linux__) || defined(__FreeBSD__) // Non X11 linux is headless only
- return sw::FORMAT_A8B8G8R8;
- #elif defined(__APPLE__)
- return sw::FORMAT_A8B8G8R8;
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
deleted file mode 100644
index 41846bc27477..000000000000
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2021-01-07 00:39:34 UTC
-+++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp
-@@ -362,7 +362,7 @@ bool WindowSurface::checkForResize()
-
- int windowWidth = windowAttributes.width;
- int windowHeight = windowAttributes.height;
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- // Non X11 linux is headless only
- int windowWidth = 100;
- int windowHeight = 100;
diff --git a/devel/electron11/files/patch-third__party_usrsctp_BUILD.gn b/devel/electron11/files/patch-third__party_usrsctp_BUILD.gn
deleted file mode 100644
index 769c397ff047..000000000000
--- a/devel/electron11/files/patch-third__party_usrsctp_BUILD.gn
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/usrsctp/BUILD.gn.orig 2021-01-07 00:37:24 UTC
-+++ third_party/usrsctp/BUILD.gn
-@@ -127,7 +127,7 @@ static_library("usrsctp") {
- "-UINET6",
- ]
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
- defines += [
- "__Userspace_os_Linux",
- "_GNU_SOURCE",
-@@ -137,6 +137,10 @@ static_library("usrsctp") {
- "HAVE_SA_LEN",
- "__APPLE_USE_RFC_2292",
- "__Userspace_os_Darwin",
-+ ]
-+ } else if (is_bsd) {
-+ defines += [
-+ "__Userspace_os_FreeBSD",
- ]
- }
-
diff --git a/devel/electron11/files/patch-third__party_webrtc_BUILD.gn b/devel/electron11/files/patch-third__party_webrtc_BUILD.gn
deleted file mode 100644
index 1748655b581c..000000000000
--- a/devel/electron11/files/patch-third__party_webrtc_BUILD.gn
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/webrtc/BUILD.gn.orig 2021-01-07 00:39:36 UTC
-+++ third_party/webrtc/BUILD.gn
-@@ -176,6 +176,9 @@ config("common_inherited_config") {
- if (is_linux || is_chromeos) {
- defines += [ "WEBRTC_LINUX" ]
- }
-+ if (is_bsd) {
-+ defines += [ "WEBRTC_BSD" ]
-+ }
- if (is_mac) {
- defines += [ "WEBRTC_MAC" ]
- }
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
deleted file mode 100644
index 5a28e1cb02f7..000000000000
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2021-01-07 00:39:38 UTC
-+++ third_party/webrtc/rtc_base/physical_socket_server.cc
-@@ -50,7 +50,7 @@
- #include "rtc_base/null_socket_server.h"
- #include "rtc_base/time_utils.h"
-
--#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- #include <linux/sockios.h>
- #endif
-
-@@ -69,7 +69,7 @@ typedef void* SockOptArg;
-
- #endif // WEBRTC_POSIX
-
--#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
-+#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
-
- int64_t GetSocketRecvTimestamp(int socket) {
- struct timeval tv_ioctl;
-@@ -305,7 +305,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
- return -1;
- }
- if (opt == OPT_DONTFRAGMENT) {
--#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
- *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
- #endif
- } else if (opt == OPT_DSCP) {
-@@ -323,7 +323,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
- if (TranslateOption(opt, &slevel, &sopt) == -1)
- return -1;
- if (opt == OPT_DONTFRAGMENT) {
--#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
- value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
- #endif
- } else if (opt == OPT_DSCP) {
-@@ -564,7 +564,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
- *slevel = IPPROTO_IP;
- *sopt = IP_DONTFRAGMENT;
- break;
--#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__)
-+#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
- RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
- return -1;
- #elif defined(WEBRTC_POSIX)
diff --git a/devel/electron11/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/devel/electron11/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
deleted file mode 100644
index a36aa3bafc6d..000000000000
--- a/devel/electron11/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/system_wrappers/BUILD.gn.orig 2021-01-07 00:39:38 UTC
-+++ third_party/webrtc/system_wrappers/BUILD.gn
-@@ -62,8 +62,6 @@ rtc_library("system_wrappers") {
- if (!build_with_chromium) {
- sources += [ "source/cpu_features_linux.cc" ]
- }
--
-- libs += [ "rt" ]
- }
-
- if (is_win) {
diff --git a/devel/electron11/files/patch-third__party_zlib_BUILD.gn b/devel/electron11/files/patch-third__party_zlib_BUILD.gn
deleted file mode 100644
index 822486e2ff69..000000000000
--- a/devel/electron11/files/patch-third__party_zlib_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/zlib/BUILD.gn.orig 2021-04-13 08:26:04 UTC
-+++ third_party/zlib/BUILD.gn
-@@ -108,6 +108,8 @@ if (use_arm_neon_optimizations) {
- defines = [ "CRC32_ARMV8_CRC32" ]
- if (is_android) {
- defines += [ "ARMV8_OS_ANDROID" ]
-+ } else if (is_bsd) {
-+ defines += [ "ARMV8_OS_FREEBSD" ]
- } else if (is_linux || is_chromeos) {
- defines += [ "ARMV8_OS_LINUX" ]
- } else if (is_mac) {
diff --git a/devel/electron11/files/patch-third__party_zlib_cpu__features.c b/devel/electron11/files/patch-third__party_zlib_cpu__features.c
deleted file mode 100644
index aa2535481810..000000000000
--- a/devel/electron11/files/patch-third__party_zlib_cpu__features.c
+++ /dev/null
@@ -1,48 +0,0 @@
---- third_party/zlib/cpu_features.c.orig 2021-01-07 00:37:24 UTC
-+++ third_party/zlib/cpu_features.c
-@@ -31,11 +31,20 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
-
- #ifndef CPU_NO_SIMD
-
--#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA)
-+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD)
- #include <pthread.h>
- #endif
-
--#if defined(ARMV8_OS_ANDROID)
-+#if defined(ARMV8_OS_FREEBSD)
-+#include <machine/armreg.h>
-+#include <sys/types.h>
-+#ifndef ID_AA64ISAR0_AES_VAL
-+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
-+#endif
-+#ifndef ID_AA64ISAR0_CRC32_VAL
-+#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
-+#endif
-+#elif defined(ARMV8_OS_ANDROID)
- #include <cpu-features.h>
- #elif defined(ARMV8_OS_LINUX)
- #include <asm/hwcap.h>
-@@ -56,7 +65,7 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
- static void _cpu_check_features(void);
- #endif
-
--#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
-+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_FREEBSD) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
- #if !defined(ARMV8_OS_MACOS)
- // _cpu_check_features() doesn't need to do anything on mac/arm since all
- // features are known at build time, so don't call it.
-@@ -123,6 +132,13 @@ static void _cpu_check_features(void)
- #elif defined(ARMV8_OS_WINDOWS)
- arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE);
- arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
-+#elif defined(ARMV8_OS_FREEBSD)
-+ uint64_t id_aa64isar0;
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL)
-+ arm_cpu_enable_pmull = 1;
-+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE)
-+ arm_cpu_enable_crc32 = 1;
- #endif
- }
- #endif
diff --git a/devel/electron11/files/patch-tools_gn_src_util_sys__info.cc b/devel/electron11/files/patch-tools_gn_src_util_sys__info.cc
deleted file mode 100644
index c192319b0638..000000000000
--- a/devel/electron11/files/patch-tools_gn_src_util_sys__info.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/util/sys_info.cc.orig 2021-01-07 00:45:48 UTC
-+++ tools/gn/src/util/sys_info.cc
-@@ -33,6 +33,8 @@ std::string OperatingSystemArchitecture() {
- arch = "x86_64";
- } else if (arch == "amd64") {
- arch = "x86_64";
-+ } else if (arch == "arm64") {
-+ arch = "aarch64";
- } else if (std::string(info.sysname) == "AIX") {
- arch = "ppc64";
- }
diff --git a/devel/electron11/files/patch-tools_json__schema__compiler_feature__compiler.py b/devel/electron11/files/patch-tools_json__schema__compiler_feature__compiler.py
deleted file mode 100644
index 116da31051b9..000000000000
--- a/devel/electron11/files/patch-tools_json__schema__compiler_feature__compiler.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/json_schema_compiler/feature_compiler.py.orig 2021-01-07 00:37:24 UTC
-+++ tools/json_schema_compiler/feature_compiler.py
-@@ -243,6 +243,7 @@ FEATURE_GRAMMAR = ({
- 'chromeos': 'Feature::CHROMEOS_PLATFORM',
- 'lacros': 'Feature::LACROS_PLATFORM',
- 'linux': 'Feature::LINUX_PLATFORM',
-+ 'bsd': 'Feature::LINUX_PLATFORM',
- 'mac': 'Feature::MACOSX_PLATFORM',
- 'win': 'Feature::WIN_PLATFORM',
- }
diff --git a/devel/electron11/files/patch-tools_json__schema__compiler_model.py b/devel/electron11/files/patch-tools_json__schema__compiler_model.py
deleted file mode 100644
index 901f2c1b3220..000000000000
--- a/devel/electron11/files/patch-tools_json__schema__compiler_model.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/json_schema_compiler/model.py.orig 2021-01-07 00:37:24 UTC
-+++ tools/json_schema_compiler/model.py
-@@ -676,7 +676,7 @@ class Platforms(object):
- CHROMEOS = _PlatformInfo("chromeos")
- CHROMEOS_TOUCH = _PlatformInfo("chromeos_touch")
- LACROS = _PlatformInfo("lacros")
-- LINUX = _PlatformInfo("linux")
-+ LINUX = _PlatformInfo("bsd")
- MAC = _PlatformInfo("mac")
- WIN = _PlatformInfo("win")
-
diff --git a/devel/electron11/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/devel/electron11/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
deleted file mode 100644
index 09f5a80dac28..000000000000
--- a/devel/electron11/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2021-01-07 00:37:24 UTC
-+++ tools/perf/chrome_telemetry_build/BUILD.gn
-@@ -43,7 +43,7 @@ group("telemetry_chrome_test") {
- data_deps += [ "//chrome:reorder_imports" ]
- }
-
-- if (is_linux || is_chromeos) {
-+ if ((is_linux || is_chromeos) && !is_bsd) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
-
- # CrOS currently has issues with the locally compiled version of
diff --git a/devel/electron11/files/patch-tools_variations_fieldtrial__to__struct.py b/devel/electron11/files/patch-tools_variations_fieldtrial__to__struct.py
deleted file mode 100644
index bf50a1239472..000000000000
--- a/devel/electron11/files/patch-tools_variations_fieldtrial__to__struct.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/variations/fieldtrial_to_struct.py.orig 2021-01-07 00:37:25 UTC
-+++ tools/variations/fieldtrial_to_struct.py
-@@ -35,6 +35,7 @@ _platforms = [
- 'android_weblayer',
- 'android_webview',
- 'chromeos',
-+ 'freebsd',
- 'fuchsia',
- 'ios',
- 'linux',
diff --git a/devel/electron11/files/patch-ui_aura_test_aura__test__helper.cc b/devel/electron11/files/patch-ui_aura_test_aura__test__helper.cc
deleted file mode 100644
index 177846ab6376..000000000000
--- a/devel/electron11/files/patch-ui_aura_test_aura__test__helper.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/aura/test/aura_test_helper.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/aura/test/aura_test_helper.cc
-@@ -29,7 +29,7 @@
- #include "ui/wm/core/default_activation_client.h"
- #include "ui/wm/core/default_screen_position_client.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck
- #endif
-
-@@ -59,7 +59,7 @@ AuraTestHelper::AuraTestHelper(ui::ContextFactory* con
- DCHECK(!g_instance);
- g_instance = this;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- ui::test::EnableTestConfigForPlatformWindows();
- #endif
-
diff --git a/devel/electron11/files/patch-ui_aura_test_ui__controls__ozone.cc b/devel/electron11/files/patch-ui_aura_test_ui__controls__ozone.cc
deleted file mode 100644
index 9a8f9da27db4..000000000000
--- a/devel/electron11/files/patch-ui_aura_test_ui__controls__ozone.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/aura/test/ui_controls_ozone.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/aura/test/ui_controls_ozone.cc
-@@ -348,7 +348,7 @@ bool UIControlsOzone::ScreenDIPToHostPixels(gfx::Point
- // To avoid multiple definitions when use_x11 && use_ozone is true, disable this
- // factory method for OS_LINUX as Linux has a factory method that decides what
- // UIControls to use based on IsUsingOzonePlatform feature flag.
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- ui_controls::UIControlsAura* CreateUIControlsAura(WindowTreeHost* host) {
- return new UIControlsOzone(host);
- }
diff --git a/devel/electron11/files/patch-ui_base_clipboard_clipboard__data__endpoint.h b/devel/electron11/files/patch-ui_base_clipboard_clipboard__data__endpoint.h
deleted file mode 100644
index 66efdcb1b657..000000000000
--- a/devel/electron11/files/patch-ui_base_clipboard_clipboard__data__endpoint.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- ui/base/clipboard/clipboard_data_endpoint.h.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/clipboard/clipboard_data_endpoint.h
-@@ -15,9 +15,9 @@ namespace ui {
- // destination trying to read the clipboard data.
- // Whenever a new format is supported, a new enum should be added.
- enum class EndpointType {
--#if defined(OS_CHROMEOS) || (OS_LINUX) || (OS_FUCHSIA)
-+#if defined(OS_CHROMEOS) || (OS_LINUX) || (OS_FUCHSIA) || defined(OS_BSD)
- kGuestOs = 0, // Guest OS: PluginVM, Crostini.
--#endif // defined(OS_CHROMEOS) || (OS_LINUX) || (OS_FUCHSIA)
-+#endif // defined(OS_CHROMEOS) || (OS_LINUX) || (OS_FUCHSIA) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- kArc = 1, // ARC.
- #endif // defined(OS_CHROMEOS)
diff --git a/devel/electron11/files/patch-ui_base_clipboard_clipboard__ozone.cc b/devel/electron11/files/patch-ui_base_clipboard_clipboard__ozone.cc
deleted file mode 100644
index f8fed504a1c5..000000000000
--- a/devel/electron11/files/patch-ui_base_clipboard_clipboard__ozone.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/base/clipboard/clipboard_ozone.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/clipboard/clipboard_ozone.cc
-@@ -308,7 +308,7 @@ class ClipboardOzone::AsyncClipboardOzone {
- };
-
- // Uses the factory in the clipboard_linux otherwise.
--#if defined(OS_CHROMEOS) || !defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || (!defined(OS_LINUX) && !defined(OS_BSD))
- // Clipboard factory method.
- Clipboard* Clipboard::Create() {
- // linux-chromeos uses non-backed clipboard by default, but supports ozone x11
diff --git a/devel/electron11/files/patch-ui_base_ime_init_input__method__initializer.cc b/devel/electron11/files/patch-ui_base_ime_init_input__method__initializer.cc
deleted file mode 100644
index 382328077018..000000000000
--- a/devel/electron11/files/patch-ui_base_ime_init_input__method__initializer.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- ui/base/ime/init/input_method_initializer.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/ime/init/input_method_initializer.cc
-@@ -10,7 +10,7 @@
-
- #if defined(OS_CHROMEOS)
- #include "ui/base/ime/chromeos/ime_bridge.h"
--#elif defined(USE_AURA) && defined(OS_LINUX)
-+#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "base/check.h"
- #include "ui/base/ime/linux/fake_input_method_context_factory.h"
- #elif defined(OS_WIN)
-@@ -20,7 +20,7 @@
-
- namespace {
-
--#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX)
-+#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- const ui::LinuxInputMethodContextFactory*
- g_linux_input_method_context_factory_for_testing;
- #endif
-@@ -48,7 +48,7 @@ void ShutdownInputMethod() {
- void InitializeInputMethodForTesting() {
- #if defined(OS_CHROMEOS)
- IMEBridge::Initialize();
--#elif defined(USE_AURA) && defined(OS_LINUX)
-+#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- if (!g_linux_input_method_context_factory_for_testing)
- g_linux_input_method_context_factory_for_testing =
- new FakeInputMethodContextFactory();
-@@ -67,7 +67,7 @@ void InitializeInputMethodForTesting() {
- void ShutdownInputMethodForTesting() {
- #if defined(OS_CHROMEOS)
- IMEBridge::Shutdown();
--#elif defined(USE_AURA) && defined(OS_LINUX)
-+#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- const LinuxInputMethodContextFactory* factory =
- LinuxInputMethodContextFactory::instance();
- CHECK(!factory || factory == g_linux_input_method_context_factory_for_testing)
diff --git a/devel/electron11/files/patch-ui_base_resource_resource__bundle.cc b/devel/electron11/files/patch-ui_base_resource_resource__bundle.cc
deleted file mode 100644
index cadf0db64a9b..000000000000
--- a/devel/electron11/files/patch-ui_base_resource_resource__bundle.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/base/resource/resource_bundle.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/resource/resource_bundle.cc
-@@ -844,7 +844,7 @@ void ResourceBundle::ReloadFonts() {
- }
-
- ScaleFactor ResourceBundle::GetMaxScaleFactor() const {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return max_scale_factor_;
- #else
- return GetSupportedScaleFactors().back();
-@@ -897,7 +897,7 @@ void ResourceBundle::InitSharedInstance(Delegate* dele
- // On platforms other than iOS, 100P is always a supported scale factor.
- // For Windows we have a separate case in this function.
- supported_scale_factors.push_back(SCALE_FACTOR_100P);
--#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_WIN)
- supported_scale_factors.push_back(SCALE_FACTOR_200P);
- #endif
diff --git a/devel/electron11/files/patch-ui_base_test_skia__gold__pixel__diff.cc b/devel/electron11/files/patch-ui_base_test_skia__gold__pixel__diff.cc
deleted file mode 100644
index 92802f9273e8..000000000000
--- a/devel/electron11/files/patch-ui_base_test_skia__gold__pixel__diff.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/base/test/skia_gold_pixel_diff.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/test/skia_gold_pixel_diff.cc
-@@ -127,7 +127,7 @@ std::string SkiaGoldPixelDiff::GetPlatform() {
- return "windows";
- #elif defined(OS_APPLE)
- return "macOS";
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return "linux";
- #endif
- }
diff --git a/devel/electron11/files/patch-ui_base_ui__base__features.cc b/devel/electron11/files/patch-ui_base_ui__base__features.cc
deleted file mode 100644
index e15b14abe514..000000000000
--- a/devel/electron11/files/patch-ui_base_ui__base__features.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- ui/base/ui_base_features.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/ui_base_features.cc
-@@ -100,7 +100,7 @@ const base::Feature kCompositorThreadedScrollbarScroll
- // native apps on Windows.
- const base::Feature kExperimentalFlingAnimation {
- "ExperimentalFlingAnimation",
--#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_WIN) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
-@@ -132,7 +132,7 @@ const base::Feature kPrecisionTouchpadLogging{
- "PrecisionTouchpadLogging", base::FEATURE_DISABLED_BY_DEFAULT};
- #endif // defined(OS_WIN)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Enables stylus appearing as touch when in contact with digitizer.
- const base::Feature kDirectManipulationStylus = {
-@@ -143,7 +143,7 @@ const base::Feature kDirectManipulationStylus = {
- base::FEATURE_DISABLED_BY_DEFAULT
- #endif
- };
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- // Enables forced colors mode for web content.
-@@ -182,7 +182,7 @@ bool IsCSSColorSchemeUARenderingEnabled() {
- // crbug.com/1012106 for the Windows launch bug, and crbug.com/1012108 for the
- // Mac launch bug.
- const base::Feature kFormControlsRefresh = {"FormControlsRefresh",
--#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_APPLE)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
diff --git a/devel/electron11/files/patch-ui_base_ui__base__features.h b/devel/electron11/files/patch-ui_base_ui__base__features.h
deleted file mode 100644
index a0c72706832f..000000000000
--- a/devel/electron11/files/patch-ui_base_ui__base__features.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- ui/base/ui_base_features.h.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/ui_base_features.h
-@@ -60,11 +60,11 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) extern const base::
- COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsUsingWMPointerForTouch();
- #endif // defined(OS_WIN)
-
--#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- COMPONENT_EXPORT(UI_BASE_FEATURES)
- extern const base::Feature kDirectManipulationStylus;
--#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- // Used to enable forced colors mode for web content.
diff --git a/devel/electron11/files/patch-ui_base_webui_web__ui__util.cc b/devel/electron11/files/patch-ui_base_webui_web__ui__util.cc
deleted file mode 100644
index 30db0f9c70cb..000000000000
--- a/devel/electron11/files/patch-ui_base_webui_web__ui__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/base/webui/web_ui_util.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/webui/web_ui_util.cc
-@@ -34,7 +34,7 @@
- #include "base/win/windows_version.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/base/ui_base_features.h"
- #endif
-
-@@ -232,7 +232,7 @@ std::string GetFontFamily() {
-
- // TODO(dnicoara) Remove Ozone check when PlatformFont support is introduced
- // into Ozone: crbug.com/320050
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (!features::IsUsingOzonePlatform()) {
- font_family = ui::ResourceBundle::GetSharedInstance()
- .GetFont(ui::ResourceBundle::BaseFont)
diff --git a/devel/electron11/files/patch-ui_base_x_x11__shm__image__pool.cc b/devel/electron11/files/patch-ui_base_x_x11__shm__image__pool.cc
deleted file mode 100644
index fb1e4c69ad10..000000000000
--- a/devel/electron11/files/patch-ui_base_x_x11__shm__image__pool.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- ui/base/x/x11_shm_image_pool.cc.orig 2021-01-07 00:37:26 UTC
-+++ ui/base/x/x11_shm_image_pool.cc
-@@ -16,6 +16,7 @@
- #include "base/environment.h"
- #include "base/location.h"
- #include "base/strings/string_util.h"
-+#include "base/system/sys_info.h"
- #include "base/threading/thread_task_runner_handle.h"
- #include "build/build_config.h"
- #include "net/base/url_util.h"
-@@ -45,10 +46,14 @@ constexpr float kShmResizeShrinkThreshold =
- 1.0f / (kShmResizeThreshold * kShmResizeThreshold);
-
- std::size_t MaxShmSegmentSizeImpl() {
-+#if defined(OS_BSD)
-+ return base::SysInfo::MaxSharedMemorySize();
-+#else
- struct shminfo info;
- if (shmctl(0, IPC_INFO, reinterpret_cast<struct shmid_ds*>(&info)) == -1)
- return 0;
- return info.shmmax;
-+#endif
- }
-
- std::size_t MaxShmSegmentSize() {
diff --git a/devel/electron11/files/patch-ui_compositor_compositor.cc b/devel/electron11/files/patch-ui_compositor_compositor.cc
deleted file mode 100644
index ee9178b3dbc1..000000000000
--- a/devel/electron11/files/patch-ui_compositor_compositor.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/compositor/compositor.cc.orig 2021-01-07 00:37:27 UTC
-+++ ui/compositor/compositor.cc
-@@ -730,7 +730,7 @@ void Compositor::CancelThroughtputTracker(TrackerId tr
- throughput_tracker_map_.erase(tracker_id);
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) {
- for (auto& observer : observer_list_)
- observer.OnCompositingCompleteSwapWithNewSize(this, size);
diff --git a/devel/electron11/files/patch-ui_compositor_compositor.h b/devel/electron11/files/patch-ui_compositor_compositor.h
deleted file mode 100644
index 7dfb146bb277..000000000000
--- a/devel/electron11/files/patch-ui_compositor_compositor.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/compositor/compositor.h.orig 2021-01-25 11:27:00 UTC
-+++ ui/compositor/compositor.h
-@@ -379,7 +379,7 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerT
- void StopThroughtputTracker(TrackerId tracker_id) override;
- void CancelThroughtputTracker(TrackerId tracker_id) override;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- void OnCompleteSwapWithNewSize(const gfx::Size& size);
- #endif
-
diff --git a/devel/electron11/files/patch-ui_compositor_compositor__observer.h b/devel/electron11/files/patch-ui_compositor_compositor__observer.h
deleted file mode 100644
index b813eab160f8..000000000000
--- a/devel/electron11/files/patch-ui_compositor_compositor__observer.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- ui/compositor/compositor_observer.h.orig 2021-01-07 00:37:27 UTC
-+++ ui/compositor/compositor_observer.h
-@@ -42,11 +42,11 @@ class COMPOSITOR_EXPORT CompositorObserver {
- // Called when a child of the compositor is resizing.
- virtual void OnCompositingChildResizing(Compositor* compositor) {}
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Called when a swap with new size is completed.
- virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor,
- const gfx::Size& size) {}
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Called at the top of the compositor's destructor, to give observers a
- // chance to remove themselves.
diff --git a/devel/electron11/files/patch-ui_events_event.cc b/devel/electron11/files/patch-ui_events_event.cc
deleted file mode 100644
index 09de82cac804..000000000000
--- a/devel/electron11/files/patch-ui_events_event.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/events/event.cc.orig 2021-01-07 00:37:28 UTC
-+++ ui/events/event.cc
-@@ -469,7 +469,7 @@ std::string LocatedEvent::ToString() const {
- MouseEvent::MouseEvent(const PlatformEvent& native_event)
- : LocatedEvent(native_event),
- changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)),
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- movement_(GetMouseMovementFromNative(native_event)),
- #endif
- pointer_details_(GetMousePointerDetailsFromNative(native_event)) {
diff --git a/devel/electron11/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/devel/electron11/files/patch-ui_events_keycodes_dom_keycode__converter.cc
deleted file mode 100644
index 0dc4ba667932..000000000000
--- a/devel/electron11/files/patch-ui_events_keycodes_dom_keycode__converter.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/events/keycodes/dom/keycode_converter.cc.orig 2021-01-07 00:37:28 UTC
-+++ ui/events/keycodes/dom/keycode_converter.cc
-@@ -20,7 +20,7 @@ namespace {
- #if defined(OS_WIN)
- #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
- { usb, win, code }
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
- { usb, xkb, code }
- #elif defined(OS_APPLE)
diff --git a/devel/electron11/files/patch-ui_gfx_BUILD.gn b/devel/electron11/files/patch-ui_gfx_BUILD.gn
deleted file mode 100644
index 8ffd07da4996..000000000000
--- a/devel/electron11/files/patch-ui_gfx_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/BUILD.gn.orig 2021-01-07 00:37:28 UTC
-+++ ui/gfx/BUILD.gn
-@@ -572,7 +572,7 @@ source_set("memory_buffer_sources") {
- deps += [ "//build/config/linux/libdrm" ]
- }
-
-- if (is_linux || is_chromeos || is_android) {
-+ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
- deps += [ "//third_party/libsync" ]
- }
-
diff --git a/devel/electron11/files/patch-ui_gfx_canvas__skia.cc b/devel/electron11/files/patch-ui_gfx_canvas__skia.cc
deleted file mode 100644
index 516e801d8516..000000000000
--- a/devel/electron11/files/patch-ui_gfx_canvas__skia.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/canvas_skia.cc.orig 2021-01-07 00:37:28 UTC
-+++ ui/gfx/canvas_skia.cc
-@@ -206,7 +206,7 @@ void Canvas::DrawStringRectWithFlags(const base::strin
- Range range = StripAcceleratorChars(flags, &adjusted_text);
- bool elide_text = ((flags & NO_ELLIPSIS) == 0);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // On Linux, eliding really means fading the end of the string. But only
- // for LTR text. RTL text is still elided (on the left) with "...".
- if (elide_text) {
diff --git a/devel/electron11/files/patch-ui_gfx_font__render__params.h b/devel/electron11/files/patch-ui_gfx_font__render__params.h
deleted file mode 100644
index 71900230464f..000000000000
--- a/devel/electron11/files/patch-ui_gfx_font__render__params.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/font_render_params.h.orig 2021-01-07 00:37:28 UTC
-+++ ui/gfx/font_render_params.h
-@@ -111,7 +111,7 @@ GFX_EXPORT FontRenderParams GetFontRenderParams(
- const FontRenderParamsQuery& query,
- std::string* family_out);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are
- // changing Fontconfig's configuration.
- GFX_EXPORT void ClearFontRenderParamsCacheForTest();
-@@ -120,7 +120,7 @@ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
- // Gets the device scale factor to query the FontRenderParams.
- GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
- defined(OS_ANDROID) || defined(OS_FUCHSIA)
- // Sets the device scale factor for FontRenderParams to decide
- // if it should enable subpixel positioning.
diff --git a/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.cc b/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.cc
deleted file mode 100644
index 14636d6472c6..000000000000
--- a/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/gpu_memory_buffer.cc.orig 2021-01-07 00:37:28 UTC
-+++ ui/gfx/gpu_memory_buffer.cc
-@@ -34,7 +34,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c
- handle.region = region.Duplicate();
- handle.offset = offset;
- handle.stride = stride;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle);
- #elif defined(OS_MAC)
- handle.mach_port = mach_port;
diff --git a/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.h b/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.h
deleted file mode 100644
index 760195b759ac..000000000000
--- a/devel/electron11/files/patch-ui_gfx_gpu__memory__buffer.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/gpu_memory_buffer.h.orig 2021-01-07 00:37:28 UTC
-+++ ui/gfx/gpu_memory_buffer.h
-@@ -15,7 +15,7 @@
- #include "ui/gfx/geometry/rect.h"
- #include "ui/gfx/gfx_export.h"
-
--#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gfx/native_pixmap_handle.h"
- #elif defined(OS_MAC)
- #include "ui/gfx/mac/io_surface.h"
-@@ -69,7 +69,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle {
- base::UnsafeSharedMemoryRegion region;
- uint32_t offset = 0;
- int32_t stride = 0;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- NativePixmapHandle native_pixmap_handle;
- #elif defined(OS_MAC)
- ScopedRefCountedIOSurfaceMachPort mach_port;
diff --git a/devel/electron11/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h b/devel/electron11/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
deleted file mode 100644
index 0c092e1a509e..000000000000
--- a/devel/electron11/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
+++ /dev/null
@@ -1,44 +0,0 @@
---- ui/gfx/ipc/gfx_param_traits_macros.h.orig 2021-01-07 00:37:29 UTC
-+++ ui/gfx/ipc/gfx_param_traits_macros.h
-@@ -18,7 +18,7 @@
- #include "ui/gfx/selection_bound.h"
- #include "ui/gfx/swap_result.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "ui/gfx/native_pixmap_handle.h"
- #endif
-
-@@ -48,7 +48,7 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferHandle)
- IPC_STRUCT_TRAITS_MEMBER(region)
- IPC_STRUCT_TRAITS_MEMBER(offset)
- IPC_STRUCT_TRAITS_MEMBER(stride)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(native_pixmap_handle)
- #elif defined(OS_APPLE)
- IPC_STRUCT_TRAITS_MEMBER(mach_port)
-@@ -63,12 +63,12 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferId)
- IPC_STRUCT_TRAITS_MEMBER(id)
- IPC_STRUCT_TRAITS_END()
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapPlane)
- IPC_STRUCT_TRAITS_MEMBER(stride)
- IPC_STRUCT_TRAITS_MEMBER(offset)
- IPC_STRUCT_TRAITS_MEMBER(size)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(fd)
- #elif defined(OS_FUCHSIA)
- IPC_STRUCT_TRAITS_MEMBER(vmo)
-@@ -77,7 +77,7 @@ IPC_STRUCT_TRAITS_END()
-
- IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle)
- IPC_STRUCT_TRAITS_MEMBER(planes)
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(modifier)
- #endif
- #if defined(OS_FUCHSIA)
diff --git a/devel/electron11/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc b/devel/electron11/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
deleted file mode 100644
index f9bbc34f12f0..000000000000
--- a/devel/electron11/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/gfx/linux/client_native_pixmap_dmabuf.cc
-@@ -5,7 +5,9 @@
- #include "ui/gfx/linux/client_native_pixmap_dmabuf.h"
-
- #include <fcntl.h>
-+#if !defined(__FreeBSD__)
- #include <linux/version.h>
-+#endif
- #include <stddef.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
-@@ -27,11 +29,7 @@
- #include "ui/gfx/buffer_format_util.h"
- #include "ui/gfx/switches.h"
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
--#include <linux/dma-buf.h>
--#else
--#include <linux/types.h>
--
-+#if defined(__FreeBSD__)
- struct dma_buf_sync {
- __u64 flags;
- };
diff --git a/devel/electron11/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/devel/electron11/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
deleted file mode 100644
index d2d3fd6ce23a..000000000000
--- a/devel/electron11/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/gfx/mojom/buffer_types_mojom_traits.cc
-@@ -33,7 +33,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle(
- std::move(handle.region));
- case gfx::NATIVE_PIXMAP:
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
- std::move(handle.native_pixmap_handle));
- #else
-@@ -109,7 +109,7 @@ bool StructTraits<gfx::mojom::GpuMemoryBufferHandleDat
- out->type = gfx::SHARED_MEMORY_BUFFER;
- out->region = std::move(platform_handle->get_shared_memory_handle());
- return true;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
- case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
- NATIVE_PIXMAP_HANDLE:
- out->type = gfx::NATIVE_PIXMAP;
diff --git a/devel/electron11/files/patch-ui_gfx_native__widget__types.h b/devel/electron11/files/patch-ui_gfx_native__widget__types.h
deleted file mode 100644
index 2298ceb776ba..000000000000
--- a/devel/electron11/files/patch-ui_gfx_native__widget__types.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/native_widget_types.h.orig 2021-01-07 00:37:29 UTC
-+++ ui/gfx/native_widget_types.h
-@@ -103,7 +103,7 @@ class ViewAndroid;
- #endif
- class SkBitmap;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- extern "C" {
- struct _AtkObject;
- typedef struct _AtkObject AtkObject;
-@@ -204,7 +204,7 @@ typedef id NativeViewAccessible;
- #elif defined(OS_MAC)
- typedef NSFont* NativeFont;
- typedef id NativeViewAccessible;
--#elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Linux doesn't have a native font type.
- typedef AtkObject* NativeViewAccessible;
- #else
diff --git a/devel/electron11/files/patch-ui_gfx_render__text.cc b/devel/electron11/files/patch-ui_gfx_render__text.cc
deleted file mode 100644
index 4968b5b46d25..000000000000
--- a/devel/electron11/files/patch-ui_gfx_render__text.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- ui/gfx/render_text.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/gfx/render_text.cc
-@@ -1191,32 +1191,33 @@ void RenderText::SetDisplayOffset(int horizontal_offse
- const int extra_content = GetContentWidth() - display_rect_.width();
- const int cursor_width = cursor_enabled_ ? 1 : 0;
-
-- int min_offset = 0;
-- int max_offset = 0;
-+ // avoid collisions with vm_map.h on FreeBSD --cmt
-+ int _min_offset = 0;
-+ int _max_offset = 0;
- if (extra_content > 0) {
- switch (GetCurrentHorizontalAlignment()) {
- case ALIGN_LEFT:
-- min_offset = -extra_content;
-+ _min_offset = -extra_content;
- break;
- case ALIGN_RIGHT:
-- max_offset = extra_content;
-+ _max_offset = extra_content;
- break;
- case ALIGN_CENTER:
- // The extra space reserved for cursor at the end of the text is ignored
- // when centering text. So, to calculate the valid range for offset, we
- // exclude that extra space, calculate the range, and add it back to the
- // range (if cursor is enabled).
-- min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
-- max_offset = (extra_content - cursor_width) / 2;
-+ _min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
-+ _max_offset = (extra_content - cursor_width) / 2;
- break;
- default:
- break;
- }
- }
-- if (horizontal_offset < min_offset)
-- horizontal_offset = min_offset;
-- else if (horizontal_offset > max_offset)
-- horizontal_offset = max_offset;
-+ if (horizontal_offset < _min_offset)
-+ horizontal_offset = _min_offset;
-+ else if (horizontal_offset > _max_offset)
-+ horizontal_offset = _max_offset;
-
- cached_bounds_and_offset_valid_ = true;
- display_offset_.set_x(horizontal_offset);
diff --git a/devel/electron11/files/patch-ui_gl_BUILD.gn b/devel/electron11/files/patch-ui_gl_BUILD.gn
deleted file mode 100644
index f5147e83cb9f..000000000000
--- a/devel/electron11/files/patch-ui_gl_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/BUILD.gn.orig 2021-01-07 00:37:29 UTC
-+++ ui/gl/BUILD.gn
-@@ -225,7 +225,7 @@ component("gl") {
- ]
- }
-
-- if (is_posix && !is_fuchsia && !is_mac) {
-+ if (is_posix && !is_fuchsia && !is_mac && !is_bsd) {
- # Windows has USE_EGL but doesn't support base::FileDescriptor.
- # libsync isn't supported or needed on MacOSX.
- # Fuchsia is excluded due to a libsync dependency and because it's
diff --git a/devel/electron11/files/patch-ui_gl_generate__bindings.py b/devel/electron11/files/patch-ui_gl_generate__bindings.py
deleted file mode 100644
index 751784fe1812..000000000000
--- a/devel/electron11/files/patch-ui_gl_generate__bindings.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- ui/gl/generate_bindings.py.orig 2021-01-07 00:37:29 UTC
-+++ ui/gl/generate_bindings.py
-@@ -2836,6 +2836,9 @@ GLX_FUNCTIONS = [
- 'arguments':
- 'Display* dpy, GLXDrawable drawable, int32_t* numerator, '
- 'int32_t* denominator' },
-+{ 'return_type': '__GLXextFuncPtr',
-+ 'names': ['glXGetProcAddressARB'],
-+ 'arguments': 'const GLubyte* procName', },
- { 'return_type': 'void',
- 'names': ['glXGetSelectedEvent'],
- 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
diff --git a/devel/electron11/files/patch-ui_gl_gl__features.cc b/devel/electron11/files/patch-ui_gl_gl__features.cc
deleted file mode 100644
index 5f242734ba0a..000000000000
--- a/devel/electron11/files/patch-ui_gl_gl__features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_features.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/gl/gl_features.cc
-@@ -14,7 +14,7 @@ namespace features {
- const base::Feature kDefaultPassthroughCommandDecoder{
- "DefaultPassthroughCommandDecoder",
- #if defined(OS_WIN) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(CHROMECAST_BUILD))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(CHROMECAST_BUILD)) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/devel/electron11/files/patch-ui_message__center_views_message__popup__view.cc b/devel/electron11/files/patch-ui_message__center_views_message__popup__view.cc
deleted file mode 100644
index ac202f32f079..000000000000
--- a/devel/electron11/files/patch-ui_message__center_views_message__popup__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/message_center/views/message_popup_view.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/message_center/views/message_popup_view.cc
-@@ -110,7 +110,7 @@ void MessagePopupView::AutoCollapse() {
- void MessagePopupView::Show() {
- views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP);
- params.z_order = ui::ZOrderLevel::kFloatingWindow;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Make the widget explicitly activatable as TYPE_POPUP is not activatable by
- // default but we need focus for the inline reply textarea.
- params.activatable = views::Widget::InitParams::ACTIVATABLE_YES;
diff --git a/devel/electron11/files/patch-ui_native__theme_native__theme.h b/devel/electron11/files/patch-ui_native__theme_native__theme.h
deleted file mode 100644
index e2ad630ab8c8..000000000000
--- a/devel/electron11/files/patch-ui_native__theme_native__theme.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/native_theme/native_theme.h.orig 2021-01-25 11:27:00 UTC
-+++ ui/native_theme/native_theme.h
-@@ -51,7 +51,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
- // The part to be painted / sized.
- enum Part {
- kCheckbox,
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- kFrameTopArea,
- #endif
- kInnerSpinButton,
diff --git a/devel/electron11/files/patch-ui_native__theme_native__theme__base.cc b/devel/electron11/files/patch-ui_native__theme_native__theme__base.cc
deleted file mode 100644
index 8195bf6b7665..000000000000
--- a/devel/electron11/files/patch-ui_native__theme_native__theme__base.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/native_theme/native_theme_base.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/native_theme/native_theme_base.cc
-@@ -255,7 +255,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
- case kCheckbox:
- PaintCheckbox(canvas, state, rect, extra.button, color_scheme);
- break;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- case kFrameTopArea:
- PaintFrameTopArea(canvas, state, rect, extra.frame_top_area,
- color_scheme);
diff --git a/devel/electron11/files/patch-ui_ozone_ozone.gni b/devel/electron11/files/patch-ui_ozone_ozone.gni
deleted file mode 100644
index aeecd1c69416..000000000000
--- a/devel/electron11/files/patch-ui_ozone_ozone.gni
+++ /dev/null
@@ -1,12 +0,0 @@
---- ui/ozone/ozone.gni.orig 2021-01-07 00:37:29 UTC
-+++ ui/ozone/ozone.gni
-@@ -69,6 +69,9 @@ declare_args() {
- ozone_platform = "x11"
- ozone_platform_drm = true
- ozone_platform_x11 = true
-+ } else if (is_bsd) {
-+ ozone_platform = "x11"
-+ ozone_platform_x11 = true
- } else if (is_desktop_linux) {
- ozone_platform = "x11"
- ozone_platform_wayland = true
diff --git a/devel/electron11/files/patch-ui_platform__window_platform__window__init__properties.h b/devel/electron11/files/patch-ui_platform__window_platform__window__init__properties.h
deleted file mode 100644
index efee8d87d308..000000000000
--- a/devel/electron11/files/patch-ui_platform__window_platform__window__init__properties.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/platform_window/platform_window_init_properties.h.orig 2021-01-07 00:37:29 UTC
-+++ ui/platform_window/platform_window_init_properties.h
-@@ -41,7 +41,7 @@ enum class PlatformWindowOpacity {
-
- class WorkspaceExtensionDelegate;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- class X11ExtensionDelegate;
- #endif
-
-@@ -82,7 +82,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
-
- WorkspaceExtensionDelegate* workspace_extension_delegate = nullptr;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- bool prefer_dark_theme = false;
- gfx::ImageSkia* icon = nullptr;
- base::Optional<int> background_color;
diff --git a/devel/electron11/files/patch-ui_strings_app__locale__settings.grd b/devel/electron11/files/patch-ui_strings_app__locale__settings.grd
deleted file mode 100644
index ce70e21c5747..000000000000
--- a/devel/electron11/files/patch-ui_strings_app__locale__settings.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/strings/app_locale_settings.grd.orig 2021-01-07 00:37:29 UTC
-+++ ui/strings/app_locale_settings.grd
-@@ -217,7 +217,7 @@
- 75%
- </message>
- </if>
-- <if expr="(is_linux or is_android or is_bsd) and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <!-- The font used in Web UI (e.g. History). Note that these are only
- backups. We try to use the system font if possible. -->
- <message name="IDS_WEB_FONT_FAMILY" use_name_for_id="true">
diff --git a/devel/electron11/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc b/devel/electron11/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc
deleted file mode 100644
index f4ba061ce5f4..000000000000
--- a/devel/electron11/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/bubble/bubble_dialog_delegate_view.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/bubble/bubble_dialog_delegate_view.cc
-@@ -319,7 +319,7 @@ Widget* BubbleDialogDelegate::CreateBubble(
- bubble_delegate->SetAnchorView(bubble_delegate->GetAnchorView());
- Widget* bubble_widget = CreateBubbleWidget(bubble_delegate);
-
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_APPLE)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_APPLE) || defined(OS_BSD)
- // Linux clips bubble windows that extend outside their parent window bounds.
- // Mac never adjusts.
- bubble_delegate->set_adjust_if_offscreen(false);
diff --git a/devel/electron11/files/patch-ui_views_controls_label.cc b/devel/electron11/files/patch-ui_views_controls_label.cc
deleted file mode 100644
index 77930231936f..000000000000
--- a/devel/electron11/files/patch-ui_views_controls_label.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/views/controls/label.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/controls/label.cc
-@@ -726,7 +726,7 @@ bool Label::OnMousePressed(const ui::MouseEvent& event
- GetFocusManager()->SetFocusedView(this);
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (event.IsOnlyMiddleMouseButton() && GetFocusManager() && !had_focus)
- GetFocusManager()->SetFocusedView(this);
- #endif
-@@ -913,7 +913,7 @@ bool Label::PasteSelectionClipboard() {
- }
-
- void Label::UpdateSelectionClipboard() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (!GetObscured()) {
- ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection)
- .WriteText(GetSelectedText());
diff --git a/devel/electron11/files/patch-ui_views_controls_textfield_textfield.cc b/devel/electron11/files/patch-ui_views_controls_textfield_textfield.cc
deleted file mode 100644
index 2c2b82f16302..000000000000
--- a/devel/electron11/files/patch-ui_views_controls_textfield_textfield.cc
+++ /dev/null
@@ -1,73 +0,0 @@
---- ui/views/controls/textfield/textfield.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/controls/textfield/textfield.cc
-@@ -65,7 +65,7 @@
- #include "base/win/win_util.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- #include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-@@ -192,14 +192,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke
- #endif
- return ui::TextEditCommand::DELETE_BACKWARD;
- }
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Only erase by line break on Linux and ChromeOS.
- if (shift)
- return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE;
- #endif
- return ui::TextEditCommand::DELETE_WORD_BACKWARD;
- case ui::VKEY_DELETE:
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Only erase by line break on Linux and ChromeOS.
- if (shift && control)
- return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
-@@ -267,7 +267,7 @@ bool IsControlKeyModifier(int flags) {
- // Control-modified key combination, but we cannot extend it to other platforms
- // as Control has different meanings and behaviors.
- // https://crrev.com/2580483002/#msg46
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- return flags & ui::EF_CONTROL_DOWN;
- #else
- return false;
-@@ -758,7 +758,7 @@ bool Textfield::OnMousePressed(const ui::MouseEvent& e
- #endif
- }
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (!handled && !had_focus && event.IsOnlyMiddleMouseButton())
- RequestFocusWithPointer(ui::EventPointerType::kMouse);
- #endif
-@@ -805,7 +805,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
- if (!textfield)
- return handled;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
- ui::GetTextEditKeyBindingsDelegate();
- std::vector<ui::TextEditCommandAuraLinux> commands;
-@@ -957,7 +957,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
- }
-
- bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- // Skip any accelerator handling that conflicts with custom keybindings.
- ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
- ui::GetTextEditKeyBindingsDelegate();
-@@ -2241,7 +2241,7 @@ bool Textfield::PasteSelectionClipboard() {
- }
-
- void Textfield::UpdateSelectionClipboard() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- if (text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD) {
- ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection)
- .WriteText(GetSelectedText());
diff --git a/devel/electron11/files/patch-ui_views_corewm_tooltip__aura.cc b/devel/electron11/files/patch-ui_views_corewm_tooltip__aura.cc
deleted file mode 100644
index 77c10e19fc2c..000000000000
--- a/devel/electron11/files/patch-ui_views_corewm_tooltip__aura.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/corewm/tooltip_aura.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/corewm/tooltip_aura.cc
-@@ -46,7 +46,7 @@ constexpr int kVerticalPaddingBottom = 5;
-
- // TODO(varkha): Update if native widget can be transparent on Linux.
- bool CanUseTranslucentTooltipWidget() {
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || defined(OS_BSD)
- return false;
- #else
- return true;
diff --git a/devel/electron11/files/patch-ui_views_examples_widget__example.cc b/devel/electron11/files/patch-ui_views_examples_widget__example.cc
deleted file mode 100644
index 5955bf41af92..000000000000
--- a/devel/electron11/files/patch-ui_views_examples_widget__example.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/examples/widget_example.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/examples/widget_example.cc
-@@ -67,7 +67,7 @@ void WidgetExample::CreateExampleView(View* container)
- DIALOG);
- BuildButton(container, GetStringUTF16(IDS_WIDGET_MODAL_BUTTON_LABEL),
- MODAL_DIALOG);
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Windows does not support TYPE_CONTROL top-level widgets.
- BuildButton(container, GetStringUTF16(IDS_WIDGET_CHILD_WIDGET_BUTTON_LABEL),
- CHILD);
diff --git a/devel/electron11/files/patch-ui_views_focus_focus__manager.cc b/devel/electron11/files/patch-ui_views_focus_focus__manager.cc
deleted file mode 100644
index 880470667864..000000000000
--- a/devel/electron11/files/patch-ui_views_focus_focus__manager.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/views/focus/focus_manager.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/focus/focus_manager.cc
-@@ -622,7 +622,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
- if (!focus_manager->IsAcceleratorRegistered(accelerator))
- return false;
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Processing an accelerator can delete things. Because we
- // need these objects afterwards on Linux, save widget_ as weak pointer and
- // save the close_on_deactivate property value of widget_delegate in a
-@@ -637,7 +637,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
- const bool accelerator_processed =
- focus_manager->ProcessAccelerator(accelerator);
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // Need to manually close the bubble widget on Linux. On Linux when the
- // bubble is shown, the main widget remains active. Because of that when
- // focus is set to the main widget to process accelerator, the main widget
diff --git a/devel/electron11/files/patch-ui_views_selection__controller.cc b/devel/electron11/files/patch-ui_views_selection__controller.cc
deleted file mode 100644
index 159d34df431f..000000000000
--- a/devel/electron11/files/patch-ui_views_selection__controller.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/selection_controller.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/selection_controller.cc
-@@ -23,7 +23,7 @@ SelectionController::SelectionController(SelectionCont
- delegate_(delegate),
- handles_selection_clipboard_(false) {
- // On Linux, update the selection clipboard on a text selection.
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- set_handles_selection_clipboard(true);
- #endif
-
diff --git a/devel/electron11/files/patch-ui_views_style_platform__style.cc b/devel/electron11/files/patch-ui_views_style_platform__style.cc
deleted file mode 100644
index fc9945be15fb..000000000000
--- a/devel/electron11/files/patch-ui_views_style_platform__style.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/style/platform_style.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/style/platform_style.cc
-@@ -75,7 +75,7 @@ gfx::Range PlatformStyle::RangeToDeleteBackwards(const
- #endif // OS_APPLE
-
- #if !BUILDFLAG(ENABLE_DESKTOP_AURA) || \
-- (!defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD))
- // static
- std::unique_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder(
- LabelButton* button) {
diff --git a/devel/electron11/files/patch-ui_views_views__delegate.cc b/devel/electron11/files/patch-ui_views_views__delegate.cc
deleted file mode 100644
index 81854977f5e1..000000000000
--- a/devel/electron11/files/patch-ui_views_views__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/views_delegate.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/views_delegate.cc
-@@ -86,7 +86,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow
- return false;
- }
- #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const {
- return nullptr;
- }
diff --git a/devel/electron11/files/patch-ui_views_views__delegate.h b/devel/electron11/files/patch-ui_views_views__delegate.h
deleted file mode 100644
index bab25bed2a78..000000000000
--- a/devel/electron11/files/patch-ui_views_views__delegate.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/views_delegate.h.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/views_delegate.h
-@@ -134,7 +134,7 @@ class VIEWS_EXPORT ViewsDelegate {
- // environment.
- virtual bool IsWindowInMetro(gfx::NativeWindow window) const;
- #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- virtual gfx::ImageSkia* GetDefaultWindowIcon() const;
- #endif
-
diff --git a/devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
deleted file mode 100644
index 0e70b9829b32..000000000000
--- a/devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
-@@ -791,7 +791,7 @@ void DesktopWindowTreeHostPlatform::AddAdditionalInitP
- // DesktopWindowTreeHost:
-
- // Linux subclasses this host and adds some Linux specific bits.
--#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
- // static
- DesktopWindowTreeHost* DesktopWindowTreeHost::Create(
- internal::NativeWidgetDelegate* native_widget_delegate,
diff --git a/devel/electron11/files/patch-ui_views_widget_native__widget__aura.cc b/devel/electron11/files/patch-ui_views_widget_native__widget__aura.cc
deleted file mode 100644
index 2683958d54eb..000000000000
--- a/devel/electron11/files/patch-ui_views_widget_native__widget__aura.cc
+++ /dev/null
@@ -1,37 +0,0 @@
---- ui/views/widget/native_widget_aura.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/widget/native_widget_aura.cc
-@@ -65,7 +65,7 @@
- #endif
-
- #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- #include "ui/views/linux_ui/linux_ui.h"
- #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
- #endif
-@@ -1075,7 +1075,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS
-
- namespace {
- #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- void CloseWindow(aura::Window* window) {
- if (window) {
- Widget* widget = Widget::GetWidgetForNativeView(window);
-@@ -1106,14 +1106,14 @@ void Widget::CloseAllSecondaryWidgets() {
- #endif
-
- #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- DesktopWindowTreeHostLinux::CleanUpWindowList(CloseWindow);
- #endif
- }
-
- const ui::NativeTheme* Widget::GetNativeTheme() const {
- #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
-- (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- const LinuxUI* linux_ui = LinuxUI::instance();
- if (linux_ui) {
- ui::NativeTheme* native_theme =
diff --git a/devel/electron11/files/patch-ui_views_window_custom__frame__view.cc b/devel/electron11/files/patch-ui_views_window_custom__frame__view.cc
deleted file mode 100644
index 31eee81b967f..000000000000
--- a/devel/electron11/files/patch-ui_views_window_custom__frame__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/window/custom_frame_view.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/window/custom_frame_view.cc
-@@ -261,7 +261,7 @@ int CustomFrameView::NonClientTopBorderHeight() const
- int CustomFrameView::CaptionButtonY() const {
- // Maximized buttons start at window top so that even if their images aren't
- // drawn flush with the screen edge, they still obey Fitts' Law.
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)
- return FrameBorderThickness();
- #else
- return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness;
diff --git a/devel/electron11/files/patch-ui_views_window_dialog__delegate.cc b/devel/electron11/files/patch-ui_views_window_dialog__delegate.cc
deleted file mode 100644
index 47bc6b78fef6..000000000000
--- a/devel/electron11/files/patch-ui_views_window_dialog__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/window/dialog_delegate.cc.orig 2021-01-07 00:37:29 UTC
-+++ ui/views/window/dialog_delegate.cc
-@@ -71,7 +71,7 @@ Widget* DialogDelegate::CreateDialogWidget(
-
- // static
- bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
--#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
-+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
- BUILDFLAG(ENABLE_DESKTOP_AURA)
- // The new style doesn't support unparented dialogs on Linux desktop.
- return parent != nullptr;
diff --git a/devel/electron11/files/patch-ui_webui_resources_js_cr.js b/devel/electron11/files/patch-ui_webui_resources_js_cr.js
deleted file mode 100644
index 19df69ddc8b9..000000000000
--- a/devel/electron11/files/patch-ui_webui_resources_js_cr.js
+++ /dev/null
@@ -1,14 +0,0 @@
---- ui/webui/resources/js/cr.js.orig 2021-01-07 00:37:29 UTC
-+++ ui/webui/resources/js/cr.js
-@@ -430,6 +430,11 @@ var cr = cr || function(global) {
- get isMac() {
- return /Mac/.test(navigator.platform);
- },
-+
-+ /** Whether this is on *BSD. */
-+ get isBSD() {
-+ return /BSD/.test(navigator.userAgent);
-+ },
-
- /** Whether this is on the Windows platform or not. */
- get isWindows() {
diff --git a/devel/electron11/files/patch-v8_BUILD.gn b/devel/electron11/files/patch-v8_BUILD.gn
deleted file mode 100644
index 5afa9a8e43c8..000000000000
--- a/devel/electron11/files/patch-v8_BUILD.gn
+++ /dev/null
@@ -1,27 +0,0 @@
---- v8/BUILD.gn.orig 2021-01-25 11:27:01 UTC
-+++ v8/BUILD.gn
-@@ -4072,9 +4072,15 @@ v8_component("v8_libbase") {
- }
- }
-
-- if (is_linux || is_chromeos) {
-+ if (is_bsd) {
- sources += [
- "src/base/debug/stack_trace_posix.cc",
-+ "src/base/platform/platform-freebsd.cc",
-+ ]
-+ libs = [ "rt", "execinfo" ]
-+ } else if (is_linux || is_chromeos) {
-+ sources += [
-+ "src/base/debug/stack_trace_posix.cc",
- "src/base/platform/platform-linux.cc",
- ]
-
-@@ -4480,6 +4486,7 @@ if (current_toolchain == v8_generator_toolchain) {
- "src/interpreter/bytecodes.cc",
- "src/interpreter/bytecodes.h",
- ]
-+ libs = ["execinfo"]
-
- configs = [ ":internal_config_base" ]
-
diff --git a/devel/electron11/files/patch-v8_include_v8config.h b/devel/electron11/files/patch-v8_include_v8config.h
deleted file mode 100644
index 1fd9883ea30c..000000000000
--- a/devel/electron11/files/patch-v8_include_v8config.h
+++ /dev/null
@@ -1,21 +0,0 @@
---- v8/include/v8config.h.orig 2021-01-25 11:27:01 UTC
-+++ v8/include/v8config.h
-@@ -276,7 +276,18 @@
- # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
- (__has_attribute(warn_unused_result))
-
-+// Work around Clang bug present in 9.0.1, at least.
-+//
-+// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses
-+// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment
-+// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and
-+// becomes zero, triggering an internal Clang assertion that alignment must not
-+// be zero.
-+#if 0
- # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
-+#else
-+# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0
-+#endif
- # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
- # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
- # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
diff --git a/devel/electron11/files/patch-v8_src_api_api.cc b/devel/electron11/files/patch-v8_src_api_api.cc
deleted file mode 100644
index 1f041019aa12..000000000000
--- a/devel/electron11/files/patch-v8_src_api_api.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- v8/src/api/api.cc.orig 2021-01-25 11:27:01 UTC
-+++ v8/src/api/api.cc
-@@ -5764,7 +5764,7 @@ bool v8::V8::Initialize(const int build_config) {
- return true;
- }
-
--#if V8_OS_LINUX || V8_OS_MACOSX
-+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
- bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
- void* context) {
- #if V8_TARGET_ARCH_X64 && !V8_OS_ANDROID
diff --git a/devel/electron11/files/patch-v8_src_base_cpu.cc b/devel/electron11/files/patch-v8_src_base_cpu.cc
deleted file mode 100644
index ba94b09731c2..000000000000
--- a/devel/electron11/files/patch-v8_src_base_cpu.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- v8/src/base/cpu.cc.orig 2021-01-07 00:39:39 UTC
-+++ v8/src/base/cpu.cc
-@@ -534,6 +534,7 @@ CPU::CPU()
-
- #if V8_OS_LINUX
-
-+#if V8_OS_LINUX
- CPUInfo cpu_info;
-
- // Extract implementor from the "CPU implementer" field.
-@@ -567,6 +568,7 @@ CPU::CPU()
- }
- delete[] part;
- }
-+#endif
-
- // Extract architecture from the "CPU Architecture" field.
- // The list is well-known, unlike the the output of
diff --git a/devel/electron11/files/patch-v8_src_base_platform_platform-posix.cc b/devel/electron11/files/patch-v8_src_base_platform_platform-posix.cc
deleted file mode 100644
index 614f12f602a5..000000000000
--- a/devel/electron11/files/patch-v8_src_base_platform_platform-posix.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- v8/src/base/platform/platform-posix.cc.orig 2021-02-20 11:23:43 UTC
-+++ v8/src/base/platform/platform-posix.cc
-@@ -476,7 +476,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
-
- // static
- bool OS::HasLazyCommits() {
--#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX
-+#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
- return true;
- #else
- // TODO(bbudge) Return true for all POSIX platforms.
-@@ -607,6 +607,12 @@ int OS::GetCurrentThreadId() {
- return static_cast<int>(syscall(__NR_gettid));
- #elif V8_OS_ANDROID
- return static_cast<int>(gettid());
-+#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__)
-+ return static_cast<int>(lwp_gettid());
-+#elif V8_OS_FREEBSD
-+ return static_cast<int>(pthread_getthreadid_np());
-+#elif V8_OS_NETBSD
-+ return static_cast<int>(_lwp_self());
- #elif V8_OS_AIX
- return static_cast<int>(thread_self());
- #elif V8_OS_FUCHSIA
diff --git a/devel/electron11/files/patch-weblayer_BUILD.gn b/devel/electron11/files/patch-weblayer_BUILD.gn
deleted file mode 100644
index 613caa6045f9..000000000000
--- a/devel/electron11/files/patch-weblayer_BUILD.gn
+++ /dev/null
@@ -1,17 +0,0 @@
---- weblayer/BUILD.gn.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/BUILD.gn
-@@ -671,6 +671,14 @@ source_set("weblayer_lib_base") {
- ]
- }
-
-+ if (is_bsd) {
-+ deps -= [
-+ "//components/crash/content/browser",
-+ "//components/crash/core/app",
-+ "//components/crash/core/common",
-+ ]
-+ }
-+
- if (toolkit_views) {
- deps += [ "//ui/views" ]
- }
diff --git a/devel/electron11/files/patch-weblayer_app_content__main__delegate__impl.cc b/devel/electron11/files/patch-weblayer_app_content__main__delegate__impl.cc
deleted file mode 100644
index c56306ba6fe5..000000000000
--- a/devel/electron11/files/patch-weblayer_app_content__main__delegate__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- weblayer/app/content_main_delegate_impl.cc.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/app/content_main_delegate_impl.cc
-@@ -225,7 +225,7 @@ bool ContentMainDelegateImpl::ShouldCreateFeatureList(
-
- void ContentMainDelegateImpl::PreSandboxStartup() {
- #if defined(ARCH_CPU_ARM_FAMILY) && \
-- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
-+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- // Create an instance of the CPU class to parse /proc/cpuinfo and cache
- // cpu_brand info.
- base::CPU cpu_info;
diff --git a/devel/electron11/files/patch-weblayer_browser_browser__main__parts__impl.cc b/devel/electron11/files/patch-weblayer_browser_browser__main__parts__impl.cc
deleted file mode 100644
index 5b4d7d61574e..000000000000
--- a/devel/electron11/files/patch-weblayer_browser_browser__main__parts__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/browser/browser_main_parts_impl.cc.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/browser/browser_main_parts_impl.cc
-@@ -63,7 +63,7 @@
- #include "ui/base/ui_base_features.h"
- #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck
- #endif
--#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX)
-+#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "ui/base/ime/init/input_method_initializer.h"
- #endif
-
-@@ -157,7 +157,7 @@ int BrowserMainPartsImpl::PreEarlyInitialization() {
- if (!features::IsUsingOzonePlatform())
- ui::SetDefaultX11ErrorHandlers();
- #endif
--#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-+#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
- ui::InitializeInputMethodForTesting();
- #endif
- #if defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.cc b/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.cc
deleted file mode 100644
index d357efa414d6..000000000000
--- a/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/browser/content_browser_client_impl.cc.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/browser/content_browser_client_impl.cc
-@@ -135,7 +135,7 @@
- #include "weblayer/browser/weblayer_factory_impl_android.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- #include "content/public/common/content_descriptors.h"
- #endif
-
-@@ -382,7 +382,7 @@ void ContentBrowserClientImpl::ConfigureNetworkContext
-
- void ContentBrowserClientImpl::OnNetworkServiceCreated(
- network::mojom::NetworkService* network_service) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- network::mojom::CryptConfigPtr config = network::mojom::CryptConfig::New();
- content::GetNetworkService()->SetCryptConfig(std::move(config));
- #endif
diff --git a/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.h b/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.h
deleted file mode 100644
index 8d0449354034..000000000000
--- a/devel/electron11/files/patch-weblayer_browser_content__browser__client__impl.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- weblayer/browser/content_browser_client_impl.h.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/browser/content_browser_client_impl.h
-@@ -116,12 +116,12 @@ class ContentBrowserClientImpl : public content::Conte
- void RenderProcessWillLaunch(content::RenderProcessHost* host) override;
- scoped_refptr<content::QuotaPermissionContext> CreateQuotaPermissionContext()
- override;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- void GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
- content::PosixFileDescriptorInfo* mappings) override;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- void AppendExtraCommandLineSwitches(base::CommandLine* command_line,
- int child_process_id) override;
- #if defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-weblayer_browser_system__network__context__manager.cc b/devel/electron11/files/patch-weblayer_browser_system__network__context__manager.cc
deleted file mode 100644
index c3f6841c307d..000000000000
--- a/devel/electron11/files/patch-weblayer_browser_system__network__context__manager.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- weblayer/browser/system_network_context_manager.cc.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/browser/system_network_context_manager.cc
-@@ -64,10 +64,10 @@ void SystemNetworkContextManager::ConfigureDefaultNetw
- network::mojom::NetworkContextParams* network_context_params,
- const std::string& user_agent) {
- network_context_params->user_agent = user_agent;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- // We're not configuring the cookie encryption on these platforms yet.
- network_context_params->enable_encrypted_cookies = false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
- }
-
- SystemNetworkContextManager::SystemNetworkContextManager(
diff --git a/devel/electron11/files/patch-weblayer_common_weblayer__paths.cc b/devel/electron11/files/patch-weblayer_common_weblayer__paths.cc
deleted file mode 100644
index ebef2b085d54..000000000000
--- a/devel/electron11/files/patch-weblayer_common_weblayer__paths.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/common/weblayer_paths.cc.orig 2021-01-07 00:37:29 UTC
-+++ weblayer/common/weblayer_paths.cc
-@@ -17,7 +17,7 @@
-
- #if defined(OS_WIN)
- #include "base/base_paths_win.h"
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "base/nix/xdg_util.h"
- #endif
-
-@@ -35,7 +35,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
- return false;
- *result = result->AppendASCII("weblayer");
- return true;
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- base::FilePath config_dir(base::nix::GetXDGDirectory(
- env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir));
diff --git a/devel/electron11/files/yarn.lock b/devel/electron11/files/yarn.lock
deleted file mode 100644
index 4d59a175c8f0..000000000000
--- a/devel/electron11/files/yarn.lock
+++ /dev/null
@@ -1,8639 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/code-frame@^7.0.0":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
- integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
- dependencies:
- "@babel/highlight" "^7.0.0"
-
-"@babel/highlight@^7.0.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
- integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
- dependencies:
- chalk "^2.0.0"
- esutils "^2.0.2"
- js-tokens "^4.0.0"
-
-"@electron/docs-parser@^0.10.0":
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/@electron/docs-parser/-/docs-parser-0.10.0.tgz#cc399f3847c37a38af8c13c711dc57eb07e21994"
- integrity sha512-dNUNsW3tC5VWyWDD6awxDsA0Wc91PVaG4KmSBnqQmXE7bNjnEFE1hf5TaH0KOmJq1KMyQ2rbp7rrrvqRoLKP1Q==
- dependencies:
- "@types/markdown-it" "^0.0.9"
- chai "^4.2.0"
- chalk "^3.0.0"
- fs-extra "^8.1.0"
- lodash.camelcase "^4.3.0"
- markdown-it "^10.0.0"
- minimist "^1.2.0"
- ora "^4.0.3"
- pretty-ms "^5.1.0"
-
-"@electron/typescript-definitions@^8.7.5":
- version "8.7.5"
- resolved "https://registry.yarnpkg.com/@electron/typescript-definitions/-/typescript-definitions-8.7.5.tgz#d141b10a7abbe2ef72e4083f6eb4d344c3b886c9"
- integrity sha512-Q/0Iuas9PkDvLvejC9TYyVh+LdFF0GalHy6i2ZvMRS8MzYk3BLJI1ZsA2o4Z8DXk9G4b2ZVx8L3aNdDUvTjhGw==
- dependencies:
- "@types/node" "^11.13.7"
- chalk "^2.4.2"
- colors "^1.1.2"
- debug "^4.1.1"
- electron-docs "^3.0.2"
- fs-extra "^7.0.1"
- lodash "^4.17.11"
- minimist "^1.2.0"
- mkdirp "^0.5.1"
- ora "^3.4.0"
- pretty-ms "^5.0.0"
-
-"@nodelib/fs.scandir@2.1.3":
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
- integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
- dependencies:
- "@nodelib/fs.stat" "2.0.3"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
- integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
- integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
- dependencies:
- "@nodelib/fs.scandir" "2.1.3"
- fastq "^1.6.0"
-
-"@octokit/auth-app@^2.10.0":
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-2.10.0.tgz#ad79369fca1cc3035859f797310d5e81cc6e49c4"
- integrity sha512-mKFU7O5wI651iWgecs4fmJ2aLqOM3sWD1FJsUTm7nx21I4ePDhS+rGQmS5TZk5yz75Va6wEXesxUNFzuqCbP2A==
- dependencies:
- "@octokit/request" "^5.3.0"
- "@octokit/request-error" "^2.0.0"
- "@octokit/types" "^5.0.0"
- "@types/lru-cache" "^5.1.0"
- deprecation "^2.3.1"
- lru-cache "^6.0.0"
- universal-github-app-jwt "^1.0.1"
- universal-user-agent "^6.0.0"
-
-"@octokit/auth-token@^2.4.0":
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a"
- integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==
- dependencies:
- "@octokit/types" "^5.0.0"
-
-"@octokit/core@^3.0.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.1.tgz#1856745aa8fb154cf1544a2a1b82586c809c5e66"
- integrity sha512-cQ2HGrtyNJ1IBxpTP1U5m/FkMAJvgw7d2j1q3c9P0XUuYilEgF6e4naTpsgm4iVcQeOnccZlw7XHRIUBy0ymcg==
- dependencies:
- "@octokit/auth-token" "^2.4.0"
- "@octokit/graphql" "^4.3.1"
- "@octokit/request" "^5.4.0"
- "@octokit/types" "^5.0.0"
- before-after-hook "^2.1.0"
- universal-user-agent "^6.0.0"
-
-"@octokit/endpoint@^6.0.1":
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.5.tgz#43a6adee813c5ffd2f719e20cfd14a1fee7c193a"
- integrity sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ==
- dependencies:
- "@octokit/types" "^5.0.0"
- is-plain-object "^4.0.0"
- universal-user-agent "^6.0.0"
-
-"@octokit/graphql@^4.3.1":
- version "4.5.3"
- resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.3.tgz#d5ff0d4a8a33e98614a2a7359dac98bc285e062f"
- integrity sha512-JyYvi3j2tOb5ofASEpcg1Advs07H+Ag+I+ez7buuZfNVAmh1IYcDTuxd4gnYH8S2PSGu+f5IdDGxMmkK+5zsdA==
- dependencies:
- "@octokit/request" "^5.3.0"
- "@octokit/types" "^5.0.0"
- universal-user-agent "^6.0.0"
-
-"@octokit/plugin-paginate-rest@^2.2.0":
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.3.0.tgz#7d1073e56cfd15d3f99dcfe81fa5d2b466f3a6f6"
- integrity sha512-Ye2ZJreP0ZlqJQz8fz+hXvrEAEYK4ay7br1eDpWzr6j76VXs/gKqxFcH8qRzkB3fo/2xh4Vy9VtGii4ZDc9qlA==
- dependencies:
- "@octokit/types" "^5.2.0"
-
-"@octokit/plugin-request-log@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e"
- integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==
-
-"@octokit/plugin-rest-endpoint-methods@4.1.2":
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.1.2.tgz#546a8f3e0b514f434a4ad4ef926005f1c81a5a5a"
- integrity sha512-PTI7wpbGEZ2IR87TVh+TNWaLcgX/RsZQalFbQCq8XxYUrQ36RHyERrHSNXFy5gkWpspUAOYRSV707JJv6BhqJA==
- dependencies:
- "@octokit/types" "^5.1.1"
- deprecation "^2.3.1"
-
-"@octokit/request-error@^2.0.0":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0"
- integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==
- dependencies:
- "@octokit/types" "^5.0.1"
- deprecation "^2.0.0"
- once "^1.4.0"
-
-"@octokit/request@^5.3.0", "@octokit/request@^5.4.0":
- version "5.4.7"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.7.tgz#fd703ee092e0463ceba49ff7a3e61cb4cf8a0fde"
- integrity sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A==
- dependencies:
- "@octokit/endpoint" "^6.0.1"
- "@octokit/request-error" "^2.0.0"
- "@octokit/types" "^5.0.0"
- deprecation "^2.0.0"
- is-plain-object "^4.0.0"
- node-fetch "^2.3.0"
- once "^1.4.0"
- universal-user-agent "^6.0.0"
-
-"@octokit/rest@^18.0.3":
- version "18.0.3"
- resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.3.tgz#96a15ddb3a38dca5de9d75121378d6aa4a234fa5"
- integrity sha512-GubgemnLvUJlkhouTM2BtX+g/voYT/Mqh0SASGwTnLvSkW1irjt14N911/ABb6m1Hru0TwScOgFgMFggp3igfQ==
- dependencies:
- "@octokit/core" "^3.0.0"
- "@octokit/plugin-paginate-rest" "^2.2.0"
- "@octokit/plugin-request-log" "^1.0.0"
- "@octokit/plugin-rest-endpoint-methods" "4.1.2"
-
-"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.1.1", "@octokit/types@^5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.2.0.tgz#d075dc23bf293f540739250b6879e2c1be2fc20c"
- integrity sha512-XjOk9y4m8xTLIKPe1NFxNWBdzA2/z3PFFA/bwf4EoH6oS8hM0Y46mEa4Cb+KCyj/tFDznJFahzQ0Aj3o1FYq4A==
- dependencies:
- "@types/node" ">= 8"
-
-"@primer/octicons@^10.0.0":
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/@primer/octicons/-/octicons-10.0.0.tgz#81e94ed32545dfd3472c8625a5b345f3ea4c153d"
- integrity sha512-iuQubq62zXZjPmaqrsfsCZUqIJgZhmA6W0tKzIKGRbkoLnff4TFFCL87hfIRATZ5qZPM4m8ioT8/bXI7WVa9WQ==
- dependencies:
- object-assign "^4.1.1"
-
-"@types/anymatch@*":
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
- integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
-
-"@types/basic-auth@^1.1.3":
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/@types/basic-auth/-/basic-auth-1.1.3.tgz#a787ede8310804174fbbf3d6c623ab1ccedb02cd"
- integrity sha512-W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==
- dependencies:
- "@types/node" "*"
-
-"@types/body-parser@*":
- version "1.19.0"
- resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
- integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==
- dependencies:
- "@types/connect" "*"
- "@types/node" "*"
-
-"@types/busboy@^0.2.3":
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/@types/busboy/-/busboy-0.2.3.tgz#6697ad29873246c530f09a3ff5a40861824230d5"
- integrity sha1-ZpetKYcyRsUw8Jo/9aQIYYJCMNU=
- dependencies:
- "@types/node" "*"
-
-"@types/chai-as-promised@*":
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.1.tgz#004c27a4ac640e9590e25d8b0980cb0a6609bfd8"
- integrity sha512-dberBxQW/XWv6BMj0su1lV9/C9AUx5Hqu2pisuS6S4YK/Qt6vurcj/BmcbEsobIWWCQzhesNY8k73kIxx4X7Mg==
- dependencies:
- "@types/chai" "*"
-
-"@types/chai-as-promised@^7.1.3":
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd"
- integrity sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==
- dependencies:
- "@types/chai" "*"
-
-"@types/chai@*":
- version "4.1.7"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a"
- integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==
-
-"@types/chai@^4.2.12":
- version "4.2.12"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.12.tgz#6160ae454cd89dae05adc3bb97997f488b608201"
- integrity sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ==
-
-"@types/color-name@^1.1.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
- integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
-"@types/connect@*":
- version "3.4.33"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546"
- integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==
- dependencies:
- "@types/node" "*"
-
-"@types/dirty-chai@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@types/dirty-chai/-/dirty-chai-2.0.2.tgz#eeac4802329a41ed7815ac0c1a6360335bf77d0c"
- integrity sha512-BruwIN/UQEU0ePghxEX+OyjngpOfOUKJQh3cmfeq2h2Su/g001iljVi3+Y2y2EFp3IPgjf4sMrRU33Hxv1FUqw==
- dependencies:
- "@types/chai" "*"
- "@types/chai-as-promised" "*"
-
-"@types/eslint-visitor-keys@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
- integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
-
-"@types/events@*":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
- integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
-
-"@types/express-serve-static-core@*":
- version "4.17.8"
- resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.8.tgz#b8f7b714138536742da222839892e203df569d1c"
- integrity sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw==
- dependencies:
- "@types/node" "*"
- "@types/qs" "*"
- "@types/range-parser" "*"
-
-"@types/express@^4.17.7":
- version "4.17.7"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59"
- integrity sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==
- dependencies:
- "@types/body-parser" "*"
- "@types/express-serve-static-core" "*"
- "@types/qs" "*"
- "@types/serve-static" "*"
-
-"@types/fs-extra@^9.0.1":
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918"
- integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==
- dependencies:
- "@types/node" "*"
-
-"@types/glob@^7.1.1":
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
- integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
- dependencies:
- "@types/events" "*"
- "@types/minimatch" "*"
- "@types/node" "*"
-
-"@types/json-schema@^7.0.3":
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
- integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
-
-"@types/json-schema@^7.0.4":
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
- integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
-
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
-
-"@types/jsonwebtoken@^8.3.3":
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz#2531d5e300803aa63279b232c014acf780c981c5"
- integrity sha512-9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==
- dependencies:
- "@types/node" "*"
-
-"@types/linkify-it@*":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806"
- integrity sha512-Q7DYAOi9O/+cLLhdaSvKdaumWyHbm7HAk/bFwwyTuU0arR5yyCeW5GOoqt4tJTpDRxhpx9Q8kQL6vMpuw9hDSw==
-
-"@types/lru-cache@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03"
- integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==
-
-"@types/markdown-it@^0.0.9":
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.9.tgz#a5d552f95216c478e0a27a5acc1b28dcffd989ce"
- integrity sha512-IFSepyZXbF4dgSvsk8EsgaQ/8Msv1I5eTL0BZ0X3iGO9jw6tCVtPG8HchIPm3wrkmGdqZOD42kE0zplVi1gYDA==
- dependencies:
- "@types/linkify-it" "*"
-
-"@types/mime@*":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d"
- integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==
-
-"@types/minimatch@*":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
- integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
-
-"@types/mocha@^7.0.2":
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce"
- integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==
-
-"@types/node@*":
- version "12.6.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.1.tgz#d5544f6de0aae03eefbb63d5120f6c8be0691946"
- integrity sha512-rp7La3m845mSESCgsJePNL/JQyhkOJA6G4vcwvVgkDAwHhGdq5GCumxmPjEk1MZf+8p5ZQAUE7tqgQRQTXN7uQ==
-
-"@types/node@>= 8":
- version "14.0.27"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1"
- integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==
-
-"@types/node@^11.13.7":
- version "11.13.22"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.22.tgz#91ee88ebfa25072433497f6f3150f84fa8c3a91b"
- integrity sha512-rOsaPRUGTOXbRBOKToy4cgZXY4Y+QSVhxcLwdEveozbk7yuudhWMpxxcaXqYizLMP3VY7OcWCFtx9lGFh5j5kg==
-
-"@types/node@^12.12.6":
- version "12.12.30"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.30.tgz#3501e6f09b954de9c404671cefdbcc5d9d7c45f6"
- integrity sha512-sz9MF/zk6qVr3pAnM0BSQvYIBK44tS75QC5N+VbWSE4DjCV/pJ+UzCW/F+vVnl7TkOPcuwQureKNtSSwjBTaMg==
-
-"@types/normalize-package-data@^2.4.0":
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
- integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
-
-"@types/parse-json@^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
- integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-
-"@types/qs@*":
- version "6.9.3"
- resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.3.tgz#b755a0934564a200d3efdf88546ec93c369abd03"
- integrity sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==
-
-"@types/range-parser@*":
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
- integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
-
-"@types/semver@^7.3.3":
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.3.tgz#3ad6ed949e7487e7bda6f886b4a2434a2c3d7b1a"
- integrity sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q==
-
-"@types/send@^0.14.5":
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/@types/send/-/send-0.14.5.tgz#653f7d25b93c3f7f51a8994addaf8a229de022a7"
- integrity sha512-0mwoiK3DXXBu0GIfo+jBv4Wo5s1AcsxdpdwNUtflKm99VEMvmBPJ+/NBNRZy2R5JEYfWL/u4nAHuTUTA3wFecQ==
- dependencies:
- "@types/mime" "*"
- "@types/node" "*"
-
-"@types/serve-static@*":
- version "1.13.4"
- resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.4.tgz#6662a93583e5a6cabca1b23592eb91e12fa80e7c"
- integrity sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==
- dependencies:
- "@types/express-serve-static-core" "*"
- "@types/mime" "*"
-
-"@types/source-list-map@*":
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
- integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
-
-"@types/split@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/split/-/split-1.0.0.tgz#24f7c35707450b002f203383228f5a2bc1e6c228"
- integrity sha512-pm9S1mkr+av0j7D6pFyqhBxXDbnbO9gqj4nb8DtGtCewvj0XhIv089SSwXrjrIizT1UquO8/h83hCut0pa3u8A==
- dependencies:
- "@types/node" "*"
- "@types/through" "*"
-
-"@types/tapable@*":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370"
- integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==
-
-"@types/temp@^0.8.34":
- version "0.8.34"
- resolved "https://registry.yarnpkg.com/@types/temp/-/temp-0.8.34.tgz#03e4b3cb67cbb48c425bbf54b12230fef85540ac"
- integrity sha512-oLa9c5LHXgS6UimpEVp08De7QvZ+Dfu5bMQuWyMhf92Z26Q10ubEMOWy9OEfUdzW7Y/sDWVHmUaLFtmnX/2j0w==
- dependencies:
- "@types/node" "*"
-
-"@types/through@*":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.29.tgz#72943aac922e179339c651fa34a4428a4d722f93"
- integrity sha512-9a7C5VHh+1BKblaYiq+7Tfc+EOmjMdZaD1MYtkQjSoxgB69tBjW98ry6SKsi4zEIWztLOMRuL87A3bdT/Fc/4w==
- dependencies:
- "@types/node" "*"
-
-"@types/uglify-js@*":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082"
- integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==
- dependencies:
- source-map "^0.6.1"
-
-"@types/unist@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
- integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
-
-"@types/uuid@^3.4.6":
- version "3.4.6"
- resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.6.tgz#d2c4c48eb85a757bf2927f75f939942d521e3016"
- integrity sha512-cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==
- dependencies:
- "@types/node" "*"
-
-"@types/webpack-env@^1.15.2":
- version "1.15.2"
- resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.2.tgz#927997342bb9f4a5185a86e6579a0a18afc33b0a"
- integrity sha512-67ZgZpAlhIICIdfQrB5fnDvaKFcDxpKibxznfYRVAT4mQE41Dido/3Ty+E3xGBmTogc5+0Qb8tWhna+5B8z1iQ==
-
-"@types/webpack-sources@*":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.6.tgz#3d21dfc2ec0ad0c77758e79362426a9ba7d7cbcb"
- integrity sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==
- dependencies:
- "@types/node" "*"
- "@types/source-list-map" "*"
- source-map "^0.6.1"
-
-"@types/webpack@^4.41.21":
- version "4.41.21"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee"
- integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA==
- dependencies:
- "@types/anymatch" "*"
- "@types/node" "*"
- "@types/tapable" "*"
- "@types/uglify-js" "*"
- "@types/webpack-sources" "*"
- source-map "^0.6.0"
-
-"@typescript-eslint/eslint-plugin@^3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.1.tgz#8cf27b6227d12d66dd8dc1f1a4b04d1daad51c2e"
- integrity sha512-XIr+Mfv7i4paEdBf0JFdIl9/tVxyj+rlilWIfZ97Be0lZ7hPvUbS5iHt9Glc8kRI53dsr0PcAEudbf8rO2wGgg==
- dependencies:
- "@typescript-eslint/experimental-utils" "3.9.1"
- debug "^4.1.1"
- functional-red-black-tree "^1.0.1"
- regexpp "^3.0.0"
- semver "^7.3.2"
- tsutils "^3.17.1"
-
-"@typescript-eslint/experimental-utils@3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.1.tgz#b140b2dc7a7554a44f8a86fb6fe7cbfe57ca059e"
- integrity sha512-lkiZ8iBBaYoyEKhCkkw4SAeatXyBq9Ece5bZXdLe1LWBUwTszGbmbiqmQbwWA8cSYDnjWXp9eDbXpf9Sn0hLAg==
- dependencies:
- "@types/json-schema" "^7.0.3"
- "@typescript-eslint/types" "3.9.1"
- "@typescript-eslint/typescript-estree" "3.9.1"
- eslint-scope "^5.0.0"
- eslint-utils "^2.0.0"
-
-"@typescript-eslint/parser@^3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.1.tgz#ab7983abaea0ae138ff5671c7c7739d8a191b181"
- integrity sha512-y5QvPFUn4Vl4qM40lI+pNWhTcOWtpZAJ8pOEQ21fTTW4xTJkRplMjMRje7LYTXqVKKX9GJhcyweMz2+W1J5bMg==
- dependencies:
- "@types/eslint-visitor-keys" "^1.0.0"
- "@typescript-eslint/experimental-utils" "3.9.1"
- "@typescript-eslint/types" "3.9.1"
- "@typescript-eslint/typescript-estree" "3.9.1"
- eslint-visitor-keys "^1.1.0"
-
-"@typescript-eslint/types@3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416"
- integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw==
-
-"@typescript-eslint/typescript-estree@3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.1.tgz#fd81cada74bc8a7f3a2345b00897acb087935779"
- integrity sha512-IqM0gfGxOmIKPhiHW/iyAEXwSVqMmR2wJ9uXHNdFpqVvPaQ3dWg302vW127sBpAiqM9SfHhyS40NKLsoMpN2KA==
- dependencies:
- "@typescript-eslint/types" "3.9.1"
- "@typescript-eslint/visitor-keys" "3.9.1"
- debug "^4.1.1"
- glob "^7.1.6"
- is-glob "^4.0.1"
- lodash "^4.17.15"
- semver "^7.3.2"
- tsutils "^3.17.1"
-
-"@typescript-eslint/visitor-keys@3.9.1":
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.1.tgz#92af3747cdb71509199a8f7a4f00b41d636551d1"
- integrity sha512-zxdtUjeoSh+prCpogswMwVUJfEFmCOjdzK9rpNjNBfm6EyPt99x3RrJoBOGZO23FCt0WPKUCOL5mb/9D5LjdwQ==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-"@webassemblyjs/ast@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
- integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
- dependencies:
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
-
-"@webassemblyjs/floating-point-hex-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
- integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
-
-"@webassemblyjs/helper-api-error@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
- integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
-
-"@webassemblyjs/helper-buffer@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
- integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
-
-"@webassemblyjs/helper-code-frame@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
- integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
- dependencies:
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/helper-fsm@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
- integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
-
-"@webassemblyjs/helper-module-context@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
- integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
-
-"@webassemblyjs/helper-wasm-bytecode@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
- integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
-
-"@webassemblyjs/helper-wasm-section@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
- integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
-
-"@webassemblyjs/ieee754@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
- integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
- dependencies:
- "@xtuc/ieee754" "^1.2.0"
-
-"@webassemblyjs/leb128@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
- integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
- dependencies:
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/utf8@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
- integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
-
-"@webassemblyjs/wasm-edit@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
- integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/helper-wasm-section" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-opt" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- "@webassemblyjs/wast-printer" "1.9.0"
-
-"@webassemblyjs/wasm-gen@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
- integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wasm-opt@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
- integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-buffer" "1.9.0"
- "@webassemblyjs/wasm-gen" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
-
-"@webassemblyjs/wasm-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
- integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
- "@webassemblyjs/ieee754" "1.9.0"
- "@webassemblyjs/leb128" "1.9.0"
- "@webassemblyjs/utf8" "1.9.0"
-
-"@webassemblyjs/wast-parser@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
- integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/floating-point-hex-parser" "1.9.0"
- "@webassemblyjs/helper-api-error" "1.9.0"
- "@webassemblyjs/helper-code-frame" "1.9.0"
- "@webassemblyjs/helper-fsm" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@webassemblyjs/wast-printer@1.9.0":
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
- integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/wast-parser" "1.9.0"
- "@xtuc/long" "4.2.2"
-
-"@xtuc/ieee754@^1.2.0":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
- integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
-
-"@xtuc/long@4.2.2":
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
- integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
-accepts@~1.3.7:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
- integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
- dependencies:
- mime-types "~2.1.24"
- negotiator "0.6.2"
-
-acorn-jsx@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
- integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
-
-acorn@^6.4.1:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
- integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
-
-acorn@^7.1.1, acorn@^7.2.0:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
- integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
-
-aggregate-error@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
- integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
- dependencies:
- clean-stack "^2.0.0"
- indent-string "^4.0.0"
-
-ajv-errors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
- integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
- integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-
-ajv@^6.1.0, ajv@^6.5.5:
- version "6.10.1"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593"
- integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==
- dependencies:
- fast-deep-equal "^2.0.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^6.10.0:
- version "6.12.3"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
- integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^6.10.2:
- version "6.10.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
- integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
- dependencies:
- fast-deep-equal "^2.0.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ajv@^6.12.2:
- version "6.12.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
- integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ansi-colors@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
- integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
-
-ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
- integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
- dependencies:
- type-fest "^0.11.0"
-
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
-ansi-regex@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
- integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-
-ansi-regex@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
- integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
-
-ansi-styles@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
- integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
-
-ansi-styles@^3.2.0, ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
- integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
- dependencies:
- "@types/color-name" "^1.1.1"
- color-convert "^2.0.1"
-
-ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-anymatch@^1.3.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
- integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
- dependencies:
- micromatch "^2.1.5"
- normalize-path "^2.0.0"
-
-anymatch@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
- integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
- dependencies:
- micromatch "^3.1.4"
- normalize-path "^2.1.1"
-
-anymatch@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09"
- integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-aproba@^1.0.3, aproba@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-are-we-there-yet@~1.1.2:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
- integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-arr-diff@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
- integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
- dependencies:
- arr-flatten "^1.0.1"
-
-arr-diff@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
- integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
-
-arr-flatten@^1.0.1, arr-flatten@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
- integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
-
-arr-union@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
- integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-
-array-find-index@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
- integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
-
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
-
-array-includes@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
- integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=
- dependencies:
- define-properties "^1.1.2"
- es-abstract "^1.7.0"
-
-array-includes@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
- integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0"
- is-string "^1.0.5"
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array-unique@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
- integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
-
-array-unique@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
- integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-
-array.prototype.flat@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
- integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
-
-arrify@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
- integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
-
-asar@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b"
- integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==
- dependencies:
- chromium-pickle-js "^0.2.0"
- commander "^5.0.0"
- glob "^7.1.6"
- minimatch "^3.0.4"
- optionalDependencies:
- "@types/glob" "^7.1.1"
-
-asn1.js@^4.0.0:
- version "4.10.1"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
- integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-asn1@~0.2.3:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
- integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
-
-assert@^1.1.1:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
- integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
- dependencies:
- object-assign "^4.1.1"
- util "0.10.3"
-
-assertion-error@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
- integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
-
-assign-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
- integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
-
-astral-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
- integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
-
-astral-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
- integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
-
-async-each@^1.0.0, async-each@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
- integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-
-at-least-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
- integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-
-atob@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
- integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
-
-aws4@^1.8.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
- integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
-
-bail@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b"
- integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==
-
-balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
-
-base64-js@^1.0.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
- integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
-
-base@^0.11.1:
- version "0.11.2"
- resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
- integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
- dependencies:
- cache-base "^1.0.1"
- class-utils "^0.3.5"
- component-emitter "^1.2.1"
- define-property "^1.0.0"
- isobject "^3.0.1"
- mixin-deep "^1.2.0"
- pascalcase "^0.1.1"
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
- dependencies:
- tweetnacl "^0.14.3"
-
-before-after-hook@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
- integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==
-
-big.js@^5.2.2:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
- integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-binary-extensions@^1.0.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
- integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
-
-binary-extensions@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
- integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
-
-bl@^1.0.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c"
- integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==
- dependencies:
- readable-stream "^2.3.5"
- safe-buffer "^5.1.1"
-
-bluebird@^3.5.5:
- version "3.5.5"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
- integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
-
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
- integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
-
-body-parser@1.19.0:
- version "1.19.0"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
- integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
- dependencies:
- bytes "3.1.0"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "~1.1.2"
- http-errors "1.7.2"
- iconv-lite "0.4.24"
- on-finished "~2.3.0"
- qs "6.7.0"
- raw-body "2.4.0"
- type-is "~1.6.17"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^1.8.2:
- version "1.8.5"
- resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
- integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
- dependencies:
- expand-range "^1.8.1"
- preserve "^0.2.0"
- repeat-element "^1.1.2"
-
-braces@^2.3.1, braces@^2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
- integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
- dependencies:
- arr-flatten "^1.1.0"
- array-unique "^0.3.2"
- extend-shallow "^2.0.1"
- fill-range "^4.0.0"
- isobject "^3.0.1"
- repeat-element "^1.1.2"
- snapdragon "^0.8.1"
- snapdragon-node "^2.0.1"
- split-string "^3.0.2"
- to-regex "^3.0.1"
-
-braces@^3.0.1, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-brorand@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
-
-browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserify-cipher@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
- integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
- dependencies:
- browserify-aes "^1.0.4"
- browserify-des "^1.0.0"
- evp_bytestokey "^1.0.0"
-
-browserify-des@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
- integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
- dependencies:
- cipher-base "^1.0.1"
- des.js "^1.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-browserify-rsa@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
- integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
- dependencies:
- bn.js "^4.1.0"
- randombytes "^2.0.1"
-
-browserify-sign@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
- integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
- dependencies:
- bn.js "^4.1.1"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.2"
- elliptic "^6.0.0"
- inherits "^2.0.1"
- parse-asn1 "^5.0.0"
-
-browserify-zlib@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
- integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=
- dependencies:
- pako "~0.2.0"
-
-browserify-zlib@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
- integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
- dependencies:
- pako "~1.0.5"
-
-buffer-alloc-unsafe@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
- integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
-
-buffer-alloc@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
- integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
- dependencies:
- buffer-alloc-unsafe "^1.1.0"
- buffer-fill "^1.0.0"
-
-buffer-equal-constant-time@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
- integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
-
-buffer-fill@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
- integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
-
-buffer-from@^1.0.0, buffer-from@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
- integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
-
-buffer@^4.3.0:
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
- integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
- dependencies:
- base64-js "^1.0.2"
- ieee754 "^1.1.4"
- isarray "^1.0.0"
-
-builtin-status-codes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
- integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
-
-bytes@3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
- integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-
-cacache@^12.0.2:
- version "12.0.3"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390"
- integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==
- dependencies:
- bluebird "^3.5.5"
- chownr "^1.1.1"
- figgy-pudding "^3.5.1"
- glob "^7.1.4"
- graceful-fs "^4.1.15"
- infer-owner "^1.0.3"
- lru-cache "^5.1.1"
- mississippi "^3.0.0"
- mkdirp "^0.5.1"
- move-concurrently "^1.0.1"
- promise-inflight "^1.0.1"
- rimraf "^2.6.3"
- ssri "^6.0.1"
- unique-filename "^1.1.1"
- y18n "^4.0.0"
-
-cache-base@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
- integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
- dependencies:
- collection-visit "^1.0.0"
- component-emitter "^1.2.1"
- get-value "^2.0.6"
- has-value "^1.0.0"
- isobject "^3.0.1"
- set-value "^2.0.0"
- to-object-path "^0.3.0"
- union-value "^1.0.0"
- unset-value "^1.0.0"
-
-caller-callsite@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
- integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
- dependencies:
- callsites "^2.0.0"
-
-caller-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
- integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
- dependencies:
- caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
- integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
- integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
- dependencies:
- camelcase "^2.0.0"
- map-obj "^1.0.0"
-
-camelcase@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
- integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
-
-camelcase@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
- integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
-
-camelcase@^5.0.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-capture-stack-trace@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
- integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
-
-ccount@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386"
- integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==
-
-chai@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5"
- integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==
- dependencies:
- assertion-error "^1.1.0"
- check-error "^1.0.2"
- deep-eql "^3.0.1"
- get-func-name "^2.0.0"
- pathval "^1.1.0"
- type-detect "^4.0.5"
-
-chalk@^1.1.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
- integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
- dependencies:
- ansi-styles "^2.2.1"
- escape-string-regexp "^1.0.2"
- has-ansi "^2.0.0"
- strip-ansi "^3.0.0"
- supports-color "^2.0.0"
-
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^4.0.0, chalk@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
- integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-character-entities-html4@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef"
- integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==
-
-character-entities-legacy@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"
- integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==
-
-character-entities@^1.0.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"
- integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==
-
-character-reference-invalid@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85"
- integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==
-
-chardet@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
- integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-
-check-error@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
- integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
-
-check-for-leaks@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/check-for-leaks/-/check-for-leaks-1.2.1.tgz#4ac108ee3f8e6b99f5ad36f6b98cba1d7f4816d0"
- integrity sha512-9OdOSRZY6N0w5JCdJpqsC5MkD6EPGYpHmhtf4l5nl3DRETDZshP6C1EGN/vVhHDTY6AsOK3NhdFfrMe3NWZl7g==
- dependencies:
- anymatch "^3.0.2"
- minimist "^1.2.0"
- parse-gitignore "^0.4.0"
- walk-sync "^0.3.2"
-
-checksum@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/checksum/-/checksum-0.1.1.tgz#dc6527d4c90be8560dbd1ed4cecf3297d528e9e9"
- integrity sha1-3GUn1MkL6FYNvR7Uzs8yl9Uo6ek=
- dependencies:
- optimist "~0.3.5"
-
-chokidar@^1.5.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
- integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=
- dependencies:
- anymatch "^1.3.0"
- async-each "^1.0.0"
- glob-parent "^2.0.0"
- inherits "^2.0.1"
- is-binary-path "^1.0.0"
- is-glob "^2.0.0"
- path-is-absolute "^1.0.0"
- readdirp "^2.0.0"
- optionalDependencies:
- fsevents "^1.0.0"
-
-chokidar@^2.1.8:
- version "2.1.8"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
- integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
- dependencies:
- anymatch "^2.0.0"
- async-each "^1.0.1"
- braces "^2.3.2"
- glob-parent "^3.1.0"
- inherits "^2.0.3"
- is-binary-path "^1.0.0"
- is-glob "^4.0.0"
- normalize-path "^3.0.0"
- path-is-absolute "^1.0.0"
- readdirp "^2.2.1"
- upath "^1.1.1"
- optionalDependencies:
- fsevents "^1.2.7"
-
-chokidar@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
- integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
- dependencies:
- anymatch "~3.1.1"
- braces "~3.0.2"
- glob-parent "~5.1.0"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.4.0"
- optionalDependencies:
- fsevents "~2.1.2"
-
-chownr@^1.0.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142"
- integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==
-
-chownr@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
- integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
-
-chrome-trace-event@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
- integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
- dependencies:
- tslib "^1.9.0"
-
-chromium-pickle-js@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
- integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=
-
-ci-info@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
- integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-class-utils@^0.3.5:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
- integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
- dependencies:
- arr-union "^3.1.0"
- define-property "^0.2.5"
- isobject "^3.0.0"
- static-extend "^0.1.1"
-
-clean-stack@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
- integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
-
-cli-cursor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
- integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=
- dependencies:
- restore-cursor "^1.0.1"
-
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
- dependencies:
- restore-cursor "^2.0.0"
-
-cli-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
- integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
- dependencies:
- restore-cursor "^3.1.0"
-
-cli-spinners@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
- integrity sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw=
-
-cli-spinners@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77"
- integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==
-
-cli-spinners@^2.2.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047"
- integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==
-
-cli-truncate@2.1.0, cli-truncate@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
- integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
- dependencies:
- slice-ansi "^3.0.0"
- string-width "^4.2.0"
-
-cli-width@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
- integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
-
-cliui@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
- integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
- dependencies:
- string-width "^3.1.0"
- strip-ansi "^5.2.0"
- wrap-ansi "^5.1.0"
-
-clone@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
- integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
-
-co@3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
- integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=
-
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
-collapse-white-space@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a"
- integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==
-
-collection-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
- integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
- dependencies:
- map-visit "^1.0.0"
- object-visit "^1.0.0"
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
-color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-colors@^1.1.2:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d"
- integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==
-
-colors@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
- integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
-
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-commander@^2.20.0, commander@^2.9.0:
- version "2.20.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
- integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
-
-commander@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
- integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
-commander@^5.0.0, commander@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
- integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
-
-component-emitter@^1.2.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
- integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-concat-stream@^1.5.0, concat-stream@^1.5.1:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
- integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
- dependencies:
- buffer-from "^1.0.0"
- inherits "^2.0.3"
- readable-stream "^2.2.2"
- typedarray "^0.0.6"
-
-console-browserify@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
- integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
- dependencies:
- date-now "^0.1.4"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-
-constants-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
- integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
-
-contains-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
- integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
-
-content-disposition@0.5.3:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
- integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
- dependencies:
- safe-buffer "5.1.2"
-
-content-type@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
- integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-
-cookie@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
- integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
-
-copy-concurrently@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
- integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
- dependencies:
- aproba "^1.1.1"
- fs-write-stream-atomic "^1.0.8"
- iferr "^0.1.5"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.0"
-
-copy-descriptor@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
- integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-
-core-util-is@1.0.2, core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
-cosmiconfig@^5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
- integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
- dependencies:
- import-fresh "^2.0.0"
- is-directory "^0.3.1"
- js-yaml "^3.13.1"
- parse-json "^4.0.0"
-
-cosmiconfig@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
- integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.1.0"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.7.2"
-
-create-ecdh@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
- integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
- dependencies:
- bn.js "^4.1.0"
- elliptic "^6.0.0"
-
-create-error-class@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
- integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
- dependencies:
- capture-stack-trace "^1.0.0"
-
-create-hash@^1.1.0, create-hash@^1.1.2:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cross-spawn@^6.0.0, cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.0, cross-spawn@^7.0.2:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-browserify@^3.11.0:
- version "3.12.0"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
- integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
- dependencies:
- browserify-cipher "^1.0.0"
- browserify-sign "^4.0.0"
- create-ecdh "^4.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.0"
- diffie-hellman "^5.0.0"
- inherits "^2.0.1"
- pbkdf2 "^3.0.3"
- public-encrypt "^4.0.0"
- randombytes "^2.0.0"
- randomfill "^1.0.3"
-
-currently-unhandled@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
- integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
- dependencies:
- array-find-index "^1.0.1"
-
-cyclist@~0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
- integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
- dependencies:
- assert-plus "^1.0.0"
-
-date-now@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
- integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-
-debug-log@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
- integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=
-
-debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@^3.1.0, debug@^3.2.6:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
- integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
- dependencies:
- ms "^2.1.1"
-
-debug@^4.0.1, debug@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
- integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
- dependencies:
- ms "^2.1.1"
-
-decamelize@^1.1.2, decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
-
-decode-uri-component@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
- integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
-
-dedent@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
- integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-
-deep-eql@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
- integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
- dependencies:
- type-detect "^4.0.0"
-
-deep-extend@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
- integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-
-deep-is@^0.1.3, deep-is@~0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
- integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
-
-defaults@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
- integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
- dependencies:
- clone "^1.0.2"
-
-define-properties@^1.1.2, define-properties@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
- integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
- dependencies:
- object-keys "^1.0.12"
-
-define-property@^0.2.5:
- version "0.2.5"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
- integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
- dependencies:
- is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
- integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
- dependencies:
- is-descriptor "^1.0.0"
-
-define-property@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
- integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
- dependencies:
- is-descriptor "^1.0.2"
- isobject "^3.0.1"
-
-deglob@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/deglob/-/deglob-4.0.1.tgz#0685c6383992fd6009be10653a2b1116696fad55"
- integrity sha512-/g+RDZ7yf2HvoW+E5Cy+K94YhgcFgr6C8LuHZD1O5HoNPkf3KY6RfXJ0DBGlB/NkLi5gml+G9zqRzk9S0mHZCg==
- dependencies:
- find-root "^1.0.0"
- glob "^7.0.5"
- ignore "^5.0.0"
- pkg-config "^1.1.0"
- run-parallel "^1.1.2"
- uniq "^1.0.1"
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
-
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
-
-deprecation@^2.0.0, deprecation@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
- integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
-
-des.js@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
- integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
- dependencies:
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
-
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
- integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-
-detect-file@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
- integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
-
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-
-diff@^3.1.0:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
- integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
-
-diffie-hellman@^5.0.0:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
- integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
- dependencies:
- bn.js "^4.1.0"
- miller-rabin "^4.0.0"
- randombytes "^2.0.0"
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-doctrine@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
- integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
- dependencies:
- esutils "^2.0.2"
- isarray "^1.0.0"
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-domain-browser@^1.1.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
- integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
-
-dotenv-safe@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/dotenv-safe/-/dotenv-safe-4.0.4.tgz#8b0e7ced8e70b1d3c5d874ef9420e406f39425b3"
- integrity sha1-iw587Y5wsdPF2HTvlCDkBvOUJbM=
- dependencies:
- dotenv "^4.0.0"
-
-dotenv@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
- integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=
-
-dugite@^1.45.0:
- version "1.87.0"
- resolved "https://registry.yarnpkg.com/dugite/-/dugite-1.87.0.tgz#ba42c25401420a92c6c8f0c71823ac54124b4b65"
- integrity sha512-+aW2Ql3yw1AEO8Z8nVbjOAEzsinMJMmAg4uf5lzTewFUAHd0danuMPXMP9uMuGuUYN/LQtt4kR2XLuWoD8wRSQ==
- dependencies:
- checksum "^0.1.1"
- mkdirp "^0.5.1"
- progress "^2.0.3"
- request "^2.88.0"
- rimraf "^2.5.4"
- tar "^4.4.7"
-
-duplexer3@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
- integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
-
-duplexer@~0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
- integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
-
-duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
- integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
- dependencies:
- end-of-stream "^1.0.0"
- inherits "^2.0.1"
- readable-stream "^2.0.0"
- stream-shift "^1.0.0"
-
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-ecdsa-sig-formatter@1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
- integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
- dependencies:
- safe-buffer "^5.0.1"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-
-electron-docs@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/electron-docs/-/electron-docs-3.0.2.tgz#340d57e6c0dbf86a97249fd451dff6221021754a"
- integrity sha1-NA1X5sDb+GqXJJ/UUd/2IhAhdUo=
- dependencies:
- got "^6.3.0"
- gunzip-maybe "^1.3.1"
- node-dir "^0.1.12"
- ora "^0.2.3"
- path-exists "^3.0.0"
- pify "^2.3.0"
- semver "^5.1.0"
- tar-fs "^1.13.0"
-
-elliptic@^6.0.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca"
- integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==
- dependencies:
- bn.js "^4.4.0"
- brorand "^1.0.1"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.0"
-
-emoji-regex@^7.0.1:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
- integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-emojis-list@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
- integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
-
-emojis-list@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
- integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
- integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.4.0"
- tapable "^1.0.0"
-
-enhanced-resolve@^4.1.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d"
- integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==
- dependencies:
- graceful-fs "^4.1.2"
- memory-fs "^0.5.0"
- tapable "^1.0.0"
-
-enquirer@^2.3.5:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
- integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
- dependencies:
- ansi-colors "^4.1.1"
-
-ensure-posix-path@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz#3c62bdb19fa4681544289edb2b382adc029179ce"
- integrity sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==
-
-entities@~2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f"
- integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==
-
-errno@^0.1.3, errno@~0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
- integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
- dependencies:
- prr "~1.0.1"
-
-error-ex@^1.2.0, error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5:
- version "1.17.6"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
- integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==
- dependencies:
- es-to-primitive "^1.2.1"
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
- is-callable "^1.2.0"
- is-regex "^1.1.0"
- object-inspect "^1.7.0"
- object-keys "^1.1.1"
- object.assign "^4.1.0"
- string.prototype.trimend "^1.0.1"
- string.prototype.trimstart "^1.0.1"
-
-es-abstract@^1.7.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
- integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
- dependencies:
- es-to-primitive "^1.2.0"
- function-bind "^1.1.1"
- has "^1.0.3"
- is-callable "^1.1.4"
- is-regex "^1.0.4"
- object-keys "^1.0.12"
-
-es-to-primitive@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
- integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es6-object-assign@^1.0.3:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
- integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-eslint-config-standard-jsx@8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-8.1.0.tgz#314c62a0e6f51f75547f89aade059bec140edfc7"
- integrity sha512-ULVC8qH8qCqbU792ZOO6DaiaZyHNS/5CZt3hKqHkEhVlhPEPN3nfBqqxJCyp59XrjIBZPu1chMYe9T2DXZ7TMw==
-
-eslint-config-standard@14.1.1, eslint-config-standard@^14.1.1:
- version "14.1.1"
- resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea"
- integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==
-
-eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.3:
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
- integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
- dependencies:
- debug "^2.6.9"
- resolve "^1.13.1"
-
-eslint-module-utils@^2.4.0, eslint-module-utils@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
- integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
- dependencies:
- debug "^2.6.9"
- pkg-dir "^2.0.0"
-
-eslint-plugin-es@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976"
- integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==
- dependencies:
- eslint-utils "^1.4.2"
- regexpp "^3.0.0"
-
-eslint-plugin-es@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
- integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
- dependencies:
- eslint-utils "^2.0.0"
- regexpp "^3.0.0"
-
-eslint-plugin-import@^2.22.0:
- version "2.22.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e"
- integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==
- dependencies:
- array-includes "^3.1.1"
- array.prototype.flat "^1.2.3"
- contains-path "^0.1.0"
- debug "^2.6.9"
- doctrine "1.5.0"
- eslint-import-resolver-node "^0.3.3"
- eslint-module-utils "^2.6.0"
- has "^1.0.3"
- minimatch "^3.0.4"
- object.values "^1.1.1"
- read-pkg-up "^2.0.0"
- resolve "^1.17.0"
- tsconfig-paths "^3.9.0"
-
-eslint-plugin-import@~2.18.0:
- version "2.18.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
- integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==
- dependencies:
- array-includes "^3.0.3"
- contains-path "^0.1.0"
- debug "^2.6.9"
- doctrine "1.5.0"
- eslint-import-resolver-node "^0.3.2"
- eslint-module-utils "^2.4.0"
- has "^1.0.3"
- minimatch "^3.0.4"
- object.values "^1.1.0"
- read-pkg-up "^2.0.0"
- resolve "^1.11.0"
-
-eslint-plugin-mocha@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-7.0.1.tgz#b2e9e8ebef7836f999a83f8bab25d0e0c05f0d28"
- integrity sha512-zkQRW9UigRaayGm/pK9TD5RjccKXSgQksNtpsXbG9b6L5I+jNx7m98VUbZ4w1H1ArlNA+K7IOH+z8TscN6sOYg==
- dependencies:
- eslint-utils "^2.0.0"
- ramda "^0.27.0"
-
-eslint-plugin-node@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
- integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
- dependencies:
- eslint-plugin-es "^3.0.0"
- eslint-utils "^2.0.0"
- ignore "^5.1.1"
- minimatch "^3.0.4"
- resolve "^1.10.1"
- semver "^6.1.0"
-
-eslint-plugin-node@~10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6"
- integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==
- dependencies:
- eslint-plugin-es "^2.0.0"
- eslint-utils "^1.4.2"
- ignore "^5.1.1"
- minimatch "^3.0.4"
- resolve "^1.10.1"
- semver "^6.1.0"
-
-eslint-plugin-promise@~4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a"
- integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==
-
-eslint-plugin-react@~7.14.2:
- version "7.14.3"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13"
- integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==
- dependencies:
- array-includes "^3.0.3"
- doctrine "^2.1.0"
- has "^1.0.3"
- jsx-ast-utils "^2.1.0"
- object.entries "^1.1.0"
- object.fromentries "^2.0.0"
- object.values "^1.1.0"
- prop-types "^15.7.2"
- resolve "^1.10.1"
-
-eslint-plugin-standard@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4"
- integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==
-
-eslint-plugin-standard@~4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c"
- integrity sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==
-
-eslint-plugin-typescript@^0.14.0:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-typescript/-/eslint-plugin-typescript-0.14.0.tgz#068549c3f4c7f3f85d88d398c29fa96bf500884c"
- integrity sha512-2u1WnnDF2mkWWgU1lFQ2RjypUlmRoBEvQN02y9u+IL12mjWlkKFGEBnVsjs9Y8190bfPQCvWly1c2rYYUSOxWw==
- dependencies:
- requireindex "~1.1.0"
-
-eslint-scope@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
- integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
- integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-scope@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
- integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint-utils@^1.4.2, eslint-utils@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
- integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-utils@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
- integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
- dependencies:
- eslint-visitor-keys "^1.1.0"
-
-eslint-visitor-keys@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
- integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
-
-eslint-visitor-keys@^1.2.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
- integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
-
-eslint@^7.4.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f"
- integrity sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.0.1"
- doctrine "^3.0.0"
- enquirer "^2.3.5"
- eslint-scope "^5.1.0"
- eslint-utils "^2.0.0"
- eslint-visitor-keys "^1.2.0"
- espree "^7.1.0"
- esquery "^1.2.0"
- esutils "^2.0.2"
- file-entry-cache "^5.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
- globals "^12.1.0"
- ignore "^4.0.6"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-yaml "^3.13.1"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash "^4.17.14"
- minimatch "^3.0.4"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- progress "^2.0.0"
- regexpp "^3.1.0"
- semver "^7.2.1"
- strip-ansi "^6.0.0"
- strip-json-comments "^3.1.0"
- table "^5.2.3"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-eslint@~6.8.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
- integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- ajv "^6.10.0"
- chalk "^2.1.0"
- cross-spawn "^6.0.5"
- debug "^4.0.1"
- doctrine "^3.0.0"
- eslint-scope "^5.0.0"
- eslint-utils "^1.4.3"
- eslint-visitor-keys "^1.1.0"
- espree "^6.1.2"
- esquery "^1.0.1"
- esutils "^2.0.2"
- file-entry-cache "^5.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
- globals "^12.1.0"
- ignore "^4.0.6"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- inquirer "^7.0.0"
- is-glob "^4.0.0"
- js-yaml "^3.13.1"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.3.0"
- lodash "^4.17.14"
- minimatch "^3.0.4"
- mkdirp "^0.5.1"
- natural-compare "^1.4.0"
- optionator "^0.8.3"
- progress "^2.0.0"
- regexpp "^2.0.1"
- semver "^6.1.2"
- strip-ansi "^5.2.0"
- strip-json-comments "^3.0.1"
- table "^5.2.3"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-espree@^6.1.2:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
- integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
- dependencies:
- acorn "^7.1.1"
- acorn-jsx "^5.2.0"
- eslint-visitor-keys "^1.1.0"
-
-espree@^7.1.0:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c"
- integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==
- dependencies:
- acorn "^7.2.0"
- acorn-jsx "^5.2.0"
- eslint-visitor-keys "^1.2.0"
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-esquery@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
- integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
- dependencies:
- estraverse "^4.0.0"
-
-esquery@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
- integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.1.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
- integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
- dependencies:
- estraverse "^4.1.0"
-
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
- integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
-estraverse@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
- integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
-
-events-to-array@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6"
- integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=
-
-events@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
- integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==
-
-evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
- dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-execa@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
- integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
- dependencies:
- cross-spawn "^7.0.0"
- get-stream "^5.0.0"
- human-signals "^1.1.1"
- is-stream "^2.0.0"
- merge-stream "^2.0.0"
- npm-run-path "^4.0.0"
- onetime "^5.1.0"
- signal-exit "^3.0.2"
- strip-final-newline "^2.0.0"
-
-exit-hook@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
- integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=
-
-expand-brackets@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
- integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
- dependencies:
- is-posix-bracket "^0.1.0"
-
-expand-brackets@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
- integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
- dependencies:
- debug "^2.3.3"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- posix-character-classes "^0.1.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-expand-range@^1.8.1:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
- integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
- dependencies:
- fill-range "^2.1.0"
-
-expand-tilde@^2.0.0, expand-tilde@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
- integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
- dependencies:
- homedir-polyfill "^1.0.1"
-
-express@^4.16.4:
- version "4.17.1"
- resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
- integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
- dependencies:
- accepts "~1.3.7"
- array-flatten "1.1.1"
- body-parser "1.19.0"
- content-disposition "0.5.3"
- content-type "~1.0.4"
- cookie "0.4.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "~1.1.2"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "~1.1.2"
- fresh "0.5.2"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "~2.3.0"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.5"
- qs "6.7.0"
- range-parser "~1.2.1"
- safe-buffer "5.1.2"
- send "0.17.1"
- serve-static "1.14.1"
- setprototypeof "1.1.1"
- statuses "~1.5.0"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- dependencies:
- is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0, extend-shallow@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
- integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
- dependencies:
- assign-symbols "^1.0.0"
- is-extendable "^1.0.1"
-
-extend@^3.0.0, extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-external-editor@^3.0.3:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
- integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
- dependencies:
- chardet "^0.7.0"
- iconv-lite "^0.4.24"
- tmp "^0.0.33"
-
-extglob@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
- integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
- dependencies:
- is-extglob "^1.0.0"
-
-extglob@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
- integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
- dependencies:
- array-unique "^0.3.2"
- define-property "^1.0.0"
- expand-brackets "^2.1.4"
- extend-shallow "^2.0.1"
- fragment-cache "^0.2.1"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
-
-extsprintf@^1.2.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
- integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-
-fast-deep-equal@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
- integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
-
-fast-deep-equal@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
- integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
-
-fast-glob@^3.1.1:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
- integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.0"
- merge2 "^1.3.0"
- micromatch "^4.0.2"
- picomatch "^2.2.1"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
- integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
-
-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-
-fastq@^1.6.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
- integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
- dependencies:
- reusify "^1.0.4"
-
-fault@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.3.tgz#4da88cf979b6b792b4e13c7ec836767725170b7e"
- integrity sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==
- dependencies:
- format "^0.2.2"
-
-figgy-pudding@^3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
- integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
-
-figures@^3.0.0, figures@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
- integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
- dependencies:
- escape-string-regexp "^1.0.5"
-
-file-entry-cache@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
- integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
- dependencies:
- flat-cache "^2.0.1"
-
-filename-regex@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
- integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
-
-fill-range@^2.1.0:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
- integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
- dependencies:
- is-number "^2.1.0"
- isobject "^2.0.0"
- randomatic "^3.0.0"
- repeat-element "^1.1.2"
- repeat-string "^1.5.2"
-
-fill-range@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
- integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
- dependencies:
- extend-shallow "^2.0.1"
- is-number "^3.0.0"
- repeat-string "^1.6.1"
- to-regex-range "^2.1.0"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-finalhandler@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
- integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "~2.3.0"
- parseurl "~1.3.3"
- statuses "~1.5.0"
- unpipe "~1.0.0"
-
-find-cache-dir@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
- integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
- dependencies:
- commondir "^1.0.1"
- make-dir "^2.0.0"
- pkg-dir "^3.0.0"
-
-find-root@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
- integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-
-find-up@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
- integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
- dependencies:
- path-exists "^2.0.0"
- pinkie-promise "^2.0.0"
-
-find-up@^2.0.0, find-up@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
- integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
- dependencies:
- locate-path "^2.0.0"
-
-find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
-find-up@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-findup-sync@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
- integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
- dependencies:
- detect-file "^1.0.0"
- is-glob "^4.0.0"
- micromatch "^3.0.4"
- resolve-dir "^1.0.1"
-
-flat-cache@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
- integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
- dependencies:
- flatted "^2.0.0"
- rimraf "2.6.3"
- write "1.0.3"
-
-flatted@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
- integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
-
-flush-write-stream@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
- integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
- dependencies:
- inherits "^2.0.3"
- readable-stream "^2.3.6"
-
-fn-name@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
- integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
-
-folder-hash@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/folder-hash/-/folder-hash-2.1.2.tgz#7109f9cd0cbca271936d1b5544b156d6571e6cfd"
- integrity sha512-PmMwEZyNN96EMshf7sek4OIB7ADNsHOJ7VIw7pO0PBI0BNfEsi7U8U56TBjjqqwQ0WuBv8se0HEfmbw5b/Rk+w==
- dependencies:
- debug "^3.1.0"
- graceful-fs "~4.1.11"
- minimatch "~3.0.4"
-
-for-in@^1.0.1, for-in@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
- integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
-
-for-own@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
- integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
- dependencies:
- for-in "^1.0.1"
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-format@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
- integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
-
-forwarded@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
- integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
-
-fragment-cache@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
- integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
- dependencies:
- map-cache "^0.2.2"
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
-
-from2@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
- integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
- dependencies:
- inherits "^2.0.1"
- readable-stream "^2.0.0"
-
-fs-constants@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
- integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-
-fs-extra@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
- integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-extra@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
- integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
- dependencies:
- graceful-fs "^4.2.0"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-extra@^9.0.1:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
- integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^1.0.0"
-
-fs-minipass@^1.2.5:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
- integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==
- dependencies:
- minipass "^2.2.1"
-
-fs-write-stream-atomic@^1.0.8:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
- integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
- dependencies:
- graceful-fs "^4.1.2"
- iferr "^0.1.5"
- imurmurhash "^0.1.4"
- readable-stream "1 || 2"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-fsevents@^1.0.0, fsevents@^1.2.7:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f"
- integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==
- dependencies:
- nan "^2.12.1"
- node-pre-gyp "^0.12.0"
-
-fsevents@~2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
- integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
- integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
-
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-func-name@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
- integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
-
-get-own-enumerable-property-symbols@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
- integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==
-
-get-stdin@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
- integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
-
-get-stdin@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
- integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
-
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
-get-stream@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
- integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
- dependencies:
- pump "^3.0.0"
-
-get-stream@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
- integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
- dependencies:
- pump "^3.0.0"
-
-get-value@^2.0.3, get-value@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
- integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
- dependencies:
- assert-plus "^1.0.0"
-
-glob-base@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
- integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
- dependencies:
- glob-parent "^2.0.0"
- is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
- integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
- dependencies:
- is-glob "^2.0.0"
-
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
- integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
- integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
- dependencies:
- is-glob "^4.0.1"
-
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.4:
- version "7.1.4"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
- integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.1.3:
- version "7.1.5"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0"
- integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-global-modules@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
- integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
- dependencies:
- global-prefix "^1.0.1"
- is-windows "^1.0.1"
- resolve-dir "^1.0.0"
-
-global-modules@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
- integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
- dependencies:
- global-prefix "^3.0.0"
-
-global-prefix@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
- integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
- dependencies:
- expand-tilde "^2.0.2"
- homedir-polyfill "^1.0.1"
- ini "^1.3.4"
- is-windows "^1.0.1"
- which "^1.2.14"
-
-global-prefix@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
- integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
- dependencies:
- ini "^1.3.5"
- kind-of "^6.0.2"
- which "^1.3.1"
-
-globals@^12.1.0:
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
- integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
- dependencies:
- type-fest "^0.8.1"
-
-globby@^11.0.0:
- version "11.0.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
- integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.1.1"
- ignore "^5.1.4"
- merge2 "^1.3.0"
- slash "^3.0.0"
-
-got@^6.3.0:
- version "6.7.1"
- resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
- integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=
- dependencies:
- create-error-class "^3.0.0"
- duplexer3 "^0.1.4"
- get-stream "^3.0.0"
- is-redirect "^1.0.0"
- is-retry-allowed "^1.0.0"
- is-stream "^1.0.0"
- lowercase-keys "^1.0.0"
- safe-buffer "^5.0.1"
- timed-out "^4.0.0"
- unzip-response "^2.0.1"
- url-parse-lax "^1.0.0"
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.9:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
- integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
-
-graceful-fs@^4.1.6, graceful-fs@^4.2.0:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
- integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
-
-graceful-fs@~4.1.11:
- version "4.1.15"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
- integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
-
-gunzip-maybe@^1.3.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz#39c72ed89d1b49ba708e18776500488902a52027"
- integrity sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g==
- dependencies:
- browserify-zlib "^0.1.4"
- is-deflate "^1.0.0"
- is-gzip "^1.0.0"
- peek-stream "^1.1.0"
- pumpify "^1.3.3"
- through2 "^2.0.3"
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
-
-har-validator@~5.1.0, har-validator@~5.1.3:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
- integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
- dependencies:
- ajv "^6.5.5"
- har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
- integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
- dependencies:
- ansi-regex "^2.0.0"
-
-has-flag@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
- integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-symbols@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
- integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
-
-has-symbols@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
- integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
-
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
-
-has-value@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
- integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
- dependencies:
- get-value "^2.0.3"
- has-values "^0.1.4"
- isobject "^2.0.0"
-
-has-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
- integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
- dependencies:
- get-value "^2.0.6"
- has-values "^1.0.0"
- isobject "^3.0.0"
-
-has-values@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
- integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
-
-has-values@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
- integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
- dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
-
-has@^1.0.1, has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hash-base@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
- integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hmac-drbg@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-homedir-polyfill@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
- integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
- dependencies:
- parse-passwd "^1.0.0"
-
-hosted-git-info@^2.1.4:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
- integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
-
-http-errors@1.7.2:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
- integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.3"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-errors@~1.7.2:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
- integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-https-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
- integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-
-human-signals@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
- integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
-
-husky@^2.2.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/husky/-/husky-2.7.0.tgz#c0a9a6a3b51146224e11bba0b46bba546e461d05"
- integrity sha512-LIi8zzT6PyFpcYKdvWRCn/8X+6SuG2TgYYMrM6ckEYhlp44UcEduVymZGIZNLiwOUjrEud+78w/AsAiqJA/kRg==
- dependencies:
- cosmiconfig "^5.2.0"
- execa "^1.0.0"
- find-up "^3.0.0"
- get-stdin "^7.0.0"
- is-ci "^2.0.0"
- pkg-dir "^4.1.0"
- please-upgrade-node "^3.1.1"
- read-pkg "^5.1.1"
- run-node "^1.0.0"
- slash "^3.0.0"
-
-iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-ieee754@^1.1.4:
- version "1.1.13"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
- integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
-
-iferr@^0.1.5:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
- integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-
-ignore-walk@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
- integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
- dependencies:
- minimatch "^3.0.4"
-
-ignore@^3.2.0:
- version "3.3.10"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
- integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
-
-ignore@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
- integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-
-ignore@^5.0.0, ignore@^5.1.1, ignore@^5.1.4:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
- integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
-
-import-fresh@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
- integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
- dependencies:
- caller-path "^2.0.0"
- resolve-from "^3.0.0"
-
-import-fresh@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
- integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-fresh@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
- integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-import-local@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
- integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
- dependencies:
- pkg-dir "^3.0.0"
- resolve-cwd "^2.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
-
-indent-string@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
- integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
- dependencies:
- repeating "^2.0.0"
-
-indent-string@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
- integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-
-infer-owner@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
- integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inherits@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
- integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
-
-inherits@2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
- integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
-ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
- integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
-
-inquirer@^7.0.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.0.tgz#aa3e7cb0c18a410c3c16cdd2bc9dcbe83c4d333e"
- integrity sha512-K+LZp6L/6eE5swqIcVXrxl21aGDU4S50gKH0/d96OMQnSBCyGyZl/oZhbkVmdp5sBoINHd4xZvFSARh2dk6DWA==
- dependencies:
- ansi-escapes "^4.2.1"
- chalk "^4.1.0"
- cli-cursor "^3.1.0"
- cli-width "^3.0.0"
- external-editor "^3.0.3"
- figures "^3.0.0"
- lodash "^4.17.15"
- mute-stream "0.0.8"
- run-async "^2.4.0"
- rxjs "^6.6.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
- through "^2.3.6"
-
-interpret@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
- integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
-
-interpret@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
- integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-
-ipaddr.js@1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
- integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
-
-irregular-plurals@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-2.0.0.tgz#39d40f05b00f656d0b7fa471230dd3b714af2872"
- integrity sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==
-
-is-accessor-descriptor@^0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
- integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
- dependencies:
- kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
- integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-alphabetical@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
- integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==
-
-is-alphanumeric@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
- integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
-
-is-alphanumerical@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c"
- integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==
- dependencies:
- is-alphabetical "^1.0.0"
- is-decimal "^1.0.0"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
-
-is-binary-path@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
- integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
- dependencies:
- binary-extensions "^1.0.0"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-buffer@^1.1.4, is-buffer@^1.1.5:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
- integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
-
-is-callable@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
- integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
-
-is-callable@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
- integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==
-
-is-ci@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
- integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
- dependencies:
- ci-info "^2.0.0"
-
-is-data-descriptor@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
- integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
- dependencies:
- kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
- integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
- dependencies:
- kind-of "^6.0.0"
-
-is-date-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
- integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
-
-is-decimal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7"
- integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==
-
-is-deflate@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14"
- integrity sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ=
-
-is-descriptor@^0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
- integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
- dependencies:
- is-accessor-descriptor "^0.1.6"
- is-data-descriptor "^0.1.4"
- kind-of "^5.0.0"
-
-is-descriptor@^1.0.0, is-descriptor@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
- integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
- dependencies:
- is-accessor-descriptor "^1.0.0"
- is-data-descriptor "^1.0.0"
- kind-of "^6.0.2"
-
-is-directory@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
- integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-
-is-dotfile@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
- integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
-
-is-empty@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b"
- integrity sha1-3pu1snhzigWgsJpX4ftNSjQan2s=
-
-is-equal-shallow@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
- integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
- dependencies:
- is-primitive "^2.0.0"
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
-is-extendable@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
-is-extglob@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
- integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
-
-is-finite@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
- integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
- integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-glob@^2.0.0, is-glob@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
- integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
- dependencies:
- is-extglob "^1.0.0"
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
- integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
- dependencies:
- is-extglob "^2.1.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
- integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-gzip@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
- integrity sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=
-
-is-hexadecimal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee"
- integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==
-
-is-hidden@^1.0.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-hidden/-/is-hidden-1.1.2.tgz#6497d48ec5affc7da0f11a3c0dadceb6752e8edd"
- integrity sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==
-
-is-interactive@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
- integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
-
-is-number@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
- integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
- integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
- dependencies:
- kind-of "^3.0.2"
-
-is-number@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
- integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
- integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
-
-is-object@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
- integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
-
-is-plain-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
- integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
-
-is-plain-object@^2.0.3, is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
-is-plain-object@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-4.1.1.tgz#1a14d6452cbd50790edc7fdaa0aed5a40a35ebb5"
- integrity sha512-5Aw8LLVsDlZsETVMhoMXzqsXwQqr/0vlnBYzIXJbYo2F4yYlhLHs+Ez7Bod7IIQKWkJbJfxrWD7pA1Dw1TKrwA==
-
-is-posix-bracket@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
- integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
-
-is-primitive@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
- integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
-
-is-redirect@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
- integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
-
-is-regex@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
- integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
- dependencies:
- has "^1.0.1"
-
-is-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff"
- integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==
- dependencies:
- has-symbols "^1.0.1"
-
-is-regexp@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
- integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
-
-is-retry-allowed@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
- integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-
-is-stream@^1.0.0, is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-
-is-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
- integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-
-is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
-
-is-symbol@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
- integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
- dependencies:
- has-symbols "^1.0.0"
-
-is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
-
-is-utf8@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
- integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
-
-is-whitespace-character@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac"
- integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==
-
-is-windows@^1.0.1, is-windows@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
- integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-is-word-character@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa"
- integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==
-
-is-wsl@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
- integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
-
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
- integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-isobject@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
- integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
- dependencies:
- isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
-
-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1, js-yaml@^3.2.7, js-yaml@^3.6.1:
- version "3.13.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
- integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema@0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
- integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
-
-json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
-
-json5@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
- integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
- dependencies:
- minimist "^1.2.0"
-
-json5@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
- dependencies:
- minimist "^1.2.5"
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonfile@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
- integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
- dependencies:
- universalify "^1.0.0"
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonwebtoken@^8.5.1:
- version "8.5.1"
- resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
- integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
- dependencies:
- jws "^3.2.2"
- lodash.includes "^4.3.0"
- lodash.isboolean "^3.0.3"
- lodash.isinteger "^4.0.4"
- lodash.isnumber "^3.0.3"
- lodash.isplainobject "^4.0.6"
- lodash.isstring "^4.0.1"
- lodash.once "^4.0.0"
- ms "^2.1.1"
- semver "^5.6.0"
-
-jsprim@^1.2.2:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
- integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.2.3"
- verror "1.10.0"
-
-jsx-ast-utils@^2.1.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
- integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==
- dependencies:
- array-includes "^3.1.1"
- object.assign "^4.1.0"
-
-jwa@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
- integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
- dependencies:
- buffer-equal-constant-time "1.0.1"
- ecdsa-sig-formatter "1.0.11"
- safe-buffer "^5.0.1"
-
-jws@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
- integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
- dependencies:
- jwa "^1.4.1"
- safe-buffer "^5.0.1"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
- integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
- integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
- dependencies:
- is-buffer "^1.1.5"
-
-kind-of@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
- integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
- integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
-
-klaw@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146"
- integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==
- dependencies:
- graceful-fs "^4.1.9"
-
-levn@^0.3.0, levn@~0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
- integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
- dependencies:
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-lines-and-columns@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
- integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
-
-linkify-it@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf"
- integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==
- dependencies:
- uc.micro "^1.0.1"
-
-lint-staged@^10.2.11:
- version "10.2.11"
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720"
- integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==
- dependencies:
- chalk "^4.0.0"
- cli-truncate "2.1.0"
- commander "^5.1.0"
- cosmiconfig "^6.0.0"
- debug "^4.1.1"
- dedent "^0.7.0"
- enquirer "^2.3.5"
- execa "^4.0.1"
- listr2 "^2.1.0"
- log-symbols "^4.0.0"
- micromatch "^4.0.2"
- normalize-path "^3.0.0"
- please-upgrade-node "^3.2.0"
- string-argv "0.3.1"
- stringify-object "^3.3.0"
-
-lint@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/lint/-/lint-1.1.2.tgz#35ed064f322547c331358d899868664968ba371f"
- integrity sha1-Ne0GTzIlR8MxNY2JmGhmSWi6Nx8=
-
-listr2@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac"
- integrity sha512-Q8qbd7rgmEwDo1nSyHaWQeztfGsdL6rb4uh7BA+Q80AZiDET5rVntiU1+13mu2ZTDVaBVbvAD1Db11rnu3l9sg==
- dependencies:
- chalk "^4.0.0"
- cli-truncate "^2.1.0"
- figures "^3.2.0"
- indent-string "^4.0.0"
- log-update "^4.0.0"
- p-map "^4.0.0"
- rxjs "^6.5.5"
- through "^2.3.8"
-
-load-json-file@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
- integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
- strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
- integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
- strip-bom "^3.0.0"
-
-load-json-file@^5.2.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3"
- integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==
- dependencies:
- graceful-fs "^4.1.15"
- parse-json "^4.0.0"
- pify "^4.0.1"
- strip-bom "^3.0.0"
- type-fest "^0.3.0"
-
-load-plugin@^2.0.0:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-2.3.1.tgz#8024739afb4aa04de1e602e15e5b1a678c443d00"
- integrity sha512-dYB1lbwqHgPTrruy9glukCu8Ya9vzj6TMfouCtj2H/GuJ+8syioisgKTBPxnCi6m8K8jINKfTOxOHngFkUYqHw==
- dependencies:
- npm-prefix "^1.2.0"
- resolve-from "^5.0.0"
-
-loader-runner@^2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
- integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
-
-loader-utils@^1.0.2, loader-utils@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
- integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^2.0.0"
- json5 "^1.0.1"
-
-loader-utils@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
- integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^1.0.1"
-
-loader-utils@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
- integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
- dependencies:
- big.js "^5.2.2"
- emojis-list "^3.0.0"
- json5 "^2.1.2"
-
-locate-path@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
- integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
- dependencies:
- p-locate "^2.0.0"
- path-exists "^3.0.0"
-
-locate-path@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
- integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
- dependencies:
- p-locate "^3.0.0"
- path-exists "^3.0.0"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash.camelcase@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
- integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
-
-lodash.flatten@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
- integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
-
-lodash.includes@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
- integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
-
-lodash.isboolean@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
- integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
-
-lodash.isinteger@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
- integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
-
-lodash.isnumber@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
- integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
-
-lodash.isplainobject@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
- integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
-
-lodash.isstring@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
- integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
-
-lodash.once@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
- integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
-
-lodash.range@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d"
- integrity sha1-9GHliPZmg/fq3q3lE+OKaaVloV0=
-
-lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15:
- version "4.17.15"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
- integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-
-log-symbols@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
- integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
- dependencies:
- chalk "^2.0.1"
-
-log-symbols@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
- integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
- dependencies:
- chalk "^2.4.2"
-
-log-symbols@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
- integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
- dependencies:
- chalk "^4.0.0"
-
-log-update@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
- integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
- dependencies:
- ansi-escapes "^4.3.0"
- cli-cursor "^3.1.0"
- slice-ansi "^4.0.0"
- wrap-ansi "^6.2.0"
-
-longest-streak@^2.0.1:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
- integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==
-
-loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-loud-rejection@^1.0.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
- integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
- dependencies:
- currently-unhandled "^0.4.1"
- signal-exit "^3.0.0"
-
-lowercase-keys@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
- integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-make-dir@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
- integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
- dependencies:
- pify "^4.0.1"
- semver "^5.6.0"
-
-make-error@^1.1.1:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
- integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
-
-map-cache@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
- integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
-
-map-obj@^1.0.0, map-obj@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
- integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
-
-map-visit@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
- integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
- dependencies:
- object-visit "^1.0.0"
-
-markdown-escapes@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5"
- integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==
-
-markdown-extensions@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3"
- integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==
-
-markdown-it@^10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc"
- integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==
- dependencies:
- argparse "^1.0.7"
- entities "~2.0.0"
- linkify-it "^2.0.0"
- mdurl "^1.0.1"
- uc.micro "^1.0.5"
-
-markdown-table@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
- integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==
-
-matcher-collection@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-1.1.2.tgz#1076f506f10ca85897b53d14ef54f90a5c426838"
- integrity sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==
- dependencies:
- minimatch "^3.0.2"
-
-math-random@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
- integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdast-comment-marker@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz#9c9c18e1ed57feafc1965d92b028f37c3c8da70d"
- integrity sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==
-
-mdast-util-compact@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d"
- integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==
- dependencies:
- unist-util-visit "^1.1.0"
-
-mdast-util-heading-style@^1.0.2:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz#81b2e60d76754198687db0e8f044e42376db0426"
- integrity sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw==
-
-mdast-util-to-string@^1.0.2:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d"
- integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==
-
-mdurl@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
- integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
-
-memory-fs@^0.4.0, memory-fs@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
- integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-memory-fs@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
- integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
- dependencies:
- errno "^0.1.3"
- readable-stream "^2.0.1"
-
-meow@^3.1.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
- integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
- dependencies:
- camelcase-keys "^2.0.0"
- decamelize "^1.1.2"
- loud-rejection "^1.0.0"
- map-obj "^1.0.1"
- minimist "^1.1.3"
- normalize-package-data "^2.3.4"
- object-assign "^4.0.1"
- read-pkg-up "^1.0.1"
- redent "^1.0.0"
- trim-newlines "^1.0.0"
-
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
- integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-
-merge-stream@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
- integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
-
-micromatch@^2.1.5:
- version "2.3.11"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
- integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
- dependencies:
- arr-diff "^2.0.0"
- array-unique "^0.2.1"
- braces "^1.8.2"
- expand-brackets "^0.1.4"
- extglob "^0.3.1"
- filename-regex "^2.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.1"
- kind-of "^3.0.2"
- normalize-path "^2.0.1"
- object.omit "^2.0.0"
- parse-glob "^3.0.4"
- regex-cache "^0.4.2"
-
-micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
- version "3.1.10"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
- integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- braces "^2.3.1"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- extglob "^2.0.4"
- fragment-cache "^0.2.1"
- kind-of "^6.0.2"
- nanomatch "^1.2.9"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.2"
-
-micromatch@^4.0.0, micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
- dependencies:
- braces "^3.0.1"
- picomatch "^2.0.5"
-
-miller-rabin@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
- integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
- dependencies:
- bn.js "^4.0.0"
- brorand "^1.0.1"
-
-mime-db@1.40.0:
- version "1.40.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
- integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
-
-mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.24"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
- integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
- dependencies:
- mime-db "1.40.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
-
-mimic-fn@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
- integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-
-minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
- integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
- integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
-
-minimist@^1.1.0, minimist@^1.1.3, minimist@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
- integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-
-minimist@^1.2.0, minimist@^1.2.5:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
- integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
-
-minipass@^2.2.1, minipass@^2.3.5:
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
- integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minizlib@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
- integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==
- dependencies:
- minipass "^2.2.1"
-
-mississippi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
- integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
- dependencies:
- concat-stream "^1.5.0"
- duplexify "^3.4.2"
- end-of-stream "^1.1.0"
- flush-write-stream "^1.0.0"
- from2 "^2.1.0"
- parallel-transform "^1.1.0"
- pump "^3.0.0"
- pumpify "^1.3.3"
- stream-each "^1.1.0"
- through2 "^2.0.0"
-
-mixin-deep@^1.2.0:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
- integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
- dependencies:
- for-in "^1.0.2"
- is-extendable "^1.0.1"
-
-mkdirp@^0.5.0, mkdirp@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
- integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
- dependencies:
- minimist "0.0.8"
-
-mkdirp@^0.5.3:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
- integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
- dependencies:
- minimist "^1.2.5"
-
-move-concurrently@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
- integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
- dependencies:
- aproba "^1.1.1"
- copy-concurrently "^1.0.0"
- fs-write-stream-atomic "^1.0.8"
- mkdirp "^0.5.1"
- rimraf "^2.5.4"
- run-queue "^1.0.3"
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-
-ms@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
- integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
-ms@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-mute-stream@0.0.8:
- version "0.0.8"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
- integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
-
-nan@^2.12.1:
- version "2.14.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
- integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
-
-nanomatch@^1.2.9:
- version "1.2.13"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
- integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
- dependencies:
- arr-diff "^4.0.0"
- array-unique "^0.3.2"
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- fragment-cache "^0.2.1"
- is-windows "^1.0.2"
- kind-of "^6.0.2"
- object.pick "^1.3.0"
- regex-not "^1.0.0"
- snapdragon "^0.8.1"
- to-regex "^3.0.1"
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-
-needle@^2.2.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
- integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
-negotiator@0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
- integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
-
-neo-async@^2.5.0, neo-async@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
- integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-node-dir@^0.1.12:
- version "0.1.17"
- resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
- integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=
- dependencies:
- minimatch "^3.0.2"
-
-node-fetch@^2.3.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
- integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
-
-node-libs-browser@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
- integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
- dependencies:
- assert "^1.1.1"
- browserify-zlib "^0.2.0"
- buffer "^4.3.0"
- console-browserify "^1.1.0"
- constants-browserify "^1.0.0"
- crypto-browserify "^3.11.0"
- domain-browser "^1.1.1"
- events "^3.0.0"
- https-browserify "^1.0.0"
- os-browserify "^0.3.0"
- path-browserify "0.0.1"
- process "^0.11.10"
- punycode "^1.2.4"
- querystring-es3 "^0.2.0"
- readable-stream "^2.3.3"
- stream-browserify "^2.0.1"
- stream-http "^2.7.2"
- string_decoder "^1.0.0"
- timers-browserify "^2.0.4"
- tty-browserify "0.0.0"
- url "^0.11.0"
- util "^0.11.0"
- vm-browserify "^1.0.1"
-
-node-pre-gyp@^0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
- integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4"
-
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
- integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
- dependencies:
- hosted-git-info "^2.1.4"
- resolve "^1.10.0"
- semver "2 || 3 || 4 || 5"
- validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
- integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
- dependencies:
- remove-trailing-separator "^1.0.1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-npm-bundled@^1.0.1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
- integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
-
-npm-packlist@^1.1.6:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44"
- integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
-
-npm-prefix@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/npm-prefix/-/npm-prefix-1.2.0.tgz#e619455f7074ba54cc66d6d0d37dd9f1be6bcbc0"
- integrity sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=
- dependencies:
- rc "^1.1.0"
- shellsubstitute "^1.1.0"
- untildify "^2.1.0"
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
-
-npm-run-path@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
- dependencies:
- path-key "^3.0.0"
-
-npmlog@^4.0.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-nugget@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0"
- integrity sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=
- dependencies:
- debug "^2.1.3"
- minimist "^1.1.0"
- pretty-bytes "^1.0.2"
- progress-stream "^1.1.0"
- request "^2.45.0"
- single-line-log "^1.1.2"
- throttleit "0.0.2"
-
-null-loader@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.0.tgz#8e491b253cd87341d82c0e84b66980d806dfbd04"
- integrity sha512-vSoBF6M08/RHwc6r0gvB/xBJBtmbvvEkf6+IiadUCoNYchjxE8lwzCGFg0Qp2D25xPiJxUBh2iNWzlzGMILp7Q==
- dependencies:
- loader-utils "^2.0.0"
- schema-utils "^2.6.5"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
-object-copy@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
- integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
- dependencies:
- copy-descriptor "^0.1.0"
- define-property "^0.2.5"
- kind-of "^3.0.3"
-
-object-inspect@^1.7.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
- integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
-
-object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object-keys@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
- integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
-
-object-visit@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
- integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
- dependencies:
- isobject "^3.0.0"
-
-object.assign@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
- integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
- dependencies:
- define-properties "^1.1.2"
- function-bind "^1.1.1"
- has-symbols "^1.0.0"
- object-keys "^1.0.11"
-
-object.entries@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
- integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
- has "^1.0.3"
-
-object.fromentries@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
- integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
- has "^1.0.3"
-
-object.omit@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
- integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
- dependencies:
- for-own "^0.1.4"
- is-extendable "^0.1.1"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
- dependencies:
- isobject "^3.0.1"
-
-object.values@^1.1.0, object.values@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
- integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
- has "^1.0.3"
-
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
- integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
- dependencies:
- ee-first "1.1.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-onetime@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
- integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=
-
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
- dependencies:
- mimic-fn "^1.0.0"
-
-onetime@^5.1.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
- integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
- dependencies:
- mimic-fn "^2.1.0"
-
-optimist@~0.3.5:
- version "0.3.7"
- resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
- integrity sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=
- dependencies:
- wordwrap "~0.0.2"
-
-optionator@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
- integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
- dependencies:
- deep-is "~0.1.3"
- fast-levenshtein "~2.0.6"
- levn "~0.3.0"
- prelude-ls "~1.1.2"
- type-check "~0.3.2"
- word-wrap "~1.2.3"
-
-optionator@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
- integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
- dependencies:
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
- word-wrap "^1.2.3"
-
-ora@^0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
- integrity sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=
- dependencies:
- chalk "^1.1.1"
- cli-cursor "^1.0.2"
- cli-spinners "^0.1.2"
- object-assign "^4.0.1"
-
-ora@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
- integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==
- dependencies:
- chalk "^2.4.2"
- cli-cursor "^2.1.0"
- cli-spinners "^2.0.0"
- log-symbols "^2.2.0"
- strip-ansi "^5.2.0"
- wcwidth "^1.0.1"
-
-ora@^4.0.3:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc"
- integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==
- dependencies:
- chalk "^3.0.0"
- cli-cursor "^3.1.0"
- cli-spinners "^2.2.0"
- is-interactive "^1.0.0"
- log-symbols "^3.0.0"
- mute-stream "0.0.8"
- strip-ansi "^6.0.0"
- wcwidth "^1.0.1"
-
-os-browserify@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
- integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
-
-os-homedir@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
- integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
-
-os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
- integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-
-osenv@^0.1.4:
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
- integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
- dependencies:
- os-homedir "^1.0.0"
- os-tmpdir "^1.0.0"
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
-p-limit@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
- integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
- dependencies:
- p-try "^1.0.0"
-
-p-limit@^2.0.0, p-limit@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
- integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
- dependencies:
- p-try "^2.0.0"
-
-p-locate@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
- integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
- dependencies:
- p-limit "^1.1.0"
-
-p-locate@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
- integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
- dependencies:
- p-limit "^2.0.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-map@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
- integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
- dependencies:
- aggregate-error "^3.0.0"
-
-p-try@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
- integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-pako@~0.2.0:
- version "0.2.9"
- resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
- integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=
-
-pako@~1.0.5:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
- integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
-
-parallel-transform@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
- integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=
- dependencies:
- cyclist "~0.2.2"
- inherits "^2.0.3"
- readable-stream "^2.1.5"
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-asn1@^5.0.0:
- version "5.1.4"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
- integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==
- dependencies:
- asn1.js "^4.0.0"
- browserify-aes "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.0"
- pbkdf2 "^3.0.3"
- safe-buffer "^5.1.1"
-
-parse-entities@^1.0.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
- integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
- dependencies:
- character-entities "^1.0.0"
- character-entities-legacy "^1.0.0"
- character-reference-invalid "^1.0.0"
- is-alphanumerical "^1.0.0"
- is-decimal "^1.0.0"
- is-hexadecimal "^1.0.0"
-
-parse-gitignore@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/parse-gitignore/-/parse-gitignore-0.4.0.tgz#abf702e4b900524fff7902b683862857b63f93fe"
- integrity sha1-q/cC5LkAUk//eQK2g4YoV7Y/k/4=
- dependencies:
- array-unique "^0.3.2"
- is-glob "^3.1.0"
-
-parse-glob@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
- integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
- dependencies:
- glob-base "^0.3.0"
- is-dotfile "^1.0.0"
- is-extglob "^1.0.0"
- is-glob "^2.0.0"
-
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
- dependencies:
- error-ex "^1.2.0"
-
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-json@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
- integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
- dependencies:
- "@babel/code-frame" "^7.0.0"
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
- lines-and-columns "^1.1.6"
-
-parse-ms@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d"
- integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==
-
-parse-passwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
- integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-
-parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-pascalcase@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
- integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-
-path-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
- integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
- integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
-
-path-exists@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
- integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
- dependencies:
- pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
- integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-key@^2.0.0, path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-
-path-key@^3.0.0, path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
-
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
- integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
-
-path-type@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
- integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
- dependencies:
- graceful-fs "^4.1.2"
- pify "^2.0.0"
- pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
- integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
- dependencies:
- pify "^2.0.0"
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-pathval@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
- integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
-
-pbkdf2@^3.0.3:
- version "3.0.17"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
- integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-peek-stream@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67"
- integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==
- dependencies:
- buffer-from "^1.0.0"
- duplexify "^3.5.0"
- through2 "^2.0.3"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-
-picomatch@^2.0.4, picomatch@^2.0.5:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
- integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==
-
-picomatch@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
-
-pify@^2.0.0, pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
-
-pify@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
- integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pinkie-promise@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
- integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
- dependencies:
- pinkie "^2.0.0"
-
-pinkie@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
- integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
-
-pkg-conf@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae"
- integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==
- dependencies:
- find-up "^3.0.0"
- load-json-file "^5.2.0"
-
-pkg-config@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4"
- integrity sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=
- dependencies:
- debug-log "^1.0.0"
- find-root "^1.0.0"
- xtend "^4.0.1"
-
-pkg-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
- integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
- dependencies:
- find-up "^2.1.0"
-
-pkg-dir@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
- integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
- dependencies:
- find-up "^3.0.0"
-
-pkg-dir@^4.1.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
- integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
- dependencies:
- find-up "^4.0.0"
-
-please-upgrade-node@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac"
- integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==
- dependencies:
- semver-compare "^1.0.0"
-
-please-upgrade-node@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
- integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
- dependencies:
- semver-compare "^1.0.0"
-
-plur@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/plur/-/plur-3.1.1.tgz#60267967866a8d811504fe58f2faaba237546a5b"
- integrity sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==
- dependencies:
- irregular-plurals "^2.0.0"
-
-posix-character-classes@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
- integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
-
-pre-flight@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/pre-flight/-/pre-flight-1.1.1.tgz#482fb1649fb400616a86b2706b11591f5cc8402d"
- integrity sha512-glqyc2Hh3K+sYeSsVs+HhjyUVf8j6xwuFej0yjYjRYfSnOK8P3Na9GznkoPn48fR+9kTOfkocYIWrtWktp4AqA==
- dependencies:
- colors "^1.1.2"
- commander "^2.9.0"
- semver "^5.1.0"
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-prelude-ls@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
- integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
-
-prepend-http@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
- integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
-
-preserve@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
- integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
-
-pretty-bytes@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84"
- integrity sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=
- dependencies:
- get-stdin "^4.0.1"
- meow "^3.1.0"
-
-pretty-ms@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.0.0.tgz#6133a8f55804b208e4728f6aa7bf01085e951e24"
- integrity sha512-94VRYjL9k33RzfKiGokPBPpsmloBYSf5Ri+Pq19zlsEcUKFob+admeXr5eFDRuPjFmEOcjJvPGdillYOJyvZ7Q==
- dependencies:
- parse-ms "^2.1.0"
-
-pretty-ms@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.1.0.tgz#b906bdd1ec9e9799995c372e2b1c34f073f95384"
- integrity sha512-4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw==
- dependencies:
- parse-ms "^2.1.0"
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-process@^0.11.10, process@~0.11.0:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
- integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
-
-progress-stream@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77"
- integrity sha1-LNPP6jO6OonJwSHsM0er6asSX3c=
- dependencies:
- speedometer "~0.1.2"
- through2 "~0.2.3"
-
-progress@^2.0.0, progress@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
-promise-inflight@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
- integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
-
-prop-types@^15.7.2:
- version "15.7.2"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
- integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.8.1"
-
-proxy-addr@~2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
- integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==
- dependencies:
- forwarded "~0.1.2"
- ipaddr.js "1.9.0"
-
-prr@~1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
- integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
-
-psl@^1.1.24:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6"
- integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==
-
-psl@^1.1.28:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
- integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
- safe-buffer "^5.1.2"
-
-pump@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
- integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
- integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-pumpify@^1.3.3:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
- integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
- dependencies:
- duplexify "^3.6.0"
- inherits "^2.0.3"
- pump "^2.0.0"
-
-punycode@1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
- integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
-
-punycode@^1.2.4, punycode@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
- integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
- integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-
-qs@6.7.0:
- version "6.7.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
- integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
-
-qs@~6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
- integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
-
-querystring-es3@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
- integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
-
-querystring@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
- integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
-
-ramda@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.0.tgz#915dc29865c0800bf3f69b8fd6c279898b59de43"
- integrity sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==
-
-randomatic@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
- integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
- dependencies:
- is-number "^4.0.0"
- kind-of "^6.0.0"
- math-random "^1.0.1"
-
-randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-randomfill@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
- integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
- dependencies:
- randombytes "^2.0.5"
- safe-buffer "^5.1.0"
-
-range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.4.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
- integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
- dependencies:
- bytes "3.1.0"
- http-errors "1.7.2"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-rc@^1.1.0, rc@^1.2.7:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
- integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
- dependencies:
- deep-extend "^0.6.0"
- ini "~1.3.0"
- minimist "^1.2.0"
- strip-json-comments "~2.0.1"
-
-react-is@^16.8.1:
- version "16.8.6"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
- integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
-
-read-pkg-up@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
- integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
- dependencies:
- find-up "^1.0.0"
- read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
- integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
- dependencies:
- find-up "^2.0.0"
- read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
- integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
- dependencies:
- load-json-file "^1.0.0"
- normalize-package-data "^2.3.2"
- path-type "^1.0.0"
-
-read-pkg@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
- integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
- dependencies:
- load-json-file "^2.0.0"
- normalize-package-data "^2.3.2"
- path-type "^2.0.0"
-
-read-pkg@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
- integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==
- dependencies:
- "@types/normalize-package-data" "^2.4.0"
- normalize-package-data "^2.5.0"
- parse-json "^4.0.0"
- type-fest "^0.4.1"
-
-"readable-stream@1 || 2", readable-stream@^2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
- version "2.3.6"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
- integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.1.1"
- util-deprecate "~1.0.1"
-
-readable-stream@~1.1.9:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
- integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-readdirp@^2.0.0, readdirp@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
- integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
- dependencies:
- graceful-fs "^4.1.11"
- micromatch "^3.1.10"
- readable-stream "^2.0.2"
-
-readdirp@~3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
- integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
- dependencies:
- picomatch "^2.2.1"
-
-rechoir@^0.6.2:
- version "0.6.2"
- resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
- integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
- dependencies:
- resolve "^1.1.6"
-
-redent@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
- integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
- dependencies:
- indent-string "^2.1.0"
- strip-indent "^1.0.1"
-
-regex-cache@^0.4.2:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
- integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
- dependencies:
- is-equal-shallow "^0.1.3"
-
-regex-not@^1.0.0, regex-not@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
- integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
- dependencies:
- extend-shallow "^3.0.2"
- safe-regex "^1.1.0"
-
-regexpp@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
- integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
-
-regexpp@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e"
- integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==
-
-regexpp@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
-
-remark-cli@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-4.0.0.tgz#bb84c14ffeb6f5b658eff4dfbb77cdd7775bab73"
- integrity sha512-q5GMjGypUS4rTZb3WfMQcGpClSC38A9Ogg1h/HB2GLsqypDetmAfy0X+tuJ6JeyCPVOXXCDgsDCQq4QPqKmxBA==
- dependencies:
- markdown-extensions "^1.1.0"
- remark "^8.0.0"
- unified-args "^4.0.0"
-
-remark-lint-blockquote-indentation@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.3.tgz#9c35235dd0e904ad6c085e9f66d94b3f13968d1f"
- integrity sha512-qK4C1l2VmeOVWEAkDYP0CaDtSFoaEBEo5l4oyz1kTkY7YB0Jh7llW2KjuhJz5IzMLmloKJzIyGwlu/odcwaHpg==
- dependencies:
- mdast-util-to-string "^1.0.2"
- plur "^3.0.0"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-code-block-style@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.3.tgz#236d8a5558041decf2b275e9d9eb5868950375ec"
- integrity sha512-DL+rudnd9ILP5YXm74tLpMzfWZLqziX7NwIwUhqRefaOyWwxgPPy7hbT59FJqcFc6E/zvDz+Oq4nR1BSV5kEdw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-definition-case@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-1.0.4.tgz#54d2a112794f1a070a5e8aa7c8090e8ae9aa3e11"
- integrity sha512-ebl8vYOab9iy1Mr29Wo/9CmqcYGRjCfBievIZts08efrxIElWz+jB8/n7C17fh8k0djiiS/Of6W+bfRD+kMXLA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-definition-spacing@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.4.tgz#c322ff110c168449d8217773a23352c4174ffeba"
- integrity sha512-UderghITmru72OXB5ErCFhVsY7up2wK/m1bUD3E2dm/TFn73/7WpykENt5UirCDT/aeyoHYl8QXUVL20rAc3XQ==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-emphasis-marker@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.3.tgz#6dc4e7df13e5092c1222110f826f68b4b3920550"
- integrity sha512-ea2tEVyhZvYxwj6AHsW2qzgEDLljcnzq5taZ3FJFL0KMZYZHfWaIU90H43jrW4seGEtmaP1bmoqJaTavJ2x5Jw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-fenced-code-flag@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz#349caf7c6dd153d0b6ffb57cbcc67c8277569d2a"
- integrity sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-fenced-code-marker@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.3.tgz#9df1d16d535856f41b3c17a7d309385475cbec04"
- integrity sha512-JKnojSQ8JkwpIpbNm6wtKEfx8iiv8QIwNHFM06iTCHExMhXa4pJ3wb5M5f0wsWNHtoND3lrw6AcVPoZxEPnflg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-file-extension@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz#a7fc78fbf041e513c618b2cca0f2160ee37daa13"
- integrity sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-final-definition@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-1.0.3.tgz#4fd7bbf5a028f6e32645460965099689485508ae"
- integrity sha512-QhbBYy99enfQDeUTElioCHrhgg+SgjMNRlru7/JlOguOufP6wn7AXgn2EVTrLZRoByY0VsNS2jCayXxUTzQ8KA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-hard-break-spaces@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.4.tgz#200e1dae849a6bc2f8fdb3b843faf23c70942530"
- integrity sha512-YM82UpgliZCZhGNmFxEe7ArfhqR5CplFf2bc0k0+8w3rKWKx7EJcGMar2NK410tIi40gGeWtH/pIEypPJFCCiA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-heading-increment@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.3.tgz#44ca296b50e182c2c4a59604b8026911be3977de"
- integrity sha512-/KL4/7D2pNxP07KKgktjcIUS+ga8pYI2k9Q/V91pMfyfSC+RYuCGOLFVJSKV0Affr/4Eqnfhw+gJ9X2HAanNuw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-heading-style@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-1.0.3.tgz#de7377996cb9c7e501ec1ba7b7767709a68b824b"
- integrity sha512-ZUhMav0HHUxo5gzLqxQsOf2ZpP/I3m6EEK8q25/kqpCYnwm1uRJ5CQ40PDQx46pmKtVibIMzDmraYovxNG3ovw==
- dependencies:
- mdast-util-heading-style "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-link-title-style@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.4.tgz#eaca24b6eb1ee62b66a237ea54e532ed2aaaafec"
- integrity sha512-61/uH3zDTiozLJqgxp6rHGnVKTChC3UjL3Q0KQDBpprEOL4qLYjTn4fFKscVz776d0uUX6jczrW+GT4AFVOUgg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
- vfile-location "^2.0.1"
-
-remark-lint-list-item-content-indent@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.3.tgz#e62012ef361fedaca42a764b8389023df4212eca"
- integrity sha512-ZSIGJG2/6jd1xj/xEoDlkcJBf2Ksw8U6vIGJO0IFIA3BLCbJm2EMWJxto2cfzRvXoACmAaxTJMqW8qatPExa4w==
- dependencies:
- plur "^3.0.0"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-list-item-indent@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.4.tgz#7a1ef6283f9a928f4940e02ec37099935f2783e6"
- integrity sha512-Sv0gVH6qP1/nFpbJuyyguB9sAD2o42StD2WbEZeUcEexXwRO4u/YaX0Pm5pMtCiEHyN+qyL6ShKBQMtgol9BeA==
- dependencies:
- plur "^3.0.0"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-list-item-spacing@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.3.tgz#5989bd2450fb4bbd5e8f8007887dc5ca56ad2e5f"
- integrity sha512-QzDY0Qfk6m+Az0kmxP57OfswIH1WRdd6SIpQLaUEgsTlsbrJOiO0sJYkkOlFPsyJIfp7SV/FCbr+aYCbHF+kRQ==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-maximum-heading-length@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.3.tgz#e235190e9991567254f9ce1104e15dad8e332b13"
- integrity sha512-ybcDpR5VHBjtjzdry7AdSjLFwslPo6rdhIJK2+WfHgfeEjIYnlz1uMvp1Z98QMmjpB5JSN83Kzg5fH8/B7poUw==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-maximum-line-length@^1.0.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.1.tgz#1030991d9af3c935731168a0a12ecb1db2d2b2b6"
- integrity sha512-CSxX1qc+rAqixk8eBrI+yBsUmD8YGfOezFeJWjJRuUaoOvs67oqCIU+I2HbwcUYY8/KnDxF1MCp+uCM0RkjKKw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-no-auto-link-without-protocol@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.3.tgz#f97aed92af24e6c07023a7a7dc2c147f7eb7927f"
- integrity sha512-k+hg2mXnO4Q9WV+UShPLen5oThvFxcRVWkx2hviVd/nu3eiszBKH3o38csBwjeJoMG3l2ZhdUW8dlOBhq8670Q==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-blockquote-without-marker@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.3.tgz#7eb431fcb742412e3bc66faa7f58531245ad952f"
- integrity sha512-faDzKrA6aKidsRXG6gcIlCO8TexLxIxe+n9B3mdnl8mhZGgE0FfWTkIWVMj0IYps/xVsVMf45KxhXgc1wU9kwg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
- vfile-location "^2.0.1"
-
-remark-lint-no-consecutive-blank-lines@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.3.tgz#4fa3b2cf2939c978a3fe7978f726f6142e7dd567"
- integrity sha512-2Ef7fPxrfLditA7sTo2Qfqd+xwh/luWl8GzILE5vcWIxLDqKk3dTLJkB5nP+7Cr4kqWJAwXnRkEDd77ehrRV3A==
- dependencies:
- plur "^3.0.0"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-duplicate-headings@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.4.tgz#52ac1479b6de83d5607b8d07e8ef3401d5078424"
- integrity sha512-QuPw+VG502Ctpd/jBjnBYuRXTg0ToP3D+dd3TYds4TRcdgaEFYTZfQ5zjK6XrxLMg0Hn9/WpXr4UqTlV4YZupA==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-stringify-position "^2.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-emphasis-as-heading@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.3.tgz#9d837d4c5635a784ef0e983cfb402da15672050d"
- integrity sha512-HEmyeyKciUz95+CgpAH98RPR73jq5u5CZb2FOMSqgNl9B6FZXqVpq9F3txPqUw3nAqFYOAEnfiaoRgcqtioh0Q==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-file-name-articles@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz#c712d06a24e24b0c4c3666cf3084a0052a2c2c17"
- integrity sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-no-file-name-consecutive-dashes@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz#6a96ddf60e18dcdb004533733f3ccbfd8ab076ae"
- integrity sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-no-file-name-irregular-characters@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz#6dcd8b51e00e10094585918cb8e7fc999df776c3"
- integrity sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-no-file-name-mixed-case@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz#0ebe5eedd0191507d27ad6ac5eed1778cb33c2de"
- integrity sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-no-file-name-outer-dashes@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz#c6e22a5cc64df4e12fc31712a927e8039854a666"
- integrity sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ==
- dependencies:
- unified-lint-rule "^1.0.0"
-
-remark-lint-no-heading-punctuation@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.3.tgz#7357b0b6e668bb6b32338fe280cde9fe4388b547"
- integrity sha512-JQD05RjLS99ePBQ4Bed1uWsQTlIMBTcGgIgF6jFXSCEqhwnrIUDwk6S3MG1RZsKd3TLw2xuT/i+POpfBc2+1kQ==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-inline-padding@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.4.tgz#eedb4ca2691d30f3f05b4e5e33967bd64a34daa4"
- integrity sha512-u5rgbDkcfVv645YxxOwoGBBJbsHEwWm/XqnO8EhfKTxkfKOF4ZItG7Ajhj89EDaeXMkvCcB/avBl4bj50eJH3g==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-no-literal-urls@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.3.tgz#1b5374e416d1b595ee1902587dc37f34c0d6244a"
- integrity sha512-H5quyMzl2kaewK+jYD1FI0G1SIinIsIp4DEyOUwIR+vYUoKwo0B4vvW0cmPpD1dgqqxHYx0B2B0JQQKFVWzGiw==
- dependencies:
- mdast-util-to-string "^1.0.2"
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-multiple-toplevel-headings@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.4.tgz#0cfd8575e5576d7678802eac56fda894afee3817"
- integrity sha512-0wDddx6htN5sL9/rofesiQF0oEgwN5224UmueiDx0ZUlYrn6VS0/SS0X3WWxtXmyeqlExfWF3D/g89tNs7dcjw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-stringify-position "^2.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-shell-dollars@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz#07e99fc3843c665440f9a1d894ee518b2ad23958"
- integrity sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-shortcut-reference-image@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.3.tgz#ab4fa15fd8aff251cb8db1f3aed4853e293aff41"
- integrity sha512-CGm27X54kXp/5ehXejDTsZjqzK4uIhLGcrFzN3k/KjdwunQouEY92AARGrLSEuJ1hQx0bJsmnvr/hvQyWAfNJg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-shortcut-reference-link@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.4.tgz#92af34b939c0341eacdb2fc2ede855f742dc1779"
- integrity sha512-FXdMJYqspZBhPlxYqfVgVluVXjxStg0RHJzqrk8G9wS8fCS62AE3reoaoiCahwoH1tfKcA+poktbKqDAmZo7Jg==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-no-table-indentation@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.4.tgz#6681a26198ee86c4fbbba382a42254125bc5807b"
- integrity sha512-H4VGHcg1k8sTIbwazFYLNbDqpPR+M0aHHKDf+93b/xyd27Dp0ODQrMnQbls1Cls5qOAQnwAQbx+75wcpFxP3OQ==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-ordered-list-marker-style@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.3.tgz#3fc6b9e254a641036e275269254365c42b7c62a1"
- integrity sha512-24TmW1eUa/2JlwprZg9jJ8LKLxNGKnlKiI5YOhN4taUp2yv8daqlV9vR54yfn/ZZQh6EQvbIX0jeVY9NYgQUtw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-ordered-list-marker-value@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.3.tgz#417afe3849b9926e06f8a6f62445541c63f0e97f"
- integrity sha512-WQ9yLD8cI9DSk/CE+APKUT6ZeXp0/RzOnsYqzMxEa8n1QHSqRSF7hVEiisqNTG9+gV64OEE66e+m4c7RVSUADw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-rule-style@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-1.0.3.tgz#859aef4d2e2180ecf9db56360497372b90a04aab"
- integrity sha512-SJe7IFORYRdo8JUhMSdcTktVAUVNVp36YYl1ZD9CfHqQHWlFD+3vWYzJXOZfog/i+CyWf7Yi0WVYmQes+167dA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-strong-marker@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.3.tgz#028e05b046ef260e8d40b342900061f1d09c8131"
- integrity sha512-PFkH282dCwfRsVEw9IxbYbaZBY4UcTuT2SN+lA3R0cBeocWnOySVw8YEm4sv9JfV8BLcQA5gc4tj66/U3KCScw==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-table-cell-padding@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.4.tgz#be2b020a3985c414abb59cc5d88fda1993f8f2e8"
- integrity sha512-AQWWtV1yca1PN27QaFRJbBK6Ro/bopv1XnVKxj/iMebhOU2D2FBJ8rXmMZXVMC3G9OB2WSzGgqH3nP6QY12LoA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.4.0"
-
-remark-lint-table-pipe-alignment@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.3.tgz#8c6d0c93e417706a4083dc7fa279c537d4ed886c"
- integrity sha512-5fhEMcKqNjK6S/y7cVG0+iVqhmhXFW+awIuN7vOBhmDbZ3HF9rCCy20XiHoaG6FzrPJ+zfkjK/QZAbq2Vf58HA==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-table-pipes@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.3.tgz#e34f91de4371f98c5e16701bd2302928468cbd8a"
- integrity sha512-K9NnGZp6i0m/CaOH7ZT4Ymt2seyiRPcBIlNMMGXBm6gpy34KJDDxYqsNUrh+j7dR+Zg4rYAQLnr3BiSHvj+rbQ==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint-unordered-list-marker-style@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.3.tgz#72f9ec8cd54950753593b3b727fd28e48fa197d5"
- integrity sha512-0nn/Yscy5ImO4fqByrk/Ua02UwGx8LRu+0kdCbkVz4IxPO5qxTEfyccUQZR71zTdMJp1d2OeqyD9XtMaO4X7Ww==
- dependencies:
- unified-lint-rule "^1.0.0"
- unist-util-generated "^1.1.0"
- unist-util-position "^3.0.0"
- unist-util-visit "^1.1.1"
-
-remark-lint@^6.0.0:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-6.0.5.tgz#fbb864d56bf83d2e5d23ea7e346ca5e36710fda3"
- integrity sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ==
- dependencies:
- remark-message-control "^4.0.0"
-
-remark-message-control@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-4.2.0.tgz#184c4a69ce6c4c707a5633fa35b0ce3dbf81f22c"
- integrity sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==
- dependencies:
- mdast-comment-marker "^1.0.0"
- unified-message-control "^1.0.0"
- xtend "^4.0.1"
-
-remark-parse@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-4.0.0.tgz#99f1f049afac80382366e2e0d0bd55429dd45d8b"
- integrity sha512-XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==
- dependencies:
- collapse-white-space "^1.0.2"
- is-alphabetical "^1.0.0"
- is-decimal "^1.0.0"
- is-whitespace-character "^1.0.0"
- is-word-character "^1.0.0"
- markdown-escapes "^1.0.0"
- parse-entities "^1.0.2"
- repeat-string "^1.5.4"
- state-toggle "^1.0.0"
- trim "0.0.1"
- trim-trailing-lines "^1.0.0"
- unherit "^1.0.4"
- unist-util-remove-position "^1.0.0"
- vfile-location "^2.0.0"
- xtend "^4.0.1"
-
-remark-preset-lint-markdown-style-guide@^2.1.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.3.tgz#2d2e6a162cc18976a2be93f4ebd45835f2ff6c14"
- integrity sha512-H/jSoLvTY8abUcB+7/062I2oHevlHcHdrfRMP2RMh19QA1wmARgNEn3tZfdBXFq1TpzhevGgb6VwSdOjdU8NOQ==
- dependencies:
- remark-lint "^6.0.0"
- remark-lint-blockquote-indentation "^1.0.0"
- remark-lint-code-block-style "^1.0.0"
- remark-lint-definition-case "^1.0.0"
- remark-lint-definition-spacing "^1.0.0"
- remark-lint-emphasis-marker "^1.0.0"
- remark-lint-fenced-code-flag "^1.0.0"
- remark-lint-fenced-code-marker "^1.0.0"
- remark-lint-file-extension "^1.0.0"
- remark-lint-final-definition "^1.0.0"
- remark-lint-hard-break-spaces "^1.0.0"
- remark-lint-heading-increment "^1.0.0"
- remark-lint-heading-style "^1.0.0"
- remark-lint-link-title-style "^1.0.0"
- remark-lint-list-item-content-indent "^1.0.0"
- remark-lint-list-item-indent "^1.0.0"
- remark-lint-list-item-spacing "^1.0.0"
- remark-lint-maximum-heading-length "^1.0.0"
- remark-lint-maximum-line-length "^1.0.0"
- remark-lint-no-auto-link-without-protocol "^1.0.0"
- remark-lint-no-blockquote-without-marker "^2.0.0"
- remark-lint-no-consecutive-blank-lines "^1.0.0"
- remark-lint-no-duplicate-headings "^1.0.0"
- remark-lint-no-emphasis-as-heading "^1.0.0"
- remark-lint-no-file-name-articles "^1.0.0"
- remark-lint-no-file-name-consecutive-dashes "^1.0.0"
- remark-lint-no-file-name-irregular-characters "^1.0.0"
- remark-lint-no-file-name-mixed-case "^1.0.0"
- remark-lint-no-file-name-outer-dashes "^1.0.0"
- remark-lint-no-heading-punctuation "^1.0.0"
- remark-lint-no-inline-padding "^1.0.0"
- remark-lint-no-literal-urls "^1.0.0"
- remark-lint-no-multiple-toplevel-headings "^1.0.0"
- remark-lint-no-shell-dollars "^1.0.0"
- remark-lint-no-shortcut-reference-image "^1.0.0"
- remark-lint-no-shortcut-reference-link "^1.0.0"
- remark-lint-no-table-indentation "^1.0.0"
- remark-lint-ordered-list-marker-style "^1.0.0"
- remark-lint-ordered-list-marker-value "^1.0.0"
- remark-lint-rule-style "^1.0.0"
- remark-lint-strong-marker "^1.0.0"
- remark-lint-table-cell-padding "^1.0.0"
- remark-lint-table-pipe-alignment "^1.0.0"
- remark-lint-table-pipes "^1.0.0"
- remark-lint-unordered-list-marker-style "^1.0.0"
-
-remark-stringify@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-4.0.0.tgz#4431884c0418f112da44991b4e356cfe37facd87"
- integrity sha512-xLuyKTnuQer3ke9hkU38SUYLiTmS078QOnoFavztmbt/pAJtNSkNtFgR0U//uCcmG0qnyxao+PDuatQav46F1w==
- dependencies:
- ccount "^1.0.0"
- is-alphanumeric "^1.0.0"
- is-decimal "^1.0.0"
- is-whitespace-character "^1.0.0"
- longest-streak "^2.0.1"
- markdown-escapes "^1.0.0"
- markdown-table "^1.1.0"
- mdast-util-compact "^1.0.0"
- parse-entities "^1.0.2"
- repeat-string "^1.5.4"
- state-toggle "^1.0.0"
- stringify-entities "^1.0.1"
- unherit "^1.0.4"
- xtend "^4.0.1"
-
-remark@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/remark/-/remark-8.0.0.tgz#287b6df2fe1190e263c1d15e486d3fa835594d6d"
- integrity sha512-K0PTsaZvJlXTl9DN6qYlvjTkqSZBFELhROZMrblm2rB+085flN84nz4g/BscKRMqDvhzlK1oQ/xnWQumdeNZYw==
- dependencies:
- remark-parse "^4.0.0"
- remark-stringify "^4.0.0"
- unified "^6.0.0"
-
-remove-trailing-separator@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
- integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
-
-repeat-element@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
- integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
-
-repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
- integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-
-repeating@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
- integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
- dependencies:
- is-finite "^1.0.0"
-
-replace-ext@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
- integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
-
-request@^2.45.0, request@^2.88.0:
- version "2.88.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
- integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.0"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.4.3"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-request@^2.88.2:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-requireindex@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162"
- integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI=
-
-resolve-cwd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
- integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
- dependencies:
- resolve-from "^3.0.0"
-
-resolve-dir@^1.0.0, resolve-dir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
- integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
- dependencies:
- expand-tilde "^2.0.0"
- global-modules "^1.0.0"
-
-resolve-from@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
- integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve-from@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
- integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
-
-resolve-url@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
- integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-
-resolve@^1.1.6, resolve@^1.10.0:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
- integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
- dependencies:
- path-parse "^1.0.6"
-
-resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.17.0:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
- integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
- dependencies:
- path-parse "^1.0.6"
-
-restore-cursor@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
- integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=
- dependencies:
- exit-hook "^1.0.0"
- onetime "^1.0.0"
-
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
- dependencies:
- onetime "^2.0.0"
- signal-exit "^3.0.2"
-
-restore-cursor@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
- integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
- dependencies:
- onetime "^5.1.0"
- signal-exit "^3.0.2"
-
-ret@~0.1.10:
- version "0.1.15"
- resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
- integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
- version "2.6.3"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
- integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
- dependencies:
- glob "^7.1.3"
-
-rimraf@~2.2.6:
- version "2.2.8"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
- integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-run-async@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
- integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
-
-run-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
- integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
-
-run-parallel@^1.1.2, run-parallel@^1.1.9:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
- integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
-
-run-queue@^1.0.0, run-queue@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
- integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
- dependencies:
- aproba "^1.1.1"
-
-rxjs@^6.5.5, rxjs@^6.6.0:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84"
- integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==
- dependencies:
- tslib "^1.9.0"
-
-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
- integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
-
-safe-regex@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
- integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
- dependencies:
- ret "~0.1.10"
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sax@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
- integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
-schema-utils@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
- integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
- dependencies:
- ajv "^6.1.0"
- ajv-errors "^1.0.0"
- ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.5:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
- integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
- dependencies:
- "@types/json-schema" "^7.0.4"
- ajv "^6.12.2"
- ajv-keywords "^3.4.1"
-
-semver-compare@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
- integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
-
-"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.6.0:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
- integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
-
-semver@^5.1.0, semver@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-
-semver@^6.0.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
- integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
-
-semver@^6.1.0, semver@^6.1.2:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
- integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-
-semver@^7.2.1, semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
-send@0.17.1:
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
- integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
- dependencies:
- debug "2.6.9"
- depd "~1.1.2"
- destroy "~1.0.4"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.7.2"
- mime "1.6.0"
- ms "2.1.1"
- on-finished "~2.3.0"
- range-parser "~1.2.1"
- statuses "~1.5.0"
-
-serialize-javascript@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
- integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
-
-serve-static@1.14.1:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
- integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.17.1"
-
-set-blocking@^2.0.0, set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-set-value@^2.0.0, set-value@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
- integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
- dependencies:
- extend-shallow "^2.0.1"
- is-extendable "^0.1.1"
- is-plain-object "^2.0.3"
- split-string "^3.0.1"
-
-setimmediate@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-
-setprototypeof@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
- integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-
-sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shelljs@^0.8.1:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
- integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==
- dependencies:
- glob "^7.0.0"
- interpret "^1.0.0"
- rechoir "^0.6.2"
-
-shellsubstitute@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shellsubstitute/-/shellsubstitute-1.2.0.tgz#e4f702a50c518b0f6fe98451890d705af29b6b70"
- integrity sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=
-
-shx@^0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.2.tgz#40501ce14eb5e0cbcac7ddbd4b325563aad8c123"
- integrity sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA==
- dependencies:
- es6-object-assign "^1.0.3"
- minimist "^1.2.0"
- shelljs "^0.8.1"
-
-signal-exit@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
- integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
-
-signal-exit@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
- integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
-
-single-line-log@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364"
- integrity sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=
- dependencies:
- string-width "^1.0.1"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-slice-ansi@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
- integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
- dependencies:
- ansi-styles "^3.2.0"
- astral-regex "^1.0.0"
- is-fullwidth-code-point "^2.0.0"
-
-slice-ansi@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
- integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
-
-slice-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
- integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
- dependencies:
- ansi-styles "^4.0.0"
- astral-regex "^2.0.0"
- is-fullwidth-code-point "^3.0.0"
-
-sliced@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
- integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=
-
-snapdragon-node@^2.0.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
- integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
- dependencies:
- define-property "^1.0.0"
- isobject "^3.0.0"
- snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
- integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
- dependencies:
- kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
- integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
- dependencies:
- base "^0.11.1"
- debug "^2.2.0"
- define-property "^0.2.5"
- extend-shallow "^2.0.1"
- map-cache "^0.2.2"
- source-map "^0.5.6"
- source-map-resolve "^0.5.0"
- use "^3.1.0"
-
-source-list-map@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
- integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
-
-source-map-resolve@^0.5.0:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
- integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==
- dependencies:
- atob "^2.1.1"
- decode-uri-component "^0.2.0"
- resolve-url "^0.2.1"
- source-map-url "^0.4.0"
- urix "^0.1.0"
-
-source-map-support@^0.5.6:
- version "0.5.19"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
- integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-support@~0.5.12:
- version "0.5.12"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
- integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
- dependencies:
- buffer-from "^1.0.0"
- source-map "^0.6.0"
-
-source-map-url@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
- integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
-
-source-map@^0.5.6:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
- integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
-
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
- integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-spdx-correct@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
- integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==
- dependencies:
- spdx-expression-parse "^3.0.0"
- spdx-license-ids "^3.0.0"
-
-spdx-exceptions@^2.1.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
- integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
-
-spdx-expression-parse@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
- integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
- dependencies:
- spdx-exceptions "^2.1.0"
- spdx-license-ids "^3.0.0"
-
-spdx-license-ids@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1"
- integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==
-
-speedometer@~0.1.2:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d"
- integrity sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=
-
-split-string@^3.0.1, split-string@^3.0.2:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
- integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
- dependencies:
- extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-sshpk@^1.7.0:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
- integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-ssri@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
- integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
- dependencies:
- figgy-pudding "^3.5.1"
-
-standard-engine@^12.0.0:
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-12.1.0.tgz#b13dbae583de54c06805207b991ef48a582c0e62"
- integrity sha512-DVJnWM1CGkag4ucFLGdiYWa5/kJURPONmMmk17p8FT5NE4UnPZB1vxWnXnRo2sPSL78pWJG8xEM+1Tu19z0deg==
- dependencies:
- deglob "^4.0.1"
- get-stdin "^7.0.0"
- minimist "^1.2.5"
- pkg-conf "^3.1.0"
-
-standard-markdown@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/standard-markdown/-/standard-markdown-6.0.0.tgz#bb7519a86275900eaa7a951d98937723c7010ed6"
- integrity sha512-9lQs4ZfGukyalFVputnN4IxfbMIAECjf+BqC4gvY8eBUvYcotYIWj4MZyMiXBkN/OJwmMi5jVSnzIexKZQqQYA==
- dependencies:
- commander "^4.1.0"
- globby "^11.0.0"
- lodash.flatten "^4.4.0"
- lodash.range "^3.2.0"
- ora "^4.0.3"
- standard "^14.3.1"
-
-standard@^14.3.1:
- version "14.3.4"
- resolved "https://registry.yarnpkg.com/standard/-/standard-14.3.4.tgz#748e80e8cd7b535844a85a12f337755a7e3a0f6e"
- integrity sha512-+lpOkFssMkljJ6eaILmqxHQ2n4csuEABmcubLTb9almFi1ElDzXb1819fjf/5ygSyePCq4kU2wMdb2fBfb9P9Q==
- dependencies:
- eslint "~6.8.0"
- eslint-config-standard "14.1.1"
- eslint-config-standard-jsx "8.1.0"
- eslint-plugin-import "~2.18.0"
- eslint-plugin-node "~10.0.0"
- eslint-plugin-promise "~4.2.1"
- eslint-plugin-react "~7.14.2"
- eslint-plugin-standard "~4.0.0"
- standard-engine "^12.0.0"
-
-state-toggle@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc"
- integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==
-
-static-extend@^0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
- integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
- dependencies:
- define-property "^0.2.5"
- object-copy "^0.1.0"
-
-"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
- integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-
-stream-browserify@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
- integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
- dependencies:
- inherits "~2.0.1"
- readable-stream "^2.0.2"
-
-stream-each@^1.1.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
- integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
- dependencies:
- end-of-stream "^1.1.0"
- stream-shift "^1.0.0"
-
-stream-http@^2.7.2:
- version "2.8.3"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
- integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
- dependencies:
- builtin-status-codes "^3.0.0"
- inherits "^2.0.1"
- readable-stream "^2.3.6"
- to-arraybuffer "^1.0.0"
- xtend "^4.0.0"
-
-stream-shift@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
- integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
-
-string-argv@0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
- integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
-
-string-width@^1.0.0, string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2":
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
-string-width@^3.0.0, string-width@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
- integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
- dependencies:
- emoji-regex "^7.0.1"
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^5.1.0"
-
-string-width@^4.1.0, string-width@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
- integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.0"
-
-string.prototype.trimend@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
- integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-string.prototype.trimstart@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
- integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
- dependencies:
- define-properties "^1.1.3"
- es-abstract "^1.17.5"
-
-string_decoder@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
- integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
- dependencies:
- safe-buffer "~5.1.0"
-
-string_decoder@~0.10.x:
- version "0.10.31"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
- integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
-
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-stringify-entities@^1.0.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7"
- integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==
- dependencies:
- character-entities-html4 "^1.0.0"
- character-entities-legacy "^1.0.0"
- is-alphanumerical "^1.0.0"
- is-hexadecimal "^1.0.0"
-
-stringify-object@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
- integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
- dependencies:
- get-own-enumerable-property-symbols "^3.0.0"
- is-obj "^1.0.1"
- is-regexp "^1.0.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
- dependencies:
- ansi-regex "^3.0.0"
-
-strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
- integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
- dependencies:
- ansi-regex "^5.0.0"
-
-strip-bom@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
- integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
- dependencies:
- is-utf8 "^0.2.0"
-
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-
-strip-final-newline@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-strip-indent@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
- integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
- dependencies:
- get-stdin "^4.0.1"
-
-strip-json-comments@^3.0.1, strip-json-comments@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
- integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
-
-strip-json-comments@~2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
- integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
-
-sumchecker@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e"
- integrity sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=
- dependencies:
- debug "^2.2.0"
-
-supports-color@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
- integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
-
-supports-color@^4.1.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
- integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
- dependencies:
- has-flag "^2.0.0"
-
-supports-color@^5.3.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
- integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-table@^5.2.3:
- version "5.4.6"
- resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
- integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
- dependencies:
- ajv "^6.10.2"
- lodash "^4.17.14"
- slice-ansi "^2.1.0"
- string-width "^3.0.0"
-
-tap-parser@~1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-1.2.2.tgz#5e2f6970611f079c7cf857de1dc7aa1b480de7a5"
- integrity sha1-Xi9pcGEfB5x8+FfeHceqG0gN56U=
- dependencies:
- events-to-array "^1.0.1"
- inherits "~2.0.1"
- js-yaml "^3.2.7"
- optionalDependencies:
- readable-stream "^2"
-
-tap-xunit@^2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/tap-xunit/-/tap-xunit-2.4.1.tgz#9823797b676ae5017f4e380bd70abb893b8e120e"
- integrity sha512-qcZStDtjjYjMKAo7QNiCtOW256g3tuSyCSe5kNJniG1Q2oeOExJq4vm8CwboHZURpkXAHvtqMl4TVL7mcbMVVA==
- dependencies:
- duplexer "~0.1.1"
- minimist "~1.2.0"
- tap-parser "~1.2.2"
- through2 "~2.0.0"
- xmlbuilder "~4.2.0"
- xtend "~4.0.0"
-
-tapable@^1.0.0, tapable@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
- integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
-
-tar-fs@^1.13.0:
- version "1.16.3"
- resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509"
- integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==
- dependencies:
- chownr "^1.0.1"
- mkdirp "^0.5.1"
- pump "^1.0.0"
- tar-stream "^1.1.2"
-
-tar-stream@^1.1.2:
- version "1.6.2"
- resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555"
- integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==
- dependencies:
- bl "^1.0.0"
- buffer-alloc "^1.2.0"
- end-of-stream "^1.0.0"
- fs-constants "^1.0.0"
- readable-stream "^2.3.0"
- to-buffer "^1.1.1"
- xtend "^4.0.0"
-
-tar@^4, tar@^4.4.7:
- version "4.4.10"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
- integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==
- dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.3.5"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
-
-temp@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
- integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=
- dependencies:
- os-tmpdir "^1.0.0"
- rimraf "~2.2.6"
-
-terser-webpack-plugin@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
- integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==
- dependencies:
- cacache "^12.0.2"
- find-cache-dir "^2.1.0"
- is-wsl "^1.1.0"
- schema-utils "^1.0.0"
- serialize-javascript "^2.1.2"
- source-map "^0.6.1"
- terser "^4.1.2"
- webpack-sources "^1.4.0"
- worker-farm "^1.7.0"
-
-terser@^4.1.2:
- version "4.6.7"
- resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72"
- integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==
- dependencies:
- commander "^2.20.0"
- source-map "~0.6.1"
- source-map-support "~0.5.12"
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-
-throttleit@0.0.2:
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
- integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8=
-
-through2@^2.0.0, through2@^2.0.3, through2@~2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
- integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
- dependencies:
- readable-stream "~2.3.6"
- xtend "~4.0.1"
-
-through2@~0.2.3:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f"
- integrity sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=
- dependencies:
- readable-stream "~1.1.9"
- xtend "~2.1.1"
-
-through@^2.3.6, through@^2.3.8:
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
-
-timed-out@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
- integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
-
-timers-browserify@1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
- integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=
- dependencies:
- process "~0.11.0"
-
-timers-browserify@^2.0.4:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
- integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==
- dependencies:
- setimmediate "^1.0.4"
-
-tmp@^0.0.33:
- version "0.0.33"
- resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
- integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
- dependencies:
- os-tmpdir "~1.0.2"
-
-to-arraybuffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
- integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
-
-to-buffer@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80"
- integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==
-
-to-object-path@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
- integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
- dependencies:
- kind-of "^3.0.2"
-
-to-regex-range@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
- integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
- dependencies:
- is-number "^3.0.0"
- repeat-string "^1.6.1"
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-to-regex@^3.0.1, to-regex@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
- integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
- dependencies:
- define-property "^2.0.2"
- extend-shallow "^3.0.2"
- regex-not "^1.0.2"
- safe-regex "^1.1.0"
-
-to-vfile@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-2.2.0.tgz#342d1705e6df526d569b1fc8bfa29f1f36d6c416"
- integrity sha512-saGC8/lWdGrEoBMLUtgzhRHWAkQMP8gdldA3MOAUhBwTGEb1RSMVcflHGSx4ZJsdEZ9o1qDBCPp47LCPrbZWow==
- dependencies:
- is-buffer "^1.1.4"
- vfile "^2.0.0"
- x-is-function "^1.0.4"
-
-toidentifier@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
- integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-
-tough-cookie@~2.4.3:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
- integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
- dependencies:
- psl "^1.1.24"
- punycode "^1.4.1"
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-trim-newlines@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
- integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
-
-trim-trailing-lines@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a"
- integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==
-
-trim@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
- integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
-
-trough@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e"
- integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==
-
-ts-loader@^8.0.2:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.2.tgz#ee73ca9350f745799396fff8578ba29b1e95616b"
- integrity sha512-oYT7wOTUawYXQ8XIDsRhziyW0KUEV38jISYlE+9adP6tDtG+O5GkRe4QKQXrHVH4mJJ88DysvEtvGP65wMLlhg==
- dependencies:
- chalk "^2.3.0"
- enhanced-resolve "^4.0.0"
- loader-utils "^1.0.2"
- micromatch "^4.0.0"
- semver "^6.0.0"
-
-ts-node@6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-6.2.0.tgz#65a0ae2acce319ea4fd7ac8d7c9f1f90c5da6baf"
- integrity sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==
- dependencies:
- arrify "^1.0.0"
- buffer-from "^1.1.0"
- diff "^3.1.0"
- make-error "^1.1.1"
- minimist "^1.2.0"
- mkdirp "^0.5.1"
- source-map-support "^0.5.6"
- yn "^2.0.0"
-
-tsconfig-paths@^3.9.0:
- version "3.9.0"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
- integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
- dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.1"
- minimist "^1.2.0"
- strip-bom "^3.0.0"
-
-tslib@^1.8.1, tslib@^1.9.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
- integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
-
-tsutils@^3.17.1:
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
- integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
- dependencies:
- tslib "^1.8.1"
-
-tty-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
- integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-check@~0.3.2:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
- integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
- dependencies:
- prelude-ls "~1.1.2"
-
-type-detect@^4.0.0, type-detect@^4.0.5:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
- integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-
-type-fest@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
- integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
-
-type-fest@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
- integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
-
-type-fest@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8"
- integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
-
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
-type-is@~1.6.17, type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-typedarray@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
- integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-
-typescript@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
- integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
-
-uc.micro@^1.0.1, uc.micro@^1.0.5:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
- integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
-
-unherit@^1.0.4:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449"
- integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==
- dependencies:
- inherits "^2.0.1"
- xtend "^4.0.1"
-
-unified-args@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-4.0.0.tgz#8d9b9b8ad347beb37f430562a62c4d361b42220f"
- integrity sha1-jZubitNHvrN/QwVipixNNhtCIg8=
- dependencies:
- camelcase "^4.0.0"
- chalk "^2.0.0"
- chokidar "^1.5.1"
- minimist "^1.2.0"
- text-table "^0.2.0"
- unified-engine "^4.0.0"
-
-unified-engine@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-4.0.1.tgz#9692aa97fd5c4ec36889779e12514bef8e863fc3"
- integrity sha1-lpKql/1cTsNoiXeeElFL746GP8M=
- dependencies:
- concat-stream "^1.5.1"
- debug "^2.2.0"
- fault "^1.0.0"
- fn-name "^2.0.1"
- glob "^7.0.3"
- ignore "^3.2.0"
- is-empty "^1.0.0"
- is-hidden "^1.0.1"
- is-object "^1.0.1"
- js-yaml "^3.6.1"
- load-plugin "^2.0.0"
- parse-json "^2.2.0"
- to-vfile "^2.0.0"
- trough "^1.0.0"
- vfile-reporter "^4.0.0"
- vfile-statistics "^1.1.0"
- x-is-function "^1.0.4"
- x-is-string "^0.1.0"
- xtend "^4.0.1"
-
-unified-lint-rule@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz#be432d316db7ad801166041727b023ba18963e24"
- integrity sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ==
- dependencies:
- wrapped "^1.0.1"
-
-unified-message-control@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-1.0.4.tgz#a5e02c07112f78c6687b83a10392c2fba86dc09b"
- integrity sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==
- dependencies:
- trim "0.0.1"
- unist-util-visit "^1.0.0"
- vfile-location "^2.0.0"
-
-unified@^6.0.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
- integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==
- dependencies:
- bail "^1.0.0"
- extend "^3.0.0"
- is-plain-obj "^1.1.0"
- trough "^1.0.0"
- vfile "^2.0.0"
- x-is-string "^0.1.0"
-
-union-value@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
- integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
- dependencies:
- arr-union "^3.1.0"
- get-value "^2.0.6"
- is-extendable "^0.1.1"
- set-value "^2.0.1"
-
-uniq@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
- integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
-
-unique-filename@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
- integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
- dependencies:
- unique-slug "^2.0.0"
-
-unique-slug@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
- integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
- dependencies:
- imurmurhash "^0.1.4"
-
-unist-util-generated@^1.1.0:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7"
- integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==
-
-unist-util-is@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
- integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
-
-unist-util-position@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373"
- integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==
-
-unist-util-remove-position@^1.0.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972"
- integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==
- dependencies:
- unist-util-visit "^1.1.0"
-
-unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
- integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==
-
-unist-util-stringify-position@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3"
- integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==
- dependencies:
- "@types/unist" "^2.0.2"
-
-unist-util-visit-parents@^2.0.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
- integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
- dependencies:
- unist-util-is "^3.0.0"
-
-unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.1.1, unist-util-visit@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
- integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
- dependencies:
- unist-util-visit-parents "^2.0.0"
-
-universal-github-app-jwt@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz#0abaa876101cdf1d3e4c546be2768841c0c1b514"
- integrity sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==
- dependencies:
- "@types/jsonwebtoken" "^8.3.3"
- jsonwebtoken "^8.5.1"
-
-universal-user-agent@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
- integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-universalify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
- integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
-
-unset-value@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
- integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
- dependencies:
- has-value "^0.3.1"
- isobject "^3.0.0"
-
-untildify@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0"
- integrity sha1-F+soB5h/dpUunASF/DEdBqgmouA=
- dependencies:
- os-homedir "^1.0.0"
-
-unzip-response@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
- integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
-
-upath@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
- integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==
-
-uri-js@^4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
- integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
- dependencies:
- punycode "^2.1.0"
-
-urix@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
- integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
-
-url-parse-lax@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
- integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
- dependencies:
- prepend-http "^1.0.1"
-
-url@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
- integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
- dependencies:
- punycode "1.3.2"
- querystring "0.2.0"
-
-use@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
- integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
-
-util-deprecate@~1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
-
-util@0.10.3:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
- integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
- dependencies:
- inherits "2.0.1"
-
-util@^0.11.0:
- version "0.11.1"
- resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
- integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
- dependencies:
- inherits "2.0.3"
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-
-uuid@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
- integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
-
-v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
- integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
-
-validate-npm-package-license@^3.0.1:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
- integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
- dependencies:
- spdx-correct "^3.0.0"
- spdx-expression-parse "^3.0.0"
-
-vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-vfile-location@^2.0.0, vfile-location@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2"
- integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==
-
-vfile-message@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
- integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==
- dependencies:
- unist-util-stringify-position "^1.1.1"
-
-vfile-reporter@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-4.0.0.tgz#ea6f0ae1342f4841573985e05f941736f27de9da"
- integrity sha1-6m8K4TQvSEFXOYXgX5QXNvJ96do=
- dependencies:
- repeat-string "^1.5.0"
- string-width "^1.0.0"
- supports-color "^4.1.0"
- unist-util-stringify-position "^1.0.0"
- vfile-statistics "^1.1.0"
-
-vfile-statistics@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz#e9c87071997fbcb4243764d2c3805e0bb0820c60"
- integrity sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==
-
-vfile@^2.0.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
- integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==
- dependencies:
- is-buffer "^1.1.4"
- replace-ext "1.0.0"
- unist-util-stringify-position "^1.0.0"
- vfile-message "^1.0.0"
-
-vm-browserify@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
- integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
-
-walk-sync@^0.3.2:
- version "0.3.4"
- resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.4.tgz#cf78486cc567d3a96b5b2237c6108017a5ffb9a4"
- integrity sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==
- dependencies:
- ensure-posix-path "^1.0.0"
- matcher-collection "^1.0.0"
-
-watchpack-chokidar2@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
- integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
- dependencies:
- chokidar "^2.1.8"
-
-watchpack@^1.6.1:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
- integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==
- dependencies:
- graceful-fs "^4.1.2"
- neo-async "^2.5.0"
- optionalDependencies:
- chokidar "^3.4.0"
- watchpack-chokidar2 "^2.0.0"
-
-wcwidth@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
- integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
- dependencies:
- defaults "^1.0.3"
-
-webpack-cli@^3.3.12:
- version "3.3.12"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a"
- integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==
- dependencies:
- chalk "^2.4.2"
- cross-spawn "^6.0.5"
- enhanced-resolve "^4.1.1"
- findup-sync "^3.0.0"
- global-modules "^2.0.0"
- import-local "^2.0.0"
- interpret "^1.4.0"
- loader-utils "^1.4.0"
- supports-color "^6.1.0"
- v8-compile-cache "^2.1.1"
- yargs "^13.3.2"
-
-webpack-sources@^1.4.0, webpack-sources@^1.4.1:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
- integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
- dependencies:
- source-list-map "^2.0.0"
- source-map "~0.6.1"
-
-webpack@^4.43.0:
- version "4.43.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
- integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
- dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/wasm-edit" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- acorn "^6.4.1"
- ajv "^6.10.2"
- ajv-keywords "^3.4.1"
- chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.1.0"
- eslint-scope "^4.0.3"
- json-parse-better-errors "^1.0.2"
- loader-runner "^2.4.0"
- loader-utils "^1.2.3"
- memory-fs "^0.4.1"
- micromatch "^3.1.10"
- mkdirp "^0.5.3"
- neo-async "^2.6.1"
- node-libs-browser "^2.2.1"
- schema-utils "^1.0.0"
- tapable "^1.1.3"
- terser-webpack-plugin "^1.4.3"
- watchpack "^1.6.1"
- webpack-sources "^1.4.1"
-
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-
-which@^1.2.14, which@^1.2.9, which@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-wide-align@^1.1.0:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
- integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
- dependencies:
- string-width "^1.0.2 || 2"
-
-word-wrap@^1.2.3, word-wrap@~1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
-
-wordwrap@~0.0.2:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
- integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
-
-worker-farm@^1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
- integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
- dependencies:
- errno "~0.1.7"
-
-wrap-ansi@^5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
- integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
- dependencies:
- ansi-styles "^3.2.0"
- string-width "^3.0.0"
- strip-ansi "^5.0.0"
-
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrapped@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/wrapped/-/wrapped-1.0.1.tgz#c783d9d807b273e9b01e851680a938c87c907242"
- integrity sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI=
- dependencies:
- co "3.1.0"
- sliced "^1.0.1"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-write@1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
- integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
- dependencies:
- mkdirp "^0.5.1"
-
-x-is-function@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e"
- integrity sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=
-
-x-is-string@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
- integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
-
-xmlbuilder@~4.2.0:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
- integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=
- dependencies:
- lodash "^4.0.0"
-
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-xtend@~2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
- integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
- dependencies:
- object-keys "~0.4.0"
-
-y18n@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
- integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
-
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
- integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.7.2:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
- integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
-
-yargs-parser@^13.1.2:
- version "13.1.2"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
- integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^13.3.2:
- version "13.3.2"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
- integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
- dependencies:
- cliui "^5.0.0"
- find-up "^3.0.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^3.0.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^13.1.2"
-
-yn@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"
- integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=
diff --git a/devel/electron11/pkg-plist b/devel/electron11/pkg-plist
deleted file mode 100644
index 2740a4873762..000000000000
--- a/devel/electron11/pkg-plist
+++ /dev/null
@@ -1,155 +0,0 @@
-bin/electron11
-%%DATADIR%%/LICENSE
-%%DATADIR%%/LICENSES.chromium.html
-%%DATADIR%%/chrome_100_percent.pak
-%%DATADIR%%/chrome_200_percent.pak
-%%DRIVER%%%%DATADIR%%/chromedriver
-%%DATADIR%%/electron
-%%DATADIR%%/gen/electron/buildflags/buildflags.h
-%%DATADIR%%/gen/v8/embedded.S
-%%DATADIR%%/icudtl.dat
-%%DATADIR%%/libEGL.so
-%%DATADIR%%/libGLESv2.so
-%%DATADIR%%/libvk_swiftshader.so
-%%DATADIR%%/libvulkan.so
-%%DATADIR%%/locales/am.pak
-%%DATADIR%%/locales/ar.pak
-%%DATADIR%%/locales/bg.pak
-%%DATADIR%%/locales/bn.pak
-%%DATADIR%%/locales/ca.pak
-%%DATADIR%%/locales/cs.pak
-%%DATADIR%%/locales/da.pak
-%%DATADIR%%/locales/de.pak
-%%DATADIR%%/locales/el.pak
-%%DATADIR%%/locales/en-GB.pak
-%%DATADIR%%/locales/en-US.pak
-%%DATADIR%%/locales/es-419.pak
-%%DATADIR%%/locales/es.pak
-%%DATADIR%%/locales/et.pak
-%%DATADIR%%/locales/fa.pak
-%%DATADIR%%/locales/fi.pak
-%%DATADIR%%/locales/fil.pak
-%%DATADIR%%/locales/fr.pak
-%%DATADIR%%/locales/gu.pak
-%%DATADIR%%/locales/he.pak
-%%DATADIR%%/locales/hi.pak
-%%DATADIR%%/locales/hr.pak
-%%DATADIR%%/locales/hu.pak
-%%DATADIR%%/locales/id.pak
-%%DATADIR%%/locales/it.pak
-%%DATADIR%%/locales/ja.pak
-%%DATADIR%%/locales/kn.pak
-%%DATADIR%%/locales/ko.pak
-%%DATADIR%%/locales/lt.pak
-%%DATADIR%%/locales/lv.pak
-%%DATADIR%%/locales/ml.pak
-%%DATADIR%%/locales/mr.pak
-%%DATADIR%%/locales/ms.pak
-%%DATADIR%%/locales/nb.pak
-%%DATADIR%%/locales/nl.pak
-%%DATADIR%%/locales/pl.pak
-%%DATADIR%%/locales/pt-BR.pak
-%%DATADIR%%/locales/pt-PT.pak
-%%DATADIR%%/locales/ro.pak
-%%DATADIR%%/locales/ru.pak
-%%DATADIR%%/locales/sk.pak
-%%DATADIR%%/locales/sl.pak
-%%DATADIR%%/locales/sr.pak
-%%DATADIR%%/locales/sv.pak
-%%DATADIR%%/locales/sw.pak
-%%DATADIR%%/locales/ta.pak
-%%DATADIR%%/locales/te.pak
-%%DATADIR%%/locales/th.pak
-%%DATADIR%%/locales/tr.pak
-%%DATADIR%%/locales/uk.pak
-%%DATADIR%%/locales/vi.pak
-%%DATADIR%%/locales/zh-CN.pak
-%%DATADIR%%/locales/zh-TW.pak
-%%DATADIR%%/mksnapshot
-%%DATADIR%%/node_headers/include/node/common.gypi
-%%DATADIR%%/node_headers/include/node/config.gypi
-%%DATADIR%%/node_headers/include/node/cppgc/allocation.h
-%%DATADIR%%/node_headers/include/node/cppgc/common.h
-%%DATADIR%%/node_headers/include/node/cppgc/custom-space.h
-%%DATADIR%%/node_headers/include/node/cppgc/garbage-collected.h
-%%DATADIR%%/node_headers/include/node/cppgc/heap.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/api-constants.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/atomic-entry-flag.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/caged-heap-local-data.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/compiler-specific.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/finalizer-trait.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/gc-info.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/logging.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/persistent-node.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/pointer-policies.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/prefinalizer-handler.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/process-heap.h
-%%DATADIR%%/node_headers/include/node/cppgc/internal/write-barrier.h
-%%DATADIR%%/node_headers/include/node/cppgc/liveness-broker.h
-%%DATADIR%%/node_headers/include/node/cppgc/macros.h
-%%DATADIR%%/node_headers/include/node/cppgc/member.h
-%%DATADIR%%/node_headers/include/node/cppgc/persistent.h
-%%DATADIR%%/node_headers/include/node/cppgc/platform.h
-%%DATADIR%%/node_headers/include/node/cppgc/prefinalizer.h
-%%DATADIR%%/node_headers/include/node/cppgc/source-location.h
-%%DATADIR%%/node_headers/include/node/cppgc/trace-trait.h
-%%DATADIR%%/node_headers/include/node/cppgc/type-traits.h
-%%DATADIR%%/node_headers/include/node/cppgc/visitor.h
-%%DATADIR%%/node_headers/include/node/js_native_api.h
-%%DATADIR%%/node_headers/include/node/js_native_api_types.h
-%%DATADIR%%/node_headers/include/node/libplatform/libplatform-export.h
-%%DATADIR%%/node_headers/include/node/libplatform/libplatform.h
-%%DATADIR%%/node_headers/include/node/libplatform/v8-tracing.h
-%%DATADIR%%/node_headers/include/node/node.h
-%%DATADIR%%/node_headers/include/node/node_api.h
-%%DATADIR%%/node_headers/include/node/node_api_types.h
-%%DATADIR%%/node_headers/include/node/node_buffer.h
-%%DATADIR%%/node_headers/include/node/node_object_wrap.h
-%%DATADIR%%/node_headers/include/node/node_version.h
-%%DATADIR%%/node_headers/include/node/uv.h
-%%DATADIR%%/node_headers/include/node/uv/aix.h
-%%DATADIR%%/node_headers/include/node/uv/android-ifaddrs.h
-%%DATADIR%%/node_headers/include/node/uv/bsd.h
-%%DATADIR%%/node_headers/include/node/uv/darwin.h
-%%DATADIR%%/node_headers/include/node/uv/errno.h
-%%DATADIR%%/node_headers/include/node/uv/linux.h
-%%DATADIR%%/node_headers/include/node/uv/os390.h
-%%DATADIR%%/node_headers/include/node/uv/posix.h
-%%DATADIR%%/node_headers/include/node/uv/stdint-msvc2008.h
-%%DATADIR%%/node_headers/include/node/uv/sunos.h
-%%DATADIR%%/node_headers/include/node/uv/threadpool.h
-%%DATADIR%%/node_headers/include/node/uv/tree.h
-%%DATADIR%%/node_headers/include/node/uv/unix.h
-%%DATADIR%%/node_headers/include/node/uv/version.h
-%%DATADIR%%/node_headers/include/node/uv/win.h
-%%DATADIR%%/node_headers/include/node/v8-cppgc.h
-%%DATADIR%%/node_headers/include/node/v8-fast-api-calls.h
-%%DATADIR%%/node_headers/include/node/v8-internal.h
-%%DATADIR%%/node_headers/include/node/v8-platform.h
-%%DATADIR%%/node_headers/include/node/v8-profiler.h
-%%DATADIR%%/node_headers/include/node/v8-util.h
-%%DATADIR%%/node_headers/include/node/v8-value-serializer-version.h
-%%DATADIR%%/node_headers/include/node/v8-version-string.h
-%%DATADIR%%/node_headers/include/node/v8-version.h
-%%DATADIR%%/node_headers/include/node/v8-wasm-trap-handler-posix.h
-%%DATADIR%%/node_headers/include/node/v8-wasm-trap-handler-win.h
-%%DATADIR%%/node_headers/include/node/v8.h
-%%DATADIR%%/node_headers/include/node/v8config.h
-%%DATADIR%%/node_headers/include/node/zconf.h
-%%DATADIR%%/node_headers/include/node/zlib.h
-%%DIST%%%%DATADIR%%/releases/SHASUMS256.txt
-%%DIST%%%%AMD64%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-x64.zip
-%%DIST%%%%I386%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-ia32.zip
-%%DIST%%%%AMD64%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-x64.zip
-%%DIST%%%%I386%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-ia32.zip
-%%DIST%%%%AMD64%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-x64.zip
-%%DIST%%%%I386%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-ia32.zip
-%%DATADIR%%/resources.pak
-%%DATADIR%%/resources/default_app.asar
-%%DATADIR%%/snapshot_blob.bin
-%%DATADIR%%/swiftshader/libEGL.so
-%%DATADIR%%/swiftshader/libGLESv2.so
-%%DATADIR%%/v8_context_snapshot.bin
-%%DATADIR%%/v8_context_snapshot_generator
-%%DATADIR%%/version
-%%DATADIR%%/vk_swiftshader_icd.json
diff --git a/devel/electron12/Makefile b/devel/electron12/Makefile
new file mode 100644
index 000000000000..7f524e31ae07
--- /dev/null
+++ b/devel/electron12/Makefile
@@ -0,0 +1,292 @@
+PORTNAME= electron
+DISTVERSIONPREFIX= v
+DISTVERSION= ${ELECTRON_VER:S/-beta./.b/}
+CATEGORIES= devel java
+MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:chromium \
+ https://commondatastorage.googleapis.com/chromium-fonts/:chromium_testfonts
+PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR}
+DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}:chromium \
+ ${CHROMIUM_TEST_FONTS_HASH}:chromium_testfonts \
+ electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
+DIST_SUBDIR= ${PORTNAME}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/electron/LICENSE
+
+FETCH_DEPENDS= yarn-node14>0:www/yarn-node14
+EXTRACT_DEPENDS= yarn-node14>0:www/yarn-node14
+PATCH_DEPENDS= git:devel/git
+BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
+ gperf:devel/gperf \
+ yasm:devel/yasm \
+ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
+ node14>0:www/node14 \
+ npm-node14>0:www/npm-node14
+LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
+ libatspi.so:accessibility/at-spi2-core \
+ libsnappy.so:archivers/snappy \
+ libFLAC.so:audio/flac \
+ libopus.so:audio/opus \
+ libdbus-1.so:devel/dbus \
+ libnotify.so:devel/libnotify \
+ libpci.so:devel/libpci \
+ libnspr4.so:devel/nspr \
+ libre2.so:devel/re2 \
+ libdrm.so:graphics/libdrm \
+ libpng.so:graphics/png \
+ libwebp.so:graphics/webp \
+ libavcodec.so:multimedia/ffmpeg \
+ libopenh264.so:multimedia/openh264 \
+ libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz \
+ libsecret-1.so:security/libsecret \
+ libnss3.so:security/nss \
+ libexpat.so:textproc/expat2 \
+ libxkbcommon.so:x11/libxkbcommon \
+ libxshmfence.so:x11/libxshmfence \
+ libfontconfig.so:x11-fonts/fontconfig
+RUN_DEPENDS= xdg-open:devel/xdg-utils
+TEST_DEPENDS= git:devel/git \
+ ${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \
+ npm-node14>0:www/npm-node14
+
+USES= bison dos2unix gettext-tools gl gnome jpeg localbase:ldflags \
+ ninja pkgconfig python:2.7,build,test shebangfix tar:xz xorg
+DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
+USE_GITHUB= yes
+GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER}
+GH_TUPLE= nodejs:node:v${NODE_VER}:node \
+ nodejs:nan:${NAN_VER}:nan
+USE_GL= gbm gl glesv2
+USE_GNOME= atk cairo gdkpixbuf2 gtk30 libxml2 libxslt pango
+USE_JAVA= yes
+JAVA_VERSION= 1.8
+JAVA_BUILD= yes
+USE_LDCONFIG= ${DATADIR}
+USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
+ xrender xscrnsaver xtst
+
+SHEBANG_FILES= buildtools/freebsd/clang-format
+
+MAKE_ARGS= -C out/${BUILDTYPE}
+MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
+ CPLUS_INCLUDE_PATH=${LOCALBASE}/include
+ALL_TARGET= electron third_party/electron_node:headers
+POST_BUILD_TARGETS= licenses version
+POST_BUILD_DIST_TARGETS= electron_dist_zip electron_chromedriver_zip \
+ electron_mksnapshot_zip
+
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+BINARY_ALIAS= python=${PYTHON_CMD}
+
+NO_WRKSUBDIR= yes
+WRKSRC_SUBDIR= src
+
+PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} \
+ ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR}
+
+OPTIONS_DEFINE= CUPS DEBUG DIST DRIVER KERBEROS
+OPTIONS_DEFAULT= CUPS DRIVER KERBEROS ALSA
+OPTIONS_GROUP= AUDIO
+OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO
+OPTIONS_SUB= yes
+
+DIST_DESC= Build distribution zip files
+DRIVER_DESC= Install chromedriver
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins
+ALSA_VARS= GN_ARGS+=use_alsa=true
+ALSA_VARS_OFF= GN_ARGS+=use_alsa=false
+CUPS_LIB_DEPENDS= libcups.so:print/cups
+CUPS_VARS= GN_ARGS+=use_cups=true
+CUPS_VARS_OFF= GN_ARGS+=use_cups=false
+DEBUG_VARS= BUILDTYPE=Testing
+DEBUG_VARS_OFF= BUILDTYPE=Release
+DIST_IMPLIES= DRIVER
+DRIVER_ALL_TARGET= chromedriver
+KERBEROS_VARS= GN_ARGS+=use_kerberos=true
+KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true
+PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false
+
+# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
+CHROMIUM_VER= 89.0.4389.128
+# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH
+CHROMIUM_TEST_FONTS_HASH= cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb
+# See ${WRKSRC}/electron/DEPS for NODE_VER
+NODE_VER= 14.16.0
+# See ${WRKSRC}/electron/DEPS for NAN_VER
+NAN_VER= 2c4ee8a32a299eada3cd6e468bbd0a473bfea96d
+
+YARN_TIMESTAMP= 1620459581
+
+GN_ARGS+= clang_use_chrome_plugins=false \
+ enable_hangout_services_extension=true \
+ enable_nacl=false \
+ enable_one_click_signin=true \
+ enable_remoting=false \
+ fieldtrial_testing_like_official_build=true \
+ is_clang=true \
+ toolkit_views=true \
+ treat_warnings_as_errors=false \
+ use_allocator="none" \
+ use_allocator_shim=false \
+ use_aura=true \
+ use_custom_libcxx=false \
+ use_gnome_keyring=false \
+ use_lld=true \
+ use_sysroot=false \
+ use_system_freetype=true \
+ use_system_harfbuzz=true \
+ use_system_libjpeg=true \
+ extra_cxxflags="${CXXFLAGS}" \
+ extra_ldflags="${LDFLAGS}"
+GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
+
+.include "Makefile.version"
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "amd64"
+PLIST_SUB+= AMD64=""
+.else
+PLIST_SUB+= AMD64="@comment "
+.endif
+
+.if ${ARCH} == "i386"
+PLIST_SUB+= I386=""
+.else
+PLIST_SUB+= I386="@comment "
+.endif
+
+pre-fetch:
+ @${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
+ if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} ]; \
+ then ${MKDIR} ${WRKDIR}; \
+ ${ECHO_CMD} 'yarn-offline-mirror "./yarn-offline-cache"' >> \
+ ${WRKDIR}/.yarnrc; \
+ ${CP} ${FILESDIR}/package.json ${FILESDIR}/yarn.lock ${WRKDIR}; \
+ cd ${WRKDIR} && ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache \
+ yarn --frozen-lockfile --ignore-scripts; \
+ ${MTREE_CMD} -cbnSp yarn-offline-cache | ${MTREE_CMD} -C | ${SED} \
+ -e 's:time=[0-9.]*:time=${YARN_TIMESTAMP}.000000000:' \
+ -e 's:\([gu]id\)=[0-9]*:\1=0:g' \
+ -e 's:flags=.*:flags=none:' \
+ -e 's:^\.:./yarn-offline-cache:' > yarn-offline-cache.mtree; \
+ ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} \
+ @yarn-offline-cache.mtree; \
+ ${RM} -r ${WRKDIR}; \
+ fi
+
+post-extract:
+# Move extracted sources to appropriate locations
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC}
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${PORTNAME}-${ELECTRON_VER} ${WRKSRC}/electron
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_nan}-${NAN_VER} \
+ ${WRKSRC}/third_party/nan
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_node}-${NODE_VER} \
+ ${WRKSRC}/third_party/electron_node
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/test_fonts ${WRKSRC}/third_party/test_fonts
+# Take in clang-format from official chromium distribution
+ ${MKDIR} ${WRKSRC}/buildtools/freebsd
+ ${CP} ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd
+# Remove unnecessary files
+ ${RM} -r ${WRKSRC}/third_party/jdk/current
+ ${RM} -r ${WRKSRC}/third_party/jdk/extras
+# Install node modules for electron
+ ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/yarn-offline-cache ${WRKDIR}
+ ${ECHO_CMD} 'yarn-offline-mirror "../../../yarn-offline-cache"' >> ${WRKSRC}/electron/.yarnrc
+ cd ${WRKSRC}/electron && \
+ ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline
+
+pre-patch:
+ ${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC}
+ # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete
+ # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete
+
+pre-configure:
+# We used to remove bundled libraries to be sure that chromium uses
+# system libraries and not shipped ones.
+# cd ${WRKSRC} && ${PYTHON_CMD} \
+#./build/linux/unbundle/remove_bundled_libraries.py [list of preserved]
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
+ ./build/linux/unbundle/replace_gn_files.py --system-libraries \
+ ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libpng \
+ libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE}
+
+do-configure:
+# GN generator bootstrapping and generating ninja files
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \
+ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \
+ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS}
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/Release/gn gen out/${BUILDTYPE} \
+ --args='import("//electron/build/args/${BUILDTYPE:tl}.gn") ${GN_ARGS}'
+# Setup nodejs dependency
+ ${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin
+ ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node
+# Setup java dependency
+ ${MKDIR} ${WRKDIR}/bin
+ ${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java
+
+post-build:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_TARGETS}
+
+post-build-DIST-on:
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
+ ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_DIST_TARGETS}
+ cd ${WRKSRC}/out/${BUILDTYPE} && \
+ ${CP} chromedriver.zip chromedriver-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
+ ${CP} dist.zip electron-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
+ ${CP} mksnapshot.zip mksnapshot-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \
+ ${SHA256} -r *-v${ELECTRON_VER}-freebsd-*.zip | ${SED} -e 's/ / */' > SHASUMS256.txt
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+.for f in electron mksnapshot v8_context_snapshot_generator
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
+.endfor
+.for f in libEGL.so libGLESv2.so libvk_swiftshader.so libvulkan.so.1
+ ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
+.endfor
+ ${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
+.for f in libEGL.so libGLESv2.so
+ ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${f} ${STAGEDIR}${DATADIR}/swiftshader
+.endfor
+.for f in LICENSE LICENSES.chromium.html icudtl.dat snapshot_blob.bin v8_context_snapshot.bin version vk_swiftshader_icd.json
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
+.endfor
+.for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
+.endfor
+ ${MKDIR} ${STAGEDIR}${DATADIR}/locales
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/locales/*.pak ${STAGEDIR}${DATADIR}/locales
+ ${MKDIR} ${STAGEDIR}${DATADIR}/resources
+.for f in default_app.asar
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources
+.endfor
+ cd ${WRKSRC}/out/${BUILDTYPE}/gen && ${COPYTREE_SHARE} node_headers ${STAGEDIR}${DATADIR}
+ cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/electron/buildflags ${STAGEDIR}${DATADIR}
+ cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/v8/embedded.S ${STAGEDIR}${DATADIR}
+ ${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin/electron${PKGNAMESUFFIX}
+
+post-install-DIST-on:
+ ${MKDIR} ${STAGEDIR}${DATADIR}/releases
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/SHASUMS256.txt ${STAGEDIR}${DATADIR}/releases
+ ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*-v${ELECTRON_VER}-freebsd-*.zip ${STAGEDIR}${DATADIR}/releases
+
+post-install-DRIVER-on:
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver ${STAGEDIR}${DATADIR}
+
+do-test:
+# Note 1: "npm install" will run before actual tests are executed
+# Note 2: Xvfb or something similar is necessary for headless testing
+ cd ${WRKSRC}/electron && \
+ ${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} LOCAL_GIT_DIRECTORY=${LOCALBASE} \
+ npm run test -- --ci
+
+.include <bsd.port.post.mk>
diff --git a/devel/electron12/Makefile.version b/devel/electron12/Makefile.version
new file mode 100644
index 000000000000..6d4ae3f3b0d4
--- /dev/null
+++ b/devel/electron12/Makefile.version
@@ -0,0 +1,2 @@
+ELECTRON_VER= 12.0.7
+ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron12/distinfo b/devel/electron12/distinfo
new file mode 100644
index 000000000000..d4d7a3cb4648
--- /dev/null
+++ b/devel/electron12/distinfo
@@ -0,0 +1,13 @@
+TIMESTAMP = 1620460454
+SHA256 (electron/chromium-89.0.4389.128.tar.xz) = 1a75ea6aeb98f2d3b6feae1fbf5692679e93d5b7631bc7c762dd873499deda5b
+SIZE (electron/chromium-89.0.4389.128.tar.xz) = 890850492
+SHA256 (electron/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = ec973eccd669d417fbf2d0a4dac730744a3174268ff062db5451b55c82bc3492
+SIZE (electron/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb) = 26759650
+SHA256 (electron/electron-yarn-cache-12.0.7.tar.xz) = 03bde46e775e771238c38b64b0ca88feddbe332cd495bac9adf73d317cf40c20
+SIZE (electron/electron-yarn-cache-12.0.7.tar.xz) = 33907768
+SHA256 (electron/electron-electron-v12.0.7_GH0.tar.gz) = 59deac4ab3d050f88bbfe22408afc10775f49083b3f0c04a8775296c5a026b8f
+SIZE (electron/electron-electron-v12.0.7_GH0.tar.gz) = 9990283
+SHA256 (electron/nodejs-node-v14.16.0_GH0.tar.gz) = bcdf869b0743405515ee897b1047b5e851a717e426b4974d26537c9b10dfd53a
+SIZE (electron/nodejs-node-v14.16.0_GH0.tar.gz) = 87850748
+SHA256 (electron/nodejs-nan-2c4ee8a32a299eada3cd6e468bbd0a473bfea96d_GH0.tar.gz) = e4ff33afb043329429c9551d3cc983786553a310a7d61ee313485ba3ac9b2b15
+SIZE (electron/nodejs-nan-2c4ee8a32a299eada3cd6e468bbd0a473bfea96d_GH0.tar.gz) = 178328
diff --git a/devel/electron11/files/apply-electron-patches.sh b/devel/electron12/files/apply-electron-patches.sh
index 9d974b536054..9d974b536054 100644
--- a/devel/electron11/files/apply-electron-patches.sh
+++ b/devel/electron12/files/apply-electron-patches.sh
diff --git a/devel/electron12/files/package.json b/devel/electron12/files/package.json
new file mode 100644
index 000000000000..a7026366ed2e
--- /dev/null
+++ b/devel/electron12/files/package.json
@@ -0,0 +1,151 @@
+{
+ "name": "electron",
+ "version": "12.0.7",
+ "repository": "https://github.com/electron/electron",
+ "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
+ "devDependencies": {
+ "@electron/docs-parser": "^0.10.1",
+ "@electron/typescript-definitions": "^8.8.0",
+ "@octokit/auth-app": "^2.10.0",
+ "@octokit/rest": "^18.0.3",
+ "@primer/octicons": "^10.0.0",
+ "@types/basic-auth": "^1.1.3",
+ "@types/busboy": "^0.2.3",
+ "@types/chai": "^4.2.12",
+ "@types/chai-as-promised": "^7.1.3",
+ "@types/dirty-chai": "^2.0.2",
+ "@types/express": "^4.17.7",
+ "@types/fs-extra": "^9.0.1",
+ "@types/klaw": "^3.0.1",
+ "@types/minimist": "^1.2.0",
+ "@types/mocha": "^7.0.2",
+ "@types/node": "^14.6.2",
+ "@types/semver": "^7.3.3",
+ "@types/send": "^0.14.5",
+ "@types/split": "^1.0.0",
+ "@types/stream-json": "^1.5.1",
+ "@types/uuid": "^3.4.6",
+ "@types/webpack": "^4.41.21",
+ "@types/webpack-env": "^1.15.2",
+ "@typescript-eslint/eslint-plugin": "^4.4.1",
+ "@typescript-eslint/parser": "^4.4.1",
+ "asar": "^3.0.3",
+ "check-for-leaks": "^1.2.1",
+ "colors": "^1.4.0",
+ "dotenv-safe": "^4.0.4",
+ "dugite": "^1.45.0",
+ "eslint": "^7.4.0",
+ "eslint-config-standard": "^14.1.1",
+ "eslint-plugin-import": "^2.22.0",
+ "eslint-plugin-mocha": "^7.0.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-standard": "^4.0.1",
+ "eslint-plugin-typescript": "^0.14.0",
+ "express": "^4.16.4",
+ "folder-hash": "^2.1.1",
+ "fs-extra": "^9.0.1",
+ "got": "^6.3.0",
+ "husky": "^2.2.0",
+ "klaw": "^3.0.0",
+ "lint": "^1.1.2",
+ "lint-staged": "^10.2.11",
+ "minimist": "^1.2.5",
+ "nugget": "^2.0.1",
+ "null-loader": "^4.0.0",
+ "pre-flight": "^1.1.0",
+ "remark-cli": "^4.0.0",
+ "remark-preset-lint-markdown-style-guide": "^2.1.1",
+ "request": "^2.88.2",
+ "semver": "^5.6.0",
+ "shx": "^0.3.2",
+ "standard-markdown": "^6.0.0",
+ "stream-json": "^1.7.1",
+ "sumchecker": "^2.0.2",
+ "tap-xunit": "^2.4.1",
+ "temp": "^0.8.3",
+ "timers-browserify": "1.4.2",
+ "ts-loader": "^8.0.2",
+ "ts-node": "6.2.0",
+ "typescript": "^4.0.2",
+ "webpack": "^4.43.0",
+ "webpack-cli": "^3.3.12",
+ "wrapper-webpack-plugin": "^2.1.0"
+ },
+ "private": true,
+ "scripts": {
+ "asar": "asar",
+ "generate-version-json": "node script/generate-version-json.js",
+ "lint": "node ./script/lint.js && npm run lint:clang-format && npm run lint:docs",
+ "lint:js": "node ./script/lint.js --js",
+ "lint:clang-format": "python script/run-clang-format.py -r -c chromium_src/ shell/ || (echo \"\\nCode not formatted correctly.\" && exit 1)",
+ "lint:clang-tidy": "ts-node ./script/run-clang-tidy.ts",
+ "lint:cpp": "node ./script/lint.js --cc",
+ "lint:objc": "node ./script/lint.js --objc",
+ "lint:py": "node ./script/lint.js --py",
+ "lint:gn": "node ./script/lint.js --gn",
+ "lint:docs": "remark docs -qf && npm run lint:js-in-markdown && npm run create-typescript-definitions && npm run lint:docs-relative-links && npm run lint:check-trailing-whitespace",
+ "lint:docs-relative-links": "python ./script/check-relative-doc-links.py",
+ "lint:check-trailing-whitespace": "python ./script/check-trailing-whitespace.py",
+ "lint:js-in-markdown": "standard-markdown docs",
+ "create-api-json": "electron-docs-parser --dir=./",
+ "create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --api=electron-api.json && node spec/ts-smoke/runner.js",
+ "gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts",
+ "pre-flight": "pre-flight",
+ "gn-check": "node ./script/gn-check.js",
+ "preinstall": "node -e 'process.exit(0)'",
+ "prepack": "check-for-leaks",
+ "repl": "node ./script/start.js --interactive",
+ "start": "node ./script/start.js",
+ "test": "node ./script/spec-runner.js",
+ "tsc": "tsc",
+ "webpack": "webpack"
+ },
+ "license": "MIT",
+ "author": "Electron Community",
+ "keywords": [
+ "electron"
+ ],
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged",
+ "pre-push": "check-for-leaks"
+ }
+ },
+ "lint-staged": {
+ "*.{js,ts}": [
+ "node script/lint.js --js --fix --only --"
+ ],
+ "*.{js,ts,d.ts}": [
+ "ts-node script/gen-filenames.ts"
+ ],
+ "*.{cc,mm,c,h}": [
+ "python script/run-clang-format.py -r -c --fix"
+ ],
+ "*.md": [
+ "npm run lint:docs"
+ ],
+ "*.{gn,gni}": [
+ "npm run gn-check",
+ "python script/run-gn-format.py"
+ ],
+ "*.py": [
+ "node script/lint.js --py --fix --only --"
+ ],
+ "docs/api/**/*.md": [
+ "ts-node script/gen-filenames.ts",
+ "python script/check-trailing-whitespace.py --fix",
+ "git add filenames.auto.gni"
+ ],
+ "{*.patch,.patches}": [
+ "node script/lint.js --patches --only --",
+ "ts-node script/check-patch-diff.ts"
+ ],
+ "DEPS": [
+ "node script/gen-hunspell-filenames.js"
+ ]
+ },
+ "dependencies": {
+ "@types/temp": "^0.8.34",
+ "aws-sdk": "^2.727.1"
+ }
+}
diff --git a/devel/electron12/files/patch-BUILD.gn b/devel/electron12/files/patch-BUILD.gn
new file mode 100644
index 000000000000..5c391ca2b8fe
--- /dev/null
+++ b/devel/electron12/files/patch-BUILD.gn
@@ -0,0 +1,96 @@
+--- BUILD.gn.orig 2021-04-14 01:08:35 UTC
++++ BUILD.gn
+@@ -421,7 +421,7 @@ group("gn_all") {
+ ]
+ }
+
+- if (is_linux || is_chromeos || is_android) {
++ if ((is_linux && !is_bsd) || is_chromeos || is_android) {
+ deps += [
+ "//third_party/breakpad:breakpad_unittests",
+ "//third_party/breakpad:core-2-minidump",
+@@ -464,8 +464,6 @@ group("gn_all") {
+ "//net:disk_cache_memory_test",
+ "//net:quic_client",
+ "//net:quic_server",
+- "//sandbox/linux:chrome_sandbox",
+- "//sandbox/linux:sandbox_linux_unittests",
+ "//testing:empty_main",
+ ]
+
+@@ -520,10 +518,6 @@ group("gn_all") {
+ "//chrome/test:load_library_perf_tests",
+ "//chrome/test:sync_performance_tests",
+ "//chrome/test/chromedriver:chromedriver",
+- "//courgette:courgette",
+- "//courgette:courgette_fuzz",
+- "//courgette:courgette_minimal_tool",
+- "//courgette:courgette_unittests",
+ "//media/cast:generate_barcode_video",
+ "//media/cast:generate_timecode_audio",
+ "//net:crash_cache",
+@@ -582,10 +576,6 @@ group("gn_all") {
+ "//mojo:mojo_perftests",
+ "//services/service_manager/public/cpp",
+ "//testing/gmock:gmock_main",
+- "//third_party/breakpad:dump_syms($host_toolchain)",
+- "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
+- "//third_party/breakpad:minidump_dump($host_toolchain)",
+- "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
+ ]
+
+ if (!is_android) {
+@@ -663,7 +653,7 @@ group("gn_all") {
+ host_os == "win") {
+ deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
+ }
+- } else if (!is_android && !is_ios && !is_fuchsia) {
++ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) {
+ deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
+ }
+
+@@ -678,7 +668,7 @@ group("gn_all") {
+ }
+ }
+
+- if (is_mac || is_win || is_android || is_linux || is_chromeos) {
++ if (is_mac || is_win || is_android || (is_linux && !is_bsd) || is_chromeos) {
+ deps += [
+ "//third_party/crashpad/crashpad:crashpad_tests",
+ "//third_party/crashpad/crashpad/handler:crashpad_handler",
+@@ -790,7 +780,6 @@ group("gn_all") {
+ "//chrome/browser/vr:vr_common_perftests",
+ "//chrome/browser/vr:vr_common_unittests",
+ "//chrome/browser/vr:vr_pixeltests",
+- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests",
+ ]
+ if (is_android) {
+ deps += [ "//chrome/browser/android/vr:vr_android_unittests" ]
+@@ -1081,7 +1070,7 @@ if (!is_ios) {
+ data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
+ }
+
+- if (!is_win && !is_android) {
++ if (!is_win && !is_android && !is_bsd) {
+ data_deps +=
+ [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
+ }
+@@ -1090,7 +1079,7 @@ if (!is_ios) {
+ data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux && !is_bsd) || is_chromeos) {
+ data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+ }
+
+@@ -1315,9 +1304,6 @@ group("chromium_builder_perf") {
+
+ if (is_win) {
+ data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
+- } else {
+- data_deps +=
+- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
+ }
+ if (is_win || is_android) {
+ data_deps += [
diff --git a/devel/electron11/files/patch-apps_app__restore__service__browsertest.cc b/devel/electron12/files/patch-apps_app__restore__service__browsertest.cc
index 140956b9810e..140956b9810e 100644
--- a/devel/electron11/files/patch-apps_app__restore__service__browsertest.cc
+++ b/devel/electron12/files/patch-apps_app__restore__service__browsertest.cc
diff --git a/devel/electron12/files/patch-apps_ui_views_app__window__frame__view.cc b/devel/electron12/files/patch-apps_ui_views_app__window__frame__view.cc
new file mode 100644
index 000000000000..d473ad1320fd
--- /dev/null
+++ b/devel/electron12/files/patch-apps_ui_views_app__window__frame__view.cc
@@ -0,0 +1,11 @@
+--- apps/ui/views/app_window_frame_view.cc.orig 2021-04-14 01:08:35 UTC
++++ apps/ui/views/app_window_frame_view.cc
+@@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient
+ gfx::Rect window_bounds = client_bounds;
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ // Get the difference between the widget's client area bounds and window
+ // bounds, and grow |window_bounds| by that amount.
+ gfx::Insets native_frame_insets =
diff --git a/devel/electron12/files/patch-ash_display_mirror__window__controller.cc b/devel/electron12/files/patch-ash_display_mirror__window__controller.cc
new file mode 100644
index 000000000000..637b11b17ef0
--- /dev/null
+++ b/devel/electron12/files/patch-ash_display_mirror__window__controller.cc
@@ -0,0 +1,14 @@
+--- ash/display/mirror_window_controller.cc.orig 2021-04-14 01:08:35 UTC
++++ ash/display/mirror_window_controller.cc
+@@ -286,7 +286,11 @@ void MirrorWindowController::UpdateWindow(
+ return info.id() == iter->first;
+ }) == display_info_list.end()) {
+ CloseAndDeleteHost(iter->second, true);
++#if defined(__llvm__)
++ mirroring_host_info_map_.erase(iter++);
++#else
+ iter = mirroring_host_info_map_.erase(iter);
++#endif
+ } else {
+ ++iter;
+ }
diff --git a/devel/electron12/files/patch-base_BUILD.gn b/devel/electron12/files/patch-base_BUILD.gn
new file mode 100644
index 000000000000..c0e75e4af0a9
--- /dev/null
+++ b/devel/electron12/files/patch-base_BUILD.gn
@@ -0,0 +1,94 @@
+--- base/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ base/BUILD.gn
+@@ -885,7 +885,7 @@ component("base") {
+ "timer/hi_res_timer_manager_posix.cc",
+ ]
+
+- if (!is_nacl && !is_apple) {
++ if (!is_nacl && !is_apple && !is_bsd) {
+ sources += [
+ "cpu_affinity_posix.cc",
+ "cpu_affinity_posix.h",
+@@ -896,6 +896,11 @@ component("base") {
+ "profiler/thread_delegate_posix.h",
+ ]
+ }
++ if (is_bsd) {
++ sources += [
++ "profiler/stack_sampler_posix.cc",
++ ]
++ }
+ }
+
+ if (is_win) {
+@@ -1301,7 +1306,7 @@ component("base") {
+ # building inside the cros_sdk environment - use host_toolchain as a
+ # more robust check for this.
+ if (!use_sysroot &&
+- (is_android || ((is_linux || is_chromeos) && !is_chromecast)) &&
++ (is_android || ((is_linux || is_chromeos) && !is_chromecast) && !is_clang) &&
+ host_toolchain != "//build/toolchain/cros:host") {
+ libs += [ "atomic" ]
+ }
+@@ -1351,7 +1356,7 @@ component("base") {
+ "allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc",
+ ]
+ }
+- if (is_chromeos || is_linux) {
++ if ((is_chromeos || is_linux) && !is_bsd) {
+ sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
+ }
+ if (is_win) {
+@@ -1978,6 +1983,34 @@ component("base") {
+ }
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "files/file_path_watcher_linux.cc",
++ "files/file_util_linux.cc",
++ "process/memory_linux.cc",
++ "process/process_handle_linux.cc",
++ "process/process_iterator_linux.cc",
++ "process/process_metrics_linux.cc",
++ "system/sys_info_linux.cc"
++ ]
++ sources += [
++ "files/file_path_watcher_freebsd.cc",
++ "files/file_path_watcher_kqueue.cc",
++ "files/file_path_watcher_kqueue.h",
++ "process/memory_stubs.cc",
++ "process/process_handle_freebsd.cc",
++ "process/process_iterator_freebsd.cc",
++ "process/process_metrics_freebsd.cc",
++ "system/sys_info_freebsd.cc",
++ ]
++ libs = [
++ "execinfo", # logging.cc
++ "kvm", # process_metrics_freebsd
++ "util" # process_metrics_freebsd
++ ]
++ }
++
++
+ # iOS
+ if (is_ios) {
+ sources -= [
+@@ -3130,7 +3163,7 @@ if (build_base_unittests) {
+ }
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [ "debug/proc_maps_linux_unittest.cc" ]
+ }
+
+@@ -3171,7 +3204,7 @@ if (build_base_unittests) {
+ "posix/unix_domain_socket_unittest.cc",
+ "task/thread_pool/task_tracker_posix_unittest.cc",
+ ]
+- if (!is_nacl && !is_apple) {
++ if (!is_nacl && !is_apple && !is_bsd) {
+ sources += [
+ "cpu_affinity_posix_unittest.cc",
+ "profiler/stack_copier_signal_unittest.cc",
diff --git a/devel/electron12/files/patch-base_allocator_allocator.gni b/devel/electron12/files/patch-base_allocator_allocator.gni
new file mode 100644
index 000000000000..20451134e6ee
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_allocator.gni
@@ -0,0 +1,11 @@
+--- base/allocator/allocator.gni.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/allocator.gni
+@@ -58,7 +58,7 @@ declare_args() {
+ # not, and redesign or remove the flag accordingly. We may want to assert a
+ # possible conflict between |use_allocator = "partition"| and
+ # |use_partition_alloc = true| rather than prioritizing use_partition_alloc.
+- use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS.
++ use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS.
+ }
+
+ if (!use_partition_alloc && use_allocator == "partition") {
diff --git a/devel/electron11/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/devel/electron12/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
index a9146e4fa403..a9146e4fa403 100644
--- a/devel/electron11/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
+++ b/devel/electron12/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
diff --git a/devel/electron12/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/devel/electron12/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
new file mode 100644
index 000000000000..6643e1d84494
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
@@ -0,0 +1,13 @@
+--- base/allocator/allocator_shim_override_libc_symbols.h.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/allocator_shim_override_libc_symbols.h
+@@ -16,6 +16,10 @@
+ #include <malloc.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <stdlib.h>
++#endif
++
+ #include "base/allocator/allocator_shim_internals.h"
+
+ extern "C" {
diff --git a/devel/electron12/files/patch-base_allocator_allocator__shim__unittest.cc b/devel/electron12/files/patch-base_allocator_allocator__shim__unittest.cc
new file mode 100644
index 000000000000..ac994c5ac536
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_allocator__shim__unittest.cc
@@ -0,0 +1,47 @@
+--- base/allocator/allocator_shim_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/allocator_shim_unittest.cc
+@@ -369,7 +369,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
+
+ #endif // !OS_WIN
+
+-#if !defined(OS_WIN) && !defined(OS_APPLE)
++#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
+ void* memalign_ptr = memalign(128, 53);
+ ASSERT_NE(nullptr, memalign_ptr);
+ ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(memalign_ptr) % 128);
+@@ -385,7 +385,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
+ ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u);
+ #endif // !defined(OS_ANDROID)
+
+-#endif // !OS_WIN && !OS_APPLE
++#endif // !OS_WIN && !OS_APPLE && !OS_BSD
+
+ // See allocator_shim_override_glibc_weak_symbols.h for why we intercept
+ // internal libc symbols.
+@@ -412,7 +412,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
+ free(zero_alloc_ptr);
+ ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u);
+
+-#if !defined(OS_WIN) && !defined(OS_APPLE)
++#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD)
+ free(memalign_ptr);
+ ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
+
+@@ -421,7 +421,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
+ ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
+ #endif // !defined(OS_ANDROID)
+
+-#endif // !OS_WIN && !OS_APPLE
++#endif // !OS_WIN && !OS_APPLE && !OS_BSD
+
+ #if !defined(OS_WIN)
+ free(posix_memalign_ptr);
+@@ -614,7 +614,7 @@ static size_t GetUsableSize(void* ptr) {
+ static size_t GetUsableSize(void* ptr) {
+ return malloc_size(ptr);
+ }
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static size_t GetUsableSize(void* ptr) {
+ return malloc_usable_size(ptr);
+ }
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_address__pool__manager.cc b/devel/electron12/files/patch-base_allocator_partition__allocator_address__pool__manager.cc
new file mode 100644
index 000000000000..404e346613c4
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_address__pool__manager.cc
@@ -0,0 +1,31 @@
+--- base/allocator/partition_allocator/address_pool_manager.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/address_pool_manager.cc
+@@ -8,6 +8,13 @@
+ #include <sys/mman.h>
+ #endif
+
++#if defined(OS_FREEBSD)
++#include <sys/mman.h>
++#include <fcntl.h>
++
++#include "base/posix/eintr_wrapper.h"
++#endif
++
+ #include <algorithm>
+ #include <limits>
+
+@@ -50,6 +57,14 @@ void DecommitPages(void* address, size_t size) {
+ void* ptr = mmap(address, size, PROT_NONE,
+ MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ PA_CHECK(ptr == address);
++#elif defined(OS_FREEBSD)
++ int fd = HANDLE_EINTR(open("/dev/zero", O_RDONLY));
++ PA_CHECK(fd != -1);
++
++ void *ptr = mmap(address, size, PROT_NONE,
++ MAP_FIXED | MAP_PRIVATE, fd, 0);
++ PA_PCHECK(ptr == address);
++ HANDLE_EINTR(close(fd));
+ #else
+ DecommitSystemPages(address, size, PageUpdatePermissions);
+ #endif
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/devel/electron12/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
new file mode 100644
index 000000000000..659699c040f5
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
@@ -0,0 +1,58 @@
+--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/page_allocator_internals_posix.h
+@@ -27,12 +27,16 @@
+ #if defined(OS_ANDROID)
+ #include <sys/prctl.h>
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <sys/resource.h>
+
+ #include <algorithm>
+ #endif
+
++#if defined(OS_FREEBSD)
++#include <fcntl.h>
++#endif
++
+ #include "base/allocator/partition_allocator/page_allocator.h"
+
+ #ifndef MAP_ANONYMOUS
+@@ -168,12 +172,19 @@ void* SystemAllocPagesInternal(void* hint,
+ PA_DCHECK(PageTag::kFirst <= page_tag);
+ PA_DCHECK(PageTag::kLast >= page_tag);
+ int fd = VM_MAKE_TAG(static_cast<int>(page_tag));
++#elif defined(OS_FREEBSD)
++ int fd = HANDLE_EINTR(open("/dev/zero", O_RDWR | O_CLOEXEC));
++ PA_PCHECK(fd != -1);
+ #else
+ int fd = -1;
+ #endif
+
+ int access_flag = GetAccessFlags(accessibility);
++#if defined(OS_FREEBSD)
++ int map_flags = MAP_PRIVATE;
++#else
+ int map_flags = MAP_ANONYMOUS | MAP_PRIVATE;
++#endif
+
+ #if defined(OS_APPLE)
+ // On macOS 10.14 and higher, executables that are code signed with the
+@@ -200,6 +211,8 @@ void* SystemAllocPagesInternal(void* hint,
+ prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, ret, length,
+ PageTagToName(page_tag));
+ }
++#elif defined(OS_FREEBSD)
++ HANDLE_EINTR(close(fd));
+ #endif
+
+ return ret;
+@@ -294,6 +307,8 @@ void DiscardSystemPagesInternal(void* address, size_t
+ ret = madvise(address, length, MADV_DONTNEED);
+ }
+ PA_PCHECK(ret == 0);
++#elif defined(OS_FREEBSD)
++ PA_PCHECK(0 == madvise(address, length, MADV_FREE));
+ #else
+ // We have experimented with other flags, but with suboptimal results.
+ //
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc.cc b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc.cc
new file mode 100644
index 000000000000..502e3f0b00e3
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc.cc
@@ -0,0 +1,15 @@
+--- base/allocator/partition_allocator/partition_alloc.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/partition_alloc.cc
+@@ -56,7 +56,12 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me
+ "maximum direct mapped allocation");
+
+ // Check that some of our zanier calculations worked out as expected.
++#if defined(__i386__) && defined(OS_FREEBSD)
++ // alignof(std::max_align_t) is only 4 on FreeBSD/i386
++ static_assert(kSmallestBucket >= kAlignment, "generic smallest bucket");
++#else
+ static_assert(kSmallestBucket == kAlignment, "generic smallest bucket");
++#endif
+ static_assert(kMaxBucketed == 983040, "generic max bucketed");
+ STATIC_ASSERT_OR_PA_CHECK(
+ MaxSystemPagesPerSlotSpan() < (1 << 8),
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
new file mode 100644
index 000000000000..90f198c24605
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
@@ -0,0 +1,20 @@
+--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/partition_alloc_unittest.cc
+@@ -1588,7 +1588,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) {
+ // cause flake.
+ #if !defined(OS_WIN) && \
+ (!defined(ARCH_CPU_64_BITS) || \
+- (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID))))
++ (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD))))
+
+ // The following four tests wrap a called function in an expect death statement
+ // to perform their test, because they are non-hermetic. Specifically they are
+@@ -1634,7 +1634,7 @@ TEST_F(PartitionAllocDeathTest, RepeatedTryReallocRetu
+ }
+
+ #endif // !defined(ARCH_CPU_64_BITS) || (defined(OS_POSIX) &&
+- // !(defined(OS_APPLE) || defined(OS_ANDROID)))
++ // !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD)))
+
+ // Make sure that malloc(-1) dies.
+ // In the past, we had an integer overflow that would alias malloc(-1) to
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_partition__bucket.cc b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__bucket.cc
new file mode 100644
index 000000000000..5d09ec9e1147
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_partition__bucket.cc
@@ -0,0 +1,36 @@
+--- base/allocator/partition_allocator/partition_bucket.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/partition_bucket.cc
+@@ -66,27 +66,33 @@ PartitionDirectMap(PartitionRoot<thread_safe>* root, i
+ metadata->extent.root = root;
+ // The new structures are all located inside a fresh system page so they
+ // will all be zeroed out. These DCHECKs are for documentation.
++#if !defined(OS_FREEBSD)
+ PA_DCHECK(!metadata->extent.super_page_base);
+ PA_DCHECK(!metadata->extent.super_pages_end);
+ PA_DCHECK(!metadata->extent.next);
++#endif
+ PA_DCHECK(PartitionPage<thread_safe>::FromPointerNoAlignmentCheck(slot) ==
+ &metadata->page);
+
+ auto* page = &metadata->page;
++#if !defined(OS_FREEBSD)
+ PA_DCHECK(!page->slot_span_metadata_offset);
+ PA_DCHECK(!page->slot_span_metadata.next_slot_span);
+ PA_DCHECK(!page->slot_span_metadata.num_allocated_slots);
+ PA_DCHECK(!page->slot_span_metadata.num_unprovisioned_slots);
+ PA_DCHECK(!page->slot_span_metadata.empty_cache_index);
++#endif
+ page->slot_span_metadata.bucket = &metadata->bucket;
+ auto* next_entry = new (slot) PartitionFreelistEntry();
+ page->slot_span_metadata.SetFreelistHead(next_entry);
+
++#if !defined(OS_FREEBSD)
+ PA_DCHECK(!metadata->bucket.active_slot_spans_head);
+ PA_DCHECK(!metadata->bucket.empty_slot_spans_head);
+ PA_DCHECK(!metadata->bucket.decommitted_slot_spans_head);
+ PA_DCHECK(!metadata->bucket.num_system_pages_per_slot_span);
+ PA_DCHECK(!metadata->bucket.num_full_slot_spans);
++#endif
+ metadata->bucket.slot_size = slot_size;
+
+ auto* map_extent = &metadata->direct_map_extent;
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
new file mode 100644
index 000000000000..4dc4831a8cf0
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.cc
@@ -0,0 +1,49 @@
+--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/spinning_mutex.cc
+@@ -16,9 +16,16 @@
+ #include <unistd.h>
+ #endif // defined(PA_HAS_LINUX_KERNEL)
+
++#if defined(PA_HAS_FREEBSD_KERNEL)
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/thr.h>
++#include <sys/umtx.h>
++#endif // defined(PA_HAS_FREEBSD_KERNEL)
++
+ namespace base {
+ namespace internal {
+-#if defined(PA_HAS_LINUX_KERNEL)
++#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
+
+ void SpinningMutex::FutexWait() {
+ // Save and restore errno.
+@@ -42,8 +49,13 @@ void SpinningMutex::FutexWait() {
+ // |kLockedContended| anymore. Note that even without spurious wakeups, the
+ // value of |state_| is not guaranteed when this returns, as another thread
+ // may get the lock before we get to run.
++#if defined(PA_HAS_LINUX_KERNEL)
+ int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
+ kLockedContended, nullptr, nullptr, 0);
++#elif defined(PA_HAS_FREEBSD_KERNEL)
++ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE,
++ kLockedContended, nullptr, nullptr);
++#endif
+
+ if (err) {
+ // These are programming error, check them.
+@@ -55,8 +67,14 @@ void SpinningMutex::FutexWait() {
+
+ void SpinningMutex::FutexWake() {
+ int saved_errno = errno;
++#if defined(PA_HAS_LINUX_KERNEL)
+ long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG,
+ 1 /* wake up a single waiter */, nullptr, nullptr, 0);
++#elif defined(PA_HAS_FREEBSD_KERNEL)
++ long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE,
++ 1 /* wake up a single waiter */, nullptr, nullptr);
++#endif
++
+ PA_CHECK(retval != -1);
+ errno = saved_errno;
+ }
diff --git a/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.h b/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.h
new file mode 100644
index 000000000000..34c410661121
--- /dev/null
+++ b/devel/electron12/files/patch-base_allocator_partition__allocator_spinning__mutex.h
@@ -0,0 +1,33 @@
+--- base/allocator/partition_allocator/spinning_mutex.h.orig 2021-04-14 01:08:36 UTC
++++ base/allocator/partition_allocator/spinning_mutex.h
+@@ -22,7 +22,11 @@
+ #define PA_HAS_LINUX_KERNEL
+ #endif
+
+-#if defined(PA_HAS_LINUX_KERNEL) || defined(OS_WIN)
++#if defined(OS_FREEBSD)
++#define PA_HAS_FREEBSD_KERNEL
++#endif
++
++#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) || defined(OS_WIN)
+ #define PA_HAS_SPINNING_MUTEX
+ #endif
+
+@@ -66,7 +70,7 @@ class LOCKABLE BASE_EXPORT SpinningMutex {
+ // as the slow path has better characteristics than SpinLocks's.
+ static constexpr int kSpinCount = 1000;
+
+-#if defined(PA_HAS_LINUX_KERNEL)
++#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
+ void FutexWait();
+ void FutexWake();
+
+@@ -111,7 +115,7 @@ ALWAYS_INLINE void SpinningMutex::Acquire() {
+
+ inline constexpr SpinningMutex::SpinningMutex() = default;
+
+-#if defined(PA_HAS_LINUX_KERNEL)
++#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL)
+
+ ALWAYS_INLINE bool SpinningMutex::Try() {
+ int expected = kUnlocked;
diff --git a/devel/electron12/files/patch-base_base__switches.cc b/devel/electron12/files/patch-base_base__switches.cc
new file mode 100644
index 000000000000..5b3898218609
--- /dev/null
+++ b/devel/electron12/files/patch-base_base__switches.cc
@@ -0,0 +1,22 @@
+--- base/base_switches.cc.orig 2021-04-14 01:08:36 UTC
++++ base/base_switches.cc
+@@ -120,8 +120,8 @@ const char kDisableUsbKeyboardDetect[] = "disable
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ // The /dev/shm partition is too small in certain VM environments, causing
+ // Chrome to fail or crash (see http://crbug.com/715363). Use this flag to
+ // work-around this issue (a temporary directory will always be used to create
+@@ -156,7 +156,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria
+
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Controls whether or not retired instruction counts are surfaced for threads
+ // in trace events on Linux.
+ //
diff --git a/devel/electron12/files/patch-base_base__switches.h b/devel/electron12/files/patch-base_base__switches.h
new file mode 100644
index 000000000000..ad3f09a7b8bd
--- /dev/null
+++ b/devel/electron12/files/patch-base_base__switches.h
@@ -0,0 +1,22 @@
+--- base/base_switches.h.orig 2021-04-14 01:08:36 UTC
++++ base/base_switches.h
+@@ -41,8 +41,8 @@ extern const char kDisableUsbKeyboardDetect[];
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ extern const char kDisableDevShmUsage[];
+ #endif
+
+@@ -58,7 +58,7 @@ extern const char kEnableIdleTracing[];
+ extern const char kForceFieldTrialParams[];
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ extern const char kEnableThreadInstructionCount[];
+ #endif
+
diff --git a/devel/electron12/files/patch-base_cpu.cc b/devel/electron12/files/patch-base_cpu.cc
new file mode 100644
index 000000000000..2d57eda91714
--- /dev/null
+++ b/devel/electron12/files/patch-base_cpu.cc
@@ -0,0 +1,35 @@
+--- base/cpu.cc.orig 2021-04-14 01:08:36 UTC
++++ base/cpu.cc
+@@ -16,7 +16,7 @@
+
+ #include "base/stl_util.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ #include "base/containers/flat_set.h"
+ #include "base/files/file_util.h"
+@@ -212,6 +212,14 @@ const ProcCpuInfo& ParseProcCpu() {
+
+ return *info;
+ }
++#elif defined(OS_BSD)
++std::string* CpuInfoBrand() {
++ static std::string* brand = []() {
++ return new std::string(SysInfo::CPUModelName());
++ }();
++
++ return brand;
++}
+ #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) ||
+ // defined(OS_LINUX) || defined(OS_CHROMEOS))
+
+@@ -348,6 +356,8 @@ void CPU::Initialize() {
+ has_bti_ = hwcap2 & HWCAP2_BTI;
+ #endif
+
++#elif defined(OS_BSD)
++ cpu_brand_ = *CpuInfoBrand();
+ #elif defined(OS_WIN)
+ // Windows makes high-resolution thread timing information available in
+ // user-space.
diff --git a/devel/electron12/files/patch-base_cpu.h b/devel/electron12/files/patch-base_cpu.h
new file mode 100644
index 000000000000..0fcb12b6e4a5
--- /dev/null
+++ b/devel/electron12/files/patch-base_cpu.h
@@ -0,0 +1,20 @@
+--- base/cpu.h.orig 2021-04-14 01:08:36 UTC
++++ base/cpu.h
+@@ -84,7 +84,7 @@ class BASE_EXPORT CPU final {
+ IntelMicroArchitecture GetIntelMicroArchitecture() const;
+ const std::string& cpu_brand() const { return cpu_brand_; }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ enum class CoreType {
+ kUnknown = 0,
+@@ -135,7 +135,7 @@ class BASE_EXPORT CPU final {
+ // cpuidle driver.
+ using CoreIdleTimes = std::vector<TimeDelta>;
+ static bool GetCumulativeCoreIdleTimes(CoreIdleTimes&);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ // defined(OS_AIX)
+
+ private:
diff --git a/devel/electron11/files/patch-base_debug_debugger__posix.cc b/devel/electron12/files/patch-base_debug_debugger__posix.cc
index f11b632af603..f11b632af603 100644
--- a/devel/electron11/files/patch-base_debug_debugger__posix.cc
+++ b/devel/electron12/files/patch-base_debug_debugger__posix.cc
diff --git a/devel/electron11/files/patch-base_debug_elf__reader.cc b/devel/electron12/files/patch-base_debug_elf__reader.cc
index d4ad058d1cf2..d4ad058d1cf2 100644
--- a/devel/electron11/files/patch-base_debug_elf__reader.cc
+++ b/devel/electron12/files/patch-base_debug_elf__reader.cc
diff --git a/devel/electron12/files/patch-base_debug_proc__maps__linux.cc b/devel/electron12/files/patch-base_debug_proc__maps__linux.cc
new file mode 100644
index 000000000000..67a023f2e5af
--- /dev/null
+++ b/devel/electron12/files/patch-base_debug_proc__maps__linux.cc
@@ -0,0 +1,141 @@
+--- base/debug/proc_maps_linux.cc.orig 2021-04-14 01:08:36 UTC
++++ base/debug/proc_maps_linux.cc
+@@ -13,13 +13,18 @@
+ #include "base/strings/string_split.h"
+ #include "build/build_config.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include <inttypes.h>
+ #endif
+
+ namespace base {
+ namespace debug {
+
++#if defined(OS_BSD)
++const char kProcSelfMapsPath[] = "/proc/curproc/map";
++#else
++const char kProcSelfMapsPath[] = "/proc/self/maps";
++
+ // Scans |proc_maps| starting from |pos| returning true if the gate VMA was
+ // found, otherwise returns false.
+ static bool ContainsGateVMA(std::string* proc_maps, size_t pos) {
+@@ -35,15 +40,16 @@ static bool ContainsGateVMA(std::string* proc_maps, si
+ return false;
+ #endif
+ }
++#endif
+
+ bool ReadProcMaps(std::string* proc_maps) {
+ // seq_file only writes out a page-sized amount on each call. Refer to header
+ // file for details.
+ const long kReadSize = sysconf(_SC_PAGESIZE);
+
+- base::ScopedFD fd(HANDLE_EINTR(open("/proc/self/maps", O_RDONLY)));
++ base::ScopedFD fd(HANDLE_EINTR(open(kProcSelfMapsPath, O_RDONLY)));
+ if (!fd.is_valid()) {
+- DPLOG(ERROR) << "Couldn't open /proc/self/maps";
++ DPLOG(ERROR) << "Couldn't open " << kProcSelfMapsPath;
+ return false;
+ }
+ proc_maps->clear();
+@@ -57,7 +63,7 @@ bool ReadProcMaps(std::string* proc_maps) {
+
+ ssize_t bytes_read = HANDLE_EINTR(read(fd.get(), buffer, kReadSize));
+ if (bytes_read < 0) {
+- DPLOG(ERROR) << "Couldn't read /proc/self/maps";
++ DPLOG(ERROR) << "Couldn't read " << kProcSelfMapsPath;
+ proc_maps->clear();
+ return false;
+ }
+@@ -68,6 +74,7 @@ bool ReadProcMaps(std::string* proc_maps) {
+ if (bytes_read == 0)
+ break;
+
++#if !defined(OS_BSD)
+ // The gate VMA is handled as a special case after seq_file has finished
+ // iterating through all entries in the virtual memory table.
+ //
+@@ -78,6 +85,7 @@ bool ReadProcMaps(std::string* proc_maps) {
+ // Avoid this by searching for the gate VMA and breaking early.
+ if (ContainsGateVMA(proc_maps, pos))
+ break;
++#endif
+ }
+
+ return true;
+@@ -105,11 +113,32 @@ bool ParseProcMaps(const std::string& input,
+
+ MappedMemoryRegion region;
+ const char* line = lines[i].c_str();
+- char permissions[5] = {'\0'}; // Ensure NUL-terminated string.
++ char permissions[6] = {'\0'}; // Ensure NUL-terminated string.
++ int path_index = 0;
++
++#if defined(OS_BSD)
++ if (lines[i].empty())
++ continue;
++
++ char cow;
++
++ // Format:
++ //
++ // start end resident private_resident obj perms ref_count shadow_count flags cow needs_copy type fullpath cred ruid
++ // 0x200000 0x202000 2 6 0xfffff80005be9000 r-- 3 1 0x1000 COW NC vnode /bin/cat NCH -1
++ //
++ if (sscanf(line, "%" SCNxPTR " %" SCNxPTR " %*ld %*ld %*[^ ] %5[^ ] %*d %*d %*x %c%*s %*s %*s %n",
++ &region.start, &region.end, permissions, &cow, &path_index) < 4) {
++ DPLOG(WARNING) << "sscanf failed for line: " << line;
++ return false;
++ }
++
++ const char* fullpath = line + path_index;
++ const char* cred = strchr(fullpath, ' ');
++#else
+ uint8_t dev_major = 0;
+ uint8_t dev_minor = 0;
+ long inode = 0;
+- int path_index = 0;
+
+ // Sample format from man 5 proc:
+ //
+@@ -125,6 +154,7 @@ bool ParseProcMaps(const std::string& input,
+ DPLOG(WARNING) << "sscanf failed for line: " << line;
+ return false;
+ }
++#endif
+
+ region.permissions = 0;
+
+@@ -143,14 +173,31 @@ bool ParseProcMaps(const std::string& input,
+ else if (permissions[2] != '-')
+ return false;
+
++#if defined(OS_BSD)
++ if (cow == 'C') {
++ region.permissions |= MappedMemoryRegion::PRIVATE;
++ } else if (cow != 'N') {
++ DPLOG(WARNING) << "unknown value for COW in line " << line << ": " << cow;
++ return false;
++ }
++#else
+ if (permissions[3] == 'p')
+ region.permissions |= MappedMemoryRegion::PRIVATE;
+ else if (permissions[3] != 's' && permissions[3] != 'S') // Shared memory.
+ return false;
++#endif
+
+ // Pushing then assigning saves us a string copy.
+ regions.push_back(region);
++#if defined(OS_BSD)
++ if (cred != nullptr) {
++ regions.back().path.assign(line + path_index, cred - fullpath);
++ } else {
++ regions.back().path.assign(line + path_index);
++ }
++#else
+ regions.back().path.assign(line + path_index);
++#endif
+ }
+
+ regions_out->swap(regions);
diff --git a/devel/electron11/files/patch-base_debug_stack__trace.cc b/devel/electron12/files/patch-base_debug_stack__trace.cc
index b07d3f6b2a52..b07d3f6b2a52 100644
--- a/devel/electron11/files/patch-base_debug_stack__trace.cc
+++ b/devel/electron12/files/patch-base_debug_stack__trace.cc
diff --git a/devel/electron11/files/patch-base_debug_stack__trace.h b/devel/electron12/files/patch-base_debug_stack__trace.h
index dab645bd1f21..dab645bd1f21 100644
--- a/devel/electron11/files/patch-base_debug_stack__trace.h
+++ b/devel/electron12/files/patch-base_debug_stack__trace.h
diff --git a/devel/electron12/files/patch-base_debug_stack__trace__posix.cc b/devel/electron12/files/patch-base_debug_stack__trace__posix.cc
new file mode 100644
index 000000000000..7ff121c882b3
--- /dev/null
+++ b/devel/electron12/files/patch-base_debug_stack__trace__posix.cc
@@ -0,0 +1,45 @@
+--- base/debug/stack_trace_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/debug/stack_trace_posix.cc
+@@ -35,7 +35,7 @@
+ #include <AvailabilityMacros.h>
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/debug/proc_maps_linux.h"
+ #endif
+
+@@ -659,13 +659,21 @@ class SandboxSymbolizeHelper {
+ // Reads /proc/self/maps.
+ std::string contents;
+ if (!ReadProcMaps(&contents)) {
++#if defined(OS_BSD)
++ LOG(ERROR) << "Failed to read /proc/curproc/map";
++#else
+ LOG(ERROR) << "Failed to read /proc/self/maps";
++#endif
+ return false;
+ }
+
+ // Parses /proc/self/maps.
+ if (!ParseProcMaps(contents, &regions_)) {
++#if defined(OS_BSD)
++ LOG(ERROR) << "Failed to parse the contents of /proc/curproc/map";
++#else
+ LOG(ERROR) << "Failed to parse the contents of /proc/self/maps";
++#endif
+ return false;
+ }
+
+@@ -696,7 +704,11 @@ class SandboxSymbolizeHelper {
+ // Skip regions with empty file names.
+ continue;
+ }
++#if defined(OS_BSD)
++ if (region.path[0] == '-') {
++#else
+ if (region.path[0] == '[') {
++#endif
+ // Skip pseudo-paths, like [stack], [vdso], [heap], etc ...
+ continue;
+ }
diff --git a/devel/electron12/files/patch-base_debug_stack__trace__unittest.cc b/devel/electron12/files/patch-base_debug_stack__trace__unittest.cc
new file mode 100644
index 000000000000..74aa2e122db1
--- /dev/null
+++ b/devel/electron12/files/patch-base_debug_stack__trace__unittest.cc
@@ -0,0 +1,40 @@
+--- base/debug/stack_trace_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/debug/stack_trace_unittest.cc
+@@ -88,6 +88,7 @@ TEST_F(StackTraceTest, OutputToStream) {
+ std::string::npos)
+ << "Unable to resolve symbols.";
+
++#if !defined(OS_BSD)
+ // Expect a demangled symbol.
+ // Note that Windows Release builds omit the function parameters from the
+ // demangled stack output, otherwise this could be "testing::UnitTest::Run()".
+@@ -106,9 +107,10 @@ TEST_F(StackTraceTest, OutputToStream) {
+ EXPECT_TRUE(backtrace_message.find(__func__) != std::string::npos)
+ << "Expected to find " << __func__ << " in backtrace:\n"
+ << backtrace_message;
++#endif
+ }
+
+-#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
++#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
+ // Disabled in Official builds, where Link-Time Optimization can result in two
+ // or fewer stack frames being available, causing the test to fail.
+ TEST_F(StackTraceTest, TruncatedTrace) {
+@@ -122,7 +124,7 @@ TEST_F(StackTraceTest, TruncatedTrace) {
+ truncated.Addresses(&count);
+ EXPECT_EQ(2u, count);
+ }
+-#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES)
++#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD)
+
+ // The test is used for manual testing, e.g., to see the raw output.
+ TEST_F(StackTraceTest, DebugOutputToStream) {
+@@ -361,7 +363,7 @@ TEST_F(StackTraceTest, MAYBE_TraceStackFramePointers)
+ // sometimes we read fp / pc from the place that previously held
+ // uninitialized value.
+ // TODO(crbug.com/1132511): Enable this test on Fuchsia.
+-#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA)
++#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ #define MAYBE_TraceStackFramePointersFromBuffer \
+ DISABLED_TraceStackFramePointersFromBuffer
+ #else
diff --git a/devel/electron11/files/patch-base_files_file__path__unittest.cc b/devel/electron12/files/patch-base_files_file__path__unittest.cc
index 028f84288f7f..028f84288f7f 100644
--- a/devel/electron11/files/patch-base_files_file__path__unittest.cc
+++ b/devel/electron12/files/patch-base_files_file__path__unittest.cc
diff --git a/devel/electron12/files/patch-base_files_file__path__watcher__freebsd.cc b/devel/electron12/files/patch-base_files_file__path__watcher__freebsd.cc
new file mode 100644
index 000000000000..439dd5ab3191
--- /dev/null
+++ b/devel/electron12/files/patch-base_files_file__path__watcher__freebsd.cc
@@ -0,0 +1,64 @@
+--- base/files/file_path_watcher_freebsd.cc.orig 2021-04-22 07:53:22 UTC
++++ base/files/file_path_watcher_freebsd.cc
+@@ -0,0 +1,61 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++// This file exists for Unix systems which don't have the inotify headers, and
++// thus cannot build file_watcher_inotify.cc
++
++#include <memory>
++
++#include "base/files/file_path_watcher.h"
++#include "base/files/file_path_watcher_kqueue.h"
++
++#include "base/memory/ptr_util.h"
++#include "build/build_config.h"
++
++namespace base {
++
++namespace {
++
++class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate {
++ public:
++ FilePathWatcherImpl() = default;
++ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete;
++ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete;
++ ~FilePathWatcherImpl() override = default;
++
++ bool Watch(const FilePath& path,
++ Type type,
++ const FilePathWatcher::Callback& callback) override {
++ DCHECK(!impl_.get());
++
++ if (type == Type::kRecursive) {
++ return false;
++ } else {
++ impl_ = std::make_unique<FilePathWatcherKQueue>();
++ }
++
++ DCHECK(impl_.get());
++
++ return impl_->Watch(path, type, callback);
++ }
++
++ void Cancel() override {
++ if (impl_.get())
++ impl_->Cancel();
++
++ set_cancelled();
++ }
++
++ private:
++ std::unique_ptr<PlatformDelegate> impl_;
++};
++
++} // namespace
++
++FilePathWatcher::FilePathWatcher() {
++ sequence_checker_.DetachFromSequence();
++ impl_ = std::make_unique<FilePathWatcherImpl>();
++}
++
++} // namespace base
diff --git a/devel/electron11/files/patch-base_files_file__path__watcher__kqueue.h b/devel/electron12/files/patch-base_files_file__path__watcher__kqueue.h
index b8fb6918f2b4..b8fb6918f2b4 100644
--- a/devel/electron11/files/patch-base_files_file__path__watcher__kqueue.h
+++ b/devel/electron12/files/patch-base_files_file__path__watcher__kqueue.h
diff --git a/devel/electron12/files/patch-base_files_file__path__watcher__unittest.cc b/devel/electron12/files/patch-base_files_file__path__watcher__unittest.cc
new file mode 100644
index 000000000000..e48b7bb416af
--- /dev/null
+++ b/devel/electron12/files/patch-base_files_file__path__watcher__unittest.cc
@@ -0,0 +1,56 @@
+--- base/files/file_path_watcher_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/files/file_path_watcher_unittest.cc
+@@ -444,12 +444,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
+ VLOG(1) << "Waiting for file1 creation";
+ ASSERT_TRUE(WaitForEvents());
+
+-#if !defined(OS_APPLE)
++#if !defined(OS_APPLE) && !defined(OS_BSD)
+ // Mac implementation does not detect files modified in a directory.
+ ASSERT_TRUE(WriteFile(file1, "content v2"));
+ VLOG(1) << "Waiting for file1 modification";
+ ASSERT_TRUE(WaitForEvents());
+-#endif // !OS_APPLE
++#endif // !OS_APPLE && !OS_BSD
+
+ ASSERT_TRUE(base::DeleteFile(file1));
+ VLOG(1) << "Waiting for file1 deletion";
+@@ -822,7 +822,7 @@ TEST_F(FilePathWatcherTest, LinkedDirectoryPart3) {
+ ASSERT_TRUE(WaitForEvents());
+ }
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ enum Permission {
+ Read,
+@@ -830,7 +830,7 @@ enum Permission {
+ Execute
+ };
+
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
+ bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) {
+ struct stat stat_buf;
+
+@@ -859,9 +859,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi
+ }
+ return chmod(path.value().c_str(), stat_buf.st_mode) == 0;
+ }
+-#endif // defined(OS_APPLE)
++#endif // defined(OS_APPLE) || defined(OS_BSD)
+
+-#if defined(OS_APPLE)
++#if defined(OS_APPLE) || defined(OS_BSD)
+ // Linux implementation of FilePathWatcher doesn't catch attribute changes.
+ // http://crbug.com/78043
+ // Windows implementation of FilePathWatcher catches attribute changes that
+@@ -897,7 +897,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
+ ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true));
+ }
+
+-#endif // OS_APPLE
++#endif // OS_APPLE || OS_BSD
+
+ #if defined(OS_MAC)
+
diff --git a/devel/electron12/files/patch-base_files_file__util.h b/devel/electron12/files/patch-base_files_file__util.h
new file mode 100644
index 000000000000..460162ee2c17
--- /dev/null
+++ b/devel/electron12/files/patch-base_files_file__util.h
@@ -0,0 +1,28 @@
+--- base/files/file_util.h.orig 2021-04-14 01:08:36 UTC
++++ base/files/file_util.h
+@@ -284,14 +284,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat
+ BASE_EXPORT bool ExecutableExistsInPath(Environment* env,
+ const FilePath::StringType& executable);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+ // Determine if files under a given |path| can be mapped and then mprotect'd
+ // PROT_EXEC. This depends on the mount options used for |path|, which vary
+ // among different Linux distributions and possibly local configuration. It also
+ // depends on details of kernel--ChromeOS uses the noexec option for /dev/shm
+ // but its kernel allows mprotect with PROT_EXEC anyway.
+ BASE_EXPORT bool IsPathExecutable(const FilePath& path);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+
+ #endif // OS_POSIX
+
+@@ -603,7 +603,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas
+ // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
+ BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+ // Broad categories of file systems as returned by statfs() on Linux.
+ enum FileSystemType {
+ FILE_SYSTEM_UNKNOWN, // statfs failed.
diff --git a/devel/electron12/files/patch-base_files_file__util__posix.cc b/devel/electron12/files/patch-base_files_file__util__posix.cc
new file mode 100644
index 000000000000..52a0b57f565d
--- /dev/null
+++ b/devel/electron12/files/patch-base_files_file__util__posix.cc
@@ -0,0 +1,78 @@
+--- base/files/file_util_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/files/file_util_posix.cc
+@@ -380,7 +380,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd,
+ }
+
+ bool CreateLocalNonBlockingPipe(int fds[2]) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
+ #else
+ int raw_fds[2];
+@@ -927,8 +927,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si
+ // space. It can fail because the filesystem doesn't support it. In that case,
+ // use the manual method below.
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
++#if defined(OS_BSD)
++ if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1)
++#else
+ if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1)
++#endif
+ return true;
+ DPLOG(ERROR) << "fallocate";
+ #elif defined(OS_APPLE)
+@@ -1098,7 +1102,7 @@ int GetMaximumPathComponentLength(const FilePath& path
+ #if !defined(OS_ANDROID)
+ // This is implemented in file_util_android.cc for that platform.
+ bool GetShmemTempDir(bool executable, FilePath* path) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+ bool disable_dev_shm = false;
+ #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+ disable_dev_shm = CommandLine::ForCurrentProcess()->HasSwitch(
+@@ -1114,7 +1118,7 @@ bool GetShmemTempDir(bool executable, FilePath* path)
+ *path = FilePath("/dev/shm");
+ return true;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+ return GetTempDir(path);
+ }
+ #endif // !defined(OS_ANDROID)
+@@ -1152,7 +1156,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
+ // posix_fadvise() is only available in the Android NDK in API 21+. Older
+ // versions may have the required kernel support, but don't have enough usage
+ // to justify backporting.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ (defined(OS_ANDROID) && __ANDROID_API__ >= 21)
+ File file(file_path, File::FLAG_OPEN | File::FLAG_READ);
+ if (!file.IsValid())
+@@ -1188,7 +1192,7 @@ PrefetchResult PreReadFile(const FilePath& file_path,
+ return internal::PreReadFileSlow(file_path, max_bytes)
+ ? PrefetchResult{PrefetchResultCode::kSlowSuccess}
+ : PrefetchResult{PrefetchResultCode::kSlowFailed};
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) &&
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) &&
+ // __ANDROID_API__ >= 21)
+ }
+
+@@ -1223,7 +1227,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP
+
+ #endif // !defined(OS_NACL_NONSFI)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+ BASE_EXPORT bool IsPathExecutable(const FilePath& path) {
+ bool result = false;
+ FilePath tmp_file_path;
+@@ -1244,6 +1248,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path
+ }
+ return result;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD)
+
+ } // namespace base
diff --git a/devel/electron12/files/patch-base_files_file__util__unittest.cc b/devel/electron12/files/patch-base_files_file__util__unittest.cc
new file mode 100644
index 000000000000..453baff33d89
--- /dev/null
+++ b/devel/electron12/files/patch-base_files_file__util__unittest.cc
@@ -0,0 +1,38 @@
+--- base/files/file_util_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/files/file_util_unittest.cc
+@@ -1638,7 +1638,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) {
+ #endif
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // This test will validate that files which would block when read result in a
+ // failure on a call to ReadFileToStringNonBlocking. To accomplish this we will
+ // use a named pipe because it appears as a file on disk and we can control how
+@@ -1671,7 +1671,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) {
+ ASSERT_EQ(result.size(), 1u);
+ EXPECT_EQ(result[0], 'a');
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ TEST_F(FileUtilTest, MoveFileNew) {
+ // Create a file
+@@ -3506,7 +3506,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
+ }
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_POSIX) && !defined(OS_APPLE)
++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
+ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
+ FilePath file_path("/proc/cpuinfo");
+ std::string data = "temp";
+@@ -3524,7 +3524,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste
+
+ EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4));
+ }
+-#endif // defined(OS_POSIX) && !defined(OS_APPLE)
++#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD)
+
+ TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) {
+ std::string data(kLargeFileSize, 'c');
diff --git a/devel/electron11/files/patch-base_files_scoped__file.cc b/devel/electron12/files/patch-base_files_scoped__file.cc
index f6fa3d00d2f1..f6fa3d00d2f1 100644
--- a/devel/electron11/files/patch-base_files_scoped__file.cc
+++ b/devel/electron12/files/patch-base_files_scoped__file.cc
diff --git a/devel/electron12/files/patch-base_i18n_icu__util.cc b/devel/electron12/files/patch-base_i18n_icu__util.cc
new file mode 100644
index 000000000000..ef08fad47304
--- /dev/null
+++ b/devel/electron12/files/patch-base_i18n_icu__util.cc
@@ -0,0 +1,20 @@
+--- base/i18n/icu_util.cc.orig 2021-04-14 01:08:36 UTC
++++ base/i18n/icu_util.cc
+@@ -48,7 +48,7 @@
+ #include "third_party/icu/source/common/unicode/unistr.h"
+ #endif
+
+-#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \
++#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST))
+ #include "third_party/icu/source/i18n/unicode/timezone.h"
+ #endif
+@@ -342,7 +342,7 @@ void InitializeIcuTimeZone() {
+ FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization();
+ icu::TimeZone::adoptDefault(
+ icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id)));
+-#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST)
++#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMECAST)
+ // To respond to the time zone change properly, the default time zone
+ // cache in ICU has to be populated on starting up.
+ // See TimeZoneMonitorLinux::NotifyClientsFromImpl().
diff --git a/devel/electron12/files/patch-base_linux__util.cc b/devel/electron12/files/patch-base_linux__util.cc
new file mode 100644
index 000000000000..9b7b80113341
--- /dev/null
+++ b/devel/electron12/files/patch-base_linux__util.cc
@@ -0,0 +1,38 @@
+--- base/linux_util.cc.orig 2021-04-14 01:08:36 UTC
++++ base/linux_util.cc
+@@ -15,6 +15,7 @@
+
+ #include <iomanip>
+ #include <memory>
++#include <sstream>
+
+ #include "base/files/dir_reader_posix.h"
+ #include "base/files/file_util.h"
+@@ -79,6 +80,9 @@ class DistroNameGetter {
+ public:
+ DistroNameGetter() {
+ static const char* const kFilesToCheck[] = {"/etc/os-release",
++#if defined(OS_BSD)
++ "/usr/local/etc/os-release",
++#endif
+ "/usr/lib/os-release"};
+ for (const char* file : kFilesToCheck) {
+ if (ReadDistroFromOSReleaseFile(file))
+@@ -135,6 +139,9 @@ void SetLinuxDistro(const std::string& distro) {
+ }
+
+ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) {
++#if defined(OS_BSD)
++ return false;
++#else
+ // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22
+ char buf[25];
+ strings::SafeSPrintf(buf, "/proc/%d/task", pid);
+@@ -154,6 +161,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t
+ }
+
+ return true;
++#endif
+ }
+
+ pid_t FindThreadIDWithSyscall(pid_t pid, const std::string& expected_data,
diff --git a/devel/electron11/files/patch-base_location__unittest.cc b/devel/electron12/files/patch-base_location__unittest.cc
index 8391d10368cd..8391d10368cd 100644
--- a/devel/electron11/files/patch-base_location__unittest.cc
+++ b/devel/electron12/files/patch-base_location__unittest.cc
diff --git a/devel/electron12/files/patch-base_logging__unittest.cc b/devel/electron12/files/patch-base_logging__unittest.cc
new file mode 100644
index 000000000000..f4b4d0b4d095
--- /dev/null
+++ b/devel/electron12/files/patch-base_logging__unittest.cc
@@ -0,0 +1,20 @@
+--- base/logging_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/logging_unittest.cc
+@@ -30,7 +30,7 @@
+ #include "base/posix/eintr_wrapper.h"
+ #endif // OS_POSIX
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include <ucontext.h>
+ #endif
+
+@@ -560,7 +560,7 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo
+ // need the arch-specific boilerplate below, which is inspired by breakpad.
+ // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine.
+ uintptr_t crash_addr = 0;
+-#if defined(OS_MAC)
++#if defined(OS_MAC) || defined(OS_BSD)
+ crash_addr = reinterpret_cast<uintptr_t>(info->si_addr);
+ #else // OS_*
+ ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr);
diff --git a/devel/electron11/files/patch-base_memory_discardable__memory.cc b/devel/electron12/files/patch-base_memory_discardable__memory.cc
index c3e63fd0c75b..c3e63fd0c75b 100644
--- a/devel/electron11/files/patch-base_memory_discardable__memory.cc
+++ b/devel/electron12/files/patch-base_memory_discardable__memory.cc
diff --git a/devel/electron11/files/patch-base_memory_discardable__memory__internal.h b/devel/electron12/files/patch-base_memory_discardable__memory__internal.h
index 3fe9ec502716..3fe9ec502716 100644
--- a/devel/electron11/files/patch-base_memory_discardable__memory__internal.h
+++ b/devel/electron12/files/patch-base_memory_discardable__memory__internal.h
diff --git a/devel/electron11/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/devel/electron12/files/patch-base_memory_madv__free__discardable__memory__posix.cc
index bebd593980ed..bebd593980ed 100644
--- a/devel/electron11/files/patch-base_memory_madv__free__discardable__memory__posix.cc
+++ b/devel/electron12/files/patch-base_memory_madv__free__discardable__memory__posix.cc
diff --git a/devel/electron11/files/patch-base_memory_platform__shared__memory__region.h b/devel/electron12/files/patch-base_memory_platform__shared__memory__region.h
index 95c3f3248748..95c3f3248748 100644
--- a/devel/electron11/files/patch-base_memory_platform__shared__memory__region.h
+++ b/devel/electron12/files/patch-base_memory_platform__shared__memory__region.h
diff --git a/devel/electron12/files/patch-base_memory_platform__shared__memory__region__posix.cc b/devel/electron12/files/patch-base_memory_platform__shared__memory__region__posix.cc
new file mode 100644
index 000000000000..5ff9a2f68bda
--- /dev/null
+++ b/devel/electron12/files/patch-base_memory_platform__shared__memory__region__posix.cc
@@ -0,0 +1,100 @@
+--- base/memory/platform_shared_memory_region_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/memory/platform_shared_memory_region_posix.cc
+@@ -23,7 +23,11 @@ struct ScopedPathUnlinkerTraits {
+ static const FilePath* InvalidValue() { return nullptr; }
+
+ static void Free(const FilePath* path) {
++#if defined(OS_BSD)
++ if (shm_unlink(path->value().c_str()))
++#else
+ if (unlink(path->value().c_str()))
++#endif
+ PLOG(WARNING) << "unlink";
+ }
+ };
+@@ -70,7 +74,7 @@ FDPair ScopedFDPair::get() const {
+ return {fd.get(), readonly_fd.get()};
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // static
+ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) {
+ PlatformSharedMemoryRegion region =
+@@ -79,7 +83,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion:
+ return region.PassPlatformHandle().fd;
+ return ScopedFD();
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // static
+ PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take(
+@@ -204,7 +208,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o
+ // static
+ PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
+ size_t size
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ ,
+ bool executable
+ #endif
+@@ -242,6 +246,22 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+ return {};
+ }
+
++#if defined(OS_BSD)
++ UnguessableToken token = UnguessableToken::Create();
++ FilePath path = directory.Append(token.ToString());
++ ScopedFD fd{HANDLE_EINTR(shm_open(path.value().c_str(), O_CREAT | O_RDWR, 0700))};
++ File shm_file(fd.release());
++
++ if (!shm_file.IsValid()) {
++ PLOG(ERROR) << "Creating shared memory failed";
++ return {};
++ }
++
++ if (HANDLE_EINTR(ftruncate(shm_file.GetPlatformFile(), size)) == -1) {
++ PLOG(ERROR) << "Failed to extend shared memory object to size " << size;
++ return {};
++ }
++#else
+ FilePath path;
+ ScopedFD fd = CreateAndOpenFdForTemporaryFileInDir(directory, &path);
+ File shm_file(fd.release());
+@@ -258,6 +278,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+ }
+ return {};
+ }
++#endif // OS_BSD
+
+ // Deleting the file prevents anyone else from mapping it in (making it
+ // private), and prevents the need for cleanup (once the last fd is
+@@ -267,7 +288,11 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+ ScopedFD readonly_fd;
+ if (mode == Mode::kWritable) {
+ // Also open as readonly so that we can ConvertToReadOnly().
++#if defined(OS_BSD)
++ readonly_fd.reset(HANDLE_EINTR(shm_open(path.value().c_str(), O_RDONLY, 0400)));
++#else
+ readonly_fd.reset(HANDLE_EINTR(open(path.value().c_str(), O_RDONLY)));
++#endif
+ if (!readonly_fd.is_valid()) {
+ DPLOG(ERROR) << "open(\"" << path.value() << "\", O_RDONLY) failed";
+ return {};
+@@ -298,9 +323,15 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
+ }
+ }
+
++#if defined(OS_BSD)
+ return PlatformSharedMemoryRegion(
+ {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode,
++ size, token);
++#else
++ return PlatformSharedMemoryRegion(
++ {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode,
+ size, UnguessableToken::Create());
++#endif // OS_BSD
+ #endif // !defined(OS_NACL)
+ }
+
diff --git a/devel/electron11/files/patch-base_memory_shared__memory__region__unittest.cc b/devel/electron12/files/patch-base_memory_shared__memory__region__unittest.cc
index 390dc6366060..390dc6366060 100644
--- a/devel/electron11/files/patch-base_memory_shared__memory__region__unittest.cc
+++ b/devel/electron12/files/patch-base_memory_shared__memory__region__unittest.cc
diff --git a/devel/electron11/files/patch-base_message__loop_message__pump__glib.cc b/devel/electron12/files/patch-base_message__loop_message__pump__glib.cc
index cb8c43ece967..cb8c43ece967 100644
--- a/devel/electron11/files/patch-base_message__loop_message__pump__glib.cc
+++ b/devel/electron12/files/patch-base_message__loop_message__pump__glib.cc
diff --git a/devel/electron11/files/patch-base_native__library__posix.cc b/devel/electron12/files/patch-base_native__library__posix.cc
index 3bb2c3d6f24a..3bb2c3d6f24a 100644
--- a/devel/electron11/files/patch-base_native__library__posix.cc
+++ b/devel/electron12/files/patch-base_native__library__posix.cc
diff --git a/devel/electron11/files/patch-base_native__library__unittest.cc b/devel/electron12/files/patch-base_native__library__unittest.cc
index 2053f40ff4b5..2053f40ff4b5 100644
--- a/devel/electron11/files/patch-base_native__library__unittest.cc
+++ b/devel/electron12/files/patch-base_native__library__unittest.cc
diff --git a/devel/electron11/files/patch-base_numerics_safe__math__shared__impl.h b/devel/electron12/files/patch-base_numerics_safe__math__shared__impl.h
index 435eabe4b5a4..435eabe4b5a4 100644
--- a/devel/electron11/files/patch-base_numerics_safe__math__shared__impl.h
+++ b/devel/electron12/files/patch-base_numerics_safe__math__shared__impl.h
diff --git a/devel/electron11/files/patch-base_path__service__unittest.cc b/devel/electron12/files/patch-base_path__service__unittest.cc
index aa49db8cb97f..aa49db8cb97f 100644
--- a/devel/electron11/files/patch-base_path__service__unittest.cc
+++ b/devel/electron12/files/patch-base_path__service__unittest.cc
diff --git a/devel/electron11/files/patch-base_posix_can__lower__nice__to.cc b/devel/electron12/files/patch-base_posix_can__lower__nice__to.cc
index ea01e2805c24..ea01e2805c24 100644
--- a/devel/electron11/files/patch-base_posix_can__lower__nice__to.cc
+++ b/devel/electron12/files/patch-base_posix_can__lower__nice__to.cc
diff --git a/devel/electron11/files/patch-base_posix_unix__domain__socket.cc b/devel/electron12/files/patch-base_posix_unix__domain__socket.cc
index a6a7950b9f1c..a6a7950b9f1c 100644
--- a/devel/electron11/files/patch-base_posix_unix__domain__socket.cc
+++ b/devel/electron12/files/patch-base_posix_unix__domain__socket.cc
diff --git a/devel/electron11/files/patch-base_posix_unix__domain__socket__unittest.cc b/devel/electron12/files/patch-base_posix_unix__domain__socket__unittest.cc
index 5750575505c0..5750575505c0 100644
--- a/devel/electron11/files/patch-base_posix_unix__domain__socket__unittest.cc
+++ b/devel/electron12/files/patch-base_posix_unix__domain__socket__unittest.cc
diff --git a/devel/electron11/files/patch-base_process_internal__linux.cc b/devel/electron12/files/patch-base_process_internal__linux.cc
index 574d90c7c3b3..574d90c7c3b3 100644
--- a/devel/electron11/files/patch-base_process_internal__linux.cc
+++ b/devel/electron12/files/patch-base_process_internal__linux.cc
diff --git a/devel/electron11/files/patch-base_process_internal__linux.h b/devel/electron12/files/patch-base_process_internal__linux.h
index cca02ed6890e..cca02ed6890e 100644
--- a/devel/electron11/files/patch-base_process_internal__linux.h
+++ b/devel/electron12/files/patch-base_process_internal__linux.h
diff --git a/devel/electron11/files/patch-base_process_kill.h b/devel/electron12/files/patch-base_process_kill.h
index 64c5c7059748..64c5c7059748 100644
--- a/devel/electron11/files/patch-base_process_kill.h
+++ b/devel/electron12/files/patch-base_process_kill.h
diff --git a/devel/electron11/files/patch-base_process_kill__posix.cc b/devel/electron12/files/patch-base_process_kill__posix.cc
index 83d217de3b28..83d217de3b28 100644
--- a/devel/electron11/files/patch-base_process_kill__posix.cc
+++ b/devel/electron12/files/patch-base_process_kill__posix.cc
diff --git a/devel/electron11/files/patch-base_process_launch.cc b/devel/electron12/files/patch-base_process_launch.cc
index dc605270e330..dc605270e330 100644
--- a/devel/electron11/files/patch-base_process_launch.cc
+++ b/devel/electron12/files/patch-base_process_launch.cc
diff --git a/devel/electron12/files/patch-base_process_launch.h b/devel/electron12/files/patch-base_process_launch.h
new file mode 100644
index 000000000000..59f932d847ab
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_launch.h
@@ -0,0 +1,29 @@
+--- base/process/launch.h.orig 2021-04-14 01:08:36 UTC
++++ base/process/launch.h
+@@ -182,7 +182,7 @@ struct BASE_EXPORT LaunchOptions {
+ bool clear_environment = false;
+ #endif // OS_WIN || OS_POSIX || OS_FUCHSIA
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // If non-zero, start the process using clone(), using flags as provided.
+ // Unlike in clone, clone_flags may not contain a custom termination signal
+ // that is sent to the parent when the child dies. The termination signal will
+@@ -195,7 +195,7 @@ struct BASE_EXPORT LaunchOptions {
+
+ // Sets parent process death signal to SIGKILL.
+ bool kill_on_parent_death = false;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_MAC)
+ // Mach ports that will be accessible to the child process. These are not
+@@ -410,7 +410,7 @@ BASE_EXPORT void RaiseProcessToHighPriority();
+ // binary. This should not be called in production/released code.
+ BASE_EXPORT LaunchOptions LaunchOptionsForTest();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD)
+ // A wrapper for clone with fork-like behavior, meaning that it returns the
+ // child's pid in the parent and 0 in the child. |flags|, |ptid|, and |ctid| are
+ // as in the clone system call (the CLONE_VM flag is not supported).
diff --git a/devel/electron12/files/patch-base_process_launch__posix.cc b/devel/electron12/files/patch-base_process_launch__posix.cc
new file mode 100644
index 000000000000..a64c5f0f8df3
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_launch__posix.cc
@@ -0,0 +1,80 @@
+--- base/process/launch_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/launch_posix.cc
+@@ -59,12 +59,14 @@
+ #if defined(OS_FREEBSD)
+ #include <sys/event.h>
+ #include <sys/ucontext.h>
++#include <sys/procctl.h>
+ #endif
+
+ #if defined(OS_APPLE)
+ #error "macOS should use launch_mac.cc"
+ #endif
+
++#pragma weak environ
+ extern char** environ;
+
+ namespace base {
+@@ -221,6 +223,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap
+ DirReaderPosix fd_dir(kFDDir);
+ if (!fd_dir.IsValid()) {
+ // Fallback case: Try every possible fd.
++
++#if defined(OS_FREEBSD)
++ // CEM: blast away most of the range with closefrom(). A common use case
++ // of this function only maps STDIN/STDOUT/STDERR and closefrom(3) is much
++ // cheaper than x00,000 close(2) invocations with a high RLIMIT_NOFILE.
++ //
++ // In the other caller, it is still very likely that the fds we care about
++ // are in relatively low number space and we can save hundreds of thousands
++ // of syscalls.
++ int max_valid_fd = -1;
++ for (size_t j = 0; j < saved_mapping.size(); j++) {
++ int fd = saved_mapping[j].dest;
++ if (fd > max_valid_fd)
++ max_valid_fd = fd;
++ }
++ if (max_valid_fd < STDERR_FILENO)
++ max_valid_fd = STDERR_FILENO;
++
++ closefrom(max_valid_fd + 1);
++ max_fds = static_cast<size_t>(max_valid_fd) + 1;
++#endif
++
+ for (size_t i = 0; i < max_fds; ++i) {
+ const int fd = static_cast<int>(i);
+ if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO)
+@@ -444,22 +468,32 @@ Process LaunchProcess(const std::vector<std::string>&
+
+ // Set NO_NEW_PRIVS by default. Since NO_NEW_PRIVS only exists in kernel
+ // 3.5+, do not check the return value of prctl here.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_FREEBSD)
+ #ifndef PR_SET_NO_NEW_PRIVS
+ #define PR_SET_NO_NEW_PRIVS 38
+ #endif
++#if !defined(OS_FREEBSD)
+ if (!options.allow_new_privs) {
+ if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) && errno != EINVAL) {
+ // Only log if the error is not EINVAL (i.e. not supported).
+ RAW_LOG(FATAL, "prctl(PR_SET_NO_NEW_PRIVS) failed");
+ }
+ }
++#endif
+
+ if (options.kill_on_parent_death) {
++#if defined(OS_FREEBSD)
++ int procctl_value = SIGKILL;
++ if (procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value)) {
++ RAW_LOG(ERROR, "procctl(PROC_PDEATHSIG_CTL) failed");
++ _exit(127);
++ }
++#else
+ if (prctl(PR_SET_PDEATHSIG, SIGKILL) != 0) {
+ RAW_LOG(ERROR, "prctl(PR_SET_PDEATHSIG) failed");
+ _exit(127);
+ }
++#endif
+ }
+ #endif
+
diff --git a/devel/electron11/files/patch-base_process_memory.cc b/devel/electron12/files/patch-base_process_memory.cc
index c3a7fd832d00..c3a7fd832d00 100644
--- a/devel/electron11/files/patch-base_process_memory.cc
+++ b/devel/electron12/files/patch-base_process_memory.cc
diff --git a/devel/electron11/files/patch-base_process_memory.h b/devel/electron12/files/patch-base_process_memory.h
index 5066a5548489..5066a5548489 100644
--- a/devel/electron11/files/patch-base_process_memory.h
+++ b/devel/electron12/files/patch-base_process_memory.h
diff --git a/devel/electron11/files/patch-base_process_memory__unittest.cc b/devel/electron12/files/patch-base_process_memory__unittest.cc
index 67420b27be0c..67420b27be0c 100644
--- a/devel/electron11/files/patch-base_process_memory__unittest.cc
+++ b/devel/electron12/files/patch-base_process_memory__unittest.cc
diff --git a/devel/electron11/files/patch-base_process_process__handle.cc b/devel/electron12/files/patch-base_process_process__handle.cc
index acc48a9b6ec4..acc48a9b6ec4 100644
--- a/devel/electron11/files/patch-base_process_process__handle.cc
+++ b/devel/electron12/files/patch-base_process_process__handle.cc
diff --git a/devel/electron11/files/patch-base_process_process__handle.h b/devel/electron12/files/patch-base_process_process__handle.h
index a285186306f7..a285186306f7 100644
--- a/devel/electron11/files/patch-base_process_process__handle.h
+++ b/devel/electron12/files/patch-base_process_process__handle.h
diff --git a/devel/electron11/files/patch-base_process_process__handle__freebsd.cc b/devel/electron12/files/patch-base_process_process__handle__freebsd.cc
index 4e7d19df3877..4e7d19df3877 100644
--- a/devel/electron11/files/patch-base_process_process__handle__freebsd.cc
+++ b/devel/electron12/files/patch-base_process_process__handle__freebsd.cc
diff --git a/devel/electron12/files/patch-base_process_process__iterator__freebsd.cc b/devel/electron12/files/patch-base_process_process__iterator__freebsd.cc
new file mode 100644
index 000000000000..54448477150b
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__iterator__freebsd.cc
@@ -0,0 +1,53 @@
+--- base/process/process_iterator_freebsd.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_iterator_freebsd.cc
+@@ -10,6 +10,10 @@
+ #include <sys/sysctl.h>
+ #include <unistd.h>
+
++/* getuid() */
++#include <unistd.h>
++#include <sys/types.h>
++
+ #include "base/logging.h"
+ #include "base/stl_util.h"
+ #include "base/strings/string_split.h"
+@@ -40,7 +44,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+ num_of_kinfo_proc += 16;
+ kinfo_procs_.resize(num_of_kinfo_proc);
+ len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
+- if (sysctl(mib, base::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) {
++ if (sysctl(mib, base::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) {
+ // If we get a mem error, it just means we need a bigger buffer, so
+ // loop around again. Anything else is a real error and give up.
+ if (errno != ENOMEM) {
+@@ -50,7 +54,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter*
+ }
+ } else {
+ // Got the list, just make sure we're sized exactly right
+- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
+ kinfo_procs_.resize(num_of_kinfo_proc);
+ done = true;
+ }
+@@ -72,18 +76,13 @@ bool ProcessIterator::CheckForNextProcess() {
+ for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) {
+ size_t length;
+ struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_];
+- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid };
++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid };
+
+ if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB))
+ continue;
+
+- length = 0;
+- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) {
+- LOG(ERROR) << "failed to figure out the buffer size for a command line";
+- continue;
+- }
+-
+- data.resize(length);
++ data.resize(ARG_MAX);
++ length = ARG_MAX;
+
+ if (sysctl(mib, base::size(mib), &data[0], &length, NULL, 0) < 0) {
+ LOG(ERROR) << "failed to fetch a commandline";
diff --git a/devel/electron12/files/patch-base_process_process__linux.cc b/devel/electron12/files/patch-base_process_process__linux.cc
new file mode 100644
index 000000000000..b4e911bfd3c0
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__linux.cc
@@ -0,0 +1,48 @@
+--- base/process/process_linux.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_linux.cc
+@@ -24,7 +24,9 @@ namespace base {
+
+ namespace {
+
++#if !defined(OS_BSD)
+ const int kForegroundPriority = 0;
++#endif
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ // We are more aggressive in our lowering of background process priority
+@@ -69,7 +71,7 @@ struct CGroups {
+ return groups;
+ }
+ };
+-#else
++#elif !defined(OS_BSD)
+ const int kBackgroundPriority = 5;
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+
+@@ -96,13 +98,18 @@ Time Process::CreationTime() const {
+ if (!start_ticks)
+ return Time();
+
++#if defined(OS_BSD)
++ return Time::FromTimeT(start_ticks);
++#else
+ TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks);
+ Time boot_time = internal::GetBootTime();
+ if (boot_time.is_null())
+ return Time();
+ return Time(boot_time + start_offset);
++#endif
+ }
+
++#if !defined(OS_BSD)
+ // static
+ bool Process::CanBackgroundProcesses() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+@@ -154,6 +161,7 @@ bool Process::SetProcessBackgrounded(bool background)
+ DPCHECK(result == 0);
+ return result == 0;
+ }
++#endif // !defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) {
diff --git a/devel/electron12/files/patch-base_process_process__metrics.cc b/devel/electron12/files/patch-base_process_process__metrics.cc
new file mode 100644
index 000000000000..1975e97b1862
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__metrics.cc
@@ -0,0 +1,38 @@
+--- base/process/process_metrics.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_metrics.cc
+@@ -50,7 +50,7 @@ SystemMetrics SystemMetrics::Sample() {
+ SystemMetrics system_metrics;
+
+ system_metrics.committed_memory_ = GetSystemCommitCharge();
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ GetSystemMemoryInfo(&system_metrics.memory_info_);
+ GetVmStatInfo(&system_metrics.vmstat_info_);
+ GetSystemDiskInfo(&system_metrics.disk_info_);
+@@ -69,7 +69,7 @@ std::unique_ptr<Value> SystemMetrics::ToValue() const
+ std::unique_ptr<DictionaryValue> res(new DictionaryValue());
+
+ res->SetIntKey("committed_memory", static_cast<int>(committed_memory_));
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ std::unique_ptr<DictionaryValue> meminfo = memory_info_.ToValue();
+ std::unique_ptr<DictionaryValue> vmstat = vmstat_info_.ToValue();
+ meminfo->MergeDictionary(vmstat.get());
+@@ -120,7 +120,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
+ }
+ #endif
+
+-#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ int ProcessMetrics::CalculateIdleWakeupsPerSecond(
+ uint64_t absolute_idle_wakeups) {
+@@ -133,7 +133,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() {
+ NOTIMPLEMENTED(); // http://crbug.com/120488
+ return 0;
+ }
+-#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
++#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
+ // defined(OS_AIX)
+
+ #if defined(OS_APPLE)
diff --git a/devel/electron12/files/patch-base_process_process__metrics.h b/devel/electron12/files/patch-base_process_process__metrics.h
new file mode 100644
index 000000000000..b10072b9f016
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__metrics.h
@@ -0,0 +1,163 @@
+--- base/process/process_metrics.h.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_metrics.h
+@@ -47,7 +47,7 @@ namespace base {
+ // Full declaration is in process_metrics_iocounters.h.
+ struct IoCounters;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ // Minor and major page fault counts since the process creation.
+ // Both counts are process-wide, and exclude child processes.
+ //
+@@ -57,7 +57,7 @@ struct PageFaultCounts {
+ int64_t minor;
+ int64_t major;
+ };
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ // Convert a POSIX timeval to microseconds.
+ BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv);
+@@ -98,7 +98,7 @@ class BASE_EXPORT ProcessMetrics {
+ // convenience wrapper for CreateProcessMetrics().
+ static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ // Resident Set Size is a Linux/Android specific memory concept. Do not
+ // attempt to extend this to other platforms.
+ BASE_EXPORT size_t GetResidentSetSize() const;
+@@ -124,7 +124,7 @@ class BASE_EXPORT ProcessMetrics {
+ // will result in a time delta of 2 seconds/per 1 wall-clock second.
+ TimeDelta GetCumulativeCPUUsage();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ // Emits the cumulative CPU usage for all currently active threads since they
+ // were started into the output parameter (replacing its current contents).
+@@ -159,7 +159,7 @@ class BASE_EXPORT ProcessMetrics {
+ bool ParseProcTimeInState(const std::string& content,
+ PlatformThreadId tid,
+ TimeInStatePerThread& time_in_state_per_thread);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
+ // defined(OS_AIX)
+
+ // Returns the number of average idle cpu wakeups per second since the last
+@@ -216,14 +216,14 @@ class BASE_EXPORT ProcessMetrics {
+ int GetOpenFdSoftLimit() const;
+ #endif // defined(OS_POSIX)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ // Bytes of swap as reported by /proc/[pid]/status.
+ uint64_t GetVmSwapBytes() const;
+
+ // Minor and major page fault count as reported by /proc/[pid]/stat.
+ // Returns true for success.
+ bool GetPageFaultCounts(PageFaultCounts* counts) const;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ // Returns total memory usage of malloc.
+ size_t GetMallocUsage();
+@@ -235,7 +235,7 @@ class BASE_EXPORT ProcessMetrics {
+ ProcessMetrics(ProcessHandle process, PortProvider* port_provider);
+ #endif // !defined(OS_MAC)
+
+-#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
+ #endif
+@@ -246,10 +246,10 @@ class BASE_EXPORT ProcessMetrics {
+ uint64_t absolute_package_idle_wakeups);
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ CPU::CoreType GetCoreType(int core_index);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
+ // defined(OS_AIX)
+
+ #if defined(OS_WIN)
+@@ -271,7 +271,7 @@ class BASE_EXPORT ProcessMetrics {
+ // Number of bytes transferred to/from disk in bytes.
+ uint64_t last_cumulative_disk_usage_ = 0;
+
+-#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ // Same thing for idle wakeups.
+ TimeTicks last_idle_wakeups_time_;
+@@ -323,7 +323,7 @@ BASE_EXPORT size_t GetHandleLimit();
+ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors);
+ #endif // defined(OS_POSIX)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_AIX) || \
+ defined(OS_FUCHSIA)
+ // Data about system-wide memory consumption. Values are in KB. Available on
+@@ -358,7 +358,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+ int avail_phys = 0;
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ // This provides an estimate of available memory as described here:
+ // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
+@@ -373,7 +373,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+ int swap_free = 0;
+ #endif
+
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_AIX) || defined(OS_FUCHSIA)
+ int buffers = 0;
+ int cached = 0;
+@@ -383,7 +383,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+ int inactive_file = 0;
+ int dirty = 0;
+ int reclaimable = 0;
+-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
+ // defined(OS_AIX) defined(OS_FUCHSIA)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+@@ -406,11 +406,11 @@ struct BASE_EXPORT SystemMemoryInfoKB {
+ // Exposed for memory debugging widget.
+ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo);
+
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS) defined(OS_ANDROID) || defined(OS_AIX) ||
+ // defined(OS_FUCHSIA)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_AIX)
+ // Parse the data found in /proc/<pid>/stat and return the sum of the
+ // CPU-related ticks. Returns -1 on parse error.
+@@ -485,7 +485,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis
+ // Returns the amount of time spent in user space since boot across all CPUs.
+ BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot();
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ||
+ // defined(OS_AIX)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+@@ -597,7 +597,7 @@ class BASE_EXPORT SystemMetrics {
+ FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics);
+
+ size_t committed_memory_;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ SystemMemoryInfoKB memory_info_;
+ VmStatInfo vmstat_info_;
+ SystemDiskInfo disk_info_;
diff --git a/devel/electron11/files/patch-base_process_process__metrics__freebsd.cc b/devel/electron12/files/patch-base_process_process__metrics__freebsd.cc
index 93f441320d37..93f441320d37 100644
--- a/devel/electron11/files/patch-base_process_process__metrics__freebsd.cc
+++ b/devel/electron12/files/patch-base_process_process__metrics__freebsd.cc
diff --git a/devel/electron11/files/patch-base_process_process__metrics__posix.cc b/devel/electron12/files/patch-base_process_process__metrics__posix.cc
index ef95705d21c3..ef95705d21c3 100644
--- a/devel/electron11/files/patch-base_process_process__metrics__posix.cc
+++ b/devel/electron12/files/patch-base_process_process__metrics__posix.cc
diff --git a/devel/electron12/files/patch-base_process_process__unittest.cc b/devel/electron12/files/patch-base_process_process__unittest.cc
new file mode 100644
index 000000000000..aa90636cc7ec
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__unittest.cc
@@ -0,0 +1,11 @@
+--- base/process/process_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_unittest.cc
+@@ -138,7 +138,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) {
+ // was spawned and a time recorded after it was spawned. However, since the
+ // base::Time and process creation clocks don't match, tolerate some error.
+ constexpr base::TimeDelta kTolerance =
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Linux, process creation time is relative to boot time which has a
+ // 1-second resolution. Tolerate 1 second for the imprecise boot time and
+ // 100 ms for the imprecise clock.
diff --git a/devel/electron12/files/patch-base_process_process__util__unittest.cc b/devel/electron12/files/patch-base_process_process__util__unittest.cc
new file mode 100644
index 000000000000..6bf2090fc847
--- /dev/null
+++ b/devel/electron12/files/patch-base_process_process__util__unittest.cc
@@ -0,0 +1,16 @@
+--- base/process/process_util_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/process/process_util_unittest.cc
+@@ -1308,11 +1308,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli
+ options.fds_to_remap.emplace_back(fds[1], STDOUT_FILENO);
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ options.clone_flags = clone_flags;
+ #else
+ CHECK_EQ(0, clone_flags);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid());
+ write_pipe.Close();
diff --git a/devel/electron11/files/patch-base_profiler_register__context.h b/devel/electron12/files/patch-base_profiler_register__context.h
index d3567c52cfc2..d3567c52cfc2 100644
--- a/devel/electron11/files/patch-base_profiler_register__context.h
+++ b/devel/electron12/files/patch-base_profiler_register__context.h
diff --git a/devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.cc b/devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.cc
index db3ea5be4c96..db3ea5be4c96 100644
--- a/devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.cc
+++ b/devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.cc
diff --git a/devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.h b/devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.h
index 6e49a9589775..6e49a9589775 100644
--- a/devel/electron11/files/patch-base_profiler_sampling__profiler__thread__token.h
+++ b/devel/electron12/files/patch-base_profiler_sampling__profiler__thread__token.h
diff --git a/devel/electron12/files/patch-base_profiler_stack__copier__signal.cc b/devel/electron12/files/patch-base_profiler_stack__copier__signal.cc
new file mode 100644
index 000000000000..918229b4aa82
--- /dev/null
+++ b/devel/electron12/files/patch-base_profiler_stack__copier__signal.cc
@@ -0,0 +1,63 @@
+--- base/profiler/stack_copier_signal.cc.orig 2021-04-14 01:08:36 UTC
++++ base/profiler/stack_copier_signal.cc
+@@ -4,7 +4,14 @@
+
+ #include "base/profiler/stack_copier_signal.h"
+
++#if defined(OS_LINUX)
+ #include <linux/futex.h>
++#include <syscall.h>
++#elif defined(OS_FREEBSD)
++#include <sys/types.h>
++#include <sys/thr.h>
++#include <sys/umtx.h>
++#endif
+ #include <signal.h>
+ #include <sys/ucontext.h>
+ #include <syscall.h>
+@@ -35,8 +42,13 @@ class AsyncSafeWaitableEvent {
+ // for a pthread mutex. So, also check the condition.
+ while (true) {
+ int res =
++#if defined(OS_LINUX)
+ syscall(SYS_futex, futex_int_ptr(), FUTEX_WAIT | FUTEX_PRIVATE_FLAG,
+ 0, nullptr, nullptr, 0);
++#elif defined(OS_FREEBSD)
++ _umtx_op(futex_int_ptr(), UMTX_OP_WAIT_UINT_PRIVATE, 0, nullptr,
++ nullptr);
++#endif
+ if (futex_.load(std::memory_order_acquire) != 0)
+ return true;
+ if (res != 0)
+@@ -46,8 +58,12 @@ class AsyncSafeWaitableEvent {
+
+ void Signal() {
+ futex_.store(1, std::memory_order_release);
++#if defined(OS_LINUX)
+ syscall(SYS_futex, futex_int_ptr(), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1,
+ nullptr, nullptr, 0);
++#elif defined(OS_FREEBSD)
++ _umtx_op(futex_int_ptr(), UMTX_OP_WAKE_PRIVATE, 1, nullptr, nullptr);
++#endif
+ }
+
+ private:
+@@ -221,11 +237,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b
+ if (!scoped_sigaction.succeeded())
+ return false;
+
++#if defined(OS_LINUX)
+ if (syscall(SYS_tgkill, getpid(), thread_delegate_->GetThreadId(),
+ SIGURG) != 0) {
+ NOTREACHED();
+ return false;
+ }
++#elif defined(OS_FREEBSD)
++ if (thr_kill2(getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) {
++ NOTREACHED();
++ return false;
++ }
++#endif
+ bool finished_waiting = wait_event.Wait();
+ TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cpu_profiler.debug"),
+ "StackCopierSignal copy stack");
diff --git a/devel/electron11/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/devel/electron12/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
index a4d40f3a6bd4..a4d40f3a6bd4 100644
--- a/devel/electron11/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
+++ b/devel/electron12/files/patch-base_profiler_stack__sampling__profiler__test__util.cc
diff --git a/devel/electron11/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/devel/electron12/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
index f70f0e8e027f..f70f0e8e027f 100644
--- a/devel/electron11/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
+++ b/devel/electron12/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
diff --git a/devel/electron11/files/patch-base_profiler_thread__delegate__posix.cc b/devel/electron12/files/patch-base_profiler_thread__delegate__posix.cc
index cc0fa699df7d..cc0fa699df7d 100644
--- a/devel/electron11/files/patch-base_profiler_thread__delegate__posix.cc
+++ b/devel/electron12/files/patch-base_profiler_thread__delegate__posix.cc
diff --git a/devel/electron11/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/devel/electron12/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
index 8e2afb65b1c0..8e2afb65b1c0 100644
--- a/devel/electron11/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
+++ b/devel/electron12/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
diff --git a/devel/electron11/files/patch-base_security__unittest.cc b/devel/electron12/files/patch-base_security__unittest.cc
index 2ea783870412..2ea783870412 100644
--- a/devel/electron11/files/patch-base_security__unittest.cc
+++ b/devel/electron12/files/patch-base_security__unittest.cc
diff --git a/devel/electron11/files/patch-base_strings_safe__sprintf__unittest.cc b/devel/electron12/files/patch-base_strings_safe__sprintf__unittest.cc
index 6ad41093b744..6ad41093b744 100644
--- a/devel/electron11/files/patch-base_strings_safe__sprintf__unittest.cc
+++ b/devel/electron12/files/patch-base_strings_safe__sprintf__unittest.cc
diff --git a/devel/electron11/files/patch-base_strings_sys__string__conversions__unittest.cc b/devel/electron12/files/patch-base_strings_sys__string__conversions__unittest.cc
index 9720e31491b4..9720e31491b4 100644
--- a/devel/electron11/files/patch-base_strings_sys__string__conversions__unittest.cc
+++ b/devel/electron12/files/patch-base_strings_sys__string__conversions__unittest.cc
diff --git a/devel/electron11/files/patch-base_synchronization_lock__impl.h b/devel/electron12/files/patch-base_synchronization_lock__impl.h
index 4fa02c88ed8d..4fa02c88ed8d 100644
--- a/devel/electron11/files/patch-base_synchronization_lock__impl.h
+++ b/devel/electron12/files/patch-base_synchronization_lock__impl.h
diff --git a/devel/electron11/files/patch-base_syslog__logging.cc b/devel/electron12/files/patch-base_syslog__logging.cc
index 68701f77ea67..68701f77ea67 100644
--- a/devel/electron11/files/patch-base_syslog__logging.cc
+++ b/devel/electron12/files/patch-base_syslog__logging.cc
diff --git a/devel/electron12/files/patch-base_system_sys__info.cc b/devel/electron12/files/patch-base_system_sys__info.cc
new file mode 100644
index 000000000000..89bb86970d2b
--- /dev/null
+++ b/devel/electron12/files/patch-base_system_sys__info.cc
@@ -0,0 +1,11 @@
+--- base/system/sys_info.cc.orig 2021-04-14 01:08:36 UTC
++++ base/system/sys_info.cc
+@@ -94,7 +94,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void(
+ #if defined(OS_WIN) || defined(OS_ANDROID) || defined(OS_APPLE)
+ base::ThreadPool::PostTaskAndReplyWithResult(
+ FROM_HERE, {}, base::BindOnce(&GetHardwareInfoSync), std::move(callback));
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::ThreadPool::PostTaskAndReplyWithResult(
+ FROM_HERE, {base::MayBlock()}, base::BindOnce(&GetHardwareInfoSync),
+ std::move(callback));
diff --git a/devel/electron11/files/patch-base_system_sys__info.h b/devel/electron12/files/patch-base_system_sys__info.h
index 912d7796d73c..912d7796d73c 100644
--- a/devel/electron11/files/patch-base_system_sys__info.h
+++ b/devel/electron12/files/patch-base_system_sys__info.h
diff --git a/devel/electron11/files/patch-base_system_sys__info__freebsd.cc b/devel/electron12/files/patch-base_system_sys__info__freebsd.cc
index f479b84ebdd5..f479b84ebdd5 100644
--- a/devel/electron11/files/patch-base_system_sys__info__freebsd.cc
+++ b/devel/electron12/files/patch-base_system_sys__info__freebsd.cc
diff --git a/devel/electron12/files/patch-base_system_sys__info__posix.cc b/devel/electron12/files/patch-base_system_sys__info__posix.cc
new file mode 100644
index 000000000000..d2321cfe01c5
--- /dev/null
+++ b/devel/electron12/files/patch-base_system_sys__info__posix.cc
@@ -0,0 +1,23 @@
+--- base/system/sys_info_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/system/sys_info_posix.cc
+@@ -25,6 +25,11 @@
+ #if defined(OS_ANDROID)
+ #include <sys/vfs.h>
+ #define statvfs statfs // Android uses a statvfs-like statfs struct and call.
++#elif defined(OS_BSD)
++#include <sys/param.h>
++#include <sys/mount.h>
++#define statvfs statfs
++#define f_frsize f_bsize
+ #else
+ #include <sys/statvfs.h>
+ #endif
+@@ -224,6 +229,8 @@ std::string SysInfo::OperatingSystemArchitecture() {
+ arch = "x86";
+ } else if (arch == "amd64") {
+ arch = "x86_64";
++ } else if (arch == "arm64") {
++ arch = "aarch64";
+ } else if (std::string(info.sysname) == "AIX") {
+ arch = "ppc64";
+ }
diff --git a/devel/electron12/files/patch-base_system_sys__info__unittest.cc b/devel/electron12/files/patch-base_system_sys__info__unittest.cc
new file mode 100644
index 000000000000..3289fede43d9
--- /dev/null
+++ b/devel/electron12/files/patch-base_system_sys__info__unittest.cc
@@ -0,0 +1,46 @@
+--- base/system/sys_info_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/system/sys_info_unittest.cc
+@@ -62,13 +62,13 @@ TEST_F(SysInfoTest, AmountOfMem) {
+ EXPECT_GE(SysInfo::AmountOfVirtualMemory(), 0);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define MAYBE_AmountOfAvailablePhysicalMemory \
+ DISABLED_AmountOfAvailablePhysicalMemory
+ #else
+ #define MAYBE_AmountOfAvailablePhysicalMemory AmountOfAvailablePhysicalMemory
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMemory) {
+ // Note: info is in _K_bytes.
+ SystemMemoryInfoKB info;
+@@ -99,7 +99,7 @@ TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMem
+ EXPECT_GT(amount, static_cast<int64_t>(info.free) * 1024);
+ EXPECT_LT(amount / 1024, info.total);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ TEST_F(SysInfoTest, AmountOfFreeDiskSpace) {
+ // We aren't actually testing that it's correct, just that it's sane.
+@@ -149,7 +149,7 @@ TEST_F(SysInfoTest, NestedVolumesAmountOfTotalDiskSpac
+ }
+ #endif // defined(OS_FUCHSIA)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
+ TEST_F(SysInfoTest, OperatingSystemVersionNumbers) {
+ int32_t os_major_version = -1;
+@@ -210,7 +210,7 @@ TEST_F(SysInfoTest, GetHardwareInfo) {
+ EXPECT_TRUE(IsStringUTF8(hardware_info->model));
+ bool empty_result_expected =
+ #if defined(OS_ANDROID) || defined(OS_APPLE) || defined(OS_WIN) || \
+- defined(OS_LINUX) || defined(OS_CHROMEOS)
++ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ false;
+ #else
+ true;
diff --git a/devel/electron11/files/patch-base_task_thread__pool_environment__config__unittest.cc b/devel/electron12/files/patch-base_task_thread__pool_environment__config__unittest.cc
index e39f28a82636..e39f28a82636 100644
--- a/devel/electron11/files/patch-base_task_thread__pool_environment__config__unittest.cc
+++ b/devel/electron12/files/patch-base_task_thread__pool_environment__config__unittest.cc
diff --git a/devel/electron12/files/patch-base_test_BUILD.gn b/devel/electron12/files/patch-base_test_BUILD.gn
new file mode 100644
index 000000000000..1920bef8ef2e
--- /dev/null
+++ b/devel/electron12/files/patch-base_test_BUILD.gn
@@ -0,0 +1,15 @@
+--- base/test/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ base/test/BUILD.gn
+@@ -428,7 +428,11 @@ if (is_linux || is_chromeos) {
+
+ copy("fonts_conf") {
+ sources = [ "fonts.conf" ]
+- outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ]
++ if (is_bsd) {
++ outputs = [ "${root_build_dir}/usr/local/etc/fonts/{{source_file_part}}" ]
++ } else {
++ outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ]
++ }
+ }
+
+ if (current_toolchain == host_toolchain) {
diff --git a/devel/electron12/files/patch-base_test_launcher_test__launcher.cc b/devel/electron12/files/patch-base_test_launcher_test__launcher.cc
new file mode 100644
index 000000000000..bc657bd9ad20
--- /dev/null
+++ b/devel/electron12/files/patch-base_test_launcher_test__launcher.cc
@@ -0,0 +1,28 @@
+--- base/test/launcher/test_launcher.cc.orig 2021-04-14 01:08:36 UTC
++++ base/test/launcher/test_launcher.cc
+@@ -58,6 +58,7 @@
+ #include "testing/gtest/include/gtest/gtest.h"
+
+ #if defined(OS_POSIX)
++#include <signal.h>
+ #include <fcntl.h>
+
+ #include "base/files/file_descriptor_watcher_posix.h"
+@@ -599,7 +600,7 @@ ChildProcessResults DoLaunchChildTestProcess(
+ #if !defined(OS_FUCHSIA)
+ options.new_process_group = true;
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ options.kill_on_parent_death = true;
+ #endif
+
+@@ -1516,7 +1517,7 @@ bool TestLauncher::Init(CommandLine* command_line) {
+ results_tracker_.AddGlobalTag("OS_IOS");
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ results_tracker_.AddGlobalTag("OS_LINUX");
+ #endif
+
diff --git a/devel/electron11/files/patch-base_test_test__file__util__posix.cc b/devel/electron12/files/patch-base_test_test__file__util__posix.cc
index 95555a9ba8bb..95555a9ba8bb 100644
--- a/devel/electron11/files/patch-base_test_test__file__util__posix.cc
+++ b/devel/electron12/files/patch-base_test_test__file__util__posix.cc
diff --git a/devel/electron11/files/patch-base_test_test__suite.cc b/devel/electron12/files/patch-base_test_test__suite.cc
index 9661eae22f10..9661eae22f10 100644
--- a/devel/electron11/files/patch-base_test_test__suite.cc
+++ b/devel/electron12/files/patch-base_test_test__suite.cc
diff --git a/devel/electron11/files/patch-base_third__party_libevent_BUILD.gn b/devel/electron12/files/patch-base_third__party_libevent_BUILD.gn
index 54a799039c66..54a799039c66 100644
--- a/devel/electron11/files/patch-base_third__party_libevent_BUILD.gn
+++ b/devel/electron12/files/patch-base_third__party_libevent_BUILD.gn
diff --git a/devel/electron12/files/patch-base_threading_platform__thread.h b/devel/electron12/files/patch-base_threading_platform__thread.h
new file mode 100644
index 000000000000..2abef05beb90
--- /dev/null
+++ b/devel/electron12/files/patch-base_threading_platform__thread.h
@@ -0,0 +1,11 @@
+--- base/threading/platform_thread.h.orig 2021-04-14 01:08:36 UTC
++++ base/threading/platform_thread.h
+@@ -231,7 +231,7 @@ class BASE_EXPORT PlatformThread {
+ // Returns a realtime period provided by |delegate|.
+ static TimeDelta GetRealtimePeriod(Delegate* delegate);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Toggles a specific thread's priority at runtime. This can be used to
+ // change the priority of a thread in a different process and will fail
+ // if the calling process does not have proper permissions. The
diff --git a/devel/electron11/files/patch-base_threading_platform__thread__internal__posix.h b/devel/electron12/files/patch-base_threading_platform__thread__internal__posix.h
index 31bcbe8dbdcd..31bcbe8dbdcd 100644
--- a/devel/electron11/files/patch-base_threading_platform__thread__internal__posix.h
+++ b/devel/electron12/files/patch-base_threading_platform__thread__internal__posix.h
diff --git a/devel/electron12/files/patch-base_threading_platform__thread__linux.cc b/devel/electron12/files/patch-base_threading_platform__thread__linux.cc
new file mode 100644
index 000000000000..4fabfe1ef524
--- /dev/null
+++ b/devel/electron12/files/patch-base_threading_platform__thread__linux.cc
@@ -0,0 +1,30 @@
+--- base/threading/platform_thread_linux.cc.orig 2021-04-14 01:08:36 UTC
++++ base/threading/platform_thread_linux.cc
+@@ -27,7 +27,9 @@
+
+ #if !defined(OS_NACL) && !defined(OS_AIX)
+ #include <pthread.h>
++#if !defined(OS_BSD)
+ #include <sys/prctl.h>
++#endif
+ #include <sys/resource.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+@@ -298,7 +300,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN
+
+ Optional<bool> CanIncreaseCurrentThreadPriorityForPlatform(
+ ThreadPriority priority) {
+-#if !defined(OS_NACL)
++#if !defined(OS_NACL) && !defined(OS_BSD)
+ // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke
+ // pthread_setschedparam in SetCurrentThreadPriorityForPlatform().
+ struct rlimit rlim;
+@@ -348,7 +350,7 @@ Optional<ThreadPriority> GetCurrentThreadPriorityForPl
+ void PlatformThread::SetName(const std::string& name) {
+ ThreadIdNameManager::GetInstance()->SetName(name);
+
+-#if !defined(OS_NACL) && !defined(OS_AIX)
++#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD)
+ // On linux we can get the thread names to show up in the debugger by setting
+ // the process name for the LWP. We don't want to do this for the main
+ // thread because that would rename the process, causing tools like killall
diff --git a/devel/electron12/files/patch-base_threading_platform__thread__posix.cc b/devel/electron12/files/patch-base_threading_platform__thread__posix.cc
new file mode 100644
index 000000000000..389af94bf559
--- /dev/null
+++ b/devel/electron12/files/patch-base_threading_platform__thread__posix.cc
@@ -0,0 +1,54 @@
+--- base/threading/platform_thread_posix.cc.orig 2021-04-14 01:08:36 UTC
++++ base/threading/platform_thread_posix.cc
+@@ -32,6 +32,10 @@
+ #include <sys/syscall.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <pthread_np.h>
++#endif
++
+ #if defined(OS_FUCHSIA)
+ #include <zircon/process.h>
+ #else
+@@ -141,7 +145,7 @@ bool CreateThread(size_t stack_size,
+ return success;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // Store the thread ids in local storage since calling the SWI can be
+ // expensive and PlatformThread::CurrentId is used liberally. Clear
+@@ -159,11 +163,11 @@ class InitAtFork {
+ InitAtFork() { pthread_atfork(nullptr, nullptr, internal::ClearTidCache); }
+ };
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ } // namespace
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ namespace internal {
+
+@@ -173,7 +177,7 @@ void ClearTidCache() {
+
+ } // namespace internal
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // static
+ PlatformThreadId PlatformThread::CurrentId() {
+@@ -181,6 +185,8 @@ PlatformThreadId PlatformThread::CurrentId() {
+ // into the kernel.
+ #if defined(OS_APPLE)
+ return pthread_mach_thread_np(pthread_self());
++#elif defined(OS_BSD)
++ return pthread_getthreadid_np();
+ #elif defined(OS_LINUX) || defined(OS_CHROMEOS)
+ static NoDestructor<InitAtFork> init_at_fork;
+ if (g_thread_id == -1) {
diff --git a/devel/electron12/files/patch-base_threading_platform__thread__unittest.cc b/devel/electron12/files/patch-base_threading_platform__thread__unittest.cc
new file mode 100644
index 000000000000..810508a99f3e
--- /dev/null
+++ b/devel/electron12/files/patch-base_threading_platform__thread__unittest.cc
@@ -0,0 +1,24 @@
+--- base/threading/platform_thread_unittest.cc.orig 2021-04-14 01:08:36 UTC
++++ base/threading/platform_thread_unittest.cc
+@@ -312,7 +312,7 @@ TEST(PlatformThreadTest,
+ // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this
+ // proprerty changes for a given platform.
+ TEST(PlatformThreadTest, CanIncreaseThreadPriority) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be
+ // able to increase priority to any level.
+ constexpr bool kCanIncreasePriority = false;
+@@ -406,9 +406,9 @@ TEST(PlatformThreadTest, SetHugeThreadName) {
+
+ TEST(PlatformThreadTest, GetDefaultThreadStackSize) {
+ size_t stack_size = PlatformThread::GetDefaultThreadStackSize();
+-#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
+- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
+- !defined(THREAD_SANITIZER)) || \
++#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \
++ ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
++ !defined(THREAD_SANITIZER)) || \
+ (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER))
+ EXPECT_EQ(0u, stack_size);
+ #else
diff --git a/devel/electron11/files/patch-base_threading_scoped__blocking__call__unittest.cc b/devel/electron12/files/patch-base_threading_scoped__blocking__call__unittest.cc
index c3b7941fecd0..c3b7941fecd0 100644
--- a/devel/electron11/files/patch-base_threading_scoped__blocking__call__unittest.cc
+++ b/devel/electron12/files/patch-base_threading_scoped__blocking__call__unittest.cc
diff --git a/devel/electron11/files/patch-base_threading_thread__local__storage__unittest.cc b/devel/electron12/files/patch-base_threading_thread__local__storage__unittest.cc
index 4be9426fa922..4be9426fa922 100644
--- a/devel/electron11/files/patch-base_threading_thread__local__storage__unittest.cc
+++ b/devel/electron12/files/patch-base_threading_thread__local__storage__unittest.cc
diff --git a/devel/electron12/files/patch-base_threading_thread__task__runner__handle.cc b/devel/electron12/files/patch-base_threading_thread__task__runner__handle.cc
new file mode 100644
index 000000000000..f5574c75fdbb
--- /dev/null
+++ b/devel/electron12/files/patch-base_threading_thread__task__runner__handle.cc
@@ -0,0 +1,26 @@
+--- base/threading/thread_task_runner_handle.cc.orig 2021-04-14 01:08:36 UTC
++++ base/threading/thread_task_runner_handle.cc
+@@ -8,6 +8,7 @@
+ #include <utility>
+
+ #include "base/bind.h"
++#include "base/callback_helpers.h"
+ #include "base/check_op.h"
+ #include "base/lazy_instance.h"
+ #include "base/run_loop.h"
+@@ -33,6 +34,7 @@ const scoped_refptr<SingleThreadTaskRunner>& ThreadTas
+ return current->task_runner_;
+ }
+
++#if defined(OS_BSD)
+ // static
+ bool ThreadTaskRunnerHandle::IsSet() {
+ return !!thread_task_runner_tls.Pointer()->Get();
+@@ -80,6 +82,7 @@ ThreadTaskRunnerHandleOverride::ThreadTaskRunnerHandle
+ if (!allow_nested_runloop)
+ no_running_during_override_.emplace();
+ }
++#endif
+
+ ThreadTaskRunnerHandleOverride::~ThreadTaskRunnerHandleOverride() {
+ if (task_runner_to_restore_) {
diff --git a/devel/electron11/files/patch-base_time_time__unittest.cc b/devel/electron12/files/patch-base_time_time__unittest.cc
index c5398d3d66eb..c5398d3d66eb 100644
--- a/devel/electron11/files/patch-base_time_time__unittest.cc
+++ b/devel/electron12/files/patch-base_time_time__unittest.cc
diff --git a/devel/electron12/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc b/devel/electron12/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc
new file mode 100644
index 000000000000..fe431e31b844
--- /dev/null
+++ b/devel/electron12/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc
@@ -0,0 +1,38 @@
+--- base/trace_event/heap_profiler_allocation_context_tracker.cc.orig 2021-04-14 01:08:36 UTC
++++ base/trace_event/heap_profiler_allocation_context_tracker.cc
+@@ -30,6 +30,10 @@
+ #include <sys/prctl.h>
+ #endif
+
++#if defined(OS_BSD)
++#include <pthread_np.h>
++#endif
++
+ namespace base {
+ namespace trace_event {
+
+@@ -61,13 +65,23 @@ ThreadLocalStorage::Slot& AllocationContextTrackerTLS(
+ // with id. This function intentionally leaks the allocated strings since they
+ // are used to tag allocations even after the thread dies.
+ const char* GetAndLeakThreadName() {
+- char name[16];
++#if defined(OS_BSD)
++ constexpr size_t kBufferLen = 64;
++#else
++ constexpr size_t kBufferLen = 16;
++#endif
++ char name[kBufferLen];
+ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
+ // If the thread name is not set, try to get it from prctl. Thread name might
+ // not be set in cases where the thread started before heap profiling was
+ // enabled.
+ int err = prctl(PR_GET_NAME, name);
+ if (!err) {
++ return strdup(name);
++ }
++#elif defined(OS_BSD) && __FreeBSD__ >= 12
++ pthread_get_name_np(pthread_self(), name, kBufferLen);
++ if (*name != '\0') {
+ return strdup(name);
+ }
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-base_trace__event_malloc__dump__provider.cc b/devel/electron12/files/patch-base_trace__event_malloc__dump__provider.cc
new file mode 100644
index 000000000000..f9d03701537b
--- /dev/null
+++ b/devel/electron12/files/patch-base_trace__event_malloc__dump__provider.cc
@@ -0,0 +1,21 @@
+--- base/trace_event/malloc_dump_provider.cc.orig 2021-04-14 01:08:36 UTC
++++ base/trace_event/malloc_dump_provider.cc
+@@ -17,6 +17,8 @@
+
+ #if defined(OS_APPLE)
+ #include <malloc/malloc.h>
++#elif defined(OS_BSD)
++#include <stdlib.h>
+ #else
+ #include <malloc.h>
+ #endif
+@@ -184,6 +186,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump
+ }
+ #elif defined(OS_FUCHSIA)
+ // TODO(fuchsia): Port, see https://crbug.com/706592.
++#elif defined(OS_BSD)
++ total_virtual_size = 0;
++ allocated_objects_size = 0;
+ #else
+ struct mallinfo info = mallinfo();
+ // In case of Android's jemalloc |arena| is 0 and the outer pages size is
diff --git a/devel/electron12/files/patch-base_trace__event_process__memory__dump.cc b/devel/electron12/files/patch-base_trace__event_process__memory__dump.cc
new file mode 100644
index 000000000000..d97249c00d0c
--- /dev/null
+++ b/devel/electron12/files/patch-base_trace__event_process__memory__dump.cc
@@ -0,0 +1,11 @@
+--- base/trace_event/process_memory_dump.cc.orig 2021-04-14 01:08:36 UTC
++++ base/trace_event/process_memory_dump.cc
+@@ -101,7 +101,7 @@ base::Optional<size_t> ProcessMemoryDump::CountResiden
+ #if defined(OS_WIN)
+ std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec(
+ new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]);
+-#elif defined(OS_APPLE)
++#elif defined(OS_APPLE) || defined(OS_BSD)
+ std::unique_ptr<char[]> vec(new char[max_vec_size]);
+ #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
+ std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]);
diff --git a/devel/electron12/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc b/devel/electron12/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc
new file mode 100644
index 000000000000..a1338b96ee01
--- /dev/null
+++ b/devel/electron12/files/patch-base_util_memory__pressure_system__memory__pressure__evaluator.cc
@@ -0,0 +1,20 @@
+--- base/util/memory_pressure/system_memory_pressure_evaluator.cc.orig 2021-04-14 01:08:36 UTC
++++ base/util/memory_pressure/system_memory_pressure_evaluator.cc
+@@ -17,7 +17,7 @@
+ #include "base/win/windows_version.h"
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "base/util/memory_pressure/system_memory_pressure_evaluator_linux.h"
+ #endif
+
+@@ -50,7 +50,7 @@ SystemMemoryPressureEvaluator::CreateDefaultSystemEval
+ return evaluator;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return std::make_unique<util::os_linux::SystemMemoryPressureEvaluator>(
+ monitor->CreateVoter());
+ #endif
diff --git a/devel/electron12/files/patch-build_config_BUILD.gn b/devel/electron12/files/patch-build_config_BUILD.gn
new file mode 100644
index 000000000000..a92651209ad9
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_BUILD.gn
@@ -0,0 +1,21 @@
+--- build/config/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ build/config/BUILD.gn
+@@ -232,9 +232,7 @@ config("default_libs") {
+ ]
+ } else if (is_linux || is_chromeos) {
+ libs = [
+- "dl",
+ "pthread",
+- "rt",
+ ]
+ }
+ }
+@@ -313,7 +311,7 @@ config("executable_config") {
+ "//build/config/ios:ios_dynamic_flags",
+ "//build/config/ios:ios_executable_flags",
+ ]
+- } else if (is_linux || is_chromeos || is_android || current_os == "aix") {
++ } else if (is_linux || is_bsd || is_chromeos || is_android || current_os == "aix") {
+ configs += [ "//build/config/gcc:executable_config" ]
+ if (is_chromecast) {
+ configs += [ "//build/config/chromecast:executable_config" ]
diff --git a/devel/electron12/files/patch-build_config_BUILDCONFIG.gn b/devel/electron12/files/patch-build_config_BUILDCONFIG.gn
new file mode 100644
index 000000000000..f24342bf7560
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_BUILDCONFIG.gn
@@ -0,0 +1,35 @@
+--- build/config/BUILDCONFIG.gn.orig 2021-04-22 07:51:50 UTC
++++ build/config/BUILDCONFIG.gn
+@@ -197,8 +197,8 @@ if (host_toolchain == "") {
+ # TODO(dpranke): Add some sort of assert here that verifies that
+ # no toolchain omitted host_toolchain from its toolchain_args().
+
+- if (host_os == "linux") {
+- if (target_os != "linux") {
++ if (host_os == "linux" || host_os == "freebsd") {
++ if (target_os != "linux" && target_os != "freebsd") {
+ host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
+ } else if (is_clang) {
+ host_toolchain = "//build/toolchain/linux:clang_$host_cpu"
+@@ -235,7 +235,7 @@ if (target_os == "android") {
+ assert(host_os == "linux" || host_os == "mac",
+ "Android builds are only supported on Linux and Mac hosts.")
+ _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu"
+-} else if (target_os == "chromeos" || target_os == "linux") {
++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") {
+ # See comments in build/toolchain/cros/BUILD.gn about board compiles.
+ if (is_clang) {
+ _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
+@@ -296,10 +296,11 @@ if (custom_toolchain != "") {
+ # current_os value directly.
+
+ is_android = current_os == "android"
++is_bsd = current_os == "freebsd"
+ is_chromeos = current_os == "chromeos"
+ is_fuchsia = current_os == "fuchsia"
+ is_ios = current_os == "ios"
+-is_linux = current_os == "linux"
++is_linux = current_os == "linux" || current_os == "freebsd"
+ is_mac = current_os == "mac"
+ is_nacl = current_os == "nacl"
+ is_win = current_os == "win" || current_os == "winuwp"
diff --git a/devel/electron12/files/patch-build_config_compiler_BUILD.gn b/devel/electron12/files/patch-build_config_compiler_BUILD.gn
new file mode 100644
index 000000000000..25be6e11f409
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_compiler_BUILD.gn
@@ -0,0 +1,120 @@
+--- build/config/compiler/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ build/config/compiler/BUILD.gn
+@@ -132,7 +132,7 @@ declare_args() {
+ #
+ # TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may
+ # call an old clang that doesn't support auto-init.
+- init_stack_vars = !is_android && !use_xcode_clang
++ init_stack_vars = !is_android && !use_xcode_clang && !is_bsd
+
+ # This argument is to control whether enabling text section splitting in the
+ # final binary. When enabled, the separated text sections with prefix
+@@ -316,7 +316,7 @@ config("compiler") {
+ }
+
+ # Linker warnings.
+- if (fatal_linker_warnings && !is_apple && current_os != "aix") {
++ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") {
+ ldflags += [ "-Wl,--fatal-warnings" ]
+ }
+ if (fatal_linker_warnings && is_apple) {
+@@ -411,7 +411,7 @@ config("compiler") {
+
+ # Compiler instrumentation can introduce dependencies in DSOs to symbols in
+ # the executable they are loaded into, so they are unresolved at link-time.
+- if (!using_sanitizer) {
++ if (!using_sanitizer && !is_bsd) {
+ ldflags += [
+ "-Wl,-z,defs",
+ "-Wl,--as-needed",
+@@ -501,7 +501,7 @@ config("compiler") {
+ ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
+ }
+
+- if (is_clang && !is_nacl && !use_xcode_clang) {
++ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
+ cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
+
+ cflags += [
+@@ -796,7 +796,7 @@ config("compiler_cpu_abi") {
+ cflags += [ "-mtune=$arm_tune" ]
+ }
+ } else if (current_cpu == "arm64") {
+- if (is_clang && !is_android && !is_nacl && !is_fuchsia) {
++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) {
+ cflags += [ "--target=aarch64-linux-gnu" ]
+ ldflags += [ "--target=aarch64-linux-gnu" ]
+ }
+@@ -1146,7 +1146,7 @@ config("compiler_deterministic") {
+ "-Xclang",
+ ".",
+ ]
+- if (!is_win) {
++ if (!is_win && !is_bsd) {
+ # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
+ asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
+ }
+@@ -1529,7 +1529,7 @@ config("default_warnings") {
+ cflags += [ "-Wno-nonportable-include-path" ]
+ }
+
+- if (current_toolchain == host_toolchain || !use_xcode_clang) {
++ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
+ # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not
+ # recognize.
+ cflags += [
+@@ -1570,6 +1570,18 @@ config("default_warnings") {
+ cflags += [ "-Wno-max-tokens" ]
+ }
+ }
++
++ if (is_clang && is_bsd) {
++ cflags += [
++ "-Wno-ignored-pragma-optimize",
++ "-Wno-implicit-int-float-conversion",
++ "-Wno-final-dtor-non-final-class",
++ "-Wno-builtin-assume-aligned-alignment",
++ "-Wno-deprecated-copy",
++ "-Wno-thread-safety-analysis",
++ "-Wno-thread-safety-attributes",
++ ]
++ }
+ }
+ }
+ }
+@@ -1699,7 +1711,7 @@ config("no_chromium_code") {
+ # suppressing them individually, we just blanket suppress them here.
+ "-Wno-unused-variable",
+ ]
+- if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) {
++ if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) {
+ cflags += [
+ # TODO(https://crbug.com/1031169): Clean up and enable.
+ "-Wno-misleading-indentation",
+@@ -1777,7 +1789,7 @@ config("export_dynamic") {
+ config("thin_archive") {
+ # The macOS and iOS default linker ld64 does not support reading thin
+ # archives.
+- if ((is_posix && !is_nacl && (!is_apple || use_lld)) || is_fuchsia) {
++ if ((is_posix && !is_nacl && (!is_apple || use_lld) && !is_bsd) || is_fuchsia) {
+ arflags = [ "-T" ]
+ } else if (is_win && use_lld) {
+ arflags = [ "/llvmlibthin" ]
+@@ -2318,7 +2330,7 @@ config("symbols") {
+ # flag, so we can use use -g1 for pnacl and nacl-clang compiles.
+ # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang.
+ if (!is_nacl || is_clang) {
+- cflags += [ "-g2" ]
++ cflags += [ "-g0" ]
+ }
+
+ # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
+@@ -2350,7 +2362,7 @@ config("symbols") {
+ # DWARF info may be corrupt; offsets in a range list entry are in different
+ # sections" there. Maybe just a bug in nacl_switch_32.S.
+ if (!is_apple && !is_nacl && current_cpu != "x86" &&
+- (use_gold || use_lld)) {
++ (use_gold || use_lld) && !is_bsd) {
+ if (is_clang) {
+ # This flag enables the GNU-format pubnames and pubtypes sections,
+ # which lld needs in order to generate a correct GDB index.
diff --git a/devel/electron12/files/patch-build_config_compiler_compiler.gni b/devel/electron12/files/patch-build_config_compiler_compiler.gni
new file mode 100644
index 000000000000..4cee40235353
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_compiler_compiler.gni
@@ -0,0 +1,11 @@
+--- build/config/compiler/compiler.gni.orig 2021-04-14 01:08:36 UTC
++++ build/config/compiler/compiler.gni
+@@ -201,7 +201,7 @@ declare_args() {
+
+ declare_args() {
+ # Whether to use the gold linker from binutils instead of lld or bfd.
+- use_gold = !use_lld && !(is_chromecast && is_linux &&
++ use_gold = !is_bsd && !use_lld && !(is_chromecast && is_linux &&
+ (current_cpu == "arm" || current_cpu == "mipsel")) &&
+ (((is_linux || is_chromeos_lacros) &&
+ (current_cpu == "x64" || current_cpu == "x86" ||
diff --git a/devel/electron12/files/patch-build_config_compiler_pgo_pgo.gni b/devel/electron12/files/patch-build_config_compiler_pgo_pgo.gni
new file mode 100644
index 000000000000..02c05d65664d
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_compiler_pgo_pgo.gni
@@ -0,0 +1,11 @@
+--- build/config/compiler/pgo/pgo.gni.orig 2021-04-14 01:08:36 UTC
++++ build/config/compiler/pgo/pgo.gni
+@@ -16,7 +16,7 @@ declare_args() {
+ # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once
+ # target_os switch for lacros-chrome is completed.
+ (is_win || is_mac ||
+- (is_linux && !chromeos_is_browser_only && !is_chromecast))) {
++ (is_linux && !chromeos_is_browser_only && !is_chromecast && !is_bsd))) {
+ chrome_pgo_phase = 2
+ }
+
diff --git a/devel/electron11/files/patch-build_config_features.gni b/devel/electron12/files/patch-build_config_features.gni
index b898e2f84de4..b898e2f84de4 100644
--- a/devel/electron11/files/patch-build_config_features.gni
+++ b/devel/electron12/files/patch-build_config_features.gni
diff --git a/devel/electron12/files/patch-build_config_freetype_freetype.gni b/devel/electron12/files/patch-build_config_freetype_freetype.gni
new file mode 100644
index 000000000000..dfe82143481f
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_freetype_freetype.gni
@@ -0,0 +1,9 @@
+--- build/config/freetype/freetype.gni.orig 2021-04-14 01:08:36 UTC
++++ build/config/freetype/freetype.gni
+@@ -10,5 +10,5 @@ declare_args() {
+ # than version 2.7.1 and have color bitmap support compiled in. WARNING:
+ # System FreeType configurations other than as described WILL INTRODUCE TEXT
+ # RENDERING AND SECURITY REGRESSIONS.
+- use_system_freetype = false
++ use_system_freetype = true
+ }
diff --git a/devel/electron12/files/patch-build_config_linux_BUILD.gn b/devel/electron12/files/patch-build_config_linux_BUILD.gn
new file mode 100644
index 000000000000..5a6f4a1a4fb3
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_linux_BUILD.gn
@@ -0,0 +1,11 @@
+--- build/config/linux/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ build/config/linux/BUILD.gn
+@@ -32,7 +32,7 @@ config("runtime_library") {
+
+ if ((!(is_chromeos_ash || is_chromeos_lacros) ||
+ default_toolchain != "//build/toolchain/cros:target") &&
+- (!use_custom_libcxx || current_cpu == "mipsel")) {
++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
+ libs = [ "atomic" ]
+ }
+ }
diff --git a/devel/electron11/files/patch-build_config_linux_pkg-config.py b/devel/electron12/files/patch-build_config_linux_pkg-config.py
index 915819b16e80..915819b16e80 100644
--- a/devel/electron11/files/patch-build_config_linux_pkg-config.py
+++ b/devel/electron12/files/patch-build_config_linux_pkg-config.py
diff --git a/devel/electron12/files/patch-build_config_ozone.gni b/devel/electron12/files/patch-build_config_ozone.gni
new file mode 100644
index 000000000000..af79c5cea132
--- /dev/null
+++ b/devel/electron12/files/patch-build_config_ozone.gni
@@ -0,0 +1,12 @@
+--- build/config/ozone.gni.orig 2021-04-14 01:08:36 UTC
++++ build/config/ozone.gni
+@@ -70,6 +70,9 @@ declare_args() {
+ ozone_platform = "x11"
+ ozone_platform_drm = true
+ ozone_platform_x11 = true
++ } else if (is_bsd) {
++ ozone_platform = "x11"
++ ozone_platform_x11 = true
+ } else if (is_linux || is_chromeos_lacros) {
+ ozone_platform = "x11"
+ ozone_platform_wayland = true
diff --git a/devel/electron11/files/patch-build_config_sysroot.gni b/devel/electron12/files/patch-build_config_sysroot.gni
index 00774f40b563..00774f40b563 100644
--- a/devel/electron11/files/patch-build_config_sysroot.gni
+++ b/devel/electron12/files/patch-build_config_sysroot.gni
diff --git a/devel/electron11/files/patch-build_detect__host__arch.py b/devel/electron12/files/patch-build_detect__host__arch.py
index d09ac4de3025..d09ac4de3025 100644
--- a/devel/electron11/files/patch-build_detect__host__arch.py
+++ b/devel/electron12/files/patch-build_detect__host__arch.py
diff --git a/devel/electron11/files/patch-build_gn__run__binary.py b/devel/electron12/files/patch-build_gn__run__binary.py
index 9e8ff32f9735..9e8ff32f9735 100644
--- a/devel/electron11/files/patch-build_gn__run__binary.py
+++ b/devel/electron12/files/patch-build_gn__run__binary.py
diff --git a/devel/electron12/files/patch-build_linux_chrome.map b/devel/electron12/files/patch-build_linux_chrome.map
new file mode 100644
index 000000000000..8ee5a41f77dd
--- /dev/null
+++ b/devel/electron12/files/patch-build_linux_chrome.map
@@ -0,0 +1,29 @@
+--- build/linux/chrome.map.orig 2021-04-14 01:08:36 UTC
++++ build/linux/chrome.map
+@@ -1,4 +1,7 @@
+ {
++local:
++ *;
++
+ global:
+ __bss_start;
+ __data_start;
+@@ -20,6 +23,10 @@ global:
+ # Program entry point.
+ _start;
+
++ # FreeBSD specific variables.
++ __progname;
++ environ;
++
+ # Memory allocation symbols. We want chrome and any libraries to
+ # share the same heap, so it is correct to export these symbols.
+ calloc;
+@@ -83,7 +90,4 @@ global:
+ localtime_r;
+
+ v8dbg_*;
+-
+-local:
+- *;
+ };
diff --git a/devel/electron11/files/patch-build_linux_libpci_BUILD.gn b/devel/electron12/files/patch-build_linux_libpci_BUILD.gn
index 282c79c699c3..282c79c699c3 100644
--- a/devel/electron11/files/patch-build_linux_libpci_BUILD.gn
+++ b/devel/electron12/files/patch-build_linux_libpci_BUILD.gn
diff --git a/devel/electron11/files/patch-build_linux_unbundle_libusb.gn b/devel/electron12/files/patch-build_linux_unbundle_libusb.gn
index 500e6b423ce6..500e6b423ce6 100644
--- a/devel/electron11/files/patch-build_linux_unbundle_libusb.gn
+++ b/devel/electron12/files/patch-build_linux_unbundle_libusb.gn
diff --git a/devel/electron11/files/patch-build_linux_unbundle_replace__gn__files.py b/devel/electron12/files/patch-build_linux_unbundle_replace__gn__files.py
index 87bbc422bcc2..87bbc422bcc2 100644
--- a/devel/electron11/files/patch-build_linux_unbundle_replace__gn__files.py
+++ b/devel/electron12/files/patch-build_linux_unbundle_replace__gn__files.py
diff --git a/devel/electron12/files/patch-build_toolchain_gcc__toolchain.gni b/devel/electron12/files/patch-build_toolchain_gcc__toolchain.gni
new file mode 100644
index 000000000000..a5c29350ccce
--- /dev/null
+++ b/devel/electron12/files/patch-build_toolchain_gcc__toolchain.gni
@@ -0,0 +1,45 @@
+--- build/toolchain/gcc_toolchain.gni.orig 2021-04-14 01:08:36 UTC
++++ build/toolchain/gcc_toolchain.gni
+@@ -51,6 +51,11 @@ if (enable_resource_allowlist_generation) {
+ "enable_resource_allowlist_generation=true does not work for target_os=$target_os")
+ }
+
++declare_args() {
++ extra_cxxflags = ""
++ extra_ldflags = ""
++}
++
+ # This template defines a toolchain for something that works like gcc
+ # (including clang).
+ #
+@@ -639,13 +644,23 @@ template("clang_toolchain") {
+ }
+
+ gcc_toolchain(target_name) {
+- prefix = rebase_path("$clang_base_path/bin", root_build_dir)
+- cc = "$prefix/clang"
+- cxx = "$prefix/clang++"
+- ld = cxx
+- readelf = "${toolprefix}readelf"
+- ar = "${prefix}/llvm-ar"
+- nm = "${toolprefix}nm"
++ if (is_bsd) {
++ prefix = "/usr/local/bin"
++ cc = "cc"
++ cxx = "c++"
++ ld = cxx
++ readelf = "readelf"
++ ar = "${prefix}/ar"
++ nm = "${toolprefix}nm"
++ } else {
++ prefix = rebase_path("$clang_base_path/bin", root_build_dir)
++ cc = "$prefix/clang"
++ cxx = "$prefix/clang++"
++ ld = cxx
++ readelf = "${toolprefix}readelf"
++ ar = "${prefix}/llvm-ar"
++ nm = "${toolprefix}nm"
++ }
+
+ forward_variables_from(invoker,
+ [
diff --git a/devel/electron11/files/patch-build_toolchain_get__concurrent__links.py b/devel/electron12/files/patch-build_toolchain_get__concurrent__links.py
index d1dd9c91ecae..d1dd9c91ecae 100644
--- a/devel/electron11/files/patch-build_toolchain_get__concurrent__links.py
+++ b/devel/electron12/files/patch-build_toolchain_get__concurrent__links.py
diff --git a/devel/electron12/files/patch-build_toolchain_linux_BUILD.gn b/devel/electron12/files/patch-build_toolchain_linux_BUILD.gn
new file mode 100644
index 000000000000..92ab2d558115
--- /dev/null
+++ b/devel/electron12/files/patch-build_toolchain_linux_BUILD.gn
@@ -0,0 +1,10 @@
+--- build/toolchain/linux/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ build/toolchain/linux/BUILD.gn
+@@ -23,7 +23,6 @@ clang_toolchain("clang_arm") {
+ }
+
+ clang_toolchain("clang_arm64") {
+- toolprefix = "aarch64-linux-gnu-"
+ toolchain_args = {
+ current_cpu = "arm64"
+ current_os = "linux"
diff --git a/devel/electron12/files/patch-cc_BUILD.gn b/devel/electron12/files/patch-cc_BUILD.gn
new file mode 100644
index 000000000000..2d22a88b522f
--- /dev/null
+++ b/devel/electron12/files/patch-cc_BUILD.gn
@@ -0,0 +1,19 @@
+--- cc/BUILD.gn.orig 2021-04-14 01:08:36 UTC
++++ cc/BUILD.gn
+@@ -633,7 +633,7 @@ cc_test_static_library("test_support") {
+ if (enable_vulkan) {
+ deps += [ "//gpu/vulkan/init" ]
+ }
+- if (!is_android) {
++ if (!is_android && !is_bsd) {
+ data_deps = [ "//third_party/mesa_headers" ]
+ }
+ }
+@@ -848,7 +848,6 @@ cc_test("cc_unittests") {
+ ]
+ data_deps = [
+ "//testing/buildbot/filters:cc_unittests_filters",
+- "//third_party/mesa_headers",
+ ]
+
+ if (is_fuchsia) {
diff --git a/devel/electron11/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/devel/electron12/files/patch-cc_layers_scrollbar__layer__impl__base.cc
index 12c2fe002f0d..12c2fe002f0d 100644
--- a/devel/electron11/files/patch-cc_layers_scrollbar__layer__impl__base.cc
+++ b/devel/electron12/files/patch-cc_layers_scrollbar__layer__impl__base.cc
diff --git a/devel/electron12/files/patch-cc_test_layer__tree__test.cc b/devel/electron12/files/patch-cc_test_layer__tree__test.cc
new file mode 100644
index 000000000000..b7a4f77a5394
--- /dev/null
+++ b/devel/electron12/files/patch-cc_test_layer__tree__test.cc
@@ -0,0 +1,11 @@
+--- cc/test/layer_tree_test.cc.orig 2021-04-14 01:08:36 UTC
++++ cc/test/layer_tree_test.cc
+@@ -673,7 +673,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere
+ init_vulkan = true;
+ } else if (renderer_type_ == viz::RendererType::kSkiaDawn) {
+ scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ init_vulkan = true;
+ #elif defined(OS_WIN)
+ // TODO(sgilhuly): Initialize D3D12 for Windows.
diff --git a/devel/electron11/files/patch-cc_test_pixel__test.cc b/devel/electron12/files/patch-cc_test_pixel__test.cc
index 27cb56cc35d8..27cb56cc35d8 100644
--- a/devel/electron11/files/patch-cc_test_pixel__test.cc
+++ b/devel/electron12/files/patch-cc_test_pixel__test.cc
diff --git a/devel/electron11/files/patch-cc_trees_frame__rate__estimator.cc b/devel/electron12/files/patch-cc_trees_frame__rate__estimator.cc
index 3663ce2697b0..3663ce2697b0 100644
--- a/devel/electron11/files/patch-cc_trees_frame__rate__estimator.cc
+++ b/devel/electron12/files/patch-cc_trees_frame__rate__estimator.cc
diff --git a/devel/electron12/files/patch-cc_trees_property__tree.cc b/devel/electron12/files/patch-cc_trees_property__tree.cc
new file mode 100644
index 000000000000..e6999df18a5d
--- /dev/null
+++ b/devel/electron12/files/patch-cc_trees_property__tree.cc
@@ -0,0 +1,20 @@
+--- cc/trees/property_tree.cc.orig 2021-04-14 01:08:36 UTC
++++ cc/trees/property_tree.cc
+@@ -1300,13 +1300,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollOffset(int scro
+
+ gfx::Size clip_layer_bounds = container_bounds(scroll_node->id);
+
+- gfx::ScrollOffset max_offset(
++ gfx::ScrollOffset _max_offset(
+ scaled_scroll_bounds.width() - clip_layer_bounds.width(),
+ scaled_scroll_bounds.height() - clip_layer_bounds.height());
+
+- max_offset.Scale(1 / scale_factor);
+- max_offset.SetToMax(gfx::ScrollOffset());
+- return max_offset;
++ _max_offset.Scale(1 / scale_factor);
++ _max_offset.SetToMax(gfx::ScrollOffset());
++ return _max_offset;
+ }
+
+ gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const {
diff --git a/devel/electron12/files/patch-chrome_BUILD.gn b/devel/electron12/files/patch-chrome_BUILD.gn
new file mode 100644
index 000000000000..941178010d5e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_BUILD.gn
@@ -0,0 +1,13 @@
+--- chrome/BUILD.gn.orig 2021-04-22 07:51:50 UTC
++++ chrome/BUILD.gn
+@@ -1243,6 +1243,10 @@ group("browser_dependencies") {
+ public_deps += [ "//chromeos/lacros" ]
+ }
+
++ if (is_bsd) {
++ public_deps -= [ "//components/crash/core/app" ]
++ }
++
+ if (is_chromeos_ash) {
+ public_deps += [
+ "//chrome/browser/chromeos",
diff --git a/devel/electron12/files/patch-chrome_app_BUILD.gn b/devel/electron12/files/patch-chrome_app_BUILD.gn
new file mode 100644
index 000000000000..3fb040874572
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_BUILD.gn
@@ -0,0 +1,11 @@
+--- chrome/app/BUILD.gn.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/BUILD.gn
+@@ -143,7 +143,7 @@ static_library("test_support") {
+ "//v8:v8_headers",
+ ]
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
+ deps += [
+ "//components/crash/core/app",
diff --git a/devel/electron12/files/patch-chrome_app_chrome__command__ids.h b/devel/electron12/files/patch-chrome_app_chrome__command__ids.h
new file mode 100644
index 000000000000..eac24f1128d9
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_chrome__command__ids.h
@@ -0,0 +1,11 @@
+--- chrome/app/chrome_command_ids.h.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/chrome_command_ids.h
+@@ -64,7 +64,7 @@
+ #define IDC_NAME_WINDOW 34049
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #define IDC_USE_SYSTEM_TITLE_BAR 34051
+ #define IDC_RESTORE_WINDOW 34052
+ #endif
diff --git a/devel/electron12/files/patch-chrome_app_chrome__main.cc b/devel/electron12/files/patch-chrome_app_chrome__main.cc
new file mode 100644
index 000000000000..10f6484948b9
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_chrome__main.cc
@@ -0,0 +1,17 @@
+--- chrome/app/chrome_main.cc.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/chrome_main.cc
+@@ -130,12 +130,12 @@ int ChromeMain(int argc, const char** argv) {
+ MainThreadStackSamplingProfiler scoped_sampling_profiler;
+
+ // Chrome-specific process modes.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ if (command_line->HasSwitch(switches::kHeadless)) {
+ return headless::HeadlessShellMain(params);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
+ // defined(OS_WIN)
+
+ int rv = content::ContentMain(params);
diff --git a/devel/electron12/files/patch-chrome_app_chrome__main__delegate.cc b/devel/electron12/files/patch-chrome_app_chrome__main__delegate.cc
new file mode 100644
index 000000000000..dcb28308e86a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_chrome__main__delegate.cc
@@ -0,0 +1,170 @@
+--- chrome/app/chrome_main_delegate.cc.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/chrome_main_delegate.cc
+@@ -149,12 +149,12 @@
+ #include "v8/include/v8.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/environment.h"
+ #endif
+
+ #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) || \
+- defined(OS_LINUX) || defined(OS_CHROMEOS)
++ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chrome/browser/policy/policy_path_parser.h"
+ #include "components/crash/core/app/crashpad.h"
+ #endif
+@@ -260,7 +260,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce
+
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
+ void AdjustLinuxOOMScore(const std::string& process_type) {
+ int score = -1;
+
+@@ -295,7 +295,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty
+ if (score > -1)
+ base::AdjustOOMScore(base::GetCurrentProcId(), score);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS))
+
+ // Returns true if this subprocess type needs the ResourceBundle initialized
+ // and resources loaded.
+@@ -341,7 +341,7 @@ bool HandleVersionSwitches(const base::CommandLine& co
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Show the man page if --help or -h is on the command line.
+ void HandleHelpSwitches(const base::CommandLine& command_line) {
+ if (command_line.HasSwitch(switches::kHelp) ||
+@@ -351,7 +351,7 @@ void HandleHelpSwitches(const base::CommandLine& comma
+ PLOG(FATAL) << "execlp failed";
+ }
+ }
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ #if !defined(OS_MAC) && !defined(OS_ANDROID)
+ void SIGTERMProfilingShutdown(int signal) {
+@@ -405,7 +405,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+ std::string process_type =
+ command_line->GetSwitchValueASCII(switches::kProcessType);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Linux, Chrome does not support running multiple copies under different
+ // DISPLAYs, so the profile directory can be specified in the environment to
+ // support the virtual desktop use-case.
+@@ -417,7 +417,7 @@ void InitializeUserDataDir(base::CommandLine* command_
+ user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string);
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #if defined(OS_MAC)
+ policy::path_parser::CheckUserDataDirPolicy(&user_data_dir);
+ #endif // OS_MAC
+@@ -488,7 +488,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat
+ startup_metric_utils::RecordApplicationStartTime(now);
+ #endif
+
+-#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
++#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // Record the startup process creation time on supported platforms. On Android
+ // this is recorded in ChromeMainDelegateAndroid.
+@@ -723,7 +723,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+ v8_crashpad_support::SetUp();
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
+ if (!crash_reporter::IsCrashpadEnabled()) {
+ breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix);
+ }
+@@ -736,7 +736,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
+ }
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // This will directly exit if the user asked for help.
+ HandleHelpSwitches(command_line);
+ #endif
+@@ -945,7 +945,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+
+ crash_reporter::InitializeCrashKeys();
+
+-#if defined(OS_POSIX)
++#if defined(OS_POSIX) && !defined(OS_BSD)
+ ChromeCrashReporterClient::Create();
+ #endif
+
+@@ -958,7 +958,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+ child_process_logging::Init();
+ #endif
+ #if defined(ARCH_CPU_ARM_FAMILY) && \
+- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ // Create an instance of the CPU class to parse /proc/cpuinfo and cache
+ // cpu_brand info.
+ base::CPU cpu_info;
+@@ -1075,7 +1075,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+ locale;
+ }
+
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ // Zygote needs to call InitCrashReporter() in RunZygote().
+ if (process_type != switches::kZygoteProcess) {
+ #if defined(OS_ANDROID)
+@@ -1096,7 +1096,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+ }
+ #endif // defined(OS_ANDROID)
+ }
+-#endif // defined(OS_POSIX) && !defined(OS_MAC)
++#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+
+ #if defined(OS_ANDROID)
+ CHECK_EQ(base::android::GetLibraryProcessType(),
+@@ -1116,7 +1116,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
+ void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) {
+ // Note: If you are adding a new process type below, be sure to adjust the
+ // AdjustLinuxOOMScore function too.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
+ AdjustLinuxOOMScore(process_type);
+ #endif
+ #if defined(OS_WIN)
+@@ -1158,7 +1158,7 @@ int ChromeMainDelegate::RunProcess(
+
+ // This entry is not needed on Linux, where the NaCl loader
+ // process is launched via nacl_helper instead.
+-#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ {switches::kNaClLoaderProcess, NaClMain},
+ #else
+ {"<invalid>", nullptr}, // To avoid constant array of size 0
+@@ -1186,7 +1186,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str
+ #endif // !defined(OS_ANDROID)
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS))
+ void ChromeMainDelegate::ZygoteStarting(
+ std::vector<std::unique_ptr<content::ZygoteForkDelegate>>* delegates) {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -1223,7 +1223,7 @@ void ChromeMainDelegate::ZygoteForked() {
+ crash_keys::SetCrashKeysFromCommandLine(*command_line);
+ }
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS))
+
+ content::ContentClient* ChromeMainDelegate::CreateContentClient() {
+ return &chrome_content_client_;
diff --git a/devel/electron12/files/patch-chrome_app_chromium__strings.grd b/devel/electron12/files/patch-chrome_app_chromium__strings.grd
new file mode 100644
index 000000000000..3a0442070165
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_chromium__strings.grd
@@ -0,0 +1,29 @@
+--- chrome/app/chromium_strings.grd.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/chromium_strings.grd
+@@ -716,7 +716,7 @@ Chromium is unable to recover your settings.
+ </if>
+
+ <!-- about:browser-switch strings -->
+- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
++ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
+ <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
+ Your system administrator has configured Chromium to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
+ </message>
+@@ -839,7 +839,7 @@ Chromium is unable to recover your settings.
+ </message>
+
+ <!-- ProcessSingleton -->
+- <if expr="is_linux or is_macosx">
++ <if expr="is_linux or is_macosx or is_posix">
+ <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
+ The profile appears to be in use by another Chromium process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.
+ </message>
+@@ -1058,7 +1058,7 @@ Chromium is unable to recover your settings.
+ </message>
+
+ <!-- Plugin Placeholders -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
+ Restart Chromium to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
+ </message>
diff --git a/devel/electron12/files/patch-chrome_app_generated__resources.grd b/devel/electron12/files/patch-chrome_app_generated__resources.grd
new file mode 100644
index 000000000000..bd26fe56fa37
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_generated__resources.grd
@@ -0,0 +1,29 @@
+--- chrome/app/generated_resources.grd.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/generated_resources.grd
+@@ -5255,7 +5255,7 @@ Keep your key file in a safe place. You will need it t
+ </if>
+
+ <!-- chrome://browser-switch strings -->
+- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
++ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
+ <message name="IDS_ABOUT_BROWSER_SWITCH_TITLE" desc="about:browser-switch page title">
+ Legacy Browser Support
+ </message>
+@@ -7305,7 +7305,7 @@ Keep your key file in a safe place. You will need it t
+ Google Pay
+ </message>
+
+- <if expr="is_linux and not chromeos and not lacros">
++ <if expr="is_posix and not chromeos and not lacros">
+ <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders.">
+ Use system title bar and borders
+ </message>
+@@ -8296,7 +8296,7 @@ Please help our engineers fix this problem. Tell us wh
+ Set as default
+ </message>
+
+- <if expr="is_linux and not chromeos and not lacros">
++ <if expr="is_posix and not chromeos and not lacros">
+ <message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window.">
+ Minimize
+ </message>
diff --git a/devel/electron12/files/patch-chrome_app_google__chrome__strings.grd b/devel/electron12/files/patch-chrome_app_google__chrome__strings.grd
new file mode 100644
index 000000000000..9e579bddd89e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_google__chrome__strings.grd
@@ -0,0 +1,29 @@
+--- chrome/app/google_chrome_strings.grd.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/google_chrome_strings.grd
+@@ -723,7 +723,7 @@ Google Chrome is unable to recover your settings.
+ </if>
+
+ <!-- about:browser-switch strings -->
+- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
++ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
+ <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected">
+ Your system administrator has configured Google Chrome to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
+ </message>
+@@ -846,7 +846,7 @@ Google Chrome is unable to recover your settings.
+ </message>
+
+ <!-- ProcessSingleton -->
+- <if expr="is_linux or is_macosx">
++ <if expr="is_linux or is_macosx or is_posix">
+ <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host.">
+ The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome.
+ </message>
+@@ -1072,7 +1072,7 @@ Google Chrome is unable to recover your settings.
+ </message>
+
+ <!-- Plugin Placeholders -->
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted.">
+ Restart Chrome to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
+ </message>
diff --git a/devel/electron12/files/patch-chrome_app_profiles__strings.grdp b/devel/electron12/files/patch-chrome_app_profiles__strings.grdp
new file mode 100644
index 000000000000..6ba5c58efe6a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_profiles__strings.grdp
@@ -0,0 +1,11 @@
+--- chrome/app/profiles_strings.grdp.orig 2021-04-14 01:08:37 UTC
++++ chrome/app/profiles_strings.grdp
+@@ -87,7 +87,7 @@
+ Add Profile...
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_PROFILES_ADD_PROFILE_LABEL" desc="Menu item for adding a new profile.">
+ Add profile...
+ </message>
diff --git a/devel/electron12/files/patch-chrome_app_settings__strings.grdp b/devel/electron12/files/patch-chrome_app_settings__strings.grdp
new file mode 100644
index 000000000000..f644b5c6812b
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_app_settings__strings.grdp
@@ -0,0 +1,20 @@
+--- chrome/app/settings_strings.grdp.orig 2021-04-14 01:08:38 UTC
++++ chrome/app/settings_strings.grdp
+@@ -117,7 +117,7 @@
+ Theme
+ </message>
+ </if>
+- <if expr="is_linux and not chromeos and not lacros">
++ <if expr="is_posix and not chromeos and not lacros">
+ <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux">
+ GTK+
+ </message>
+@@ -131,7 +131,7 @@
+ Use Classic
+ </message>
+ </if>
+- <if expr="not is_linux or chromeos or lacros">
++ <if expr="not is_posix or chromeos or lacros">
+ <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme.">
+ Reset to default
+ </message>
diff --git a/devel/electron11/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/devel/electron12/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
index e04984bf40f6..e04984bf40f6 100644
--- a/devel/electron11/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
+++ b/devel/electron12/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
diff --git a/devel/electron11/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/devel/electron12/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
index 77ff628b3405..77ff628b3405 100644
--- a/devel/electron11/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
+++ b/devel/electron12/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
diff --git a/devel/electron11/files/patch-chrome_app_theme_theme__resources.grd b/devel/electron12/files/patch-chrome_app_theme_theme__resources.grd
index e74a4425f72d..e74a4425f72d 100644
--- a/devel/electron11/files/patch-chrome_app_theme_theme__resources.grd
+++ b/devel/electron12/files/patch-chrome_app_theme_theme__resources.grd
diff --git a/devel/electron12/files/patch-chrome_browser_BUILD.gn b/devel/electron12/files/patch-chrome_browser_BUILD.gn
new file mode 100644
index 000000000000..ef88a3574cbc
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_BUILD.gn
@@ -0,0 +1,11 @@
+--- chrome/browser/BUILD.gn.orig 2021-04-22 07:51:50 UTC
++++ chrome/browser/BUILD.gn
+@@ -5277,7 +5277,7 @@ static_library("browser") {
+ ]
+ }
+
+- if (is_posix && !is_mac) {
++ if (is_posix && !is_mac && !is_bsd) {
+ # TODO(crbug.com / 753619): Enable crash reporting on Fuchsia.
+ sources += [
+ "//chrome/app/chrome_crash_reporter_client.cc",
diff --git a/devel/electron12/files/patch-chrome_browser_about__flags.cc b/devel/electron12/files/patch-chrome_browser_about__flags.cc
new file mode 100644
index 000000000000..31a156b49b20
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_about__flags.cc
@@ -0,0 +1,180 @@
+--- chrome/browser/about_flags.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/about_flags.cc
+@@ -191,7 +191,7 @@
+ #include "ui/gl/gl_switches.h"
+ #include "ui/native_theme/native_theme_features.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/allocator/buildflags.h"
+ #endif
+
+@@ -918,7 +918,7 @@ const FeatureEntry::Choice kMemlogSamplingRateChoices[
+ heap_profiling::kMemlogSamplingRate5MB},
+ };
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = {
+ {"DocumentUseServerScore", "true"},
+@@ -1268,7 +1268,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP
+ },
+ };
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
+ // defined(OS_WIN)
+
+ const FeatureEntry::FeatureVariation
+@@ -3009,7 +3009,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(ash::features::kSystemTrayMicGainSetting)},
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && !defined(OS_ANDROID)
+ {
+ "enable-accelerated-video-decode",
+ flag_descriptions::kAcceleratedVideoDecodeName,
+@@ -3025,7 +3025,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kOsMac | kOsWin | kOsCrOS | kOsAndroid,
+ SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
+ },
+-#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
++#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
+ // !defined(OS_ANDROID)
+ {
+ "disable-accelerated-video-encode",
+@@ -3367,7 +3367,7 @@ const FeatureEntry kFeatureEntries[] = {
+ {"enable-login-detection", flag_descriptions::kEnableLoginDetectionName,
+ flag_descriptions::kEnableLoginDetectionDescription, kOsAll,
+ FEATURE_VALUE_TYPE(login_detection::kLoginDetection)},
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+ {"enable-save-data", flag_descriptions::kEnableSaveDataName,
+ flag_descriptions::kEnableSaveDataDescription, kOsCrOS | kOsLinux,
+ SINGLE_VALUE_TYPE(
+@@ -3381,7 +3381,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kEnableNavigationPredictorRendererWarmupName,
+ flag_descriptions::kEnableNavigationPredictorRendererWarmupDescription,
+ kOsAll, FEATURE_VALUE_TYPE(features::kNavigationPredictorRendererWarmup)},
+-#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX
++#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX || defined(OS_BSD)
+ {"enable-preconnect-to-search",
+ flag_descriptions::kEnablePreconnectToSearchName,
+ flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll,
+@@ -4173,7 +4173,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kOsAll,
+ FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)},
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ {"omnibox-experimental-keyword-mode",
+ flag_descriptions::kOmniboxExperimentalKeywordModeName,
+@@ -4254,7 +4254,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kOmniboxDisableCGIParamMatchingName,
+ flag_descriptions::kOmniboxDisableCGIParamMatchingDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(omnibox::kDisableCGIParamMatching)},
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ||
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) ||
+ // defined(OS_WIN)
+
+ {"enable-speculative-service-worker-start-on-query-input",
+@@ -4563,14 +4563,14 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kClickToOpenPDFDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)},
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ {"direct-manipulation-stylus",
+ flag_descriptions::kDirectManipulationStylusName,
+ flag_descriptions::kDirectManipulationStylusDescription,
+ kOsWin | kOsMac | kOsLinux,
+ FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ #if !defined(OS_ANDROID)
+@@ -5258,7 +5258,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(kClickToCallUI)},
+ #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ {"remote-copy-receiver", flag_descriptions::kRemoteCopyReceiverName,
+ flag_descriptions::kRemoteCopyReceiverDescription, kOsDesktop,
+@@ -5275,7 +5275,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kRemoteCopyProgressNotificationName,
+ flag_descriptions::kRemoteCopyProgressNotificationDescription, kOsDesktop,
+ FEATURE_VALUE_TYPE(kRemoteCopyProgressNotification)},
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ {"restrict-gamepad-access", flag_descriptions::kRestrictGamepadAccessName,
+@@ -5852,7 +5852,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kMouseSubframeNoImplicitCaptureDescription, kOsAll,
+ FEATURE_VALUE_TYPE(features::kMouseSubframeNoImplicitCapture)},
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ {"global-media-controls", flag_descriptions::kGlobalMediaControlsName,
+ flag_descriptions::kGlobalMediaControlsDescription,
+@@ -5893,7 +5893,7 @@ const FeatureEntry kFeatureEntries[] = {
+ flag_descriptions::kGlobalMediaControlsOverlayControlsDescription,
+ kOsWin | kOsMac | kOsLinux,
+ FEATURE_VALUE_TYPE(media::kGlobalMediaControlsOverlayControls)},
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN)
+@@ -6072,7 +6072,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kPasswordsAccountStorageVariations,
+ "ButterForPasswords")},
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ {"passwords-account-storage-iph",
+ flag_descriptions::kEnablePasswordsAccountStorageIPHName,
+@@ -6080,7 +6080,7 @@ const FeatureEntry kFeatureEntries[] = {
+ kOsWin | kOsMac | kOsLinux,
+ FEATURE_VALUE_TYPE(
+ feature_engagement::kIPHPasswordsAccountStorageFeature)},
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ {"autofill-always-return-cloud-tokenized-card",
+@@ -6794,7 +6794,7 @@ const FeatureEntry kFeatureEntries[] = {
+ FEATURE_VALUE_TYPE(ash::features::kEnhancedDeskAnimations)},
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ {"enable-oop-print-drivers", flag_descriptions::kEnableOopPrintDriversName,
+ flag_descriptions::kEnableOopPrintDriversDescription, kOsDesktop,
+@@ -6833,14 +6833,14 @@ const FeatureEntry kFeatureEntries[] = {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ {"enable-ephemeral-guest-profiles-on-desktop",
+ flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopName,
+ flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopDescription,
+ kOsWin | kOsLinux | kOsMac,
+ FEATURE_VALUE_TYPE(features::kEnableEphemeralGuestProfilesOnDesktop)},
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC)
+
+ #if defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-chrome_browser_after__startup__task__utils.cc b/devel/electron12/files/patch-chrome_browser_after__startup__task__utils.cc
new file mode 100644
index 000000000000..dda4d5d6df12
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_after__startup__task__utils.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/after_startup_task_utils.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/after_startup_task_utils.cc
+@@ -35,7 +35,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "ui/views/linux_ui/linux_ui.h"
+ #endif
+
+@@ -122,7 +122,7 @@ void QueueTask(std::unique_ptr<AfterStartupTask> queue
+
+ void SetBrowserStartupIsComplete() {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+-#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
++#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // Process::Current().CreationTime() is not available on all platforms.
+ const base::Time process_creation_time =
+@@ -131,7 +131,7 @@ void SetBrowserStartupIsComplete() {
+ UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime",
+ base::Time::Now() - process_creation_time);
+ }
+-#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) ||
++#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+ UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount",
+ g_after_startup_tasks.Get().size());
+@@ -143,7 +143,7 @@ void SetBrowserStartupIsComplete() {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Make sure we complete the startup notification sequence, or launchers will
+ // get confused by not receiving the expected message from the main process.
+ views::LinuxUI* linux_ui = views::LinuxUI::instance();
diff --git a/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc
new file mode 100644
index 000000000000..3995defaec27
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc
+@@ -294,7 +294,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppPpapiT
+
+ // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux
+ // (dbg)(1)(32). See crbug.com/354425.
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define MAYBE_MediaGalleriesNoAccess DISABLED_MediaGalleriesNoAccess
+ #else
+ #define MAYBE_MediaGalleriesNoAccess MediaGalleriesNoAccess
+@@ -332,7 +332,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowse
+
+ // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux
+ // (dbg)(1)(32). See crbug.com/354425.
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define MAYBE_MediaGalleriesCopyTo DISABLED_MediaGalleriesCopyTo
+ #else
+ #define MAYBE_MediaGalleriesCopyTo MediaGalleriesCopyTo
diff --git a/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc
new file mode 100644
index 000000000000..aea9c18164a5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc
+@@ -224,7 +224,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTe
+ // Test is flaky on windows and linux: crbug.com/1150017.
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ #define MAYBE_RemoveListenerAndModifyGallery \
+ DISABLED_RemoveListenerAndModifyGallery
+ #else
diff --git a/devel/electron11/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
index a5049a936136..a5049a936136 100644
--- a/devel/electron11/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
+++ b/devel/electron12/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
diff --git a/devel/electron12/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/devel/electron12/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
new file mode 100644
index 000000000000..630cda2cff0a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
+@@ -87,7 +87,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
+ return metrics::OmniboxInputType::QUERY;
+
+ case ExternalProtocolHandler::UNKNOWN: {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Linux impl of GetApplicationNameForProtocol doesn't distinguish
+ // between URL schemes with handers and those without. This will
+ // make the default behaviour be search on Linux.
+@@ -100,7 +100,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
+ shell_integration::GetApplicationNameForProtocol(url);
+ return application_name.empty() ? metrics::OmniboxInputType::EMPTY
+ : metrics::OmniboxInputType::URL;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+ }
+ NOTREACHED();
diff --git a/devel/electron12/files/patch-chrome_browser_background_background__mode__manager.cc b/devel/electron12/files/patch-chrome_browser_background_background__mode__manager.cc
new file mode 100644
index 000000000000..ffc4bc306640
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_background_background__mode__manager.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/background/background_mode_manager.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/background/background_mode_manager.cc
+@@ -873,7 +873,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
+ return gfx::ImageSkia();
+
+ return family->CreateExact(size).AsImageSkia();
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
+ IDR_PRODUCT_LOGO_128);
+ #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-chrome_browser_background_background__mode__optimizer.cc b/devel/electron12/files/patch-chrome_browser_background_background__mode__optimizer.cc
index 685c76fe10c4..685c76fe10c4 100644
--- a/devel/electron11/files/patch-chrome_browser_background_background__mode__optimizer.cc
+++ b/devel/electron12/files/patch-chrome_browser_background_background__mode__optimizer.cc
diff --git a/devel/electron12/files/patch-chrome_browser_browser__resources.grd b/devel/electron12/files/patch-chrome_browser_browser__resources.grd
new file mode 100644
index 000000000000..071e85501a41
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_browser__resources.grd
@@ -0,0 +1,11 @@
+--- chrome/browser/browser_resources.grd.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/browser_resources.grd
+@@ -89,7 +89,7 @@
+ <include name="IDR_DISCARDS_SITE_DATA_MOJOM_WEBUI_JS" file="${root_gen_dir}\mojom-webui\chrome\browser\ui\webui\discards\site_data.mojom-webui.js" use_base_dir="false" type="BINDATA" />
+ <include name="IDR_DISCARDS_SORTED_TABLE_BEHAVIOR_JS" file="resources\discards\sorted_table_behavior.js" type="BINDATA" />
+ </if>
+- <if expr="is_win or is_macosx or (is_linux and not chromeos)">
++ <if expr="is_win or is_macosx or (is_posix and not chromeos)">
+ <include name="IDR_BROWSER_SWITCH_APP_JS" file="${root_gen_dir}\chrome\browser\resources\browser_switch\app.js" use_base_dir="false" type="BINDATA" />
+ <include name="IDR_BROWSER_SWITCH_PROXY_JS" file="resources\browser_switch\browser_switch_proxy.js" type="BINDATA" />
+ <include name="IDR_BROWSER_SWITCH_HTML" file="resources\browser_switch\browser_switch.html" allowexternalscript="true" type="BINDATA" />
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/devel/electron12/files/patch-chrome_browser_chrome__browser__interface__binders.cc
new file mode 100644
index 000000000000..08a2ba67f043
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__browser__interface__binders.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_browser_interface_binders.cc
+@@ -138,7 +138,7 @@
+ #include "mojo/public/cpp/bindings/self_owned_receiver.h"
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #include "chrome/browser/ui/webui/discards/discards.mojom.h"
+ #include "chrome/browser/ui/webui/discards/discards_ui.h"
+@@ -835,7 +835,7 @@ void PopulateChromeWebUIFrameBinders(
+ }
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
+ DiscardsUI>(map);
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__browser__main.cc b/devel/electron12/files/patch-chrome_browser_chrome__browser__main.cc
new file mode 100644
index 000000000000..c71eb8415239
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__browser__main.cc
@@ -0,0 +1,54 @@
+--- chrome/browser/chrome_browser_main.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_browser_main.cc
+@@ -251,7 +251,7 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h"
+ #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h"
+ #include "chrome/browser/profiles/profile_activity_metrics_recorder.h"
+@@ -935,7 +935,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+ AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs);
+ }
+
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Create directory for user-level Native Messaging manifest files. This
+ // makes it less likely that the directory will be created by third-party
+ // software with incorrect owner or permission. See crbug.com/725513 .
+@@ -944,7 +944,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+ &user_native_messaging_dir));
+ if (!base::PathExists(user_native_messaging_dir))
+ base::CreateDirectory(user_native_messaging_dir);
+-#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+ #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+
+@@ -968,7 +968,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ metrics::DesktopSessionDurationTracker::Initialize();
+ ProfileActivityMetricsRecorder::Initialize();
+ TouchModeStatsTracker::Initialize(
+@@ -1125,6 +1125,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
+ base::TimeDelta::FromMinutes(1));
+
+ #if !defined(OS_ANDROID)
++#if !defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(features::kWebUsb)) {
+ web_usb_detector_.reset(new WebUsbDetector());
+ content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
+@@ -1132,6 +1133,7 @@ void ChromeBrowserMainParts::PostBrowserStart() {
+ base::BindOnce(&WebUsbDetector::Initialize,
+ base::Unretained(web_usb_detector_.get())));
+ }
++#endif
+ if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) {
+ // Initialize the TabActivityWatcher to begin logging tab activity events.
+ resource_coordinator::TabActivityWatcher::GetInstance();
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__browser__main__linux.cc b/devel/electron12/files/patch-chrome_browser_chrome__browser__main__linux.cc
new file mode 100644
index 000000000000..52f2ab5aaa28
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__browser__main__linux.cc
@@ -0,0 +1,32 @@
+--- chrome/browser/chrome_browser_main_linux.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_browser_main_linux.cc
+@@ -82,6 +82,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
+ void ChromeBrowserMainPartsLinux::PostProfileInit() {
+ ChromeBrowserMainPartsPosix::PostProfileInit();
+
++#if !defined(OS_BSD)
+ bool breakpad_registered;
+ if (crash_reporter::IsCrashpadEnabled()) {
+ // If we're using crashpad, there's no breakpad and crashpad is always
+@@ -99,10 +100,11 @@ void ChromeBrowserMainPartsLinux::PostProfileInit() {
+ }
+ g_browser_process->metrics_service()->RecordBreakpadRegistration(
+ breakpad_registered);
++#endif
+ }
+
+ void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
+-#if !BUILDFLAG(IS_CHROMEOS_ASH)
++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
+ #endif
+
+@@ -110,7 +112,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS
+ }
+
+ void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
+-#if !BUILDFLAG(IS_CHROMEOS_ASH)
++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ bluez::BluezDBusManager::Shutdown();
+ bluez::BluezDBusThreadManager::Shutdown();
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__browser__main__posix.cc b/devel/electron12/files/patch-chrome_browser_chrome__browser__main__posix.cc
new file mode 100644
index 000000000000..929851984c38
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__browser__main__posix.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/chrome_browser_main_posix.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_browser_main_posix.cc
+@@ -72,7 +72,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa
+ } else {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ switch (signal) {
+ case SIGINT:
+ case SIGHUP:
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.cc b/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.cc
new file mode 100644
index 000000000000..af556f7d4586
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.cc
@@ -0,0 +1,106 @@
+--- chrome/browser/chrome_content_browser_client.cc.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_content_browser_client.cc
+@@ -448,7 +448,7 @@
+ #include "components/user_manager/user.h"
+ #include "components/user_manager/user_manager.h"
+ #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h"
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/chrome_browser_main_linux.h"
+ #elif defined(OS_ANDROID)
+ #include "base/android/application_status_listener.h"
+@@ -508,7 +508,7 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h"
+ #endif
+
+@@ -542,7 +542,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
+ #endif
+
+@@ -866,11 +866,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos
+ }
+
+ int GetCrashSignalFD(const base::CommandLine& command_line) {
++#if !defined(OS_BSD)
+ if (crash_reporter::IsCrashpadEnabled()) {
+ int fd;
+ pid_t pid;
+ return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1;
+ }
++#endif
+
+ // Extensions have the same process type as renderers.
+ if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) {
+@@ -1417,7 +1419,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
+ #elif BUILDFLAG(IS_CHROMEOS_LACROS)
+ main_parts = std::make_unique<ChromeBrowserMainPartsLacros>(parameters,
+ &startup_data_);
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ main_parts =
+ std::make_unique<ChromeBrowserMainPartsLinux>(parameters, &startup_data_);
+ #elif defined(OS_ANDROID)
+@@ -1448,7 +1450,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(
+ std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>());
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ main_parts->AddParts(
+ std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>());
+ #else
+@@ -2205,7 +2207,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ command_line->AppendSwitchASCII(switches::kMetricsClientID,
+ client_info->client_id);
+ }
+-#elif defined(OS_POSIX)
++#elif defined(OS_POSIX) && !defined(OS_BSD)
+ #if defined(OS_ANDROID)
+ bool enable_crash_reporter = true;
+ #else
+@@ -2499,7 +2501,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
+ ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
+ command_line);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Processes may only query perf_event_open with the BPF sandbox disabled.
+ if (browser_command_line.HasSwitch(switches::kEnableThreadInstructionCount) &&
+ command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) {
+@@ -3806,7 +3808,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
+ }
+ }
+
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
+@@ -3841,7 +3843,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi
+ mappings->Share(kCrashDumpSignal, crash_signal_fd);
+ }
+ }
+-#endif // defined(OS_POSIX) && !defined(OS_MAC)
++#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ base::string16 ChromeContentBrowserClient::GetAppContainerSidForSandboxType(
+@@ -4165,7 +4167,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle::
+ MaybeCreateThrottleFor(handle),
+ &throttles);
diff --git a/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.h b/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.h
new file mode 100644
index 000000000000..03f7b89f878b
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_chrome__content__browser__client.h
@@ -0,0 +1,17 @@
+--- chrome/browser/chrome_content_browser_client.h.orig 2021-04-14 01:08:38 UTC
++++ chrome/browser/chrome_content_browser_client.h
+@@ -407,12 +407,12 @@ class ChromeContentBrowserClient : public content::Con
+ void OverridePageVisibilityState(
+ content::RenderFrameHost* render_frame_host,
+ content::PageVisibilityState* visibility_state) override;
+-#if defined(OS_POSIX) && !defined(OS_MAC)
++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ void GetAdditionalMappedFilesForChildProcess(
+ const base::CommandLine& command_line,
+ int child_process_id,
+ content::PosixFileDescriptorInfo* mappings) override;
+-#endif // defined(OS_POSIX) && !defined(OS_MAC)
++#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD)
+ #if defined(OS_WIN)
+ bool PreSpawnRenderer(sandbox::TargetPolicy* policy,
+ RendererSpawnFlags flags) override;
diff --git a/devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
new file mode 100644
index 000000000000..80de8cf68983
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/crash_upload_list/crash_upload_list.cc
+@@ -39,7 +39,7 @@ scoped_refptr<UploadList> CreateCrashUploadList() {
+ // ChromeOS uses crash_sender as its uploader even when Crashpad is enabled,
+ // which isn't compatible with CrashUploadListCrashpad. crash_sender continues
+ // to log uploads in CrashUploadList::kReporterLogFilename.
+-#if !BUILDFLAG(IS_CHROMEOS_ASH)
++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ if (crash_reporter::IsCrashpadEnabled()) {
+ return new CrashUploadListCrashpad();
+ }
diff --git a/devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc b/devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc
index b4ec101dbd8e..b4ec101dbd8e 100644
--- a/devel/electron11/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc
+++ b/devel/electron12/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc
diff --git a/devel/electron12/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/devel/electron12/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
new file mode 100644
index 000000000000..6261f1b3657a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/custom_handlers/protocol_handler_registry.cc
+@@ -45,7 +45,7 @@ const ProtocolHandler& LookupHandler(
+ // If true default protocol handlers will be removed if the OS level
+ // registration for a protocol is no longer Chrome.
+ bool ShouldRemoveHandlersNotInOS() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // We don't do this on Linux as the OS registration there is not reliable,
+ // and Chrome OS doesn't have any notion of OS registration.
+ // TODO(benwells): When Linux support is more reliable remove this
diff --git a/devel/electron12/files/patch-chrome_browser_defaults.cc b/devel/electron12/files/patch-chrome_browser_defaults.cc
new file mode 100644
index 000000000000..232f3c31b08c
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_defaults.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/defaults.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/defaults.cc
+@@ -46,7 +46,7 @@ const bool kSyncAutoStarts = false;
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ const bool kScrollEventChangesTab = true;
+ #else
+ const bool kScrollEventChangesTab = false;
diff --git a/devel/electron12/files/patch-chrome_browser_dev__ui__browser__resources.grd b/devel/electron12/files/patch-chrome_browser_dev__ui__browser__resources.grd
new file mode 100644
index 000000000000..ec752b4de572
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_dev__ui__browser__resources.grd
@@ -0,0 +1,11 @@
+--- chrome/browser/dev_ui_browser_resources.grd.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/dev_ui_browser_resources.grd
+@@ -55,7 +55,7 @@ This file specifies browser resources for developer-fa
+ <include name="IDR_MEDIA_SESSION_MOJOM_LITE_JS" file="${root_gen_dir}\services\media_session\public\mojom\media_session.mojom-lite.js" use_base_dir="false" type="BINDATA" />
+ <include name="IDR_UI_GEOMETRY_MOJOM_LITE_JS" file="${root_gen_dir}\ui\gfx\geometry\mojom\geometry.mojom-lite.js" use_base_dir="false" type="BINDATA" />
+
+- <if expr="is_android or is_linux">
++ <if expr="is_android or is_posix">
+ <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" preprocess="true" type="BINDATA" />
+ <include name="IDR_SANDBOX_INTERNALS_JS" file="resources\sandbox_internals\sandbox_internals.js" preprocess="true" type="BINDATA" />
+ </if>
diff --git a/devel/electron12/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/devel/electron12/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
new file mode 100644
index 000000000000..d40208f602b3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc
+@@ -30,7 +30,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform
+ return std::make_unique<chromeos::DeviceOAuth2TokenStoreChromeOS>(
+ local_state);
+ #elif defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ DCHECK(
+ base::FeatureList::IsEnabled(policy::features::kCBCMPolicyInvalidations));
+ return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state);
diff --git a/devel/electron12/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/devel/electron12/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
new file mode 100644
index 000000000000..23087336896e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/devtools/devtools_eye_dropper.cc
+@@ -165,7 +165,7 @@ void DevToolsEyeDropper::UpdateCursor() {
+ // magnified projection only with centered hotspot.
+ // Mac Retina requires cursor to be > 120px in order to render smoothly.
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const float kCursorSize = 63;
+ const float kDiameter = 63;
+ const float kHotspotOffset = 32;
diff --git a/devel/electron11/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/devel/electron12/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
index 5d44e5eb7fda..5d44e5eb7fda 100644
--- a/devel/electron11/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
+++ b/devel/electron12/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
diff --git a/devel/electron12/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/devel/electron12/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
new file mode 100644
index 000000000000..b1abd62fa4d3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/download/chrome_download_manager_delegate.cc
+@@ -1443,7 +1443,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
+ target_info->is_filetype_handled_safely)
+ DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
+ DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
+ #endif
+@@ -1496,7 +1496,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
+
+ bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
+ const base::FilePath& path) {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
+ return !download_prefs_->ShouldOpenPdfInSystemReader();
+@@ -1593,7 +1593,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow
+ bool content_initiated,
+ content::CheckDownloadAllowedCallback check_download_allowed_cb) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ // Don't download pdf if it is a file URL, as that might cause an infinite
+ // download loop if Chrome is not the system pdf viewer.
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__commands.cc b/devel/electron12/files/patch-chrome_browser_download_download__commands.cc
index c0aa840bf94d..c0aa840bf94d 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__commands.cc
+++ b/devel/electron12/files/patch-chrome_browser_download_download__commands.cc
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__commands.h b/devel/electron12/files/patch-chrome_browser_download_download__commands.h
index 7bcb3c572a45..7bcb3c572a45 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__commands.h
+++ b/devel/electron12/files/patch-chrome_browser_download_download__commands.h
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__item__model.cc b/devel/electron12/files/patch-chrome_browser_download_download__item__model.cc
index ae11e3f12b08..ae11e3f12b08 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__item__model.cc
+++ b/devel/electron12/files/patch-chrome_browser_download_download__item__model.cc
diff --git a/devel/electron12/files/patch-chrome_browser_download_download__prefs.cc b/devel/electron12/files/patch-chrome_browser_download_download__prefs.cc
new file mode 100644
index 000000000000..eefb1a752e9d
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_download_download__prefs.cc
@@ -0,0 +1,65 @@
+--- chrome/browser/download/download_prefs.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/download/download_prefs.cc
+@@ -68,7 +68,7 @@ namespace {
+ // Consider downloads 'dangerous' if they go to the home directory on Linux and
+ // to the desktop on any platform.
+ bool DownloadPathIsDangerous(const base::FilePath& download_path) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::FilePath home_dir = base::GetHomeDir();
+ if (download_path == home_dir) {
+ return true;
+@@ -173,7 +173,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
+ GetDefaultDownloadDirectoryForProfile()));
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ should_open_pdf_in_system_reader_ =
+ prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
+@@ -301,7 +301,7 @@ void DownloadPrefs::RegisterProfilePrefs(
+ default_download_path);
+ registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
+ default_download_path);
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
+ #endif
+@@ -431,7 +431,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
+ }
+
+ bool DownloadPrefs::IsAutoOpenByUserUsed() const {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ if (ShouldOpenPdfInSystemReader())
+ return true;
+@@ -446,7 +446,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url,
+ return false;
+ DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
+ extension.erase(0, 1);
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ if (base::FilePath::CompareEqualIgnoreCase(extension,
+ FILE_PATH_LITERAL("pdf")) &&
+@@ -497,7 +497,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens
+ SaveAutoOpenState();
+ }
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
+ if (should_open_pdf_in_system_reader_ == should_open)
+@@ -519,7 +519,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
+ #endif
+
+ void DownloadPrefs::ResetAutoOpenByUser() {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ SetShouldOpenPdfInSystemReader(false);
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__prefs.h b/devel/electron12/files/patch-chrome_browser_download_download__prefs.h
index 3f792bd6f01f..3f792bd6f01f 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__prefs.h
+++ b/devel/electron12/files/patch-chrome_browser_download_download__prefs.h
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__query.cc b/devel/electron12/files/patch-chrome_browser_download_download__query.cc
index c45cd5de4ec0..c45cd5de4ec0 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__query.cc
+++ b/devel/electron12/files/patch-chrome_browser_download_download__query.cc
diff --git a/devel/electron11/files/patch-chrome_browser_download_download__shelf__context__menu.cc b/devel/electron12/files/patch-chrome_browser_download_download__shelf__context__menu.cc
index ff8a2bb14c5e..ff8a2bb14c5e 100644
--- a/devel/electron11/files/patch-chrome_browser_download_download__shelf__context__menu.cc
+++ b/devel/electron12/files/patch-chrome_browser_download_download__shelf__context__menu.cc
diff --git a/devel/electron12/files/patch-chrome_browser_error__reporting_BUILD.gn b/devel/electron12/files/patch-chrome_browser_error__reporting_BUILD.gn
new file mode 100644
index 000000000000..ec37b2666db1
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_error__reporting_BUILD.gn
@@ -0,0 +1,42 @@
+--- chrome/browser/error_reporting/BUILD.gn.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/error_reporting/BUILD.gn
+@@ -25,6 +25,13 @@ static_library("error_reporting") {
+ "//services/network:network_service",
+ "//services/network/public/cpp",
+ ]
++
++ if (is_bsd) {
++ deps -= [
++ "//components/crash/content/browser/error_reporting",
++ "//components/crash/core/app",
++ ]
++ }
+ }
+
+ source_set("test_support") {
+@@ -42,6 +49,12 @@ source_set("test_support") {
+ "//components/crash/content/browser/error_reporting",
+ "//components/crash/content/browser/error_reporting:mock_crash_endpoint",
+ ]
++
++ if (is_bsd) {
++ deps -= [
++ "//components/crash/content/browser/error_reporting:mock_crash_endpoint",
++ ]
++ }
+ }
+
+ source_set("unit_test") {
+@@ -60,4 +73,12 @@ source_set("unit_test") {
+ "//net:test_support",
+ "//testing/gtest",
+ ]
++
++ if (is_bsd) {
++ deps -= [
++ "//components/crash/content/browser/error_reporting",
++ "//components/crash/content/browser/error_reporting:mock_crash_endpoint",
++ "//components/crash/core/app",
++ ]
++ }
+ }
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_BUILD.gn b/devel/electron12/files/patch-chrome_browser_extensions_BUILD.gn
new file mode 100644
index 000000000000..2e297e28611f
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_BUILD.gn
@@ -0,0 +1,15 @@
+--- chrome/browser/extensions/BUILD.gn.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/BUILD.gn
+@@ -1248,6 +1248,12 @@ static_library("extensions") {
+ ]
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "api/image_writer_private/removable_storage_provider_linux.cc",
++ ]
++ }
++
+ if (enable_service_discovery) {
+ sources += [
+ "api/mdns/mdns_api.cc",
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/devel/electron12/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
new file mode 100644
index 000000000000..3ec970ea5f4c
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
@@ -0,0 +1,14 @@
+--- chrome/browser/extensions/activity_log/activity_log.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/activity_log/activity_log.cc
+@@ -49,7 +49,11 @@
+ #include "extensions/common/extension.h"
+ #include "extensions/common/extension_messages.h"
+ #include "extensions/common/mojom/renderer.mojom.h"
++#if defined(OS_BSD)
++#include <re2/re2.h>
++#else
+ #include "third_party/re2/src/re2/re2.h"
++#endif
+ #include "url/gurl.h"
+
+ namespace constants = activity_log_constants;
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
new file mode 100644
index 000000000000..24255ca085a5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
+@@ -22,7 +22,7 @@
+ #include "base/win/registry.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/environment.h"
+ #include "base/nix/xdg_util.h"
+ #endif
+@@ -238,7 +238,7 @@ base::FilePath GetEndpointVerificationDir() {
+ return *GetEndpointVerificationDirOverride();
+ #if defined(OS_WIN)
+ if (!base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path))
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar,
+ base::nix::kDotConfigDir);
+@@ -249,7 +249,7 @@ base::FilePath GetEndpointVerificationDir() {
+ if (true)
+ #endif
+ return path;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ path = path.AppendASCII("google");
+ #else
+ path = path.AppendASCII("Google");
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc
index 2f796c6b452e..2f796c6b452e 100644
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc
index 2fc974024fb1..2fc974024fb1 100644
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
new file mode 100644
index 000000000000..fbe140100cee
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc
+@@ -281,7 +281,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T
+ frame_observer.Wait();
+ // Non-Aura Linux uses a singleton for the popup, so it looks like all windows
+ // have popups if there is any popup open.
+-#if !((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(USE_AURA))
++#if !((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(USE_AURA))
+ // Starting window does not have a popup.
+ EXPECT_FALSE(ExtensionActionTestHelper::Create(browser())->HasPopup());
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
index 60a0005aae44..60a0005aae44 100644
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
new file mode 100644
index 000000000000..849e45868ad7
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+@@ -286,6 +286,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor
+ info->os = extensions::api::runtime::PLATFORM_OS_CROS;
+ } else if (strcmp(os, "linux") == 0) {
+ info->os = extensions::api::runtime::PLATFORM_OS_LINUX;
++ } else if (strcmp(os, "freebsd") == 0) {
++ info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD;
+ } else if (strcmp(os, "openbsd") == 0) {
+ info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD;
+ } else {
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
new file mode 100644
index 000000000000..5110fd873ea0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/api/settings_private/prefs_util.cc
+@@ -176,7 +176,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ (*s_allowlist)[::prefs::kUseCustomChromeFrame] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ #endif
+@@ -188,7 +188,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist
+ settings_api::PrefType::PREF_TYPE_STRING;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ (*s_allowlist)[::prefs::kUsesSystemTheme] =
+ settings_api::PrefType::PREF_TYPE_BOOLEAN;
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/devel/electron12/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
index c042c3ec3e6c..c042c3ec3e6c 100644
--- a/devel/electron11/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
+++ b/devel/electron12/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/devel/electron12/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
new file mode 100644
index 000000000000..747849179d92
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
+@@ -54,7 +54,7 @@
+ #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h"
+ #include "ppapi/buildflags/buildflags.h"
+
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ #include "chrome/browser/extensions/api/input_ime/input_ime_api.h"
+ #endif
+
diff --git a/devel/electron12/files/patch-chrome_browser_extensions_external__provider__impl.cc b/devel/electron12/files/patch-chrome_browser_extensions_external__provider__impl.cc
new file mode 100644
index 000000000000..8ee8685fd010
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_extensions_external__provider__impl.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/extensions/external_provider_impl.cc.orig 2021-04-14 01:08:39 UTC
++++ chrome/browser/extensions/external_provider_impl.cc
+@@ -792,7 +792,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+ if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ provider_list->push_back(std::make_unique<ExternalProviderImpl>(
+ service,
+ base::MakeRefCounted<ExternalPrefLoader>(
+@@ -819,7 +819,7 @@ void ExternalProviderImpl::CreateExternalProviders(
+ bundled_extension_creation_flags));
+
+ // Define a per-user source of external extensions.
+-#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
++#if defined(OS_MAC) || defined(OS_BSD) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
+ BUILDFLAG(CHROMIUM_BRANDING))
+ provider_list->push_back(std::make_unique<ExternalProviderImpl>(
+ service,
diff --git a/devel/electron12/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/devel/electron12/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
new file mode 100644
index 000000000000..49f643df2e3f
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+@@ -144,7 +144,7 @@ const struct {
+ {base::DIR_APP_DATA, nullptr, kBlockAllChildren},
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library"), kBlockAllChildren},
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Linux also block access to devices via /dev, as well as security
+ // sensitive data in /sys and /proc.
+ {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren},
diff --git a/devel/electron12/files/patch-chrome_browser_first__run_first__run__dialog.h b/devel/electron12/files/patch-chrome_browser_first__run_first__run__dialog.h
new file mode 100644
index 000000000000..0fbcd30d572e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_first__run_first__run__dialog.h
@@ -0,0 +1,11 @@
+--- chrome/browser/first_run/first_run_dialog.h.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/first_run/first_run_dialog.h
+@@ -12,7 +12,7 @@
+ // Hide this function on platforms where the dialog does not exist.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+
+ class Profile;
+
diff --git a/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal.h b/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal.h
new file mode 100644
index 000000000000..bf91d0fb3e2f
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal.h
@@ -0,0 +1,19 @@
+--- chrome/browser/first_run/first_run_internal.h.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/first_run/first_run_internal.h
+@@ -58,14 +58,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ // For testing, forces the first run dialog to either be shown or not. If not
+ // called, the decision to show the dialog or not will be made by Chrome based
+ // on a number of factors (such as install type, whether it's a Chrome-branded
+ // build, etc).
+ void ForceFirstRunDialogShownForTesting(bool shown);
+-#endif // defined(OS_MAC) || (defined(OS_LINUX) ||
+- // BUILDFLAG(IS_CHROMEOS_LACROS))
++#endif // defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+
+ } // namespace internal
+ } // namespace first_run
diff --git a/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
new file mode 100644
index 000000000000..4133d86f48b8
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/first_run/first_run_internal_posix.cc
+@@ -46,7 +46,7 @@ enum class ForcedShowDialogState {
+ ForcedShowDialogState g_forced_show_dialog_state =
+ ForcedShowDialogState::kNotForced;
+
+-#if !BUILDFLAG(IS_CHROMEOS_ASH)
++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ // Returns whether the first run dialog should be shown. This is only true for
+ // certain builds, and only if the user has not already set preferences. In a
+ // real, official-build first run, initializes the default metrics reporting if
+@@ -97,7 +97,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) {
+ }
+
+ void DoPostImportPlatformSpecificTasks(Profile* profile) {
+-#if !BUILDFLAG(IS_CHROMEOS_ASH)
++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ if (!ShouldShowFirstRunDialog())
+ return;
+
diff --git a/devel/electron12/files/patch-chrome_browser_flag__descriptions.cc b/devel/electron12/files/patch-chrome_browser_flag__descriptions.cc
new file mode 100644
index 000000000000..03c35419de5e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_flag__descriptions.cc
@@ -0,0 +1,69 @@
+--- chrome/browser/flag_descriptions.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/flag_descriptions.cc
+@@ -4774,7 +4774,7 @@ const char kEnableNewBadgeOnMenuItemsDescription[] =
+
+ // Random platform combinations -----------------------------------------------
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+
+ const char kEnableMediaFeedsName[] = "Enables Media Feeds";
+@@ -4818,27 +4818,27 @@ const char kRemoteCopyProgressNotificationDescription[
+ "Enables progress notifications to be shown for the remote copy feature "
+ "when receiving a message.";
+
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+
+ const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus";
+ const char kDirectManipulationStylusDescription[] =
+ "If enabled, Chrome will scroll web pages on stylus drag.";
+
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(USE_TCMALLOC)
+ const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning";
+ const char kDynamicTcmallocDescription[] =
+ "Allows tcmalloc to dynamically adjust tunables based on system resource "
+ "utilization.";
+ #endif // BUILDFLAG(USE_TCMALLOC)
+-#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+
+ #if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+ const char kUserDataSnapshotName[] = "Enable user data snapshots";
+@@ -4856,13 +4856,13 @@ const char kWebShareDescription[] =
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ const char kEnableEphemeralGuestProfilesOnDesktopName[] =
+ "Enable ephemeral Guest profiles on Desktop";
+ const char kEnableEphemeralGuestProfilesOnDesktopDescription[] =
+ "Enables ephemeral Guest profiles on Windows, Linux, and Mac.";
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC)
+
+ // Feature flags --------------------------------------------------------------
+@@ -4955,7 +4955,7 @@ const char kAutofillCreditCardUploadDescription[] =
+
+ #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+-#if !defined(OS_WIN) && !defined(OS_FUCHSIA)
++#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+ const char kSendWebUIJavaScriptErrorReportsName[] =
+ "Send WebUI JavaScript Error Reports";
+ const char kSendWebUIJavaScriptErrorReportsDescription[] =
diff --git a/devel/electron12/files/patch-chrome_browser_flag__descriptions.h b/devel/electron12/files/patch-chrome_browser_flag__descriptions.h
new file mode 100644
index 000000000000..fb2d564bc7e0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_flag__descriptions.h
@@ -0,0 +1,65 @@
+--- chrome/browser/flag_descriptions.h.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/flag_descriptions.h
+@@ -20,9 +20,9 @@
+ #include "ppapi/buildflags/buildflags.h"
+ #include "printing/buildflags/buildflags.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/allocator/buildflags.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // This file declares strings used in chrome://flags. These messages are not
+ // translated, because instead of end-users they target Chromium developers and
+@@ -2790,7 +2790,7 @@ extern const char kEnableNewBadgeOnMenuItemsDescriptio
+
+ // Random platform combinations -----------------------------------------------
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+
+ extern const char kEnableMediaFeedsName[];
+@@ -2817,15 +2817,15 @@ extern const char kRemoteCopyProgressNotificationDescr
+ extern const char kDirectManipulationStylusName[];
+ extern const char kDirectManipulationStylusDescription[];
+
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+ #if BUILDFLAG(USE_TCMALLOC)
+ extern const char kDynamicTcmallocName[];
+ extern const char kDynamicTcmallocDescription[];
+ #endif // BUILDFLAG(USE_TCMALLOC)
+-#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+
+ #if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+ extern const char kUserDataSnapshotName[];
+@@ -2839,11 +2839,11 @@ extern const char kWebShareDescription[];
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ extern const char kEnableEphemeralGuestProfilesOnDesktopName[];
+ extern const char kEnableEphemeralGuestProfilesOnDesktopDescription[];
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC)
+
+ // Feature flags --------------------------------------------------------------
+@@ -2906,7 +2906,7 @@ extern const char kAutofillCreditCardUploadDescription
+
+ #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+-#if !defined(OS_WIN) && !defined(OS_FUCHSIA)
++#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+ extern const char kSendWebUIJavaScriptErrorReportsName[];
+ extern const char kSendWebUIJavaScriptErrorReportsDescription[];
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_intranet__redirect__detector.h b/devel/electron12/files/patch-chrome_browser_intranet__redirect__detector.h
index 5414d24765e1..5414d24765e1 100644
--- a/devel/electron11/files/patch-chrome_browser_intranet__redirect__detector.h
+++ b/devel/electron12/files/patch-chrome_browser_intranet__redirect__detector.h
diff --git a/devel/electron12/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/devel/electron12/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
new file mode 100644
index 000000000000..2d96b409c7f7
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
@@ -0,0 +1,15 @@
+--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc
+@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem(
+ // Note that this initializes the delegate asynchronously, but since
+ // the delegate will only be used from the IO thread, it is guaranteed
+ // to be created before use of it expects it to be there.
++#if !defined(OS_FREEBSD)
+ CreateMTPDeviceAsyncDelegate(
+ device_location, read_only,
+ base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate,
+ base::Unretained(this), device_location, read_only));
++#endif
+ mtp_device_usage_map_[key] = 0;
+ }
+
diff --git a/devel/electron12/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/devel/electron12/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
new file mode 100644
index 000000000000..c3b9a3b3b199
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
@@ -0,0 +1,14 @@
+--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media_galleries/media_file_system_registry.cc
+@@ -736,7 +736,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI
+ // Constructor in 'private' section because depends on private class definition.
+ MediaFileSystemRegistry::MediaFileSystemRegistry()
+ : file_system_context_(new MediaFileSystemContextImpl) {
+- StorageMonitor::GetInstance()->AddObserver(this);
++ // This conditional is needed for shutdown. Destructors
++ // try to get the media file system registry.
++ if (StorageMonitor::GetInstance())
++ StorageMonitor::GetInstance()->AddObserver(this);
+ }
+
+ MediaFileSystemRegistry::~MediaFileSystemRegistry() {
diff --git a/devel/electron12/files/patch-chrome_browser_media_audio__service__util.cc b/devel/electron12/files/patch-chrome_browser_media_audio__service__util.cc
new file mode 100644
index 000000000000..699c8bc17dc5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media_audio__service__util.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/media/audio_service_util.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media/audio_service_util.cc
+@@ -24,7 +24,7 @@ bool IsAudioServiceSandboxEnabled() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ const policy::PolicyMap& policies =
+ g_browser_process->browser_policy_connector()
+ ->GetPolicyService()
diff --git a/devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
index f2cd9f15b41c..f2cd9f15b41c 100644
--- a/devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
+++ b/devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
diff --git a/devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
index ac82ca159820..ac82ca159820 100644
--- a/devel/electron11/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
+++ b/devel/electron12/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
diff --git a/devel/electron12/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc b/devel/electron12/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc
new file mode 100644
index 000000000000..e5dd1a7c745b
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc
@@ -0,0 +1,23 @@
+--- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc
+@@ -105,6 +105,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute(
+ bool off_the_record,
+ CreateRouteCallback callback) {
+ DCHECK(!base::Contains(presentations_, presentation_id));
++#if defined(OS_BSD)
++ std::move(callback).Run(base::nullopt, nullptr,
++ std::string("Not implemented"),
++ RouteRequestResult::UNKNOWN_ERROR);
++ return;
++#else
+ base::Optional<Display> display = GetDisplayBySinkId(sink_id);
+ if (!display) {
+ std::move(callback).Run(base::nullopt, nullptr,
+@@ -131,6 +137,7 @@ void WiredDisplayMediaRouteProvider::CreateRoute(
+ std::move(callback).Run(route, nullptr, base::nullopt,
+ RouteRequestResult::OK);
+ NotifyRouteObservers();
++#endif
+ }
+
+ void WiredDisplayMediaRouteProvider::JoinRoute(
diff --git a/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
new file mode 100644
index 000000000000..5780399dc7ed
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
+@@ -41,6 +41,8 @@ const char kProduct[] = "Chrome_Mac";
+ const char kProduct[] = "Chrome_ChromeOS";
+ #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ const char kProduct[] = "Chrome_Linux";
++#elif defined(OS_FREEBSD)
++const char kProduct[] = "Chrome_FreeBSD";
+ #elif defined(OS_ANDROID)
+ const char kProduct[] = "Chrome_Android";
+ #else
diff --git a/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
new file mode 100644
index 000000000000..ce227ff5f3a8
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
+@@ -360,6 +360,8 @@ void WebRtcLogUploader::SetupMultipart(
+ const char product[] = "Chrome_Android";
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ const char product[] = "Chrome_ChromeOS";
++#elif defined(OS_FREEBSD)
++ const char product[] = "Chrome_FreeBSD";
+ #else
+ #error Platform not supported.
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
index a27e3c103630..a27e3c103630 100644
--- a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
+++ b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
diff --git a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
index 0d21b1a400ab..0d21b1a400ab 100644
--- a/devel/electron11/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
+++ b/devel/electron12/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
diff --git a/devel/electron11/files/patch-chrome_browser_memory__details.cc b/devel/electron12/files/patch-chrome_browser_memory__details.cc
index 48b3f5ec26b8..48b3f5ec26b8 100644
--- a/devel/electron11/files/patch-chrome_browser_memory__details.cc
+++ b/devel/electron12/files/patch-chrome_browser_memory__details.cc
diff --git a/devel/electron12/files/patch-chrome_browser_memory__details__linux.cc b/devel/electron12/files/patch-chrome_browser_memory__details__linux.cc
new file mode 100644
index 000000000000..63d2398739c9
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_memory__details__linux.cc
@@ -0,0 +1,13 @@
+--- chrome/browser/memory_details_linux.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/memory_details_linux.cc
+@@ -70,8 +70,10 @@ ProcessData GetProcessDataMemoryInformation(
+
+ std::unique_ptr<base::ProcessMetrics> metrics(
+ base::ProcessMetrics::CreateProcessMetrics(pid));
++#if !defined(OS_BSD)
+ pmi.num_open_fds = metrics->GetOpenFdCount();
+ pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit();
++#endif
+
+ process_data.processes.push_back(pmi);
+ }
diff --git a/devel/electron12/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/devel/electron12/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
new file mode 100644
index 000000000000..3232eb557325
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
@@ -0,0 +1,21 @@
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
+@@ -56,7 +56,9 @@
+ // of lacros-chrome is complete.
+ #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ #include <gnu/libc-version.h>
++#endif
+
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ #include "base/linux_util.h"
+ #include "base/strings/string_split.h"
+ #include "base/strings/string_util.h"
+@@ -65,7 +67,7 @@
+ #include "ui/base/ui_base_features.h"
+ #include "ui/base/x/x11_util.h"
+ #endif
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ #if defined(USE_OZONE) || defined(USE_X11)
+ #include "ui/events/devices/device_data_manager.h"
diff --git a/devel/electron12/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/devel/electron12/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
new file mode 100644
index 000000000000..4bd23f5270c2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
@@ -0,0 +1,24 @@
+--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/metrics/chrome_metrics_service_client.cc
+@@ -697,10 +697,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ metrics_service_->RegisterMetricsProvider(
+ std::make_unique<DesktopPlatformFeaturesMetricsProvider>());
+-#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS))
+
+ #if BUILDFLAG(ENABLE_PLUGINS)
+@@ -978,7 +978,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ // This creates the DesktopProfileSessionDurationsServices if it didn't exist
+ // already.
+ metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext(
diff --git a/devel/electron12/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/devel/electron12/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
new file mode 100644
index 000000000000..07bd125b8489
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/metrics/process_memory_metrics_emitter.cc
+@@ -509,7 +509,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
+
+ builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / kKiB);
+ builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / kKiB);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb /
+ kKiB);
+ #endif
+@@ -532,7 +532,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
+ MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
+ process_name + ".SharedMemoryFootprint",
+ pmd.os_dump().shared_footprint_kb / kKiB);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
+ process_name + ".PrivateSwapFootprint",
+ pmd.os_dump().private_footprint_swap_kb / kKiB);
diff --git a/devel/electron12/files/patch-chrome_browser_net_system__network__context__manager.cc b/devel/electron12/files/patch-chrome_browser_net_system__network__context__manager.cc
new file mode 100644
index 000000000000..ced8b5e00f32
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_net_system__network__context__manager.cc
@@ -0,0 +1,64 @@
+--- chrome/browser/net/system_network_context_manager.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/net/system_network_context_manager.cc
+@@ -81,11 +81,11 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/common/chrome_paths_internal.h"
+ #include "chrome/grit/chromium_strings.h"
+ #include "ui/base/l10n/l10n_util.h"
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ #if BUILDFLAG(ENABLE_EXTENSIONS)
+ #include "extensions/common/constants.h"
+@@ -146,10 +146,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
+ auth_dynamic_params->basic_over_http_enabled =
+ local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled);
+
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ auth_dynamic_params->delegate_by_kdc_policy =
+ local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ auth_dynamic_params->ntlm_v2_enabled =
+@@ -364,10 +364,10 @@ SystemNetworkContextManager::SystemNetworkContextManag
+ pref_change_registrar_.Add(prefs::kBasicAuthOverHttpEnabled,
+ auth_pref_callback);
+
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
+ auth_pref_callback);
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback);
+@@ -416,10 +416,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
+ registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string());
+ registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist,
+ std::string());
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy,
+ false);
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ registry->RegisterBooleanPref(
+@@ -513,7 +513,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ const base::CommandLine& command_line =
+ *base::CommandLine::ForCurrentProcess();
+
diff --git a/devel/electron12/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/devel/electron12/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
new file mode 100644
index 000000000000..0c3fef6ccaa2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/notifications/notification_display_service_impl.cc
+@@ -30,7 +30,7 @@
+ #include "chrome/browser/extensions/api/notifications/extension_notification_handler.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
+ #include "chrome/browser/sharing/sharing_notification_handler.h"
+@@ -66,7 +66,7 @@ void NotificationDisplayServiceImpl::RegisterProfilePr
+ user_prefs::PrefRegistrySyncable* registry) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ registry->RegisterBooleanPref(prefs::kAllowNativeNotifications, true);
+ #endif
+ }
+@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
+ AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT,
+ std::make_unique<PersistentNotificationHandler>());
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ AddNotificationHandler(
+ NotificationHandler::Type::SEND_TAB_TO_SELF,
diff --git a/devel/electron12/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/devel/electron12/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc
new file mode 100644
index 000000000000..1f3464d44a36
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/notifications/notification_platform_bridge_delegator.cc
+@@ -56,7 +56,7 @@ bool NativeNotificationsEnabled(Profile* profile) {
+ return true;
+ #elif defined(OS_WIN)
+ return NotificationPlatformBridgeWin::NativeNotificationEnabled();
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (profile) {
+ // Prefs take precedence over flags.
+ PrefService* prefs = profile->GetPrefs();
diff --git a/devel/electron12/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/devel/electron12/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
new file mode 100644
index 000000000000..04bcc9471d27
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
@@ -0,0 +1,26 @@
+--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/password_manager/chrome_password_manager_client.cc
+@@ -9,6 +9,10 @@
+ #include <string>
+ #include <utility>
+
++#if defined(OS_BSD)
++#include <re2/re2.h>
++#endif
++
+ #include "base/bind.h"
+ #include "base/callback_helpers.h"
+ #include "base/command_line.h"
+@@ -101,8 +105,11 @@
+ #include "net/cert/cert_status_flags.h"
+ #include "services/metrics/public/cpp/ukm_recorder.h"
+ #include "services/network/public/cpp/is_potentially_trustworthy.h"
+-#include "third_party/re2/src/re2/re2.h"
+ #include "url/url_constants.h"
++
++#if !defined(OS_BSD)
++#include "third_party/re2/src/re2/re2.h"
++#endif
+
+ #if BUILDFLAG(FULL_SAFE_BROWSING)
+ #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
diff --git a/devel/electron12/files/patch-chrome_browser_password__manager_password__store__factory.cc b/devel/electron12/files/patch-chrome_browser_password__manager_password__store__factory.cc
new file mode 100644
index 000000000000..d8f91fa5abb4
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_password__manager_password__store__factory.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/password_manager/password_store_factory.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/password_manager/password_store_factory.cc
+@@ -163,7 +163,7 @@ PasswordStoreFactory::BuildServiceInstanceFor(
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier =
+ std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>(
+ IdentityManagerFactory::GetForProfile(profile));
diff --git a/devel/electron12/files/patch-chrome_browser_pdf_pdf__extension__test.cc b/devel/electron12/files/patch-chrome_browser_pdf_pdf__extension__test.cc
new file mode 100644
index 000000000000..b2ac599df5d8
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_pdf_pdf__extension__test.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/pdf/pdf_extension_test.cc
+@@ -2188,7 +2188,7 @@ class PDFExtensionClipboardTest : public PDFExtensionT
+ const std::string& expected) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ DoActionAndCheckClipboard(std::move(action),
+ ui::ClipboardBuffer::kSelection, expected);
+ #else
+@@ -2320,7 +2320,7 @@ IN_PROC_BROWSER_TEST_P(PDFExtensionClipboardTest,
+ // Flaky on ChromeOS (https://crbug.com/1121446)
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #define MAYBE_CombinedShiftArrowPresses DISABLED_CombinedShiftArrowPresses
+ #else
+ #define MAYBE_CombinedShiftArrowPresses CombinedShiftArrowPresses
diff --git a/devel/electron12/files/patch-chrome_browser_performance__manager_policies_policy__features.cc b/devel/electron12/files/patch-chrome_browser_performance__manager_policies_policy__features.cc
new file mode 100644
index 000000000000..f80c64ca4169
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_performance__manager_policies_policy__features.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/performance_manager/policies/policy_features.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/performance_manager/policies/policy_features.cc
+@@ -125,7 +125,7 @@ const base::Feature kPageFreezingFromPerformanceManage
+
+ const base::Feature kUrgentDiscardingFromPerformanceManager{
+ "UrgentDiscardingFromPerformanceManager",
+-#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX) || defined(OS_BSD)
+ base::FEATURE_DISABLED_BY_DEFAULT
+ #else
+ base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc b/devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
index 4c83d53b462e..4c83d53b462e 100644
--- a/devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
+++ b/devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
diff --git a/devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.h b/devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.h
index f6b2289591ef..f6b2289591ef 100644
--- a/devel/electron11/files/patch-chrome_browser_performance__monitor_process__metrics__history.h
+++ b/devel/electron12/files/patch-chrome_browser_performance__monitor_process__metrics__history.h
diff --git a/devel/electron12/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc b/devel/electron12/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc
new file mode 100644
index 000000000000..ce6a49c7c9a0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/plugins/plugin_info_host_impl.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/plugins/plugin_info_host_impl.cc
+@@ -379,7 +379,7 @@ void PluginInfoHostImpl::ComponentPluginLookupDone(
+ std::unique_ptr<component_updater::ComponentInfo> cus_plugin_info) {
+ if (cus_plugin_info) {
+ output->status = chrome::mojom::PluginStatus::kComponentUpdateRequired;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (cus_plugin_info->version != base::Version("0")) {
+ output->status = chrome::mojom::PluginStatus::kRestartRequired;
+ }
diff --git a/devel/electron12/files/patch-chrome_browser_plugins_plugins__resource__service.cc b/devel/electron12/files/patch-chrome_browser_plugins_plugins__resource__service.cc
new file mode 100644
index 000000000000..6b6e50c810de
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_plugins_plugins__resource__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/plugins/plugins_resource_service.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/plugins/plugins_resource_service.cc
+@@ -62,7 +62,7 @@ GURL GetPluginsServerURL() {
+ filename = "plugins_win.json";
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ filename = "plugins_chromeos.json";
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ filename = "plugins_linux.json";
+ #elif defined(OS_MAC)
+ filename = "plugins_mac.json";
diff --git a/devel/electron11/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/devel/electron12/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
index 958aa356c0e7..958aa356c0e7 100644
--- a/devel/electron11/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
+++ b/devel/electron12/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
diff --git a/devel/electron11/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/devel/electron12/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
index 0b875643b866..0b875643b866 100644
--- a/devel/electron11/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
+++ b/devel/electron12/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc
diff --git a/devel/electron12/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/devel/electron12/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
new file mode 100644
index 000000000000..0c815edeb9f8
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
@@ -0,0 +1,30 @@
+--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
+@@ -1233,11 +1233,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ base::Value::Type::BOOLEAN },
+ #endif // !defined(OS_MAC) && !BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ { key::kAuthNegotiateDelegateByKdcPolicy,
+ prefs::kAuthNegotiateDelegateByKdcPolicy,
+ base::Value::Type::BOOLEAN },
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if !defined(OS_MAC)
+ { key::kFullscreenAllowed,
+@@ -1282,11 +1282,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
+ #endif // BUILDFLAG(ENABLE_SPELLCHECK)
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ { key::kAllowNativeNotifications,
+ prefs::kAllowNativeNotifications,
+ base::Value::Type::BOOLEAN },
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || deined(OS_BSD)
+
+ { key::kScrollToTextFragmentEnabled,
+ prefs::kScrollToTextFragmentEnabled,
diff --git a/devel/electron12/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/devel/electron12/files/patch-chrome_browser_policy_device__management__service__configuration.cc
new file mode 100644
index 000000000000..c800b14e99c5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_policy_device__management__service__configuration.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/policy/device_management_service_configuration.cc
+@@ -20,7 +20,7 @@
+ #endif
+
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
++ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
+ #include "chrome/browser/enterprise/connectors/common.h"
+ #include "chrome/browser/enterprise/connectors/connectors_service.h"
+ #endif
+@@ -98,7 +98,7 @@ std::string
+ DeviceManagementServiceConfiguration::GetReportingConnectorServerUrl(
+ content::BrowserContext* context) {
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID))
++ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD)
+ auto* service =
+ enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext(
+ context);
diff --git a/devel/electron12/files/patch-chrome_browser_prefs_browser__prefs.cc b/devel/electron12/files/patch-chrome_browser_prefs_browser__prefs.cc
new file mode 100644
index 000000000000..f758365655e3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_prefs_browser__prefs.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/prefs/browser_prefs.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/prefs/browser_prefs.cc
+@@ -388,7 +388,7 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ #include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
+ #endif
+
+@@ -1080,7 +1080,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
+ #endif
+
diff --git a/devel/electron12/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/devel/electron12/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
new file mode 100644
index 000000000000..b53a909b814a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/prefs/pref_service_incognito_allowlist.cc
+@@ -136,7 +136,7 @@ const char* const kPersistentPrefNames[] = {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Toggleing custom frames affects all open windows in the profile, hence
+ // should be written to the regular profile when changed in incognito mode.
+ prefs::kUseCustomChromeFrame,
diff --git a/devel/electron12/files/patch-chrome_browser_printing_print__job__worker.cc b/devel/electron12/files/patch-chrome_browser_printing_print__job__worker.cc
new file mode 100644
index 000000000000..0c7a169dcd45
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_printing_print__job__worker.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/printing/print_job_worker.cc.orig 2021-04-22 07:51:50 UTC
++++ chrome/browser/printing/print_job_worker.cc
+@@ -224,7 +224,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
+ crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>(
+ print_backend->GetPrinterDriverInfo(printer_name));
+
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_CUPS)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && defined(USE_CUPS)
+ PrinterBasicInfo basic_info;
+ if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info)) {
+ base::Value advanced_settings(base::Value::Type::DICTIONARY);
+@@ -234,7 +234,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n
+ new_settings.SetKey(kSettingAdvancedSettings,
+ std::move(advanced_settings));
+ }
+-#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
++#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
+ // defined(USE_CUPS)
+ }
+
diff --git a/devel/electron12/files/patch-chrome_browser_process__singleton__posix.cc b/devel/electron12/files/patch-chrome_browser_process__singleton__posix.cc
new file mode 100644
index 000000000000..e43ffe96b522
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_process__singleton__posix.cc
@@ -0,0 +1,35 @@
+--- chrome/browser/process_singleton_posix.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/process_singleton_posix.cc
+@@ -95,12 +95,12 @@
+ #include "net/base/network_interfaces.h"
+ #include "ui/base/l10n/l10n_util.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chrome/browser/ui/process_singleton_dialog_linux.h"
+ #endif
+
+ #if defined(TOOLKIT_VIEWS) && \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ #include "ui/views/linux_ui/linux_ui.h"
+ #endif
+
+@@ -297,7 +297,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
+ if (g_disable_prompt)
+ return g_user_opted_unlock_in_use_profile;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::string16 relaunch_button_text = l10n_util::GetStringUTF16(
+ IDS_PROFILE_IN_USE_LINUX_RELAUNCH);
+ return ShowProcessSingletonDialog(error, relaunch_button_text);
+@@ -874,7 +874,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::Notif
+ return PROCESS_NONE;
+ } else if (strncmp(buf, kACKToken, base::size(kACKToken) - 1) == 0) {
+ #if defined(TOOLKIT_VIEWS) && \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ // Likely NULL in unit tests.
+ views::LinuxUI* linux_ui = views::LinuxUI::instance();
+ if (linux_ui)
diff --git a/devel/electron12/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/devel/electron12/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
new file mode 100644
index 000000000000..17b32b655fa3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+@@ -337,7 +337,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
+ #endif
+ ModelTypeStoreServiceFactory::GetInstance();
diff --git a/devel/electron12/files/patch-chrome_browser_profiles_profile.cc b/devel/electron12/files/patch-chrome_browser_profiles_profile.cc
new file mode 100644
index 000000000000..fd61bac6241a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_profiles_profile.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/profile.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/profiles/profile.cc
+@@ -360,7 +360,7 @@ bool Profile::IsIncognitoProfile() const {
+ bool Profile::IsEphemeralGuestProfileEnabled() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ return base::FeatureList::IsEnabled(
+ features::kEnableEphemeralGuestProfilesOnDesktop);
diff --git a/devel/electron12/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/devel/electron12/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
new file mode 100644
index 000000000000..ac16cd70e3f5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/profile_attributes_entry.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/profiles/profile_attributes_entry.cc
+@@ -159,7 +159,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac
+ if (is_force_signin_enabled_) {
+ if (!IsAuthenticated())
+ is_force_signin_profile_locked_ = true;
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ } else if (IsSigninRequired()) {
+ // Profiles that require signin in the absence of an enterprise policy are
diff --git a/devel/electron12/files/patch-chrome_browser_profiles_profiles__state.cc b/devel/electron12/files/patch-chrome_browser_profiles_profiles__state.cc
new file mode 100644
index 000000000000..5fbbd9937733
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_profiles_profiles__state.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/profiles/profiles_state.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/profiles/profiles_state.cc
+@@ -180,7 +180,7 @@ bool IsRegularOrGuestSession(Browser* browser) {
+ bool IsGuestModeRequested(const base::CommandLine& command_line,
+ PrefService* local_state,
+ bool show_warning) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ DCHECK(local_state);
+
diff --git a/devel/electron12/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/devel/electron12/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
new file mode 100644
index 000000000000..42475e95bf34
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
+@@ -2117,7 +2117,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id)
+ case IDC_CHECK_SPELLING_WHILE_TYPING:
+ return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable);
+
+-#if !defined(OS_MAC) && defined(OS_POSIX)
++#if !defined(OS_MAC) && !defined(OS_BSD) && defined(OS_POSIX)
+ // TODO(suzhe): this should not be enabled for password fields.
+ case IDC_INPUT_METHODS_MENU:
+ return true;
diff --git a/devel/electron12/files/patch-chrome_browser_renderer__preferences__util.cc b/devel/electron12/files/patch-chrome_browser_renderer__preferences__util.cc
new file mode 100644
index 000000000000..0273fdf71ac5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_renderer__preferences__util.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/renderer_preferences_util.cc.orig 2021-04-14 01:08:40 UTC
++++ chrome/browser/renderer_preferences_util.cc
+@@ -35,7 +35,7 @@
+ #include "ui/base/cocoa/defaults_utils.h"
+ #endif
+
+-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ #include "chrome/browser/themes/theme_service.h"
+ #include "chrome/browser/themes/theme_service_factory.h"
+ #include "ui/views/linux_ui/linux_ui.h"
+@@ -154,7 +154,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
+ prefs->caret_blink_interval = interval;
+ #endif
+
+-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ views::LinuxUI* linux_ui = views::LinuxUI::instance();
+ if (linux_ui) {
+ if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
+@@ -173,7 +173,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc
+ }
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ content::UpdateFontRendererPreferencesFromSystemSettings(prefs);
+ #endif
diff --git a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js
index bb1a2adb8326..bb1a2adb8326 100644
--- a/devel/electron11/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js
+++ b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js
diff --git a/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
new file mode 100644
index 000000000000..6f67f2cc47df
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
@@ -0,0 +1,29 @@
+--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/resources/settings/appearance_page/appearance_page.html
+@@ -27,7 +27,7 @@
+ <cr-link-row class="first" hidden="[[!pageVisibility.setTheme]]"
+ label="$i18n{themes}" sub-label="[[themeSublabel_]]"
+ on-click="openThemeUrl_" external></cr-link-row>
+-<if expr="not is_linux or chromeos or lacros">
++<if expr="not is_posix or chromeos or lacros">
+ <template is="dom-if" if="[[prefs.extensions.theme.id.value]]">
+ <div class="separator"></div>
+ <cr-button id="useDefault" on-click="onUseDefaultTap_">
+@@ -35,7 +35,7 @@
+ </cr-button>
+ </template>
+ </if>
+-<if expr="is_linux and not chromeos and not lacros">
++<if expr="is_posix and not chromeos and not lacros">
+ <div class="settings-row continuation"
+ hidden="[[!showThemesSecondary_(
+ prefs.extensions.theme.id.value, useSystemTheme_)]]"
+@@ -109,7 +109,7 @@
+ pref="{{prefs.bookmark_bar.show_on_all_tabs}}"
+ label="$i18n{showBookmarksBar}">
+ </settings-toggle-button>
+-<if expr="is_linux and not chromeos and not lacros">
++<if expr="is_posix and not chromeos and not lacros">
+ <div class="hr" hidden="[[!pageVisibility.bookmarksBar]]"></div>
+ <settings-toggle-button
+ pref="{{prefs.browser.custom_chrome_frame}}"
diff --git a/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js
new file mode 100644
index 000000000000..86565c09ab55
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js
@@ -0,0 +1,33 @@
+--- chrome/browser/resources/settings/appearance_page/appearance_page.js.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/resources/settings/appearance_page/appearance_page.js
+@@ -137,7 +137,7 @@ Polymer({
+ 'defaultFontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)',
+ 'themeChanged_(prefs.extensions.theme.id.value, useSystemTheme_)',
+
+- // <if expr="is_linux and not chromeos">
++ // <if expr="is_bsd and not chromeos">
+ // NOTE: this pref only exists on Linux.
+ 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)',
+ // </if>
+@@ -222,7 +222,7 @@ Polymer({
+ this.appearanceBrowserProxy_.useDefaultTheme();
+ },
+
+- // <if expr="is_linux and not chromeos">
++ // <if expr="is_bsd and not chromeos">
+ /**
+ * @param {boolean} useSystemTheme
+ * @private
+@@ -299,10 +299,10 @@ Polymer({
+ }
+
+ let i18nId;
+- // <if expr="is_linux and not chromeos and not lacros">
++ // <if expr="is_posix and not chromeos and not lacros">
+ i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme';
+ // </if>
+- // <if expr="not is_linux or chromeos or lacros">
++ // <if expr="not is_posix or chromeos or lacros">
+ i18nId = 'chooseFromWebStore';
+ // </if>
+ this.themeSublabel_ = this.i18n(i18nId);
diff --git a/devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc b/devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
index 6537d685eb29..6537d685eb29 100644
--- a/devel/electron11/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
+++ b/devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
diff --git a/devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
new file mode 100644
index 000000000000..54360d4b1332
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
+@@ -708,7 +708,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
+ environment_collection_pending_ = false;
+
+ // Process::Current().CreationTime() is missing on some platforms.
+-#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
++#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ base::TimeDelta uptime =
+ first_incident_time_ - base::Process::Current().CreationTime();
diff --git a/devel/electron12/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc b/devel/electron12/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc
new file mode 100644
index 000000000000..43acf69e7023
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc
@@ -0,0 +1,14 @@
+--- chrome/browser/search/search_suggest/search_suggest_service.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/search/search_suggest/search_suggest_service.cc
+@@ -21,7 +21,11 @@
+ #include "components/search/ntp_features.h"
+ #include "components/signin/public/identity_manager/accounts_in_cookie_jar_info.h"
+ #include "components/signin/public/identity_manager/identity_manager.h"
++#if defined(OS_BSD)
++#include <re2/re2.h>
++#else
+ #include "third_party/re2/src/re2/re2.h"
++#endif
+
+ namespace {
+
diff --git a/devel/electron11/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/devel/electron12/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
index c12131924e30..c12131924e30 100644
--- a/devel/electron11/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
+++ b/devel/electron12/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
diff --git a/devel/electron11/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/devel/electron12/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
index 033fceecb7d0..033fceecb7d0 100644
--- a/devel/electron11/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
+++ b/devel/electron12/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
diff --git a/devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc b/devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc
index 7d6d70c12144..7d6d70c12144 100644
--- a/devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc
+++ b/devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc
diff --git a/devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h b/devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h
index 6a48df2465f1..6a48df2465f1 100644
--- a/devel/electron11/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h
+++ b/devel/electron12/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h
diff --git a/devel/electron12/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/devel/electron12/files/patch-chrome_browser_sharing_sharing__device__registration.cc
new file mode 100644
index 000000000000..3bcef6c19d8c
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_sharing_sharing__device__registration.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/sharing/sharing_device_registration.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/sharing/sharing_device_registration.cc
+@@ -324,7 +324,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported(
+ }
+
+ bool SharingDeviceRegistration::IsRemoteCopySupported() const {
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ return base::FeatureList::IsEnabled(kRemoteCopyReceiver);
+ #else
diff --git a/devel/electron12/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/devel/electron12/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
new file mode 100644
index 000000000000..24a9ec292370
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
@@ -0,0 +1,32 @@
+--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/sharing/sharing_handler_registry_impl.cc
+@@ -23,10 +23,10 @@
+ #include "chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.h"
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h"
+-#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) defined(OS_CHROMEOS)
+
+ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl(
+@@ -71,14 +71,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
+ {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage});
+ }
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ if (sharing_device_registration->IsRemoteCopySupported()) {
+ AddSharingHandler(
+ std::make_unique<RemoteCopyMessageHandler>(profile),
+ {chrome_browser_sharing::SharingMessage::kRemoteCopyMessage});
+ }
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+ }
+
diff --git a/devel/electron11/files/patch-chrome_browser_signin_signin__util.cc b/devel/electron12/files/patch-chrome_browser_signin_signin__util.cc
index 4d5a936fe33c..4d5a936fe33c 100644
--- a/devel/electron11/files/patch-chrome_browser_signin_signin__util.cc
+++ b/devel/electron12/files/patch-chrome_browser_signin_signin__util.cc
diff --git a/devel/electron12/files/patch-chrome_browser_sync_chrome__sync__client.cc b/devel/electron12/files/patch-chrome_browser_sync_chrome__sync__client.cc
new file mode 100644
index 000000000000..d31c938ab4f2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_sync_chrome__sync__client.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/sync/chrome_sync_client.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/sync/chrome_sync_client.cc
+@@ -466,7 +466,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
+
+ // Chrome prefers OS provided spell checkers where they exist. So only sync the
+ // custom dictionary on platforms that typically don't provide one.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
+ // Dictionary sync is enabled by default.
+ if (!disabled_types.Has(syncer::DICTIONARY) &&
+ GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) {
+@@ -475,7 +475,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
+ syncer::DICTIONARY, model_type_store_factory,
+ GetSyncableServiceForType(syncer::DICTIONARY), dump_stack));
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ if (arc::IsArcAllowedForProfile(profile_) &&
diff --git a/devel/electron12/files/patch-chrome_browser_sync_device__info__sync__service__factory.cc b/devel/electron12/files/patch-chrome_browser_sync_device__info__sync__service__factory.cc
new file mode 100644
index 000000000000..fd1ad5e88b5e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_sync_device__info__sync__service__factory.cc
@@ -0,0 +1,17 @@
+--- chrome/browser/sync/device_info_sync_service_factory.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/sync/device_info_sync_service_factory.cc
+@@ -47,12 +47,12 @@ class DeviceInfoSyncClient : public syncer::DeviceInfo
+ // in lacros-chrome once build flag switch of lacros-chrome is
+ // complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ syncer::SyncPrefs prefs(profile_->GetPrefs());
+ if (prefs.IsLocalSyncEnabled()) {
+ return "local_device";
+ }
+-#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS))
+
+ return GetSigninScopedDeviceIdForProfile(profile_);
diff --git a/devel/electron12/files/patch-chrome_browser_sync_profile__sync__service__factory.cc b/devel/electron12/files/patch-chrome_browser_sync_profile__sync__service__factory.cc
new file mode 100644
index 000000000000..e4e43258ac73
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_sync_profile__sync__service__factory.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/sync/profile_sync_service_factory.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/sync/profile_sync_service_factory.cc
+@@ -217,7 +217,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI
+ // in lacros-chrome once build flag switch of lacros-chrome is
+ // complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ syncer::SyncPrefs prefs(profile->GetPrefs());
+ local_sync_backend_enabled = prefs.IsLocalSyncEnabled();
+ UMA_HISTOGRAM_BOOLEAN("Sync.Local.Enabled", local_sync_backend_enabled);
+@@ -235,7 +235,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI
+
+ init_params.start_behavior = syncer::ProfileSyncService::AUTO_START;
+ }
+-#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS))
+
+ if (!local_sync_backend_enabled) {
diff --git a/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.cc
new file mode 100644
index 000000000000..270ac5d36bae
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.cc
@@ -0,0 +1,56 @@
+--- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/task_manager/sampling/task_group.cc
+@@ -33,9 +33,9 @@ const int kBackgroundRefreshTypesMask =
+ #if defined(OS_WIN)
+ REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME |
+ #endif // defined(OS_WIN)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ REFRESH_TYPE_FD_COUNT |
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #if BUILDFLAG(ENABLE_NACL)
+ REFRESH_TYPE_NACL |
+ #endif // BUILDFLAG(ENABLE_NACL)
+@@ -114,9 +114,9 @@ TaskGroup::TaskGroup(
+ #if BUILDFLAG(ENABLE_NACL)
+ nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown),
+ #endif // BUILDFLAG(ENABLE_NACL)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ open_fd_count_(-1),
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ idle_wakeups_per_second_(-1),
+ gpu_memory_has_duplicates_(false),
+ is_backgrounded_(false) {
+@@ -129,10 +129,10 @@ TaskGroup::TaskGroup(
+ weak_ptr_factory_.GetWeakPtr()),
+ base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone,
+ weak_ptr_factory_.GetWeakPtr()),
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone,
+ weak_ptr_factory_.GetWeakPtr()),
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ base::BindRepeating(&TaskGroup::OnProcessPriorityDone,
+ weak_ptr_factory_.GetWeakPtr()));
+
+@@ -300,14 +300,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac
+ }
+ #endif // BUILDFLAG(ENABLE_NACL)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+
+ open_fd_count_ = open_fd_count;
+ OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+
+ void TaskGroup::OnCpuRefreshDone(double cpu_usage) {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.h b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.h
new file mode 100644
index 000000000000..467cf13599c2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group.h
@@ -0,0 +1,48 @@
+--- chrome/browser/task_manager/sampling/task_group.h.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/task_manager/sampling/task_group.h
+@@ -40,7 +40,7 @@ constexpr int kUnsupportedVMRefreshFlags =
+ REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE |
+ REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES |
+ REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY |
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ REFRESH_TYPE_FD_COUNT |
+ #endif
+ REFRESH_TYPE_HARD_FAULTS;
+@@ -123,9 +123,9 @@ class TaskGroup {
+ int nacl_debug_stub_port() const { return nacl_debug_stub_port_; }
+ #endif // BUILDFLAG(ENABLE_NACL)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ int open_fd_count() const { return open_fd_count_; }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+
+ int idle_wakeups_per_second() const { return idle_wakeups_per_second_; }
+
+@@ -139,9 +139,9 @@ class TaskGroup {
+ void RefreshNaClDebugStubPort(int child_process_unique_id);
+ void OnRefreshNaClDebugStubPortDone(int port);
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ void OnOpenFdCountRefreshDone(int open_fd_count);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+
+ void OnCpuRefreshDone(double cpu_usage);
+ void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes);
+@@ -210,10 +210,10 @@ class TaskGroup {
+ #if BUILDFLAG(ENABLE_NACL)
+ int nacl_debug_stub_port_;
+ #endif // BUILDFLAG(ENABLE_NACL)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ // The number of file descriptors currently open by the process.
+ int open_fd_count_;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ int idle_wakeups_per_second_;
+ bool gpu_memory_has_duplicates_;
+ bool is_backgrounded_;
diff --git a/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
new file mode 100644
index 000000000000..b612208aba68
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
@@ -0,0 +1,72 @@
+--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/task_manager/sampling/task_group_sampler.cc
+@@ -44,9 +44,9 @@ TaskGroupSampler::TaskGroupSampler(
+ const OnCpuRefreshCallback& on_cpu_refresh,
+ const OnSwappedMemRefreshCallback& on_swapped_mem_refresh,
+ const OnIdleWakeupsCallback& on_idle_wakeups,
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ const OnOpenFdCountCallback& on_open_fd_count,
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ const OnProcessPriorityCallback& on_process_priority)
+ : process_(std::move(process)),
+ process_metrics_(CreateProcessMetrics(process_.Handle())),
+@@ -54,9 +54,9 @@ TaskGroupSampler::TaskGroupSampler(
+ on_cpu_refresh_callback_(on_cpu_refresh),
+ on_swapped_mem_refresh_callback_(on_swapped_mem_refresh),
+ on_idle_wakeups_callback_(on_idle_wakeups),
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ on_open_fd_count_callback_(on_open_fd_count),
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ on_process_priority_callback_(on_process_priority) {
+ DCHECK(blocking_pool_runner.get());
+
+@@ -86,7 +86,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+ base::BindOnce(on_swapped_mem_refresh_callback_));
+ }
+
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS,
+ refresh_flags)) {
+ base::PostTaskAndReplyWithResult(
+@@ -94,9 +94,9 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+ base::BindOnce(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this),
+ base::BindOnce(on_idle_wakeups_callback_));
+ }
+-#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT,
+ refresh_flags)) {
+ base::PostTaskAndReplyWithResult(
+@@ -104,7 +104,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags)
+ base::BindOnce(&TaskGroupSampler::RefreshOpenFdCount, this),
+ base::BindOnce(on_open_fd_count_callback_));
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+
+ if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY,
+ refresh_flags)) {
+@@ -146,13 +146,13 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() {
+ return process_metrics_->GetIdleWakeupsPerSecond();
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ int TaskGroupSampler::RefreshOpenFdCount() {
+ DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
+
+ return process_metrics_->GetOpenFdCount();
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+
+ bool TaskGroupSampler::RefreshProcessPriority() {
+ DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
index 2297af10acb0..2297af10acb0 100644
--- a/devel/electron11/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
diff --git a/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
new file mode 100644
index 000000000000..7f24699b0207
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
@@ -0,0 +1,16 @@
+--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/task_manager/sampling/task_manager_impl.cc
+@@ -221,11 +221,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
+ }
+
+ int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ return GetTaskGroupByTaskId(task_id)->open_fd_count();
+ #else
+ return -1;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ }
+
+ bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const {
diff --git a/devel/electron11/files/patch-chrome_browser_task__manager_task__manager__observer.h b/devel/electron12/files/patch-chrome_browser_task__manager_task__manager__observer.h
index 00b0d7f1e0fb..00b0d7f1e0fb 100644
--- a/devel/electron11/files/patch-chrome_browser_task__manager_task__manager__observer.h
+++ b/devel/electron12/files/patch-chrome_browser_task__manager_task__manager__observer.h
diff --git a/devel/electron12/files/patch-chrome_browser_themes_theme__service__factory.cc b/devel/electron12/files/patch-chrome_browser_themes_theme__service__factory.cc
new file mode 100644
index 000000000000..270fa29f159f
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_themes_theme__service__factory.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/themes/theme_service_factory.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/themes/theme_service_factory.cc
+@@ -25,7 +25,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/themes/theme_service_aura_linux.h"
+ #include "ui/views/linux_ui/linux_ui.h"
+ #endif
+@@ -82,7 +82,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc
+ content::BrowserContext* profile) const {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ using ThemeService = ThemeServiceAuraLinux;
+ #endif
+
+@@ -96,7 +96,7 @@ void ThemeServiceFactory::RegisterProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ bool default_uses_system_theme = false;
+
+ const views::LinuxUI* linux_ui = views::LinuxUI::instance();
diff --git a/devel/electron12/files/patch-chrome_browser_tracing_crash__service__uploader.cc b/devel/electron12/files/patch-chrome_browser_tracing_crash__service__uploader.cc
new file mode 100644
index 000000000000..01d1e3409fdd
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_tracing_crash__service__uploader.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/tracing/crash_service_uploader.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/tracing/crash_service_uploader.cc
+@@ -161,6 +161,8 @@ void TraceCrashServiceUploader::DoCompressOnBackground
+ const char product[] = "Chrome_Linux";
+ #elif defined(OS_ANDROID)
+ const char product[] = "Chrome_Android";
++#elif defined(OS_FREEBSD)
++ const char product[] = "Chrome_FreeBSD";
+ #else
+ #error Platform not supported.
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_BUILD.gn b/devel/electron12/files/patch-chrome_browser_ui_BUILD.gn
new file mode 100644
index 000000000000..82e8397590ca
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_BUILD.gn
@@ -0,0 +1,19 @@
+--- chrome/browser/ui/BUILD.gn.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/BUILD.gn
+@@ -617,12 +617,15 @@ static_library("ui") {
+ deps += [ "//components/autofill/content/browser/webauthn" ]
+ }
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
+ deps += [
+ "//components/crash/core/app",
+ "//components/crash/core/browser",
+ ]
++ }
++ if (is_bsd) {
++ deps += [ "//components/crash/core/browser" ]
+ }
+
+ if (is_win || is_android || is_linux || is_chromeos) {
diff --git a/devel/electron12/files/patch-chrome_browser_ui_browser__command__controller.cc b/devel/electron12/files/patch-chrome_browser_ui_browser__command__controller.cc
new file mode 100644
index 000000000000..ad47cba21952
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_browser__command__controller.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/ui/browser_command_controller.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/browser_command_controller.cc
+@@ -87,7 +87,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
+ #endif
+
+@@ -256,7 +256,7 @@ bool BrowserCommandController::IsReservedCommandOrKey(
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // If this key was registered by the user as a content editing hotkey, then
+ // it is not reserved.
+ ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
+@@ -492,7 +492,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ case IDC_MINIMIZE_WINDOW:
+ browser_->window()->Minimize();
+ break;
+@@ -989,7 +989,7 @@ void BrowserCommandController::InitCommandState() {
+ #endif
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true);
+ command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true);
+ command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true);
diff --git a/devel/electron12/files/patch-chrome_browser_ui_browser__view__prefs.cc b/devel/electron12/files/patch-chrome_browser_ui_browser__view__prefs.cc
new file mode 100644
index 000000000000..238225c4ffc7
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_browser__view__prefs.cc
@@ -0,0 +1,24 @@
+--- chrome/browser/ui/browser_view_prefs.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/browser_view_prefs.cc
+@@ -29,7 +29,7 @@ const char kTabStripLayoutType[] = "tab_strip_layout_t
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ bool GetCustomFramePrefDefault() {
+ #if defined(USE_OZONE)
+ if (features::IsUsingOzonePlatform()) {
+@@ -56,10 +56,10 @@ void RegisterBrowserViewProfilePrefs(
+ user_prefs::PrefRegistrySyncable* registry) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
+ GetCustomFramePrefDefault());
+-#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
++#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
+ // defined(!OS_CHROMEOS)
+ }
+
diff --git a/devel/electron11/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/devel/electron12/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
index 35b57e65d20c..35b57e65d20c 100644
--- a/devel/electron11/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
+++ b/devel/electron12/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
diff --git a/devel/electron11/files/patch-chrome_browser_ui_sad__tab.cc b/devel/electron12/files/patch-chrome_browser_ui_sad__tab.cc
index ed928aa99dad..ed928aa99dad 100644
--- a/devel/electron11/files/patch-chrome_browser_ui_sad__tab.cc
+++ b/devel/electron12/files/patch-chrome_browser_ui_sad__tab.cc
diff --git a/devel/electron12/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/devel/electron12/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
new file mode 100644
index 000000000000..72a66464f49d
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/startup/bad_flags_prompt.cc
+@@ -96,7 +96,7 @@ static const char* kBadFlags[] = {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Speech dispatcher is buggy, it can crash and it can make Chrome freeze.
+ // http://crbug.com/327295
+ switches::kEnableSpeechDispatcher,
diff --git a/devel/electron12/files/patch-chrome_browser_ui_tab__helpers.cc b/devel/electron12/files/patch-chrome_browser_ui_tab__helpers.cc
new file mode 100644
index 000000000000..fd4fd1569ff5
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_tab__helpers.cc
@@ -0,0 +1,25 @@
+--- chrome/browser/ui/tab_helpers.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/tab_helpers.cc
+@@ -150,7 +150,7 @@
+ #include "chrome/browser/ui/app_list/search/cros_action_history/cros_action_recorder_tab_tracker.h"
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
+ #include "chrome/browser/ui/hats/hats_helper.h"
+@@ -422,11 +422,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents);
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ if (base::FeatureList::IsEnabled(
+ features::kHappinessTrackingSurveysForDesktop) ||
diff --git a/devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
new file mode 100644
index 000000000000..6a9cfa283f8b
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
@@ -0,0 +1,15 @@
+--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/task_manager/task_manager_columns.cc
+@@ -94,10 +94,10 @@ const TableColumnData kColumns[] = {
+ base::size("100000") * kCharWidth, -1, true, false, false},
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ {IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
+ base::size("999") * kCharWidth, -1, true, false, false},
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ {IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN, ui::TableColumn::LEFT, -1, 0,
+ base::size("background") * kCharWidth, -1, true, true, false},
+ {IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0,
diff --git a/devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
index d1337091d020..d1337091d020 100644
--- a/devel/electron11/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
+++ b/devel/electron12/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
diff --git a/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__dialog.cc b/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
new file mode 100644
index 000000000000..730f187cca67
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__dialog.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/test/test_browser_dialog.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/test/test_browser_dialog.cc
+@@ -117,7 +117,7 @@ bool TestBrowserDialog::VerifyUi() {
+ // TODO(https://crbug.com/958242) support Mac for pixel tests.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ dialog_widget->SetBlockCloseForTesting(true);
+ // Deactivate before taking screenshot. Deactivated dialog pixel outputs
+ // is more predictable than activated dialog.
diff --git a/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__ui.cc
new file mode 100644
index 000000000000..a45cd632913e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_test_test__browser__ui.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/test/test_browser_ui.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/test/test_browser_ui.cc
+@@ -13,7 +13,7 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ #include "chrome/test/pixel/browser_skia_gold_pixel_diff.h"
+ #include "ui/base/test/skia_gold_matching_algorithm.h"
+ #include "ui/compositor/test/draw_waiter_for_test.h"
+@@ -37,7 +37,7 @@ std::string NameFromTestCase() {
+ TestBrowserUi::TestBrowserUi() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ // Default to fuzzy diff. The magic number is chosen based on
+ // past experiments.
+ SetPixelMatchAlgorithm(
+@@ -50,7 +50,7 @@ TestBrowserUi::~TestBrowserUi() = default;
+ // TODO(https://crbug.com/958242) support Mac for pixel tests.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ bool TestBrowserUi::VerifyPixelUi(views::Widget* widget,
+ const std::string& screenshot_prefix,
+ const std::string& screenshot_name) {
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_accelerator__table.cc b/devel/electron12/files/patch-chrome_browser_ui_views_accelerator__table.cc
new file mode 100644
index 000000000000..e4843c0d0bd3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_accelerator__table.cc
@@ -0,0 +1,46 @@
+--- chrome/browser/ui/views/accelerator_table.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/accelerator_table.cc
+@@ -61,7 +61,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+ {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB},
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
+ {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB},
+ {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT},
+@@ -93,7 +93,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+ {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7},
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
+ {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0},
+ {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1},
+@@ -111,7 +111,7 @@ const AcceleratorMapping kAcceleratorMap[] = {
+ {ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
+ {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7},
+ {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR},
+-#endif // OS_LINUX && !OS_CHROMEOS
++#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS
+ {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR,
+ IDC_SHOW_BOOKMARK_BAR},
+ {ui::VKEY_OEM_MINUS, ui::EF_PLATFORM_ACCELERATOR, IDC_ZOOM_MINUS},
+@@ -137,14 +137,14 @@ const AcceleratorMapping kAcceleratorMap[] = {
+ IDC_SHOW_AVATAR_MENU},
+
+ // Platform-specific key maps.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK},
+ {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD},
+ {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME},
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD},
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE},
+ {ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE},
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash.
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/devel/electron12/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
new file mode 100644
index 000000000000..9219806b73cb
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
+@@ -22,7 +22,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/shell_integration_linux.h"
+ #endif
+
+@@ -61,7 +61,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
+ views::Widget* widget) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ std::string app_name =
+ web_app::GenerateApplicationNameFromAppId(app_window()->extension_id());
+ // Set up a custom WM_CLASS for app windows. This allows task switchers in
+@@ -71,7 +71,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni
+ init_params->wm_class_class = shell_integration_linux::GetProgramClassClass();
+ const char kX11WindowRoleApp[] = "app";
+ init_params->wm_role_name = std::string(kX11WindowRoleApp);
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ ChromeNativeAppWindowViews::OnBeforeWidgetInit(create_params, init_params,
+ widget);
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc b/devel/electron12/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
new file mode 100644
index 000000000000..b081711d0377
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc
+@@ -1856,7 +1856,7 @@ class BookmarkBarViewTest20 : public BookmarkBarViewEv
+ }
+
+ void Step3() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ EXPECT_EQ(1, test_view_->press_count());
+ #else
+ EXPECT_EQ(2, test_view_->press_count());
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/devel/electron12/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
new file mode 100644
index 000000000000..df54261d4fa9
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
+@@ -38,7 +38,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -48,7 +48,7 @@
+ #include "chrome/grit/generated_resources.h"
+ #include "content/public/common/content_switches.h"
+ #include "ui/base/l10n/l10n_util.h"
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ // This connector is used in ui_devtools's TracingAgent to hook up with the
+ // tracing service.
+@@ -120,7 +120,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // On the Linux desktop, we want to prevent the user from logging in as root,
+ // so that we don't destroy the profile. Now that we have some minimal ui
+ // initialized, check to see if we're running as root and bail if we are.
+@@ -151,7 +151,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
+ base::RunLoop().RunUntilIdle();
+
+ exit(EXIT_FAILURE);
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ }
+
+ void ChromeBrowserMainExtraPartsViews::PostBrowserStart() {
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/devel/electron12/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
new file mode 100644
index 000000000000..ebb079216666
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/chrome_views_delegate.h
+@@ -48,7 +48,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat
+ base::OnceClosure callback) override;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ gfx::ImageSkia* GetDefaultWindowIcon() const override;
+ bool WindowManagerProvidesTitleBar(bool maximized) override;
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/devel/electron12/files/patch-chrome_browser_ui_views_download_download__item__view.cc
new file mode 100644
index 000000000000..74a53f35b919
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_download_download__item__view.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/download/download_item_view.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/download/download_item_view.cc
+@@ -189,7 +189,7 @@ bool UseNewWarnings() {
+ }
+
+ int GetFilenameStyle(const views::Label& label) {
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ if (UseNewWarnings())
+ return STYLE_EMPHASIZED;
+ #endif
+@@ -197,7 +197,7 @@ int GetFilenameStyle(const views::Label& label) {
+ }
+
+ int GetFilenameStyle(const views::StyledLabel& label) {
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ if (UseNewWarnings())
+ return STYLE_EMPHASIZED;
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
new file mode 100644
index 000000000000..bd8f01047133
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/browser_frame.cc
+@@ -44,7 +44,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "ui/display/screen.h"
+ #endif
+
+@@ -53,7 +53,7 @@ namespace {
+ bool IsUsingGtkTheme(Profile* profile) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme();
+ #else
+ return false;
+@@ -226,7 +226,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
+ IsVisibleOnAllWorkspaces());
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // If the window was sent to a different workspace, prioritize it if
+ // it was sent to the current workspace and deprioritize it
+ // otherwise. This is done by MoveBrowsersInWorkspaceToFront()
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
new file mode 100644
index 000000000000..cd5965173904
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc
+@@ -16,7 +16,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.h"
+ #include "chrome/browser/ui/views/frame/desktop_linux_browser_frame_view_layout.h"
+ #include "ui/views/linux_ui/linux_ui.h"
+@@ -32,7 +32,7 @@ std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBr
+ BrowserView* browser_view) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ auto* linux_ui = views::LinuxUI::instance();
+ auto* profile = browser_view->browser()->profile();
+ auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile);
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__view.cc
new file mode 100644
index 000000000000..b1adb8641932
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_browser__view.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/browser_view.cc
+@@ -1504,7 +1504,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra
+ // CrOS cleanup is done.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ contents_web_view_->SetFastResize(is_dragging);
+ if (!is_dragging) {
+ // When tab dragging is ended, we need to make sure the web contents get
+@@ -1886,7 +1886,7 @@ void BrowserView::UserChangedTheme(BrowserThemeChangeT
+ bool must_regenerate_frame;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // GTK and user theme changes can both change frame buttons, so the frame
+ // always needs to be regenerated on Linux.
+ must_regenerate_frame = true;
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
new file mode 100644
index 000000000000..69b92958ce97
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
+@@ -50,7 +50,7 @@
+ #include "ui/views/window/vector_icons/vector_icons.h"
+ #include "ui/views/window/window_shape.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/views/controls/menu/menu_runner.h"
+ #endif
+
+@@ -468,7 +468,7 @@ OpaqueBrowserFrameView::FrameButtonStyle
+ OpaqueBrowserFrameView::GetFrameButtonStyle() const {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return FrameButtonStyle::kMdButton;
+ #else
+ return FrameButtonStyle::kImageButton;
+@@ -662,7 +662,7 @@ gfx::Rect OpaqueBrowserFrameView::IconBounds() const {
+ }
+
+ void OpaqueBrowserFrameView::WindowIconPressed() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // TODO(pbos): Figure out / document why this is Linux only. This needs a
+ // comment.
+ views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
diff --git a/devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
index f7aef7726900..f7aef7726900 100644
--- a/devel/electron11/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
new file mode 100644
index 000000000000..49f334c59688
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
+@@ -70,7 +70,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
+ ui::SimpleMenuModel* model) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU);
+ model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU);
+ model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU);
+@@ -87,7 +87,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser
+ }
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ model->AddSeparator(ui::NORMAL_SEPARATOR);
+ model->AddCheckItemWithStringId(IDC_USE_SYSTEM_TITLE_BAR,
+ IDS_SHOW_WINDOW_DECORATIONS_MENU);
+@@ -130,7 +130,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo
+ }
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ model->AddSeparator(ui::NORMAL_SEPARATOR);
+ model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE);
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
new file mode 100644
index 000000000000..ad72d66cd800
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc
+@@ -19,7 +19,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "chrome/common/pref_names.h"
+ #include "components/prefs/pref_service.h"
+ #endif
+@@ -36,7 +36,7 @@ SystemMenuModelDelegate::~SystemMenuModelDelegate() {}
+ bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (command_id == IDC_USE_SYSTEM_TITLE_BAR) {
+ PrefService* prefs = browser_->profile()->GetPrefs();
+ return !prefs->GetBoolean(prefs::kUseCustomChromeFrame);
+@@ -52,7 +52,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c
+ bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ bool is_maximized = browser_->window()->IsMaximized();
+ switch (command_id) {
+ case IDC_MAXIMIZE_WINDOW:
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/devel/electron12/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
new file mode 100644
index 000000000000..88ffd34cf43a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/hung_renderer_view.cc
+@@ -423,7 +423,7 @@ void HungRendererDialogView::ForceCrashHungRenderer()
+ content::RenderProcessHost* rph =
+ hung_pages_table_model_->GetRenderWidgetHost()->GetProcess();
+ if (rph) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // A generic |CrashDumpHungChildProcess()| is not implemented for Linux.
+ // Instead we send an explicit IPC to crash on the renderer's IO thread.
+ rph->ForceCrash();
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/devel/electron12/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
new file mode 100644
index 000000000000..39da0e972af2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2021-04-14 01:08:41 UTC
++++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+@@ -573,7 +573,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo(
+
+ auto avatar_image_view = std::make_unique<AvatarImageView>(image_model, this);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // crbug.com/1161166: Orca does not read the accessible window title of the
+ // bubble, so we duplicate it in the top-level menu item. To be revisited
+ // after considering other options, including fixes on the AT side.
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
new file mode 100644
index 000000000000..1f5d5bd3ccb0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/new_tab_button.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/views/tabs/new_tab_button.cc
+@@ -58,7 +58,7 @@ NewTabButton::NewTabButton(TabStrip* tab_strip, Presse
+ SetAnimateOnStateChange(true);
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ SetTriggerableEventFlags(GetTriggerableEventFlags() |
+ ui::EF_MIDDLE_MOUSE_BUTTON);
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab.cc b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab.cc
new file mode 100644
index 000000000000..300018990dec
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/views/tabs/tab.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/views/tabs/tab.cc
+@@ -577,7 +577,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
+ if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled())
+ return;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Move the hit test area for hovering up so that it is not overlapped by tab
+ // hover cards when they are shown.
+ // TODO(crbug/978134): Once Linux/CrOS widget transparency is solved, remove
diff --git a/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
new file mode 100644
index 000000000000..d5e9ef1ed7b0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
@@ -0,0 +1,29 @@
+--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
+@@ -447,7 +447,7 @@ void TabDragController::Init(TabDragContext* source_co
+ // synchronous on desktop Linux, so use that.
+ // - Chrome OS
+ // Releasing capture on Ash cancels gestures so avoid it.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ can_release_capture_ = false;
+ #endif
+ start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y());
+@@ -898,7 +898,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ // EndMoveLoop is going to snap the window back to its original location.
+ // Hide it so users don't see this. Hiding a window in Linux aura causes
+ // it to lose capture so skip it.
+@@ -2117,7 +2117,7 @@ TabDragController::Liveness TabDragController::GetLoca
+ }
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Exclude windows which are pending deletion via Browser::TabStripEmpty().
+ // These windows can be returned in the Linux Aura port because the browser
+ // window which was used for dragging is not hidden once all of its tabs are
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_about__ui.cc b/devel/electron12/files/patch-chrome_browser_ui_webui_about__ui.cc
new file mode 100644
index 000000000000..36ea50f00df4
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_about__ui.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/about_ui.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/about_ui.cc
+@@ -580,7 +580,7 @@ std::string ChromeURLs() {
+ return html;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ std::string AboutLinuxProxyConfig() {
+ std::string data;
+ AppendHeader(&data, 0,
+@@ -636,7 +636,7 @@ void AboutUIHTMLSource::StartDataRequest(
+ response =
+ ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
+ }
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
+ response = AboutLinuxProxyConfig();
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/devel/electron12/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
new file mode 100644
index 000000000000..f5747d9a7af3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
@@ -0,0 +1,78 @@
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+@@ -242,7 +242,7 @@
+ #include "chrome/browser/ui/webui/app_launcher_page_ui.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h"
+ #endif
+
+@@ -263,12 +263,12 @@
+ #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h"
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #include "chrome/browser/ui/webui/discards/discards_ui.h"
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h"
+ #endif
+@@ -465,7 +465,7 @@ bool IsAboutUI(const GURL& url) {
+ #if !defined(OS_ANDROID)
+ || url.host_piece() == chrome::kChromeUITermsHost
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost
+ #endif
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -811,7 +811,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ }
+ #endif // !defined(OFFICIAL_BUILD)
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost)
+ return &NewWebUI<WebUIJsErrorUI>;
+ #endif
+@@ -873,7 +873,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ if (url.host_piece() == chrome::kChromeUINaClHost)
+ return &NewWebUI<NaClUI>;
+ #endif
+-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
+ defined(USE_AURA)
+ if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost)
+ return &NewWebUI<ConstrainedWebDialogUI>;
+@@ -917,13 +917,13 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ return &NewWebUI<media_router::MediaRouterInternalsUI>;
+ }
+ #endif
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ if (url.host_piece() == chrome::kChromeUISandboxHost) {
+ return &NewWebUI<SandboxInternalsUI>;
+ }
+ #endif
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ if (url.host_piece() == chrome::kChromeUIDiscardsHost)
+ return &NewWebUI<DiscardsUI>;
+@@ -931,7 +931,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost)
+ return &NewWebUI<BrowserSwitchUI>;
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
new file mode 100644
index 000000000000..b50b2e22b65a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/settings/appearance_handler.cc
+@@ -31,7 +31,7 @@ void AppearanceHandler::RegisterMessages() {
+ base::Unretained(this)));
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ web_ui()->RegisterMessageCallback(
+ "useSystemTheme",
+ base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme,
+@@ -45,7 +45,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) {
+ if (profile_->IsSupervised())
+ NOTREACHED();
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
new file mode 100644
index 000000000000..0b7fa52a45a4
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/settings/appearance_handler.h
+@@ -39,7 +39,7 @@ class AppearanceHandler : public SettingsPageUIHandler
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Changes the UI theme of the browser to the system (GTK+) theme.
+ void HandleUseSystemTheme(const base::ListValue* args);
+ #endif
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
new file mode 100644
index 000000000000..7af4f18cc662
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
@@ -0,0 +1,20 @@
+--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+@@ -343,7 +343,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ {"huge", IDS_SETTINGS_HUGE_FONT_SIZE},
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ {"systemTheme", IDS_SETTINGS_SYSTEM_THEME},
+ {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME},
+ {"classicTheme", IDS_SETTINGS_CLASSIC_THEME},
+@@ -351,7 +351,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
+ #else
+ {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME},
+ #endif
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
+ #endif
+ #if defined(OS_MAC)
diff --git a/devel/electron12/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc b/devel/electron12/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc
new file mode 100644
index 000000000000..7729d159ea94
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc
+@@ -20,7 +20,7 @@
+
+ WebUIJsErrorUI::WebUIJsErrorUI(content::WebUI* web_ui)
+ : content::WebUIController(web_ui) {
+-#if !defined(OS_WIN) && !defined(OS_FUCHSIA)
++#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD)
+ VLOG(3) << std::boolalpha << "chrome://webuijserror loading. "
+ << "Experiment state: send javascript errors is "
+ << base::FeatureList::IsEnabled(
diff --git a/devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h
index db44d64a4c6f..db44d64a4c6f 100644
--- a/devel/electron11/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h
+++ b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h
diff --git a/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__run__on__os__login.cc b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__run__on__os__login.cc
new file mode 100644
index 000000000000..2cb8da5735f6
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__run__on__os__login.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/components/web_app_run_on_os_login.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/web_applications/components/web_app_run_on_os_login.cc
+@@ -34,7 +34,7 @@ namespace internals {
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if !(defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)))
++#if !(defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)))
+ // TODO(crbug.com/897302): This boilerplate function is used for platforms
+ // that don't support Run On OS Login. Currently the feature is supported on
+ // Windows, Linux and MacOS.
diff --git a/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc
new file mode 100644
index 000000000000..65bbb0ec5f65
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/components/web_app_shortcut.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/web_applications/components/web_app_shortcut.cc
+@@ -33,7 +33,7 @@ namespace {
+
+ #if defined(OS_MAC)
+ const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Linux supports icons of any size. FreeDesktop Icon Theme Specification states
+ // that "Minimally you should install a 48x48 icon in the hicolor theme."
+ const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512};
diff --git a/devel/electron12/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc b/devel/electron12/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc
new file mode 100644
index 000000000000..ae050ac785c0
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc
+@@ -18,7 +18,7 @@ namespace {
+ bool CanOsAddDesktopShortcuts() {
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD)
+ return true;
+ #else
+ return false;
diff --git a/devel/electron12/files/patch-chrome_common_BUILD.gn b/devel/electron12/files/patch-chrome_common_BUILD.gn
new file mode 100644
index 000000000000..66f8896eab9a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_BUILD.gn
@@ -0,0 +1,36 @@
+--- chrome/common/BUILD.gn.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/BUILD.gn
+@@ -251,6 +251,10 @@ static_library("common") {
+ public_deps += [ "//ppapi/shared_impl" ]
+ }
+
++ if (is_bsd) {
++ deps -= [ "//components/crash/core/app" ]
++ }
++
+ if (enable_extensions) {
+ sources += [
+ "extensions/api/commands/commands_handler.cc",
+@@ -481,13 +485,21 @@ static_library("common") {
+ public_deps += [ "//chrome/common/safe_browsing" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "auto_start_linux.cc",
+ "auto_start_linux.h",
+ "multi_process_lock_linux.cc",
+ ]
+ deps += [ "//sandbox/linux:sandbox_services" ]
++ }
++
++ if (is_bsd) {
++ sources += [
++ "auto_start_linux.cc",
++ "auto_start_linux.h",
++ "multi_process_lock_linux.cc",
++ ]
+ }
+
+ if (enable_cdm_host_verification) {
diff --git a/devel/electron12/files/patch-chrome_common_channel__info.h b/devel/electron12/files/patch-chrome_common_channel__info.h
new file mode 100644
index 000000000000..2c8331a19d17
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_channel__info.h
@@ -0,0 +1,11 @@
+--- chrome/common/channel_info.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/channel_info.h
+@@ -70,7 +70,7 @@ std::string GetChannelSuffixForDataDir();
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Returns the channel-specific filename of the desktop shortcut used to launch
+ // the browser.
+ std::string GetDesktopName(base::Environment* env);
diff --git a/devel/electron12/files/patch-chrome_common_channel__info__posix.cc b/devel/electron12/files/patch-chrome_common_channel__info__posix.cc
new file mode 100644
index 000000000000..e44c70a0dde3
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_channel__info__posix.cc
@@ -0,0 +1,20 @@
+--- chrome/common/channel_info_posix.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/channel_info_posix.cc
+@@ -70,7 +70,7 @@ std::string GetChannelSuffixForDataDir() {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ std::string GetDesktopName(base::Environment* env) {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ // Google Chrome packaged as a snap is a special case: the application name
+@@ -99,7 +99,7 @@ std::string GetDesktopName(base::Environment* env) {
+ return "chromium-browser.desktop";
+ #endif
+ }
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ version_info::Channel GetChannel() {
+ return GetChannelImpl(nullptr);
diff --git a/devel/electron12/files/patch-chrome_common_chrome__features.cc b/devel/electron12/files/patch-chrome_common_chrome__features.cc
new file mode 100644
index 000000000000..7b30a6e320ea
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__features.cc
@@ -0,0 +1,34 @@
+--- chrome/common/chrome_features.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_features.cc
+@@ -92,13 +92,13 @@ const base::Feature kAsyncDns {
+ #endif
+ };
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Enables the Restart background mode optimization. When all Chrome UI is
+ // closed and it goes in the background, allows to restart the browser to
+ // discard memory.
+ const base::Feature kBackgroundModeAllowRestart{
+ "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT};
+-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ // Enable Borealis on Chrome OS.
+@@ -348,13 +348,13 @@ const base::Feature kEnableAllSystemWebApps{"EnableAll
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ // Enables ephemeral Guest profiles on desktop.
+ extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop{
+ "EnableEphemeralGuestProfilesOnDesktop", base::FEATURE_DISABLED_BY_DEFAULT};
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC)
+
+ #if defined(OS_WIN)
diff --git a/devel/electron12/files/patch-chrome_common_chrome__features.h b/devel/electron12/files/patch-chrome_common_chrome__features.h
new file mode 100644
index 000000000000..0cf265346a36
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__features.h
@@ -0,0 +1,29 @@
+--- chrome/common/chrome_features.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_features.h
+@@ -78,10 +78,10 @@ extern const base::Feature kAppShimNewCloseBehavior;
+
+ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::Feature kBackgroundModeAllowRestart;
+-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis;
+@@ -230,11 +230,11 @@ extern const base::Feature kEnableAmbientAuthenticatio
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ COMPONENT_EXPORT(CHROME_FEATURES)
+ extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop;
+-#endif // defined(OS_WIN) || (defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC)
+
+ #if defined(OS_WIN)
diff --git a/devel/electron12/files/patch-chrome_common_chrome__paths.cc b/devel/electron12/files/patch-chrome_common_chrome__paths.cc
new file mode 100644
index 000000000000..d3ed8db230de
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__paths.cc
@@ -0,0 +1,103 @@
+--- chrome/common/chrome_paths.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_paths.cc
+@@ -48,21 +48,29 @@ namespace {
+ const base::FilePath::CharType kPepperFlashBaseDirectory[] =
+ FILE_PATH_LITERAL("PepperFlash");
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The path to the external extension <id>.json files.
+ // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/
+ const base::FilePath::CharType kFilepathSinglePrefExtensions[] =
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
++#if defined(OS_BSD)
++ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions");
++#else
+ FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
++#endif
+ #else
++#if defined(OS_BSD)
++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
++#else
+ FILE_PATH_LITERAL("/usr/share/chromium/extensions");
++#endif
+ #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
+
+ // The path to the hint file that tells the pepper plugin loader
+ // where it can find the latest component updated flash.
+ const base::FilePath::CharType kComponentUpdatedFlashHint[] =
+ FILE_PATH_LITERAL("latest-component-updated-flash");
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
+ BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
+@@ -183,7 +191,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ return false;
+ break;
+ case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (!GetUserDownloadsDirectorySafe(&cur))
+ return false;
+ break;
+@@ -447,6 +455,9 @@ bool PathProvider(int key, base::FilePath* result) {
+ case chrome::DIR_POLICY_FILES: {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies"));
++#elif defined(OS_BSD)
++ cur = base::FilePath(FILE_PATH_LITERAL(
++ "/usr/local/etc/chrome/policies"));
+ #else
+ cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies"));
+ #endif
+@@ -455,9 +466,9 @@ bool PathProvider(int key, base::FilePath* result) {
+ #endif
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_CHROMEOS) || \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+- BUILDFLAG(CHROMIUM_BRANDING)) || \
++#if defined(OS_CHROMEOS) || \
++ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
++ BUILDFLAG(CHROMIUM_BRANDING)) || \
+ defined(OS_MAC)
+ case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
+@@ -466,7 +477,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ break;
+ }
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
+ cur = base::FilePath(kFilepathSinglePrefExtensions);
+ break;
+@@ -501,7 +512,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ #endif
+ break;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ case chrome::DIR_NATIVE_MESSAGING:
+ #if defined(OS_MAC)
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+@@ -515,6 +526,9 @@ bool PathProvider(int key, base::FilePath* result) {
+ #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
+ cur = base::FilePath(FILE_PATH_LITERAL(
+ "/etc/opt/chrome/native-messaging-hosts"));
++#elif defined(OS_BSD)
++ cur = base::FilePath(FILE_PATH_LITERAL(
++ "/usr/local/etc/chrome/native-messaging-hosts"));
+ #else
+ cur = base::FilePath(FILE_PATH_LITERAL(
+ "/etc/chromium/native-messaging-hosts"));
+@@ -527,7 +541,7 @@ bool PathProvider(int key, base::FilePath* result) {
+ return false;
+ cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts"));
+ break;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ #if !defined(OS_ANDROID)
+ case chrome::DIR_GLOBAL_GCM_STORE:
+ if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
diff --git a/devel/electron12/files/patch-chrome_common_chrome__paths.h b/devel/electron12/files/patch-chrome_common_chrome__paths.h
new file mode 100644
index 000000000000..4466d6d52da8
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__paths.h
@@ -0,0 +1,33 @@
+--- chrome/common/chrome_paths.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_paths.h
+@@ -53,9 +53,9 @@ enum {
+ #endif
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_CHROMEOS) || \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+- BUILDFLAG(CHROMIUM_BRANDING)) || \
++#if defined(OS_CHROMEOS) || \
++ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
++ BUILDFLAG(CHROMIUM_BRANDING)) || \
+ defined(OS_MAC)
+ DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions
+ // on Chrome Mac and Chromium Linux.
+@@ -64,7 +64,7 @@ enum {
+ // create it.
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension'
+ // definition manifest files that
+ // describe extensions which are to be
+@@ -118,7 +118,7 @@ enum {
+ DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers
+ // reside.
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ DIR_NATIVE_MESSAGING, // System directory where native messaging host
+ // manifest files are stored.
+ DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts
diff --git a/devel/electron11/files/patch-chrome_common_chrome__paths__internal.h b/devel/electron12/files/patch-chrome_common_chrome__paths__internal.h
index 3f879de7a7ac..3f879de7a7ac 100644
--- a/devel/electron11/files/patch-chrome_common_chrome__paths__internal.h
+++ b/devel/electron12/files/patch-chrome_common_chrome__paths__internal.h
diff --git a/devel/electron12/files/patch-chrome_common_chrome__switches.cc b/devel/electron12/files/patch-chrome_common_chrome__switches.cc
new file mode 100644
index 000000000000..c863e250a16a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__switches.cc
@@ -0,0 +1,11 @@
+--- chrome/common/chrome_switches.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_switches.cc
+@@ -810,7 +810,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n
+ const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
+
diff --git a/devel/electron12/files/patch-chrome_common_chrome__switches.h b/devel/electron12/files/patch-chrome_common_chrome__switches.h
new file mode 100644
index 000000000000..54910bcf6d74
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_chrome__switches.h
@@ -0,0 +1,11 @@
+--- chrome/common/chrome_switches.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/chrome_switches.h
+@@ -255,7 +255,7 @@ extern const char kAllowNaClFileHandleAPI[];
+ extern const char kAllowNaClSocketAPI[];
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ extern const char kEnableNewAppMenuIcon[];
+ extern const char kGuest[];
diff --git a/devel/electron12/files/patch-chrome_common_extensions_command.cc b/devel/electron12/files/patch-chrome_common_extensions_command.cc
new file mode 100644
index 000000000000..0017b7cb876e
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_extensions_command.cc
@@ -0,0 +1,11 @@
+--- chrome/common/extensions/command.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/extensions/command.cc
+@@ -294,7 +294,7 @@ std::string Command::CommandPlatform() {
+ return values::kKeybindingPlatformMac;
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ return values::kKeybindingPlatformChromeOs;
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return values::kKeybindingPlatformLinux;
+ #else
+ return "";
diff --git a/devel/electron12/files/patch-chrome_common_features.gni b/devel/electron12/files/patch-chrome_common_features.gni
new file mode 100644
index 000000000000..f78fa86dd535
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_features.gni
@@ -0,0 +1,11 @@
+--- chrome/common/features.gni.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/features.gni
+@@ -54,7 +54,7 @@ declare_args() {
+ enable_one_click_signin =
+ is_win || is_mac || ((is_linux || is_chromeos_lacros) && !is_chromecast)
+
+- enable_service_discovery = (enable_mdns && !is_android) || is_mac
++ enable_service_discovery = (enable_mdns && !is_android) || is_mac || is_bsd
+
+ # Enables use of the session service, which is enabled by default.
+ # Android stores them separately on the Java side.
diff --git a/devel/electron12/files/patch-chrome_common_pref__names.cc b/devel/electron12/files/patch-chrome_common_pref__names.cc
new file mode 100644
index 000000000000..9af55a074f04
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_pref__names.cc
@@ -0,0 +1,53 @@
+--- chrome/common/pref_names.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/pref_names.cc
+@@ -1099,7 +1099,7 @@ const char kAllowedDomainsForApps[] = "settings.allowe
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Linux specific preference on whether we should match the system theme.
+ const char kUsesSystemTheme[] = "extensions.theme.use_system";
+ #endif
+@@ -1274,7 +1274,7 @@ const char kShowUpdatePromotionInfoBar[] =
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Boolean that is false if we should show window manager decorations. If
+ // true, we draw a custom chrome frame (thicker title bar and blue border).
+ const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
+@@ -1726,7 +1726,7 @@ const char kDownloadDefaultDirectory[] = "download.def
+ // upgrade a unsafe location to a safe location.
+ const char kDownloadDirUpgraded[] = "download.directory_upgrade";
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ const char kOpenPdfDownloadInSystemReader[] =
+ "download.open_pdf_in_system_reader";
+@@ -2103,12 +2103,12 @@ const char kAmbientAuthenticationInPrivateModesEnabled
+ // requests.
+ const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled";
+
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
+ // along with kAuthNegotiateDelegateAllowlist.
+ const char kAuthNegotiateDelegateByKdcPolicy[] =
+ "auth.negotiate_delegate_by_kdc_policy";
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ // Boolean that specifies whether NTLMv2 is enabled.
+@@ -3001,7 +3001,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Boolean that indicates if native notifications are allowed to be used in
+ // place of Chrome notifications.
+ const char kAllowNativeNotifications[] = "native_notifications.allowed";
diff --git a/devel/electron12/files/patch-chrome_common_pref__names.h b/devel/electron12/files/patch-chrome_common_pref__names.h
new file mode 100644
index 000000000000..9b953c1408a2
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_pref__names.h
@@ -0,0 +1,50 @@
+--- chrome/common/pref_names.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/pref_names.h
+@@ -364,7 +364,7 @@ extern const char kForceYouTubeRestrict[];
+ extern const char kAllowedDomainsForApps[];
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ extern const char kUsesSystemTheme[];
+ #endif
+ extern const char kCurrentThemePackFilename[];
+@@ -393,7 +393,7 @@ extern const char kShowUpdatePromotionInfoBar[];
+ #endif
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ extern const char kUseCustomChromeFrame[];
+ #endif
+ #if BUILDFLAG(ENABLE_PLUGINS)
+@@ -564,7 +564,7 @@ extern const char kDownloadExtensionsToOpen[];
+ extern const char kDownloadExtensionsToOpenByPolicy[];
+ extern const char kDownloadAllowedURLsForOpenByPolicy[];
+ extern const char kDownloadDirUpgraded[];
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ extern const char kOpenPdfDownloadInSystemReader[];
+ #endif
+@@ -795,9 +795,9 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[]
+ extern const char kAmbientAuthenticationInPrivateModesEnabled[];
+ extern const char kBasicAuthOverHttpEnabled[];
+
+-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ extern const char kAuthNegotiateDelegateByKdcPolicy[];
+-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ extern const char kNtlmV2Enabled[];
+@@ -1028,7 +1028,7 @@ extern const char kBlockAutoplayEnabled[];
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ extern const char kAllowNativeNotifications[];
+ #endif
+
diff --git a/devel/electron12/files/patch-chrome_common_webui__url__constants.cc b/devel/electron12/files/patch-chrome_common_webui__url__constants.cc
new file mode 100644
index 000000000000..dd16793b4ab1
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_webui__url__constants.cc
@@ -0,0 +1,70 @@
+--- chrome/common/webui_url_constants.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/webui_url_constants.cc
+@@ -343,12 +343,12 @@ bool IsSystemWebUIHost(base::StringPiece host) {
+ }
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const char kChromeUIWebUIJsErrorHost[] = "webuijserror";
+ const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/";
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ const char kChromeUIDiscardsHost[] = "discards";
+ const char kChromeUIDiscardsURL[] = "chrome://discards/";
+@@ -365,7 +365,7 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb
+ const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ const char kChromeUISandboxHost[] = "sandbox";
+ #endif
+@@ -373,7 +373,7 @@ const char kChromeUISandboxHost[] = "sandbox";
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ const char kChromeUIBrowserSwitchHost[] = "browser-switch";
+ const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/";
+ const char kChromeUIProfileCustomizationHost[] = "profile-customization";
+@@ -384,7 +384,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro
+ const char kChromeUIProfilePickerStartupQuery[] = "startup";
+ #endif
+
+-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
+ defined(USE_AURA)
+ const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
+ #endif
+@@ -553,14 +553,14 @@ const char* const kChromeHostURLs[] = {
+ kChromeUIInternetDetailDialogHost,
+ kChromeUIAssistantOptInHost,
+ #endif
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ kChromeUIDiscardsHost,
+ #endif
+ #if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_ANDROID)
+ kChromeUILinuxProxyConfigHost,
+ #endif
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ kChromeUISandboxHost,
+ #endif
+@@ -619,7 +619,7 @@ const char* const kChromeDebugURLs[] = {
+ content::kChromeUIGpuJavaCrashURL,
+ kChromeUIJavaCrashURL,
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ kChromeUIWebUIJsErrorURL,
+ #endif
+ kChromeUIQuitURL,
diff --git a/devel/electron12/files/patch-chrome_common_webui__url__constants.h b/devel/electron12/files/patch-chrome_common_webui__url__constants.h
new file mode 100644
index 000000000000..0961d33d2ade
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_common_webui__url__constants.h
@@ -0,0 +1,44 @@
+--- chrome/common/webui_url_constants.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/common/webui_url_constants.h
+@@ -295,12 +295,12 @@ bool IsSystemWebUIHost(base::StringPiece host);
+
+ #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ extern const char kChromeUIWebUIJsErrorHost[];
+ extern const char kChromeUIWebUIJsErrorURL[];
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ extern const char kChromeUIDiscardsHost[];
+ extern const char kChromeUIDiscardsURL[];
+@@ -317,7 +317,7 @@ extern const char kChromeUINearbyShareURL[];
+ extern const char kChromeUILinuxProxyConfigHost[];
+ #endif
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ extern const char kChromeUISandboxHost[];
+ #endif
+@@ -325,7 +325,7 @@ extern const char kChromeUISandboxHost[];
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ extern const char kChromeUIBrowserSwitchHost[];
+ extern const char kChromeUIBrowserSwitchURL[];
+ extern const char kChromeUIProfileCustomizationHost[];
+@@ -335,7 +335,7 @@ extern const char kChromeUIProfilePickerUrl[];
+ extern const char kChromeUIProfilePickerStartupQuery[];
+ #endif
+
+-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \
+ defined(USE_AURA)
+ extern const char kChromeUITabModalConfirmDialogHost[];
+ #endif
diff --git a/devel/electron12/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/devel/electron12/files/patch-chrome_renderer_chrome__content__renderer__client.cc
new file mode 100644
index 000000000000..967e0fd92c83
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_renderer_chrome__content__renderer__client.cc
@@ -0,0 +1,11 @@
+--- chrome/renderer/chrome_content_renderer_client.cc.orig 2021-04-22 07:51:50 UTC
++++ chrome/renderer/chrome_content_renderer_client.cc
+@@ -1097,7 +1097,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
+ }
+
+ case chrome::mojom::PluginStatus::kRestartRequired: {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ placeholder =
+ create_blocked_plugin(IDR_BLOCKED_PLUGIN_HTML,
+ l10n_util::GetStringFUTF16(
diff --git a/devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
new file mode 100644
index 000000000000..2b61cd11f388
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
@@ -0,0 +1,29 @@
+--- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/renderer/pepper/pepper_flash_font_file_host.cc
+@@ -16,7 +16,7 @@
+ #include "ppapi/proxy/ppapi_messages.h"
+ #include "ppapi/proxy/serialized_structs.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h"
+ #include "content/public/common/common_sandbox_support_linux.h"
+ #elif defined(OS_WIN)
+@@ -30,7 +30,7 @@ PepperFlashFontFileHost::PepperFlashFontFileHost(
+ const ppapi::proxy::SerializedFontDescription& description,
+ PP_PrivateFontCharset charset)
+ : ResourceHost(host->GetPpapiHost(), instance, resource) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The global SkFontConfigInterface is configured and initialized with a
+ // SkFontconfigInterface compatible font_service::FontLoader in
+ // RendererBlinkPlatformImpl (called from RenderThreadImpl::Init) at startup
+@@ -75,7 +75,7 @@ bool PepperFlashFontFileHost::GetFontData(uint32_t tab
+ void* buffer,
+ size_t* length) {
+ bool result = false;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (font_file_.IsValid()) {
+ result = content::GetFontTable(font_file_.GetPlatformFile(), table,
+ 0 /* offset */,
diff --git a/devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h b/devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
index 96d94ea305a0..96d94ea305a0 100644
--- a/devel/electron11/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
+++ b/devel/electron12/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
diff --git a/devel/electron11/files/patch-chrome_service_cloud__print_print__system.cc b/devel/electron12/files/patch-chrome_service_cloud__print_print__system.cc
index affbb174d641..affbb174d641 100644
--- a/devel/electron11/files/patch-chrome_service_cloud__print_print__system.cc
+++ b/devel/electron12/files/patch-chrome_service_cloud__print_print__system.cc
diff --git a/devel/electron12/files/patch-chrome_test_BUILD.gn b/devel/electron12/files/patch-chrome_test_BUILD.gn
new file mode 100644
index 000000000000..915dde812d0a
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_test_BUILD.gn
@@ -0,0 +1,11 @@
+--- chrome/test/BUILD.gn.orig 2021-04-14 01:08:42 UTC
++++ chrome/test/BUILD.gn
+@@ -6915,7 +6915,7 @@ test("chrome_app_unittests") {
+ "//components/safe_browsing:buildflags",
+ "//pdf:pdf_ppapi",
+ ]
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ # TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
+ deps += [ "//third_party/breakpad:client" ]
+ }
diff --git a/devel/electron12/files/patch-chrome_test_base_in__process__browser__test.cc b/devel/electron12/files/patch-chrome_test_base_in__process__browser__test.cc
new file mode 100644
index 000000000000..9750a5bc3571
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_test_base_in__process__browser__test.cc
@@ -0,0 +1,31 @@
+--- chrome/test/base/in_process_browser_test.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/test/base/in_process_browser_test.cc
+@@ -80,6 +80,10 @@
+ #include "chrome/test/base/scoped_bundle_swizzler_mac.h"
+ #endif
+
++#if defined(OS_FREEBSD)
++#include <signal.h>
++#endif
++
+ #if defined(OS_WIN)
+ #include "base/win/scoped_com_initializer.h"
+ #include "base/win/windows_version.h"
+@@ -305,7 +309,7 @@ void InProcessBrowserTest::SetUp() {
+ // Cookies). Without this on Mac and Linux, many tests will hang waiting for a
+ // user to approve KeyChain/kwallet access. On Windows this is not needed as
+ // OS APIs never block.
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ OSCryptMocker::SetUp();
+ #endif
+
+@@ -368,7 +372,7 @@ void InProcessBrowserTest::TearDown() {
+ com_initializer_.reset();
+ #endif
+ BrowserTestBase::TearDown();
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ OSCryptMocker::TearDown();
+ #endif
+
diff --git a/devel/electron12/files/patch-chrome_test_base_interactive__ui__tests__main.cc b/devel/electron12/files/patch-chrome_test_base_interactive__ui__tests__main.cc
new file mode 100644
index 000000000000..8afdf7cc0f71
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_test_base_interactive__ui__tests__main.cc
@@ -0,0 +1,20 @@
+--- chrome/test/base/interactive_ui_tests_main.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/test/base/interactive_ui_tests_main.cc
+@@ -17,7 +17,7 @@
+ #if defined(USE_AURA)
+ #include "ui/aura/test/ui_controls_factory_aura.h"
+ #include "ui/base/test/ui_controls_aura.h"
+-#if defined(USE_OZONE) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_OZONE) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ #include "ui/base/ui_base_features.h"
+ #include "ui/ozone/public/ozone_platform.h"
+ #include "ui/views/test/ui_controls_factory_desktop_aura_ozone.h"
+@@ -55,7 +55,7 @@ class InteractiveUITestSuite : public ChromeTestSuite
+ com_initializer_.reset(new base::win::ScopedCOMInitializer());
+ ui_controls::InstallUIControlsAura(
+ aura::test::CreateUIControlsAura(nullptr));
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #if defined(USE_OZONE)
+ if (features::IsUsingOzonePlatform()) {
+ ui::OzonePlatform::InitParams params;
diff --git a/devel/electron12/files/patch-chrome_test_base_test__browser__window.h b/devel/electron12/files/patch-chrome_test_base_test__browser__window.h
new file mode 100644
index 000000000000..942efece6eca
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_test_base_test__browser__window.h
@@ -0,0 +1,11 @@
+--- chrome/test/base/test_browser_window.h.orig 2021-04-14 01:08:42 UTC
++++ chrome/test/base/test_browser_window.h
+@@ -176,7 +176,7 @@ class TestBrowserWindow : public BrowserWindow {
+ bool is_source_keyboard) override {}
+
+ #if defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_WIN) || \
+- defined(OS_LINUX)
++ defined(OS_LINUX) || defined(OS_BSD)
+ void ShowHatsBubble(const std::string& site_id,
+ base::OnceClosure success_callback,
+ base::OnceClosure failure_callback) override {}
diff --git a/devel/electron11/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/devel/electron12/files/patch-chrome_test_chromedriver_chrome__launcher.cc
index d78a355a277a..d78a355a277a 100644
--- a/devel/electron11/files/patch-chrome_test_chromedriver_chrome__launcher.cc
+++ b/devel/electron12/files/patch-chrome_test_chromedriver_chrome__launcher.cc
diff --git a/devel/electron11/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/devel/electron12/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
index 514c990e73bd..514c990e73bd 100644
--- a/devel/electron11/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
+++ b/devel/electron12/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
diff --git a/devel/electron11/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/devel/electron12/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
index ca53465075b0..ca53465075b0 100644
--- a/devel/electron11/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
+++ b/devel/electron12/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
diff --git a/devel/electron12/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc b/devel/electron12/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
new file mode 100644
index 000000000000..10172cb3205f
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc
@@ -0,0 +1,11 @@
+--- chrome/test/chromedriver/server/chromedriver_server.cc.orig 2021-04-14 01:08:42 UTC
++++ chrome/test/chromedriver/server/chromedriver_server.cc
+@@ -286,7 +286,7 @@ int main(int argc, char *argv[]) {
+ base::AtExitManager at_exit;
+ base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Select the locale from the environment by passing an empty string instead
+ // of the default "C" locale. This is particularly needed for the keycode
+ // conversion code to work.
diff --git a/devel/electron12/files/patch-chrome_utility_services.cc b/devel/electron12/files/patch-chrome_utility_services.cc
new file mode 100644
index 000000000000..bc950914193d
--- /dev/null
+++ b/devel/electron12/files/patch-chrome_utility_services.cc
@@ -0,0 +1,29 @@
+--- chrome/utility/services.cc.orig 2021-04-14 01:08:44 UTC
++++ chrome/utility/services.cc
+@@ -76,7 +76,7 @@
+ #endif
+
+ #if BUILDFLAG(ENABLE_PRINTING)
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #include "chrome/services/printing/print_backend_service_impl.h"
+ #include "chrome/services/printing/public/mojom/print_backend_service.mojom.h"
+@@ -227,7 +227,7 @@ auto RunPaintPreviewCompositor(
+ #endif // BUILDFLAG(ENABLE_PAINT_PREVIEW)
+
+ #if BUILDFLAG(ENABLE_PRINTING)
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ auto RunPrintBackendService(
+ mojo::PendingReceiver<printing::mojom::PrintBackendService> receiver) {
+@@ -335,7 +335,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory&
+ #endif
+
+ #if BUILDFLAG(ENABLE_PRINTING)
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ services.Add(RunPrintBackendService);
+ #endif
diff --git a/devel/electron12/files/patch-chromecast_app_cast__main__delegate.cc b/devel/electron12/files/patch-chromecast_app_cast__main__delegate.cc
new file mode 100644
index 000000000000..e5f8c3b6de6f
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_app_cast__main__delegate.cc
@@ -0,0 +1,11 @@
+--- chromecast/app/cast_main_delegate.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/app/cast_main_delegate.cc
+@@ -136,7 +136,7 @@ bool CastMainDelegate::BasicStartupComplete(int* exit_
+
+ void CastMainDelegate::PreSandboxStartup() {
+ #if defined(ARCH_CPU_ARM_FAMILY) && \
+- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ // Create an instance of the CPU class to parse /proc/cpuinfo and cache the
+ // results. This data needs to be cached when file-reading is still allowed,
+ // since base::CPU expects to be callable later, when file-reading is no
diff --git a/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.cc b/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.cc
new file mode 100644
index 000000000000..72d76f6a5158
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.cc
@@ -0,0 +1,83 @@
+--- chromecast/browser/cast_browser_main_parts.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/cast_browser_main_parts.cc
+@@ -75,7 +75,7 @@
+ #include "ui/base/ui_base_switches.h"
+ #include "ui/gl/gl_switches.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <fontconfig/fontconfig.h>
+ #include <signal.h>
+ #include <sys/prctl.h>
+@@ -131,7 +131,7 @@
+ #include "extensions/browser/extension_prefs.h" // nogncheck
+ #endif
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ #include "chromecast/browser/exo/wayland_server_controller.h"
+ #endif
+
+@@ -273,7 +273,7 @@ class CastViewsDelegate : public views::ViewsDelegate
+
+ #endif // defined(USE_AURA)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ base::FilePath GetApplicationFontsDir() {
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+@@ -289,7 +289,7 @@ base::FilePath GetApplicationFontsDir() {
+ }
+ }
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ } // namespace
+
+@@ -318,7 +318,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
+ {cc::switches::kDisableThreadedAnimation, ""},
+ #endif // defined(OS_ANDROID)
+ #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #if defined(ARCH_CPU_X86_FAMILY)
+ // This is needed for now to enable the x11 Ozone platform to work with
+ // current Linux/NVidia OpenGL drivers.
+@@ -328,7 +328,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
+ {switches::kEnableHardwareOverlays, "cast"},
+ #endif
+ #endif
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // It's better to start GPU process on demand. For example, for TV platforms
+ // cast starts in background and can't render until TV switches to cast
+ // input.
+@@ -482,7 +482,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
+ views_delegate_ = std::make_unique<CastViewsDelegate>();
+ #endif // defined(USE_AURA)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::FilePath dir_font = GetApplicationFontsDir();
+ const FcChar8 *dir_font_char8 = reinterpret_cast<const FcChar8*>(dir_font.value().data());
+ if (!FcConfigAppFontAddDir(gfx::GetGlobalFontConfig(), dir_font_char8)) {
+@@ -666,7 +666,7 @@ void CastBrowserMainParts::PreMainMessageLoopRun() {
+ cast_browser_process_->browser_context());
+ #endif
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ wayland_server_controller_ =
+ std::make_unique<WaylandServerController>(window_manager_.get());
+ #endif
+@@ -748,7 +748,7 @@ bool CastBrowserMainParts::MainMessageLoopRun(int* res
+ }
+
+ void CastBrowserMainParts::PostMainMessageLoopRun() {
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ wayland_server_controller_.reset();
+ #endif
+ #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
diff --git a/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.h b/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.h
new file mode 100644
index 000000000000..a88bcb7e4145
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_cast__browser__main__parts.h
@@ -0,0 +1,11 @@
+--- chromecast/browser/cast_browser_main_parts.h.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/cast_browser_main_parts.h
+@@ -133,7 +133,7 @@ class CastBrowserMainParts : public content::BrowserMa
+ std::unique_ptr<PrefService> user_pref_service_;
+ #endif
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ std::unique_ptr<WaylandServerController> wayland_server_controller_;
+ #endif
+
diff --git a/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client.cc b/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client.cc
new file mode 100644
index 000000000000..591363f602de
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client.cc
@@ -0,0 +1,38 @@
+--- chromecast/browser/cast_content_browser_client.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/cast_content_browser_client.cc
+@@ -130,9 +130,9 @@
+ #include "chromecast/external_mojo/broker_service/broker_service.h" // nogncheck
+ #endif
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ #include "chromecast/browser/webview/webview_controller.h"
+-#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+
+ #if BUILDFLAG(ENABLE_CAST_RENDERER)
+ #include "base/sequenced_task_runner.h"
+@@ -475,7 +475,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
+ switches::kAudioOutputChannels));
+ }
+ } else if (process_type == switches::kGpuProcess) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Necessary for accelerated 2d canvas. By default on Linux, Chromium
+ // assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU
+ // canvas apps.
+@@ -874,12 +874,12 @@ CastContentBrowserClient::CreateThrottlesForNavigation
+ handle, general_audience_browsing_service_.get()));
+ }
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ auto webview_throttle = WebviewController::MaybeGetNavigationThrottle(handle);
+ if (webview_throttle) {
+ throttles.push_back(std::move(webview_throttle));
+ }
+-#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+
+ return throttles;
+ }
diff --git a/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc b/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc
new file mode 100644
index 000000000000..cee509cf8f9d
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc
@@ -0,0 +1,20 @@
+--- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/cast_content_browser_client_receiver_bindings.cc
+@@ -39,7 +39,7 @@
+ #include "chromecast/external_mojo/broker_service/broker_service.h" // nogncheck
+ #endif
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ #include "chromecast/browser/webview/js_channel_service.h"
+ #include "chromecast/common/mojom/js_channel.mojom.h"
+ #endif
+@@ -224,7 +224,7 @@ void CastContentBrowserClient::RunServiceInstance(
+ void CastContentBrowserClient::BindHostReceiverForRenderer(
+ content::RenderProcessHost* render_process_host,
+ mojo::GenericPendingReceiver receiver) {
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE)
+ if (auto r = receiver.As<::chromecast::mojom::JsChannelBindingProvider>()) {
+ JsChannelService::Create(render_process_host, std::move(r),
+ base::ThreadTaskRunnerHandle::Get());
diff --git a/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc b/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc
new file mode 100644
index 000000000000..bf55e01d01c9
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc
@@ -0,0 +1,87 @@
+--- chromecast/browser/metrics/cast_browser_metrics.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/metrics/cast_browser_metrics.cc
+@@ -19,9 +19,9 @@
+ #include "content/public/browser/network_service_instance.h"
+ #include "content/public/common/content_switches.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "chromecast/browser/metrics/external_metrics.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_ANDROID)
+ #include "chromecast/base/android/dumpstate_writer.h"
+@@ -32,10 +32,10 @@ namespace metrics {
+
+ const int kMetricsFetchTimeoutSeconds = 60;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const char kExternalUmaEventsRelativePath[] = "metrics/uma-events";
+ const char kPlatformUmaEventsPath[] = "/data/share/chrome/metrics/uma-events";
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ CastBrowserMetrics::CastBrowserMetrics(
+ std::unique_ptr<CastMetricsServiceClient> metrics_service_client) {
+@@ -48,10 +48,10 @@ CastBrowserMetrics::CastBrowserMetrics(
+ }
+
+ CastBrowserMetrics::~CastBrowserMetrics() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ DCHECK(!external_metrics_);
+ DCHECK(!platform_metrics_);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ void CastBrowserMetrics::Initialize() {
+@@ -61,9 +61,9 @@ void CastBrowserMetrics::Initialize() {
+ auto stability_provider_unique_ptr =
+ std::make_unique<CastStabilityMetricsProvider>(
+ metrics_service, metrics_service_client_->pref_service());
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ auto* stability_provider = stability_provider_unique_ptr.get();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ metrics_service->RegisterMetricsProvider(
+ std::move(stability_provider_unique_ptr));
+
+@@ -84,7 +84,7 @@ void CastBrowserMetrics::Initialize() {
+
+ metrics_service_client_->StartMetricsService();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS)A || defined(OS_BSD)
+ // Start external metrics collection, which feeds data from external
+ // processes into the main external metrics.
+ external_metrics_ = new ExternalMetrics(
+@@ -94,7 +94,7 @@ void CastBrowserMetrics::Initialize() {
+ platform_metrics_ =
+ new ExternalMetrics(stability_provider, kPlatformUmaEventsPath);
+ platform_metrics_->Start();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ void CastBrowserMetrics::Finalize() {
+@@ -103,14 +103,14 @@ void CastBrowserMetrics::Finalize() {
+ metrics_service_client_->GetMetricsService()->RecordCompletedSessionEnd();
+ #endif // !defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Stop metrics service cleanly before destructing CastMetricsServiceClient.
+ // The pointer will be deleted in StopAndDestroy().
+ external_metrics_->StopAndDestroy();
+ external_metrics_ = nullptr;
+ platform_metrics_->StopAndDestroy();
+ platform_metrics_ = nullptr;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ metrics_service_client_->Finalize();
+ }
diff --git a/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.h b/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.h
new file mode 100644
index 000000000000..d2ebe9050ef7
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_browser_metrics_cast__browser__metrics.h
@@ -0,0 +1,15 @@
+--- chromecast/browser/metrics/cast_browser_metrics.h.orig 2021-04-14 01:08:44 UTC
++++ chromecast/browser/metrics/cast_browser_metrics.h
+@@ -38,10 +38,10 @@ class CastBrowserMetrics {
+ private:
+ std::unique_ptr<CastMetricsServiceClient> metrics_service_client_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ ExternalMetrics* external_metrics_ = nullptr;
+ ExternalMetrics* platform_metrics_ = nullptr;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ DISALLOW_COPY_AND_ASSIGN(CastBrowserMetrics);
+ };
diff --git a/devel/electron12/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/devel/electron12/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
new file mode 100644
index 000000000000..835926b905f2
--- /dev/null
+++ b/devel/electron12/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
@@ -0,0 +1,20 @@
+--- chromecast/external_mojo/public/cpp/external_mojo_broker.cc.orig 2021-04-14 01:08:44 UTC
++++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc
+@@ -8,7 +8,7 @@
+ #include <set>
+ #include <utility>
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <sys/stat.h>
+ #endif
+
+@@ -419,7 +419,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri
+ named_channel.TakeServerEndpoint();
+ DCHECK(server_endpoint.is_valid());
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ chmod(broker_path.c_str(), 0770);
+ #endif
+
diff --git a/devel/electron11/files/patch-chromecast_media_base_default__monotonic__clock.cc b/devel/electron12/files/patch-chromecast_media_base_default__monotonic__clock.cc
index 1ad24ce36e2a..1ad24ce36e2a 100644
--- a/devel/electron11/files/patch-chromecast_media_base_default__monotonic__clock.cc
+++ b/devel/electron12/files/patch-chromecast_media_base_default__monotonic__clock.cc
diff --git a/devel/electron11/files/patch-chromecast_renderer_cast__content__renderer__client.cc b/devel/electron12/files/patch-chromecast_renderer_cast__content__renderer__client.cc
index 9089ff9356ce..9089ff9356ce 100644
--- a/devel/electron11/files/patch-chromecast_renderer_cast__content__renderer__client.cc
+++ b/devel/electron12/files/patch-chromecast_renderer_cast__content__renderer__client.cc
diff --git a/devel/electron12/files/patch-components_BUILD.gn b/devel/electron12/files/patch-components_BUILD.gn
new file mode 100644
index 000000000000..a5754c7b2c97
--- /dev/null
+++ b/devel/electron12/files/patch-components_BUILD.gn
@@ -0,0 +1,18 @@
+--- components/BUILD.gn.orig 2021-04-14 01:08:44 UTC
++++ components/BUILD.gn
+@@ -324,9 +324,13 @@ test("components_unittests") {
+ }
+
+ if (!is_fuchsia) { # !iOS and !Fuchsia
++ if (!is_bsd) {
++ deps += [
++ "//components/crash/content/browser:unit_tests",
++ "//components/crash/core/app:unit_tests",
++ ]
++ }
+ deps += [
+- "//components/crash/content/browser:unit_tests",
+- "//components/crash/core/app:unit_tests",
+ "//components/data_reduction_proxy/core/browser:unit_tests",
+ "//components/data_reduction_proxy/core/common:unit_tests",
+ ]
diff --git a/devel/electron12/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/devel/electron12/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
new file mode 100644
index 000000000000..f2d47ff42767
--- /dev/null
+++ b/devel/electron12/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
@@ -0,0 +1,14 @@
+--- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2021-04-14 01:08:44 UTC
++++ components/autofill/content/renderer/password_form_conversion_utils.cc
+@@ -18,7 +18,11 @@
+ #include "third_party/blink/public/web/web_form_control_element.h"
+ #include "third_party/blink/public/web/web_input_element.h"
+ #include "third_party/blink/public/web/web_local_frame.h"
++#if defined(OS_BSD)
++#include <re2/re2.h>
++#else
+ #include "third_party/re2/src/re2/re2.h"
++#endif
+ #include "url/gurl.h"
+
+ using blink::WebElement;
diff --git a/devel/electron12/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/devel/electron12/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
new file mode 100644
index 000000000000..05bede861352
--- /dev/null
+++ b/devel/electron12/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/browser/autofill_external_delegate.cc.orig 2021-04-14 01:08:44 UTC
++++ components/autofill/core/browser/autofill_external_delegate.cc
+@@ -128,7 +128,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
+
+ // Append the "Hide Suggestions" menu item for only Autofill Address and
+ // Autocomplete popups.
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ if (base::FeatureList::IsEnabled(
+ features::kAutofillEnableHideSuggestionsUI)) {
diff --git a/devel/electron12/files/patch-components_autofill_core_browser_personal__data__manager.cc b/devel/electron12/files/patch-components_autofill_core_browser_personal__data__manager.cc
new file mode 100644
index 000000000000..e2ad2b20136f
--- /dev/null
+++ b/devel/electron12/files/patch-components_autofill_core_browser_personal__data__manager.cc
@@ -0,0 +1,20 @@
+--- components/autofill/core/browser/personal_data_manager.cc.orig 2021-04-14 01:08:44 UTC
++++ components/autofill/core/browser/personal_data_manager.cc
+@@ -1917,7 +1917,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
+ // The feature is only for Linux, Windows and Mac.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD) || \
+ defined(OS_APPLE)
+ // This option should only be shown for users that have not enabled the Sync
+ // Feature and that have server credit cards available.
+@@ -1941,7 +1941,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp
+ return !is_opted_in;
+ #else
+ return false;
+-#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ||
++#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ||
+ // defined(OS_WIN) || defined(OS_APPLE)
+ }
+
diff --git a/devel/electron12/files/patch-components_autofill_core_common_autofill__payments__features.cc b/devel/electron12/files/patch-components_autofill_core_common_autofill__payments__features.cc
new file mode 100644
index 000000000000..753c0cd27818
--- /dev/null
+++ b/devel/electron12/files/patch-components_autofill_core_common_autofill__payments__features.cc
@@ -0,0 +1,11 @@
+--- components/autofill/core/common/autofill_payments_features.cc.orig 2021-04-14 01:08:44 UTC
++++ components/autofill/core/common/autofill_payments_features.cc
+@@ -138,7 +138,7 @@ bool ShouldShowImprovedUserConsentForCreditCardSave()
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_APPLE) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ // The new user consent UI is fully launched on MacOS, Windows and Linux.
+ return true;
+ #else
diff --git a/devel/electron11/files/patch-components_autofill_core_common_autofill__util.cc b/devel/electron12/files/patch-components_autofill_core_common_autofill__util.cc
index 80b5b7e97077..80b5b7e97077 100644
--- a/devel/electron11/files/patch-components_autofill_core_common_autofill__util.cc
+++ b/devel/electron12/files/patch-components_autofill_core_common_autofill__util.cc
diff --git a/devel/electron12/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/devel/electron12/files/patch-components_content__settings_core_browser_website__settings__registry.cc
new file mode 100644
index 000000000000..a112e5fe5c8b
--- /dev/null
+++ b/devel/electron12/files/patch-components_content__settings_core_browser_website__settings__registry.cc
@@ -0,0 +1,11 @@
+--- components/content_settings/core/browser/website_settings_registry.cc.orig 2021-04-14 01:08:45 UTC
++++ components/content_settings/core/browser/website_settings_registry.cc
+@@ -69,7 +69,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re
+ return nullptr;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (!(platform & PLATFORM_LINUX))
+ return nullptr;
+ #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-components_cookie__config_cookie__store__util.cc b/devel/electron12/files/patch-components_cookie__config_cookie__store__util.cc
index 40569493ad12..40569493ad12 100644
--- a/devel/electron11/files/patch-components_cookie__config_cookie__store__util.cc
+++ b/devel/electron12/files/patch-components_cookie__config_cookie__store__util.cc
diff --git a/devel/electron12/files/patch-components_crash_content_browser_BUILD.gn b/devel/electron12/files/patch-components_crash_content_browser_BUILD.gn
new file mode 100644
index 000000000000..6b1ef8ea3167
--- /dev/null
+++ b/devel/electron12/files/patch-components_crash_content_browser_BUILD.gn
@@ -0,0 +1,20 @@
+--- components/crash/content/browser/BUILD.gn.orig 2021-04-14 01:08:45 UTC
++++ components/crash/content/browser/BUILD.gn
+@@ -37,7 +37,7 @@ source_set("browser") {
+
+ # This is not in the GYP build but this target includes breakpad client
+ # headers, so add the dependency here.
+- if ((is_posix && !is_ios) || is_fuchsia) {
++ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) {
+ configs += [ "//third_party/breakpad:client_config" ]
+ public_configs = [ "//third_party/breakpad:client_config" ]
+ }
+@@ -57,7 +57,7 @@ source_set("browser") {
+ "//components/crash/android:jni_headers",
+ "//mojo/public/cpp/bindings",
+ ]
+- } else {
++ } else if (!is_bsd) {
+ deps += [ "//third_party/breakpad:client" ]
+ }
+ }
diff --git a/devel/electron12/files/patch-components_crash_content_browser_error__reporting_BUILD.gn b/devel/electron12/files/patch-components_crash_content_browser_error__reporting_BUILD.gn
new file mode 100644
index 000000000000..d972f02084d9
--- /dev/null
+++ b/devel/electron12/files/patch-components_crash_content_browser_error__reporting_BUILD.gn
@@ -0,0 +1,13 @@
+--- components/crash/content/browser/error_reporting/BUILD.gn.orig 2021-04-14 01:08:45 UTC
++++ components/crash/content/browser/error_reporting/BUILD.gn
+@@ -30,4 +30,10 @@ source_set("mock_crash_endpoint") {
+ "//testing/gtest",
+ "//url",
+ ]
++
++ if (is_bsd) {
++ deps -= [
++ "//components/crash/core/app",
++ ]
++ }
+ }
diff --git a/devel/electron11/files/patch-components_crash_core_app_BUILD.gn b/devel/electron12/files/patch-components_crash_core_app_BUILD.gn
index 0e0cb5e63c08..0e0cb5e63c08 100644
--- a/devel/electron11/files/patch-components_crash_core_app_BUILD.gn
+++ b/devel/electron12/files/patch-components_crash_core_app_BUILD.gn
diff --git a/devel/electron12/files/patch-components_crash_core_common_BUILD.gn b/devel/electron12/files/patch-components_crash_core_common_BUILD.gn
new file mode 100644
index 000000000000..293a05e441a3
--- /dev/null
+++ b/devel/electron12/files/patch-components_crash_core_common_BUILD.gn
@@ -0,0 +1,40 @@
+--- components/crash/core/common/BUILD.gn.orig 2021-04-14 01:08:45 UTC
++++ components/crash/core/common/BUILD.gn
+@@ -7,7 +7,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn
+
+ declare_args() {
+ # If set to true, this will stub out and disable the entire crash key system.
+- use_crash_key_stubs = is_fuchsia
++ use_crash_key_stubs = is_fuchsia || is_bsd
+ }
+
+ group("common") {
+@@ -32,7 +32,7 @@ use_crashpad_annotation =
+ # implementations will be instantiated and set, doubling the storage
+ # used for keys. This is intended to be used temporarily to test Crashpad
+ # integrations without disabling Breakpad.
+-use_combined_annotations = is_linux || is_chromeos
++use_combined_annotations = (is_linux || is_chromeos) && !is_bsd
+
+ buildflag_header("crash_buildflags") {
+ header = "crash_buildflags.h"
+@@ -93,7 +93,9 @@ target(crash_key_target_type, "crash_key_lib") {
+ sources += [ "crash_key_stubs.cc" ]
+ } else if (use_crashpad_annotation) {
+ sources += [ "crash_key_crashpad.cc" ]
+- deps += [ "//third_party/crashpad/crashpad/client" ]
++ if (!is_bsd) {
++ deps += [ "//third_party/crashpad/crashpad/client" ]
++ }
+ } else {
+ include_dirs = [ "//third_party/breakpad/breakpad/src" ]
+
+@@ -185,7 +187,7 @@ source_set("unit_tests") {
+ sources += [ "crash_key_breakpad_ios_unittest.cc" ]
+ deps += [ "//third_party/breakpad:client" ]
+ include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
+- } else if (!is_mac && !is_win && !is_fuchsia && !is_android) {
++ } else if (!is_mac && !is_win && !is_fuchsia && !is_android && !is_bsd) {
+ include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
+ sources += [ "crash_key_breakpad_unittest.cc" ]
+ }
diff --git a/devel/electron12/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/devel/electron12/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
new file mode 100644
index 000000000000..693fe27a16e0
--- /dev/null
+++ b/devel/electron12/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
@@ -0,0 +1,11 @@
+--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2021-04-14 01:08:45 UTC
++++ components/discardable_memory/service/discardable_shared_memory_manager.cc
+@@ -33,7 +33,7 @@
+ #include "components/discardable_memory/common/discardable_shared_memory_heap.h"
+ #include "mojo/public/cpp/bindings/self_owned_receiver.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/files/file_path.h"
+ #include "base/files/file_util.h"
+ #include "base/metrics/histogram_macros.h"
diff --git a/devel/electron11/files/patch-components_download_internal_common_base__file.cc b/devel/electron12/files/patch-components_download_internal_common_base__file.cc
index e143df07b1c7..e143df07b1c7 100644
--- a/devel/electron11/files/patch-components_download_internal_common_base__file.cc
+++ b/devel/electron12/files/patch-components_download_internal_common_base__file.cc
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_event__constants.cc b/devel/electron12/files/patch-components_feature__engagement_public_event__constants.cc
new file mode 100644
index 000000000000..f45ad708df48
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_event__constants.cc
@@ -0,0 +1,28 @@
+--- components/feature_engagement/public/event_constants.cc.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/event_constants.cc
+@@ -10,13 +10,13 @@ namespace feature_engagement {
+
+ namespace events {
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ const char kNewTabOpened[] = "new_tab_opened";
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ const char kSixthTabOpened[] = "sixth_tab_opened";
+ const char kTabGroupCreated[] = "tab_group_created";
+@@ -34,7 +34,7 @@ const char kWebUITabStripClosed[] = "webui_tab_strip_c
+ const char kWebUITabStripOpened[] = "webui_tab_strip_opened";
+
+ const char kDesktopPwaInstalled[] = "desktop_pwa_installed";
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ #if defined(OS_IOS)
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_event__constants.h b/devel/electron12/files/patch-components_feature__engagement_public_event__constants.h
new file mode 100644
index 000000000000..eb41c3874a59
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_event__constants.h
@@ -0,0 +1,31 @@
+--- components/feature_engagement/public/event_constants.h.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/event_constants.h
+@@ -12,16 +12,16 @@ namespace feature_engagement {
+ namespace events {
+
+ // Desktop and IOS.
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // The user has explicitly opened a new tab via an entry point from inside of
+ // Chrome.
+ extern const char kNewTabOpened[];
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ // Desktop
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // A new tab was opened when 5 (or more) tabs were already open.
+ extern const char kSixthTabOpened[];
+@@ -57,7 +57,7 @@ extern const char kWebUITabStripOpened[];
+ // The PWA was installed by the user.
+ extern const char kDesktopPwaInstalled[];
+
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ #if defined(OS_IOS)
diff --git a/devel/electron11/files/patch-components_feature__engagement_public_feature__configurations.cc b/devel/electron12/files/patch-components_feature__engagement_public_feature__configurations.cc
index ba0a37094692..ba0a37094692 100644
--- a/devel/electron11/files/patch-components_feature__engagement_public_feature__configurations.cc
+++ b/devel/electron12/files/patch-components_feature__engagement_public_feature__configurations.cc
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.cc b/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.cc
new file mode 100644
index 000000000000..e0fa259983fa
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.cc
@@ -0,0 +1,20 @@
+--- components/feature_engagement/public/feature_constants.cc.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/feature_constants.cc
+@@ -12,7 +12,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode",
+ const base::Feature kIPHDummyFeature{"IPH_Dummy",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ const base::Feature kIPHDesktopTabGroupsNewGroupFeature{
+ "IPH_DesktopTabGroupsNewGroup", base::FEATURE_DISABLED_BY_DEFAULT};
+@@ -32,7 +32,7 @@ const base::Feature kIPHDesktopSnoozeFeature{"IPH_Desk
+ base::FEATURE_DISABLED_BY_DEFAULT};
+ const base::Feature kIPHDesktopPwaInstallFeature{
+ "IPH_DesktopPwaInstall", base::FEATURE_DISABLED_BY_DEFAULT};
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ #if defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.h b/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.h
new file mode 100644
index 000000000000..c835e43a2b8e
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_feature__constants.h
@@ -0,0 +1,20 @@
+--- components/feature_engagement/public/feature_constants.h.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/feature_constants.h
+@@ -16,7 +16,7 @@ extern const base::Feature kIPHDemoMode;
+ // A feature to ensure all arrays can contain at least one feature.
+ extern const base::Feature kIPHDummyFeature;
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature;
+ extern const base::Feature kIPHFocusModeFeature;
+@@ -27,7 +27,7 @@ extern const base::Feature kIPHReopenTabFeature;
+ extern const base::Feature kIPHWebUITabStripFeature;
+ extern const base::Feature kIPHDesktopSnoozeFeature;
+ extern const base::Feature kIPHDesktopPwaInstallFeature;
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ // All the features declared for Android below that are also used in Java,
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_feature__list.cc b/devel/electron12/files/patch-components_feature__engagement_public_feature__list.cc
new file mode 100644
index 000000000000..2a922cb39add
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_feature__list.cc
@@ -0,0 +1,20 @@
+--- components/feature_engagement/public/feature_list.cc.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/feature_list.cc
+@@ -78,7 +78,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHBadgedTranslateManualTriggerFeature,
+ &kIPHDiscoverFeedHeaderFeature,
+ #endif // defined(OS_IOS)
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ &kIPHDesktopTabGroupsNewGroupFeature,
+ &kIPHFocusModeFeature,
+@@ -88,7 +88,7 @@ const base::Feature* const kAllFeatures[] = {
+ &kIPHReopenTabFeature,
+ &kIPHWebUITabStripFeature,
+ &kIPHDesktopPwaInstallFeature,
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+ };
+ } // namespace
diff --git a/devel/electron12/files/patch-components_feature__engagement_public_feature__list.h b/devel/electron12/files/patch-components_feature__engagement_public_feature__list.h
new file mode 100644
index 000000000000..ca2486ad47bc
--- /dev/null
+++ b/devel/electron12/files/patch-components_feature__engagement_public_feature__list.h
@@ -0,0 +1,38 @@
+--- components/feature_engagement/public/feature_list.h.orig 2021-04-14 01:08:45 UTC
++++ components/feature_engagement/public/feature_list.h
+@@ -147,7 +147,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature,
+ "IPH_DiscoverFeedHeaderMenu");
+ #endif // defined(OS_IOS)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature,
+ "IPH_DesktopTabGroupsNewGroup");
+@@ -159,7 +159,7 @@ DEFINE_VARIATION_PARAM(kIPHPasswordsAccountStorageFeat
+ DEFINE_VARIATION_PARAM(kIPHReopenTabFeature, "IPH_ReopenTab");
+ DEFINE_VARIATION_PARAM(kIPHWebUITabStripFeature, "IPH_WebUITabStrip");
+ DEFINE_VARIATION_PARAM(kIPHDesktopPwaInstallFeature, "IPH_DesktopPwaInstall");
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ } // namespace
+@@ -230,7 +230,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ VARIATION_ENTRY(kIPHBadgedReadingListFeature),
+ VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature),
+ VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature),
+-#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
+ VARIATION_ENTRY(kIPHFocusModeFeature),
+@@ -240,7 +240,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
+ VARIATION_ENTRY(kIPHReopenTabFeature),
+ VARIATION_ENTRY(kIPHWebUITabStripFeature),
+ VARIATION_ENTRY(kIPHDesktopPwaInstallFeature),
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+ };
+
diff --git a/devel/electron11/files/patch-components_feed_core_proto_v2_wire_version.proto b/devel/electron12/files/patch-components_feed_core_proto_v2_wire_version.proto
index e60d568f0cb6..e60d568f0cb6 100644
--- a/devel/electron11/files/patch-components_feed_core_proto_v2_wire_version.proto
+++ b/devel/electron12/files/patch-components_feed_core_proto_v2_wire_version.proto
diff --git a/devel/electron11/files/patch-components_feed_core_proto_wire_version.proto b/devel/electron12/files/patch-components_feed_core_proto_wire_version.proto
index 0073d3e7f912..0073d3e7f912 100644
--- a/devel/electron11/files/patch-components_feed_core_proto_wire_version.proto
+++ b/devel/electron12/files/patch-components_feed_core_proto_wire_version.proto
diff --git a/devel/electron12/files/patch-components_feed_core_v2_proto__util.cc b/devel/electron12/files/patch-components_feed_core_v2_proto__util.cc
new file mode 100644
index 000000000000..4bbfac198e1c
--- /dev/null
+++ b/devel/electron12/files/patch-components_feed_core_v2_proto__util.cc
@@ -0,0 +1,24 @@
+--- components/feed/core/v2/proto_util.cc.orig 2021-04-14 01:08:45 UTC
++++ components/feed/core/v2/proto_util.cc
+@@ -81,8 +81,8 @@ feedwire::Version GetPlatformVersionMessage() {
+
+ int32_t major, minor, revision;
+ base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision);
+- result.set_major(major);
+- result.set_minor(minor);
++ result.set_gmajor(major);
++ result.set_gminor(minor);
+ result.set_revision(revision);
+ #if defined(OS_ANDROID)
+ result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int());
+@@ -97,8 +97,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf
+ // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH.
+ const std::vector<uint32_t>& numbers = chrome_info.version.components();
+ if (numbers.size() > 3) {
+- result.set_major(static_cast<int32_t>(numbers[0]));
+- result.set_minor(static_cast<int32_t>(numbers[1]));
++ result.set_gmajor(static_cast<int32_t>(numbers[0]));
++ result.set_gminor(static_cast<int32_t>(numbers[1]));
+ result.set_build(static_cast<int32_t>(numbers[2]));
+ result.set_revision(static_cast<int32_t>(numbers[3]));
+ }
diff --git a/devel/electron12/files/patch-components_flags__ui_flags__state.cc b/devel/electron12/files/patch-components_flags__ui_flags__state.cc
new file mode 100644
index 000000000000..2cb87a0d0eeb
--- /dev/null
+++ b/devel/electron12/files/patch-components_flags__ui_flags__state.cc
@@ -0,0 +1,11 @@
+--- components/flags_ui/flags_state.cc.orig 2021-04-14 01:08:45 UTC
++++ components/flags_ui/flags_state.cc
+@@ -688,7 +688,7 @@ int FlagsState::GetCurrentPlatform() {
+ return kOsWin;
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ return kOsCrOS;
+-#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
++#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_FREEBSD) || \
+ defined(OS_OPENBSD)
+ return kOsLinux;
+ #elif defined(OS_ANDROID)
diff --git a/devel/electron11/files/patch-components_gcm__driver_gcm__client.h b/devel/electron12/files/patch-components_gcm__driver_gcm__client.h
index 2655394378d2..2655394378d2 100644
--- a/devel/electron11/files/patch-components_gcm__driver_gcm__client.h
+++ b/devel/electron12/files/patch-components_gcm__driver_gcm__client.h
diff --git a/devel/electron11/files/patch-components_gcm__driver_gcm__client__impl.cc b/devel/electron12/files/patch-components_gcm__driver_gcm__client__impl.cc
index 493fdc158595..493fdc158595 100644
--- a/devel/electron11/files/patch-components_gcm__driver_gcm__client__impl.cc
+++ b/devel/electron12/files/patch-components_gcm__driver_gcm__client__impl.cc
diff --git a/devel/electron11/files/patch-components_gwp__asan_BUILD.gn b/devel/electron12/files/patch-components_gwp__asan_BUILD.gn
index ef5ed67f64c9..ef5ed67f64c9 100644
--- a/devel/electron11/files/patch-components_gwp__asan_BUILD.gn
+++ b/devel/electron12/files/patch-components_gwp__asan_BUILD.gn
diff --git a/devel/electron12/files/patch-components_invalidation_impl_invalidation__switches.cc b/devel/electron12/files/patch-components_invalidation_impl_invalidation__switches.cc
new file mode 100644
index 000000000000..780fbd10c1b7
--- /dev/null
+++ b/devel/electron12/files/patch-components_invalidation_impl_invalidation__switches.cc
@@ -0,0 +1,11 @@
+--- components/invalidation/impl/invalidation_switches.cc.orig 2021-04-14 01:08:45 UTC
++++ components/invalidation/impl/invalidation_switches.cc
+@@ -28,7 +28,7 @@ const base::Feature kFCMInvalidationsForSyncDontCheckV
+
+ const base::Feature kSyncInstanceIDTokenTTL {
+ "SyncInstanceIDTokenTTL",
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS) || defined(OS_IOS)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron11/files/patch-components_keyed__service_core_dependency__graph__unittest.cc b/devel/electron12/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
index 9810d76ab27e..9810d76ab27e 100644
--- a/devel/electron11/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
+++ b/devel/electron12/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
diff --git a/devel/electron12/files/patch-components_metrics_BUILD.gn b/devel/electron12/files/patch-components_metrics_BUILD.gn
new file mode 100644
index 000000000000..9f1e197b4b8b
--- /dev/null
+++ b/devel/electron12/files/patch-components_metrics_BUILD.gn
@@ -0,0 +1,14 @@
+--- components/metrics/BUILD.gn.orig 2021-04-14 01:08:45 UTC
++++ components/metrics/BUILD.gn
+@@ -174,6 +174,11 @@ static_library("metrics") {
+ if (is_fuchsia) {
+ sources += [ "drive_metrics_provider_fuchsia.cc" ]
+ }
++
++ if (is_bsd) {
++ sources -= [ "system_memory_stats_recorder_linux.cc" ]
++ }
++
+ }
+
+ if (is_android) {
diff --git a/devel/electron11/files/patch-components_metrics_drive__metrics__provider__linux.cc b/devel/electron12/files/patch-components_metrics_drive__metrics__provider__linux.cc
index eee3b3e7d5db..eee3b3e7d5db 100644
--- a/devel/electron11/files/patch-components_metrics_drive__metrics__provider__linux.cc
+++ b/devel/electron12/files/patch-components_metrics_drive__metrics__provider__linux.cc
diff --git a/devel/electron12/files/patch-components_metrics_metrics__log.cc b/devel/electron12/files/patch-components_metrics_metrics__log.cc
new file mode 100644
index 000000000000..266722a9183f
--- /dev/null
+++ b/devel/electron12/files/patch-components_metrics_metrics__log.cc
@@ -0,0 +1,11 @@
+--- components/metrics/metrics_log.cc.orig 2021-04-14 01:08:45 UTC
++++ components/metrics/metrics_log.cc
+@@ -238,7 +238,7 @@ void MetricsLog::RecordCoreSystemProfile(
+ // OperatingSystemVersion refers to the ChromeOS release version.
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ os->set_kernel_version(base::SysInfo::KernelVersion());
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Linux operating system version is copied over into kernel version to be
+ // consistent.
+ os->set_kernel_version(base::SysInfo::OperatingSystemVersion());
diff --git a/devel/electron12/files/patch-components_neterror_resources_neterror.js b/devel/electron12/files/patch-components_neterror_resources_neterror.js
new file mode 100644
index 000000000000..3dc4d8eca446
--- /dev/null
+++ b/devel/electron12/files/patch-components_neterror_resources_neterror.js
@@ -0,0 +1,11 @@
+--- components/neterror/resources/neterror.js.orig 2021-04-14 01:08:45 UTC
++++ components/neterror/resources/neterror.js
+@@ -144,7 +144,7 @@ function detailsButtonClick() {
+ }
+
+ let primaryControlOnLeft = true;
+-// <if expr="is_macosx or is_ios or is_linux or is_android">
++// <if expr="is_macosx or is_ios or is_linux or is_android or is_bsd">
+ primaryControlOnLeft = false;
+ // </if>
+
diff --git a/devel/electron12/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/devel/electron12/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
new file mode 100644
index 000000000000..35df5f24b791
--- /dev/null
+++ b/devel/electron12/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
@@ -0,0 +1,11 @@
+--- components/network_session_configurator/browser/network_session_configurator.cc.orig 2021-04-14 01:08:45 UTC
++++ components/network_session_configurator/browser/network_session_configurator.cc
+@@ -802,7 +802,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C
+ }
+ #endif // #if !defined(OS_ANDROID)
+
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE;
+ #else
+ return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE;
diff --git a/devel/electron11/files/patch-components_new__or__sad__tab__strings.grdp b/devel/electron12/files/patch-components_new__or__sad__tab__strings.grdp
index 9bb63030c8a1..9bb63030c8a1 100644
--- a/devel/electron11/files/patch-components_new__or__sad__tab__strings.grdp
+++ b/devel/electron12/files/patch-components_new__or__sad__tab__strings.grdp
diff --git a/devel/electron12/files/patch-components_os__crypt_os__crypt.h b/devel/electron12/files/patch-components_os__crypt_os__crypt.h
new file mode 100644
index 000000000000..5fc427a1e414
--- /dev/null
+++ b/devel/electron12/files/patch-components_os__crypt_os__crypt.h
@@ -0,0 +1,51 @@
+--- components/os_crypt/os_crypt.h.orig 2021-04-14 01:08:46 UTC
++++ components/os_crypt/os_crypt.h
+@@ -18,9 +18,9 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ class KeyStorageLinux;
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ #if defined(OS_WIN) || defined(OS_MAC)
+ class PrefRegistrySimple;
+@@ -39,16 +39,16 @@ class OSCrypt {
+ public:
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Set the configuration of OSCrypt.
+ static COMPONENT_EXPORT(OS_CRYPT) void SetConfig(
+ std::unique_ptr<os_crypt::Config> config);
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_APPLE) || defined(OS_WIN) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ // On Linux returns true iff the real secret key (not hardcoded one) is
+ // available. On MacOS returns true if Keychain is available (for mock
+ // Keychain it returns true if not using locked Keychain, false if using
+@@ -142,7 +142,7 @@ class OSCrypt {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // For unit testing purposes, inject methods to be used.
+ // |get_key_storage_mock| provides the desired |KeyStorage| implementation.
+ // If the provider returns |nullptr|, a hardcoded password will be used.
+@@ -157,6 +157,6 @@ void UseMockKeyStorageForTesting(
+ // Clears any caching and most lazy initialisations performed by the production
+ // code. Should be used after any test which required a password.
+ COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting();
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_
diff --git a/devel/electron12/files/patch-components_os__crypt_os__crypt__unittest.cc b/devel/electron12/files/patch-components_os__crypt_os__crypt__unittest.cc
new file mode 100644
index 000000000000..0a322146b713
--- /dev/null
+++ b/devel/electron12/files/patch-components_os__crypt_os__crypt__unittest.cc
@@ -0,0 +1,11 @@
+--- components/os_crypt/os_crypt_unittest.cc.orig 2021-04-14 01:08:46 UTC
++++ components/os_crypt/os_crypt_unittest.cc
+@@ -21,7 +21,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "components/os_crypt/os_crypt_mocker_linux.h"
+ #endif
+
diff --git a/devel/electron12/files/patch-components_permissions_prediction__service_prediction__service__common.cc b/devel/electron12/files/patch-components_permissions_prediction__service_prediction__service__common.cc
new file mode 100644
index 000000000000..67e2c03c86bf
--- /dev/null
+++ b/devel/electron12/files/patch-components_permissions_prediction__service_prediction__service__common.cc
@@ -0,0 +1,11 @@
+--- components/permissions/prediction_service/prediction_service_common.cc.orig 2021-04-14 01:08:46 UTC
++++ components/permissions/prediction_service/prediction_service_common.cc
+@@ -11,7 +11,7 @@ namespace permissions {
+ ClientFeatures_Platform GetCurrentPlatformProto() {
+ #if defined(OS_WIN)
+ return permissions::ClientFeatures_Platform_PLATFORM_WINDOWS;
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return permissions::ClientFeatures_Platform_PLATFORM_LINUX;
+ #elif defined(OS_ANDROID)
+ return permissions::ClientFeatures_Platform_PLATFORM_ANDROID;
diff --git a/devel/electron11/files/patch-components_plugins_renderer_plugin__placeholder.cc b/devel/electron12/files/patch-components_plugins_renderer_plugin__placeholder.cc
index e30e4b0df649..e30e4b0df649 100644
--- a/devel/electron11/files/patch-components_plugins_renderer_plugin__placeholder.cc
+++ b/devel/electron12/files/patch-components_plugins_renderer_plugin__placeholder.cc
diff --git a/devel/electron12/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/devel/electron12/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
new file mode 100644
index 000000000000..e36db7cdee13
--- /dev/null
+++ b/devel/electron12/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc
@@ -0,0 +1,11 @@
+--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2021-04-14 01:08:46 UTC
++++ components/policy/core/browser/policy_pref_mapping_test.cc
+@@ -285,6 +285,8 @@ class PolicyTestCase {
+ const std::string os("chromeos");
+ #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ const std::string os("linux");
++#elif defined(OS_FREEBSD)
++ const std::string os("freebsd");
+ #else
+ #error "Unknown platform"
+ #endif
diff --git a/devel/electron12/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/devel/electron12/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
new file mode 100644
index 000000000000..1503aef50f12
--- /dev/null
+++ b/devel/electron12/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
@@ -0,0 +1,58 @@
+--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-04-14 01:08:46 UTC
++++ components/policy/core/common/cloud/cloud_policy_util.cc
+@@ -18,7 +18,7 @@
+ #include <wincred.h>
+ #endif
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE) || defined(OS_BSD)
+ #include <pwd.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -35,7 +35,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include <limits.h> // For HOST_NAME_MAX
+ #endif
+
+@@ -71,7 +71,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "base/system/sys_info.h"
+ #endif
+
+@@ -100,6 +100,10 @@ std::string GetMachineName() {
+ if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
+ return hostname;
+ return std::string();
++#elif defined(OS_BSD)
++ char hostname[MAXHOSTNAMELEN];
++ if (gethostname(hostname, MAXHOSTNAMELEN) == 0)
++ return hostname;
+ #elif defined(OS_IOS)
+ // Use the Vendor ID as the machine name.
+ return ios::device_util::GetVendorId();
+@@ -148,7 +152,7 @@ std::string GetMachineName() {
+ }
+
+ std::string GetOSVersion() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || defined(OS_BSD)
+ return base::SysInfo::OperatingSystemVersion();
+ #elif defined(OS_WIN)
+ base::win::OSInfo::VersionNumber version_number =
+@@ -171,7 +175,7 @@ std::string GetOSArchitecture() {
+ }
+
+ std::string GetOSUsername() {
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_APPLE)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_APPLE) || defined(OS_BSD)
+ struct passwd* creds = getpwuid(getuid());
+ if (!creds || !creds->pw_name)
+ return std::string();
diff --git a/devel/electron11/files/patch-components_policy_core_common_schema.cc b/devel/electron12/files/patch-components_policy_core_common_schema.cc
index 480987c734f5..480987c734f5 100644
--- a/devel/electron11/files/patch-components_policy_core_common_schema.cc
+++ b/devel/electron12/files/patch-components_policy_core_common_schema.cc
diff --git a/devel/electron12/files/patch-components_policy_resources_policy__templates.json b/devel/electron12/files/patch-components_policy_resources_policy__templates.json
new file mode 100644
index 000000000000..b14d6246808b
--- /dev/null
+++ b/devel/electron12/files/patch-components_policy_resources_policy__templates.json
@@ -0,0 +1,74 @@
+--- components/policy/resources/policy_templates.json.orig 2021-04-14 01:08:46 UTC
++++ components/policy/resources/policy_templates.json
+@@ -1220,7 +1220,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'string',
+ 'schema': { 'type': 'string' },
+- 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-'],
++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-', 'chrome.freebsd:9-'],
+ 'features': {
+ 'can_be_recommended': True,
+ 'dynamic_refresh': True,
+@@ -1246,7 +1246,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'],
+ 'features': {
+ 'can_be_recommended': True,
+ 'dynamic_refresh': True,
+@@ -1267,7 +1267,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'string',
+ 'schema': { 'type': 'string' },
+- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'],
++ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'],
+ 'features': {
+ 'can_be_recommended': True,
+ 'dynamic_refresh': True,
+@@ -4507,7 +4507,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'string',
+ 'schema': { 'type': 'string' },
+- 'supported_on': ['chrome.linux:9-'],
++ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'],
+ 'features': {
+ 'dynamic_refresh': False,
+ 'per_profile': False,
+@@ -4563,7 +4563,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'],
++ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-', 'chrome.freebsd:63-'],
+ 'features': {
+ 'dynamic_refresh': True,
+ 'per_profile': False,
+@@ -8774,7 +8774,7 @@
+ 'owners': ['file://net/cert/OWNERS'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'],
++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.freebsd:30-'],
+ 'features': {
+ 'dynamic_refresh': True,
+ 'per_profile': False,
+@@ -10360,7 +10360,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'],
++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'],
+ 'features': {
+ 'can_be_recommended': True,
+ 'dynamic_refresh': True,
+@@ -11152,7 +11152,7 @@
+ 'owners': ['file://components/policy/resources/OWNERS'],
+ 'type': 'main',
+ 'schema': { 'type': 'boolean' },
+- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'],
++ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.freebsd:31-'],
+ 'features': {
+ 'dynamic_refresh': True,
+ 'per_profile': True,
diff --git a/devel/electron11/files/patch-components_policy_tools_generate__policy__source.py b/devel/electron12/files/patch-components_policy_tools_generate__policy__source.py
index e472c1ce8b71..e472c1ce8b71 100644
--- a/devel/electron11/files/patch-components_policy_tools_generate__policy__source.py
+++ b/devel/electron12/files/patch-components_policy_tools_generate__policy__source.py
diff --git a/devel/electron12/files/patch-components_previews_core_previews__features.cc b/devel/electron12/files/patch-components_previews_core_previews__features.cc
new file mode 100644
index 000000000000..d5a8b4e1983c
--- /dev/null
+++ b/devel/electron12/files/patch-components_previews_core_previews__features.cc
@@ -0,0 +1,18 @@
+--- components/previews/core/previews_features.cc.orig 2021-04-14 01:08:46 UTC
++++ components/previews/core/previews_features.cc
+@@ -14,12 +14,12 @@ namespace features {
+ // are enabled are controlled by other features.
+ const base::Feature kPreviews {
+ "Previews",
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Previews allowed for Android (but also allow on Linux for dev/debug).
+ base::FEATURE_ENABLED_BY_DEFAULT
+-#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::FEATURE_DISABLED_BY_DEFAULT
+-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ };
+
+ // Provides slow page triggering parameters.
diff --git a/devel/electron12/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc b/devel/electron12/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc
new file mode 100644
index 000000000000..6c83176340cd
--- /dev/null
+++ b/devel/electron12/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc
@@ -0,0 +1,11 @@
+--- components/safe_browsing/core/realtime/url_lookup_service_base.cc.orig 2021-04-14 01:08:46 UTC
++++ components/safe_browsing/core/realtime/url_lookup_service_base.cc
+@@ -108,7 +108,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() {
+ return RTLookupRequest::OS_TYPE_FUCHSIA;
+ #elif defined(OS_IOS)
+ return RTLookupRequest::OS_TYPE_IOS;
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return RTLookupRequest::OS_TYPE_LINUX;
+ #elif defined(OS_MAC)
+ return RTLookupRequest::OS_TYPE_MAC;
diff --git a/devel/electron11/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py b/devel/electron12/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py
index c7415bf38a68..c7415bf38a68 100644
--- a/devel/electron11/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py
+++ b/devel/electron12/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py
diff --git a/devel/electron11/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc b/devel/electron12/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
index 28b622cd0bb6..28b622cd0bb6 100644
--- a/devel/electron11/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
+++ b/devel/electron12/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
diff --git a/devel/electron12/files/patch-components_security__interstitials_content_utils.cc b/devel/electron12/files/patch-components_security__interstitials_content_utils.cc
new file mode 100644
index 000000000000..bc91a5c8e092
--- /dev/null
+++ b/devel/electron12/files/patch-components_security__interstitials_content_utils.cc
@@ -0,0 +1,11 @@
+--- components/security_interstitials/content/utils.cc.orig 2021-04-14 01:08:46 UTC
++++ components/security_interstitials/content/utils.cc
+@@ -32,7 +32,7 @@ void LaunchDateAndTimeSettings() {
+ #if defined(OS_ANDROID)
+ JNIEnv* env = base::android::AttachCurrentThread();
+ Java_DateAndTimeSettingsHelper_openDateAndTimeSettings(env);
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ struct ClockCommand {
+ const char* const pathname;
+ const char* const argument;
diff --git a/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
new file mode 100644
index 000000000000..b9eed8746860
--- /dev/null
+++ b/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
@@ -0,0 +1,29 @@
+--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2021-04-14 01:08:46 UTC
++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc
+@@ -15,7 +15,7 @@
+
+ #if defined(OS_WIN)
+ #include "content/public/child/dwrite_font_proxy_init_win.h"
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h"
+ #endif
+
+@@ -36,7 +36,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ // Initialize font access for Skia.
+ #if defined(OS_WIN)
+ content::InitializeDWriteFontProxy();
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ mojo::PendingRemote<font_service::mojom::FontService> font_service;
+ content::UtilityThread::Get()->BindHostReceiver(
+ font_service.InitWithNewPipeAndPassReceiver());
+@@ -55,7 +55,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp
+ // encoding to PNG or we could provide our own codec implementations.
+
+ // Sanity check that fonts are working.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // No WebSandbox is provided on Linux so the local fonts aren't accessible.
+ // This is fine since since the subsetted fonts are provided in the SkPicture.
+ // However, we still need to check that the SkFontMgr starts as it is used by
diff --git a/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
new file mode 100644
index 000000000000..af53d3c946b4
--- /dev/null
+++ b/devel/electron12/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
@@ -0,0 +1,20 @@
+--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2021-04-14 01:08:46 UTC
++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h
+@@ -20,7 +20,7 @@
+ #include "mojo/public/cpp/bindings/pending_receiver.h"
+ #include "mojo/public/cpp/bindings/receiver.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h"
+ #include "third_party/skia/include/core/SkRefCnt.h"
+ #endif
+@@ -70,7 +70,7 @@ class PaintPreviewCompositorCollectionImpl
+ std::unique_ptr<PaintPreviewCompositorImpl>>
+ compositors_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ sk_sp<font_service::FontLoader> font_loader_;
+ #endif
+
diff --git a/devel/electron12/files/patch-components_storage__monitor_BUILD.gn b/devel/electron12/files/patch-components_storage__monitor_BUILD.gn
new file mode 100644
index 000000000000..5e00f8e62fc7
--- /dev/null
+++ b/devel/electron12/files/patch-components_storage__monitor_BUILD.gn
@@ -0,0 +1,16 @@
+--- components/storage_monitor/BUILD.gn.orig 2021-04-14 01:08:46 UTC
++++ components/storage_monitor/BUILD.gn
+@@ -83,6 +83,13 @@ static_library("storage_monitor") {
+ }
+ }
+
++ if (is_bsd) {
++ sources += [
++ "storage_monitor_freebsd.cc",
++ "storage_monitor_freebsd.h",
++ ]
++ }
++
+ if (use_udev) {
+ if (is_linux || is_chromeos) {
+ sources += [
diff --git a/devel/electron11/files/patch-components_storage__monitor_removable__device__constants.cc b/devel/electron12/files/patch-components_storage__monitor_removable__device__constants.cc
index 31bce950df1b..31bce950df1b 100644
--- a/devel/electron11/files/patch-components_storage__monitor_removable__device__constants.cc
+++ b/devel/electron12/files/patch-components_storage__monitor_removable__device__constants.cc
diff --git a/devel/electron11/files/patch-components_storage__monitor_removable__device__constants.h b/devel/electron12/files/patch-components_storage__monitor_removable__device__constants.h
index 87d471bf69f6..87d471bf69f6 100644
--- a/devel/electron11/files/patch-components_storage__monitor_removable__device__constants.h
+++ b/devel/electron12/files/patch-components_storage__monitor_removable__device__constants.h
diff --git a/devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.cc b/devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
index 3b46021834ac..3b46021834ac 100644
--- a/devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
+++ b/devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
diff --git a/devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.h b/devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.h
index 474009c6b8cf..474009c6b8cf 100644
--- a/devel/electron11/files/patch-components_storage__monitor_storage__monitor__freebsd.h
+++ b/devel/electron12/files/patch-components_storage__monitor_storage__monitor__freebsd.h
diff --git a/devel/electron12/files/patch-components_sync__device__info_local__device__info__util.cc b/devel/electron12/files/patch-components_sync__device__info_local__device__info__util.cc
new file mode 100644
index 000000000000..c93868bee266
--- /dev/null
+++ b/devel/electron12/files/patch-components_sync__device__info_local__device__info__util.cc
@@ -0,0 +1,11 @@
+--- components/sync_device_info/local_device_info_util.cc.orig 2021-04-14 01:08:47 UTC
++++ components/sync_device_info/local_device_info_util.cc
+@@ -53,7 +53,7 @@ std::string GetPersonalizableDeviceNameInternal();
+ sync_pb::SyncEnums::DeviceType GetLocalDeviceType() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ return sync_pb::SyncEnums_DeviceType_TYPE_CROS;
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return sync_pb::SyncEnums_DeviceType_TYPE_LINUX;
+ #elif defined(OS_ANDROID) || defined(OS_IOS)
+ return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET
diff --git a/devel/electron12/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/devel/electron12/files/patch-components_sync__device__info_local__device__info__util__linux.cc
new file mode 100644
index 000000000000..7ffeb716b5f4
--- /dev/null
+++ b/devel/electron12/files/patch-components_sync__device__info_local__device__info__util__linux.cc
@@ -0,0 +1,14 @@
+--- components/sync_device_info/local_device_info_util_linux.cc.orig 2021-04-14 01:08:47 UTC
++++ components/sync_device_info/local_device_info_util_linux.cc
+@@ -38,8 +38,9 @@ std::string GetPersonalizableDeviceNameInternal() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ return GetChromeOSDeviceNameFromType();
+ #else
+- char hostname[HOST_NAME_MAX];
+- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
++ int len = sysconf(_SC_HOST_NAME_MAX);
++ char hostname[len];
++ if (gethostname(hostname, _SC_HOST_NAME_MAX) == 0) // Success.
+ return hostname;
+ return base::GetLinuxDistro();
+ #endif
diff --git a/devel/electron12/files/patch-components_update__client_update__query__params.cc b/devel/electron12/files/patch-components_update__client_update__query__params.cc
new file mode 100644
index 000000000000..d5c8427cfcc8
--- /dev/null
+++ b/devel/electron12/files/patch-components_update__client_update__query__params.cc
@@ -0,0 +1,11 @@
+--- components/update_client/update_query_params.cc.orig 2021-04-14 01:08:47 UTC
++++ components/update_client/update_query_params.cc
+@@ -40,6 +40,8 @@ const char kOs[] =
+ "fuchsia";
+ #elif defined(OS_OPENBSD)
+ "openbsd";
++#elif defined(OS_FREEBSD)
++ "freebsd";
+ #else
+ #error "unknown os"
+ #endif
diff --git a/devel/electron12/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/devel/electron12/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
new file mode 100644
index 000000000000..f01647743c7b
--- /dev/null
+++ b/devel/electron12/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
@@ -0,0 +1,11 @@
+--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2021-04-14 01:08:47 UTC
++++ components/url_formatter/spoof_checks/idn_spoof_checker.cc
+@@ -292,7 +292,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
+ // The ideal fix would be to change the omnibox font used for Thai. In
+ // that case, the Linux-only list should be revisited and potentially
+ // removed.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ "[ทนบพรหเแ๐ดลปฟม]",
+ #else
+ "[บพเแ๐]",
diff --git a/devel/electron11/files/patch-components_url__matcher_regex__set__matcher.cc b/devel/electron12/files/patch-components_url__matcher_regex__set__matcher.cc
index cf731a8639f1..cf731a8639f1 100644
--- a/devel/electron11/files/patch-components_url__matcher_regex__set__matcher.cc
+++ b/devel/electron12/files/patch-components_url__matcher_regex__set__matcher.cc
diff --git a/devel/electron11/files/patch-components_url__matcher_url__matcher__factory.cc b/devel/electron12/files/patch-components_url__matcher_url__matcher__factory.cc
index 063c62d8e429..063c62d8e429 100644
--- a/devel/electron11/files/patch-components_url__matcher_url__matcher__factory.cc
+++ b/devel/electron12/files/patch-components_url__matcher_url__matcher__factory.cc
diff --git a/devel/electron12/files/patch-components_viz_common_features.cc b/devel/electron12/files/patch-components_viz_common_features.cc
new file mode 100644
index 000000000000..2e293ec91381
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_common_features.cc
@@ -0,0 +1,11 @@
+--- components/viz/common/features.cc.orig 2021-04-14 01:08:47 UTC
++++ components/viz/common/features.cc
+@@ -32,7 +32,7 @@ const base::Feature kEnableOverlayPrioritization {
+ // Use the SkiaRenderer.
+ const base::Feature kUseSkiaRenderer {
+ "UseSkiaRenderer",
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !(BUILDFLAG(IS_CHROMEOS_ASH) || \
++#if defined(OS_WIN) || defined(OS_BSD) || (defined(OS_LINUX) && !(BUILDFLAG(IS_CHROMEOS_ASH) || \
+ BUILDFLAG(IS_CHROMECAST)))
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron11/files/patch-components_viz_common_gpu_dawn__context__provider.cc b/devel/electron12/files/patch-components_viz_common_gpu_dawn__context__provider.cc
index 8b568c4c2294..8b568c4c2294 100644
--- a/devel/electron11/files/patch-components_viz_common_gpu_dawn__context__provider.cc
+++ b/devel/electron12/files/patch-components_viz_common_gpu_dawn__context__provider.cc
diff --git a/devel/electron12/files/patch-components_viz_host_host__display__client.cc b/devel/electron12/files/patch-components_viz_host_host__display__client.cc
new file mode 100644
index 000000000000..6cdc93da52d6
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_host_host__display__client.cc
@@ -0,0 +1,11 @@
+--- components/viz/host/host_display_client.cc.orig 2021-04-22 07:51:51 UTC
++++ components/viz/host/host_display_client.cc
+@@ -64,7 +64,7 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
+ NOTIMPLEMENTED();
+ }
diff --git a/devel/electron12/files/patch-components_viz_host_host__display__client.h b/devel/electron12/files/patch-components_viz_host_host__display__client.h
new file mode 100644
index 000000000000..283e399a431e
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_host_host__display__client.h
@@ -0,0 +1,11 @@
+--- components/viz/host/host_display_client.h.orig 2021-04-22 07:51:51 UTC
++++ components/viz/host/host_display_client.h
+@@ -45,7 +45,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
+ #endif
+
diff --git a/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.cc
new file mode 100644
index 000000000000..5b3a72c95062
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.cc
@@ -0,0 +1,20 @@
+--- components/viz/service/display_embedder/software_output_surface.cc.orig 2021-04-14 01:08:47 UTC
++++ components/viz/service/display_embedder/software_output_surface.cc
+@@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base::
+ now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (needs_swap_size_notifications_)
+ client_->DidSwapWithSize(pixel_size);
+ #endif
+@@ -146,7 +146,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void SoftwareOutputSurface::SetNeedsSwapSizeNotifications(
+ bool needs_swap_size_notifications) {
+ needs_swap_size_notifications_ = needs_swap_size_notifications;
diff --git a/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.h b/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.h
new file mode 100644
index 000000000000..b83b5c106a91
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_service_display__embedder_software__output__surface.h
@@ -0,0 +1,20 @@
+--- components/viz/service/display_embedder/software_output_surface.h.orig 2021-04-14 01:08:47 UTC
++++ components/viz/service/display_embedder/software_output_surface.h
+@@ -51,7 +51,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+ gfx::OverlayTransform GetDisplayTransform() override;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void SetNeedsSwapSizeNotifications(
+ bool needs_swap_size_notifications) override;
+ #endif
+@@ -73,7 +73,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ bool needs_swap_size_notifications_ = false;
+ #endif
+
diff --git a/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
new file mode 100644
index 000000000000..78d1bcefca6b
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
@@ -0,0 +1,20 @@
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2021-04-22 07:51:51 UTC
++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
+@@ -60,7 +60,7 @@ RootCompositorFrameSinkImpl::Create(
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // For X11, we need notify client about swap completion after resizing, so the
+ // client can use it for synchronize with X11 WM.
+ output_surface->SetNeedsSwapSizeNotifications(true);
+@@ -467,7 +467,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw
+ display_client_->DidCompleteSwapWithSize(pixel_size);
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (display_client_ && pixel_size != last_swap_pixel_size_) {
+ last_swap_pixel_size_ = pixel_size;
+ display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_);
diff --git a/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
new file mode 100644
index 000000000000..e43c2a685b1c
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
@@ -0,0 +1,11 @@
+--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2021-04-14 01:08:47 UTC
++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
+@@ -165,7 +165,7 @@ class RootCompositorFrameSinkImpl : public mojom::Comp
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ gfx::Size last_swap_pixel_size_;
+ #endif
+
diff --git a/devel/electron12/files/patch-components_viz_test_fake__output__surface.cc b/devel/electron12/files/patch-components_viz_test_fake__output__surface.cc
new file mode 100644
index 000000000000..c37e9a38fb18
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_test_fake__output__surface.cc
@@ -0,0 +1,11 @@
+--- components/viz/test/fake_output_surface.cc.orig 2021-04-14 01:08:47 UTC
++++ components/viz/test/fake_output_surface.cc
+@@ -118,7 +118,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void FakeOutputSurface::SetNeedsSwapSizeNotifications(
+ bool needs_swap_size_notifications) {}
+ #endif
diff --git a/devel/electron12/files/patch-components_viz_test_fake__output__surface.h b/devel/electron12/files/patch-components_viz_test_fake__output__surface.h
new file mode 100644
index 000000000000..7ae3726b5262
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_test_fake__output__surface.h
@@ -0,0 +1,11 @@
+--- components/viz/test/fake_output_surface.h.orig 2021-04-14 01:08:47 UTC
++++ components/viz/test/fake_output_surface.h
+@@ -89,7 +89,7 @@ class FakeOutputSurface : public OutputSurface {
+ gfx::OverlayTransform GetDisplayTransform() override;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void SetNeedsSwapSizeNotifications(
+ bool needs_swap_size_notifications) override;
+ #endif
diff --git a/devel/electron12/files/patch-components_viz_test_mock__display__client.h b/devel/electron12/files/patch-components_viz_test_mock__display__client.h
new file mode 100644
index 000000000000..e515bb7c36fc
--- /dev/null
+++ b/devel/electron12/files/patch-components_viz_test_mock__display__client.h
@@ -0,0 +1,11 @@
+--- components/viz/test/mock_display_client.h.orig 2021-04-14 01:08:47 UTC
++++ components/viz/test/mock_display_client.h
+@@ -39,7 +39,7 @@ class MockDisplayClient : public mojom::DisplayClient
+ #endif
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&));
+ #endif
+
diff --git a/devel/electron11/files/patch-components_webcrypto_algorithms_test__helpers.cc b/devel/electron12/files/patch-components_webcrypto_algorithms_test__helpers.cc
index 6d9b3e6b520e..6d9b3e6b520e 100644
--- a/devel/electron11/files/patch-components_webcrypto_algorithms_test__helpers.cc
+++ b/devel/electron12/files/patch-components_webcrypto_algorithms_test__helpers.cc
diff --git a/devel/electron12/files/patch-content_app_content__main.cc b/devel/electron12/files/patch-content_app_content__main.cc
new file mode 100644
index 000000000000..24cac2b5ac76
--- /dev/null
+++ b/devel/electron12/files/patch-content_app_content__main.cc
@@ -0,0 +1,11 @@
+--- content/app/content_main.cc.orig 2021-04-14 01:08:47 UTC
++++ content/app/content_main.cc
+@@ -229,7 +229,7 @@ int RunContentProcess(const ContentMainParams& params,
+ #endif
+ base::EnableTerminationOnOutOfMemory();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The various desktop environments set this environment variable that
+ // allows the dbus client library to connect directly to the bus. When this
+ // variable is not set (test environments like xvfb-run), the dbus client
diff --git a/devel/electron12/files/patch-content_app_content__main__runner__impl.cc b/devel/electron12/files/patch-content_app_content__main__runner__impl.cc
new file mode 100644
index 000000000000..c6ed04a23386
--- /dev/null
+++ b/devel/electron12/files/patch-content_app_content__main__runner__impl.cc
@@ -0,0 +1,65 @@
+--- content/app/content_main_runner_impl.cc.orig 2021-04-22 07:51:51 UTC
++++ content/app/content_main_runner_impl.cc
+@@ -135,7 +135,7 @@
+
+ #endif // OS_POSIX || OS_FUCHSIA
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/native_library.h"
+ #include "base/rand_util.h"
+ #include "content/public/common/zygote/sandbox_support_linux.h"
+@@ -155,7 +155,7 @@
+ #include "content/public/common/content_client.h"
+ #endif
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(USE_ZYGOTE_HANDLE)
+ #include "content/browser/sandbox_host_linux.h"
+@@ -342,7 +342,7 @@ void InitializeZygoteSandboxForBrowserProcess(
+ }
+ #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(ENABLE_PLUGINS)
+ // Loads the (native) libraries but does not initialize them (i.e., does not
+@@ -433,7 +433,7 @@ void PreSandboxInit() {
+ }
+ #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
+
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ } // namespace
+
+@@ -496,7 +496,7 @@ int RunZygote(ContentMainDelegate* delegate) {
+ delegate->ZygoteStarting(&zygote_fork_delegates);
+ media::InitializeMediaLibrary();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ PreSandboxInit();
+ #endif
+
+@@ -900,7 +900,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow
+ mojo::core::InitFeatures();
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // If dynamic Mojo Core is being used, ensure that it's loaded very early in
+ // the child/zygote process, before any sandbox is initialized. The library
+ // is not fully initialized with IPC support until a ChildProcess is later
+@@ -910,7 +910,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow
+ CHECK_EQ(mojo::LoadCoreLibrary(GetMojoCoreSharedLibraryPath()),
+ MOJO_RESULT_OK);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ MainFunctionParams main_params(command_line);
diff --git a/devel/electron12/files/patch-content_browser_BUILD.gn b/devel/electron12/files/patch-content_browser_BUILD.gn
new file mode 100644
index 000000000000..61877de8067f
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_BUILD.gn
@@ -0,0 +1,18 @@
+--- content/browser/BUILD.gn.orig 2021-04-14 01:08:47 UTC
++++ content/browser/BUILD.gn
+@@ -2153,6 +2153,15 @@ source_set("browser") {
+ deps += [ "//third_party/speech-dispatcher" ]
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "sandbox_host_linux.cc",
++ "sandbox_host_linux.h",
++ "sandbox_ipc_linux.cc",
++ "sandbox_ipc_linux.h",
++ ]
++ }
++
+ # ChromeOS also defines linux but their memory-monitors conflict.
+ if (is_chromeos_ash) {
+ sources += [
diff --git a/devel/electron12/files/patch-content_browser_browser__main__loop.cc b/devel/electron12/files/patch-content_browser_browser__main__loop.cc
new file mode 100644
index 000000000000..cc986a4cf33d
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_browser__main__loop.cc
@@ -0,0 +1,38 @@
+--- content/browser/browser_main_loop.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/browser_main_loop.cc
+@@ -368,7 +368,7 @@ std::unique_ptr<base::MemoryPressureMonitor> CreateMem
+ if (chromeos::switches::MemoryPressureHandlingEnabled())
+ monitor = std::make_unique<util::MultiSourceMemoryPressureMonitor>();
+ #elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_FUCHSIA) || \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++ defined(OS_BSD) || ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
+ !BUILDFLAG(IS_CHROMECAST))
+ monitor = std::make_unique<util::MultiSourceMemoryPressureMonitor>();
+ #endif
+@@ -566,7 +566,7 @@ int BrowserMainLoop::EarlyInitialization() {
+
+ // Up the priority of the UI thread unless it was already high (since Mac
+ // and recent versions of Android (O+) do this automatically).
+-#if !defined(OS_MAC)
++#if !defined(OS_MAC) && !defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(
+ features::kBrowserUseDisplayThreadPriority) &&
+ base::PlatformThread::GetCurrentThreadPriority() <
+@@ -576,7 +576,7 @@ int BrowserMainLoop::EarlyInitialization() {
+ }
+ #endif // !defined(OS_MAC)
+
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ // We use quite a few file descriptors for our IPC as well as disk the disk
+ // cache,and the default limit on the Mac is low (256), so bump it up.
+@@ -586,7 +586,7 @@ int BrowserMainLoop::EarlyInitialization() {
+ // users can easily hit this limit with many open tabs. Bump up the limit to
+ // an arbitrarily high number. See https://crbug.com/539567
+ base::IncreaseFdLimitTo(8192);
+-#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
++#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
+ // defined(OS_ANDROID)
+
+ #if defined(OS_WIN)
diff --git a/devel/electron11/files/patch-content_browser_child__process__launcher__helper__linux.cc b/devel/electron12/files/patch-content_browser_child__process__launcher__helper__linux.cc
index 301bbc417770..301bbc417770 100644
--- a/devel/electron11/files/patch-content_browser_child__process__launcher__helper__linux.cc
+++ b/devel/electron12/files/patch-content_browser_child__process__launcher__helper__linux.cc
diff --git a/devel/electron12/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/devel/electron12/files/patch-content_browser_compositor_viz__process__transport__factory.cc
new file mode 100644
index 000000000000..f080145ce1d1
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_compositor_viz__process__transport__factory.cc
@@ -0,0 +1,11 @@
+--- content/browser/compositor/viz_process_transport_factory.cc.orig 2021-04-22 07:51:51 UTC
++++ content/browser/compositor/viz_process_transport_factory.cc
+@@ -111,7 +111,7 @@ class HostDisplayClient : public viz::HostDisplayClien
+ // viz::HostDisplayClient:
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void DidCompleteSwapWithNewSize(const gfx::Size& size) override {
+ compositor_->OnCompleteSwapWithNewSize(size);
+ }
diff --git a/devel/electron12/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/devel/electron12/files/patch-content_browser_devtools_protocol_system__info__handler.cc
new file mode 100644
index 000000000000..6a61518453ff
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_devtools_protocol_system__info__handler.cc
@@ -0,0 +1,13 @@
+--- content/browser/devtools/protocol/system_info_handler.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/devtools/protocol/system_info_handler.cc
+@@ -49,8 +49,8 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS
+ // Linux and Mac Debug builds need more time -- see Issue 796437, 1046598, and
+ // 1153667.
+ // Windows builds need more time -- see Issue 873112 and 1004472.
+-#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)) && \
+- !defined(NDEBUG)) || \
++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)) && \
++ !defined(NDEBUG)) || \
+ defined(OS_WIN)
+ const int kGPUInfoWatchdogTimeoutMs = 30000;
+ #else
diff --git a/devel/electron12/files/patch-content_browser_download_download__manager__impl.cc b/devel/electron12/files/patch-content_browser_download_download__manager__impl.cc
new file mode 100644
index 000000000000..eb03d7713ef0
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_download_download__manager__impl.cc
@@ -0,0 +1,29 @@
+--- content/browser/download/download_manager_impl.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/download/download_manager_impl.cc
+@@ -83,7 +83,7 @@
+ #include "third_party/blink/public/common/loader/referrer_utils.h"
+ #include "third_party/blink/public/common/loader/throttling_url_loader.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/nix/xdg_util.h"
+ #endif
+
+@@ -219,7 +219,7 @@ class DownloadItemFactoryImpl : public download::Downl
+ }
+ };
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ base::FilePath GetTemporaryDownloadDirectory() {
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share");
+@@ -560,7 +560,7 @@ bool DownloadManagerImpl::InterceptDownload(
+
+ base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() {
+ base::FilePath default_download_directory;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // TODO(thomasanderson,crbug.com/784010): Remove this when all Linux
+ // distros with versions of GTK lower than 3.14.7 are no longer
+ // supported. This should happen when support for Ubuntu Trusty and
diff --git a/devel/electron12/files/patch-content_browser_font__access_font__enumeration__cache.h b/devel/electron12/files/patch-content_browser_font__access_font__enumeration__cache.h
new file mode 100644
index 000000000000..b1f5d9fef06c
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_font__access_font__enumeration__cache.h
@@ -0,0 +1,11 @@
+--- content/browser/font_access/font_enumeration_cache.h.orig 2021-04-14 01:08:48 UTC
++++ content/browser/font_access/font_enumeration_cache.h
+@@ -16,7 +16,7 @@
+ #include "third_party/blink/public/common/font_access/font_enumeration_table.pb.h"
+ #include "third_party/blink/public/mojom/font_access/font_access.mojom.h"
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ #define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1
+ #endif
diff --git a/devel/electron12/files/patch-content_browser_gpu_compositor__util.cc b/devel/electron12/files/patch-content_browser_gpu_compositor__util.cc
new file mode 100644
index 000000000000..61cf5968eb5b
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_gpu_compositor__util.cc
@@ -0,0 +1,16 @@
+--- content/browser/gpu/compositor_util.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/gpu/compositor_util.cc
+@@ -127,11 +127,11 @@ const GpuFeatureData GetGpuFeatureData(
+ {"video_decode",
+ SafeGetFeatureStatus(gpu_feature_info,
+ gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE),
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && !defined(OS_ANDROID)
+ !base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux),
+ #else
+ command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode),
+-#endif // ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) &&
++#endif // ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) &&
+ // !defined(OS_ANDROID)
+ DisableInfo::Problem(
+ "Accelerated video decode has been disabled, either via blocklist, "
diff --git a/devel/electron12/files/patch-content_browser_gpu_gpu__process__host.cc b/devel/electron12/files/patch-content_browser_gpu_gpu__process__host.cc
new file mode 100644
index 000000000000..41f161e8d165
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_gpu_gpu__process__host.cc
@@ -0,0 +1,22 @@
+--- content/browser/gpu/gpu_process_host.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/gpu/gpu_process_host.cc
+@@ -231,8 +231,8 @@ static const char* const kSwitchNames[] = {
+ sandbox::policy::switches::kNoSandbox,
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ switches::kDisableDevShmUsage,
+ #endif
+ #if defined(OS_WIN)
+@@ -1144,7 +1144,7 @@ bool GpuProcessHost::LaunchGpuProcess() {
+ std::unique_ptr<base::CommandLine> cmd_line =
+ std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM);
+ #else
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
+ : ChildProcessHost::CHILD_NORMAL;
+ #elif defined(OS_MAC)
diff --git a/devel/electron11/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc b/devel/electron12/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
index 20d190a56dad..20d190a56dad 100644
--- a/devel/electron11/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
+++ b/devel/electron12/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
diff --git a/devel/electron12/files/patch-content_browser_ppapi__plugin__process__host.cc b/devel/electron12/files/patch-content_browser_ppapi__plugin__process__host.cc
new file mode 100644
index 000000000000..9b1287b4c93a
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_ppapi__plugin__process__host.cc
@@ -0,0 +1,11 @@
+--- content/browser/ppapi_plugin_process_host.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/ppapi_plugin_process_host.cc
+@@ -306,7 +306,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn
+ base::CommandLine::StringType plugin_launcher =
+ browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF :
+ ChildProcessHost::CHILD_NORMAL;
+ #else
diff --git a/devel/electron11/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/devel/electron12/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc
index 3fe265047162..3fe265047162 100644
--- a/devel/electron11/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc
+++ b/devel/electron12/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/devel/electron12/files/patch-content_browser_renderer__host_delegated__frame__host.cc
new file mode 100644
index 000000000000..1f7bd7301c4e
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_delegated__frame__host.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/delegated_frame_host.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/renderer_host/delegated_frame_host.cc
+@@ -258,7 +258,7 @@ void DelegatedFrameHost::EmbedSurface(
+
+ if (!primary_surface_id ||
+ primary_surface_id->local_surface_id() != local_surface_id_) {
+-#if defined(OS_WIN) || defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_WIN) || defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // On Windows and Linux, we would like to produce new content as soon as
+ // possible or the OS will create an additional black gutter. Until we can
+ // block resize on surface synchronization on these platforms, we will not
diff --git a/devel/electron11/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/devel/electron12/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
index 7dac42490194..7dac42490194 100644
--- a/devel/electron11/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
+++ b/devel/electron12/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/devel/electron12/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
new file mode 100644
index 000000000000..3ce4343a3fe3
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
@@ -0,0 +1,20 @@
+--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/renderer_host/pepper/pepper_file_io_host.cc
+@@ -437,7 +437,7 @@ void PepperFileIOHost::OnLocalFileOpened(
+ ppapi::host::ReplyMessageContext reply_context,
+ const base::FilePath& path,
+ base::File::Error error_code) {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Quarantining a file before its contents are available is only supported on
+ // Windows and Linux.
+ if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) {
+@@ -458,7 +458,7 @@ void PepperFileIOHost::OnLocalFileOpened(
+ #endif
+ }
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void PepperFileIOHost::OnLocalFileQuarantined(
+ ppapi::host::ReplyMessageContext reply_context,
+ const base::FilePath& path,
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.cc b/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.cc
new file mode 100644
index 000000000000..0501c85743e1
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.cc
@@ -0,0 +1,29 @@
+--- content/browser/renderer_host/render_message_filter.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/renderer_host/render_message_filter.cc
+@@ -69,7 +69,7 @@
+ #if defined(OS_MAC)
+ #include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/linux_util.h"
+ #include "base/threading/platform_thread.h"
+ #endif
+@@ -126,7 +126,7 @@ void RenderMessageFilter::GenerateFrameRoutingID(
+ std::move(callback).Run(routing_id, frame_token, devtools_frame_token);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void RenderMessageFilter::SetThreadPriorityOnFileThread(
+ base::PlatformThreadId ns_tid,
+ base::ThreadPriority priority) {
+@@ -147,7 +147,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea
+ }
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void RenderMessageFilter::SetThreadPriority(int32_t ns_tid,
+ base::ThreadPriority priority) {
+ constexpr base::TaskTraits kTraits = {
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.h b/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.h
new file mode 100644
index 000000000000..c140bf8faae7
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__message__filter.h
@@ -0,0 +1,19 @@
+--- content/browser/renderer_host/render_message_filter.h.orig 2021-04-14 01:08:48 UTC
++++ content/browser/renderer_host/render_message_filter.h
+@@ -80,14 +80,14 @@ class CONTENT_EXPORT RenderMessageFilter
+ void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override;
+ void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override;
+ void HasGpuProcess(HasGpuProcessCallback callback) override;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void SetThreadPriority(int32_t ns_tid,
+ base::ThreadPriority priority) override;
+ #endif
+
+ void OnResolveProxy(const GURL& url, IPC::Message* reply_msg);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid,
+ base::ThreadPriority priority);
+ #endif
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/devel/electron12/files/patch-content_browser_renderer__host_render__process__host__impl.cc
new file mode 100644
index 000000000000..1c89b86ff49c
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__process__host__impl.cc
@@ -0,0 +1,58 @@
+--- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/renderer_host/render_process_host_impl.cc
+@@ -230,7 +230,7 @@
+ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <sys/resource.h>
+ #include <sys/time.h>
+
+@@ -1217,7 +1217,7 @@ static constexpr size_t kUnknownPlatformProcessLimit =
+ // to indicate failure and std::numeric_limits<size_t>::max() to indicate
+ // unlimited.
+ size_t GetPlatformProcessLimit() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ struct rlimit limit;
+ if (getrlimit(RLIMIT_NPROC, &limit) != 0)
+ return kUnknownPlatformProcessLimit;
+@@ -1228,7 +1228,7 @@ size_t GetPlatformProcessLimit() {
+ #else
+ // TODO(https://crbug.com/104689): Implement on other platforms.
+ return kUnknownPlatformProcessLimit;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+ #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+
+@@ -1302,7 +1302,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public
+ return;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
+ ConnectToFontService(std::move(font_receiver));
+ return;
+@@ -1732,7 +1732,7 @@ bool RenderProcessHostImpl::Init() {
+ renderer_prefix =
+ browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
+ : ChildProcessHost::CHILD_NORMAL;
+ #elif defined(OS_MAC)
+@@ -3181,8 +3181,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin
+ switches::kDisableInProcessStackTraces,
+ sandbox::policy::switches::kDisableSeccompFilterSandbox,
+ sandbox::policy::switches::kNoSandbox,
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ switches::kDisableDevShmUsage,
+ #endif
+ #if defined(OS_MAC)
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/devel/electron12/files/patch-content_browser_renderer__host_render__view__host__impl.cc
new file mode 100644
index 000000000000..d9a201d7517d
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__view__host__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_view_host_impl.cc.orig 2021-04-22 07:51:51 UTC
++++ content/browser/renderer_host/render_view_host_impl.cc
+@@ -258,7 +258,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs(
+ display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL);
+ prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips =
+ display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL);
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ prefs->system_font_family_name = gfx::Font().GetFontName();
+ #elif defined(OS_FUCHSIA)
+ // Make Blink's "focus ring" invisible. The focus ring is a hairline border
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
new file mode 100644
index 000000000000..7e0872028b5c
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
@@ -0,0 +1,38 @@
+--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/renderer_host/render_widget_host_view_aura.cc
+@@ -111,7 +111,7 @@
+ #include "ui/gfx/gdi_util.h"
+ #endif
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "content/browser/accessibility/browser_accessibility_auralinux.h"
+ #include "ui/base/ime/linux/text_edit_command_auralinux.h"
+ #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
+@@ -474,7 +474,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge
+ if (manager)
+ return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM();
+
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ BrowserAccessibilityManager* manager =
+ host()->GetOrCreateRootBrowserAccessibilityManager();
+ if (manager && manager->GetRoot())
+@@ -2188,7 +2188,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() {
+ }
+
+ bool RenderWidgetHostViewAura::NeedsMouseCapture() {
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return NeedsInputGrab();
+ #else
+ return false;
+@@ -2354,7 +2354,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit
+ if (!target_host)
+ return;
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate =
+ ui::GetTextEditKeyBindingsDelegate();
+ std::vector<ui::TextEditCommandAuraLinux> commands;
diff --git a/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
new file mode 100644
index 000000000000..a639950872c7
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
+@@ -700,7 +700,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand
+ if (event->type() == ui::ET_MOUSE_EXITED) {
+ if (mouse_locked || selection_popup)
+ return false;
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Don't forward the mouse leave message which is received when the context
+ // menu is displayed by the page. This confuses the page and causes state
+ // changes.
diff --git a/devel/electron12/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
new file mode 100644
index 000000000000..eb301d95bb5e
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc
+@@ -333,7 +333,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask
+ // in context menus, among others). Simply ignore the mismatches for now.
+ // See https://crbug.com/929813 for the details of why the mismatch
+ // happens.
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_OZONE)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && defined(USE_OZONE)
+ task_execution_metadata_.clear();
+ #endif
+ return;
diff --git a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
index 3a596a14cdf3..3a596a14cdf3 100644
--- a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
+++ b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
diff --git a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
index 4c6a44f52fdf..4c6a44f52fdf 100644
--- a/devel/electron11/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
+++ b/devel/electron12/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
diff --git a/devel/electron12/files/patch-content_browser_utility__process__host.cc b/devel/electron12/files/patch-content_browser_utility__process__host.cc
new file mode 100644
index 000000000000..05fc6f49f5b5
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_utility__process__host.cc
@@ -0,0 +1,22 @@
+--- content/browser/utility_process_host.cc.orig 2021-04-14 01:08:48 UTC
++++ content/browser/utility_process_host.cc
+@@ -58,7 +58,7 @@ UtilityProcessHost::UtilityProcessHost()
+
+ UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client)
+ : sandbox_type_(sandbox::policy::SandboxType::kUtility),
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ child_flags_(ChildProcessHost::CHILD_ALLOW_SELF),
+ #else
+ child_flags_(ChildProcessHost::CHILD_NORMAL),
+@@ -227,8 +227,8 @@ bool UtilityProcessHost::StartProcess() {
+ sandbox::policy::switches::kNoSandbox,
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+- !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ switches::kDisableDevShmUsage,
+ #endif
+ #if defined(OS_MAC)
diff --git a/devel/electron11/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/devel/electron12/files/patch-content_browser_utility__process__host__receiver__bindings.cc
index 68754c3de02e..68754c3de02e 100644
--- a/devel/electron11/files/patch-content_browser_utility__process__host__receiver__bindings.cc
+++ b/devel/electron12/files/patch-content_browser_utility__process__host__receiver__bindings.cc
diff --git a/devel/electron11/files/patch-content_browser_v8__snapshot__files.cc b/devel/electron12/files/patch-content_browser_v8__snapshot__files.cc
index 79aa7edac9f0..79aa7edac9f0 100644
--- a/devel/electron11/files/patch-content_browser_v8__snapshot__files.cc
+++ b/devel/electron12/files/patch-content_browser_v8__snapshot__files.cc
diff --git a/devel/electron12/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/devel/electron12/files/patch-content_browser_web__contents_web__contents__view__aura.cc
new file mode 100644
index 000000000000..0ff1b1cf7358
--- /dev/null
+++ b/devel/electron12/files/patch-content_browser_web__contents_web__contents__view__aura.cc
@@ -0,0 +1,29 @@
+--- content/browser/web_contents/web_contents_view_aura.cc.orig 2021-04-22 07:51:50 UTC
++++ content/browser/web_contents/web_contents_view_aura.cc
+@@ -157,7 +157,7 @@ class WebDragSourceAura : public NotificationObserver
+ DISALLOW_COPY_AND_ASSIGN(WebDragSourceAura);
+ };
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
+ // Fill out the OSExchangeData with a file contents, synthesizing a name if
+ // necessary.
+ void PrepareDragForFileContents(const DropData& drop_data,
+@@ -243,7 +243,7 @@ void PrepareDragData(const DropData& drop_data,
+ if (!drop_data.download_metadata.empty())
+ PrepareDragForDownload(drop_data, provider, web_contents);
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
+ // We set the file contents before the URL because the URL also sets file
+ // contents (to a .URL shortcut). We want to prefer file content data over
+ // a shortcut so we add it first.
+@@ -1211,7 +1211,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent*
+ // Linux window managers like to handle raise-on-click themselves. If we
+ // raise-on-click manually, this may override user settings that prevent
+ // focus-stealing.
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ // It is possible for the web-contents to be destroyed while it is being
+ // activated. Use a weak-ptr to track whether that happened or not.
+ // More in https://crbug.com/1040725
diff --git a/devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
index 3638174844d0..3638174844d0 100644
--- a/devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
+++ b/devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc
diff --git a/devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h b/devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
index 843794fcd123..843794fcd123 100644
--- a/devel/electron11/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
+++ b/devel/electron12/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h
diff --git a/devel/electron12/files/patch-content_child_child__process.cc b/devel/electron12/files/patch-content_child_child__process.cc
new file mode 100644
index 000000000000..4653a2066d49
--- /dev/null
+++ b/devel/electron12/files/patch-content_child_child__process.cc
@@ -0,0 +1,11 @@
+--- content/child/child_process.cc.orig 2021-04-14 01:08:48 UTC
++++ content/child/child_process.cc
+@@ -52,7 +52,7 @@ ChildProcess::ChildProcess(base::ThreadPriority io_thr
+ DCHECK(!g_lazy_child_process_tls.Pointer()->Get());
+ g_lazy_child_process_tls.Pointer()->Set(this);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const base::CommandLine& command_line =
+ *base::CommandLine::ForCurrentProcess();
+ const bool is_embedded_in_browser_process =
diff --git a/devel/electron12/files/patch-content_common_BUILD.gn b/devel/electron12/files/patch-content_common_BUILD.gn
new file mode 100644
index 000000000000..81ee7abf689a
--- /dev/null
+++ b/devel/electron12/files/patch-content_common_BUILD.gn
@@ -0,0 +1,36 @@
+--- content/common/BUILD.gn.orig 2021-04-14 01:08:48 UTC
++++ content/common/BUILD.gn
+@@ -340,7 +340,7 @@ source_set("common") {
+ sources -= [ "cursors/webcursor_aura.cc" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "common_sandbox_support_linux.cc",
+ "sandbox_init_linux.cc",
+@@ -356,6 +356,15 @@ source_set("common") {
+ ]
+ }
+
++ if (is_bsd) {
++ sources += [
++ "common_sandbox_support_linux.cc",
++ ]
++ deps += [
++ "//third_party/fontconfig",
++ ]
++ }
++
+ if (use_zygote_handle) {
+ sources += [
+ "zygote/zygote_handle_impl_linux.h",
+@@ -409,7 +418,7 @@ source_set("common") {
+ }
+ }
+
+-if (is_linux || is_chromeos) {
++if ((is_linux || is_chromeos) && !is_bsd) {
+ source_set("set_process_title_linux") {
+ public = [ "set_process_title_linux.h" ]
+ sources = [ "set_process_title_linux.cc" ]
diff --git a/devel/electron11/files/patch-content_common_common__sandbox__support__linux.cc b/devel/electron12/files/patch-content_common_common__sandbox__support__linux.cc
index 9205fdce0f68..9205fdce0f68 100644
--- a/devel/electron11/files/patch-content_common_common__sandbox__support__linux.cc
+++ b/devel/electron12/files/patch-content_common_common__sandbox__support__linux.cc
diff --git a/devel/electron11/files/patch-content_common_mojo__core__library__support.cc b/devel/electron12/files/patch-content_common_mojo__core__library__support.cc
index 0ff5913c60fd..0ff5913c60fd 100644
--- a/devel/electron11/files/patch-content_common_mojo__core__library__support.cc
+++ b/devel/electron12/files/patch-content_common_mojo__core__library__support.cc
diff --git a/devel/electron12/files/patch-content_common_user__agent.cc b/devel/electron12/files/patch-content_common_user__agent.cc
new file mode 100644
index 000000000000..0697b11dab03
--- /dev/null
+++ b/devel/electron12/files/patch-content_common_user__agent.cc
@@ -0,0 +1,17 @@
+--- content/common/user_agent.cc.orig 2021-04-14 01:08:48 UTC
++++ content/common/user_agent.cc
+@@ -213,6 +213,14 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons
+ );
+ #endif
+
++#if defined(OS_BSD)
++#if defined(__x86_64__)
++ base::StringAppendF(&os_cpu, "; Linux x86_64");
++#else
++ base::StringAppendF(&os_cpu, "; Linux i686");
++#endif
++#endif
++
+ return os_cpu;
+ }
+
diff --git a/devel/electron12/files/patch-content_gpu_BUILD.gn b/devel/electron12/files/patch-content_gpu_BUILD.gn
new file mode 100644
index 000000000000..c79a3590d3be
--- /dev/null
+++ b/devel/electron12/files/patch-content_gpu_BUILD.gn
@@ -0,0 +1,11 @@
+--- content/gpu/BUILD.gn.orig 2021-04-14 01:08:48 UTC
++++ content/gpu/BUILD.gn
+@@ -137,7 +137,7 @@ target(link_target_type, "gpu_sources") {
+ # Use DRI on desktop Linux builds.
+ if (current_cpu != "s390x" && current_cpu != "ppc64" &&
+ (is_linux || is_chromeos_lacros) &&
+- (!is_chromecast || is_cast_desktop_build)) {
++ (!is_chromecast || is_cast_desktop_build) && !is_bsd) {
+ configs += [ "//build/config/linux/dri" ]
+ }
+ }
diff --git a/devel/electron12/files/patch-content_gpu_gpu__main.cc b/devel/electron12/files/patch-content_gpu_gpu__main.cc
new file mode 100644
index 000000000000..4b0b56c31a5b
--- /dev/null
+++ b/devel/electron12/files/patch-content_gpu_gpu__main.cc
@@ -0,0 +1,20 @@
+--- content/gpu/gpu_main.cc.orig 2021-04-22 07:51:50 UTC
++++ content/gpu/gpu_main.cc
+@@ -85,7 +85,7 @@
+ #include "ui/gfx/x/x11_switches.h" // nogncheck
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "content/gpu/gpu_sandbox_hook_linux.h"
+ #include "content/public/common/sandbox_init.h"
+ #include "sandbox/policy/linux/sandbox_linux.h"
+@@ -310,7 +310,7 @@ int GpuMain(const MainFunctionParams& parameters) {
+ gpu_preferences.message_pump_type);
+ }
+ #endif
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #error "Unsupported Linux platform."
+ #elif defined(OS_MAC)
+ // Cross-process CoreAnimation requires a CFRunLoop to function at all, and
diff --git a/devel/electron12/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/devel/electron12/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
new file mode 100644
index 000000000000..bb87001c6ff8
--- /dev/null
+++ b/devel/electron12/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
@@ -0,0 +1,18 @@
+--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2021-04-14 01:08:48 UTC
++++ content/gpu/gpu_sandbox_hook_linux.cc
+@@ -362,6 +362,7 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
+ }
+
+ void LoadArmGpuLibraries() {
++#if !defined(OS_BSD)
+ // Preload the Mali library.
+ if (UseChromecastSandboxAllowlist()) {
+ for (const char* path : kAllowedChromecastPaths) {
+@@ -376,6 +377,7 @@ void LoadArmGpuLibraries() {
+ // Preload the Tegra V4L2 (video decode acceleration) library.
+ dlopen(kLibTegraPath, dlopen_flag);
+ }
++#endif
+ }
+
+ bool LoadAmdGpuLibraries() {
diff --git a/devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
index 2e5b9f1df50a..2e5b9f1df50a 100644
--- a/devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
+++ b/devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
diff --git a/devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
index 53c89aa781f5..53c89aa781f5 100644
--- a/devel/electron11/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
+++ b/devel/electron12/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
diff --git a/devel/electron11/files/patch-content_public_app_content__main__delegate.cc b/devel/electron12/files/patch-content_public_app_content__main__delegate.cc
index eb73c4be1145..eb73c4be1145 100644
--- a/devel/electron11/files/patch-content_public_app_content__main__delegate.cc
+++ b/devel/electron12/files/patch-content_public_app_content__main__delegate.cc
diff --git a/devel/electron11/files/patch-content_public_app_content__main__delegate.h b/devel/electron12/files/patch-content_public_app_content__main__delegate.h
index 0574a4e37cb3..0574a4e37cb3 100644
--- a/devel/electron11/files/patch-content_public_app_content__main__delegate.h
+++ b/devel/electron12/files/patch-content_public_app_content__main__delegate.h
diff --git a/devel/electron12/files/patch-content_public_browser_font__access__context.h b/devel/electron12/files/patch-content_public_browser_font__access__context.h
new file mode 100644
index 000000000000..73f2354d7433
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_browser_font__access__context.h
@@ -0,0 +1,11 @@
+--- content/public/browser/font_access_context.h.orig 2021-04-14 01:08:48 UTC
++++ content/public/browser/font_access_context.h
+@@ -10,7 +10,7 @@
+ #include "content/common/content_export.h"
+ #include "third_party/blink/public/mojom/font_access/font_access.mojom.h"
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ #define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1
+ #endif
diff --git a/devel/electron11/files/patch-content_public_browser_zygote__host_zygote__host__linux.h b/devel/electron12/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
index 229951e7797c..229951e7797c 100644
--- a/devel/electron11/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
+++ b/devel/electron12/files/patch-content_public_browser_zygote__host_zygote__host__linux.h
diff --git a/devel/electron11/files/patch-content_public_common_child__process__host.h b/devel/electron12/files/patch-content_public_common_child__process__host.h
index 027592d7e045..027592d7e045 100644
--- a/devel/electron11/files/patch-content_public_common_child__process__host.h
+++ b/devel/electron12/files/patch-content_public_common_child__process__host.h
diff --git a/devel/electron12/files/patch-content_public_common_common__param__traits__macros.h b/devel/electron12/files/patch-content_public_common_common__param__traits__macros.h
new file mode 100644
index 000000000000..b7dae429c1c5
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_common__param__traits__macros.h
@@ -0,0 +1,11 @@
+--- content/public/common/common_param_traits_macros.h.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/common_param_traits_macros.h
+@@ -129,7 +129,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences)
+ IPC_STRUCT_TRAITS_MEMBER(accept_languages)
+ IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
+ IPC_STRUCT_TRAITS_MEMBER(caret_browsing_enabled)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
+ #endif
+ #if defined(OS_WIN)
diff --git a/devel/electron12/files/patch-content_public_common_content__constants.cc b/devel/electron12/files/patch-content_public_common_content__constants.cc
new file mode 100644
index 000000000000..d580c4ebe7c3
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_content__constants.cc
@@ -0,0 +1,11 @@
+--- content/public/common/content_constants.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/content_constants.cc
+@@ -50,7 +50,7 @@ std::string GetCorsExemptRequestedWithHeaderName() {
+ return base::JoinString(pieces, "-");
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const int kLowestRendererOomScore = 300;
+ const int kHighestRendererOomScore = 1000;
+
diff --git a/devel/electron12/files/patch-content_public_common_content__constants.h b/devel/electron12/files/patch-content_public_common_content__constants.h
new file mode 100644
index 000000000000..8f9813f3522e
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_content__constants.h
@@ -0,0 +1,11 @@
+--- content/public/common/content_constants.h.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/content_constants.h
+@@ -64,7 +64,7 @@ CONTENT_EXPORT extern const char kCorsExemptPurposeHea
+ // it at run time.
+ CONTENT_EXPORT std::string GetCorsExemptRequestedWithHeaderName();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The OOM score adj constants
+ // The highest and lowest assigned OOM score adjustment (oom_score_adj) for
+ // renderers and extensions used by the OomPriority Manager.
diff --git a/devel/electron12/files/patch-content_public_common_content__features.cc b/devel/electron12/files/patch-content_public_common_content__features.cc
new file mode 100644
index 000000000000..b52ffc44d6db
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_content__features.cc
@@ -0,0 +1,31 @@
+--- content/public/common/content_features.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/content_features.cc
+@@ -45,7 +45,7 @@ const base::Feature kAudioServiceOutOfProcess {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_MAC) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+ base::FEATURE_DISABLED_BY_DEFAULT
+@@ -773,8 +773,8 @@ const base::Feature kWebAssemblyThreads {
+ };
+
+ // Enable WebAssembly trap handler.
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
+- defined(OS_MAC)) && \
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
++ defined(OS_MAC)) && \
+ defined(ARCH_CPU_X86_64)
+ const base::Feature kWebAssemblyTrapHandler{"WebAssemblyTrapHandler",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+@@ -795,7 +795,7 @@ const base::Feature kWebAuthCable {
+ "WebAuthenticationCable",
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
+ base::FEATURE_DISABLED_BY_DEFAULT
+ #else
+ base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/devel/electron12/files/patch-content_public_common_content__switches.cc b/devel/electron12/files/patch-content_public_common_content__switches.cc
new file mode 100644
index 000000000000..5079655127f2
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_content__switches.cc
@@ -0,0 +1,11 @@
+--- content/public/common/content_switches.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/content_switches.cc
+@@ -955,7 +955,7 @@ const char kEnableAutomation[] = "enable-automation";
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Allows sending text-to-speech requests to speech-dispatcher, a common
+ // Linux speech service. Because it's buggy, the user must explicitly
+ // enable it so that visiting a random webpage can't cause instability.
diff --git a/devel/electron12/files/patch-content_public_common_content__switches.h b/devel/electron12/files/patch-content_public_common_content__switches.h
new file mode 100644
index 000000000000..9aef4c0f2799
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_common_content__switches.h
@@ -0,0 +1,20 @@
+--- content/public/common/content_switches.h.orig 2021-04-14 01:08:48 UTC
++++ content/public/common/content_switches.h
+@@ -245,7 +245,7 @@ CONTENT_EXPORT extern const char kWebXrRuntimeOrientat
+ CONTENT_EXPORT extern const char kWebXrRuntimeOpenXr[];
+ CONTENT_EXPORT extern const char kWebXrRuntimeWMR[];
+
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && !defined(OS_ANDROID)
+ CONTENT_EXPORT extern const char kEnableAcceleratedVideoDecode[];
+ #endif
+ CONTENT_EXPORT extern const char kDisableAcceleratedVideoDecode[];
+@@ -268,7 +268,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ CONTENT_EXPORT extern const char kEnableSpeechDispatcher[];
+ #endif
+
diff --git a/devel/electron11/files/patch-content_public_common_use__zoom__for__dsf__policy.cc b/devel/electron12/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
index 9ea9b121f5e6..9ea9b121f5e6 100644
--- a/devel/electron11/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
+++ b/devel/electron12/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
diff --git a/devel/electron11/files/patch-content_public_common_zygote_features.gni b/devel/electron12/files/patch-content_public_common_zygote_features.gni
index 161c46f349a1..161c46f349a1 100644
--- a/devel/electron11/files/patch-content_public_common_zygote_features.gni
+++ b/devel/electron12/files/patch-content_public_common_zygote_features.gni
diff --git a/devel/electron12/files/patch-content_public_test_browser__test__base.cc b/devel/electron12/files/patch-content_public_test_browser__test__base.cc
new file mode 100644
index 000000000000..cf21d36a7298
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_test_browser__test__base.cc
@@ -0,0 +1,13 @@
+--- content/public/test/browser_test_base.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/test/browser_test_base.cc
+@@ -109,6 +109,10 @@
+ #include "ui/views/test/event_generator_delegate_mac.h"
+ #endif
+
++#if defined(OS_FREEBSD)
++#include <sys/signal.h>
++#endif
++
+ #if defined(OS_POSIX)
+ #include "base/process/process_handle.h"
+ #endif
diff --git a/devel/electron12/files/patch-content_public_test_content__browser__test.cc b/devel/electron12/files/patch-content_public_test_content__browser__test.cc
new file mode 100644
index 000000000000..78d85baea271
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_test_content__browser__test.cc
@@ -0,0 +1,29 @@
+--- content/public/test/content_browser_test.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/test/content_browser_test.cc
+@@ -29,7 +29,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/base/ime/init/input_method_initializer.h"
+ #endif
+
+@@ -92,7 +92,7 @@ void ContentBrowserTest::SetUp() {
+ // LinuxInputMethodContextFactory has to be initialized.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
+ ui::InitializeInputMethodForTesting();
+ #endif
+
+@@ -107,7 +107,7 @@ void ContentBrowserTest::TearDown() {
+ // LinuxInputMethodContextFactory has to be shutdown.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX)
++#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD)
+ ui::ShutdownInputMethodForTesting();
+ #endif
+ }
diff --git a/devel/electron12/files/patch-content_public_test_mock__render__thread.cc b/devel/electron12/files/patch-content_public_test_mock__render__thread.cc
new file mode 100644
index 000000000000..788e02467eed
--- /dev/null
+++ b/devel/electron12/files/patch-content_public_test_mock__render__thread.cc
@@ -0,0 +1,11 @@
+--- content/public/test/mock_render_thread.cc.orig 2021-04-14 01:08:48 UTC
++++ content/public/test/mock_render_thread.cc
+@@ -60,7 +60,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
+ std::move(callback).Run(false);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void SetThreadPriority(int32_t platform_thread_id,
+ base::ThreadPriority thread_priority) override {}
+ #endif
diff --git a/devel/electron12/files/patch-content_renderer_render__process__impl.cc b/devel/electron12/files/patch-content_renderer_render__process__impl.cc
new file mode 100644
index 000000000000..479cad5171f3
--- /dev/null
+++ b/devel/electron12/files/patch-content_renderer_render__process__impl.cc
@@ -0,0 +1,20 @@
+--- content/renderer/render_process_impl.cc.orig 2021-04-14 01:08:48 UTC
++++ content/renderer/render_process_impl.cc
+@@ -45,7 +45,7 @@
+ #if defined(OS_WIN)
+ #include "base/win/win_util.h"
+ #endif
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
+ #include "v8/include/v8-wasm-trap-handler-posix.h"
+ #endif
+ namespace {
+@@ -186,7 +186,7 @@ RenderProcessImpl::RenderProcessImpl()
+
+ SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler,
+ "--no-wasm-trap-handler");
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
+ if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (!command_line->HasSwitch(switches::kDisableInProcessStackTraces)) {
diff --git a/devel/electron12/files/patch-content_renderer_render__thread__impl.cc b/devel/electron12/files/patch-content_renderer_render__thread__impl.cc
new file mode 100644
index 000000000000..06e9ae1f9d04
--- /dev/null
+++ b/devel/electron12/files/patch-content_renderer_render__thread__impl.cc
@@ -0,0 +1,52 @@
+--- content/renderer/render_thread_impl.cc.orig 2021-04-22 07:51:50 UTC
++++ content/renderer/render_thread_impl.cc
+@@ -174,7 +174,7 @@
+
+ #if defined(OS_MAC)
+ #include <malloc/malloc.h>
+-#else
++#elif !defined(OS_BSD)
+ #include <malloc.h>
+ #endif
+
+@@ -687,7 +687,7 @@ void RenderThreadImpl::Init() {
+ DCHECK(parsed_num_raster_threads) << string_value;
+ DCHECK_GT(num_raster_threads, 0);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ categorized_worker_pool_->SetBackgroundingCallback(
+ main_thread_scheduler_->DefaultTaskRunner(),
+ base::BindOnce(
+@@ -710,7 +710,7 @@ void RenderThreadImpl::Init() {
+ base::DiscardableMemoryAllocator::SetInstance(
+ discardable_memory_allocator_.get());
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(
+ blink::features::kBlinkCompositorUseDisplayThreadPriority)) {
+ render_message_filter()->SetThreadPriority(
+@@ -1079,11 +1079,11 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ const bool enable_video_accelerator =
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) &&
+ #else
+ !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) &&
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ (gpu_channel_host->gpu_feature_info()
+ .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] ==
+ gpu::kGpuFeatureStatusEnabled);
+@@ -1093,7 +1093,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
+ !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames);
+ #else
+ cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames);
+-#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
++#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // defined(OS_WIN)
+ const bool enable_media_stream_gpu_memory_buffers =
+ enable_gpu_memory_buffers &&
diff --git a/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.cc b/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.cc
new file mode 100644
index 000000000000..ab597389d7aa
--- /dev/null
+++ b/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.cc
@@ -0,0 +1,47 @@
+--- content/renderer/renderer_blink_platform_impl.cc.orig 2021-04-22 07:51:51 UTC
++++ content/renderer/renderer_blink_platform_impl.cc
+@@ -102,7 +102,7 @@
+
+ #if defined(OS_MAC)
+ #include "content/child/child_process_sandbox_support_impl_mac.h"
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "content/child/child_process_sandbox_support_impl_linux.h"
+ #endif
+
+@@ -172,7 +172,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+ main_thread_scheduler_(main_thread_scheduler) {
+ // RenderThread may not exist in some tests.
+ if (RenderThreadImpl::current()) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ mojo::PendingRemote<font_service::mojom::FontService> font_service;
+ RenderThreadImpl::current()->BindHostReceiver(
+ font_service.InitWithNewPipeAndPassReceiver());
+@@ -182,7 +182,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
+ #endif
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ if (sandboxEnabled()) {
+ #if defined(OS_MAC)
+ sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
+@@ -233,7 +233,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory(
+ std::move(factory));
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
+ base::PlatformThreadId thread_id) {
+ if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
+@@ -248,7 +248,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
+ }
+
+ blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ return sandbox_support_.get();
+ #else
+ // These platforms do not require sandbox support.
diff --git a/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.h b/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.h
new file mode 100644
index 000000000000..0f7faa87f95f
--- /dev/null
+++ b/devel/electron12/files/patch-content_renderer_renderer__blink__platform__impl.h
@@ -0,0 +1,38 @@
+--- content/renderer/renderer_blink_platform_impl.h.orig 2021-04-22 07:51:51 UTC
++++ content/renderer/renderer_blink_platform_impl.h
+@@ -29,7 +29,7 @@
+ #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h"
+ #include "third_party/blink/public/mojom/loader/code_cache.mojom.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "components/services/font/public/cpp/font_loader.h" // nogncheck
+ #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
+ #endif
+@@ -183,7 +183,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+ const blink::WebURL& top_document_web_url) override;
+ gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override;
+ blink::WebString ConvertIDNToUnicode(const blink::WebString& host) override;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void SetDisplayThreadPriority(base::PlatformThreadId thread_id) override;
+ #endif
+ blink::BlameContext* GetTopLevelBlameContext() override;
+@@ -231,7 +231,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+ // Return the mojo interface for making CodeCache calls.
+ blink::mojom::CodeCacheHost& GetCodeCacheHost();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)
+ std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
+ #endif
+
+@@ -252,7 +252,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
+ mojo::PendingRemote<blink::mojom::CodeCacheHost> code_cache_host_remote_;
+ mojo::SharedRemote<blink::mojom::CodeCacheHost> code_cache_host_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ sk_sp<font_service::FontLoader> font_loader_;
+ #endif
+
diff --git a/devel/electron11/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/devel/electron12/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
index 8d8e6866df25..8d8e6866df25 100644
--- a/devel/electron11/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
+++ b/devel/electron12/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
diff --git a/devel/electron12/files/patch-content_shell_BUILD.gn b/devel/electron12/files/patch-content_shell_BUILD.gn
new file mode 100644
index 000000000000..794bfc597ba3
--- /dev/null
+++ b/devel/electron12/files/patch-content_shell_BUILD.gn
@@ -0,0 +1,47 @@
+--- content/shell/BUILD.gn.orig 2021-04-14 01:08:48 UTC
++++ content/shell/BUILD.gn
+@@ -87,7 +87,7 @@ static_library("content_shell_app") {
+ "//content/web_test:web_test_renderer",
+ ]
+ }
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ deps += [
+ "//components/crash/core/app",
+ "//components/crash/core/app:test_support",
+@@ -267,7 +267,7 @@ static_library("content_shell_lib") {
+
+ if (is_fuchsia) {
+ deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.policy" ]
+- } else {
++ } else if (!is_bsd) {
+ deps += [
+ "//components/crash/content/browser",
+ "//components/crash/core/app",
+@@ -521,7 +521,7 @@ if (is_android) {
+ }
+ }
+
+- if (is_win || is_linux || is_chromeos) {
++ if ((is_win || is_linux || is_chromeos) && !is_bsd) {
+ data_deps +=
+ [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ]
+ }
+@@ -805,7 +805,7 @@ group("content_shell_crash_test") {
+ mac_bin_path + "otool",
+ ]
+ }
+- if (is_posix) {
++ if (is_posix && !is_bsd) {
+ data += [
+ "//components/crash/content/tools/generate_breakpad_symbols.py",
+ "//components/crash/content/tools/dmp2minidump.py",
+@@ -814,7 +814,7 @@ group("content_shell_crash_test") {
+ if (is_win) {
+ data_deps += [ "//build/win:copy_cdb_to_output" ]
+ }
+- if (is_posix) {
++ if (is_posix && !is_bsd) {
+ data_deps += [
+ "//third_party/breakpad:dump_syms",
+ "//third_party/breakpad:minidump_stackwalk",
diff --git a/devel/electron11/files/patch-content_shell_app_shell__main__delegate.cc b/devel/electron12/files/patch-content_shell_app_shell__main__delegate.cc
index 4bb184631dc8..4bb184631dc8 100644
--- a/devel/electron11/files/patch-content_shell_app_shell__main__delegate.cc
+++ b/devel/electron12/files/patch-content_shell_app_shell__main__delegate.cc
diff --git a/devel/electron11/files/patch-content_shell_browser_shell__browser__context.cc b/devel/electron12/files/patch-content_shell_browser_shell__browser__context.cc
index a191c1473d3d..a191c1473d3d 100644
--- a/devel/electron11/files/patch-content_shell_browser_shell__browser__context.cc
+++ b/devel/electron12/files/patch-content_shell_browser_shell__browser__context.cc
diff --git a/devel/electron12/files/patch-content_shell_browser_shell__browser__main__parts.cc b/devel/electron12/files/patch-content_shell_browser_shell__browser__main__parts.cc
new file mode 100644
index 000000000000..ca7096f03007
--- /dev/null
+++ b/devel/electron12/files/patch-content_shell_browser_shell__browser__main__parts.cc
@@ -0,0 +1,20 @@
+--- content/shell/browser/shell_browser_main_parts.cc.orig 2021-04-14 01:08:48 UTC
++++ content/shell/browser/shell_browser_main_parts.cc
+@@ -55,7 +55,7 @@
+ #if defined(USE_AURA) && defined(USE_X11)
+ #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck
+ #endif
+-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ #include "ui/base/ime/init/input_method_initializer.h"
+ #endif
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+@@ -137,7 +137,7 @@ void ShellBrowserMainParts::PostMainMessageLoopStart()
+ }
+
+ int ShellBrowserMainParts::PreEarlyInitialization() {
+-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ ui::InitializeInputMethodForTesting();
+ #endif
+ #if defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-content_test_BUILD.gn b/devel/electron12/files/patch-content_test_BUILD.gn
new file mode 100644
index 000000000000..4b570022a08e
--- /dev/null
+++ b/devel/electron12/files/patch-content_test_BUILD.gn
@@ -0,0 +1,37 @@
+--- content/test/BUILD.gn.orig 2021-04-14 01:08:48 UTC
++++ content/test/BUILD.gn
+@@ -1459,10 +1459,12 @@ test("content_browsertests") {
+ }
+
+ if (is_linux || is_chromeos) {
+- sources += [
+- "../browser/utility_process_sandbox_browsertest.cc",
+- "../browser/zygote_host/zygote_browsertest.cc",
+- ]
++ if (!is_bsd) {
++ sources += [
++ "../browser/utility_process_sandbox_browsertest.cc",
++ "../browser/zygote_host/zygote_browsertest.cc",
++ ]
++ }
+ deps += [ "//ui/gfx:test_support" ]
+
+ if (use_atk) {
+@@ -1699,7 +1701,7 @@ static_library("run_all_unittests") {
+ ":test_support",
+ "//base/test:test_support",
+ ]
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ deps += [ "//content/common:set_process_title_linux" ]
+ }
+ }
+@@ -2532,7 +2534,7 @@ test("content_unittests") {
+ deps += [ "//ui/gfx/x" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [ "../common/set_process_title_linux_unittest.cc" ]
+ deps += [ "//content/common:set_process_title_linux" ]
+ }
diff --git a/devel/electron12/files/patch-content_test_content__test__suite.cc b/devel/electron12/files/patch-content_test_content__test__suite.cc
new file mode 100644
index 000000000000..a2a63647579b
--- /dev/null
+++ b/devel/electron12/files/patch-content_test_content__test__suite.cc
@@ -0,0 +1,18 @@
+--- content/test/content_test_suite.cc.orig 2021-04-14 01:08:48 UTC
++++ content/test/content_test_suite.cc
+@@ -83,6 +83,7 @@ void ContentTestSuite::Initialize() {
+ // to initialize GL, so don't do it here.
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ bool is_child_process = command_line->HasSwitch(switches::kTestChildProcess);
++#if !defined(OS_BSD)
+ if (!is_child_process) {
+ gl::GLSurfaceTestSupport::InitializeNoExtensionsOneOff();
+ auto* gpu_feature_info = gpu::GetTestGpuThreadHolder()->GetGpuFeatureInfo();
+@@ -90,6 +91,7 @@ void ContentTestSuite::Initialize() {
+ gpu_feature_info->disabled_extensions);
+ gl::init::InitializeExtensionSettingsOneOffPlatform();
+ }
++#endif
+ // TestEventListeners repeater event propagation is disabled in death test
+ // child process.
+ if (command_line->HasSwitch("gtest_internal_run_death_test")) {
diff --git a/devel/electron12/files/patch-content_utility_BUILD.gn b/devel/electron12/files/patch-content_utility_BUILD.gn
new file mode 100644
index 000000000000..7574623ed9ef
--- /dev/null
+++ b/devel/electron12/files/patch-content_utility_BUILD.gn
@@ -0,0 +1,11 @@
+--- content/utility/BUILD.gn.orig 2021-04-14 01:08:49 UTC
++++ content/utility/BUILD.gn
+@@ -93,7 +93,7 @@ source_set("utility") {
+ deps += [ "//services/proxy_resolver:lib" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ deps += [ "//content/utility/speech:speech_recognition_sandbox_hook" ]
+ }
+
diff --git a/devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
index 828fdfe71152..828fdfe71152 100644
--- a/devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
+++ b/devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
diff --git a/devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
index 404be57895d2..404be57895d2 100644
--- a/devel/electron11/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
+++ b/devel/electron12/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
diff --git a/devel/electron12/files/patch-content_zygote_zygote__linux.cc b/devel/electron12/files/patch-content_zygote_zygote__linux.cc
new file mode 100644
index 000000000000..95a0282a4b64
--- /dev/null
+++ b/devel/electron12/files/patch-content_zygote_zygote__linux.cc
@@ -0,0 +1,16 @@
+--- content/zygote/zygote_linux.cc.orig 2021-04-14 01:08:49 UTC
++++ content/zygote/zygote_linux.cc
+@@ -1,7 +1,7 @@
+ // Copyright (c) 2012 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+-
++#if 0
+ #include "content/zygote/zygote_linux.h"
+
+ #include <errno.h>
+@@ -651,3 +651,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
+ }
+
+ } // namespace content
++#endif
diff --git a/devel/electron11/files/patch-content_zygote_zygote__main__linux.cc b/devel/electron12/files/patch-content_zygote_zygote__main__linux.cc
index 514812836617..514812836617 100644
--- a/devel/electron11/files/patch-content_zygote_zygote__main__linux.cc
+++ b/devel/electron12/files/patch-content_zygote_zygote__main__linux.cc
diff --git a/devel/electron12/files/patch-device_bluetooth_BUILD.gn b/devel/electron12/files/patch-device_bluetooth_BUILD.gn
new file mode 100644
index 000000000000..bdde28f4327c
--- /dev/null
+++ b/devel/electron12/files/patch-device_bluetooth_BUILD.gn
@@ -0,0 +1,20 @@
+--- device/bluetooth/BUILD.gn.orig 2021-04-14 01:08:49 UTC
++++ device/bluetooth/BUILD.gn
+@@ -9,7 +9,7 @@ if (is_android) {
+ }
+ if (is_chromeos_ash) {
+ import("//chromeos/dbus/use_real_dbus_clients.gni")
+-} else if (use_dbus) {
++} else if (use_dbus && !is_bsd) {
+ use_real_dbus_clients = false
+ }
+
+@@ -303,7 +303,7 @@ component("bluetooth") {
+ ]
+ }
+
+- if (is_chromeos || is_linux) {
++ if (is_chromeos || (is_linux && !is_bsd)) {
+ if (use_dbus) {
+ sources += [
+ "bluez/bluetooth_adapter_bluez.cc",
diff --git a/devel/electron11/files/patch-device_gamepad_gamepad__provider.cc b/devel/electron12/files/patch-device_gamepad_gamepad__provider.cc
index 802884c46237..802884c46237 100644
--- a/devel/electron11/files/patch-device_gamepad_gamepad__provider.cc
+++ b/devel/electron12/files/patch-device_gamepad_gamepad__provider.cc
diff --git a/devel/electron11/files/patch-device_gamepad_hid__writer__linux.cc b/devel/electron12/files/patch-device_gamepad_hid__writer__linux.cc
index b0ac723ae1d6..b0ac723ae1d6 100644
--- a/devel/electron11/files/patch-device_gamepad_hid__writer__linux.cc
+++ b/devel/electron12/files/patch-device_gamepad_hid__writer__linux.cc
diff --git a/devel/electron12/files/patch-electron_BUILD.gn b/devel/electron12/files/patch-electron_BUILD.gn
new file mode 100644
index 000000000000..fba4aedf6ddb
--- /dev/null
+++ b/devel/electron12/files/patch-electron_BUILD.gn
@@ -0,0 +1,42 @@
+--- electron/BUILD.gn.orig 2021-04-20 23:32:33 UTC
++++ electron/BUILD.gn
+@@ -401,7 +401,7 @@ source_set("electron_lib") {
+ defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ]
+ }
+
+- if (!is_mas_build) {
++ if (!is_mas_build && !is_bsd) {
+ deps += [ "//components/crash/core/app" ]
+ }
+
+@@ -433,7 +433,7 @@ source_set("electron_lib") {
+ ]
+ }
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ deps += [ "//components/crash/content/browser" ]
+ }
+
+@@ -490,6 +490,12 @@ source_set("electron_lib") {
+ cflags_objcc = [ "-fobjc-weak" ]
+ }
+ }
++ if (is_bsd) {
++ sources -= [
++ "shell/common/crash_keys.cc",
++ "shell/common/crash_keys.h",
++ ]
++ }
+ if (is_linux) {
+ libs = [ "xshmfence" ]
+ deps += [
+@@ -1102,7 +1108,7 @@ if (is_mac) {
+ ":electron_app_manifest",
+ ":electron_lib",
+ ":packed_resources",
+- "//components/crash/core/app",
++ # "//components/crash/core/app",
+ "//content:sandbox_helper_win",
+ "//electron/buildflags",
+ "//ui/strings",
diff --git a/devel/electron11/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc b/devel/electron12/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc
index 547090970849..547090970849 100644
--- a/devel/electron11/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc
+++ b/devel/electron12/files/patch-electron_chromium__src_chrome_browser_process__singleton__posix.cc
diff --git a/devel/electron11/files/patch-electron_default__app_default__app.ts b/devel/electron12/files/patch-electron_default__app_default__app.ts
index 6efb8d223bd8..6efb8d223bd8 100644
--- a/devel/electron11/files/patch-electron_default__app_default__app.ts
+++ b/devel/electron12/files/patch-electron_default__app_default__app.ts
diff --git a/devel/electron12/files/patch-electron_filenames.gni b/devel/electron12/files/patch-electron_filenames.gni
new file mode 100644
index 000000000000..f1fb39963474
--- /dev/null
+++ b/devel/electron12/files/patch-electron_filenames.gni
@@ -0,0 +1,13 @@
+--- electron/filenames.gni.orig 2021-04-20 23:32:33 UTC
++++ electron/filenames.gni
+@@ -235,8 +235,8 @@ filenames = {
+ "shell/app/command_line_args.h",
+ "shell/app/electron_content_client.cc",
+ "shell/app/electron_content_client.h",
+- "shell/app/electron_crash_reporter_client.cc",
+- "shell/app/electron_crash_reporter_client.h",
++ # "shell/app/electron_crash_reporter_client.cc",
++ # "shell/app/electron_crash_reporter_client.h",
+ "shell/app/electron_main_delegate.cc",
+ "shell/app/electron_main_delegate.h",
+ "shell/app/uv_task_runner.cc",
diff --git a/devel/electron11/files/patch-electron_lib_browser_api_app.ts b/devel/electron12/files/patch-electron_lib_browser_api_app.ts
index bcf8574491a3..bcf8574491a3 100644
--- a/devel/electron11/files/patch-electron_lib_browser_api_app.ts
+++ b/devel/electron12/files/patch-electron_lib_browser_api_app.ts
diff --git a/devel/electron11/files/patch-electron_lib_browser_api_dialog.ts b/devel/electron12/files/patch-electron_lib_browser_api_dialog.ts
index 094d7f49d1df..094d7f49d1df 100644
--- a/devel/electron11/files/patch-electron_lib_browser_api_dialog.ts
+++ b/devel/electron12/files/patch-electron_lib_browser_api_dialog.ts
diff --git a/devel/electron11/files/patch-electron_lib_browser_api_menu-item-roles.ts b/devel/electron12/files/patch-electron_lib_browser_api_menu-item-roles.ts
index 3d2986644290..3d2986644290 100644
--- a/devel/electron11/files/patch-electron_lib_browser_api_menu-item-roles.ts
+++ b/devel/electron12/files/patch-electron_lib_browser_api_menu-item-roles.ts
diff --git a/devel/electron12/files/patch-electron_lib_browser_api_power-monitor.ts b/devel/electron12/files/patch-electron_lib_browser_api_power-monitor.ts
new file mode 100644
index 000000000000..fc4b14ab7b32
--- /dev/null
+++ b/devel/electron12/files/patch-electron_lib_browser_api_power-monitor.ts
@@ -0,0 +1,11 @@
+--- electron/lib/browser/api/power-monitor.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/lib/browser/api/power-monitor.ts
+@@ -18,7 +18,7 @@ class PowerMonitor extends EventEmitter {
+ const pm = createPowerMonitor();
+ pm.emit = this.emit.bind(this);
+
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // On Linux, we inhibit shutdown in order to give the app a chance to
+ // decide whether or not it wants to prevent the shutdown. We don't
+ // inhibit the shutdown event unless there's a listener for it. This
diff --git a/devel/electron12/files/patch-electron_lib_browser_init.ts b/devel/electron12/files/patch-electron_lib_browser_init.ts
new file mode 100644
index 000000000000..ce712257ac5e
--- /dev/null
+++ b/devel/electron12/files/patch-electron_lib_browser_init.ts
@@ -0,0 +1,11 @@
+--- electron/lib/browser/init.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/lib/browser/init.ts
+@@ -154,7 +154,7 @@ const mainStartupScript = packageJson.main || 'index.j
+ const KNOWN_XDG_DESKTOP_VALUES = ['Pantheon', 'Unity:Unity7', 'pop:GNOME'];
+
+ function currentPlatformSupportsAppIndicator () {
+- if (process.platform !== 'linux') return false;
++ if (process.platform !== 'linux' && process.platform !== 'freebsd') return false;
+ const currentDesktop = process.env.XDG_CURRENT_DESKTOP;
+
+ if (!currentDesktop) return false;
diff --git a/devel/electron12/files/patch-electron_lib_browser_rpc-server.ts b/devel/electron12/files/patch-electron_lib_browser_rpc-server.ts
new file mode 100644
index 000000000000..2cfcffdd4460
--- /dev/null
+++ b/devel/electron12/files/patch-electron_lib_browser_rpc-server.ts
@@ -0,0 +1,11 @@
+--- electron/lib/browser/rpc-server.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/lib/browser/rpc-server.ts
+@@ -43,7 +43,7 @@ const allowedClipboardMethods = (() => {
+ switch (process.platform) {
+ case 'darwin':
+ return new Set(['readFindText', 'writeFindText']);
+- case 'linux':
++ case 'linux': case 'freebsd':
+ return new Set(Object.keys(clipboard));
+ default:
+ return new Set();
diff --git a/devel/electron12/files/patch-electron_lib_common_api_clipboard.ts b/devel/electron12/files/patch-electron_lib_common_api_clipboard.ts
new file mode 100644
index 000000000000..f80342a37f20
--- /dev/null
+++ b/devel/electron12/files/patch-electron_lib_common_api_clipboard.ts
@@ -0,0 +1,11 @@
+--- electron/lib/common/api/clipboard.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/lib/common/api/clipboard.ts
+@@ -14,7 +14,7 @@ if (process.type === 'renderer') {
+ };
+ };
+
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // On Linux we could not access clipboard in renderer process.
+ for (const method of Object.keys(clipboard) as (keyof Electron.Clipboard)[]) {
+ clipboard[method] = makeRemoteMethod(method);
diff --git a/devel/electron12/files/patch-electron_script_lib_config.py b/devel/electron12/files/patch-electron_script_lib_config.py
new file mode 100644
index 000000000000..1ebf3a917f64
--- /dev/null
+++ b/devel/electron12/files/patch-electron_script_lib_config.py
@@ -0,0 +1,12 @@
+--- electron/script/lib/config.py.orig 2021-04-20 23:32:33 UTC
++++ electron/script/lib/config.py
+@@ -19,6 +19,9 @@ BASE_URL = os.getenv('LIBCHROMIUMCONTENT_MIRROR') or \
+ PLATFORM = {
+ 'cygwin': 'win32',
+ 'darwin': 'darwin',
++ 'freebsd11': 'freebsd',
++ 'freebsd12': 'freebsd',
++ 'freebsd13': 'freebsd',
+ 'linux': 'linux',
+ 'linux2': 'linux',
+ 'win32': 'win32',
diff --git a/devel/electron11/files/patch-electron_script_lib_utils.js b/devel/electron12/files/patch-electron_script_lib_utils.js
index 5c4247b43d79..5c4247b43d79 100644
--- a/devel/electron11/files/patch-electron_script_lib_utils.js
+++ b/devel/electron12/files/patch-electron_script_lib_utils.js
diff --git a/devel/electron12/files/patch-electron_script_spec-runner.js b/devel/electron12/files/patch-electron_script_spec-runner.js
new file mode 100644
index 000000000000..5afacc06f8d9
--- /dev/null
+++ b/devel/electron12/files/patch-electron_script_spec-runner.js
@@ -0,0 +1,20 @@
+--- electron/script/spec-runner.js.orig 2021-04-20 23:32:33 UTC
++++ electron/script/spec-runner.js
+@@ -126,7 +126,7 @@ async function runElectronTests () {
+ async function runRemoteBasedElectronTests () {
+ let exe = path.resolve(BASE, utils.getElectronExec());
+ const runnerArgs = ['electron/spec', ...unknownArgs.slice(2)];
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
+ exe = 'python';
+ }
+@@ -197,7 +197,7 @@ async function runNativeElectronTests () {
+ async function runMainProcessElectronTests () {
+ let exe = path.resolve(BASE, utils.getElectronExec());
+ const runnerArgs = ['electron/spec-main', ...unknownArgs.slice(2)];
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe);
+ exe = 'python';
+ }
diff --git a/devel/electron12/files/patch-electron_shell_app_electron__main.cc b/devel/electron12/files/patch-electron_shell_app_electron__main.cc
new file mode 100644
index 000000000000..4313998993fe
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_app_electron__main.cc
@@ -0,0 +1,35 @@
+--- electron/shell/app/electron_main.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/app/electron_main.cc
+@@ -32,12 +32,12 @@
+ #include "shell/app/electron_main_delegate.h"
+ #include "third_party/crashpad/crashpad/util/win/initial_client_data.h"
+
+-#elif defined(OS_LINUX) // defined(OS_WIN)
++#elif defined(OS_LINUX) || defined(OS_BSD) // defined(OS_WIN)
+ #include <unistd.h>
+ #include <cstdio>
+ #include "content/public/app/content_main.h"
+ #include "shell/app/electron_main_delegate.h" // NOLINT
+-#else // defined(OS_LINUX)
++#else // defined(OS_LINUX) || defined(OS_BSD)
+ #include <mach-o/dyld.h>
+ #include <unistd.h>
+ #include <cstdio>
+@@ -212,7 +212,7 @@ int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, w
+ return content::ContentMain(params);
+ }
+
+-#elif defined(OS_LINUX) // defined(OS_WIN)
++#elif defined(OS_LINUX) || defined(OS_BSD) // defined(OS_WIN)
+
+ int main(int argc, char* argv[]) {
+ FixStdioStreams();
+@@ -233,7 +233,7 @@ int main(int argc, char* argv[]) {
+ return content::ContentMain(params);
+ }
+
+-#else // defined(OS_LINUX)
++#else // defined(OS_LINUX) || defined(OS_BSD)
+
+ int main(int argc, char* argv[]) {
+ FixStdioStreams();
diff --git a/devel/electron12/files/patch-electron_shell_app_electron__main__delegate.cc b/devel/electron12/files/patch-electron_shell_app_electron__main__delegate.cc
new file mode 100644
index 000000000000..6a362bc3d1ca
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_app_electron__main__delegate.cc
@@ -0,0 +1,20 @@
+--- electron/shell/app/electron_main_delegate.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/app/electron_main_delegate.cc
+@@ -246,7 +246,7 @@ bool ElectronMainDelegate::BasicStartupComplete(int* e
+ base::win::PinUser32();
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Check for --no-sandbox parameter when running as root.
+ if (getuid() == 0 && IsSandboxEnabled(command_line))
+ LOG(FATAL) << "Running as root without --"
+@@ -310,7 +310,7 @@ void ElectronMainDelegate::PreSandboxStartup() {
+ }
+ #endif
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ crash_keys::SetCrashKeysFromCommandLine(*command_line);
+ crash_keys::SetPlatformCrashKey();
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_app_node__main.cc b/devel/electron12/files/patch-electron_shell_app_node__main.cc
new file mode 100644
index 000000000000..3883aca00c1c
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_app_node__main.cc
@@ -0,0 +1,56 @@
+--- electron/shell/app/node_main.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/app/node_main.cc
+@@ -38,7 +38,7 @@
+ #include "chrome/child/v8_crashpad_support_win.h"
+ #endif
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ #include "components/crash/core/app/crashpad.h" // nogncheck
+ #include "shell/app/electron_crash_reporter_client.h"
+ #include "shell/browser/api/electron_api_crash_reporter.h"
+@@ -86,7 +86,7 @@ void SetNodeCliFlags() {
+ ProcessGlobalArgs(&args, nullptr, &errors, node::kDisallowedInEnvironment);
+ }
+
+-#if defined(MAS_BUILD)
++#if defined(MAS_BUILD) || defined(OS_BSD)
+ void SetCrashKeyStub(const std::string& key, const std::string& value) {}
+ void ClearCrashKeyStub(const std::string& key) {}
+ #endif
+@@ -126,7 +126,7 @@ void CrashReporterStart(gin_helper::Dictionary options
+
+ v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) {
+ std::map<std::string, std::string> keys;
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ electron::crash_keys::GetCrashKeys(&keys);
+ #endif
+ return gin::ConvertToV8(isolate, keys);
+@@ -139,7 +139,7 @@ int NodeMain(int argc, char* argv[]) {
+ v8_crashpad_support::SetUp();
+ #endif
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ ElectronCrashReporterClient::Create();
+ #endif
+
+@@ -147,7 +147,7 @@ int NodeMain(int argc, char* argv[]) {
+ crash_reporter::InitializeCrashpad(false, "node");
+ #endif
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ crash_keys::SetCrashKeysFromCommandLine(
+ *base::CommandLine::ForCurrentProcess());
+ crash_keys::SetPlatformCrashKey();
+@@ -221,7 +221,7 @@ int NodeMain(int argc, char* argv[]) {
+ #endif
+
+ reporter.SetMethod("getParameters", &GetParameters);
+-#if defined(MAS_BUILD)
++#if defined(MAS_BUILD) || defined(OS_BSD)
+ reporter.SetMethod("addExtraParameter", &SetCrashKeyStub);
+ reporter.SetMethod("removeExtraParameter", &ClearCrashKeyStub);
+ #else
diff --git a/devel/electron12/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__app.cc
new file mode 100644
index 000000000000..e944e04a6256
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__app.cc
@@ -0,0 +1,47 @@
+--- electron/shell/browser/api/electron_api_app.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/api/electron_api_app.cc
+@@ -655,7 +655,7 @@ void App::OnWillFinishLaunching() {
+ }
+
+ void App::OnFinishLaunching(const base::DictionaryValue& launch_info) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Set the application name for audio streams shown in external
+ // applications. Only affects pulseaudio currently.
+ media::AudioManager::SetGlobalAppName(Browser::Get()->GetName());
+@@ -1005,7 +1005,7 @@ void App::SetPath(gin_helper::ErrorThrower thrower,
+ }
+
+ void App::SetDesktopName(const std::string& desktop_name) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ env->SetVar("CHROME_DESKTOP", desktop_name);
+ #endif
+@@ -1358,7 +1358,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics
+ pid_dict.Set("name", process_metric.second->name);
+ }
+
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ auto memory_info = process_metric.second->GetMemoryInfo();
+
+ gin_helper::Dictionary memory_dict = gin::Dictionary::CreateEmpty(isolate);
+@@ -1571,7 +1571,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
+ .SetMethod(
+ "removeAsDefaultProtocolClient",
+ base::BindRepeating(&Browser::RemoveAsDefaultProtocolClient, browser))
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ .SetMethod(
+ "getApplicationInfoForProtocol",
+ base::BindRepeating(&Browser::GetApplicationInfoForProtocol, browser))
+@@ -1628,7 +1628,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild
+ .SetMethod("getJumpListSettings", &App::GetJumpListSettings)
+ .SetMethod("setJumpList", &App::SetJumpList)
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ .SetMethod("isUnityRunning",
+ base::BindRepeating(&Browser::IsUnityRunning, browser))
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_api_electron__api__base__window.cc b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__base__window.cc
new file mode 100644
index 000000000000..099c7a87b3d9
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__base__window.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/api/electron_api_base_window.cc.orig 2021-04-22 08:15:23 UTC
++++ electron/shell/browser/api/electron_api_base_window.cc
+@@ -1037,7 +1037,7 @@ void BaseWindow::SetIconImpl(v8::Isolate* isolate,
+ static_cast<NativeWindowViews*>(window_.get())
+ ->SetIcon(native_image->GetHICON(GetSystemMetrics(SM_CXSMICON)),
+ native_image->GetHICON(GetSystemMetrics(SM_CXICON)));
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ static_cast<NativeWindowViews*>(window_.get())
+ ->SetIcon(native_image->image().AsImageSkia());
+ #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
index 35a9f6ab186f..35a9f6ab186f 100644
--- a/devel/electron11/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
+++ b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc
diff --git a/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
new file mode 100644
index 000000000000..e7cd26aa69c1
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.cc
@@ -0,0 +1,61 @@
+--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/api/electron_api_web_contents.cc
+@@ -145,11 +145,11 @@
+ #include "ui/base/cocoa/defaults_utils.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/views/linux_ui/linux_ui.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ #include "ui/gfx/font_render_params.h"
+ #endif
+
+@@ -388,7 +388,7 @@ base::Optional<base::TimeDelta> GetCursorBlinkInterval
+ base::TimeDelta interval;
+ if (ui::TextInsertionCaretBlinkPeriod(&interval))
+ return interval;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ if (auto* linux_ui = views::LinuxUI::instance())
+ return linux_ui->GetCursorBlinkInterval();
+ #elif defined(OS_WIN)
+@@ -801,7 +801,7 @@ void WebContents::InitWithSessionAndOptions(
+ accept_languages.pop_back();
+ prefs->accept_languages = accept_languages;
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ // Update font settings.
+ static const base::NoDestructor<gfx::FontRenderParams> params(
+ gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
+@@ -2102,7 +2102,7 @@ void WebContents::ForcefullyCrashRenderer() {
+
+ content::RenderProcessHost* rph = rwh->GetProcess();
+ if (rph) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // A generic |CrashDumpHungChildProcess()| is not implemented for Linux.
+ // Instead we send an explicit IPC to crash on the renderer's IO thread.
+ rph->ForceCrash();
+@@ -2668,7 +2668,7 @@ void WebContents::CopyImageAt(int x, int y) {
+ void WebContents::Focus() {
+ // Focusing on WebContents does not automatically focus the window on macOS
+ // and Linux, do it manually to match the behavior on Windows.
+-#if defined(OS_MAC) || defined(OS_LINUX)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)
+ if (owner_window())
+ owner_window()->Focus(true);
+ #endif
+@@ -3455,7 +3455,7 @@ gfx::ImageSkia WebContents::GetDevToolsWindowIcon() {
+ }
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void WebContents::GetDevToolsWindowWMClass(std::string* name,
+ std::string* class_name) {
+ *class_name = Browser::Get()->GetName();
diff --git a/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.h b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.h
new file mode 100644
index 000000000000..685943a16d78
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_api_electron__api__web__contents.h
@@ -0,0 +1,11 @@
+--- electron/shell/browser/api/electron_api_web_contents.h.orig 2021-04-22 15:13:27 UTC
++++ electron/shell/browser/api/electron_api_web_contents.h
+@@ -669,7 +669,7 @@ class WebContents : public gin::Wrappable<WebContents>
+ #if defined(TOOLKIT_VIEWS) && !defined(OS_MAC)
+ gfx::ImageSkia GetDevToolsWindowIcon() override;
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void GetDevToolsWindowWMClass(std::string* name,
+ std::string* class_name) override;
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_api_process__metric.h b/devel/electron12/files/patch-electron_shell_browser_api_process__metric.h
new file mode 100644
index 000000000000..eeecfdce675d
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_api_process__metric.h
@@ -0,0 +1,20 @@
+--- electron/shell/browser/api/process_metric.h.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/api/process_metric.h
+@@ -14,7 +14,7 @@
+
+ namespace electron {
+
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ struct ProcessMemoryInfo {
+ size_t working_set_size = 0;
+ size_t peak_working_set_size = 0;
+@@ -48,7 +48,7 @@ struct ProcessMetric {
+ const std::string& name = std::string());
+ ~ProcessMetric();
+
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ ProcessMemoryInfo GetMemoryInfo() const;
+ #endif
+
diff --git a/devel/electron12/files/patch-electron_shell_browser_browser.h b/devel/electron12/files/patch-electron_shell_browser_browser.h
new file mode 100644
index 000000000000..3181becc68a5
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_browser.h
@@ -0,0 +1,33 @@
+--- electron/shell/browser/browser.h.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/browser.h
+@@ -101,7 +101,7 @@ class Browser : public WindowListObserver {
+
+ base::string16 GetApplicationNameForProtocol(const GURL& url);
+
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ // get the name, icon and path for an application
+ v8::Local<v8::Promise> GetApplicationInfoForProtocol(v8::Isolate* isolate,
+ const GURL& url);
+@@ -259,10 +259,10 @@ class Browser : public WindowListObserver {
+ PCWSTR GetAppUserModelID();
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Whether Unity launcher is running.
+ bool IsUnityRunning();
+-#endif // defined(OS_LINUX)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ // Tell the application to open a file.
+ bool OpenFile(const std::string& file_path);
+@@ -359,7 +359,7 @@ class Browser : public WindowListObserver {
+ base::Time last_dock_show_;
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ base::Value about_panel_options_;
+ #elif defined(OS_MAC)
+ base::DictionaryValue about_panel_options_;
diff --git a/devel/electron12/files/patch-electron_shell_browser_browser__linux.cc b/devel/electron12/files/patch-electron_shell_browser_browser__linux.cc
new file mode 100644
index 000000000000..d1e277507c2f
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_browser__linux.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/browser_linux.cc.orig 2021-04-22 08:22:30 UTC
++++ electron/shell/browser/browser_linux.cc
+@@ -15,7 +15,7 @@
+ #include "shell/browser/window_list.h"
+ #include "shell/common/application_info.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "shell/browser/linux/unity_service.h"
+ #include "ui/gtk/gtk_util.h"
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_electron__browser__client.cc b/devel/electron12/files/patch-electron_shell_browser_electron__browser__client.cc
new file mode 100644
index 000000000000..b5f1da38f90b
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_electron__browser__client.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/electron_browser_client.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/electron_browser_client.cc
+@@ -169,7 +169,7 @@
+ #include "content/public/common/child_process_host.h"
+ #endif
+
+-#if defined(OS_LINUX) && !defined(MAS_BUILD)
++#if defined(OS_LINUX) && !defined(MAS_BUILD) && !defined(OS_BSD)
+ #include "base/debug/leak_annotations.h"
+ #include "components/crash/content/browser/crash_handler_host_linux.h"
+ #include "components/crash/core/app/breakpad_linux.h" // nogncheck
diff --git a/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.cc
new file mode 100644
index 000000000000..5298f213efea
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.cc
@@ -0,0 +1,74 @@
+--- electron/shell/browser/electron_browser_main_parts.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/electron_browser_main_parts.cc
+@@ -57,7 +57,7 @@
+ #include "ui/wm/core/wm_state.h"
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/environment.h"
+ #include "base/nix/xdg_util.h"
+ #include "base/threading/thread_task_runner_handle.h"
+@@ -155,7 +155,7 @@ base::string16 MediaStringProvider(media::MessageId id
+ }
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void OverrideLinuxAppDataPath() {
+ base::FilePath path;
+ if (base::PathService::Get(DIR_APP_DATA, &path))
+@@ -183,7 +183,7 @@ void UpdateDarkThemeSetting() {
+
+ } // namespace
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ class DarkThemeObserver : public ui::NativeThemeObserver {
+ public:
+ DarkThemeObserver() = default;
+@@ -233,7 +233,7 @@ int ElectronBrowserMainParts::GetExitCode() {
+
+ int ElectronBrowserMainParts::PreEarlyInitialization() {
+ field_trial_list_ = std::make_unique<base::FieldTrialList>(nullptr);
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ OverrideLinuxAppDataPath();
+ #endif
+
+@@ -290,7 +290,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+ #if defined(USE_AURA)
+ display::Screen* screen = views::CreateDesktopScreen();
+ display::Screen::SetScreenInstance(screen);
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ views::LinuxUI::instance()->UpdateDeviceScaleFactor();
+ #endif
+ #endif
+@@ -307,7 +307,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+ // happen before the ResourceBundle is loaded
+ if (locale.empty())
+ l10n_util::OverrideLocaleWithCocoaLocale();
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // l10n_util::GetApplicationLocaleInternal uses g_get_language_names(),
+ // which keys off of getenv("LC_ALL").
+ // We must set this env first to make ui::ResourceBundle accept the custom
+@@ -330,7 +330,7 @@ int ElectronBrowserMainParts::PreCreateThreads() {
+ ElectronBrowserClient::SetApplicationLocale(app_locale);
+ fake_browser_process_->SetApplicationLocale(app_locale);
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Reset to the original LC_ALL since we should not be changing it.
+ if (!locale.empty()) {
+ if (lc_all)
+@@ -385,7 +385,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() {
+ ui::GtkUiDelegate::SetInstance(gtk_ui_delegate_.get());
+ }
+ #endif
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ views::LinuxUI* linux_ui = BuildGtkUi(ui::GtkUiDelegate::instance());
+ views::LinuxUI::SetInstance(linux_ui);
+ linux_ui->Initialize();
diff --git a/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.h b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.h
new file mode 100644
index 000000000000..b66189da5da2
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts.h
@@ -0,0 +1,20 @@
+--- electron/shell/browser/electron_browser_main_parts.h.orig 2021-04-22 08:27:19 UTC
++++ electron/shell/browser/electron_browser_main_parts.h
+@@ -58,7 +58,7 @@ class ViewsDelegate;
+ class ViewsDelegateMac;
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ class DarkThemeObserver;
+ #endif
+
+@@ -129,7 +129,7 @@ class ElectronBrowserMainParts : public content::Brows
+ std::unique_ptr<ui::GtkUiDelegate> gtk_ui_delegate_;
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Used to notify the native theme of changes to dark mode.
+ std::unique_ptr<DarkThemeObserver> dark_theme_observer_;
+ #endif
diff --git a/devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
index c7c227149ff1..c7c227149ff1 100644
--- a/devel/electron11/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
+++ b/devel/electron12/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc
diff --git a/devel/electron12/files/patch-electron_shell_browser_native__window.cc b/devel/electron12/files/patch-electron_shell_browser_native__window.cc
new file mode 100644
index 000000000000..243f179d5dd2
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_native__window.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/native_window.cc.orig 2021-04-22 08:34:42 UTC
++++ electron/shell/browser/native_window.cc
+@@ -109,7 +109,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D
+ } else {
+ SetSizeConstraints(size_constraints);
+ }
+-#if defined(OS_WIN) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ bool resizable;
+ if (options.Get(options::kResizable, &resizable)) {
+ SetResizable(resizable);
diff --git a/devel/electron12/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron12/files/patch-electron_shell_browser_native__window__views.cc
new file mode 100644
index 000000000000..3aaa28f24ed0
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_native__window__views.cc
@@ -0,0 +1,146 @@
+--- electron/shell/browser/native_window_views.cc.orig 2021-04-30 18:57:27 UTC
++++ electron/shell/browser/native_window_views.cc
+@@ -44,7 +44,7 @@
+ #include "ui/wm/core/shadow_types.h"
+ #include "ui/wm/core/window_util.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/strings/string_util.h"
+ #include "shell/browser/browser.h"
+ #include "shell/browser/linux/unity_service.h"
+@@ -203,7 +203,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ params.parent = parent->GetNativeWindow();
+
+ params.native_widget = new ElectronDesktopNativeWidgetAura(this);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ std::string name = Browser::Get()->GetName();
+ // Set WM_WINDOW_ROLE.
+ params.wm_role_name = "browser-window";
+@@ -233,7 +233,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ }
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (parent)
+ SetParentWindow(parent);
+ #endif
+@@ -328,7 +328,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper:
+ last_window_state_ = ui::SHOW_STATE_NORMAL;
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Listen to move events.
+ aura::Window* window = GetNativeWindow();
+ if (window)
+@@ -348,7 +348,7 @@ NativeWindowViews::~NativeWindowViews() {
+ SetForwardMouseMessages(false);
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ aura::Window* window = GetNativeWindow();
+ if (window)
+ window->RemovePreTargetHandler(this);
+@@ -463,7 +463,7 @@ bool NativeWindowViews::IsVisible() {
+ bool NativeWindowViews::IsEnabled() {
+ #if defined(OS_WIN)
+ return ::IsWindowEnabled(GetAcceleratedWidget());
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #if defined(USE_X11)
+ if (!features::IsUsingOzonePlatform()) {
+ return !event_disabler_.get();
+@@ -522,7 +522,7 @@ void NativeWindowViews::SetEnabledInternal(bool enable
+ #endif
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void NativeWindowViews::Maximize() {
+ if (IsVisible())
+ widget()->Maximize();
+@@ -638,7 +638,7 @@ bool NativeWindowViews::IsFullscreen() const {
+ }
+
+ void NativeWindowViews::SetBounds(const gfx::Rect& bounds, bool animate) {
+-#if defined(OS_WIN) || defined(OS_LINUX)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ // On Linux and Windows the minimum and maximum size should be updated with
+ // window size when window is not resizable.
+ if (!resizable_) {
+@@ -855,7 +855,7 @@ bool NativeWindowViews::IsClosable() {
+ return false;
+ }
+ return !(info.fState & MFS_DISABLED);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return true;
+ #endif
+ }
+@@ -1231,7 +1231,7 @@ void NativeWindowViews::SetProgressBar(double progress
+ NativeWindow::ProgressState state) {
+ #if defined(OS_WIN)
+ taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ if (unity::IsRunning()) {
+ unity::SetProgressFraction(progress);
+ }
+@@ -1291,7 +1291,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
+ #if defined(OS_WIN)
+ window_handle =
+ reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ window_handle = static_cast<uint32_t>(accelerated_widget);
+ #endif
+ aura::WindowTreeHost* const host =
+@@ -1394,7 +1394,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
+ SendMessage(hwnd, WM_SETICON, ICON_BIG,
+ reinterpret_cast<LPARAM>(app_icon_.get()));
+ }
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
+ auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget(
+ GetAcceleratedWidget());
+@@ -1444,7 +1444,7 @@ void NativeWindowViews::OnWidgetBoundsChanged(views::W
+ }
+
+ void NativeWindowViews::OnWidgetDestroying(views::Widget* widget) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ aura::Window* window = GetNativeWindow();
+ if (window)
+ window->RemovePreTargetHandler(this);
+@@ -1482,7 +1482,7 @@ bool NativeWindowViews::CanMaximize() const {
+ bool NativeWindowViews::CanMinimize() const {
+ #if defined(OS_WIN)
+ return minimizable_;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return true;
+ #endif
+ }
+@@ -1554,7 +1554,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+ if (widget_destroyed_)
+ return;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
+ NotifyWindowExecuteAppCommand(kBrowserBackward);
+ else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
+@@ -1566,7 +1566,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+ root_view_->HandleKeyEvent(event);
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* event) {
+ if (event->type() != ui::ET_MOUSE_PRESSED)
+ return;
diff --git a/devel/electron12/files/patch-electron_shell_browser_native__window__views.h b/devel/electron12/files/patch-electron_shell_browser_native__window__views.h
new file mode 100644
index 000000000000..52d981d93c52
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_native__window__views.h
@@ -0,0 +1,20 @@
+--- electron/shell/browser/native_window_views.h.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/native_window_views.h
+@@ -159,7 +159,7 @@ class NativeWindowViews : public NativeWindow,
+ LPARAM l_param,
+ LRESULT* result);
+ void SetIcon(HICON small_icon, HICON app_icon);
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ void SetIcon(const gfx::ImageSkia& icon);
+ #endif
+
+@@ -219,7 +219,7 @@ class NativeWindowViews : public NativeWindow,
+ content::WebContents*,
+ const content::NativeWebKeyboardEvent& event) override;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // ui::EventHandler:
+ void OnMouseEvent(ui::MouseEvent* event) override;
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.cc b/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.cc
new file mode 100644
index 000000000000..fd443c993a57
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/osr/osr_host_display_client.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/osr/osr_host_display_client.cc
+@@ -97,7 +97,7 @@ void OffScreenHostDisplayClient::CreateLayeredWindowUp
+ layered_window_updater_->SetActive(active_);
+ }
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ void OffScreenHostDisplayClient::DidCompleteSwapWithNewSize(
+ const gfx::Size& size) {}
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.h b/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.h
new file mode 100644
index 000000000000..26b6a03d75e0
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_osr_osr__host__display__client.h
@@ -0,0 +1,11 @@
+--- electron/shell/browser/osr/osr_host_display_client.h.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/osr/osr_host_display_client.h
+@@ -64,7 +64,7 @@ class OffScreenHostDisplayClient : public viz::HostDis
+ mojo::PendingReceiver<viz::mojom::LayeredWindowUpdater> receiver)
+ override;
+
+-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
+ void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
+ #endif
+
diff --git a/devel/electron11/files/patch-electron_shell_browser_relauncher__linux.cc b/devel/electron12/files/patch-electron_shell_browser_relauncher__linux.cc
index ce2055b2f2d8..ce2055b2f2d8 100644
--- a/devel/electron11/files/patch-electron_shell_browser_relauncher__linux.cc
+++ b/devel/electron12/files/patch-electron_shell_browser_relauncher__linux.cc
diff --git a/devel/electron12/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h b/devel/electron12/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
new file mode 100644
index 000000000000..101809f3e7e6
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h
@@ -0,0 +1,11 @@
+--- electron/shell/browser/ui/inspectable_web_contents_view_delegate.h.orig 2021-04-22 08:40:03 UTC
++++ electron/shell/browser/ui/inspectable_web_contents_view_delegate.h
+@@ -24,7 +24,7 @@ class InspectableWebContentsViewDelegate {
+ // Returns the icon of devtools window.
+ virtual gfx::ImageSkia GetDevToolsWindowIcon();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Called when creating devtools window.
+ virtual void GetDevToolsWindowWMClass(std::string* name,
+ std::string* class_name) {}
diff --git a/devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc b/devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
index 08fd836d4265..08fd836d4265 100644
--- a/devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc
diff --git a/devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h b/devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h
index 2997fc339d05..2997fc339d05 100644
--- a/devel/electron11/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h
diff --git a/devel/electron12/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc b/devel/electron12/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc
new file mode 100644
index 000000000000..1db9553ec9a4
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/ui/views/inspectable_web_contents_view_views.cc.orig 2021-04-22 08:41:03 UTC
++++ electron/shell/browser/ui/views/inspectable_web_contents_view_views.cc
+@@ -186,7 +186,7 @@ void InspectableWebContentsViewViews::SetIsDocked(bool
+ params.delegate = devtools_window_delegate_;
+ params.bounds = inspectable_web_contents()->GetDevToolsBounds();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ params.wm_role_name = "devtools";
+ if (GetDelegate())
+ GetDelegate()->GetDevToolsWindowWMClass(&params.wm_class_name,
diff --git a/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.cc b/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.cc
new file mode 100644
index 000000000000..b970dac8497e
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.cc
@@ -0,0 +1,29 @@
+--- electron/shell/browser/ui/views/menu_bar.cc.orig 2021-04-22 08:42:01 UTC
++++ electron/shell/browser/ui/views/menu_bar.cc
+@@ -17,7 +17,7 @@
+ #include "ui/views/layout/box_layout.h"
+ #include "ui/views/widget/widget.h"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "ui/gtk/gtk_util.h"
+ #endif
+
+@@ -291,7 +291,7 @@ void MenuBar::ButtonPressed(int id, const ui::Event& e
+ void MenuBar::RefreshColorCache() {
+ const ui::NativeTheme* theme = GetNativeTheme();
+ if (theme) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ background_color_ = gtk::GetBgColor("GtkMenuBar#menubar");
+ enabled_color_ =
+ gtk::GetFgColor("GtkMenuBar#menubar GtkMenuItem#menuitem GtkLabel");
+@@ -329,7 +329,7 @@ void MenuBar::UpdateViewColors() {
+ // set child colors
+ if (menu_model_ == nullptr)
+ return;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ const auto& textColor = has_focus_ ? enabled_color_ : disabled_color_;
+ for (auto* child : GetChildrenInZOrder()) {
+ auto* button = static_cast<SubmenuButton*>(child);
diff --git a/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.h b/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.h
new file mode 100644
index 000000000000..44496d72586b
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_menu__bar.h
@@ -0,0 +1,11 @@
+--- electron/shell/browser/ui/views/menu_bar.h.orig 2021-04-22 08:43:16 UTC
++++ electron/shell/browser/ui/views/menu_bar.h
+@@ -87,7 +87,7 @@ class MenuBar : public views::AccessiblePaneView,
+
+ void RefreshColorCache();
+ SkColor background_color_;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ SkColor enabled_color_;
+ SkColor disabled_color_;
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_browser_ui_views_submenu__button.cc b/devel/electron12/files/patch-electron_shell_browser_ui_views_submenu__button.cc
new file mode 100644
index 000000000000..7eca7a132985
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_browser_ui_views_submenu__button.cc
@@ -0,0 +1,11 @@
+--- electron/shell/browser/ui/views/submenu_button.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/browser/ui/views/submenu_button.cc
+@@ -25,7 +25,7 @@ SubmenuButton::SubmenuButton(PressedCallback callback,
+ const SkColor& background_color)
+ : views::MenuButton(callback, gfx::RemoveAccelerator(title)),
+ background_color_(background_color) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Dont' use native style border.
+ SetBorder(CreateDefaultBorder());
+ #endif
diff --git a/devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.cc b/devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.cc
new file mode 100644
index 000000000000..b2586196ad69
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.cc
@@ -0,0 +1,11 @@
+--- electron/shell/common/api/electron_api_native_image.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/common/api/electron_api_native_image.cc
+@@ -643,7 +643,7 @@ void Initialize(v8::Local<v8::Object> exports,
+ native_image.SetMethod("createFromDataURL", &NativeImage::CreateFromDataURL);
+ native_image.SetMethod("createFromNamedImage",
+ &NativeImage::CreateFromNamedImage);
+-#if !defined(OS_LINUX)
++#if !defined(OS_LINUX) && !defined(OS_BSD)
+ native_image.SetMethod("createThumbnailFromPath",
+ &NativeImage::CreateThumbnailFromPath);
+ #endif
diff --git a/devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.h b/devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.h
index 014ca8d354b4..014ca8d354b4 100644
--- a/devel/electron11/files/patch-electron_shell_common_api_electron__api__native__image.h
+++ b/devel/electron12/files/patch-electron_shell_common_api_electron__api__native__image.h
diff --git a/devel/electron12/files/patch-electron_shell_common_api_electron__bindings.cc b/devel/electron12/files/patch-electron_shell_common_api_electron__bindings.cc
new file mode 100644
index 000000000000..9a97341995a2
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_common_api_electron__bindings.cc
@@ -0,0 +1,11 @@
+--- electron/shell/common/api/electron_bindings.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/common/api/electron_bindings.cc
+@@ -262,7 +262,7 @@ void ElectronBindings::DidReceiveMemoryDump(
+ if (base::GetCurrentProcId() == dump.pid()) {
+ gin_helper::Dictionary dict = gin::Dictionary::CreateEmpty(isolate);
+ const auto& osdump = dump.os_dump();
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ dict.Set("residentSet", osdump.resident_set_kb);
+ #endif
+ dict.Set("private", osdump.private_footprint_kb);
diff --git a/devel/electron11/files/patch-electron_shell_common_electron__command__line.cc b/devel/electron12/files/patch-electron_shell_common_electron__command__line.cc
index ababda28c125..ababda28c125 100644
--- a/devel/electron11/files/patch-electron_shell_common_electron__command__line.cc
+++ b/devel/electron12/files/patch-electron_shell_common_electron__command__line.cc
diff --git a/devel/electron11/files/patch-electron_shell_common_electron__command__line.h b/devel/electron12/files/patch-electron_shell_common_electron__command__line.h
index 794cb3a59581..794cb3a59581 100644
--- a/devel/electron11/files/patch-electron_shell_common_electron__command__line.h
+++ b/devel/electron12/files/patch-electron_shell_common_electron__command__line.h
diff --git a/devel/electron11/files/patch-electron_shell_common_electron__paths.h b/devel/electron12/files/patch-electron_shell_common_electron__paths.h
index e7e1afd9b0a3..e7e1afd9b0a3 100644
--- a/devel/electron11/files/patch-electron_shell_common_electron__paths.h
+++ b/devel/electron12/files/patch-electron_shell_common_electron__paths.h
diff --git a/devel/electron12/files/patch-electron_shell_common_node__bindings.cc b/devel/electron12/files/patch-electron_shell_common_node__bindings.cc
new file mode 100644
index 000000000000..af1564b8681c
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_common_node__bindings.cc
@@ -0,0 +1,29 @@
+--- electron/shell/common/node_bindings.cc.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/common/node_bindings.cc
+@@ -35,7 +35,7 @@
+ #include "shell/common/node_includes.h"
+ #include "third_party/blink/renderer/bindings/core/v8/v8_initializer.h" // nogncheck
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ #include "shell/common/crash_keys.h"
+ #endif
+
+@@ -146,7 +146,7 @@ bool IsPackagedApp() {
+ void V8FatalErrorCallback(const char* location, const char* message) {
+ LOG(ERROR) << "Fatal error in V8: " << location << " " << message;
+
+-#if !defined(MAS_BUILD)
++#if !defined(MAS_BUILD) && !defined(OS_BSD)
+ electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message);
+ electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location);
+ #endif
+@@ -351,7 +351,7 @@ void NodeBindings::Initialize() {
+ // Open node's error reporting system for browser process.
+ node::g_upstream_node_mode = false;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Get real command line in renderer process forked by zygote.
+ if (browser_env_ != BrowserEnvironment::kBrowser)
+ ElectronCommandLine::InitializeFromCommandLine();
diff --git a/devel/electron11/files/patch-electron_shell_common_node__bindings__linux.cc b/devel/electron12/files/patch-electron_shell_common_node__bindings__linux.cc
index b44209c28d03..b44209c28d03 100644
--- a/devel/electron11/files/patch-electron_shell_common_node__bindings__linux.cc
+++ b/devel/electron12/files/patch-electron_shell_common_node__bindings__linux.cc
diff --git a/devel/electron12/files/patch-electron_shell_common_platform__util.h b/devel/electron12/files/patch-electron_shell_common_platform__util.h
new file mode 100644
index 000000000000..286260e8197e
--- /dev/null
+++ b/devel/electron12/files/patch-electron_shell_common_platform__util.h
@@ -0,0 +1,11 @@
+--- electron/shell/common/platform_util.h.orig 2021-04-20 23:32:33 UTC
++++ electron/shell/common/platform_util.h
+@@ -59,7 +59,7 @@ bool GetLoginItemEnabled();
+ bool SetLoginItemEnabled(bool enabled);
+ #endif
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Returns a success flag.
+ // Unlike libgtkui, does *not* use "chromium-browser.desktop" as a fallback.
+ bool GetDesktopName(std::string* setme);
diff --git a/devel/electron11/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc b/devel/electron12/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
index c48f33089c9c..c48f33089c9c 100644
--- a/devel/electron11/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
+++ b/devel/electron12/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc
diff --git a/devel/electron12/files/patch-electron_spec-main_api-app-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-app-spec.ts
new file mode 100644
index 000000000000..0871cbf91039
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_api-app-spec.ts
@@ -0,0 +1,128 @@
+--- electron/spec-main/api-app-spec.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/spec-main/api-app-spec.ts
+@@ -123,7 +123,7 @@ describe('app module', () => {
+ describe('app.getLocaleCountryCode()', () => {
+ it('should be empty or have length of two', () => {
+ let expectedLength = 2;
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // Linux CI machines have no locale.
+ expectedLength = 0;
+ }
+@@ -179,7 +179,7 @@ describe('app module', () => {
+ });
+
+ it('exits gracefully', async function () {
+- if (!['darwin', 'linux'].includes(process.platform)) {
++ if (!['darwin', 'linux', 'freebsd'].includes(process.platform)) {
+ this.skip();
+ return;
+ }
+@@ -321,7 +321,7 @@ describe('app module', () => {
+ // let w = null
+
+ // before(function () {
+- // if (process.platform !== 'linux') {
++ // if (process.platform !== 'linux' && process.platform !== 'freebsd') {
+ // this.skip()
+ // }
+ // })
+@@ -558,7 +558,7 @@ describe('app module', () => {
+ describe('app.badgeCount', () => {
+ const platformIsNotSupported =
+ (process.platform === 'win32') ||
+- (process.platform === 'linux' && !app.isUnityRunning());
++ ((process.platform === 'linux' || process.platform === 'freebsd') && !app.isUnityRunning());
+
+ const expectedBadgeCount = 42;
+
+@@ -620,7 +620,7 @@ describe('app module', () => {
+ ];
+
+ before(function () {
+- if (process.platform === 'linux' || process.mas) this.skip();
++ if (process.platform === 'linux' || process.platform === 'freebsd' || process.mas) this.skip();
+ });
+
+ beforeEach(() => {
+@@ -923,7 +923,7 @@ describe('app module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('accessibilitySupportEnabled property', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('accessibilitySupportEnabled property', () => {
+ it('with properties', () => {
+ it('can set accessibility support enabled', () => {
+ expect(app.accessibilitySupportEnabled).to.eql(false);
+@@ -1037,7 +1037,7 @@ describe('app module', () => {
+ let w: BrowserWindow;
+
+ before(function () {
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ this.skip();
+ }
+ session.fromPartition('empty-certificate').setCertificateVerifyProc((req, cb) => { cb(0); });
+@@ -1178,7 +1178,7 @@ describe('app module', () => {
+ // We can't expect particular app names here, but these protocols should
+ // at least have _something_ registered. Except on our Linux CI
+ // environment apparently.
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ this.skip();
+ }
+
+@@ -1196,7 +1196,7 @@ describe('app module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('getApplicationInfoForProtocol()', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getApplicationInfoForProtocol()', () => {
+ it('returns promise rejection for a bogus protocol', async function () {
+ await expect(
+ app.getApplicationInfoForProtocol('bogus-protocol://')
+@@ -1252,7 +1252,7 @@ describe('app module', () => {
+ });
+
+ // FIXME Get these specs running on Linux CI
+- ifdescribe(process.platform !== 'linux')('getFileIcon() API', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getFileIcon() API', () => {
+ const iconPath = path.join(__dirname, 'fixtures/assets/icon.ico');
+ const sizes = {
+ small: 16,
+@@ -1333,7 +1333,7 @@ describe('app module', () => {
+ expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0);
+ }
+
+- if (process.platform !== 'linux') {
++ if (process.platform !== 'linux' && process.platform !== 'freebsd') {
+ expect(entry.sandboxed).to.be.a('boolean');
+ }
+
+@@ -1359,7 +1359,7 @@ describe('app module', () => {
+ });
+
+ // FIXME https://github.com/electron/electron/issues/24224
+- ifdescribe(process.platform !== 'linux')('getGPUInfo() API', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getGPUInfo() API', () => {
+ const appPath = path.join(fixturesPath, 'api', 'gpu-info.js');
+
+ const getGPUInfo = async (type: string) => {
+@@ -1401,7 +1401,7 @@ describe('app module', () => {
+
+ it('succeeds with complete GPUInfo', async () => {
+ const completeInfo = await getGPUInfo('complete');
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // For linux and macOS complete info is same as basic info
+ await verifyBasicGPUInfo(completeInfo);
+ const basicInfo = await getGPUInfo('basic');
+@@ -1431,7 +1431,7 @@ describe('app module', () => {
+ const socketPath = process.platform === 'win32' ? '\\\\.\\pipe\\electron-mixed-sandbox' : '/tmp/electron-mixed-sandbox';
+
+ beforeEach(function (done) {
+- if (process.platform === 'linux' && (process.arch === 'arm64' || process.arch === 'arm')) {
++ if ((process.platform === 'linux' || process.platform === 'freebsd') && (process.arch === 'arm64' || process.arch === 'arm')) {
+ // Our ARM tests are run on VSTS rather than CircleCI, and the Docker
+ // setup on VSTS disallows syscalls that Chrome requires for setting up
+ // sandboxing.
diff --git a/devel/electron12/files/patch-electron_spec-main_api-browser-window-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-browser-window-spec.ts
new file mode 100644
index 000000000000..ec4235cec755
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_api-browser-window-spec.ts
@@ -0,0 +1,74 @@
+--- electron/spec-main/api-browser-window-spec.ts.orig 2021-05-07 09:22:40 UTC
++++ electron/spec-main/api-browser-window-spec.ts
+@@ -57,7 +57,7 @@ describe('BrowserWindow module', () => {
+ }).not.to.throw();
+ });
+
+- ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => {
++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('does not crash when setting large window icons', async () => {
+ const appPath = path.join(__dirname, 'spec-main', 'fixtures', 'apps', 'xwindow-icon');
+ const appProcess = childProcess.spawn(process.execPath, [appPath]);
+ await new Promise((resolve) => { appProcess.once('exit', resolve); });
+@@ -1041,7 +1041,7 @@ describe('BrowserWindow module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('Maximized state', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Maximized state', () => {
+ it('checks normal bounds when maximized', async () => {
+ const bounds = w.getBounds();
+ const maximize = emittedOnce(w, 'maximize');
+@@ -1102,7 +1102,7 @@ describe('BrowserWindow module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('Minimized state', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Minimized state', () => {
+ it('checks normal bounds when minimized', async () => {
+ const bounds = w.getBounds();
+ const minimize = emittedOnce(w, 'minimize');
+@@ -1730,7 +1730,7 @@ describe('BrowserWindow module', () => {
+ describe('BrowserWindow.setOpacity(opacity)', () => {
+ afterEach(closeAllWindows);
+
+- ifdescribe(process.platform !== 'linux')(('Windows and Mac'), () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')(('Windows and Mac'), () => {
+ it('make window with initial opacity', () => {
+ const w = new BrowserWindow({ show: false, opacity: 0.5 });
+ expect(w.getOpacity()).to.equal(0.5);
+@@ -1756,7 +1756,7 @@ describe('BrowserWindow module', () => {
+ });
+ });
+
+- ifdescribe(process.platform === 'linux')(('Linux'), () => {
++ ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')(('Linux'), () => {
+ it('sets 1 regardless of parameter', () => {
+ const w = new BrowserWindow({ show: false });
+ w.setOpacity(0);
+@@ -2613,7 +2613,7 @@ describe('BrowserWindow module', () => {
+ expect(test.version).to.equal(process.version);
+ expect(test.versions).to.deep.equal(process.versions);
+
+- if (process.platform === 'linux' && test.osSandbox) {
++ if ((process.platform === 'linux' || process.platform === 'freebsd') && test.osSandbox) {
+ expect(test.creationTime).to.be.null('creation time');
+ expect(test.systemMemoryInfo).to.be.null('system memory info');
+ } else {
+@@ -3206,7 +3206,7 @@ describe('BrowserWindow module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('max/minimize events', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('max/minimize events', () => {
+ afterEach(closeAllWindows);
+ it('emits an event when window is maximized', async () => {
+ const w = new BrowserWindow({ show: false });
+@@ -3784,7 +3784,7 @@ describe('BrowserWindow module', () => {
+ });
+ });
+
+- ifdescribe(process.platform !== 'linux')('window states (excluding Linux)', () => {
++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('window states (excluding Linux)', () => {
+ // Not implemented on Linux.
+ afterEach(closeAllWindows);
+
diff --git a/devel/electron12/files/patch-electron_spec-main_api-crash-reporter-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-crash-reporter-spec.ts
new file mode 100644
index 000000000000..8a228c9a06a2
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_api-crash-reporter-spec.ts
@@ -0,0 +1,56 @@
+--- electron/spec-main/api-crash-reporter-spec.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/spec-main/api-crash-reporter-spec.ts
+@@ -12,7 +12,7 @@ import * as fs from 'fs';
+ import * as uuid from 'uuid';
+
+ const isWindowsOnArm = process.platform === 'win32' && process.arch === 'arm64';
+-const isLinuxOnArm = process.platform === 'linux' && process.arch.includes('arm');
++const isLinuxOnArm = (process.platform === 'linux' && process.arch.includes('arm')) || process.platform === 'freebsd';
+
+ type CrashInfo = {
+ prod: string
+@@ -45,7 +45,7 @@ function checkCrash (expectedProcessType: string, fiel
+
+ // TODO(nornagon): minidumps are sometimes (not always) turning up empty on
+ // 32-bit Linux. Figure out why.
+- if (!(process.platform === 'linux' && process.arch === 'ia32')) {
++ if (!((process.platform === 'linux' || process.platform === 'freebsd') && process.arch === 'ia32')) {
+ expect(fields.upload_file_minidump.length).to.be.greaterThan(0);
+ }
+ }
+@@ -490,7 +490,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+ await bw.webContents.executeJavaScript('require(\'electron\').crashReporter.addExtraParameter(\'hello\', \'world\')');
+ return bw.webContents.executeJavaScript('require(\'electron\').crashReporter.getParameters()');
+ });
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // On Linux, 'getParameters' will also include the global parameters,
+ // because breakpad doesn't support global parameters.
+ expect(rendererParameters).to.have.property('hello', 'world');
+@@ -554,7 +554,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+ }
+ }
+
+- const processList = process.platform === 'linux' ? ['main', 'renderer', 'sandboxed-renderer']
++ const processList = (process.platform === 'linux' || process.platform === 'freebsd') ? ['main', 'renderer', 'sandboxed-renderer']
+ : ['main', 'renderer', 'sandboxed-renderer', 'node'];
+ for (const crashingProcess of processList) {
+ describe(`when ${crashingProcess} crashes`, () => {
+@@ -575,7 +575,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+ crash(crashingProcess, remotely);
+ const newFiles = await newFileAppeared;
+ expect(newFiles.length).to.be.greaterThan(0);
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ if (crashingProcess === 'main') {
+ expect(newFiles[0]).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{8}-[0-9a-f]{8}\.dmp$/);
+ } else {
+@@ -609,7 +609,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e
+ crash(crashingProcess, remotely);
+ const newFiles = await newFileAppeared;
+ expect(newFiles.length).to.be.greaterThan(0);
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ if (crashingProcess === 'main') {
+ expect(newFiles[0]).to.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{8}-[0-9a-f]{8}\.dmp$/);
+ } else {
diff --git a/devel/electron11/files/patch-electron_spec-main_api-desktop-capturer-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-desktop-capturer-spec.ts
index 267eebff32cd..267eebff32cd 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-desktop-capturer-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-desktop-capturer-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec-main_api-net-log-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-net-log-spec.ts
index d93c7cf23545..d93c7cf23545 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-net-log-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-net-log-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec-main_api-notification-dbus-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-notification-dbus-spec.ts
index 107fa8e856a9..107fa8e856a9 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-notification-dbus-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-notification-dbus-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec-main_api-power-monitor-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-power-monitor-spec.ts
index b6a464bc5f2f..b6a464bc5f2f 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-power-monitor-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-power-monitor-spec.ts
diff --git a/devel/electron12/files/patch-electron_spec-main_api-screen-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-screen-spec.ts
new file mode 100644
index 000000000000..4bdd3ef89563
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_api-screen-spec.ts
@@ -0,0 +1,38 @@
+--- electron/spec-main/api-screen-spec.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/spec-main/api-screen-spec.ts
+@@ -29,7 +29,7 @@ describe('screen module', () => {
+ });
+
+ it('has the correct non-object properties', function () {
+- if (process.platform === 'linux') this.skip();
++ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
+ const display = screen.getPrimaryDisplay();
+
+ expect(display).to.have.property('scaleFactor').that.is.a('number');
+@@ -46,7 +46,7 @@ describe('screen module', () => {
+ });
+
+ it('has a size object property', function () {
+- if (process.platform === 'linux') this.skip();
++ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
+ const display = screen.getPrimaryDisplay();
+
+ expect(display).to.have.property('size').that.is.an('object');
+@@ -56,7 +56,7 @@ describe('screen module', () => {
+ });
+
+ it('has a workAreaSize object property', function () {
+- if (process.platform === 'linux') this.skip();
++ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
+ const display = screen.getPrimaryDisplay();
+
+ expect(display).to.have.property('workAreaSize').that.is.an('object');
+@@ -66,7 +66,7 @@ describe('screen module', () => {
+ });
+
+ it('has a bounds object property', function () {
+- if (process.platform === 'linux') this.skip();
++ if (process.platform === 'linux' || process.platform === 'freebsd') this.skip();
+ const display = screen.getPrimaryDisplay();
+
+ expect(display).to.have.property('bounds').that.is.an('object');
diff --git a/devel/electron11/files/patch-electron_spec-main_api-shell-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-shell-spec.ts
index 302f506c865d..302f506c865d 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-shell-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-shell-spec.ts
diff --git a/devel/electron12/files/patch-electron_spec-main_api-subframe-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-subframe-spec.ts
new file mode 100644
index 000000000000..aa620c9db292
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_api-subframe-spec.ts
@@ -0,0 +1,11 @@
+--- electron/spec-main/api-subframe-spec.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/spec-main/api-subframe-spec.ts
+@@ -213,7 +213,7 @@ describe('renderer nodeIntegrationInSubFrames', () =>
+ });
+
+ // app.getAppMetrics() does not return sandbox information on Linux.
+-ifdescribe(process.platform !== 'linux')('cross-site frame sandboxing', () => {
++ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('cross-site frame sandboxing', () => {
+ let server: http.Server;
+ let crossSiteUrl: string;
+ let serverUrl: string;
diff --git a/devel/electron11/files/patch-electron_spec-main_api-tray-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-tray-spec.ts
index 43ac252e443d..43ac252e443d 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-tray-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-tray-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec-main_api-web-contents-spec.ts b/devel/electron12/files/patch-electron_spec-main_api-web-contents-spec.ts
index c14c1e7fdbeb..c14c1e7fdbeb 100644
--- a/devel/electron11/files/patch-electron_spec-main_api-web-contents-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_api-web-contents-spec.ts
diff --git a/devel/electron12/files/patch-electron_spec-main_chromium-spec.ts b/devel/electron12/files/patch-electron_spec-main_chromium-spec.ts
new file mode 100644
index 000000000000..3b533d761069
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec-main_chromium-spec.ts
@@ -0,0 +1,44 @@
+--- electron/spec-main/chromium-spec.ts.orig 2021-04-20 23:32:33 UTC
++++ electron/spec-main/chromium-spec.ts
+@@ -397,13 +397,13 @@ describe('command line switches', () => {
+ it('should not set an invalid locale', async () => testLocale('asdfkl', currentLocale));
+
+ const lcAll = String(process.env.LC_ALL);
+- ifit(process.platform === 'linux')('current process has a valid LC_ALL env', async () => {
++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('current process has a valid LC_ALL env', async () => {
+ // The LC_ALL env should not be set to DOM locale string.
+ expect(lcAll).to.not.equal(app.getLocale());
+ });
+- ifit(process.platform === 'linux')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
+- ifit(process.platform === 'linux')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true));
+- ifit(process.platform === 'linux')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true));
++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL', async () => testLocale('fr', lcAll, true));
++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true));
++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true));
+ });
+
+ describe('--remote-debugging-pipe switch', () => {
+@@ -1453,12 +1453,12 @@ describe('font fallback', () => {
+ expect(fonts[0].familyName).to.equal('Arial');
+ } else if (process.platform === 'darwin') {
+ expect(fonts[0].familyName).to.equal('Helvetica');
+- } else if (process.platform === 'linux') {
++ } else if (process.platform === 'linux' || process.platform === 'freebsd') {
+ expect(fonts[0].familyName).to.equal('DejaVu Sans');
+ } // I think this depends on the distro? We don't specify a default.
+ });
+
+- ifit(process.platform !== 'linux')('should fall back to Japanese font for sans-serif Japanese script', async function () {
++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should fall back to Japanese font for sans-serif Japanese script', async function () {
+ const html = `
+ <html lang="ja-JP">
+ <head>
+@@ -1659,7 +1659,7 @@ describe('navigator.clipboard', () => {
+ });
+ });
+
+-ifdescribe((process.platform !== 'linux' || app.isUnityRunning()))('navigator.setAppBadge/clearAppBadge', () => {
++ifdescribe(((process.platform !== 'linux' && process.platform !== 'freebsd') || app.isUnityRunning()))('navigator.setAppBadge/clearAppBadge', () => {
+ let w: BrowserWindow;
+
+ const expectedBadgeCount = 42;
diff --git a/devel/electron11/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js b/devel/electron12/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js
index 2bd671d8ef04..2bd671d8ef04 100644
--- a/devel/electron11/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js
+++ b/devel/electron12/files/patch-electron_spec-main_fixtures_apps_crash_node-crash.js
diff --git a/devel/electron11/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js b/devel/electron12/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js
index 0944ccde78a1..0944ccde78a1 100644
--- a/devel/electron11/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js
+++ b/devel/electron12/files/patch-electron_spec-main_fixtures_native-addon_uv-dlopen_index.js
diff --git a/devel/electron11/files/patch-electron_spec-main_version-bump-spec.ts b/devel/electron12/files/patch-electron_spec-main_version-bump-spec.ts
index 923e38709a5c..923e38709a5c 100644
--- a/devel/electron11/files/patch-electron_spec-main_version-bump-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_version-bump-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec-main_visibility-state-spec.ts b/devel/electron12/files/patch-electron_spec-main_visibility-state-spec.ts
index 59a7a8c76dca..59a7a8c76dca 100644
--- a/devel/electron11/files/patch-electron_spec-main_visibility-state-spec.ts
+++ b/devel/electron12/files/patch-electron_spec-main_visibility-state-spec.ts
diff --git a/devel/electron11/files/patch-electron_spec_api-clipboard-spec.js b/devel/electron12/files/patch-electron_spec_api-clipboard-spec.js
index ac2b8ac499a3..ac2b8ac499a3 100644
--- a/devel/electron11/files/patch-electron_spec_api-clipboard-spec.js
+++ b/devel/electron12/files/patch-electron_spec_api-clipboard-spec.js
diff --git a/devel/electron11/files/patch-electron_spec_api-native-image-spec.js b/devel/electron12/files/patch-electron_spec_api-native-image-spec.js
index b08996db2535..b08996db2535 100644
--- a/devel/electron11/files/patch-electron_spec_api-native-image-spec.js
+++ b/devel/electron12/files/patch-electron_spec_api-native-image-spec.js
diff --git a/devel/electron11/files/patch-electron_spec_api-process-spec.js b/devel/electron12/files/patch-electron_spec_api-process-spec.js
index 8ff525c110d6..8ff525c110d6 100644
--- a/devel/electron11/files/patch-electron_spec_api-process-spec.js
+++ b/devel/electron12/files/patch-electron_spec_api-process-spec.js
diff --git a/devel/electron12/files/patch-electron_spec_chromium-spec.js b/devel/electron12/files/patch-electron_spec_chromium-spec.js
new file mode 100644
index 000000000000..9408572e0bca
--- /dev/null
+++ b/devel/electron12/files/patch-electron_spec_chromium-spec.js
@@ -0,0 +1,11 @@
+--- electron/spec/chromium-spec.js.orig 2021-04-20 23:32:33 UTC
++++ electron/spec/chromium-spec.js
+@@ -234,7 +234,7 @@ describe('chromium feature', () => {
+ });
+
+ it('can be get as context in canvas', () => {
+- if (process.platform === 'linux') {
++ if (process.platform === 'linux' || process.platform === 'freebsd') {
+ // FIXME(alexeykuzmin): Skip the test.
+ // this.skip()
+ return;
diff --git a/devel/electron11/files/patch-electron_spec_node-spec.js b/devel/electron12/files/patch-electron_spec_node-spec.js
index 60ffbd2d63a9..60ffbd2d63a9 100644
--- a/devel/electron11/files/patch-electron_spec_node-spec.js
+++ b/devel/electron12/files/patch-electron_spec_node-spec.js
diff --git a/devel/electron11/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/devel/electron12/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
index 49120e0eed92..49120e0eed92 100644
--- a/devel/electron11/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
+++ b/devel/electron12/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
diff --git a/devel/electron11/files/patch-extensions_browser_api_messaging_message__service.cc b/devel/electron12/files/patch-extensions_browser_api_messaging_message__service.cc
index f2e6b9749ce9..f2e6b9749ce9 100644
--- a/devel/electron11/files/patch-extensions_browser_api_messaging_message__service.cc
+++ b/devel/electron12/files/patch-extensions_browser_api_messaging_message__service.cc
diff --git a/devel/electron12/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/devel/electron12/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
new file mode 100644
index 000000000000..084f1ee54541
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
@@ -0,0 +1,20 @@
+--- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc
+@@ -12,7 +12,7 @@
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #include "extensions/browser/api/networking_private/networking_private_chromeos.h"
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "extensions/browser/api/networking_private/networking_private_linux.h"
+ #elif defined(OS_WIN) || defined(OS_MAC)
+ #include "components/wifi/wifi_service.h"
+@@ -62,7 +62,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS
+ NetworkingPrivateDelegate* delegate;
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ delegate = new NetworkingPrivateChromeOS(browser_context);
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ delegate = new NetworkingPrivateLinux();
+ #elif defined(OS_WIN) || defined(OS_MAC)
+ std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create());
diff --git a/devel/electron11/files/patch-extensions_browser_api_web__request_form__data__parser.cc b/devel/electron12/files/patch-extensions_browser_api_web__request_form__data__parser.cc
index 3003adeae4dd..3003adeae4dd 100644
--- a/devel/electron11/files/patch-extensions_browser_api_web__request_form__data__parser.cc
+++ b/devel/electron12/files/patch-extensions_browser_api_web__request_form__data__parser.cc
diff --git a/devel/electron12/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/devel/electron12/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
new file mode 100644
index 000000000000..f2c949bd328f
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
@@ -0,0 +1,11 @@
+--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/browser/browser_context_keyed_service_factories.cc
+@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
+ HidDeviceManager::GetFactoryInstance();
+ IdleManagerFactory::GetInstance();
+ ManagementAPI::GetFactoryInstance();
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \
+ defined(OS_MAC)
+ NetworkingPrivateEventRouterFactory::GetInstance();
+ #endif
diff --git a/devel/electron12/files/patch-extensions_common_api___permission__features.json b/devel/electron12/files/patch-extensions_common_api___permission__features.json
new file mode 100644
index 000000000000..4b63985411f0
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_common_api___permission__features.json
@@ -0,0 +1,29 @@
+--- extensions/common/api/_permission_features.json.orig 2021-04-14 01:08:49 UTC
++++ extensions/common/api/_permission_features.json
+@@ -135,7 +135,7 @@
+ {
+ "channel": "stable",
+ "extension_types": ["platform_app"],
+- "platforms": ["chromeos", "win", "mac", "linux"],
++ "platforms": ["chromeos", "win", "mac", "linux", "bsd"],
+ "whitelist": [
+ "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169
+ "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169
+@@ -457,7 +457,7 @@
+ }, {
+ "channel": "stable",
+ "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
+- "platforms": ["chromeos", "mac", "win", "linux"],
++ "platforms": ["chromeos", "mac", "win", "linux", "bsd"],
+ "whitelist": [
+ "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651
+ "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683
+@@ -492,7 +492,7 @@
+ "networkingPrivate": {
+ "channel": "stable",
+ "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
+- "platforms": ["chromeos", "mac", "win", "linux"],
++ "platforms": ["chromeos", "mac", "win", "linux", "bsd"],
+ "whitelist": [
+ // DO NOT ADD ANY MORE ENTRIES HERE.
+ // networkingPrivate is being migrated to networking.onc.
diff --git a/devel/electron11/files/patch-extensions_common_api_runtime.json b/devel/electron12/files/patch-extensions_common_api_runtime.json
index 8056660daa88..8056660daa88 100644
--- a/devel/electron11/files/patch-extensions_common_api_runtime.json
+++ b/devel/electron12/files/patch-extensions_common_api_runtime.json
diff --git a/devel/electron11/files/patch-extensions_common_feature__switch.cc b/devel/electron12/files/patch-extensions_common_feature__switch.cc
index 4bfb9aef817c..4bfb9aef817c 100644
--- a/devel/electron11/files/patch-extensions_common_feature__switch.cc
+++ b/devel/electron12/files/patch-extensions_common_feature__switch.cc
diff --git a/devel/electron12/files/patch-extensions_common_features_feature.cc b/devel/electron12/files/patch-extensions_common_features_feature.cc
new file mode 100644
index 000000000000..4c2c4001f4c4
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_common_features_feature.cc
@@ -0,0 +1,11 @@
+--- extensions/common/features/feature.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/common/features/feature.cc
+@@ -26,7 +26,7 @@ Feature::Platform Feature::GetCurrentPlatform() {
+ return LACROS_PLATFORM;
+ #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS)
+ return CHROMEOS_PLATFORM;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return LINUX_PLATFORM;
+ #elif defined(OS_MAC)
+ return MACOSX_PLATFORM;
diff --git a/devel/electron11/files/patch-extensions_common_image__util.cc b/devel/electron12/files/patch-extensions_common_image__util.cc
index 09738c1343a3..09738c1343a3 100644
--- a/devel/electron11/files/patch-extensions_common_image__util.cc
+++ b/devel/electron12/files/patch-extensions_common_image__util.cc
diff --git a/devel/electron11/files/patch-extensions_common_stack__frame.cc b/devel/electron12/files/patch-extensions_common_stack__frame.cc
index 511a2e4a4715..511a2e4a4715 100644
--- a/devel/electron11/files/patch-extensions_common_stack__frame.cc
+++ b/devel/electron12/files/patch-extensions_common_stack__frame.cc
diff --git a/devel/electron12/files/patch-extensions_renderer_bindings_api__binding__util.cc b/devel/electron12/files/patch-extensions_renderer_bindings_api__binding__util.cc
new file mode 100644
index 000000000000..fd54f4935a1a
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_renderer_bindings_api__binding__util.cc
@@ -0,0 +1,11 @@
+--- extensions/renderer/bindings/api_binding_util.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/renderer/bindings/api_binding_util.cc
+@@ -131,6 +131,8 @@ std::string GetPlatformString() {
+ return "mac";
+ #elif defined(OS_WIN)
+ return "win";
++#elif defined(OS_BSD)
++ return "bsd";
+ #else
+ NOTREACHED();
+ return std::string();
diff --git a/devel/electron12/files/patch-extensions_shell_BUILD.gn b/devel/electron12/files/patch-extensions_shell_BUILD.gn
new file mode 100644
index 000000000000..77061817ca1f
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_shell_BUILD.gn
@@ -0,0 +1,31 @@
+--- extensions/shell/BUILD.gn.orig 2021-04-14 01:08:49 UTC
++++ extensions/shell/BUILD.gn
+@@ -205,16 +205,24 @@ source_set("app_shell_lib") {
+ }
+
+ if (is_linux || is_chromeos_lacros) {
++ if (!is_bsd) {
++ sources += [
++ "app/shell_crash_reporter_client.cc",
++ "app/shell_crash_reporter_client.h",
++ ]
++ }
+ sources += [
+- "app/shell_crash_reporter_client.cc",
+- "app/shell_crash_reporter_client.h",
+ "browser/api/file_system/shell_file_system_delegate.cc",
+ "browser/api/file_system/shell_file_system_delegate.h",
+ ]
++ if (!is_bsd) {
++ deps += [
++ "//components/crash/core/app",
++ "//components/crash/core/common",
++ ]
++ }
+ deps += [
+ "//build:branding_buildflags",
+- "//components/crash/core/app",
+- "//components/crash/core/common",
+ "//components/upload_list",
+ "//components/version_info:generate_version_info",
+ ]
diff --git a/devel/electron12/files/patch-extensions_shell_app_shell__main__delegate.cc b/devel/electron12/files/patch-extensions_shell_app_shell__main__delegate.cc
new file mode 100644
index 000000000000..06ab2930b182
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_shell_app_shell__main__delegate.cc
@@ -0,0 +1,20 @@
+--- extensions/shell/app/shell_main_delegate.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/shell/app/shell_main_delegate.cc
+@@ -39,7 +39,7 @@
+
+ #if defined(OS_WIN)
+ #include "base/base_paths_win.h"
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/nix/xdg_util.h"
+ #elif defined(OS_MAC)
+ #include "base/base_paths_mac.h"
+@@ -75,7 +75,7 @@ base::FilePath GetDataPath() {
+ return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath);
+
+ base::FilePath data_dir;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ data_dir = base::nix::GetXDGDirectory(
+ env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir);
diff --git a/devel/electron12/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/devel/electron12/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
new file mode 100644
index 000000000000..a1b94a663b5f
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
@@ -0,0 +1,11 @@
+--- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc
+@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin
+ bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ info->os = api::runtime::PLATFORM_OS_CROS;
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ info->os = api::runtime::PLATFORM_OS_LINUX;
+ #endif
+ return true;
diff --git a/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
new file mode 100644
index 000000000000..bf37573fc870
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
@@ -0,0 +1,20 @@
+--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2021-04-14 01:08:49 UTC
++++ extensions/shell/browser/shell_extensions_api_client.cc
+@@ -19,7 +19,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h"
+ #endif
+
+@@ -57,7 +57,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider()
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() {
+ if (!file_system_delegate_)
+ file_system_delegate_ = std::make_unique<ShellFileSystemDelegate>();
diff --git a/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.h
new file mode 100644
index 000000000000..a2364fbe5f66
--- /dev/null
+++ b/devel/electron12/files/patch-extensions_shell_browser_shell__extensions__api__client.h
@@ -0,0 +1,20 @@
+--- extensions/shell/browser/shell_extensions_api_client.h.orig 2021-04-14 01:08:49 UTC
++++ extensions/shell/browser/shell_extensions_api_client.h
+@@ -36,7 +36,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
+ const override;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ FileSystemDelegate* GetFileSystemDelegate() override;
+ #endif
+ MessagingDelegate* GetMessagingDelegate() override;
+@@ -45,7 +45,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC
+ private:
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ std::unique_ptr<FileSystemDelegate> file_system_delegate_;
+ #endif
+ std::unique_ptr<MessagingDelegate> messaging_delegate_;
diff --git a/devel/electron12/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/devel/electron12/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
new file mode 100644
index 000000000000..d917fef7f1aa
--- /dev/null
+++ b/devel/electron12/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
@@ -0,0 +1,53 @@
+--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2021-04-14 01:08:49 UTC
++++ google_apis/gcm/engine/heartbeat_manager.cc
+@@ -32,13 +32,13 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30;
+ // Minimum time spent sleeping before we force a new heartbeat.
+ const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds.
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // The period at which to check if the heartbeat time has passed. Used to
+ // protect against platforms where the timer is delayed by the system being
+ // suspended. Only needed on linux because the other OSes provide a standard
+ // way to be notified of system suspend and resume events.
+ const int kHeartbeatMissedCheckMs = 1000 * 60 * 5; // 5 minutes.
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+
+ } // namespace
+
+@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() {
+ base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered,
+ weak_ptr_factory_.GetWeakPtr()));
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified
+ // when the system is suspending or resuming. The only one that does not is
+ // Linux so we need to poll to check for missed heartbeats.
+@@ -201,7 +201,7 @@ void HeartbeatManager::RestartTimer() {
+ base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
+ weak_ptr_factory_.GetWeakPtr()),
+ base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs));
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ }
+
+ void HeartbeatManager::CheckForMissedHeartbeat() {
+@@ -217,14 +217,14 @@ void HeartbeatManager::CheckForMissedHeartbeat() {
+ return;
+ }
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Otherwise check again later.
+ io_task_runner_->PostDelayedTask(
+ FROM_HERE,
+ base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat,
+ weak_ptr_factory_.GetWeakPtr()),
+ base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs));
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ }
+
+ void HeartbeatManager::UpdateHeartbeatInterval() {
diff --git a/devel/electron11/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/devel/electron12/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
index f1f138147943..f1f138147943 100644
--- a/devel/electron11/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
+++ b/devel/electron12/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
diff --git a/devel/electron11/files/patch-gpu_command__buffer_service_external__semaphore.cc b/devel/electron12/files/patch-gpu_command__buffer_service_external__semaphore.cc
index fc5345ed2047..fc5345ed2047 100644
--- a/devel/electron11/files/patch-gpu_command__buffer_service_external__semaphore.cc
+++ b/devel/electron12/files/patch-gpu_command__buffer_service_external__semaphore.cc
diff --git a/devel/electron12/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/devel/electron12/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
new file mode 100644
index 000000000000..8e62fbbb3cb6
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
@@ -0,0 +1,38 @@
+--- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/command_buffer/service/external_vk_image_backing.cc
+@@ -30,7 +30,7 @@
+ #include "ui/gl/gl_version_info.h"
+ #include "ui/gl/scoped_binders.h"
+
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
+ #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h"
+ #endif
+
+@@ -616,7 +616,7 @@ std::unique_ptr<SharedImageRepresentationDawn>
+ ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager,
+ MemoryTypeTracker* tracker,
+ WGPUDevice wgpuDevice) {
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
+ auto wgpu_format = viz::ToWGPUFormat(format());
+
+ if (wgpu_format == WGPUTextureFormat_Undefined) {
+@@ -635,7 +635,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
+
+ return std::make_unique<ExternalVkImageDawnRepresentation>(
+ manager, this, tracker, wgpuDevice, wgpu_format, std::move(memory_fd));
+-#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS)) || !BUILDFLAG(USE_DAWN)
++#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN)
+ NOTIMPLEMENTED_LOG_ONCE();
+ return nullptr;
+ #endif
+@@ -648,7 +648,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna
+ gl::GLApi* api = gl::g_current_gl_context;
+ base::Optional<ScopedDedicatedMemoryObject> memory_object;
+ if (!use_separate_gl_texture()) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ auto memory_fd = image_->GetMemoryFd();
+ if (!memory_fd.is_valid())
+ return 0;
diff --git a/devel/electron11/files/patch-gpu_command__buffer_service_program__manager.cc b/devel/electron12/files/patch-gpu_command__buffer_service_program__manager.cc
index 612732da8422..612732da8422 100644
--- a/devel/electron11/files/patch-gpu_command__buffer_service_program__manager.cc
+++ b/devel/electron12/files/patch-gpu_command__buffer_service_program__manager.cc
diff --git a/devel/electron12/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/devel/electron12/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
new file mode 100644
index 000000000000..e7d83d9fe667
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc
@@ -0,0 +1,17 @@
+--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/command_buffer/service/webgpu_decoder_impl.cc
+@@ -946,12 +946,12 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter(
+ static_cast<DawnRequestAdapterSerial>(c.request_adapter_serial);
+
+ if (gr_context_type_ != GrContextType::kVulkan) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SendAdapterProperties(request_adapter_serial, -1, nullptr,
+ "WebGPU on Linux requires command-line flag "
+ "--enable-features=Vulkan,UseSkiaRenderer");
+ return error::kNoError;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference);
diff --git a/devel/electron12/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
new file mode 100644
index 000000000000..1bbf7ac26daa
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
@@ -0,0 +1,31 @@
+--- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
+@@ -258,7 +258,7 @@ void getExpectedColorAndMask(GLenum src_internal_forma
+
+ setColor(adjusted_color[0], adjusted_color[1], adjusted_color[2],
+ alpha_value, expected_color);
+-#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The alpha channel values for LUMINANCE_ALPHA source don't work OK
+ // on Mac or Linux, so skip comparison of those, see crbug.com/926579
+ setColor(1, 1, 1, src_internal_format != GL_LUMINANCE_ALPHA,
+@@ -637,8 +637,8 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
+
+ bool ShouldSkipNorm16() const {
+ DCHECK(!ShouldSkipTest());
+-#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
+- defined(OS_CHROMEOS)) && \
++#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
++ defined(OS_CHROMEOS)) && \
+ (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
+ // Make sure it's tested; it is safe to assume that the flag is always true
+ // on desktop.
+@@ -650,7 +650,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
+
+ bool ShouldSkipRGBA16ToRGB10A2() const {
+ DCHECK(!ShouldSkipTest());
+-#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
++#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
+ (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64))
+ // // TODO(crbug.com/1046873): Fails on mac and linux intel.
+ return true;
diff --git a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
index 8ca20abe65a6..8ca20abe65a6 100644
--- a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
+++ b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
diff --git a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.h
index 50ab080dda04..50ab080dda04 100644
--- a/devel/electron11/files/patch-gpu_command__buffer_tests_gl__test__utils.h
+++ b/devel/electron12/files/patch-gpu_command__buffer_tests_gl__test__utils.h
diff --git a/devel/electron12/files/patch-gpu_command__buffer_tests_webgpu__test.cc b/devel/electron12/files/patch-gpu_command__buffer_tests_webgpu__test.cc
new file mode 100644
index 000000000000..e204310c8710
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_command__buffer_tests_webgpu__test.cc
@@ -0,0 +1,22 @@
+--- gpu/command_buffer/tests/webgpu_test.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/command_buffer/tests/webgpu_test.cc
+@@ -51,8 +51,8 @@ bool WebGPUTest::WebGPUSupported() const {
+
+ bool WebGPUTest::WebGPUSharedImageSupported() const {
+ // Currently WebGPUSharedImage is only implemented on Mac, Linux and Windows
+-#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
+- defined(OS_WIN)) && \
++#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
++ defined(OS_WIN)) && \
+ BUILDFLAG(USE_DAWN)
+ return true;
+ #else
+@@ -67,7 +67,7 @@ void WebGPUTest::SetUp() {
+
+ gpu::GpuPreferences gpu_preferences;
+ gpu_preferences.enable_webgpu = true;
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN)
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
+ gpu_preferences.use_vulkan = gpu::VulkanImplementationName::kNative;
+ gpu_preferences.gr_context_type = gpu::GrContextType::kVulkan;
+ #elif defined(OS_WIN)
diff --git a/devel/electron12/files/patch-gpu_config_gpu__control__list.cc b/devel/electron12/files/patch-gpu_config_gpu__control__list.cc
new file mode 100644
index 000000000000..33c74ee55d53
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_config_gpu__control__list.cc
@@ -0,0 +1,32 @@
+--- gpu/config/gpu_control_list.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/config/gpu_control_list.cc
+@@ -18,7 +18,11 @@
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+ #include "gpu/config/gpu_util.h"
++#if defined(OS_BSD)
++#include <re2/re2.h>
++#else
+ #include "third_party/re2/src/re2/re2.h"
++#endif // defined(OS_BSD)
+
+ namespace gpu {
+ namespace {
+@@ -276,7 +280,7 @@ bool GpuControlList::More::GLVersionInfoMismatch(
+ GpuControlList::GLType GpuControlList::More::GetDefaultGLType() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ return kGLTypeGL;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return kGLTypeGL;
+ #elif defined(OS_MAC)
+ return kGLTypeGL;
+@@ -782,7 +786,7 @@ GpuControlList::OsType GpuControlList::GetOsType() {
+ return kOsAndroid;
+ #elif defined(OS_FUCHSIA)
+ return kOsFuchsia;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return kOsLinux;
+ #elif defined(OS_MAC)
+ return kOsMacosx;
diff --git a/devel/electron12/files/patch-gpu_config_gpu__test__config.cc b/devel/electron12/files/patch-gpu_config_gpu__test__config.cc
new file mode 100644
index 000000000000..a350be8767c0
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_config_gpu__test__config.cc
@@ -0,0 +1,11 @@
+--- gpu/config/gpu_test_config.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/config/gpu_test_config.cc
+@@ -28,7 +28,7 @@ namespace {
+ GPUTestConfig::OS GetCurrentOS() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ return GPUTestConfig::kOsChromeOS;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return GPUTestConfig::kOsLinux;
+ #elif defined(OS_WIN)
+ int32_t major_version = 0;
diff --git a/devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
new file mode 100644
index 000000000000..56290557f8c2
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
@@ -0,0 +1,47 @@
+--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/ipc/common/gpu_memory_buffer_support.cc
+@@ -16,7 +16,7 @@
+ #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/gfx/client_native_pixmap_factory.h"
+ #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h"
+ #endif
+@@ -26,7 +26,7 @@
+ #include "ui/ozone/public/ozone_platform.h"
+ #endif
+
+-#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
+ #endif
+
+@@ -52,7 +52,7 @@ GpuMemoryBufferSupport::GpuMemoryBufferSupport() {
+ return;
+ }
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ client_native_pixmap_factory_.reset(
+ gfx::CreateClientNativePixmapFactoryDmabuf());
+ #endif
+@@ -66,7 +66,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
+ return gfx::IO_SURFACE_BUFFER;
+ #elif defined(OS_ANDROID)
+ return gfx::ANDROID_HARDWARE_BUFFER;
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
+ return gfx::NATIVE_PIXMAP;
+ #elif defined(OS_WIN)
+ return gfx::DXGI_SHARED_HANDLE;
+@@ -201,7 +201,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH
+ return GpuMemoryBufferImplIOSurface::CreateFromHandle(
+ std::move(handle), size, format, usage, std::move(callback));
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
+ case gfx::NATIVE_PIXMAP:
+ return GpuMemoryBufferImplNativePixmap::CreateFromHandle(
+ client_native_pixmap_factory(), std::move(handle), size, format,
diff --git a/devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
index c01b854db454..c01b854db454 100644
--- a/devel/electron11/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
+++ b/devel/electron12/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
diff --git a/devel/electron12/files/patch-gpu_ipc_service_gpu__init.cc b/devel/electron12/files/patch-gpu_ipc_service_gpu__init.cc
new file mode 100644
index 000000000000..9a3068a212cb
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_ipc_service_gpu__init.cc
@@ -0,0 +1,137 @@
+--- gpu/ipc/service/gpu_init.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/ipc/service/gpu_init.cc
+@@ -108,7 +108,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in
+ }
+
+ #if BUILDFLAG(IS_CHROMEOS_LACROS) || \
+- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST))
++ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
+ bool CanAccessNvidiaDeviceFile() {
+ bool res = true;
+ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
+@@ -119,7 +119,7 @@ bool CanAccessNvidiaDeviceFile() {
+ }
+ return res;
+ }
+-#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || (defined(OS_LINUX) &&
++#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) || (defined(OS_LINUX) &&
+ // !BUILDFLAG(IS_CHROMECAST))
+
+ class GpuWatchdogInit {
+@@ -206,7 +206,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ device_perf_info_ = device_perf_info;
+ }
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA
+ gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile())
+ return false;
+@@ -258,7 +258,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ delayed_watchdog_enable = true;
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // PreSandbox is mainly for resource handling and not related to the GPU
+ // driver, it doesn't need the GPU watchdog. The loadLibrary may take long
+ // time that killing and restarting the GPU process will not help.
+@@ -298,7 +298,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ }
+
+ bool attempted_startsandbox = false;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Chrome OS ARM Mali, GPU driver userspace creates threads when
+ // initializing a GL context, so start the sandbox early.
+ // TODO(zmo): Need to collect OS version before this.
+@@ -307,7 +307,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ watchdog_thread_.get(), &gpu_info_, gpu_preferences_);
+ attempted_startsandbox = true;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ base::TimeTicks before_initialize_one_off = base::TimeTicks::Now();
+
+@@ -345,7 +345,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ }
+ if (gl_initialized && gl_use_swiftshader_ &&
+ gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
+ << "on Linux";
+ return false;
+@@ -353,7 +353,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ SaveHardwareGpuInfoAndGpuFeatureInfo();
+ gl::init::ShutdownGL(true);
+ gl_initialized = false;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ if (!gl_initialized) {
+@@ -379,7 +379,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ }
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The ContentSandboxHelper is currently the only one implementation of
+ // GpuSandboxHelper and it has no dependency. Except on Linux where
+ // VaapiWrapper checks the GL implementation to determine which display
+@@ -433,7 +433,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ command_line, gpu_feature_info_,
+ gpu_preferences_.disable_software_rasterizer, false);
+ if (gl_use_swiftshader_) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
+ << "on Linux";
+ return false;
+@@ -448,7 +448,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ << "failed";
+ return false;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+ } else { // gl_use_swiftshader_ == true
+ switch (gpu_preferences_.use_vulkan) {
+@@ -524,7 +524,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+
+ InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Driver may create a compatibility profile context when collect graphics
+ // information on Linux platform. Try to collect graphics information
+ // based on core profile context after disabling platform extensions.
+@@ -543,7 +543,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
+ return false;
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ if (gl_use_swiftshader_) {
+ AdjustInfoToSwiftShader();
+@@ -726,7 +726,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+
+ InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Driver may create a compatibility profile context when collect graphics
+ // information on Linux platform. Try to collect graphics information
+ // based on core profile context after disabling platform extensions.
+@@ -747,7 +747,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
+ }
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ if (gl_use_swiftshader_) {
+ AdjustInfoToSwiftShader();
diff --git a/devel/electron11/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/devel/electron12/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
index 04b6bcff5723..04b6bcff5723 100644
--- a/devel/electron11/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
+++ b/devel/electron12/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
diff --git a/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
new file mode 100644
index 000000000000..b4ea655309fb
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
@@ -0,0 +1,47 @@
+--- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/ipc/service/gpu_watchdog_thread.cc
+@@ -73,7 +73,7 @@ GpuWatchdogThread::GpuWatchdogThread(base::TimeDelta t
+ }
+ #endif
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ tty_file_ = base::OpenFile(
+ base::FilePath(FILE_PATH_LITERAL("/sys/class/tty/tty0/active")), "r");
+ UpdateActiveTTY();
+@@ -101,7 +101,7 @@ GpuWatchdogThread::~GpuWatchdogThread() {
+ CloseHandle(watched_thread_handle_);
+ #endif
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ if (tty_file_)
+ fclose(tty_file_);
+ #endif
+@@ -440,7 +440,7 @@ void GpuWatchdogThread::OnWatchdogTimeout() {
+ if (foregrounded_event_)
+ num_of_timeout_after_foregrounded_++;
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ UpdateActiveTTY();
+ #endif
+
+@@ -773,7 +773,7 @@ bool GpuWatchdogThread::WithinOneMinFromForegrounded()
+ return foregrounded_event_ && num_of_timeout_after_foregrounded_ <= count;
+ }
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ void GpuWatchdogThread::UpdateActiveTTY() {
+ last_active_tty_ = active_tty_;
+
+@@ -790,7 +790,7 @@ void GpuWatchdogThread::UpdateActiveTTY() {
+ #endif
+
+ bool GpuWatchdogThread::ContinueOnNonHostX11ServerTty() {
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ if (host_tty_ == -1 || active_tty_ == -1)
+ return false;
+
diff --git a/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
new file mode 100644
index 000000000000..062acaf8cf43
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
@@ -0,0 +1,20 @@
+--- gpu/ipc/service/gpu_watchdog_thread.h.orig 2021-04-14 01:08:50 UTC
++++ gpu/ipc/service/gpu_watchdog_thread.h
+@@ -198,7 +198,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread : publi
+ bool WithinOneMinFromPowerResumed();
+ bool WithinOneMinFromForegrounded();
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ void UpdateActiveTTY();
+ #endif
+ // The watchdog continues when it's not on the TTY of our host X11 server.
+@@ -270,7 +270,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread : publi
+ bool less_than_full_thread_time_after_capped_ = false;
+ #endif
+
+-#if defined(USE_X11)
++#if defined(USE_X11) && !defined(OS_BSD)
+ FILE* tty_file_ = nullptr;
+ int host_tty_ = -1;
+ int active_tty_ = -1;
diff --git a/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.cc
new file mode 100644
index 000000000000..2c80e581355e
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.cc
@@ -0,0 +1,56 @@
+--- gpu/vulkan/vulkan_function_pointers.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/vulkan/vulkan_function_pointers.cc
+@@ -890,7 +890,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ }
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ if (gfx::HasExtension(enabled_extensions,
+ VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) {
+ vkGetSemaphoreFdKHR = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(
+@@ -909,7 +909,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ return false;
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ if (gfx::HasExtension(enabled_extensions,
+@@ -934,7 +934,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ }
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ if (gfx::HasExtension(enabled_extensions,
+ VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) {
+ vkGetMemoryFdKHR = reinterpret_cast<PFN_vkGetMemoryFdKHR>(
+@@ -954,7 +954,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ return false;
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ if (gfx::HasExtension(enabled_extensions,
+@@ -1103,7 +1103,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ }
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (gfx::HasExtension(enabled_extensions,
+ VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) {
+ vkGetImageDrmFormatModifierPropertiesEXT =
+@@ -1116,7 +1116,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
+ return false;
+ }
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ return true;
+ }
diff --git a/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.h b/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.h
new file mode 100644
index 000000000000..446cad5ba2c2
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_vulkan_vulkan__function__pointers.h
@@ -0,0 +1,96 @@
+--- gpu/vulkan/vulkan_function_pointers.h.orig 2021-04-14 01:08:50 UTC
++++ gpu/vulkan/vulkan_function_pointers.h
+@@ -240,10 +240,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+ vkGetAndroidHardwareBufferPropertiesANDROID;
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ VulkanFunction<PFN_vkGetSemaphoreFdKHR> vkGetSemaphoreFdKHR;
+ VulkanFunction<PFN_vkImportSemaphoreFdKHR> vkImportSemaphoreFdKHR;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ VulkanFunction<PFN_vkGetSemaphoreWin32HandleKHR> vkGetSemaphoreWin32HandleKHR;
+@@ -251,10 +251,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+ vkImportSemaphoreWin32HandleKHR;
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ VulkanFunction<PFN_vkGetMemoryFdKHR> vkGetMemoryFdKHR;
+ VulkanFunction<PFN_vkGetMemoryFdPropertiesKHR> vkGetMemoryFdPropertiesKHR;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ VulkanFunction<PFN_vkGetMemoryWin32HandleKHR> vkGetMemoryWin32HandleKHR;
+@@ -291,10 +291,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers
+ VulkanFunction<PFN_vkGetSwapchainImagesKHR> vkGetSwapchainImagesKHR;
+ VulkanFunction<PFN_vkQueuePresentKHR> vkQueuePresentKHR;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ VulkanFunction<PFN_vkGetImageDrmFormatModifierPropertiesEXT>
+ vkGetImageDrmFormatModifierPropertiesEXT;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ };
+
+ } // namespace gpu
+@@ -985,7 +985,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope
+ }
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ ALWAYS_INLINE VkResult
+ vkGetSemaphoreFdKHR(VkDevice device,
+ const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
+@@ -999,7 +999,7 @@ ALWAYS_INLINE VkResult vkImportSemaphoreFdKHR(
+ return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHR(
+ device, pImportSemaphoreFdInfo);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ ALWAYS_INLINE VkResult vkGetSemaphoreWin32HandleKHR(
+@@ -1018,7 +1018,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device,
+ }
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ ALWAYS_INLINE VkResult vkGetMemoryFdKHR(VkDevice device,
+ const VkMemoryGetFdInfoKHR* pGetFdInfo,
+ int* pFd) {
+@@ -1033,7 +1033,7 @@ vkGetMemoryFdPropertiesKHR(VkDevice device,
+ return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHR(
+ device, handleType, fd, pMemoryFdProperties);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ ALWAYS_INLINE VkResult vkGetMemoryWin32HandleKHR(
+@@ -1113,7 +1113,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue
+ pPresentInfo);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT(
+ VkDevice device,
+ VkImage image,
+@@ -1121,6 +1121,6 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp
+ return gpu::GetVulkanFunctionPointers()
+ ->vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+-#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
+\ No newline at end of file
++#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_
diff --git a/devel/electron12/files/patch-gpu_vulkan_vulkan__image.cc b/devel/electron12/files/patch-gpu_vulkan_vulkan__image.cc
new file mode 100644
index 000000000000..3fa03a331ef6
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_vulkan_vulkan__image.cc
@@ -0,0 +1,11 @@
+--- gpu/vulkan/vulkan_image.cc.orig 2021-04-14 01:08:50 UTC
++++ gpu/vulkan/vulkan_image.cc
+@@ -320,7 +320,7 @@ bool VulkanImage::InitializeWithExternalMemory(
+ };
+ format_info_2.pNext = &external_info;
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ VkPhysicalDeviceImageDrmFormatModifierInfoEXT modifier_info = {
+ .sType =
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
diff --git a/devel/electron12/files/patch-gpu_vulkan_vulkan__image.h b/devel/electron12/files/patch-gpu_vulkan_vulkan__image.h
new file mode 100644
index 000000000000..642173d1b932
--- /dev/null
+++ b/devel/electron12/files/patch-gpu_vulkan_vulkan__image.h
@@ -0,0 +1,20 @@
+--- gpu/vulkan/vulkan_image.h.orig 2021-04-14 01:08:50 UTC
++++ gpu/vulkan/vulkan_image.h
+@@ -84,7 +84,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+ VkImageUsageFlags usage,
+ VkImageCreateFlags flags);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static std::unique_ptr<VulkanImage> CreateWithExternalMemoryAndModifiers(
+ VulkanDeviceQueue* device_queue,
+ const gfx::Size& size,
+@@ -166,7 +166,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage {
+ VkImageCreateFlags flags,
+ VkImageTiling image_tiling);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ bool InitializeWithExternalMemoryAndModifiers(VulkanDeviceQueue* device_queue,
+ const gfx::Size& size,
+ VkFormat format,
diff --git a/devel/electron12/files/patch-headless_BUILD.gn b/devel/electron12/files/patch-headless_BUILD.gn
new file mode 100644
index 000000000000..628a807e839c
--- /dev/null
+++ b/devel/electron12/files/patch-headless_BUILD.gn
@@ -0,0 +1,38 @@
+--- headless/BUILD.gn.orig 2021-04-14 01:08:50 UTC
++++ headless/BUILD.gn
+@@ -272,7 +272,7 @@ source_set("headless_shared_sources") {
+ sources += generated_devtools_api
+ sources += get_target_outputs(":protocol_sources")
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ sources += [
+ "lib/headless_crash_reporter_client.cc",
+ "lib/headless_crash_reporter_client.h",
+@@ -291,7 +291,7 @@ source_set("headless_shared_sources") {
+ "//url",
+ ]
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ deps += [ "//components/crash/content/browser" ]
+ }
+ if (is_component_build && is_win) {
+@@ -459,7 +459,7 @@ component("headless_non_renderer") {
+ "//v8",
+ ]
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ deps += [ "//components/crash/content/browser" ]
+ }
+ if (is_win) {
+@@ -772,7 +772,7 @@ static_library("headless_shell_lib") {
+ public_deps += [ ":headless_non_renderer" ]
+ }
+
+- if (!is_fuchsia) {
++ if (!is_fuchsia && !is_bsd) {
+ deps += [ "//components/crash/content/browser" ]
+ }
+
diff --git a/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts.h b/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts.h
new file mode 100644
index 000000000000..bf1d658b3638
--- /dev/null
+++ b/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts.h
@@ -0,0 +1,11 @@
+--- headless/lib/browser/headless_browser_main_parts.h.orig 2021-04-14 01:08:50 UTC
++++ headless/lib/browser/headless_browser_main_parts.h
+@@ -37,7 +37,7 @@ class HeadlessBrowserMainParts : public content::Brows
+ #if defined(OS_MAC)
+ void PreMainMessageLoopStart() override;
+ #endif
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void PostMainMessageLoopStart() override;
+ #endif
+ void QuitMainMessageLoop();
diff --git a/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc b/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
new file mode 100644
index 000000000000..09bd0a208dea
--- /dev/null
+++ b/devel/electron12/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc
@@ -0,0 +1,11 @@
+--- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2021-04-14 01:08:50 UTC
++++ headless/lib/browser/headless_browser_main_parts_linux.cc
+@@ -11,7 +11,7 @@
+ namespace headless {
+
+ void HeadlessBrowserMainParts::PostMainMessageLoopStart() {
+-#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH)
++#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD)
+ bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
+ #endif
+ }
diff --git a/devel/electron12/files/patch-headless_lib_browser_headless__content__browser__client.cc b/devel/electron12/files/patch-headless_lib_browser_headless__content__browser__client.cc
new file mode 100644
index 000000000000..013f5a223f95
--- /dev/null
+++ b/devel/electron12/files/patch-headless_lib_browser_headless__content__browser__client.cc
@@ -0,0 +1,11 @@
+--- headless/lib/browser/headless_content_browser_client.cc.orig 2021-04-14 01:08:50 UTC
++++ headless/lib/browser/headless_content_browser_client.cc
+@@ -278,7 +278,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL
+ process_type, child_process_id);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Processes may only query perf_event_open with the BPF sandbox disabled.
+ if (old_command_line.HasSwitch(::switches::kEnableThreadInstructionCount) &&
+ old_command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) {
diff --git a/devel/electron12/files/patch-headless_lib_browser_headless__request__context__manager.cc b/devel/electron12/files/patch-headless_lib_browser_headless__request__context__manager.cc
new file mode 100644
index 000000000000..24278279ab78
--- /dev/null
+++ b/devel/electron12/files/patch-headless_lib_browser_headless__request__context__manager.cc
@@ -0,0 +1,20 @@
+--- headless/lib/browser/headless_request_context_manager.cc.orig 2021-04-14 01:08:50 UTC
++++ headless/lib/browser/headless_request_context_manager.cc
+@@ -34,7 +34,7 @@ namespace {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ constexpr char kProductName[] = "HeadlessChrome";
+ #endif
+
+@@ -72,7 +72,7 @@ void SetCryptConfigOnce(const base::FilePath& user_dat
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ ::network::mojom::CryptConfigPtr config =
+ ::network::mojom::CryptConfig::New();
+ config->store = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
diff --git a/devel/electron12/files/patch-headless_lib_headless__content__main__delegate.cc b/devel/electron12/files/patch-headless_lib_headless__content__main__delegate.cc
new file mode 100644
index 000000000000..b9772a8d7d3c
--- /dev/null
+++ b/devel/electron12/files/patch-headless_lib_headless__content__main__delegate.cc
@@ -0,0 +1,20 @@
+--- headless/lib/headless_content_main_delegate.cc.orig 2021-04-14 01:08:50 UTC
++++ headless/lib/headless_content_main_delegate.cc
+@@ -326,7 +326,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
+ const base::CommandLine& command_line) {
+ if (command_line.HasSwitch(::switches::kDisableBreakpad))
+ return;
+-#if defined(OS_FUCHSIA)
++#if defined(OS_FUCHSIA) || defined(OS_BSD)
+ // TODO(fuchsia): Implement this when crash reporting/Breakpad are available
+ // in Fuchsia. (crbug.com/753619)
+ NOTIMPLEMENTED();
+@@ -355,7 +355,7 @@ void HeadlessContentMainDelegate::InitCrashReporter(
+ crash_reporter::InitializeCrashpadWithEmbeddedHandler(
+ process_type.empty(), process_type, "", base::FilePath());
+ #endif // defined(HEADLESS_USE_BREAKPAD)
+-#endif // defined(OS_FUCHSIA)
++#endif // defined(OS_FUCHSIA) || defined(OS_BSD)
+ }
+
+
diff --git a/devel/electron11/files/patch-headless_lib_headless__macros.h b/devel/electron12/files/patch-headless_lib_headless__macros.h
index 412d6641aed5..412d6641aed5 100644
--- a/devel/electron11/files/patch-headless_lib_headless__macros.h
+++ b/devel/electron12/files/patch-headless_lib_headless__macros.h
diff --git a/devel/electron11/files/patch-ipc_ipc__channel.h b/devel/electron12/files/patch-ipc_ipc__channel.h
index 7f6fb91fd31c..7f6fb91fd31c 100644
--- a/devel/electron11/files/patch-ipc_ipc__channel.h
+++ b/devel/electron12/files/patch-ipc_ipc__channel.h
diff --git a/devel/electron11/files/patch-ipc_ipc__channel__common.cc b/devel/electron12/files/patch-ipc_ipc__channel__common.cc
index b902580a4c46..b902580a4c46 100644
--- a/devel/electron11/files/patch-ipc_ipc__channel__common.cc
+++ b/devel/electron12/files/patch-ipc_ipc__channel__common.cc
diff --git a/devel/electron11/files/patch-ipc_ipc__channel__mojo.cc b/devel/electron12/files/patch-ipc_ipc__channel__mojo.cc
index c7fad02ef8f3..c7fad02ef8f3 100644
--- a/devel/electron11/files/patch-ipc_ipc__channel__mojo.cc
+++ b/devel/electron12/files/patch-ipc_ipc__channel__mojo.cc
diff --git a/devel/electron12/files/patch-ipc_ipc__message__utils.cc b/devel/electron12/files/patch-ipc_ipc__message__utils.cc
new file mode 100644
index 000000000000..8befc116f28c
--- /dev/null
+++ b/devel/electron12/files/patch-ipc_ipc__message__utils.cc
@@ -0,0 +1,11 @@
+--- ipc/ipc_message_utils.cc.orig 2021-04-14 01:08:51 UTC
++++ ipc/ipc_message_utils.cc
+@@ -357,7 +357,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
+ l->append(base::NumberToString(p));
+ }
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_FUCHSIA) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
+ void ParamTraits<long>::Log(const param_type& p, std::string* l) {
+ l->append(base::NumberToString(p));
diff --git a/devel/electron11/files/patch-ipc_ipc__message__utils.h b/devel/electron12/files/patch-ipc_ipc__message__utils.h
index 8eef77f0ec97..8eef77f0ec97 100644
--- a/devel/electron11/files/patch-ipc_ipc__message__utils.h
+++ b/devel/electron12/files/patch-ipc_ipc__message__utils.h
diff --git a/devel/electron12/files/patch-media_BUILD.gn b/devel/electron12/files/patch-media_BUILD.gn
new file mode 100644
index 000000000000..858a4c9688b8
--- /dev/null
+++ b/devel/electron12/files/patch-media_BUILD.gn
@@ -0,0 +1,12 @@
+--- media/BUILD.gn.orig 2021-04-14 01:08:51 UTC
++++ media/BUILD.gn
+@@ -66,6 +66,9 @@ config("media_config") {
+ defines += [ "DLOPEN_PULSEAUDIO" ]
+ }
+ }
++ if (use_sndio) {
++ defines += [ "USE_SNDIO" ]
++ }
+ if (use_cras) {
+ defines += [ "USE_CRAS" ]
+ }
diff --git a/devel/electron12/files/patch-media_audio_BUILD.gn b/devel/electron12/files/patch-media_audio_BUILD.gn
new file mode 100644
index 000000000000..14141edadeb0
--- /dev/null
+++ b/devel/electron12/files/patch-media_audio_BUILD.gn
@@ -0,0 +1,29 @@
+--- media/audio/BUILD.gn.orig 2021-04-22 07:51:50 UTC
++++ media/audio/BUILD.gn
+@@ -244,7 +244,7 @@ source_set("audio") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !use_sndio) {
+ sources += [ "linux/audio_manager_linux.cc" ]
+ }
+
+@@ -309,6 +309,17 @@ source_set("audio") {
+ } else {
+ deps += [ ":libpulse_stubs" ]
+ }
++ }
++
++ if (use_sndio) {
++ libs += [ "sndio" ]
++ sources += [
++ "openbsd/audio_manager_openbsd.cc",
++ "sndio/sndio_input.cc",
++ "sndio/sndio_input.h",
++ "sndio/sndio_output.cc",
++ "sndio/sndio_output.h",
++ ]
+ }
+
+ if (is_fuchsia) {
diff --git a/devel/electron11/files/patch-media_audio_alsa_audio__manager__alsa.cc b/devel/electron12/files/patch-media_audio_alsa_audio__manager__alsa.cc
index 88f439b83a20..88f439b83a20 100644
--- a/devel/electron11/files/patch-media_audio_alsa_audio__manager__alsa.cc
+++ b/devel/electron12/files/patch-media_audio_alsa_audio__manager__alsa.cc
diff --git a/devel/electron12/files/patch-media_audio_audio__features.cc b/devel/electron12/files/patch-media_audio_audio__features.cc
new file mode 100644
index 000000000000..a06f27cbe994
--- /dev/null
+++ b/devel/electron12/files/patch-media_audio_audio__features.cc
@@ -0,0 +1,11 @@
+--- media/audio/audio_features.cc.orig 2021-04-14 01:08:51 UTC
++++ media/audio/audio_features.cc
+@@ -12,7 +12,7 @@ namespace features {
+ // detected. It will be restarted when needed.
+ const base::Feature kAudioServiceOutOfProcessKillAtHang{
+ "AudioServiceOutOfProcessKillAtHang",
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron11/files/patch-media_audio_audio__input__device.cc b/devel/electron12/files/patch-media_audio_audio__input__device.cc
index 8c8843cddba8..8c8843cddba8 100644
--- a/devel/electron11/files/patch-media_audio_audio__input__device.cc
+++ b/devel/electron12/files/patch-media_audio_audio__input__device.cc
diff --git a/devel/electron11/files/patch-media_audio_audio__manager.cc b/devel/electron12/files/patch-media_audio_audio__manager.cc
index 4ec373a28cb0..4ec373a28cb0 100644
--- a/devel/electron11/files/patch-media_audio_audio__manager.cc
+++ b/devel/electron12/files/patch-media_audio_audio__manager.cc
diff --git a/devel/electron11/files/patch-media_audio_audio__manager.h b/devel/electron12/files/patch-media_audio_audio__manager.h
index bce7d8b388d4..bce7d8b388d4 100644
--- a/devel/electron11/files/patch-media_audio_audio__manager.h
+++ b/devel/electron12/files/patch-media_audio_audio__manager.h
diff --git a/devel/electron11/files/patch-media_audio_audio__output__proxy__unittest.cc b/devel/electron12/files/patch-media_audio_audio__output__proxy__unittest.cc
index df8a21e8961b..df8a21e8961b 100644
--- a/devel/electron11/files/patch-media_audio_audio__output__proxy__unittest.cc
+++ b/devel/electron12/files/patch-media_audio_audio__output__proxy__unittest.cc
diff --git a/devel/electron12/files/patch-media_base_audio__latency.cc b/devel/electron12/files/patch-media_base_audio__latency.cc
new file mode 100644
index 000000000000..105e029cb7aa
--- /dev/null
+++ b/devel/electron12/files/patch-media_base_audio__latency.cc
@@ -0,0 +1,11 @@
+--- media/base/audio_latency.cc.orig 2021-04-14 01:08:51 UTC
++++ media/base/audio_latency.cc
+@@ -114,7 +114,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
+ return frames_per_buffer;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_FUCHSIA)
+ // On Linux, MacOS and Fuchsia, the low level IO implementations on the
+ // browser side supports all buffer size the clients want. We use the native
diff --git a/devel/electron12/files/patch-media_base_media__switches.cc b/devel/electron12/files/patch-media_base_media__switches.cc
new file mode 100644
index 000000000000..c13f5e27e308
--- /dev/null
+++ b/devel/electron12/files/patch-media_base_media__switches.cc
@@ -0,0 +1,20 @@
+--- media/base/media_switches.cc.orig 2021-04-14 01:08:51 UTC
++++ media/base/media_switches.cc
+@@ -370,7 +370,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode
+ // Show toolbar button that opens dialog for controlling media sessions.
+ const base::Feature kGlobalMediaControls {
+ "GlobalMediaControls",
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS_LACROS)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+@@ -412,7 +412,7 @@ const base::Feature kGlobalMediaControlsOverlayControl
+ // Show picture-in-picture button in Global Media Controls.
+ const base::Feature kGlobalMediaControlsPictureInPicture {
+ "GlobalMediaControlsPictureInPicture",
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS_LACROS)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron11/files/patch-media_base_scopedfd__helper.h b/devel/electron12/files/patch-media_base_scopedfd__helper.h
index 82c04d05372f..82c04d05372f 100644
--- a/devel/electron11/files/patch-media_base_scopedfd__helper.h
+++ b/devel/electron12/files/patch-media_base_scopedfd__helper.h
diff --git a/devel/electron12/files/patch-media_base_vector__math.cc b/devel/electron12/files/patch-media_base_vector__math.cc
new file mode 100644
index 000000000000..495d201fac2d
--- /dev/null
+++ b/devel/electron12/files/patch-media_base_vector__math.cc
@@ -0,0 +1,11 @@
+--- media/base/vector_math.cc.orig 2021-04-14 01:08:51 UTC
++++ media/base/vector_math.cc
+@@ -18,7 +18,7 @@
+ // better, which is anywhere clang is used.
+ // TODO(pcc): Linux currently uses ThinLTO which has broken auto-vectorization
+ // in clang, so use our intrinsic version for now. http://crbug.com/738085
+-#if !defined(__clang__) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if !defined(__clang__) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define FMAC_FUNC FMAC_SSE
+ #define FMUL_FUNC FMUL_SSE
+ #else
diff --git a/devel/electron12/files/patch-media_base_video__frame.cc b/devel/electron12/files/patch-media_base_video__frame.cc
new file mode 100644
index 000000000000..778313fb3f89
--- /dev/null
+++ b/devel/electron12/files/patch-media_base_video__frame.cc
@@ -0,0 +1,83 @@
+--- media/base/video_frame.cc.orig 2021-04-14 01:08:51 UTC
++++ media/base/video_frame.cc
+@@ -60,7 +60,7 @@ std::string VideoFrame::StorageTypeToString(
+ return "OWNED_MEMORY";
+ case VideoFrame::STORAGE_SHMEM:
+ return "SHMEM";
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ case VideoFrame::STORAGE_DMABUFS:
+ return "DMABUFS";
+ #endif
+@@ -77,7 +77,7 @@ std::string VideoFrame::StorageTypeToString(
+ // static
+ bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
+ return
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // This is not strictly needed but makes explicit that, at VideoFrame
+ // level, DmaBufs are not mappable from userspace.
+ storage_type != VideoFrame::STORAGE_DMABUFS &&
+@@ -263,7 +263,7 @@ static base::Optional<VideoFrameLayout> GetDefaultLayo
+ return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and
+ // thus to have several VideoFrames share the same set of DMABUF FDs.
+ class VideoFrame::DmabufHolder
+@@ -281,7 +281,7 @@ class VideoFrame::DmabufHolder
+ friend class base::RefCountedThreadSafe<DmabufHolder>;
+ ~DmabufHolder() = default;
+ };
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // static
+ bool VideoFrame::IsValidConfig(VideoPixelFormat format,
+@@ -613,7 +613,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+ for (size_t i = 0; i < num_planes; ++i)
+ planes[i].stride = gpu_memory_buffer->stride(i);
+ uint64_t modifier = gfx::NativePixmapHandle::kNoModifier;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) {
+ const auto gmb_handle = gpu_memory_buffer->CloneHandle();
+ if (gmb_handle.is_null() ||
+@@ -658,7 +658,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
+ return frame;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // static
+ scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
+ const VideoFrameLayout& layout,
+@@ -859,7 +859,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
+ }
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ DCHECK(frame->dmabuf_fds_);
+ // If there are any |dmabuf_fds_| plugged in, we should refer them too.
+ wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_;
+@@ -1199,7 +1199,7 @@ VideoFrame::mailbox_holder(size_t texture_index) const
+ : mailbox_holders_[texture_index];
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
+ DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
+
+@@ -1284,7 +1284,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout,
+ storage_type_(storage_type),
+ visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))),
+ natural_size_(natural_size),
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
+ #endif
+ timestamp_(timestamp),
diff --git a/devel/electron12/files/patch-media_base_video__frame.h b/devel/electron12/files/patch-media_base_video__frame.h
new file mode 100644
index 000000000000..ce671aeafb06
--- /dev/null
+++ b/devel/electron12/files/patch-media_base_video__frame.h
@@ -0,0 +1,50 @@
+--- media/base/video_frame.h.orig 2021-04-14 01:08:51 UTC
++++ media/base/video_frame.h
+@@ -40,9 +40,9 @@
+ #include "base/mac/scoped_cftyperef.h"
+ #endif // defined(OS_MAC)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/files/scoped_file.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ namespace gfx {
+ class GpuMemoryBuffer;
+@@ -82,7 +82,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers.
+ STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer.
+ STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // TODO(mcasas): Consider turning this type into STORAGE_NATIVE
+ // based on the idea of using this same enum value for both DMA
+ // buffers on Linux and CVPixelBuffers on Mac (which currently use
+@@ -259,7 +259,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ ReleaseMailboxCB mailbox_holder_release_cb,
+ base::TimeDelta timestamp);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Wraps provided dmabufs
+ // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a
+ // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will
+@@ -509,7 +509,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ // mailbox, the caller must wait for the included sync point.
+ const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Returns a vector containing the backing DmaBufs for this frame. The number
+ // of returned DmaBufs will be equal or less than the number of planes of
+ // the frame. If there are less, this means that the last FD contains the
+@@ -693,7 +693,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
+ // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER.
+ std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ class DmabufHolder;
+
+ // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either
diff --git a/devel/electron12/files/patch-media_capture_video_create__video__capture__device__factory.cc b/devel/electron12/files/patch-media_capture_video_create__video__capture__device__factory.cc
new file mode 100644
index 000000000000..15124129c9e0
--- /dev/null
+++ b/devel/electron12/files/patch-media_capture_video_create__video__capture__device__factory.cc
@@ -0,0 +1,20 @@
+--- media/capture/video/create_video_capture_device_factory.cc.orig 2021-04-14 01:08:51 UTC
++++ media/capture/video/create_video_capture_device_factory.cc
+@@ -11,7 +11,7 @@
+ #include "media/capture/video/fake_video_capture_device_factory.h"
+ #include "media/capture/video/file_video_capture_device_factory.h"
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "media/capture/video/linux/video_capture_device_factory_linux.h"
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ #include "media/capture/video/chromeos/public/cros_features.h"
+@@ -80,7 +80,7 @@ CreateChromeOSVideoCaptureDeviceFactory(
+ std::unique_ptr<VideoCaptureDeviceFactory>
+ CreatePlatformSpecificVideoCaptureDeviceFactory(
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner);
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ return CreateChromeOSVideoCaptureDeviceFactory(ui_task_runner);
diff --git a/devel/electron11/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/devel/electron12/files/patch-media_capture_video_fake__video__capture__device__factory.cc
index 2ffd74960da8..2ffd74960da8 100644
--- a/devel/electron11/files/patch-media_capture_video_fake__video__capture__device__factory.cc
+++ b/devel/electron12/files/patch-media_capture_video_fake__video__capture__device__factory.cc
diff --git a/devel/electron11/files/patch-media_capture_video_file__video__capture__device__factory.cc b/devel/electron12/files/patch-media_capture_video_file__video__capture__device__factory.cc
index 19149a671481..19149a671481 100644
--- a/devel/electron11/files/patch-media_capture_video_file__video__capture__device__factory.cc
+++ b/devel/electron12/files/patch-media_capture_video_file__video__capture__device__factory.cc
diff --git a/devel/electron11/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/devel/electron12/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
index 4e24b74586ac..4e24b74586ac 100644
--- a/devel/electron11/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
+++ b/devel/electron12/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
diff --git a/devel/electron11/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc b/devel/electron12/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
index aca236edfa87..aca236edfa87 100644
--- a/devel/electron11/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
+++ b/devel/electron12/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
diff --git a/devel/electron12/files/patch-media_capture_video_video__capture__device__client.cc b/devel/electron12/files/patch-media_capture_video_video__capture__device__client.cc
new file mode 100644
index 000000000000..5bba3884f78b
--- /dev/null
+++ b/devel/electron12/files/patch-media_capture_video_video__capture__device__client.cc
@@ -0,0 +1,11 @@
+--- media/capture/video/video_capture_device_client.cc.orig 2021-04-14 01:08:51 UTC
++++ media/capture/video/video_capture_device_client.cc
+@@ -319,7 +319,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData(
+ // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html.
+ // Windows RGB24 defines blue at lowest byte,
+ // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ fourcc_format = libyuv::FOURCC_RAW;
+ #elif defined(OS_WIN)
+ fourcc_format = libyuv::FOURCC_24BG;
diff --git a/devel/electron11/files/patch-media_filters_vp9__parser.h b/devel/electron12/files/patch-media_filters_vp9__parser.h
index dcb4f9f2ff5d..dcb4f9f2ff5d 100644
--- a/devel/electron11/files/patch-media_filters_vp9__parser.h
+++ b/devel/electron12/files/patch-media_filters_vp9__parser.h
diff --git a/devel/electron11/files/patch-media_formats_common_offset__byte__queue.cc b/devel/electron12/files/patch-media_formats_common_offset__byte__queue.cc
index 76e896a783cf..76e896a783cf 100644
--- a/devel/electron11/files/patch-media_formats_common_offset__byte__queue.cc
+++ b/devel/electron12/files/patch-media_formats_common_offset__byte__queue.cc
diff --git a/devel/electron11/files/patch-media_formats_common_offset__byte__queue.h b/devel/electron12/files/patch-media_formats_common_offset__byte__queue.h
index 75e51f6dfef0..75e51f6dfef0 100644
--- a/devel/electron11/files/patch-media_formats_common_offset__byte__queue.h
+++ b/devel/electron12/files/patch-media_formats_common_offset__byte__queue.h
diff --git a/devel/electron11/files/patch-media_formats_mp2t_es__parser__adts.cc b/devel/electron12/files/patch-media_formats_mp2t_es__parser__adts.cc
index 5db3a223488f..5db3a223488f 100644
--- a/devel/electron11/files/patch-media_formats_mp2t_es__parser__adts.cc
+++ b/devel/electron12/files/patch-media_formats_mp2t_es__parser__adts.cc
diff --git a/devel/electron12/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/devel/electron12/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
new file mode 100644
index 000000000000..1890b27d4fee
--- /dev/null
+++ b/devel/electron12/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
@@ -0,0 +1,26 @@
+--- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2021-04-14 01:08:51 UTC
++++ media/formats/mp2t/es_parser_mpeg1audio.cc
+@@ -108,11 +108,11 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
+ const uint8_t* es;
+ es_queue_->Peek(&es, &es_size);
+
+- int max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
+- if (max_offset <= 0)
++ int _max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize;
++ if (_max_offset <= 0)
+ return false;
+
+- for (int offset = 0; offset < max_offset; offset++) {
++ for (int offset = 0; offset < _max_offset; offset++) {
+ const uint8_t* cur_buf = &es[offset];
+ if (cur_buf[0] != 0xff)
+ continue;
+@@ -155,7 +155,7 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame(
+ return true;
+ }
+
+- es_queue_->Pop(max_offset);
++ es_queue_->Pop(_max_offset);
+ return false;
+ }
+
diff --git a/devel/electron11/files/patch-media_gpu_buffer__validation.cc b/devel/electron12/files/patch-media_gpu_buffer__validation.cc
index 2ddd38abf315..2ddd38abf315 100644
--- a/devel/electron11/files/patch-media_gpu_buffer__validation.cc
+++ b/devel/electron12/files/patch-media_gpu_buffer__validation.cc
diff --git a/devel/electron12/files/patch-media_media__options.gni b/devel/electron12/files/patch-media_media__options.gni
new file mode 100644
index 000000000000..51ed5c981f7b
--- /dev/null
+++ b/devel/electron12/files/patch-media_media__options.gni
@@ -0,0 +1,12 @@
+--- media/media_options.gni.orig 2021-04-14 01:08:51 UTC
++++ media/media_options.gni
+@@ -125,6 +125,9 @@ declare_args() {
+ # Enables runtime selection of ALSA library for audio.
+ use_alsa = false
+
++ # Enable runtime selection of sndio(7)
++ use_sndio = false
++
+ # Alsa should be used on non-Android, non-Mac POSIX systems.
+ # Alsa should be used on desktop Chromecast and audio-only Chromecast builds.
+ if (is_posix && !is_android && !is_mac &&
diff --git a/devel/electron11/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc b/devel/electron12/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc
index d9f15efb18f3..d9f15efb18f3 100644
--- a/devel/electron11/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc
+++ b/devel/electron12/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc
diff --git a/devel/electron12/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/devel/electron12/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
new file mode 100644
index 000000000000..81221890dd29
--- /dev/null
+++ b/devel/electron12/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
@@ -0,0 +1,32 @@
+--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2021-04-14 01:08:51 UTC
++++ media/mojo/mojom/video_frame_mojom_traits.cc
+@@ -21,9 +21,9 @@
+ #include "ui/gfx/mojom/color_space_mojom_traits.h"
+ #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "base/posix/eintr_wrapper.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ namespace mojo {
+
+@@ -63,7 +63,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData(
+ std::move(offsets)));
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) {
+ std::vector<mojo::PlatformHandle> dmabuf_fds;
+
+@@ -166,7 +166,7 @@ bool StructTraits<media::mojom::VideoFrameDataView,
+ shared_buffer_data.TakeFrameData(),
+ shared_buffer_data.frame_data_size(), std::move(offsets),
+ std::move(strides), timestamp);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ } else if (data.is_dmabuf_data()) {
+ media::mojom::DmabufVideoFrameDataDataView dmabuf_data;
+ data.GetDmabufDataDataView(&dmabuf_data);
diff --git a/devel/electron12/files/patch-media_mojo_services_gpu__mojo__media__client.cc b/devel/electron12/files/patch-media_mojo_services_gpu__mojo__media__client.cc
new file mode 100644
index 000000000000..c0155b2fec2e
--- /dev/null
+++ b/devel/electron12/files/patch-media_mojo_services_gpu__mojo__media__client.cc
@@ -0,0 +1,20 @@
+--- media/mojo/services/gpu_mojo_media_client.cc.orig 2021-04-14 01:08:51 UTC
++++ media/mojo/services/gpu_mojo_media_client.cc
+@@ -67,7 +67,7 @@ namespace media {
+ namespace {
+
+ #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
+- defined(OS_WIN) || defined(OS_LINUX)
++ defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
+ gpu::CommandBufferStub* GetCommandBufferStub(
+ scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner,
+ base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
+@@ -289,7 +289,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::Crea
+ command_buffer_id->route_id));
+ }
+
+-#elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \
++#elif defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ #if defined(OS_WIN)
+ // Don't instantiate the DXVA decoder if it's not supported.
diff --git a/devel/electron11/files/patch-media_video_fake__gpu__memory__buffer.cc b/devel/electron12/files/patch-media_video_fake__gpu__memory__buffer.cc
index b7e5ec7bd541..b7e5ec7bd541 100644
--- a/devel/electron11/files/patch-media_video_fake__gpu__memory__buffer.cc
+++ b/devel/electron12/files/patch-media_video_fake__gpu__memory__buffer.cc
diff --git a/devel/electron12/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/devel/electron12/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
new file mode 100644
index 000000000000..8ab3b42cf865
--- /dev/null
+++ b/devel/electron12/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
@@ -0,0 +1,11 @@
+--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2021-04-14 01:08:52 UTC
++++ media/video/gpu_memory_buffer_video_frame_pool.cc
+@@ -649,7 +649,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
+ }
+
+ bool is_software_backed_video_frame = !video_frame->HasTextures();
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ is_software_backed_video_frame &= !video_frame->HasDmaBufs();
+ #endif
+
diff --git a/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter.cc b/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter.cc
new file mode 100644
index 000000000000..ab84540d8191
--- /dev/null
+++ b/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter.cc
@@ -0,0 +1,20 @@
+--- media/video/video_encode_accelerator_adapter.cc.orig 2021-04-14 01:08:52 UTC
++++ media/video/video_encode_accelerator_adapter.cc
+@@ -50,7 +50,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig(
+ if (is_rgb)
+ config.input_format = PIXEL_FORMAT_I420;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (storage_type == VideoFrame::STORAGE_DMABUFS ||
+ storage_type == VideoFrame::STORAGE_GPU_MEMORY_BUFFER) {
+ if (is_rgb)
+@@ -253,7 +253,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal
+ auto vea_config =
+ SetUpVeaConfig(profile_, options_, format, first_frame->storage_type());
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Linux/ChromeOS require a special configuration to use dmabuf storage.
+ // We need to keep sending frames the same way the first frame was sent.
+ // Other platforms will happily mix GpuMemoryBuffer storage with regular
diff --git a/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter__test.cc
new file mode 100644
index 000000000000..7e92173d3930
--- /dev/null
+++ b/devel/electron12/files/patch-media_video_video__encode__accelerator__adapter__test.cc
@@ -0,0 +1,11 @@
+--- media/video/video_encode_accelerator_adapter_test.cc.orig 2021-04-14 01:08:52 UTC
++++ media/video/video_encode_accelerator_adapter_test.cc
+@@ -285,7 +285,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes
+
+ vea()->SetEncodingCallback(base::BindLambdaForTesting(
+ [&](BitstreamBuffer&, bool keyframe, scoped_refptr<VideoFrame> frame) {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ EXPECT_EQ(frame->format(),
+ IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420);
+ #else
diff --git a/devel/electron11/files/patch-mojo_public_c_system_thunks.cc b/devel/electron12/files/patch-mojo_public_c_system_thunks.cc
index 93e18d477750..93e18d477750 100644
--- a/devel/electron11/files/patch-mojo_public_c_system_thunks.cc
+++ b/devel/electron12/files/patch-mojo_public_c_system_thunks.cc
diff --git a/devel/electron12/files/patch-mojo_public_js_mojo__bindings__resources.grd b/devel/electron12/files/patch-mojo_public_js_mojo__bindings__resources.grd
new file mode 100644
index 000000000000..60e44e730342
--- /dev/null
+++ b/devel/electron12/files/patch-mojo_public_js_mojo__bindings__resources.grd
@@ -0,0 +1,11 @@
+--- mojo/public/js/mojo_bindings_resources.grd.orig 2021-04-14 01:08:52 UTC
++++ mojo/public/js/mojo_bindings_resources.grd
+@@ -85,7 +85,7 @@
+ use_base_dir="false"
+ resource_path="mojo/mojo/public/mojom/base/unguessable_token.mojom-webui.js"
+ type="BINDATA" />
+- <if expr="is_win or is_macosx or is_linux or is_android">
++ <if expr="is_win or is_macosx or is_posix or is_android">
+ <include name="IDR_MOJO_PROCESS_ID_MOJOM_WEBUI_JS"
+ file="${root_gen_dir}/mojom-webui/mojo/public/mojom/base/process_id.mojom-webui.js"
+ use_base_dir="false"
diff --git a/devel/electron12/files/patch-net_BUILD.gn b/devel/electron12/files/patch-net_BUILD.gn
new file mode 100644
index 000000000000..4495600775dd
--- /dev/null
+++ b/devel/electron12/files/patch-net_BUILD.gn
@@ -0,0 +1,55 @@
+--- net/BUILD.gn.orig 2021-04-14 01:08:52 UTC
++++ net/BUILD.gn
+@@ -100,7 +100,7 @@ net_configs = [
+ "//build/config/compiler:wexit_time_destructors",
+ ]
+
+-if (is_linux || is_chromeos) {
++if ((is_linux || is_chromeos) && !is_bsd) {
+ net_configs += [ "//build/config/linux:libresolv" ]
+ }
+
+@@ -1252,6 +1252,16 @@ component("net") {
+ ]
+ }
+
++ if (is_bsd) {
++ sources -= [
++ "base/address_tracker_linux.cc",
++ "base/address_tracker_linux.h",
++ "base/network_change_notifier_linux.cc",
++ "base/network_change_notifier_linux.h",
++ "base/network_interfaces_linux.cc"
++ ]
++ }
++
+ if (is_mac) {
+ sources += [
+ "base/network_notification_thread_mac.cc",
+@@ -1388,7 +1398,7 @@ component("net") {
+ }
+ }
+
+- if (is_android || is_chromeos_ash) {
++ if (is_android || is_chromeos_ash || is_bsd) {
+ sources += [
+ "base/network_change_notifier_posix.cc",
+ "base/network_change_notifier_posix.h",
+@@ -1421,7 +1431,7 @@ component("net") {
+ }
+
+ # Use getifaddrs() on POSIX platforms, except Linux.
+- if (is_posix && !is_linux && !is_chromeos) {
++ if ((is_posix && !is_linux && !is_chromeos) || is_bsd) {
+ sources += [
+ "base/network_interfaces_getifaddrs.cc",
+ "base/network_interfaces_getifaddrs.h",
+@@ -4755,7 +4765,7 @@ test("net_unittests") {
+ }
+
+ # Use getifaddrs() on POSIX platforms, except Linux and Android.
+- if (is_posix && !is_linux && !is_chromeos && !is_android) {
++ if ((is_posix && !is_linux && !is_chromeos && !is_android) || is_bsd) {
+ sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ]
+ }
+
diff --git a/devel/electron12/files/patch-net_base_address__tracker__linux.cc b/devel/electron12/files/patch-net_base_address__tracker__linux.cc
new file mode 100644
index 000000000000..833971ec1a4a
--- /dev/null
+++ b/devel/electron12/files/patch-net_base_address__tracker__linux.cc
@@ -0,0 +1,83 @@
+--- net/base/address_tracker_linux.cc.orig 2021-04-14 01:08:52 UTC
++++ net/base/address_tracker_linux.cc
+@@ -5,7 +5,9 @@
+ #include "net/base/address_tracker_linux.h"
+
+ #include <errno.h>
++#if !defined(OS_BSD)
+ #include <linux/if.h>
++#endif
+ #include <stdint.h>
+ #include <sys/ioctl.h>
+ #include <utility>
+@@ -190,6 +192,7 @@ void AddressTrackerLinux::Init() {
+ DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(),
+ base::android::SDK_VERSION_P);
+ #endif
++#if !defined(OS_FREEBSD)
+ netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE));
+ if (!netlink_fd_.is_valid()) {
+ PLOG(ERROR) << "Could not create NETLINK socket";
+@@ -274,6 +277,10 @@ void AddressTrackerLinux::Init() {
+ base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking,
+ base::Unretained(this)));
+ }
++#else // !OS_FREEBSD
++ NOTIMPLEMENTED();
++ AbortAndForceOnline();
++#endif // !OS_FREEBSD
+ }
+
+ void AddressTrackerLinux::AbortAndForceOnline() {
+@@ -285,6 +292,7 @@ void AddressTrackerLinux::AbortAndForceOnline() {
+ connection_type_initialized_cv_.Broadcast();
+ }
+
++#if !defined(OS_BSD)
+ AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const {
+ AddressTrackerAutoLock lock(*this, address_map_lock_);
+ return address_map_;
+@@ -303,6 +311,7 @@ bool AddressTrackerLinux::IsInterfaceIgnored(int inter
+ const char* interface_name = get_interface_name_(interface_index, buf);
+ return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end();
+ }
++#endif // !OS_BSD
+
+ NetworkChangeNotifier::ConnectionType
+ AddressTrackerLinux::GetCurrentConnectionType() {
+@@ -361,6 +370,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu
+ bool* address_changed,
+ bool* link_changed,
+ bool* tunnel_changed) {
++#if !defined(OS_FREEBSD)
+ DCHECK(buffer);
+ // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes
+ // remaining in |buffer|.
+@@ -473,6 +483,9 @@ void AddressTrackerLinux::HandleMessage(const char* bu
+ break;
+ }
+ }
++#else // !OS_FREEBSD
++ NOTIMPLEMENTED();
++#endif // !OS_FREEBSD
+ }
+
+ void AddressTrackerLinux::OnFileCanReadWithoutBlocking() {
+@@ -500,6 +513,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
+ }
+
+ void AddressTrackerLinux::UpdateCurrentConnectionType() {
++#if !defined(OS_FREEBSD)
+ AddressTrackerLinux::AddressMap address_map = GetAddressMap();
+ std::unordered_set<int> online_links = GetOnlineLinks();
+
+@@ -525,6 +539,9 @@ void AddressTrackerLinux::UpdateCurrentConnectionType(
+
+ AddressTrackerAutoLock lock(*this, connection_type_lock_);
+ current_connection_type_ = type;
++#else
++ NOTIMPLEMENTED();
++#endif
+ }
+
+ int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() {
diff --git a/devel/electron11/files/patch-net_base_address__tracker__linux.h b/devel/electron12/files/patch-net_base_address__tracker__linux.h
index 7bce12ee945f..7bce12ee945f 100644
--- a/devel/electron11/files/patch-net_base_address__tracker__linux.h
+++ b/devel/electron12/files/patch-net_base_address__tracker__linux.h
diff --git a/devel/electron11/files/patch-net_base_address__tracker__linux__unittest.cc b/devel/electron12/files/patch-net_base_address__tracker__linux__unittest.cc
index 7b5e49d21400..7b5e49d21400 100644
--- a/devel/electron11/files/patch-net_base_address__tracker__linux__unittest.cc
+++ b/devel/electron12/files/patch-net_base_address__tracker__linux__unittest.cc
diff --git a/devel/electron12/files/patch-net_base_network__change__notifier.cc b/devel/electron12/files/patch-net_base_network__change__notifier.cc
new file mode 100644
index 000000000000..f8dc53ace48b
--- /dev/null
+++ b/devel/electron12/files/patch-net_base_network__change__notifier.cc
@@ -0,0 +1,20 @@
+--- net/base/network_change_notifier.cc.orig 2021-04-14 01:08:52 UTC
++++ net/base/network_change_notifier.cc
+@@ -38,7 +38,7 @@
+ #include "net/base/network_change_notifier_linux.h"
+ #elif defined(OS_APPLE)
+ #include "net/base/network_change_notifier_mac.h"
+-#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_ANDROID)
++#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include "net/base/network_change_notifier_posix.h"
+ #elif defined(OS_FUCHSIA)
+ #include "net/base/network_change_notifier_fuchsia.h"
+@@ -241,7 +241,7 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
+ // service in a separate process.
+ return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
+ initial_subtype);
+-#elif BUILDFLAG(IS_CHROMEOS_ASH)
++#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
+ return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
+ initial_subtype);
+ #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
diff --git a/devel/electron12/files/patch-net_base_network__change__notifier__posix.cc b/devel/electron12/files/patch-net_base_network__change__notifier__posix.cc
new file mode 100644
index 000000000000..71e5800aa660
--- /dev/null
+++ b/devel/electron12/files/patch-net_base_network__change__notifier__posix.cc
@@ -0,0 +1,11 @@
+--- net/base/network_change_notifier_posix.cc.orig 2021-04-14 01:08:52 UTC
++++ net/base/network_change_notifier_posix.cc
+@@ -93,7 +93,7 @@ void NetworkChangeNotifierPosix::GetCurrentMaxBandwidt
+ NetworkChangeNotifier::NetworkChangeCalculatorParams
+ NetworkChangeNotifierPosix::NetworkChangeCalculatorParamsPosix() {
+ NetworkChangeCalculatorParams params;
+-#if BUILDFLAG(IS_CHROMEOS_ASH)
++#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD)
+ // Delay values arrived at by simple experimentation and adjusted so as to
+ // produce a single signal when switching between network connections.
+ params.ip_address_offline_delay_ = base::TimeDelta::FromMilliseconds(4000);
diff --git a/devel/electron12/files/patch-net_base_network__interfaces__posix.cc b/devel/electron12/files/patch-net_base_network__interfaces__posix.cc
new file mode 100644
index 000000000000..7e9828361f11
--- /dev/null
+++ b/devel/electron12/files/patch-net_base_network__interfaces__posix.cc
@@ -0,0 +1,17 @@
+--- net/base/network_interfaces_posix.cc.orig 2021-04-14 01:08:52 UTC
++++ net/base/network_interfaces_posix.cc
+@@ -4,8 +4,14 @@
+
+ #include "net/base/network_interfaces_posix.h"
+
++#include "build/build_config.h"
++
+ #include <netinet/in.h>
+ #include <sys/types.h>
++
++#if defined(OS_BSD)
++#include <sys/socket.h>
++#endif
+
+ #include <memory>
+ #include <set>
diff --git a/devel/electron11/files/patch-net_cert_cert__verifier.cc b/devel/electron12/files/patch-net_cert_cert__verifier.cc
index 53c25ed64482..53c25ed64482 100644
--- a/devel/electron11/files/patch-net_cert_cert__verifier.cc
+++ b/devel/electron12/files/patch-net_cert_cert__verifier.cc
diff --git a/devel/electron11/files/patch-net_cert_cert__verify__proc.cc b/devel/electron12/files/patch-net_cert_cert__verify__proc.cc
index 65ef18708d22..65ef18708d22 100644
--- a/devel/electron11/files/patch-net_cert_cert__verify__proc.cc
+++ b/devel/electron12/files/patch-net_cert_cert__verify__proc.cc
diff --git a/devel/electron11/files/patch-net_cert_cert__verify__proc.h b/devel/electron12/files/patch-net_cert_cert__verify__proc.h
index 280c627eb575..280c627eb575 100644
--- a/devel/electron11/files/patch-net_cert_cert__verify__proc.h
+++ b/devel/electron12/files/patch-net_cert_cert__verify__proc.h
diff --git a/devel/electron11/files/patch-net_cert_test__root__certs.h b/devel/electron12/files/patch-net_cert_test__root__certs.h
index 849ca42d0274..849ca42d0274 100644
--- a/devel/electron11/files/patch-net_cert_test__root__certs.h
+++ b/devel/electron12/files/patch-net_cert_test__root__certs.h
diff --git a/devel/electron11/files/patch-net_disk__cache_blockfile_disk__format.h b/devel/electron12/files/patch-net_disk__cache_blockfile_disk__format.h
index ff58b0c9fc50..ff58b0c9fc50 100644
--- a/devel/electron11/files/patch-net_disk__cache_blockfile_disk__format.h
+++ b/devel/electron12/files/patch-net_disk__cache_blockfile_disk__format.h
diff --git a/devel/electron11/files/patch-net_dns_address__sorter__posix.cc b/devel/electron12/files/patch-net_dns_address__sorter__posix.cc
index 3fa33e38d80c..3fa33e38d80c 100644
--- a/devel/electron11/files/patch-net_dns_address__sorter__posix.cc
+++ b/devel/electron12/files/patch-net_dns_address__sorter__posix.cc
diff --git a/devel/electron11/files/patch-net_dns_dns__config__service__posix__unittest.cc b/devel/electron12/files/patch-net_dns_dns__config__service__posix__unittest.cc
index 128a45122fa4..128a45122fa4 100644
--- a/devel/electron11/files/patch-net_dns_dns__config__service__posix__unittest.cc
+++ b/devel/electron12/files/patch-net_dns_dns__config__service__posix__unittest.cc
diff --git a/devel/electron11/files/patch-net_dns_dns__reloader.cc b/devel/electron12/files/patch-net_dns_dns__reloader.cc
index 1bc0aa599cc2..1bc0aa599cc2 100644
--- a/devel/electron11/files/patch-net_dns_dns__reloader.cc
+++ b/devel/electron12/files/patch-net_dns_dns__reloader.cc
diff --git a/devel/electron12/files/patch-net_dns_dns__util.cc b/devel/electron12/files/patch-net_dns_dns__util.cc
new file mode 100644
index 000000000000..c3f42d76bee3
--- /dev/null
+++ b/devel/electron12/files/patch-net_dns_dns__util.cc
@@ -0,0 +1,11 @@
+--- net/dns/dns_util.cc.orig 2021-04-14 01:08:52 UTC
++++ net/dns/dns_util.cc
+@@ -28,6 +28,8 @@
+ #include "net/third_party/uri_template/uri_template.h"
+ #include "url/url_canon.h"
+
++#include <sys/socket.h>
++
+ #if defined(OS_POSIX)
+ #include <netinet/in.h>
+ #if !defined(OS_NACL)
diff --git a/devel/electron11/files/patch-net_dns_host__resolver__proc.cc b/devel/electron12/files/patch-net_dns_host__resolver__proc.cc
index 71bb8c0ce231..71bb8c0ce231 100644
--- a/devel/electron11/files/patch-net_dns_host__resolver__proc.cc
+++ b/devel/electron12/files/patch-net_dns_host__resolver__proc.cc
diff --git a/devel/electron11/files/patch-net_http_http__auth__gssapi__posix.cc b/devel/electron12/files/patch-net_http_http__auth__gssapi__posix.cc
index 9f1f87a40693..9f1f87a40693 100644
--- a/devel/electron11/files/patch-net_http_http__auth__gssapi__posix.cc
+++ b/devel/electron12/files/patch-net_http_http__auth__gssapi__posix.cc
diff --git a/devel/electron11/files/patch-net_http_http__auth__gssapi__posix.h b/devel/electron12/files/patch-net_http_http__auth__gssapi__posix.h
index 6a0f234e7a32..6a0f234e7a32 100644
--- a/devel/electron11/files/patch-net_http_http__auth__gssapi__posix.h
+++ b/devel/electron12/files/patch-net_http_http__auth__gssapi__posix.h
diff --git a/devel/electron12/files/patch-net_nqe_network__quality__estimator.cc b/devel/electron12/files/patch-net_nqe_network__quality__estimator.cc
new file mode 100644
index 000000000000..074a96e407fa
--- /dev/null
+++ b/devel/electron12/files/patch-net_nqe_network__quality__estimator.cc
@@ -0,0 +1,11 @@
+--- net/nqe/network_quality_estimator.cc.orig 2021-04-14 01:08:53 UTC
++++ net/nqe/network_quality_estimator.cc
+@@ -109,7 +109,7 @@ nqe::internal::NetworkID DoGetCurrentNetworkID(
+ case NetworkChangeNotifier::ConnectionType::CONNECTION_ETHERNET:
+ break;
+ case NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI:
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ network_id.id = GetWifiSSID();
+ #endif
diff --git a/devel/electron12/files/patch-net_nqe_network__quality__estimator__unittest.cc b/devel/electron12/files/patch-net_nqe_network__quality__estimator__unittest.cc
new file mode 100644
index 000000000000..18122ef0900d
--- /dev/null
+++ b/devel/electron12/files/patch-net_nqe_network__quality__estimator__unittest.cc
@@ -0,0 +1,15 @@
+--- net/nqe/network_quality_estimator_unittest.cc.orig 2021-04-14 01:08:53 UTC
++++ net/nqe/network_quality_estimator_unittest.cc
+@@ -2180,9 +2180,9 @@ TEST_F(NetworkQualityEstimatorTest, TestGlobalSocketWa
+ // ChromeOS is disabled due to crbug.com/986904
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if (defined(TCP_INFO) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
+- defined(OS_ANDROID)) && \
++#if (defined(TCP_INFO) || \
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \
++ defined(OS_ANDROID)) && \
+ !defined(OS_CHROMEOS)
+ #define MAYBE_TestTCPSocketRTT TestTCPSocketRTT
+ #else
diff --git a/devel/electron12/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc b/devel/electron12/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
new file mode 100644
index 000000000000..214b3d984c8a
--- /dev/null
+++ b/devel/electron12/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc
@@ -0,0 +1,29 @@
+--- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2021-04-14 01:08:53 UTC
++++ net/proxy_resolution/configured_proxy_resolution_service.cc
+@@ -50,7 +50,7 @@
+ #include "net/proxy_resolution/proxy_resolver_mac.h"
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "net/proxy_resolution/proxy_config_service_linux.h"
+ #elif defined(OS_ANDROID)
+ #include "net/proxy_resolution/proxy_config_service_android.h"
+@@ -66,7 +66,7 @@ namespace {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_WIN) || defined(OS_APPLE) || \
+- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD)
+ constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
+ net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
+ semantics {
+@@ -1413,7 +1413,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon
+ << "profile_io_data.cc::CreateProxyConfigService and this should "
+ << "be used only for examples.";
+ return std::make_unique<UnsetProxyConfigService>();
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ std::unique_ptr<ProxyConfigServiceLinux> linux_config_service(
+ new ProxyConfigServiceLinux());
+
diff --git a/devel/electron11/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/devel/electron12/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
index 5a7388d0faff..5a7388d0faff 100644
--- a/devel/electron11/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
+++ b/devel/electron12/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
diff --git a/devel/electron11/files/patch-net_socket_socket__posix.cc b/devel/electron12/files/patch-net_socket_socket__posix.cc
index 7c20748dd26f..7c20748dd26f 100644
--- a/devel/electron11/files/patch-net_socket_socket__posix.cc
+++ b/devel/electron12/files/patch-net_socket_socket__posix.cc
diff --git a/devel/electron11/files/patch-net_socket_socks5__client__socket.cc b/devel/electron12/files/patch-net_socket_socks5__client__socket.cc
index 2e3e8401bf49..2e3e8401bf49 100644
--- a/devel/electron11/files/patch-net_socket_socks5__client__socket.cc
+++ b/devel/electron12/files/patch-net_socket_socks5__client__socket.cc
diff --git a/devel/electron11/files/patch-net_socket_tcp__socket__posix.cc b/devel/electron12/files/patch-net_socket_tcp__socket__posix.cc
index 08e10714a44d..08e10714a44d 100644
--- a/devel/electron11/files/patch-net_socket_tcp__socket__posix.cc
+++ b/devel/electron12/files/patch-net_socket_tcp__socket__posix.cc
diff --git a/devel/electron12/files/patch-net_socket_udp__socket__posix.cc b/devel/electron12/files/patch-net_socket_udp__socket__posix.cc
new file mode 100644
index 000000000000..9c52b091d238
--- /dev/null
+++ b/devel/electron12/files/patch-net_socket_udp__socket__posix.cc
@@ -0,0 +1,82 @@
+--- net/socket/udp_socket_posix.cc.orig 2021-04-14 01:08:53 UTC
++++ net/socket/udp_socket_posix.cc
+@@ -71,6 +71,32 @@ const int kActivityMonitorMinimumSamplesForThroughputE
+ const base::TimeDelta kActivityMonitorMsThreshold =
+ base::TimeDelta::FromMilliseconds(100);
+
++#if defined(OS_BSD)
++int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) {
++ if (!index) {
++ *address = htonl(INADDR_ANY);
++ return OK;
++ }
++
++ sockaddr_in* result = nullptr;
++
++ ifreq ifr;
++ ifr.ifr_addr.sa_family = AF_INET;
++ if (!if_indextoname(index, ifr.ifr_name))
++ return MapSystemError(errno);
++ int rv = ioctl(socket, SIOCGIFADDR, &ifr);
++ if (rv == -1)
++ return MapSystemError(errno);
++ result = reinterpret_cast<sockaddr_in*>(&ifr.ifr_addr);
++
++ if (!result)
++ return ERR_ADDRESS_INVALID;
++
++ *address = result->sin_addr.s_addr;
++ return OK;
++}
++#endif
++
+ #if defined(OS_MAC)
+
+ // On OSX the file descriptor is guarded to detect the cause of
+@@ -623,13 +649,13 @@ int UDPSocketPosix::SetDoNotFragment() {
+ }
+
+ void UDPSocketPosix::SetMsgConfirm(bool confirm) {
+-#if !defined(OS_APPLE)
++#if !defined(OS_APPLE) && !defined(OS_BSD)
+ if (confirm) {
+ sendto_flags_ |= MSG_CONFIRM;
+ } else {
+ sendto_flags_ &= ~MSG_CONFIRM;
+ }
+-#endif // !defined(OS_APPLE)
++#endif // !defined(OS_APPLE) && !defined(OS_BSD)
+ }
+
+ int UDPSocketPosix::AllowAddressReuse() {
+@@ -918,7 +944,11 @@ int UDPSocketPosix::SetMulticastOptions() {
+ mreq.imr_ifindex = multicast_interface_;
+ mreq.imr_address.s_addr = htonl(INADDR_ANY);
+ int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
++#if defined(OS_BSD)
++ reinterpret_cast<const char*>(&mreq.imr_address.s_addr), sizeof(mreq.imr_address.s_addr));
++#else
+ reinterpret_cast<const char*>(&mreq), sizeof(mreq));
++#endif
+ if (rv)
+ return MapSystemError(errno);
+ break;
+@@ -1019,9 +1049,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_
+ case IPAddress::kIPv4AddressSize: {
+ if (addr_family_ != AF_INET)
+ return ERR_ADDRESS_INVALID;
++#if defined(OS_BSD)
++ ip_mreq mreq = {};
++ int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
++ &mreq.imr_interface.s_addr);
++
++ if (error != OK)
++ return error;
++#else
+ ip_mreqn mreq = {};
+ mreq.imr_ifindex = multicast_interface_;
+ mreq.imr_address.s_addr = INADDR_ANY;
++#endif
+ memcpy(&mreq.imr_multiaddr, group_address.bytes().data(),
+ IPAddress::kIPv4AddressSize);
+ int rv = setsockopt(socket_, IPPROTO_IP, IP_DROP_MEMBERSHIP,
diff --git a/devel/electron11/files/patch-net_socket_udp__socket__posix.h b/devel/electron12/files/patch-net_socket_udp__socket__posix.h
index fda2fd038c46..fda2fd038c46 100644
--- a/devel/electron11/files/patch-net_socket_udp__socket__posix.h
+++ b/devel/electron12/files/patch-net_socket_udp__socket__posix.h
diff --git a/devel/electron11/files/patch-net_socket_unix__domain__client__socket__posix.cc b/devel/electron12/files/patch-net_socket_unix__domain__client__socket__posix.cc
index f48c347c5973..f48c347c5973 100644
--- a/devel/electron11/files/patch-net_socket_unix__domain__client__socket__posix.cc
+++ b/devel/electron12/files/patch-net_socket_unix__domain__client__socket__posix.cc
diff --git a/devel/electron11/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/devel/electron12/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
index 52e78689b33a..52e78689b33a 100644
--- a/devel/electron11/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
+++ b/devel/electron12/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
diff --git a/devel/electron11/files/patch-net_tools_quic_quic__http__proxy__backend.cc b/devel/electron12/files/patch-net_tools_quic_quic__http__proxy__backend.cc
index 0dca6ee01716..0dca6ee01716 100644
--- a/devel/electron11/files/patch-net_tools_quic_quic__http__proxy__backend.cc
+++ b/devel/electron12/files/patch-net_tools_quic_quic__http__proxy__backend.cc
diff --git a/devel/electron12/files/patch-net_traffic__annotation_network__traffic__annotation.h b/devel/electron12/files/patch-net_traffic__annotation_network__traffic__annotation.h
new file mode 100644
index 000000000000..e74192a357d0
--- /dev/null
+++ b/devel/electron12/files/patch-net_traffic__annotation_network__traffic__annotation.h
@@ -0,0 +1,20 @@
+--- net/traffic_annotation/network_traffic_annotation.h.orig 2021-04-14 01:08:53 UTC
++++ net/traffic_annotation/network_traffic_annotation.h
+@@ -360,7 +360,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
+ } // namespace net
+
+ // Placeholder for unannotated usages.
+-#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \
+ net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.")
+ #endif
+@@ -373,7 +373,7 @@ struct MutablePartialNetworkTrafficAnnotationTag {
+ // TRAFFIC_ANNOTATION_FOR_TESTS.
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+
+ #define NO_TRAFFIC_ANNOTATION_YET \
+ net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.")
diff --git a/devel/electron12/files/patch-net_url__request_url__fetcher.cc b/devel/electron12/files/patch-net_url__request_url__fetcher.cc
new file mode 100644
index 000000000000..62b8a8b8e06f
--- /dev/null
+++ b/devel/electron12/files/patch-net_url__request_url__fetcher.cc
@@ -0,0 +1,11 @@
+--- net/url_request/url_fetcher.cc.orig 2021-04-14 01:08:53 UTC
++++ net/url_request/url_fetcher.cc
+@@ -24,7 +24,7 @@ void URLFetcher::SetIgnoreCertificateRequests(bool ign
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ // static
+ std::unique_ptr<URLFetcher> URLFetcher::Create(
+ const GURL& url,
diff --git a/devel/electron12/files/patch-net_url__request_url__fetcher.h b/devel/electron12/files/patch-net_url__request_url__fetcher.h
new file mode 100644
index 000000000000..24624086a0f2
--- /dev/null
+++ b/devel/electron12/files/patch-net_url__request_url__fetcher.h
@@ -0,0 +1,13 @@
+--- net/url_request/url_fetcher.h.orig 2021-04-14 01:08:53 UTC
++++ net/url_request/url_fetcher.h
+@@ -352,8 +352,8 @@ class NET_EXPORT URLFetcher {
+ // annotations on Linux & Windows.
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if (!defined(OS_WIN) && \
+- !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))) || \
++#if (!defined(OS_WIN) && \
++ !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))) || \
+ defined(OS_CHROMEOS)
+ // |url| is the URL to send the request to. It must be valid.
+ // |request_type| is the type of request to make.
diff --git a/devel/electron12/files/patch-net_url__request_url__request__context.cc b/devel/electron12/files/patch-net_url__request_url__request__context.cc
new file mode 100644
index 000000000000..d61a92aae288
--- /dev/null
+++ b/devel/electron12/files/patch-net_url__request_url__request__context.cc
@@ -0,0 +1,11 @@
+--- net/url_request/url_request_context.cc.orig 2021-04-14 01:08:53 UTC
++++ net/url_request/url_request_context.cc
+@@ -93,7 +93,7 @@ const HttpNetworkSession::Context* URLRequestContext::
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ std::unique_ptr<URLRequest> URLRequestContext::CreateRequest(
+ const GURL& url,
+ RequestPriority priority,
diff --git a/devel/electron12/files/patch-net_url__request_url__request__context.h b/devel/electron12/files/patch-net_url__request_url__request__context.h
new file mode 100644
index 000000000000..a79e65091121
--- /dev/null
+++ b/devel/electron12/files/patch-net_url__request_url__request__context.h
@@ -0,0 +1,11 @@
+--- net/url_request/url_request_context.h.orig 2021-04-14 01:08:53 UTC
++++ net/url_request/url_request_context.h
+@@ -85,7 +85,7 @@ class NET_EXPORT URLRequestContext
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ // This function should not be used in Chromium, please use the version with
+ // NetworkTrafficAnnotationTag in the future.
+ //
diff --git a/devel/electron12/files/patch-net_url__request_url__request__context__builder.cc b/devel/electron12/files/patch-net_url__request_url__request__context__builder.cc
new file mode 100644
index 000000000000..f7703d81213f
--- /dev/null
+++ b/devel/electron12/files/patch-net_url__request_url__request__context__builder.cc
@@ -0,0 +1,20 @@
+--- net/url_request/url_request_context_builder.cc.orig 2021-04-14 01:08:53 UTC
++++ net/url_request/url_request_context_builder.cc
+@@ -484,7 +484,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+ }
+
+ if (!proxy_resolution_service_) {
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD)
+ // TODO(willchan): Switch to using this code when
+ // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s
+ // signature doesn't suck.
+@@ -493,7 +493,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
+ ConfiguredProxyResolutionService::CreateSystemProxyConfigService(
+ base::ThreadTaskRunnerHandle::Get().get());
+ }
+-#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
++#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD)
+ proxy_resolution_service_ = CreateProxyResolutionService(
+ std::move(proxy_config_service_), context.get(),
+ context->host_resolver(), context->network_delegate(),
diff --git a/devel/electron12/files/patch-pdf_pdfium_pdfium__engine.cc b/devel/electron12/files/patch-pdf_pdfium_pdfium__engine.cc
new file mode 100644
index 000000000000..7bc9ba2b9dad
--- /dev/null
+++ b/devel/electron12/files/patch-pdf_pdfium_pdfium__engine.cc
@@ -0,0 +1,56 @@
+--- pdf/pdfium/pdfium_engine.cc.orig 2021-04-14 01:08:53 UTC
++++ pdf/pdfium/pdfium_engine.cc
+@@ -71,7 +71,7 @@
+ #include "ui/gfx/geometry/vector2d.h"
+ #include "v8/include/v8.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "pdf/pdfium/pdfium_font_linux.h"
+ #endif
+
+@@ -468,7 +468,7 @@ void InitializeSDK(bool enable_v8) {
+
+ FPDF_InitLibraryWithConfig(&config);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ InitializeLinuxFontMapper();
+ #endif
+
+@@ -527,7 +527,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client,
+ IFSDK_PAUSE::user = nullptr;
+ IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // PreviewModeClient does not know its pp::Instance.
+ SetLastInstance(client_->GetPluginInstance());
+ #endif
+@@ -992,7 +992,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf(
+
+ KillFormFocus();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SetLastInstance(client_->GetPluginInstance());
+ #endif
+
+@@ -3123,7 +3123,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index
+ DCHECK_LT(static_cast<size_t>(progressive_index), progressive_paints_.size());
+
+ last_progressive_start_time_ = base::Time::Now();
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SetLastInstance(client_->GetPluginInstance());
+ #endif
+
+@@ -3610,7 +3610,7 @@ void PDFiumEngine::SetCurrentPage(int index) {
+ FORM_DoPageAAction(old_page, form(), FPDFPAGE_AACTION_CLOSE);
+ }
+ most_visible_page_ = index;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SetLastInstance(client_->GetPluginInstance());
+ #endif
+ if (most_visible_page_ != -1 && called_do_document_action_) {
diff --git a/devel/electron11/files/patch-ppapi_proxy_file__io__resource.cc b/devel/electron12/files/patch-ppapi_proxy_file__io__resource.cc
index 25b292931514..25b292931514 100644
--- a/devel/electron11/files/patch-ppapi_proxy_file__io__resource.cc
+++ b/devel/electron12/files/patch-ppapi_proxy_file__io__resource.cc
diff --git a/devel/electron11/files/patch-printing_cups__config__helper.py b/devel/electron12/files/patch-printing_cups__config__helper.py
index dafe13fe3a0b..dafe13fe3a0b 100644
--- a/devel/electron11/files/patch-printing_cups__config__helper.py
+++ b/devel/electron12/files/patch-printing_cups__config__helper.py
diff --git a/devel/electron12/files/patch-printing_print__settings.cc b/devel/electron12/files/patch-printing_print__settings.cc
new file mode 100644
index 000000000000..486a5325f764
--- /dev/null
+++ b/devel/electron12/files/patch-printing_print__settings.cc
@@ -0,0 +1,14 @@
+--- printing/print_settings.cc.orig 2021-04-14 01:08:53 UTC
++++ printing/print_settings.cc
+@@ -278,9 +278,9 @@ void PrintSettings::Clear() {
+ #endif
+ is_modifiable_ = true;
+ pages_per_sheet_ = 1;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ advanced_settings_.clear();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ send_user_info_ = false;
+ username_.clear();
diff --git a/devel/electron12/files/patch-printing_print__settings.h b/devel/electron12/files/patch-printing_print__settings.h
new file mode 100644
index 000000000000..8428026abd22
--- /dev/null
+++ b/devel/electron12/files/patch-printing_print__settings.h
@@ -0,0 +1,56 @@
+--- printing/print_settings.h.orig 2021-04-14 01:08:53 UTC
++++ printing/print_settings.h
+@@ -20,11 +20,11 @@
+ #include "ui/gfx/geometry/rect.h"
+ #include "ui/gfx/geometry/size.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <map>
+
+ #include "base/values.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ namespace printing {
+
+@@ -81,9 +81,9 @@ class PRINTING_EXPORT PrintSettings {
+ }
+ };
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ using AdvancedSettings = std::map<std::string, base::Value>;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ PrintSettings();
+ PrintSettings(const PrintSettings&) = delete;
+@@ -222,12 +222,12 @@ class PRINTING_EXPORT PrintSettings {
+ pages_per_sheet_ = pages_per_sheet;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ AdvancedSettings& advanced_settings() { return advanced_settings_; }
+ const AdvancedSettings& advanced_settings() const {
+ return advanced_settings_;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ void set_send_user_info(bool send_user_info) {
+@@ -321,10 +321,10 @@ class PRINTING_EXPORT PrintSettings {
+ // Number of pages per sheet.
+ int pages_per_sheet_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Advanced settings.
+ AdvancedSettings advanced_settings_;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ // Whether to send user info.
diff --git a/devel/electron12/files/patch-printing_print__settings__conversion.cc b/devel/electron12/files/patch-printing_print__settings__conversion.cc
new file mode 100644
index 000000000000..95d5ff4f4717
--- /dev/null
+++ b/devel/electron12/files/patch-printing_print__settings__conversion.cc
@@ -0,0 +1,22 @@
+--- printing/print_settings_conversion.cc.orig 2021-04-14 01:08:53 UTC
++++ printing/print_settings_conversion.cc
+@@ -213,8 +213,8 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+
+ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is
+ // complete.
+-#if defined(OS_CHROMEOS) || \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++#if defined(OS_CHROMEOS) || \
++ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
+ defined(USE_CUPS))
+ const base::Value* advanced_settings =
+ job_settings.FindDictKey(kSettingAdvancedSettings);
+@@ -222,7 +222,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet
+ for (const auto& item : advanced_settings->DictItems())
+ settings->advanced_settings().emplace(item.first, item.second.Clone());
+ }
+-#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) ||
++#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD) ||
+ // BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_CUPS))
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/devel/electron12/files/patch-printing_printing__features.cc b/devel/electron12/files/patch-printing_printing__features.cc
new file mode 100644
index 000000000000..779ba39435c1
--- /dev/null
+++ b/devel/electron12/files/patch-printing_printing__features.cc
@@ -0,0 +1,18 @@
+--- printing/printing_features.cc.orig 2021-04-14 01:08:53 UTC
++++ printing/printing_features.cc
+@@ -49,13 +49,13 @@ bool ShouldPrintUsingXps(bool source_is_pdf) {
+ }
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // Enables printing interactions with the operating system to be performed
+ // out-of-process.
+ const base::Feature kEnableOopPrintDrivers{"EnableOopPrintDrivers",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ } // namespace features
diff --git a/devel/electron12/files/patch-printing_printing__features.h b/devel/electron12/files/patch-printing_printing__features.h
new file mode 100644
index 000000000000..336245e03484
--- /dev/null
+++ b/devel/electron12/files/patch-printing_printing__features.h
@@ -0,0 +1,15 @@
+--- printing/printing_features.h.orig 2021-04-14 01:08:53 UTC
++++ printing/printing_features.h
+@@ -38,10 +38,10 @@ PRINTING_EXPORT bool IsXpsPrintCapabilityRequired();
+ PRINTING_EXPORT bool ShouldPrintUsingXps(bool source_is_pdf);
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ PRINTING_EXPORT extern const base::Feature kEnableOopPrintDrivers;
+-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ } // namespace features
diff --git a/devel/electron12/files/patch-remoting_base_chromoting__event.cc b/devel/electron12/files/patch-remoting_base_chromoting__event.cc
new file mode 100644
index 000000000000..3155eebf0260
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_base_chromoting__event.cc
@@ -0,0 +1,11 @@
+--- remoting/base/chromoting_event.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/base/chromoting_event.cc
+@@ -189,7 +189,7 @@ void ChromotingEvent::AddSystemInfo() {
+ SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture());
+ SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion());
+ SetString(kWebAppVersionKey, STRINGIZE(VERSION));
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ Os os = Os::CHROMOTING_LINUX;
+ #elif BUILDFLAG(IS_CHROMEOS_ASH)
+ Os os = Os::CHROMOTING_CHROMEOS;
diff --git a/devel/electron11/files/patch-remoting_client_display_sys__opengl.h b/devel/electron12/files/patch-remoting_client_display_sys__opengl.h
index 2f772ff81d0e..2f772ff81d0e 100644
--- a/devel/electron11/files/patch-remoting_client_display_sys__opengl.h
+++ b/devel/electron12/files/patch-remoting_client_display_sys__opengl.h
diff --git a/devel/electron12/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/devel/electron12/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc
new file mode 100644
index 000000000000..b3b29fd57dc6
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc
@@ -0,0 +1,16 @@
+--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/codec/webrtc_video_encoder_vpx.cc
+@@ -85,11 +85,11 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config
+ const webrtc::DesktopSize& size) {
+ SetCommonCodecParameters(config, size);
+
+-#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+ // On Linux, using too many threads for VP8 encoding has been linked to high
+ // CPU usage on machines that are under stress. See http://crbug.com/1151148.
+ config->g_threads = std::min(config->g_threads, 2U);
+-#endif // defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS))
+
+ // Value of 2 means using the real time profile. This is basically a
+ // redundant option since we explicitly select real time mode when doing
diff --git a/devel/electron11/files/patch-remoting_host_desktop__resizer__ozone.cc b/devel/electron12/files/patch-remoting_host_desktop__resizer__ozone.cc
index 0c7ab4cbdd6c..0c7ab4cbdd6c 100644
--- a/devel/electron11/files/patch-remoting_host_desktop__resizer__ozone.cc
+++ b/devel/electron12/files/patch-remoting_host_desktop__resizer__ozone.cc
diff --git a/devel/electron12/files/patch-remoting_host_evaluate__capability.cc b/devel/electron12/files/patch-remoting_host_evaluate__capability.cc
new file mode 100644
index 000000000000..0229ce3660f9
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_evaluate__capability.cc
@@ -0,0 +1,11 @@
+--- remoting/host/evaluate_capability.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/evaluate_capability.cc
+@@ -55,7 +55,7 @@ base::FilePath BuildHostBinaryPath() {
+ }
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (path.BaseName().value() ==
+ FILE_PATH_LITERAL("chrome-remote-desktop-host")) {
+ return path;
diff --git a/devel/electron12/files/patch-remoting_host_heartbeat__sender.cc b/devel/electron12/files/patch-remoting_host_heartbeat__sender.cc
new file mode 100644
index 000000000000..98fe6476ca31
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_heartbeat__sender.cc
@@ -0,0 +1,11 @@
+--- remoting/host/heartbeat_sender.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/heartbeat_sender.cc
+@@ -112,7 +112,7 @@ const net::BackoffEntry::Policy kBackoffPolicy = {
+ std::string GetHostname() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag
+ // switch of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return net::GetHostName();
+ #elif defined(OS_WIN)
+ wchar_t buffer[MAX_PATH] = {0};
diff --git a/devel/electron11/files/patch-remoting_host_host__attributes.cc b/devel/electron12/files/patch-remoting_host_host__attributes.cc
index bd3028e69f57..bd3028e69f57 100644
--- a/devel/electron11/files/patch-remoting_host_host__attributes.cc
+++ b/devel/electron12/files/patch-remoting_host_host__attributes.cc
diff --git a/devel/electron12/files/patch-remoting_host_host__details.cc b/devel/electron12/files/patch-remoting_host_host__details.cc
new file mode 100644
index 000000000000..06a7739ef8a0
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_host__details.cc
@@ -0,0 +1,11 @@
+--- remoting/host/host_details.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/host_details.cc
+@@ -25,6 +25,8 @@ std::string GetHostOperatingSystemName() {
+ return "ChromeOS";
+ #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
+ return "Linux";
++#elif defined(OS_FREEBSD)
++ return "FreeBSD";
+ #elif defined(OS_ANDROID)
+ return "Android";
+ #else
diff --git a/devel/electron12/files/patch-remoting_host_host__main.cc b/devel/electron12/files/patch-remoting_host_host__main.cc
new file mode 100644
index 000000000000..e24468e15b62
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_host__main.cc
@@ -0,0 +1,44 @@
+--- remoting/host/host_main.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/host_main.cc
+@@ -48,9 +48,9 @@ int DesktopProcessMain();
+ int FileChooserMain();
+ int RdpDesktopSessionMain();
+ #endif // defined(OS_WIN)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ int XSessionChooserMain();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ namespace {
+
+@@ -61,10 +61,14 @@ const char kUsageMessage[] =
+ "\n"
+ "Options:\n"
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ " --audio-pipe-name=<pipe> - Sets the pipe name to capture audio on "
++#if defined(OS_LINUX)
+ "Linux.\n"
+-#endif // defined(OS_LINUX)
++#else
++ "FreeBSD.\n"
++#endif
++#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
+
+ #if defined(OS_APPLE)
+ " --list-audio-devices - List all audio devices and their device "
+@@ -152,10 +156,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
+ } else if (process_type == kProcessTypeRdpDesktopSession) {
+ main_routine = &RdpDesktopSessionMain;
+ #endif // defined(OS_WIN)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ } else if (process_type == kProcessTypeXSessionChooser) {
+ main_routine = &XSessionChooserMain;
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ }
+
+ return main_routine;
diff --git a/devel/electron12/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/devel/electron12/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
new file mode 100644
index 000000000000..ce5b189cfd9a
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
@@ -0,0 +1,35 @@
+--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/it2me/it2me_native_messaging_host_main.cc
+@@ -30,12 +30,12 @@
+ #include "remoting/host/switches.h"
+ #include "remoting/host/usage_stats_consent.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <gtk/gtk.h>
+
+ #include "base/linux_util.h"
+ #include "ui/events/platform/x11/x11_event_source.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_APPLE)
+ #include "base/mac/mac_util.h"
+@@ -114,7 +114,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+
+ remoting::LoadResources("");
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Create an X11EventSource so the global X11 connection
+ // (x11::Connection::Get()) can dispatch X events.
+ auto event_source =
+@@ -132,7 +132,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
+ // Need to prime the host OS version value for linux to prevent IO on the
+ // network thread. base::GetLinuxDistro() caches the result.
+ base::GetLinuxDistro();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ base::File read_file;
+ base::File write_file;
diff --git a/devel/electron11/files/patch-remoting_host_me2me__desktop__environment.cc b/devel/electron12/files/patch-remoting_host_me2me__desktop__environment.cc
index 9d36b7ee6bf6..9d36b7ee6bf6 100644
--- a/devel/electron11/files/patch-remoting_host_me2me__desktop__environment.cc
+++ b/devel/electron12/files/patch-remoting_host_me2me__desktop__environment.cc
diff --git a/devel/electron12/files/patch-remoting_host_remoting__me2me__host.cc b/devel/electron12/files/patch-remoting_host_remoting__me2me__host.cc
new file mode 100644
index 000000000000..33ff42b4f5ea
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_host_remoting__me2me__host.cc
@@ -0,0 +1,96 @@
+--- remoting/host/remoting_me2me_host.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/host/remoting_me2me_host.cc
+@@ -120,14 +120,14 @@
+ #include "remoting/host/mac/permission_utils.h"
+ #endif // defined(OS_APPLE)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <gtk/gtk.h>
+
+ #include "base/linux_util.h"
+ #include "remoting/host/audio_capturer_linux.h"
+ #include "remoting/host/linux/certificate_watcher.h"
+ #include "ui/events/platform/x11/x11_event_source.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_WIN)
+ #include <commctrl.h>
+@@ -162,11 +162,11 @@ const char kApplicationName[] = "chromoting";
+ const char kStdinConfigPath[] = "-";
+ #endif // !defined(REMOTING_MULTI_PROCESS)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The command line switch used to pass name of the pipe to capture audio on
+ // linux.
+ const char kAudioPipeSwitchName[] = "audio-pipe-name";
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ // The command line switch used to pass name of the unix domain socket used to
+@@ -359,7 +359,7 @@ class HostProcess : public ConfigWatcher::Delegate,
+
+ std::unique_ptr<ChromotingHostContext> context_;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Watch for certificate changes and kill the host when changes occur
+ std::unique_ptr<CertificateWatcher> cert_watcher_;
+ #endif
+@@ -772,7 +772,7 @@ void HostProcess::CreateAuthenticatorFactory() {
+ DCHECK(third_party_auth_config_.token_url.is_valid());
+ DCHECK(third_party_auth_config_.token_validation_url.is_valid());
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (!cert_watcher_) {
+ cert_watcher_ = std::make_unique<CertificateWatcher>(
+ base::BindRepeating(&HostProcess::ShutdownHost, this,
+@@ -861,7 +861,7 @@ void HostProcess::StartOnUiThread() {
+ base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
+ base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this)));
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // If an audio pipe is specific on the command-line then initialize
+ // AudioCapturerLinux to capture from it.
+ base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()->
+@@ -870,7 +870,7 @@ void HostProcess::StartOnUiThread() {
+ remoting::AudioCapturerLinux::InitializePipeReader(
+ context_->audio_task_runner(), audio_pipe_name);
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ #if defined(OS_POSIX)
+ base::FilePath security_key_socket_name =
+@@ -919,7 +919,7 @@ void HostProcess::ShutdownOnUiThread() {
+ // It is now safe for the HostProcess to be deleted.
+ self_ = nullptr;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Cause the global AudioPipeReader to be freed, otherwise the audio
+ // thread will remain in-use and prevent the process from exiting.
+ // TODO(wez): DesktopEnvironmentFactory should own the pipe reader.
+@@ -1591,7 +1591,7 @@ void HostProcess::StartHost() {
+ host_->AddExtension(std::make_unique<TestEchoExtension>());
+
+ // TODO(joedow): Remove in M90.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20));
+ #endif
+
+@@ -1768,7 +1768,7 @@ void HostProcess::OnCrash(const std::string& function_
+ int HostProcessMain() {
+ HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ std::unique_ptr<ui::X11EventSource> event_source;
+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
+ kReportOfflineReasonSwitchName)) {
diff --git a/devel/electron11/files/patch-remoting_host_switches.cc b/devel/electron12/files/patch-remoting_host_switches.cc
index 16567e1d131d..16567e1d131d 100644
--- a/devel/electron11/files/patch-remoting_host_switches.cc
+++ b/devel/electron12/files/patch-remoting_host_switches.cc
diff --git a/devel/electron11/files/patch-remoting_host_switches.h b/devel/electron12/files/patch-remoting_host_switches.h
index caac304303f4..caac304303f4 100644
--- a/devel/electron11/files/patch-remoting_host_switches.h
+++ b/devel/electron12/files/patch-remoting_host_switches.h
diff --git a/devel/electron12/files/patch-remoting_resources_remoting__strings.grd b/devel/electron12/files/patch-remoting_resources_remoting__strings.grd
new file mode 100644
index 000000000000..513e1f3b2fa7
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_resources_remoting__strings.grd
@@ -0,0 +1,20 @@
+--- remoting/resources/remoting_strings.grd.orig 2021-04-14 01:08:53 UTC
++++ remoting/resources/remoting_strings.grd
+@@ -889,7 +889,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
+ Open Screen Recording Preferences
+ </message>
+ </if>
+- <if expr="is_linux">
++ <if expr="is_posix">
+ <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog.">
+ Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.)
+ </message>
+@@ -905,7 +905,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium.
+ <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session.">
+ Launch the default XSession
+ </message>
+- </if> <!-- is_linux -->
++ </if> <!-- is_posix -->
+ </messages>
+ </release>
+ </grit>
diff --git a/devel/electron11/files/patch-remoting_test_it2me__standalone__host.cc b/devel/electron12/files/patch-remoting_test_it2me__standalone__host.cc
index 09363a7de632..09363a7de632 100644
--- a/devel/electron11/files/patch-remoting_test_it2me__standalone__host.cc
+++ b/devel/electron12/files/patch-remoting_test_it2me__standalone__host.cc
diff --git a/devel/electron12/files/patch-remoting_test_it2me__standalone__host__main.cc b/devel/electron12/files/patch-remoting_test_it2me__standalone__host__main.cc
new file mode 100644
index 000000000000..7f29b7735689
--- /dev/null
+++ b/devel/electron12/files/patch-remoting_test_it2me__standalone__host__main.cc
@@ -0,0 +1,34 @@
+--- remoting/test/it2me_standalone_host_main.cc.orig 2021-04-14 01:08:53 UTC
++++ remoting/test/it2me_standalone_host_main.cc
+@@ -9,19 +9,19 @@
+ #include "remoting/proto/event.pb.h"
+ #include "remoting/test/it2me_standalone_host.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include <gtk/gtk.h>
+
+ #include "base/linux_util.h"
+ #include "ui/events/platform/x11/x11_event_source.h"
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ int main(int argc, const char** argv) {
+ base::AtExitManager at_exit_manager;
+ base::CommandLine::Init(argc, argv);
+ remoting::test::It2MeStandaloneHost host;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Create an X11EventSource so the global X11 connection
+ // (x11::Connection::Get()) can dispatch X events.
+ auto event_source =
+@@ -39,7 +39,7 @@ int main(int argc, const char** argv) {
+ // Need to prime the host OS version value for linux to prevent IO on the
+ // network thread. base::GetLinuxDistro() caches the result.
+ base::GetLinuxDistro();
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ remoting::LoadResources("");
+ host.StartOutputTimer();
+ host.Run();
diff --git a/devel/electron11/files/patch-sandbox_BUILD.gn b/devel/electron12/files/patch-sandbox_BUILD.gn
index 60378f945ddf..60378f945ddf 100644
--- a/devel/electron11/files/patch-sandbox_BUILD.gn
+++ b/devel/electron12/files/patch-sandbox_BUILD.gn
diff --git a/devel/electron11/files/patch-sandbox_features.gni b/devel/electron12/files/patch-sandbox_features.gni
index 1f518aa42b32..1f518aa42b32 100644
--- a/devel/electron11/files/patch-sandbox_features.gni
+++ b/devel/electron12/files/patch-sandbox_features.gni
diff --git a/devel/electron11/files/patch-sandbox_linux_BUILD.gn b/devel/electron12/files/patch-sandbox_linux_BUILD.gn
index fff112a6c2e2..fff112a6c2e2 100644
--- a/devel/electron11/files/patch-sandbox_linux_BUILD.gn
+++ b/devel/electron12/files/patch-sandbox_linux_BUILD.gn
diff --git a/devel/electron11/files/patch-sandbox_linux_services_init__process__reaper.cc b/devel/electron12/files/patch-sandbox_linux_services_init__process__reaper.cc
index 2357bd1c78c7..2357bd1c78c7 100644
--- a/devel/electron11/files/patch-sandbox_linux_services_init__process__reaper.cc
+++ b/devel/electron12/files/patch-sandbox_linux_services_init__process__reaper.cc
diff --git a/devel/electron11/files/patch-sandbox_linux_services_libc__interceptor.cc b/devel/electron12/files/patch-sandbox_linux_services_libc__interceptor.cc
index 79b4b6970687..79b4b6970687 100644
--- a/devel/electron11/files/patch-sandbox_linux_services_libc__interceptor.cc
+++ b/devel/electron12/files/patch-sandbox_linux_services_libc__interceptor.cc
diff --git a/devel/electron12/files/patch-sandbox_policy_BUILD.gn b/devel/electron12/files/patch-sandbox_policy_BUILD.gn
new file mode 100644
index 000000000000..b148f6f7eea9
--- /dev/null
+++ b/devel/electron12/files/patch-sandbox_policy_BUILD.gn
@@ -0,0 +1,11 @@
+--- sandbox/policy/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ sandbox/policy/BUILD.gn
+@@ -29,7 +29,7 @@ component("policy") {
+ "//sandbox:common",
+ ]
+ public_deps = []
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "linux/bpf_audio_policy_linux.cc",
+ "linux/bpf_audio_policy_linux.h",
diff --git a/devel/electron12/files/patch-sandbox_policy_switches.cc b/devel/electron12/files/patch-sandbox_policy_switches.cc
new file mode 100644
index 000000000000..b12ab0d03181
--- /dev/null
+++ b/devel/electron12/files/patch-sandbox_policy_switches.cc
@@ -0,0 +1,11 @@
+--- sandbox/policy/switches.cc.orig 2021-04-14 01:08:53 UTC
++++ sandbox/policy/switches.cc
+@@ -82,7 +82,7 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f
+ // Meant to be used as a browser-level switch for testing purposes only.
+ const char kNoSandbox[] = "no-sandbox";
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Instructs the zygote to launch without a sandbox. Processes forked from this
+ // type of zygote will apply their own custom sandboxes later.
+ const char kNoZygoteSandbox[] = "no-zygote-sandbox";
diff --git a/devel/electron12/files/patch-sandbox_policy_switches.h b/devel/electron12/files/patch-sandbox_policy_switches.h
new file mode 100644
index 000000000000..bc713b0c4bba
--- /dev/null
+++ b/devel/electron12/files/patch-sandbox_policy_switches.h
@@ -0,0 +1,11 @@
+--- sandbox/policy/switches.h.orig 2021-04-14 01:08:53 UTC
++++ sandbox/policy/switches.h
+@@ -54,7 +54,7 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid
+ SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[];
+ SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[];
+ SANDBOX_POLICY_EXPORT extern const char kNoSandbox[];
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[];
+ #endif
+ #if defined(OS_WIN)
diff --git a/devel/electron12/files/patch-services_audio_BUILD.gn b/devel/electron12/files/patch-services_audio_BUILD.gn
new file mode 100644
index 000000000000..978f19e7a7de
--- /dev/null
+++ b/devel/electron12/files/patch-services_audio_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/audio/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/audio/BUILD.gn
+@@ -75,7 +75,7 @@ source_set("audio") {
+ "//services/audio/public/mojom",
+ ]
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "audio_sandbox_hook_linux.cc",
+ "audio_sandbox_hook_linux.h",
diff --git a/devel/electron11/files/patch-services_device_geolocation_location__arbitrator.cc b/devel/electron12/files/patch-services_device_geolocation_location__arbitrator.cc
index f664229199de..f664229199de 100644
--- a/devel/electron11/files/patch-services_device_geolocation_location__arbitrator.cc
+++ b/devel/electron12/files/patch-services_device_geolocation_location__arbitrator.cc
diff --git a/devel/electron12/files/patch-services_device_hid_BUILD.gn b/devel/electron12/files/patch-services_device_hid_BUILD.gn
new file mode 100644
index 000000000000..3d18dab5bbaf
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_BUILD.gn
@@ -0,0 +1,18 @@
+--- services/device/hid/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/device/hid/BUILD.gn
+@@ -45,6 +45,15 @@ source_set("hid") {
+ deps += [ "//device/udev_linux" ]
+ }
+
++ if (is_bsd) {
++ sources += [
++ "hid_connection_freebsd.cc",
++ "hid_connection_freebsd.h",
++ "hid_service_freebsd.cc",
++ "hid_service_freebsd.h",
++ ]
++ }
++
+ if (is_chromeos_ash) {
+ deps += [ "//chromeos/dbus/permission_broker" ]
+ }
diff --git a/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.cc b/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.cc
new file mode 100644
index 000000000000..8ce5790da255
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.cc
@@ -0,0 +1,244 @@
+--- services/device/hid/hid_connection_freebsd.cc.orig 2021-04-22 07:53:24 UTC
++++ services/device/hid/hid_connection_freebsd.cc
+@@ -0,0 +1,241 @@
++// Copyright (c) 2014 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "services/device/hid/hid_connection_freebsd.h"
++
++#include <dev/usb/usbhid.h>
++#include <dev/usb/usb_ioctl.h>
++
++#include "base/bind.h"
++#include "base/files/file_descriptor_watcher_posix.h"
++#include "base/location.h"
++#include "base/numerics/safe_math.h"
++#include "base/posix/eintr_wrapper.h"
++#include "base/single_thread_task_runner.h"
++#include "base/strings/stringprintf.h"
++#include "base/task/post_task.h"
++#include "base/threading/scoped_blocking_call.h"
++#include "base/threading/thread_restrictions.h"
++#include "base/threading/thread_task_runner_handle.h"
++#include "components/device_event_log/device_event_log.h"
++#include "services/device/hid/hid_service.h"
++
++namespace device {
++
++class HidConnectionFreeBSD::BlockingTaskRunnerHelper {
++ public:
++ BlockingTaskRunnerHelper(base::ScopedFD fd,
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::WeakPtr<HidConnectionFreeBSD> connection)
++ : fd_(std::move(fd)),
++ connection_(connection),
++ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ DETACH_FROM_SEQUENCE(sequence_checker_);
++ // Report buffers must always have room for the report ID.
++ report_buffer_size_ = device_info->max_input_report_size() + 1;
++ has_report_id_ = device_info->has_report_id();
++ }
++
++ ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); }
++
++ // Starts the FileDescriptorWatcher that reads input events from the device.
++ // Must be called on a thread that has a base::MessageLoopForIO.
++ void Start() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::internal::AssertBlockingAllowed();
++
++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
++ fd_.get(), base::Bind(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking,
++ base::Unretained(this)));
++ }
++
++ void Write(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++
++ auto data = buffer->front();
++ size_t size = buffer->size();
++ // if report id is 0, it shouldn't be included
++ if (data[0] == 0) {
++ data++;
++ size--;
++ }
++
++ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size));
++ if (result < 0) {
++ HID_PLOG(EVENT) << "Write failed";
++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false));
++ } else {
++ if (static_cast<size_t>(result) != size)
++ HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size;
++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true));
++ }
++ }
++
++ void GetFeatureReport(uint8_t report_id,
++ scoped_refptr<base::RefCountedBytes> buffer,
++ ReadCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ struct usb_gen_descriptor ugd;
++ ugd.ugd_report_type = UHID_FEATURE_REPORT;
++ ugd.ugd_data = buffer->front();
++ ugd.ugd_maxlen = buffer->size();
++ int result = HANDLE_EINTR(
++ ioctl(fd_.get(), USB_GET_REPORT, &ugd));
++ if (result < 0) {
++ HID_PLOG(EVENT) << "Failed to get feature report";
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), false, nullptr, 0));
++ } else if (result == 0) {
++ HID_LOG(EVENT) << "Get feature result too short.";
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), false, nullptr, 0));
++ } else {
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), true, buffer, result));
++ }
++ }
++
++ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ struct usb_gen_descriptor ugd;
++ ugd.ugd_report_type = UHID_FEATURE_REPORT;
++ ugd.ugd_data = buffer->front();
++ ugd.ugd_maxlen = buffer->size();
++ // FreeBSD does not require report id if it's not used
++ if (buffer->front()[0] == 0) {
++ ugd.ugd_data = buffer->front() + 1;
++ ugd.ugd_maxlen = buffer->size() - 1;
++ } else {
++ ugd.ugd_data = buffer->front();
++ ugd.ugd_maxlen = buffer->size();
++ }
++ int result = HANDLE_EINTR(
++ ioctl(fd_.get(), USB_SET_REPORT, &ugd));
++ if (result < 0) {
++ HID_PLOG(EVENT) << "Failed to send feature report";
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), false));
++ } else {
++ origin_task_runner_->PostTask(FROM_HERE,
++ base::BindOnce(std::move(callback), true));
++ }
++ }
++
++ private:
++ void OnFileCanReadWithoutBlocking() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
++ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_));
++ unsigned char* data = buffer->front();
++ size_t length = report_buffer_size_;
++ if (!has_report_id_) {
++ // FreeBSD will not prefix the buffer with a report ID if report IDs are not
++ // used by the device. Prefix the buffer with 0.
++ *data++ = 0;
++ length--;
++ }
++
++ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length));
++ if (bytes_read < 0) {
++ if (errno != EAGAIN) {
++ HID_PLOG(EVENT) << "Read failed";
++ // This assumes that the error is unrecoverable and disables reading
++ // from the device until it has been re-opened.
++ // TODO(reillyg): Investigate starting and stopping the file descriptor
++ // watcher in response to pending read requests so that per-request
++ // errors can be returned to the client.
++ file_watcher_.reset();
++ }
++ return;
++ }
++ if (!has_report_id_) {
++ // Behave as if the byte prefixed above as the the report ID was read.
++ bytes_read++;
++ }
++
++ origin_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport,
++ connection_, buffer, bytes_read));
++ }
++
++ SEQUENCE_CHECKER(sequence_checker_);
++ base::ScopedFD fd_;
++ size_t report_buffer_size_;
++ bool has_report_id_;
++ base::WeakPtr<HidConnectionFreeBSD> connection_;
++ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_;
++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
++
++ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
++};
++
++HidConnectionFreeBSD::HidConnectionFreeBSD(
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::ScopedFD fd,
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
++ bool allow_protected_reports)
++ : HidConnection(device_info, allow_protected_reports),
++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)),
++ blocking_task_runner_(std::move(blocking_task_runner)) {
++ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info,
++ weak_factory_.GetWeakPtr()));
++ blocking_task_runner_->PostTask(
++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start,
++ base::Unretained(helper_.get())));
++}
++
++HidConnectionFreeBSD::~HidConnectionFreeBSD() {}
++
++void HidConnectionFreeBSD::PlatformClose() {
++ // By closing the device on the blocking task runner 1) the requirement that
++ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied
++ // and 2) any tasks posted to this task runner that refer to this file will
++ // complete before it is closed.
++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
++}
++
++void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++
++ blocking_task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&BlockingTaskRunnerHelper::Write, base::Unretained(helper_.get()),
++ buffer, std::move(callback)));
++}
++
++void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id,
++ ReadCallback callback) {
++ // The first byte of the destination buffer is the report ID being requested
++ // and is overwritten by the feature report.
++ DCHECK_GT(device_info()->max_feature_report_size(), 0u);
++ scoped_refptr<base::RefCountedBytes> buffer(
++ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1));
++ if (report_id != 0)
++ buffer->data()[0] = report_id;
++
++ blocking_task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport,
++ base::Unretained(helper_.get()), report_id,
++ buffer, std::move(callback)));
++}
++
++void HidConnectionFreeBSD::PlatformSendFeatureReport(
++ scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) {
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ blocking_task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport,
++ base::Unretained(helper_.get()), buffer, std::move(callback)));
++}
++
++} // namespace device
diff --git a/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.h b/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.h
new file mode 100644
index 000000000000..79d06f4fc8b0
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_hid__connection__freebsd.h
@@ -0,0 +1,69 @@
+--- services/device/hid/hid_connection_freebsd.h.orig 2021-04-22 07:53:24 UTC
++++ services/device/hid/hid_connection_freebsd.h
+@@ -0,0 +1,66 @@
++// Copyright (c) 2014 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef DEVICE_HID_HID_CONNECTION_FREEBSD_H_
++#define DEVICE_HID_HID_CONNECTION_FREEBSD_H_
++
++#include <stddef.h>
++#include <stdint.h>
++
++#include "base/files/scoped_file.h"
++#include "base/macros.h"
++#include "base/memory/weak_ptr.h"
++#include "base/memory/ref_counted_memory.h"
++#include "base/sequenced_task_runner.h"
++#include "services/device/hid/hid_connection.h"
++
++namespace base {
++class SequencedTaskRunner;
++}
++
++namespace net {
++class IOBuffer;
++}
++
++namespace device {
++
++class HidConnectionFreeBSD : public HidConnection {
++ public:
++ HidConnectionFreeBSD(
++ scoped_refptr<HidDeviceInfo> device_info,
++ base::ScopedFD fd,
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner,
++ bool allow_protected_reports);
++
++ private:
++ friend class base::RefCountedThreadSafe<HidConnectionFreeBSD>;
++ class BlockingTaskRunnerHelper;
++
++ ~HidConnectionFreeBSD() override;
++
++ // HidConnection implementation.
++ void PlatformClose() override;
++ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) override;
++ void PlatformGetFeatureReport(uint8_t report_id,
++ ReadCallback callback) override;
++ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer,
++ WriteCallback callback) override;
++
++ // |helper_| lives on the sequence to which |blocking_task_runner_| posts
++ // tasks so all calls must be posted there including this object's
++ // destruction.
++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
++
++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
++ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
++
++ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_{this};
++
++ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD);
++};
++
++} // namespace device
++
++#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_
diff --git a/devel/electron12/files/patch-services_device_hid_hid__service.cc b/devel/electron12/files/patch-services_device_hid_hid__service.cc
new file mode 100644
index 000000000000..31ca797ebb53
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_hid__service.cc
@@ -0,0 +1,20 @@
+--- services/device/hid/hid_service.cc.orig 2021-04-14 01:08:53 UTC
++++ services/device/hid/hid_service.cc
+@@ -18,6 +18,8 @@
+
+ #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
+ #include "services/device/hid/hid_service_linux.h"
++#elif defined(OS_FREEBSD)
++#include "services/device/hid/hid_service_freebsd.h"
+ #elif defined(OS_MAC)
+ #include "services/device/hid/hid_service_mac.h"
+ #elif defined(OS_WIN)
+@@ -58,6 +60,8 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr
+ std::unique_ptr<HidService> HidService::Create() {
+ #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV)
+ return base::WrapUnique(new HidServiceLinux());
++#elif defined(OS_FREEBSD)
++ return base::WrapUnique(new HidServiceFreeBSD());
+ #elif defined(OS_MAC)
+ return base::WrapUnique(new HidServiceMac());
+ #elif defined(OS_WIN)
diff --git a/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.cc b/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.cc
new file mode 100644
index 000000000000..456ed468a2b6
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.cc
@@ -0,0 +1,392 @@
+--- services/device/hid/hid_service_freebsd.cc.orig 2021-04-22 07:53:24 UTC
++++ services/device/hid/hid_service_freebsd.cc
+@@ -0,0 +1,389 @@
++// Copyright 2014 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#include "services/device/hid/hid_service_freebsd.h"
++
++#include <dev/usb/usb_ioctl.h>
++#include <stdint.h>
++#include <sys/socket.h>
++#include <sys/un.h>
++
++#include <set>
++#include <string>
++#include <vector>
++
++#include "base/bind.h"
++#include "base/files/file_descriptor_watcher_posix.h"
++#include "base/files/file_enumerator.h"
++#include "base/files/file_util.h"
++#include "base/files/file.h"
++#include "base/location.h"
++#include "base/logging.h"
++#include "base/posix/eintr_wrapper.h"
++#include "base/single_thread_task_runner.h"
++#include "base/stl_util.h"
++#include "base/strings/pattern.h"
++#include "base/strings/stringprintf.h"
++#include "base/strings/sys_string_conversions.h"
++#include "base/strings/string_util.h"
++#include "base/strings/string_split.h"
++#include "base/task/post_task.h"
++#include "base/threading/scoped_blocking_call.h"
++#include "base/threading/thread_task_runner_handle.h"
++#include "components/device_event_log/device_event_log.h"
++#include "services/device/hid/hid_connection_freebsd.h"
++
++const int kMaxPermissionChecks = 5;
++
++namespace device {
++
++struct HidServiceFreeBSD::ConnectParams {
++ ConnectParams(scoped_refptr<HidDeviceInfo> device_info,
++ bool allow_protected_reports,
++ ConnectCallback callback)
++ : device_info(std::move(device_info)),
++ allow_protected_reports(allow_protected_reports),
++ callback(std::move(callback)),
++ task_runner(base::ThreadTaskRunnerHandle::Get()),
++ blocking_task_runner(
++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {}
++ ~ConnectParams() {}
++
++ scoped_refptr<HidDeviceInfo> device_info;
++ bool allow_protected_reports;
++ ConnectCallback callback;
++ scoped_refptr<base::SequencedTaskRunner> task_runner;
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner;
++ base::ScopedFD fd;
++};
++
++class HidServiceFreeBSD::BlockingTaskRunnerHelper {
++ public:
++ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFreeBSD> service)
++ : service_(std::move(service)),
++ task_runner_(base::ThreadTaskRunnerHandle::Get()) {
++ DETACH_FROM_SEQUENCE(sequence_checker_);
++
++ timer_.reset(new base::RepeatingTimer());
++ devd_buffer_ = new net::IOBufferWithSize(1024);
++ }
++
++ ~BlockingTaskRunnerHelper() {
++ }
++
++ void Start() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
++ const base::FilePath kDevRoot("/dev");
++ const std::string kUHIDPattern("/dev/uhid*");
++
++ base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES);
++ do {
++ const base::FilePath next_device_path(enumerator.Next());
++ const std::string next_device = next_device_path.value();
++ if (next_device.empty())
++ break;
++
++ if (base::MatchPattern(next_device, kUHIDPattern))
++ OnDeviceAdded(next_device.substr(5));
++ } while (true);
++
++ SetupDevdMonitor();
++
++ task_runner_->PostTask(
++ FROM_HERE,
++ base::Bind(&HidServiceFreeBSD::FirstEnumerationComplete, service_));
++ }
++
++ bool HaveReadWritePermissions(std::string device_id) {
++ std::string device_node = "/dev/" + device_id;
++ base::internal::AssertBlockingAllowed();
++
++ base::FilePath device_path(device_node);
++ base::File device_file;
++ int flags =
++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
++ device_file.Initialize(device_path, flags);
++ if (!device_file.IsValid())
++ return false;
++
++ return true;
++ }
++
++ void OnDeviceAdded(std::string device_id) {
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ std::string device_node = "/dev/" + device_id;
++ uint16_t vendor_id = 0xffff;
++ uint16_t product_id = 0xffff;
++ std::string product_name = "";
++ std::string serial_number = "";
++
++ std::vector<uint8_t> report_descriptor;
++
++ base::internal::AssertBlockingAllowed();
++
++ base::FilePath device_path(device_node);
++ base::File device_file;
++ int flags =
++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
++ device_file.Initialize(device_path, flags);
++ if (!device_file.IsValid()) {
++ HID_LOG(ERROR) << "Failed to open '" << device_node
++ << "': "
++ << base::File::ErrorToString(device_file.error_details());
++ return;
++ }
++
++ base::ScopedFD fd;
++ fd.reset(device_file.TakePlatformFile());
++
++ struct usb_gen_descriptor ugd;
++ ugd.ugd_data = NULL;
++ ugd.ugd_maxlen = 0xffff;
++ int result = HANDLE_EINTR(
++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
++
++ if (result < 0) {
++ HID_LOG(ERROR) << "Failed to get report descriptor size";
++ return;
++ }
++
++ report_descriptor.resize(ugd.ugd_actlen);
++
++ ugd.ugd_data = report_descriptor.data();
++ ugd.ugd_maxlen = ugd.ugd_actlen;
++ result = HANDLE_EINTR(
++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd));
++
++ if (result < 0) {
++ HID_LOG(ERROR) << "Failed to get report descriptor";
++ return;
++ }
++
++ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo(
++ device_id,
++ /*physical_device_id*/"",
++ vendor_id,
++ product_id,
++ product_name,
++ serial_number,
++ device::mojom::HidBusType::kHIDBusTypeUSB,
++ report_descriptor,
++ device_node));
++
++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice,
++ service_, device_info));
++ }
++
++ void OnDeviceRemoved(std::string device_id) {
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ task_runner_->PostTask(
++ FROM_HERE, base::Bind(&HidServiceFreeBSD::RemoveDevice, service_,
++ device_id));
++ }
++
++ private:
++
++ void CheckPendingPermissionChange() {
++ base::internal::AssertBlockingAllowed();
++ std::map<std::string, int>::iterator it;
++ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) {
++ std::string device_name = it->first;
++ bool keep = true;
++ if (HaveReadWritePermissions(device_name)) {
++ OnDeviceAdded(device_name);
++ keep = false;
++ }
++ else if (it->second-- <= 0) {
++ HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name
++ << "' after " << kMaxPermissionChecks << " attempts";
++ keep = false;
++ }
++
++ if (keep)
++ ++it;
++ else
++ permissions_checks_attempts_.erase(it++);
++ }
++
++ if (permissions_checks_attempts_.empty())
++ timer_->Stop();
++ }
++
++ void SetupDevdMonitor() {
++ base::internal::AssertBlockingAllowed();
++
++ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
++ if (devd_fd < 0)
++ return;
++
++ struct sockaddr_un sa;
++
++ sa.sun_family = AF_UNIX;
++ strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path));
++ if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) {
++ close(devd_fd);
++ return;
++ }
++
++ devd_fd_.reset(devd_fd);
++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable(
++ devd_fd_.get(), base::Bind(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead,
++ base::Unretained(this)));
++ }
++
++ void OnDevdMessageCanBeRead() {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++ ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(),
++ devd_buffer_->size() - 1, MSG_WAITALL));
++ if (bytes_read < 0) {
++ if (errno != EAGAIN) {
++ HID_LOG(ERROR) << "Read failed";
++ file_watcher_.reset();
++ }
++ return;
++ }
++
++ devd_buffer_->data()[bytes_read] = 0;
++ char *data = devd_buffer_->data();
++ // It may take some time for devd to change permissions
++ // on /dev/uhidX node. So do not fail immediately if
++ // open fail. Retry each second for kMaxPermissionChecks
++ // times before giving up entirely
++ if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) {
++ std::vector<std::string> parts = base::SplitString(
++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
++ if (!parts.empty()) {
++ std::string device_name = parts[0].substr(1); // skip '+'
++ if (HaveReadWritePermissions(device_name))
++ OnDeviceAdded(parts[0].substr(1));
++ else {
++ // Do not re-add to checks
++ if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) {
++ permissions_checks_attempts_.insert(std::pair<std::string, int>(device_name, kMaxPermissionChecks));
++ timer_->Start(FROM_HERE, base::TimeDelta::FromSeconds(1),
++ this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange);
++ }
++ }
++ }
++ }
++
++ if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) {
++ std::vector<std::string> parts = base::SplitString(
++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
++ if (!parts.empty()) {
++ std::string device_name = parts[0].substr(1); // skip '-'
++ auto it = permissions_checks_attempts_.find(device_name);
++ if (it != permissions_checks_attempts_.end()) {
++ permissions_checks_attempts_.erase(it);
++ if (permissions_checks_attempts_.empty())
++ timer_->Stop();
++ }
++ OnDeviceRemoved(parts[0].substr(1));
++ }
++ }
++ }
++
++ SEQUENCE_CHECKER(sequence_checker_);
++
++ // This weak pointer is only valid when checked on this task runner.
++ base::WeakPtr<HidServiceFreeBSD> service_;
++ scoped_refptr<base::SequencedTaskRunner> task_runner_;
++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_;
++ std::unique_ptr<base::RepeatingTimer> timer_;
++ base::ScopedFD devd_fd_;
++ scoped_refptr<net::IOBufferWithSize> devd_buffer_;
++ std::map<std::string, int> permissions_checks_attempts_;
++
++ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper);
++};
++
++HidServiceFreeBSD::HidServiceFreeBSD()
++ : blocking_task_runner_(
++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)),
++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) {
++ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr()));
++ blocking_task_runner_->PostTask(
++ FROM_HERE,
++ base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get())));
++}
++
++HidServiceFreeBSD::~HidServiceFreeBSD() {
++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release());
++}
++
++base::WeakPtr<HidService> HidServiceFreeBSD::GetWeakPtr() {
++ return weak_factory_.GetWeakPtr();
++}
++
++// static
++void HidServiceFreeBSD::OpenOnBlockingThread(
++ std::unique_ptr<ConnectParams> params) {
++ base::ScopedBlockingCall scoped_blocking_call(
++ FROM_HERE, base::BlockingType::MAY_BLOCK);
++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner;
++
++ base::FilePath device_path(params->device_info->device_node());
++ base::File device_file;
++ int flags =
++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE;
++ device_file.Initialize(device_path, flags);
++ if (!device_file.IsValid()) {
++ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node()
++ << "': "
++ << base::File::ErrorToString(device_file.error_details());
++ task_runner->PostTask(FROM_HERE,
++ base::BindOnce(std::move(params->callback), nullptr));
++ return;
++ }
++ params->fd.reset(device_file.TakePlatformFile());
++ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen,
++ std::move(params)));
++}
++
++void HidServiceFreeBSD::Connect(const std::string& device_guid,
++ bool allow_protected_reports,
++ ConnectCallback callback) {
++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
++
++ const auto& map_entry = devices().find(device_guid);
++ if (map_entry == devices().end()) {
++ base::ThreadTaskRunnerHandle::Get()->PostTask(
++ FROM_HERE, base::BindOnce(std::move(callback), nullptr));
++ return;
++ }
++
++ scoped_refptr<HidDeviceInfo> device_info = map_entry->second;
++
++ auto params = std::make_unique<ConnectParams>(device_info,
++ allow_protected_reports,
++ std::move(callback));
++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner =
++ params->blocking_task_runner;
++
++ blocking_task_runner->PostTask(
++ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread,
++ std::move(params)));
++}
++
++// static
++void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) {
++ DCHECK(params->fd.is_valid());
++
++ if (!base::SetNonBlocking(params->fd.get())) {
++ HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd";
++ std::move(params->callback).Run(nullptr);
++ }
++
++ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFreeBSD>(
++ std::move(params->device_info),
++ std::move(params->fd),
++ std::move(params->blocking_task_runner),
++ params->allow_protected_reports
++ ));
++}
++
++} // namespace device
diff --git a/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.h b/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.h
new file mode 100644
index 000000000000..8f7f47452299
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_hid_hid__service__freebsd.h
@@ -0,0 +1,50 @@
+--- services/device/hid/hid_service_freebsd.h.orig 2021-04-22 07:53:24 UTC
++++ services/device/hid/hid_service_freebsd.h
+@@ -0,0 +1,47 @@
++// Copyright 2014 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_
++#define DEVICE_HID_HID_SERVICE_FREEBSD_H_
++
++#include <string>
++
++#include "base/macros.h"
++#include "base/memory/ref_counted.h"
++#include "base/memory/weak_ptr.h"
++#include "base/timer/timer.h"
++#include "services/device/hid/hid_service.h"
++#include "net/base/io_buffer.h"
++
++namespace device {
++
++class HidServiceFreeBSD : public HidService {
++ public:
++ HidServiceFreeBSD();
++ ~HidServiceFreeBSD() override;
++
++ void Connect(const std::string& device_guid,
++ bool allow_protected_reports,
++ ConnectCallback connect) override;
++ base::WeakPtr<HidService> GetWeakPtr() override;
++
++ private:
++ struct ConnectParams;
++ class BlockingTaskRunnerHelper;
++
++ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params);
++ static void FinishOpen(std::unique_ptr<ConnectParams> params);
++
++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
++ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds
++ // a weak reference back to the service that owns it.
++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_;
++ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_{this};
++
++ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD);
++};
++
++} // namespace device
++
++#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_
diff --git a/devel/electron12/files/patch-services_device_serial_BUILD.gn b/devel/electron12/files/patch-services_device_serial_BUILD.gn
new file mode 100644
index 000000000000..7362ee6a11bc
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_serial_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/device/serial/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/device/serial/BUILD.gn
+@@ -5,7 +5,7 @@
+ import("//build/config/chromeos/ui_mode.gni")
+ import("//build/config/features.gni")
+
+-if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) {
++if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_bsd) {
+ config("platform_support") {
+ visibility = [ ":serial" ]
+ if (is_win) {
diff --git a/devel/electron11/files/patch-services_device_serial_serial__device__enumerator.cc b/devel/electron12/files/patch-services_device_serial_serial__device__enumerator.cc
index 465a31d02e64..465a31d02e64 100644
--- a/devel/electron11/files/patch-services_device_serial_serial__device__enumerator.cc
+++ b/devel/electron12/files/patch-services_device_serial_serial__device__enumerator.cc
diff --git a/devel/electron12/files/patch-services_device_serial_serial__io__handler__posix.cc b/devel/electron12/files/patch-services_device_serial_serial__io__handler__posix.cc
new file mode 100644
index 000000000000..466b7abf3e50
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_serial_serial__io__handler__posix.cc
@@ -0,0 +1,22 @@
+--- services/device/serial/serial_io_handler_posix.cc.orig 2021-04-14 01:08:53 UTC
++++ services/device/serial/serial_io_handler_posix.cc
+@@ -38,6 +38,10 @@ struct termios2 {
+
+ #endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
+
++#if defined(OS_BSD)
++#include <sys/serial.h>
++#endif
++
+ #if defined(OS_MAC)
+ #include <IOKit/serial/ioss.h>
+ #endif
+@@ -68,7 +72,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee
+ BITRATE_TO_SPEED_CASE(9600)
+ BITRATE_TO_SPEED_CASE(19200)
+ BITRATE_TO_SPEED_CASE(38400)
+-#if !defined(OS_MAC)
++#if !defined(OS_MAC) && !defined(OS_BSD)
+ BITRATE_TO_SPEED_CASE(57600)
+ BITRATE_TO_SPEED_CASE(115200)
+ BITRATE_TO_SPEED_CASE(230400)
diff --git a/devel/electron12/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/devel/electron12/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
new file mode 100644
index 000000000000..311350a50639
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
@@ -0,0 +1,14 @@
+--- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2021-04-14 01:08:53 UTC
++++ services/device/time_zone_monitor/time_zone_monitor_linux.cc
+@@ -125,7 +125,11 @@ class TimeZoneMonitorLinuxImpl
+ // false positives are harmless, assuming the false positive rate is
+ // reasonable.
+ const char* const kFilesToWatch[] = {
++#if defined(OS_BSD)
++ "/etc/localtime",
++#else
+ "/etc/localtime", "/etc/timezone", "/etc/TZ",
++#endif
+ };
+ for (size_t index = 0; index < base::size(kFilesToWatch); ++index) {
+ file_path_watchers_.push_back(std::make_unique<base::FilePathWatcher>());
diff --git a/devel/electron12/files/patch-services_device_usb_BUILD.gn b/devel/electron12/files/patch-services_device_usb_BUILD.gn
new file mode 100644
index 000000000000..9665b9dca957
--- /dev/null
+++ b/devel/electron12/files/patch-services_device_usb_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/device/usb/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/device/usb/BUILD.gn
+@@ -142,7 +142,7 @@ static_library("usb") {
+ deps += [ "//third_party/re2" ]
+ }
+
+- if (is_android || is_chromeos || is_linux) {
++ if ((is_android || is_chromeos || is_linux) && !is_bsd) {
+ sources += [
+ "usb_device_handle_usbfs.cc",
+ "usb_device_handle_usbfs.h",
diff --git a/devel/electron12/files/patch-services_network_BUILD.gn b/devel/electron12/files/patch-services_network_BUILD.gn
new file mode 100644
index 000000000000..d70a84fd950a
--- /dev/null
+++ b/devel/electron12/files/patch-services_network_BUILD.gn
@@ -0,0 +1,19 @@
+--- services/network/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/network/BUILD.gn
+@@ -273,9 +273,15 @@ component("network_service") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux && !is_bsd) || is_chromeos) {
+ deps += [
+ "//sandbox/linux:sandbox_services",
++ "//sandbox/policy",
++ ]
++ }
++
++ if (is_bsd) {
++ deps += [
+ "//sandbox/policy",
+ ]
+ }
diff --git a/devel/electron11/files/patch-services_network_network__sandbox__hook__linux.cc b/devel/electron12/files/patch-services_network_network__sandbox__hook__linux.cc
index 7dc2fd4f79dc..7dc2fd4f79dc 100644
--- a/devel/electron11/files/patch-services_network_network__sandbox__hook__linux.cc
+++ b/devel/electron12/files/patch-services_network_network__sandbox__hook__linux.cc
diff --git a/devel/electron12/files/patch-services_network_network__service.cc b/devel/electron12/files/patch-services_network_network__service.cc
new file mode 100644
index 000000000000..c69cca3f780b
--- /dev/null
+++ b/devel/electron12/files/patch-services_network_network__service.cc
@@ -0,0 +1,20 @@
+--- services/network/network_service.cc.orig 2021-04-14 01:08:53 UTC
++++ services/network/network_service.cc
+@@ -73,7 +73,7 @@
+ #include "third_party/boringssl/src/include/openssl/cpu.h"
+ #endif
+
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
+ !BUILDFLAG(IS_CHROMECAST)
+ #include "components/os_crypt/key_storage_config_linux.h"
+ #endif
+@@ -680,7 +680,7 @@ void NetworkService::OnCertDBChanged() {
+ net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged();
+ }
+
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) {
+ #if !BUILDFLAG(IS_CHROMECAST)
+ DCHECK(!os_crypt_config_set_);
diff --git a/devel/electron12/files/patch-services_network_network__service.h b/devel/electron12/files/patch-services_network_network__service.h
new file mode 100644
index 000000000000..d3525d5fd4f7
--- /dev/null
+++ b/devel/electron12/files/patch-services_network_network__service.h
@@ -0,0 +1,11 @@
+--- services/network/network_service.h.orig 2021-04-14 01:08:53 UTC
++++ services/network/network_service.h
+@@ -197,7 +197,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService
+ base::span<const uint8_t> config,
+ mojom::NetworkService::UpdateLegacyTLSConfigCallback callback) override;
+ void OnCertDBChanged() override;
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override;
+ #endif
+ #if defined(OS_WIN) || defined(OS_MAC)
diff --git a/devel/electron12/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc b/devel/electron12/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc
new file mode 100644
index 000000000000..cf279c788903
--- /dev/null
+++ b/devel/electron12/files/patch-services_network_public_cpp_cert__verifier_cert__verifier__creation.cc
@@ -0,0 +1,11 @@
+--- services/network/public/cpp/cert_verifier/cert_verifier_creation.cc.orig 2021-04-14 01:08:53 UTC
++++ services/network/public/cpp/cert_verifier/cert_verifier_creation.cc
+@@ -71,7 +71,7 @@ scoped_refptr<net::CertVerifyProc> CreateCertVerifyPro
+
+ bool IsUsingCertNetFetcher() {
+ #if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_CHROMEOS) || \
+- defined(OS_LINUX) || \
++ defined(OS_LINUX) || defined(OS_BSD) || \
+ BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \
+ BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
+ return true;
diff --git a/devel/electron12/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/devel/electron12/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
new file mode 100644
index 000000000000..a035d0b161f6
--- /dev/null
+++ b/devel/electron12/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
@@ -0,0 +1,20 @@
+--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2021-04-14 01:08:53 UTC
++++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
+@@ -50,7 +50,7 @@ namespace {
+ uint32_t CalculatePrivateFootprintKb(const mojom::RawOSMemDump& os_dump,
+ uint32_t shared_resident_kb) {
+ DCHECK(os_dump.platform_private_footprint);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_FUCHSIA)
+ uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes;
+ uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes;
+@@ -90,7 +90,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl
+ os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable;
+ os_dump->private_footprint_kb =
+ CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb);
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
+ os_dump->private_footprint_swap_kb =
+ internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024;
+ #endif
diff --git a/devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
index 31458e9b09e7..31458e9b09e7 100644
--- a/devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
+++ b/devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
diff --git a/devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
index f86c92c432b8..f86c92c432b8 100644
--- a/devel/electron11/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
+++ b/devel/electron12/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
diff --git a/devel/electron12/files/patch-services_service__manager_BUILD.gn b/devel/electron12/files/patch-services_service__manager_BUILD.gn
new file mode 100644
index 000000000000..be9512f9f59d
--- /dev/null
+++ b/devel/electron12/files/patch-services_service__manager_BUILD.gn
@@ -0,0 +1,11 @@
+--- services/service_manager/BUILD.gn.orig 2021-04-14 01:08:53 UTC
++++ services/service_manager/BUILD.gn
+@@ -66,7 +66,7 @@ source_set("service_manager") {
+ ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ deps += [ "//sandbox/linux:sandbox_services" ]
+ }
+ }
diff --git a/devel/electron11/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/devel/electron12/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn
index 150bf6c5e9f0..150bf6c5e9f0 100644
--- a/devel/electron11/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn
+++ b/devel/electron12/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn
diff --git a/devel/electron11/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc b/devel/electron12/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc
index 3b7c10b7fc03..3b7c10b7fc03 100644
--- a/devel/electron11/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc
+++ b/devel/electron12/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc
diff --git a/devel/electron11/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/devel/electron12/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
index 4f75bedf94ab..4f75bedf94ab 100644
--- a/devel/electron11/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
+++ b/devel/electron12/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
diff --git a/devel/electron11/files/patch-services_video__capture_broadcasting__receiver.cc b/devel/electron12/files/patch-services_video__capture_broadcasting__receiver.cc
index 77b9d1aa9f78..77b9d1aa9f78 100644
--- a/devel/electron11/files/patch-services_video__capture_broadcasting__receiver.cc
+++ b/devel/electron12/files/patch-services_video__capture_broadcasting__receiver.cc
diff --git a/devel/electron11/files/patch-skia_ext_SkMemory__new__handler.cpp b/devel/electron12/files/patch-skia_ext_SkMemory__new__handler.cpp
index 62ff9ba33b53..62ff9ba33b53 100644
--- a/devel/electron11/files/patch-skia_ext_SkMemory__new__handler.cpp
+++ b/devel/electron12/files/patch-skia_ext_SkMemory__new__handler.cpp
diff --git a/devel/electron12/files/patch-third__party_angle_BUILD.gn b/devel/electron12/files/patch-third__party_angle_BUILD.gn
new file mode 100644
index 000000000000..c7098332a138
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_BUILD.gn
@@ -0,0 +1,19 @@
+--- third_party/angle/BUILD.gn.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/BUILD.gn
+@@ -194,7 +194,7 @@ config("extra_warnings") {
+ "-Wunreachable-code",
+ "-Wshorten-64-to-32",
+ ]
+- if (!use_xcode_clang) {
++ if (!use_xcode_clang && !is_bsd) {
+ # Mac catalyst uses a clang version that doesn't have these.
+ cflags += [
+ "-Wdeprecated-copy",
+@@ -433,6 +433,7 @@ angle_static_library("angle_gpu_info_util") {
+ "X11",
+ "Xi",
+ "Xext",
++ "GL",
+ ]
+ }
+ }
diff --git a/devel/electron12/files/patch-third__party_angle_src_common_debug.h b/devel/electron12/files/patch-third__party_angle_src_common_debug.h
new file mode 100644
index 000000000000..f3617ef4524a
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_src_common_debug.h
@@ -0,0 +1,11 @@
+--- third_party/angle/src/common/debug.h.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/src/common/debug.h
+@@ -392,7 +392,7 @@ std::ostream &FmtHex(std::ostream &os, T value)
+ # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS
+ #endif
+
+-#if defined(__clang__)
++#if defined(__clang__) && !defined(__FreeBSD__)
+ # define ANGLE_DISABLE_SUGGEST_OVERRIDE_WARNINGS \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wsuggest-destructor-override\"") \
diff --git a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
index 8b4afc136bf9..8b4afc136bf9 100644
--- a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
+++ b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
diff --git a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
index f58198ba716e..f58198ba716e 100644
--- a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
+++ b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
diff --git a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
index 3406a182607e..3406a182607e 100644
--- a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
+++ b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
diff --git a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
index cf0dcb98c59c..cf0dcb98c59c 100644
--- a/devel/electron11/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
+++ b/devel/electron12/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
diff --git a/devel/electron12/files/patch-third__party_angle_src_libANGLE_Display.cpp b/devel/electron12/files/patch-third__party_angle_src_libANGLE_Display.cpp
new file mode 100644
index 000000000000..7b7e391f2aa1
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_src_libANGLE_Display.cpp
@@ -0,0 +1,47 @@
+--- third_party/angle/src/libANGLE/Display.cpp.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/src/libANGLE/Display.cpp
+@@ -55,7 +55,7 @@
+ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h"
+ # elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS)
+ # include "libANGLE/renderer/gl/apple/DisplayApple_api.h"
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
+ # include "libANGLE/renderer/gl/egl/DisplayEGL.h"
+ # if defined(ANGLE_USE_GBM)
+ # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h"
+@@ -272,7 +272,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ impl = rx::CreateDisplayCGLOrEAGL(state);
+ break;
+
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
+ # if defined(ANGLE_USE_GBM)
+ if (platformType == 0)
+ {
+@@ -313,7 +313,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ #if defined(ANGLE_ENABLE_OPENGL)
+ # if defined(ANGLE_PLATFORM_WINDOWS)
+ impl = new rx::DisplayWGL(state);
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
+ # if defined(ANGLE_USE_GBM)
+ if (platformType == 0)
+ {
+@@ -354,7 +354,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
+ {
+ impl = rx::CreateVulkanWin32Display(state);
+ }
+-# elif defined(ANGLE_PLATFORM_LINUX)
++# elif defined(ANGLE_PLATFORM_POSIX)
+ # if defined(ANGLE_USE_X11)
+ if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable())
+ {
+@@ -1646,7 +1646,7 @@ static ClientExtensions GenerateClientExtensions()
+ extensions.x11Visual = true;
+ #endif
+
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ extensions.platformANGLEDeviceTypeEGLANGLE = true;
+ #endif
+
diff --git a/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
new file mode 100644
index 000000000000..cfba83184d8f
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp
@@ -0,0 +1,52 @@
+--- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/src/libANGLE/renderer/driver_utils.cpp
+@@ -17,7 +17,7 @@
+ # include <sys/system_properties.h>
+ #endif
+
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ # include <sys/utsname.h>
+ #endif
+
+@@ -213,7 +213,7 @@ OSVersion GetMacOSVersion()
+ }
+ #endif
+
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch)
+ {
+ errno = 0; // reset global error flag.
+@@ -225,6 +225,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj
+ }
+
+ *minor = static_cast<int>(strtol(next + 1, &next, 10));
++#if defined(__FreeBSD__)
++ if (next == nullptr || *next != '-' || errno != 0)
++ {
++ return false;
++ }
++
++ *patch = 0;
++#else
+ if (next == nullptr || *next != '.' || errno != 0)
+ {
+ return false;
+@@ -235,6 +243,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
+ {
+ return false;
+ }
++#endif
+
+ return true;
+ }
+@@ -242,7 +251,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj
+
+ OSVersion GetLinuxOSVersion()
+ {
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ struct utsname uname_info;
+ if (uname(&uname_info) != 0)
+ {
diff --git a/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
new file mode 100644
index 000000000000..a4cacc651e21
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
@@ -0,0 +1,11 @@
+--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/src/libANGLE/renderer/driver_utils.h
+@@ -151,7 +151,7 @@ inline bool IsWindows()
+
+ inline bool IsLinux()
+ {
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ return true;
+ #else
+ return false;
diff --git a/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
new file mode 100644
index 000000000000..a2b1cd79d984
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
@@ -0,0 +1,20 @@
+--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2021-04-14 01:15:19 UTC
++++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h
+@@ -19,7 +19,7 @@ bool IsVulkanWin32DisplayAvailable();
+ DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state);
+ #endif // defined(ANGLE_PLATFORM_WINDOWS)
+
+-#if defined(ANGLE_PLATFORM_LINUX)
++#if defined(ANGLE_PLATFORM_POSIX)
+ bool IsVulkanXcbDisplayAvailable();
+ DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state);
+
+@@ -28,7 +28,7 @@ DisplayImpl *CreateVulkanSimpleDisplay(const egl::Disp
+
+ bool IsVulkanHeadlessDisplayAvailable();
+ DisplayImpl *CreateVulkanHeadlessDisplay(const egl::DisplayState &state);
+-#endif // defined(ANGLE_PLATFORM_LINUX)
++#endif // defined(ANGLE_PLATFORM_POSIX)
+
+ #if defined(ANGLE_PLATFORM_ANDROID)
+ bool IsVulkanAndroidDisplayAvailable();
diff --git a/devel/electron12/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/devel/electron12/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
new file mode 100644
index 000000000000..376991c827e3
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2021-04-14 01:08:54 UTC
++++ third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc
+@@ -64,7 +64,7 @@ bool StructTraits<blink::mojom::RendererPreferencesDat
+ if (!data.ReadAcceptLanguages(&out->accept_languages))
+ return false;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (!data.ReadSystemFontFamilyName(&out->system_font_family_name))
+ return false;
+ #endif
diff --git a/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h
new file mode 100644
index 000000000000..b03bcd7dc427
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h
@@ -0,0 +1,11 @@
+--- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/public/common/renderer_preferences/renderer_preferences.h
+@@ -49,7 +49,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences {
+ bool webrtc_allow_legacy_tls_protocols{false};
+ UserAgentOverride user_agent_override;
+ std::string accept_languages;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ std::string system_font_family_name;
+ #endif
+ #if defined(OS_WIN)
diff --git a/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
new file mode 100644
index 000000000000..206a5ed00b06
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h
@@ -0,0 +1,11 @@
+--- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h
+@@ -154,7 +154,7 @@ struct BLINK_COMMON_EXPORT
+ return data.accept_languages;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static const std::string& system_font_family_name(
+ const ::blink::RendererPreferences& data) {
+ return data.system_font_family_name;
diff --git a/devel/electron12/files/patch-third__party_blink_public_platform_platform.h b/devel/electron12/files/patch-third__party_blink_public_platform_platform.h
new file mode 100644
index 000000000000..25d74ea3b80e
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_public_platform_platform.h
@@ -0,0 +1,11 @@
+--- third_party/blink/public/platform/platform.h.orig 2021-04-22 07:51:51 UTC
++++ third_party/blink/public/platform/platform.h
+@@ -393,7 +393,7 @@ class BLINK_PLATFORM_EXPORT Platform {
+ return nullptr;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // This is called after the compositor thread is created, so the embedder
+ // can initiate an IPC to change its thread priority (on Linux we can't
+ // increase the nice value, so we need to ask the browser process). This
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_BUILD.gn b/devel/electron12/files/patch-third__party_blink_renderer_BUILD.gn
new file mode 100644
index 000000000000..4af57dfac43c
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_BUILD.gn
@@ -0,0 +1,21 @@
+--- third_party/blink/renderer/BUILD.gn.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/renderer/BUILD.gn
+@@ -46,10 +46,16 @@ config("inside_blink") {
+ "-Wconversion",
+ "-Wno-float-conversion",
+ "-Wno-sign-conversion",
+- "-Wno-implicit-float-conversion",
+- "-Wno-implicit-int-conversion",
+ "-Wno-shorten-64-to-32",
+ ]
++
++ if (is_bsd) {
++ cflags += [
++ "-Wno-implicit-float-conversion",
++ "-Wno-implicit-int-conversion",
++ "-Wno-implicit-int-float-conversion",
++ ]
++ }
+
+ if (!is_chromeos_ash ||
+ default_toolchain != "//build/toolchain/cros:target") {
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/devel/electron12/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
index fa05c06790aa..fa05c06790aa 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
+++ b/devel/electron12/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/devel/electron12/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
new file mode 100644
index 000000000000..b218329618d2
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
@@ -0,0 +1,34 @@
+--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/renderer/controller/blink_initializer.cc
+@@ -67,11 +67,11 @@
+ #include "third_party/blink/renderer/controller/oom_intervention_impl.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_MAC) || defined(OS_WIN)
+ #include "third_party/blink/renderer/controller/highest_pmf_reporter.h"
+ #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h"
+@@ -153,7 +153,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
+ CrashMemoryMetricsReporterImpl::Instance();
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \
+ defined(OS_MAC) || defined(OS_WIN)
+ // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
+ if (UserLevelMemoryPressureSignalGenerator::Enabled())
+@@ -218,7 +218,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder
+ main_thread->GetTaskRunner());
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ binders.Add(ConvertToBaseRepeatingCallback(
+ CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)),
+ main_thread->GetTaskRunner());
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
index 0b09e8837170..0b09e8837170 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h
index 75c84d3a008e..75c84d3a008e 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h
+++ b/devel/electron12/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc
new file mode 100644
index 000000000000..fc8daf8d0fd7
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc
@@ -0,0 +1,15 @@
+--- third_party/blink/renderer/core/clipboard/system_clipboard.cc.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/renderer/core/clipboard/system_clipboard.cc
+@@ -43,10 +43,10 @@ SystemClipboard::SystemClipboard(LocalFrame* frame)
+ frame->GetBrowserInterfaceBroker().GetInterface(
+ clipboard_.BindNewPipeAndPassReceiver(
+ frame->GetTaskRunner(TaskType::kUserInteraction)));
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ is_selection_buffer_available_ =
+ frame->GetSettings()->GetSelectionClipboardBufferAvailable();
+-#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ }
+
+ bool SystemClipboard::IsSelectionMode() const {
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
index c1ec87ff3983..c1ec87ff3983 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
new file mode 100644
index 000000000000..7cc9bb4747a4
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc
@@ -0,0 +1,26 @@
+--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2021-04-22 07:51:51 UTC
++++ third_party/blink/renderer/core/exported/web_view_impl.cc
+@@ -411,7 +411,7 @@ ui::mojom::blink::WindowOpenDisposition NavigationPoli
+ #if !defined(OS_MAC) && !defined(OS_WIN)
+ SkFontHinting RendererPreferencesToSkiaHinting(
+ const blink::RendererPreferences& prefs) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (!prefs.should_antialias_text) {
+ // When anti-aliasing is off, GTK maps all non-zero hinting settings to
+ // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight'
+@@ -3079,12 +3079,12 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs
+ gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE);
+ WebFontRenderStyle::SetSubpixelPositioning(
+ renderer_preferences_.use_subpixel_positioning);
+-#if defined(OS_LINUX) && !defined(OS_ANDROID)
++#if (defined(OS_LINUX) && !defined(OS_ANDROID)) || defined(OS_BSD)
+ if (!renderer_preferences_.system_font_family_name.empty()) {
+ WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8(
+ renderer_preferences_.system_font_family_name));
+ }
+-#endif // defined(OS_LINUX) && !defined(OS_ANDROID)
++#endif // (defined(OS_LINUX) && !defined(OS_ANDROID)) || defined(OS_BSD)
+ #endif // defined(OS_WIN)
+ #endif // !defined(OS_MAC)
+ }
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
index 3bdba12c8c27..3bdba12c8c27 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc
index 48ec6c4e25f9..48ec6c4e25f9 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
index 0634092c8d29..0634092c8d29 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
new file mode 100644
index 000000000000..bd0ea24eb4d8
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
@@ -0,0 +1,20 @@
+--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2021-04-14 01:08:55 UTC
++++ third_party/blink/renderer/core/layout/layout_view.cc
+@@ -61,7 +61,7 @@
+ #include "third_party/blink/renderer/platform/instrumentation/tracing/traced_value.h"
+ #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "third_party/blink/renderer/platform/fonts/font_cache.h"
+ #endif
+
+@@ -341,7 +341,7 @@ void LayoutView::UpdateLayout() {
+ DCHECK(!layout_state_);
+ LayoutState root_layout_state(*this);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // The font code in FontPlatformData does not have a direct connection to the
+ // document, the frame or anything from which we could retrieve the device
+ // scale factor. After using zoom for DSF, the GraphicsContext does only ever
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
index 2a769966aea3..2a769966aea3 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/devel/electron12/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
new file mode 100644
index 000000000000..a4ac4082cd94
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
@@ -0,0 +1,20 @@
+--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc
+@@ -137,7 +137,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const
+ // Disable snapback on desktop Linux to better integrate with the desktop
+ // behavior. Typically, Linux apps do not implement scrollbar snapback (this
+ // is true for at least GTK and QT apps).
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ return false;
+ #else
+ return true;
+@@ -303,7 +303,7 @@ ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnT
+
+ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar,
+ const WebMouseEvent& event) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ if (event.button == WebPointerProperties::Button::kMiddle)
+ return true;
+ #endif
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc b/devel/electron12/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
new file mode 100644
index 000000000000..35ae80b06a98
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc
+@@ -33,7 +33,7 @@ WebAudioDeviceFactory* WebAudioDeviceFactory::factory_
+
+ namespace {
+
+-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \
+ BUILDFLAG(IS_CHROMEOS_LACROS)
+ // Due to driver deadlock issues on Windows (http://crbug/422522) there is a
+ // chance device authorization response is never received from the browser side.
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc b/devel/electron12/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc
new file mode 100644
index 000000000000..ec2af282ebe8
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc
+@@ -409,7 +409,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor(
+ bool key_pressed) {
+ #if defined(OS_WIN) || defined(OS_MAC)
+ DCHECK_LE(volume, 1.0);
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_OPENBSD) || defined(OS_BSD)
+ // We have a special situation on Linux where the microphone volume can be
+ // "higher than maximum". The input volume slider in the sound preference
+ // allows the user to set a scaling that is higher than 100%. It means that
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/devel/electron12/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
new file mode 100644
index 000000000000..588472d98ee3
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc
+@@ -283,7 +283,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_Multipl
+ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_VerifySinkParameters) {
+ SetupRenderer(kDefaultOutputDeviceId);
+ renderer_proxy_->Start();
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \
+ defined(OS_FUCHSIA)
+ static const int kExpectedBufferSize = kHardwareSampleRate / 100;
+ #elif defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/devel/electron12/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
new file mode 100644
index 000000000000..f6b3157124b2
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc
@@ -0,0 +1,13 @@
+--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc
+@@ -430,8 +430,8 @@ class AudioWorkletThreadPriorityTest
+ base::PlatformThread::GetCurrentThreadPriority();
+
+ // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL
+- // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting.
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++ // on OS_LINUX, OS_CHROMEOS and OS_BSD regardless of the thread priority setting.
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (expected_priority == base::ThreadPriority::REALTIME_AUDIO ||
+ expected_priority == base::ThreadPriority::DISPLAY) {
+ EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL);
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc b/devel/electron12/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
new file mode 100644
index 000000000000..e4d8a5572b5b
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc
+@@ -235,7 +235,7 @@ WebGLExtensionName WebGLWebCodecsVideoFrame::GetName()
+ }
+
+ bool WebGLWebCodecsVideoFrame::Supported(WebGLRenderingContextBase* context) {
+-#if defined(OS_LINUX) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ // TODO(jie.a.chen@intel.com): Add Linux support.
+ return false;
+ #else
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_platform_BUILD.gn b/devel/electron12/files/patch-third__party_blink_renderer_platform_BUILD.gn
new file mode 100644
index 000000000000..a2fc26d27456
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_BUILD.gn
@@ -0,0 +1,10 @@
+--- third_party/blink/renderer/platform/BUILD.gn.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/platform/BUILD.gn
+@@ -106,6 +106,7 @@ executable("character_data_generator") {
+ "//build/win:default_exe_manifest",
+ "//third_party/icu",
+ ]
++ libs = [ "cxxrt" ]
+ }
+
+ # This isn't strictly necessary since we can just add the deps to "platform",
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
index 6865c94c719d..6865c94c719d 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
new file mode 100644
index 000000000000..110baca8e46e
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
@@ -0,0 +1,58 @@
+--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/platform/fonts/font_cache.h
+@@ -58,7 +58,7 @@
+ #include "third_party/skia/include/core/SkFontMgr.h"
+ #include "third_party/skia/include/core/SkRefCnt.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/gfx/font_fallback_linux.h"
+ #endif
+
+@@ -173,7 +173,7 @@ class PLATFORM_EXPORT FontCache {
+ sk_sp<SkFontMgr> FontManager() { return font_manager_; }
+ static void SetFontManager(sk_sp<SkFontMgr>);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // These are needed for calling QueryRenderStyleForStrike, since
+ // gfx::GetFontRenderParams makes distinctions based on DSF.
+ static float DeviceScaleFactor() { return device_scale_factor_; }
+@@ -248,11 +248,11 @@ class PLATFORM_EXPORT FontCache {
+ const FontDescription&);
+ #endif // defined(OS_ANDROID)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static bool GetFontForCharacter(UChar32,
+ const char* preferred_locale,
+ gfx::FallbackFontData*);
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ scoped_refptr<SimpleFontData> FontDataFromFontPlatformData(
+ const FontPlatformData*,
+@@ -326,12 +326,12 @@ class PLATFORM_EXPORT FontCache {
+ const FontFaceCreationParams&,
+ std::string& name);
+
+-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
+ UChar32,
+ const FontDescription&,
+ FontFallbackPriority);
+-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle(
+ const FontDescription&,
+@@ -371,7 +371,7 @@ class PLATFORM_EXPORT FontCache {
+ std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_;
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ static float device_scale_factor_;
+ #endif
+
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
index 33fce79386a8..33fce79386a8 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
index 7bb1c195648c..7bb1c195648c 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
index d578b50165d0..d578b50165d0 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc
index 0e3812563971..0e3812563971 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_shaping_harfbuzz__shaper__test.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
index 6203f8fdf0fa..6203f8fdf0fa 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc
index caecf6c97162..caecf6c97162 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_image__frame__generator__test.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
index ad8cda2706c1..ad8cda2706c1 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc
diff --git a/devel/electron12/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc
new file mode 100644
index 000000000000..c2d9ee447f47
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc
@@ -0,0 +1,11 @@
+--- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2021-04-14 01:08:56 UTC
++++ third_party/blink/renderer/platform/scheduler/common/thread.cc
+@@ -96,7 +96,7 @@ void Thread::CreateAndSetCompositorThread() {
+ std::make_unique<scheduler::CompositorThread>(params);
+ compositor_thread->Init();
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (base::FeatureList::IsEnabled(
+ features::kBlinkCompositorUseDisplayThreadPriority)) {
+ compositor_thread->GetTaskRunner()->PostTaskAndReplyWithResult(
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
index e9e1cbac5ae5..e9e1cbac5ae5 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
index e53535decfed..e53535decfed 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
diff --git a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
index ddc458f7b8b9..ddc458f7b8b9 100644
--- a/devel/electron11/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
+++ b/devel/electron12/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
diff --git a/devel/electron11/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c b/devel/electron12/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
index 3cdc4ed4a208..3cdc4ed4a208 100644
--- a/devel/electron11/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
+++ b/devel/electron12/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
diff --git a/devel/electron11/files/patch-third__party_boringssl_src_crypto_ex__data.c b/devel/electron12/files/patch-third__party_boringssl_src_crypto_ex__data.c
index 1d3504ac4733..1d3504ac4733 100644
--- a/devel/electron11/files/patch-third__party_boringssl_src_crypto_ex__data.c
+++ b/devel/electron12/files/patch-third__party_boringssl_src_crypto_ex__data.c
diff --git a/devel/electron11/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h b/devel/electron12/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
index 7cd09d2d9636..7cd09d2d9636 100644
--- a/devel/electron11/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
+++ b/devel/electron12/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
diff --git a/devel/electron12/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/devel/electron12/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
new file mode 100644
index 000000000000..98065bcb6482
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
@@ -0,0 +1,15 @@
+--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2021-04-14 01:09:36 UTC
++++ third_party/crashpad/crashpad/client/BUILD.gn
+@@ -77,6 +77,12 @@ crashpad_static_library("client") {
+ sources += [ "crashpad_client_fuchsia.cc" ]
+ }
+
++ if (crashpad_is_posix) {
++ sources += [
++ "crashpad_client_posix.cc",
++ ]
++ }
++
+ if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) {
+ sources += [ "crash_report_database_generic.cc" ]
+ }
diff --git a/devel/electron11/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/devel/electron12/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
index e87ae55ca7ee..e87ae55ca7ee 100644
--- a/devel/electron11/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
+++ b/devel/electron12/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
diff --git a/devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
index 3de63c214457..3de63c214457 100644
--- a/devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
+++ b/devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
diff --git a/devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
index f8f54cfcc501..f8f54cfcc501 100644
--- a/devel/electron11/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
+++ b/devel/electron12/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
diff --git a/devel/electron11/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h b/devel/electron12/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h
index 5d5511987d2f..5d5511987d2f 100644
--- a/devel/electron11/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h
+++ b/devel/electron12/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h
diff --git a/devel/electron12/files/patch-third__party_electron__node_deps_uv_BUILD.gn b/devel/electron12/files/patch-third__party_electron__node_deps_uv_BUILD.gn
new file mode 100644
index 000000000000..6f979e91fcbd
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_electron__node_deps_uv_BUILD.gn
@@ -0,0 +1,46 @@
+--- third_party/electron_node/deps/uv/BUILD.gn.orig 2021-04-22 07:51:51 UTC
++++ third_party/electron_node/deps/uv/BUILD.gn
+@@ -3,7 +3,7 @@ config("libuv_config") {
+
+ defines = []
+
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ defines += [ "_POSIX_C_SOURCE=200112" ]
+ }
+ if (!is_win) {
+@@ -151,7 +151,7 @@ static_library("uv") {
+ libs += [ "m" ]
+ ldflags += [ "-pthread" ]
+ }
+- if (is_mac || is_linux) {
++ if (is_mac || (is_linux && !is_bsd)) {
+ sources += [ "src/unix/proctitle.c" ]
+ }
+ if (is_mac) {
+@@ -166,7 +166,7 @@ static_library("uv") {
+ "_DARWIN_UNLIMITED_SELECT=1",
+ ]
+ }
+- if (is_linux) {
++ if (is_linux && !is_bsd) {
+ defines += [ "_GNU_SOURCE" ]
+ sources += [
+ "src/unix/linux-core.c",
+@@ -186,6 +186,16 @@ static_library("uv") {
+ sources += [
+ "src/unix/bsd-ifaddrs.c",
+ "src/unix/kqueue.c",
++ ]
++ }
++ if (is_bsd) {
++ sources += [
++ "src/unix/bsd-ifaddrs.c",
++ "src/unix/bsd-proctitle.c",
++ "src/unix/freebsd.c",
++ "src/unix/kqueue.c",
++ "src/unix/posix-hrtime.c",
++ "src/unix/random-getrandom.c",
+ ]
+ }
+ }
diff --git a/devel/electron11/files/patch-third__party_ffmpeg_libavutil_mem.c b/devel/electron12/files/patch-third__party_ffmpeg_libavutil_mem.c
index 22710be8ea05..22710be8ea05 100644
--- a/devel/electron11/files/patch-third__party_ffmpeg_libavutil_mem.c
+++ b/devel/electron12/files/patch-third__party_ffmpeg_libavutil_mem.c
diff --git a/devel/electron11/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h b/devel/electron12/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h
index 5b6fa30e175d..5b6fa30e175d 100644
--- a/devel/electron11/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h
+++ b/devel/electron12/files/patch-third__party_googletest_src_googletest_include_gtest_internal_gtest-port.h
diff --git a/devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc b/devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
index 7c11246ae8b8..7c11246ae8b8 100644
--- a/devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
+++ b/devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
diff --git a/devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest.cc b/devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest.cc
index 9cc7c8926c0f..9cc7c8926c0f 100644
--- a/devel/electron11/files/patch-third__party_googletest_src_googletest_src_gtest.cc
+++ b/devel/electron12/files/patch-third__party_googletest_src_googletest_src_gtest.cc
diff --git a/devel/electron12/files/patch-third__party_harfbuzz-ng_harfbuzz.gni b/devel/electron12/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
new file mode 100644
index 000000000000..73e90986d5e9
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
@@ -0,0 +1,20 @@
+--- third_party/harfbuzz-ng/harfbuzz.gni.orig 2021-04-14 01:09:37 UTC
++++ third_party/harfbuzz-ng/harfbuzz.gni
+@@ -3,10 +3,11 @@
+ # found in the LICENSE file.
+
+ declare_args() {
+- # Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not
+- # contain a new enough version of the code to work correctly. However,
+- # ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a
+- # new enough version of the library, and so this variable exists so that
+- # ChromeOS can build against the system lib and keep binary sizes smaller.
+- use_system_harfbuzz = false
++ # Blink uses a cutting-edge version of Harfbuzz (version listed in
++ # third_party/harfbuzz-ng/README.chromium); most Linux distros do not contain
++ # a new enough version of the code to work correctly. However, ChromeOS
++ # chroots (i.e. real ChromeOS builds for devices) do contain a new enough
++ # version of the library, and so this variable exists so that ChromeOS can
++ # build against the system lib and keep binary sizes smaller.
++ use_system_harfbuzz = true
+ }
diff --git a/devel/electron11/files/patch-third__party_leveldatabase_env__chromium.cc b/devel/electron12/files/patch-third__party_leveldatabase_env__chromium.cc
index 35c344a740f9..35c344a740f9 100644
--- a/devel/electron11/files/patch-third__party_leveldatabase_env__chromium.cc
+++ b/devel/electron12/files/patch-third__party_leveldatabase_env__chromium.cc
diff --git a/devel/electron11/files/patch-third__party_libXNVCtrl_NVCtrl.c b/devel/electron12/files/patch-third__party_libXNVCtrl_NVCtrl.c
index e65e639140f5..e65e639140f5 100644
--- a/devel/electron11/files/patch-third__party_libXNVCtrl_NVCtrl.c
+++ b/devel/electron12/files/patch-third__party_libXNVCtrl_NVCtrl.c
diff --git a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
index 4c849a52a084..4c849a52a084 100644
--- a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
+++ b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
diff --git a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
index d06e5f876bf7..d06e5f876bf7 100644
--- a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
+++ b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
diff --git a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
index b17869cead4b..b17869cead4b 100644
--- a/devel/electron11/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
+++ b/devel/electron12/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
diff --git a/devel/electron11/files/patch-third__party_libpng_pnglibconf.h b/devel/electron12/files/patch-third__party_libpng_pnglibconf.h
index 711a144a5d0b..711a144a5d0b 100644
--- a/devel/electron11/files/patch-third__party_libpng_pnglibconf.h
+++ b/devel/electron12/files/patch-third__party_libpng_pnglibconf.h
diff --git a/devel/electron12/files/patch-third__party_libva__protected__content_va__protected__content.h b/devel/electron12/files/patch-third__party_libva__protected__content_va__protected__content.h
new file mode 100644
index 000000000000..1023cdc82272
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_libva__protected__content_va__protected__content.h
@@ -0,0 +1,34 @@
+--- third_party/libva_protected_content/va_protected_content.h.orig 2021-04-14 01:09:37 UTC
++++ third_party/libva_protected_content/va_protected_content.h
+@@ -133,6 +133,7 @@ extern "C" {
+ #define VA_PC_SAMPLE_TYPE_SUBSAMPLE 0x00000002
+
+ /** \brief TeeExec Function Codes. */
++#if 0
+ typedef enum _VA_TEE_EXEC_FUNCTION_ID {
+ VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH_NONE = 0x0,
+
+@@ -144,6 +145,7 @@ typedef enum _VA_TEE_EXEC_FUNCTION_ID {
+ VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH = 0x40001000,
+
+ } VA_TEE_EXEC_FUNCTION_ID;
++#endif
+
+ /** \brief values for the encryption return status. */
+ typedef enum {
+@@ -160,6 +162,7 @@ typedef enum {
+ } VAEncryptionStatus;
+
+ /** \brief structure for encrypted segment info. */
++#if 0
+ typedef struct _VAEncryptionSegmentInfo {
+ /** \brief The offset relative to the start of the bitstream input in
+ * bytes of the start of the segment*/
+@@ -215,6 +218,7 @@ typedef struct _VAEncryptionParameters {
+ /** \brief Reserved bytes for future use, must be zero */
+ uint32_t va_reserved[VA_PADDING_MEDIUM];
+ } VAEncryptionParameters;
++#endif
+
+ /** \brief structure for VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT */
+ typedef struct _VA_PROTECTED_BLT_PARAMS {
diff --git a/devel/electron12/files/patch-third__party_libyuv_include_libyuv_row.h b/devel/electron12/files/patch-third__party_libyuv_include_libyuv_row.h
new file mode 100644
index 000000000000..add71116261f
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_libyuv_include_libyuv_row.h
@@ -0,0 +1,37 @@
+--- third_party/libyuv/include/libyuv/row.h.orig 2021-04-14 01:15:25 UTC
++++ third_party/libyuv/include/libyuv/row.h
+@@ -158,10 +158,14 @@ extern "C" {
+ #define HAS_ARGBSHADEROW_SSE2
+ #define HAS_ARGBSUBTRACTROW_SSE2
+ #define HAS_ARGBUNATTENUATEROW_SSE2
++#if !(defined(__i386__) && defined(__GNUC__))
+ #define HAS_BLENDPLANEROW_SSSE3
++#endif
+ #define HAS_COMPUTECUMULATIVESUMROW_SSE2
+ #define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2
++#if !(defined(__i386__) && defined(__GNUC__))
+ #define HAS_INTERPOLATEROW_SSSE3
++#endif
+ #define HAS_RGBCOLORTABLEROW_X86
+ #define HAS_SOBELROW_SSE2
+ #define HAS_SOBELTOPLANEROW_SSE2
+@@ -208,7 +212,9 @@ extern "C" {
+ #define HAS_I422TORGB565ROW_AVX2
+ #define HAS_I422TORGBAROW_AVX2
+ #define HAS_I444TOARGBROW_AVX2
++#if !(defined(__i386__) && defined(__GNUC__))
+ #define HAS_INTERPOLATEROW_AVX2
++#endif
+ #define HAS_J422TOARGBROW_AVX2
+ #define HAS_MERGEUVROW_AVX2
+ #define HAS_MIRRORROW_AVX2
+@@ -233,7 +239,9 @@ extern "C" {
+ #define HAS_ARGBMULTIPLYROW_AVX2
+ #define HAS_ARGBSUBTRACTROW_AVX2
+ #define HAS_ARGBUNATTENUATEROW_AVX2
++#if !(defined(__i386__) && defined(__GNUC__))
+ #define HAS_BLENDPLANEROW_AVX2
++#endif
+
+ #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \
+ defined(_MSC_VER)
diff --git a/devel/electron11/files/patch-third__party_nasm_config_config-linux.h b/devel/electron12/files/patch-third__party_nasm_config_config-linux.h
index 7c3e51e706d3..7c3e51e706d3 100644
--- a/devel/electron11/files/patch-third__party_nasm_config_config-linux.h
+++ b/devel/electron12/files/patch-third__party_nasm_config_config-linux.h
diff --git a/devel/electron11/files/patch-third__party_node_node.py b/devel/electron12/files/patch-third__party_node_node.py
index fa61871dc938..fa61871dc938 100644
--- a/devel/electron11/files/patch-third__party_node_node.py
+++ b/devel/electron12/files/patch-third__party_node_node.py
diff --git a/devel/electron11/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc b/devel/electron12/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc
index 3fbe75d7bba8..3fbe75d7bba8 100644
--- a/devel/electron11/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc
+++ b/devel/electron12/files/patch-third__party_openscreen_src_platform_impl_udp__socket__posix.cc
diff --git a/devel/electron11/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp b/devel/electron12/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
index 8ef1631eb1f9..8ef1631eb1f9 100644
--- a/devel/electron11/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
+++ b/devel/electron12/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
diff --git a/devel/electron11/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/devel/electron12/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
index b87649cf81ac..b87649cf81ac 100644
--- a/devel/electron11/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
+++ b/devel/electron12/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp
diff --git a/devel/electron11/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp b/devel/electron12/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp
index 6a61e117a2d4..6a61e117a2d4 100644
--- a/devel/electron11/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp
+++ b/devel/electron12/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp
diff --git a/devel/electron11/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp b/devel/electron12/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
index 3852da5019ba..3852da5019ba 100644
--- a/devel/electron11/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
+++ b/devel/electron12/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
diff --git a/devel/electron11/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp b/devel/electron12/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
index 3e28e12f72fa..3e28e12f72fa 100644
--- a/devel/electron11/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
+++ b/devel/electron12/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
diff --git a/devel/electron11/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h b/devel/electron12/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h
index f027222bdebf..f027222bdebf 100644
--- a/devel/electron11/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ b/devel/electron12/files/patch-third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h
diff --git a/devel/electron12/files/patch-third__party_perfetto_gn_BUILD.gn b/devel/electron12/files/patch-third__party_perfetto_gn_BUILD.gn
new file mode 100644
index 000000000000..456cdafcf489
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_gn_BUILD.gn
@@ -0,0 +1,19 @@
+--- third_party/perfetto/gn/BUILD.gn.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/gn/BUILD.gn
+@@ -48,13 +48,15 @@ action("gen_buildflags") {
+ # we run the tools/gen_xxx generators.
+ if (enable_perfetto_watchdog) {
+ perfetto_watchdog = "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() || " +
+- "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX()"
++ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() || " +
++ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD()"
+ } else {
+ perfetto_watchdog = "0"
+ }
+ if (enable_perfetto_tools) {
+ perfetto_local_symbolizer =
+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() || " +
++ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() || " +
+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() ||" +
+ "PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN()"
+ } else {
diff --git a/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
new file mode 100644
index 000000000000..b5265ecba2a1
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
@@ -0,0 +1,72 @@
+--- third_party/perfetto/include/perfetto/base/build_config.h.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/include/perfetto/base/build_config.h
+@@ -27,6 +27,7 @@
+ #if defined(__ANDROID__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -38,6 +39,7 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
+@@ -54,6 +56,7 @@
+ #elif defined(__linux__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -61,9 +64,21 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
++#elif defined(__FreeBSD__)
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
+ #elif defined(_WIN32)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -74,6 +89,7 @@
+ #elif defined(__EMSCRIPTEN__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -87,6 +103,7 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1
+@@ -94,6 +111,7 @@
+ #elif defined(__native_client__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
diff --git a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
index 733a25c13948..733a25c13948 100644
--- a/devel/electron11/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
+++ b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
diff --git a/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_time.h b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_time.h
new file mode 100644
index 000000000000..28f6d48798d0
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_base_time.h
@@ -0,0 +1,20 @@
+--- third_party/perfetto/include/perfetto/base/time.h.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/include/perfetto/base/time.h
+@@ -142,6 +142,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
+ // Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time
+ // during suspend (when supported).
+ inline TimeNanos GetBootTimeNs() {
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++ return GetTimeInternalNs(kWallTimeClockSource);
++#else
+ // Determine if CLOCK_BOOTTIME is available on the first call.
+ static const clockid_t kBootTimeClockSource = [] {
+ struct timespec ts = {};
+@@ -149,6 +152,7 @@ inline TimeNanos GetBootTimeNs() {
+ return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
+ }();
+ return GetTimeInternalNs(kBootTimeClockSource);
++#endif
+ }
+
+ inline TimeNanos GetWallTimeNs() {
diff --git a/devel/electron12/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
new file mode 100644
index 000000000000..b6695a01a35f
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
@@ -0,0 +1,32 @@
+--- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/include/perfetto/ext/base/thread_utils.h
+@@ -23,7 +23,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #include <pthread.h>
+ #include <string.h>
+ #include <algorithm>
+@@ -37,7 +38,8 @@ namespace base {
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ // Sets the "comm" of the calling thread to the first 15 chars of the given
+ // string.
+ inline bool MaybeSetThreadName(const std::string& name) {
+@@ -47,6 +49,9 @@ inline bool MaybeSetThreadName(const std::string& name
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+ return pthread_setname_np(buf) == 0;
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++ pthread_set_name_np(pthread_self(), buf);
++ return true;
+ #else
+ return pthread_setname_np(pthread_self(), buf) == 0;
+ #endif
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc
new file mode 100644
index 000000000000..fbf9a8674245
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_ctrl__c__handler.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/base/ctrl_c_handler.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/ctrl_c_handler.cc
+@@ -51,7 +51,8 @@ void InstallCtrCHandler(CtrlCHandlerFunction handler)
+ ::SetConsoleCtrlHandler(trampoline, true);
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ // Setup signal handler.
+ struct sigaction sa {};
+
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_file__utils.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_file__utils.cc
new file mode 100644
index 000000000000..fbb1a6d29063
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_file__utils.cc
@@ -0,0 +1,14 @@
+--- third_party/perfetto/src/base/file_utils.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/file_utils.cc
+@@ -148,8 +148,9 @@ ssize_t WriteAllHandle(PlatformHandle h, const void* b
+
+ bool FlushFile(int fd) {
+ PERFETTO_DCHECK(fd != 0);
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ return !PERFETTO_EINTR(fdatasync(fd));
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+ return !PERFETTO_EINTR(_commit(fd));
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_subprocess__posix.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
new file mode 100644
index 000000000000..3d1a5dee95f1
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
@@ -0,0 +1,37 @@
+--- third_party/perfetto/src/base/subprocess_posix.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/subprocess_posix.cc
+@@ -20,7 +20,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+
+ #include <fcntl.h>
+ #include <poll.h>
+@@ -38,6 +39,8 @@
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ #include <sys/prctl.h>
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++#include <sys/procctl.h>
+ #endif
+
+ #include "perfetto/base/logging.h"
+@@ -70,6 +73,9 @@ void __attribute__((noreturn)) ChildProcess(ChildProce
+ // relevant for tests, so that a test failure/crash doesn't leave child
+ // processes around that get reparented to init.
+ prctl(PR_SET_PDEATHSIG, SIGKILL);
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
++ int procctl_value = SIGKILL;
++ procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value);
+ #endif
+
+ auto die = [args](const char* err) __attribute__((noreturn)) {
+@@ -431,4 +437,4 @@ void Subprocess::KillAndWaitForTermination(int sig_num
+ } // namespace base
+ } // namespace perfetto
+
+-#endif // PERFETTO_OS_LINUX || PERFETTO_OS_ANDROID || PERFETTO_OS_APPLE
++#endif // PERFETTO_OS_LINUX || PERFETTO_OS_ANDROID || PERFETTO_OS_APPLE || PERFETTO_OS_FREEBSD
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_unix__socket.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_unix__socket.cc
new file mode 100644
index 000000000000..533d908ea97f
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_unix__socket.cc
@@ -0,0 +1,21 @@
+--- third_party/perfetto/src/base/unix_socket.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/unix_socket.cc
+@@ -41,7 +41,7 @@
+ #include <unistd.h>
+ #endif
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #include <sys/ucred.h>
+ #endif
+
+@@ -758,7 +758,8 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ PERFETTO_CHECK(res == 0);
+ peer_uid_ = user_cred.uid;
+ peer_pid_ = user_cred.pid;
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ struct xucred user_cred;
+ socklen_t len = sizeof(user_cred);
+ int res = getsockopt(sock_raw_.fd(), 0, LOCAL_PEERCRED, &user_cred, &len);
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_utils.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_utils.cc
new file mode 100644
index 000000000000..0fc0b1c80a1d
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_utils.cc
@@ -0,0 +1,34 @@
+--- third_party/perfetto/src/base/utils.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/utils.cc
+@@ -21,7 +21,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #include <unistd.h> // For getpagesize() and geteuid().
+ #endif
+
+@@ -67,8 +68,9 @@ void MaybeReleaseAllocatorMemToOS() {
+
+ uint32_t GetSysPageSize() {
+ ignore_result(kPageSize); // Just to keep the amalgamated build happy.
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ static std::atomic<uint32_t> page_size{0};
+ // This function might be called in hot paths. Avoid calling getpagesize() all
+ // the times, in many implementations getpagesize() calls sysconf() which is
+@@ -89,7 +91,8 @@ uint32_t GetSysPageSize() {
+ uid_t GetCurrentUserId() {
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ return geteuid();
+ #else
+ // TODO(primiano): On Windows we could hash the current user SID and derive a
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_base_watchdog__posix.cc b/devel/electron12/files/patch-third__party_perfetto_src_base_watchdog__posix.cc
new file mode 100644
index 000000000000..3853a56c6ff3
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_base_watchdog__posix.cc
@@ -0,0 +1,14 @@
+--- third_party/perfetto/src/base/watchdog_posix.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/base/watchdog_posix.cc
+@@ -114,8 +114,9 @@ void Watchdog::Start() {
+ } else {
+ PERFETTO_DCHECK(!enabled_);
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ // Kick the thread to start running but only on Android or Linux.
+ enabled_ = true;
+ thread_ = std::thread(&Watchdog::ThreadMain, this);
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc b/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc
new file mode 100644
index 000000000000..974c6ba28911
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_read__trace.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/trace_processor/read_trace.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/trace_processor/read_trace.cc
+@@ -33,7 +33,8 @@
+ #include "protos/perfetto/trace/trace_packet.pbzero.h"
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #define PERFETTO_HAS_AIO_H() 1
+ #else
+ #define PERFETTO_HAS_AIO_H() 0
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc b/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc
new file mode 100644
index 000000000000..d83983243b04
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_trace__processor_trace__processor__shell.cc
@@ -0,0 +1,22 @@
+--- third_party/perfetto/src/trace_processor/trace_processor_shell.cc.orig 2021-04-14 01:15:26 UTC
++++ third_party/perfetto/src/trace_processor/trace_processor_shell.cc
+@@ -55,7 +55,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #define PERFETTO_HAS_SIGNAL_H() 1
+ #else
+ #define PERFETTO_HAS_SIGNAL_H() 0
+@@ -103,7 +104,8 @@ std::string GetConfigPath() {
+ const char* homedir = getenv("HOME");
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ if (homedir == nullptr)
+ homedir = getpwuid(getuid())->pw_dir;
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_traced_service_service.cc b/devel/electron12/files/patch-third__party_perfetto_src_traced_service_service.cc
new file mode 100644
index 000000000000..1425a881d4ab
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_traced_service_service.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/traced/service/service.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/traced/service/service.cc
+@@ -28,7 +28,8 @@
+ #include "src/traced/service/builtin_producer.h"
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #define PERFETTO_SET_SOCKET_PERMISSIONS
+ #include <fcntl.h>
+ #include <grp.h>
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/devel/electron12/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
new file mode 100644
index 000000000000..4880bbef3ecc
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
@@ -0,0 +1,24 @@
+--- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc
+@@ -38,7 +38,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ #define PERFETTO_HAS_CHMOD
+ #include <sys/stat.h>
+ #endif
+@@ -2659,8 +2660,9 @@ bool TracingServiceImpl::SnapshotClocks(
+
+ TracingSession::ClockSnapshotData new_snapshot_data;
+
+-#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
+- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
+ struct {
+ clockid_t id;
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc
new file mode 100644
index 000000000000..9e14c893786b
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_default__socket.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/src/tracing/ipc/default_socket.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/ipc/default_socket.cc
+@@ -35,7 +35,8 @@ const char* kRunPerfettoBaseDir = "/run/perfetto/";
+ bool UseRunPerfettoBaseDir() {
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ // Note that the trailing / in |kRunPerfettoBaseDir| ensures we are checking
+ // against a directory, not a file.
+ int res = PERFETTO_EINTR(access(kRunPerfettoBaseDir, X_OK));
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
new file mode 100644
index 000000000000..c3d8bfa075ee
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
@@ -0,0 +1,16 @@
+--- third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/ipc/memfd.cc
+@@ -18,9 +18,10 @@
+
+ #include <errno.h>
+
+-#define PERFETTO_MEMFD_ENABLED() \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
++#define PERFETTO_MEMFD_ENABLED() \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+
+ #if PERFETTO_MEMFD_ENABLED()
+
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc
new file mode 100644
index 000000000000..777583dc3313
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.cc
@@ -0,0 +1,18 @@
+--- third_party/perfetto/src/tracing/ipc/posix_shared_memory.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/ipc/posix_shared_memory.cc
+@@ -18,7 +18,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+
+ #include <fcntl.h>
+ #include <stdint.h>
+@@ -132,4 +133,4 @@ std::unique_ptr<SharedMemory> PosixSharedMemory::Facto
+
+ } // namespace perfetto
+
+-#endif // OS_LINUX || OS_ANDROID || OS_APPLE
++#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h
new file mode 100644
index 000000000000..e4bee9f33082
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_ipc_posix__shared__memory.h
@@ -0,0 +1,19 @@
+--- third_party/perfetto/src/tracing/ipc/posix_shared_memory.h.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/ipc/posix_shared_memory.h
+@@ -21,7 +21,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+
+ #include <stddef.h>
+
+@@ -76,5 +77,5 @@ class PosixSharedMemory : public SharedMemory {
+
+ } // namespace perfetto
+
+-#endif // OS_LINUX || OS_ANDROID || OS_APPLE
++#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
+ #endif // SRC_TRACING_IPC_POSIX_SHARED_MEMORY_H_
diff --git a/devel/electron12/files/patch-third__party_perfetto_src_tracing_platform__posix.cc b/devel/electron12/files/patch-third__party_perfetto_src_tracing_platform__posix.cc
new file mode 100644
index 000000000000..d73d73d75a63
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_src_tracing_platform__posix.cc
@@ -0,0 +1,28 @@
+--- third_party/perfetto/src/tracing/platform_posix.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/src/tracing/platform_posix.cc
+@@ -18,7 +18,8 @@
+
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+
+ #include "perfetto/ext/base/file_utils.h"
+ #include "perfetto/ext/base/thread_task_runner.h"
+@@ -82,7 +83,8 @@ std::string PlatformPosix::GetCurrentProcessName() {
+ std::string cmdline;
+ base::ReadFile("/proc/self/cmdline", &cmdline);
+ return cmdline.substr(0, cmdline.find('\0'));
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
+ return std::string(getprogname());
+ #else
+ return "unknown_producer";
+@@ -98,4 +100,4 @@ Platform* Platform::GetDefaultPlatform() {
+ }
+
+ } // namespace perfetto
+-#endif // OS_LINUX || OS_ANDROID || OS_APPLE
++#endif // OS_LINUX || OS_ANDROID || OS_APPLE || OS_FREEBSD
diff --git a/devel/electron12/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc b/devel/electron12/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc
new file mode 100644
index 000000000000..a7c55b8f758a
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_perfetto_tools_busy__threads_busy__threads.cc
@@ -0,0 +1,12 @@
+--- third_party/perfetto/tools/busy_threads/busy_threads.cc.orig 2021-04-14 01:15:27 UTC
++++ third_party/perfetto/tools/busy_threads/busy_threads.cc
+@@ -29,7 +29,8 @@
+ #define PERFETTO_HAVE_PTHREADS \
+ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE))
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD))
+
+ #if PERFETTO_HAVE_PTHREADS
+ #include <pthread.h>
diff --git a/devel/electron11/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h b/devel/electron12/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
index c1216ca830c8..c1216ca830c8 100644
--- a/devel/electron11/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
+++ b/devel/electron12/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
diff --git a/devel/electron12/files/patch-third__party_skia_src_core_SkCpu.cpp b/devel/electron12/files/patch-third__party_skia_src_core_SkCpu.cpp
new file mode 100644
index 000000000000..313081b6ffa6
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_skia_src_core_SkCpu.cpp
@@ -0,0 +1,26 @@
+--- third_party/skia/src/core/SkCpu.cpp.orig 2021-04-14 01:15:28 UTC
++++ third_party/skia/src/core/SkCpu.cpp
+@@ -73,6 +73,23 @@
+ return features;
+ }
+
++#elif defined(SK_CPU_ARM64) && defined(__FreeBSD__)
++ #include <machine/armreg.h>
++ #ifndef ID_AA64ISAR0_CRC32_VAL
++ #define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
++ #endif
++
++ static uint32_t read_cpu_features() {
++ uint32_t features = 0;
++ uint64_t id_aa64isar0;
++
++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) {
++ features |= SkCpu::CRC32;
++ }
++ return features;
++ }
++
+ #elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
+ #include <sys/auxv.h>
+
diff --git a/devel/electron11/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h b/devel/electron12/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
index 66e2524db07c..66e2524db07c 100644
--- a/devel/electron11/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
+++ b/devel/electron12/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
diff --git a/devel/electron11/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp b/devel/electron12/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
index 325e53d01b83..325e53d01b83 100644
--- a/devel/electron11/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
+++ b/devel/electron12/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
diff --git a/devel/electron11/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp b/devel/electron12/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
index 571a92dc3d95..571a92dc3d95 100644
--- a/devel/electron11/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
+++ b/devel/electron12/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
diff --git a/devel/electron12/files/patch-third__party_skia_src_sksl_SkSLString.h b/devel/electron12/files/patch-third__party_skia_src_sksl_SkSLString.h
new file mode 100644
index 000000000000..f4495915acf1
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_skia_src_sksl_SkSLString.h
@@ -0,0 +1,11 @@
+--- third_party/skia/src/sksl/SkSLString.h.orig 2021-04-14 01:15:29 UTC
++++ third_party/skia/src/sksl/SkSLString.h
+@@ -17,6 +17,8 @@
+ #include "include/core/SkString.h"
+ #endif
+
++#include <stdarg.h>
++
+ namespace SkSL {
+
+ class String;
diff --git a/devel/electron11/files/patch-third__party_sqlite_BUILD.gn b/devel/electron12/files/patch-third__party_sqlite_BUILD.gn
index d0f811f81dfd..d0f811f81dfd 100644
--- a/devel/electron11/files/patch-third__party_sqlite_BUILD.gn
+++ b/devel/electron12/files/patch-third__party_sqlite_BUILD.gn
diff --git a/devel/electron12/files/patch-third__party_swiftshader_BUILD.gn b/devel/electron12/files/patch-third__party_swiftshader_BUILD.gn
new file mode 100644
index 000000000000..f23f2269a520
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_swiftshader_BUILD.gn
@@ -0,0 +1,29 @@
+--- third_party/swiftshader/BUILD.gn.orig 2021-04-14 01:15:28 UTC
++++ third_party/swiftshader/BUILD.gn
+@@ -139,9 +139,11 @@ config("swiftshader_config") {
+ ldflags = [ "-Wl,--gc-sections" ]
+
+ if (current_cpu == "mipsel") {
+- ldflags += [
+- "-Wl,--hash-style=sysv",
+- ]
++ if (!is_bsd) {
++ ldflags += [
++ "-Wl,--hash-style=sysv",
++ ]
++ }
+ if (mips_arch_variant == "r1") {
+ ldflags += [
+ "-mips32",
+@@ -153,11 +155,8 @@ config("swiftshader_config") {
+ }
+ } else if (current_cpu == "mips64el") {
+ ldflags += [
+- "-Wl,--hash-style=sysv",
+ "-mips64r2",
+ ]
+- } else {
+- ldflags += [ "-Wl,--hash-style=both" ]
+ }
+
+ # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532)
diff --git a/devel/electron12/files/patch-third__party_swiftshader_include_vulkan_vulkan.hpp b/devel/electron12/files/patch-third__party_swiftshader_include_vulkan_vulkan.hpp
new file mode 100644
index 000000000000..31dd3b73a0e1
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_swiftshader_include_vulkan_vulkan.hpp
@@ -0,0 +1,56 @@
+--- third_party/swiftshader/include/vulkan/vulkan.hpp.orig 2021-04-14 01:15:28 UTC
++++ third_party/swiftshader/include/vulkan/vulkan.hpp
+@@ -67,7 +67,7 @@
+ #endif
+
+ #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
+-# if defined( __linux__ ) || defined( __APPLE__ )
++# if defined( __unix__ ) || defined( __APPLE__ )
+ # include <dlfcn.h>
+ # elif defined( _WIN32 )
+ typedef struct HINSTANCE__ * HINSTANCE;
+@@ -92157,7 +92157,7 @@ namespace VULKAN_HPP_NAMESPACE
+ {
+ if ( !vulkanLibraryName.empty() )
+ {
+-# if defined( __linux__ ) || defined( __APPLE__ )
++# if defined( __unix__ ) || defined( __APPLE__ )
+ m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
+ # elif defined( _WIN32 )
+ m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
+@@ -92167,7 +92167,7 @@ namespace VULKAN_HPP_NAMESPACE
+ }
+ else
+ {
+-# if defined( __linux__ )
++# if defined( __unix__ )
+ m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
+ if ( m_library == nullptr )
+ {
+@@ -92210,7 +92210,7 @@ namespace VULKAN_HPP_NAMESPACE
+ {
+ if ( m_library )
+ {
+-# if defined( __linux__ ) || defined( __APPLE__ )
++# if defined( __unix__ ) || defined( __APPLE__ )
+ dlclose( m_library );
+ # elif defined( _WIN32 )
+ ::FreeLibrary( m_library );
+@@ -92223,7 +92223,7 @@ namespace VULKAN_HPP_NAMESPACE
+ template <typename T>
+ T getProcAddress( const char* function ) const VULKAN_HPP_NOEXCEPT
+ {
+-# if defined( __linux__ ) || defined( __APPLE__ )
++# if defined( __unix__ ) || defined( __APPLE__ )
+ return (T)dlsym( m_library, function );
+ # elif defined( _WIN32 )
+ return (T)::GetProcAddress( m_library, function );
+@@ -92235,7 +92235,7 @@ namespace VULKAN_HPP_NAMESPACE
+ bool success() const VULKAN_HPP_NOEXCEPT { return m_library != nullptr; }
+
+ private:
+-# if defined( __linux__ ) || defined( __APPLE__ )
++# if defined( __unix__ ) || defined( __APPLE__ )
+ void * m_library;
+ # elif defined( _WIN32 )
+ ::HINSTANCE m_library;
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_Common_Configurator.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
index c8826705cb02..c8826705cb02 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp b/devel/electron12/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
index 28e339df168a..28e339df168a 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp b/devel/electron12/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
index 3ca4c7b4317d..3ca4c7b4317d 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
index 6a614bb11d86..6a614bb11d86 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
diff --git a/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
new file mode 100644
index 000000000000..b5636cd13e5e
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
@@ -0,0 +1,20 @@
+--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2021-04-14 01:15:28 UTC
++++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
+@@ -684,7 +684,7 @@ bool Display::isValidWindow(EGLNativeWindowType window
+ return status != 0;
+ }
+ return false;
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__FreeBSD__)
+ return false; // Non X11 linux is headless only
+ #elif defined(__APPLE__)
+ return sw::OSX::IsValidWindow(window);
+@@ -862,7 +862,7 @@ sw::Format Display::getDisplayFormat() const
+ {
+ return sw::FORMAT_X8R8G8B8;
+ }
+- #elif defined(__linux__) // Non X11 linux is headless only
++ #elif defined(__linux__) || defined(__FreeBSD__) // Non X11 linux is headless only
+ return sw::FORMAT_A8B8G8R8;
+ #elif defined(__APPLE__)
+ return sw::FORMAT_A8B8G8R8;
diff --git a/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
new file mode 100644
index 000000000000..3a4b07037070
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
@@ -0,0 +1,11 @@
+--- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2021-04-14 01:15:28 UTC
++++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp
+@@ -357,7 +357,7 @@ bool WindowSurface::checkForResize()
+
+ int windowWidth = windowAttributes.width;
+ int windowHeight = windowAttributes.height;
+- #elif defined(__linux__)
++ #elif defined(__linux__) || defined(__FreeBSD__)
+ // Non X11 linux is headless only
+ int windowWidth = 100;
+ int windowHeight = 100;
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
index f177d573a588..f177d573a588 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
index 0d9c86967b23..0d9c86967b23 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp
index 35afa909f68a..35afa909f68a 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
index 90a2517dc6d8..90a2517dc6d8 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
index ab9236d92072..ab9236d92072 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_src_System_Debug.cpp b/devel/electron12/files/patch-third__party_swiftshader_src_System_Debug.cpp
index cec251b2b0c6..cec251b2b0c6 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_src_System_Debug.cpp
+++ b/devel/electron12/files/patch-third__party_swiftshader_src_System_Debug.cpp
diff --git a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
index 15edd875859c..15edd875859c 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
+++ b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h
diff --git a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
index e8a5ebc3f825..e8a5ebc3f825 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
+++ b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
diff --git a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
index 3703f38fed76..3703f38fed76 100644
--- a/devel/electron11/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
+++ b/devel/electron12/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
diff --git a/devel/electron12/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn b/devel/electron12/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn
new file mode 100644
index 000000000000..dabf6b75c613
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_vulkan-deps_glslang_src_BUILD.gn
@@ -0,0 +1,15 @@
+--- third_party/vulkan-deps/glslang/src/BUILD.gn.orig 2021-04-14 01:15:33 UTC
++++ third_party/vulkan-deps/glslang/src/BUILD.gn
+@@ -239,6 +239,12 @@ template("glslang_sources_common") {
+ "-Wno-unused-variable",
+ ]
+ }
++ if (is_bsd) {
++ cflags -= [
++ "-Wno-suggest-destructor-override",
++ "-Wno-suggest-override",
++ ]
++ }
+ if (is_win && !is_clang) {
+ cflags = [
+ "/wd4018", # signed/unsigned mismatch
diff --git a/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_loader.c b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_loader.c
new file mode 100644
index 000000000000..cebfb3b273f3
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_loader.c
@@ -0,0 +1,11 @@
+--- third_party/vulkan-deps/vulkan-loader/src/loader/loader.c.orig 2021-04-14 01:15:34 UTC
++++ third_party/vulkan-deps/vulkan-loader/src/loader/loader.c
+@@ -253,7 +253,7 @@ void *loader_device_heap_realloc(const struct loader_d
+ }
+
+ // Environment variables
+-#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__FreeBSD__)
+
+ static inline bool IsHighIntegrity() {
+ return geteuid() != getuid() || getegid() != getgid();
diff --git a/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
new file mode 100644
index 000000000000..76bbd9b561e0
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-loader_src_loader_vk__loader__platform.h
@@ -0,0 +1,42 @@
+--- third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h.orig 2021-04-14 01:15:34 UTC
++++ third_party/vulkan-deps/vulkan-loader/src/loader/vk_loader_platform.h
+@@ -35,7 +35,7 @@
+ #include "vulkan/vk_platform.h"
+ #include "vulkan/vk_sdk_platform.h"
+
+-#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__Fuchsia__) || defined(__FreeBSD__)
+ /* Linux-specific common code: */
+
+ // Headers:
+@@ -52,6 +52,12 @@
+ #include <stdlib.h>
+ #include <libgen.h>
+
++#if defined(__FreeBSD__)
++#include <sys/types.h>
++#include <sys/user.h>
++#include <libutil.h>
++#endif
++
+ // VK Library Filenames, Paths, etc.:
+ #define PATH_SEPARATOR ':'
+ #define DIRECTORY_SYMBOL '/'
+@@ -120,6 +126,17 @@ static inline char *loader_platform_executable_path(ch
+ int ret = proc_pidpath(pid, buffer, size);
+ if (ret <= 0) return NULL;
+ buffer[ret] = '\0';
++ return buffer;
++}
++#elif defined(__FreeBSD__)
++static inline char *loader_platform_executable_path(char *buffer, size_t size) {
++ pid_t pid = getpid();
++ struct kinfo_proc *p = kinfo_getproc(pid);
++ if (p == NULL) return NULL;
++ size_t len = strnlen(p->ki_comm, size - 1);
++ memcpy(buffer, p->ki_comm, len);
++ buffer[len] = '\0';
++ free(p);
+ return buffer;
+ }
+ #elif defined(__Fuchsia__)
diff --git a/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h
new file mode 100644
index 000000000000..d5849c6cb2cd
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_vulkan-deps_vulkan-validation-layers_src_layers_vk__loader__platform.h
@@ -0,0 +1,11 @@
+--- third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_loader_platform.h.orig 2021-04-14 01:15:35 UTC
++++ third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_loader_platform.h
+@@ -33,7 +33,7 @@
+ #undef NOMINMAX
+ #include "vulkan/vk_sdk_platform.h"
+
+-#if defined(__linux__) || defined(__APPLE__)
++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
+ /* Linux-specific common code: */
+
+ // Headers:
diff --git a/devel/electron12/files/patch-third__party_webrtc_BUILD.gn b/devel/electron12/files/patch-third__party_webrtc_BUILD.gn
new file mode 100644
index 000000000000..b18177263e7f
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_webrtc_BUILD.gn
@@ -0,0 +1,12 @@
+--- third_party/webrtc/BUILD.gn.orig 2021-04-14 01:15:32 UTC
++++ third_party/webrtc/BUILD.gn
+@@ -179,6 +179,9 @@ config("common_inherited_config") {
+ if (is_linux || is_chromeos) {
+ defines += [ "WEBRTC_LINUX" ]
+ }
++ if (is_bsd) {
++ defines += [ "WEBRTC_BSD" ]
++ }
+ if (is_mac) {
+ defines += [ "WEBRTC_MAC" ]
+ }
diff --git a/devel/electron11/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/devel/electron12/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
index 0e6737807266..0e6737807266 100644
--- a/devel/electron11/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
+++ b/devel/electron12/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
diff --git a/devel/electron11/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/devel/electron12/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
index b9d295d2679c..b9d295d2679c 100644
--- a/devel/electron11/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
+++ b/devel/electron12/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_byte__order.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_byte__order.h
index bfefce77d7d6..bfefce77d7d6 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_byte__order.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_byte__order.h
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
index 0b8c749b7631..0b8c749b7631 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.cc
index 92014164a43e..92014164a43e 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.cc
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.cc
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.h
index 35148947ddef..35148947ddef 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_ip__address.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_ip__address.h
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_network.cc b/devel/electron12/files/patch-third__party_webrtc_rtc__base_network.cc
index c9b2a52514e3..c9b2a52514e3 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_network.cc
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_network.cc
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_network.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_network.h
index c0081d4c3b35..c0081d4c3b35 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_network.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_network.h
diff --git a/devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
new file mode 100644
index 000000000000..b2dd083b351e
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
@@ -0,0 +1,47 @@
+--- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2021-04-14 01:15:32 UTC
++++ third_party/webrtc/rtc_base/physical_socket_server.cc
+@@ -50,7 +50,7 @@
+ #include "rtc_base/null_socket_server.h"
+ #include "rtc_base/time_utils.h"
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ #include <linux/sockios.h>
+ #endif
+
+@@ -69,7 +69,7 @@ typedef void* SockOptArg;
+
+ #endif // WEBRTC_POSIX
+
+-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
+
+ int64_t GetSocketRecvTimestamp(int socket) {
+ struct timeval tv_ioctl;
+@@ -305,7 +305,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+ return -1;
+ }
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -323,7 +323,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+ if (TranslateOption(opt, &slevel, &sopt) == -1)
+ return -1;
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -571,7 +571,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *slevel = IPPROTO_IP;
+ *sopt = IP_DONTFRAGMENT;
+ break;
+-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__)
++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
+ RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
+ return -1;
+ #elif defined(WEBRTC_POSIX)
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
index 2bbe1d8b7d5d..2bbe1d8b7d5d 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/devel/electron12/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
index c39aed4901b1..c39aed4901b1 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
diff --git a/devel/electron11/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h b/devel/electron12/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
index c144dc789a3a..c144dc789a3a 100644
--- a/devel/electron11/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
+++ b/devel/electron12/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
diff --git a/devel/electron12/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/devel/electron12/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
new file mode 100644
index 000000000000..8c66b13b632c
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
@@ -0,0 +1,11 @@
+--- third_party/webrtc/system_wrappers/BUILD.gn.orig 2021-04-14 01:15:32 UTC
++++ third_party/webrtc/system_wrappers/BUILD.gn
+@@ -61,8 +61,6 @@ rtc_library("system_wrappers") {
+ if (!build_with_chromium) {
+ sources += [ "source/cpu_features_linux.cc" ]
+ }
+-
+- libs += [ "rt" ]
+ }
+
+ if (is_win) {
diff --git a/devel/electron12/files/patch-third__party_zlib_cpu__features.c b/devel/electron12/files/patch-third__party_zlib_cpu__features.c
new file mode 100644
index 000000000000..e9c4774104e0
--- /dev/null
+++ b/devel/electron12/files/patch-third__party_zlib_cpu__features.c
@@ -0,0 +1,48 @@
+--- third_party/zlib/cpu_features.c.orig 2021-04-14 01:09:38 UTC
++++ third_party/zlib/cpu_features.c
+@@ -31,11 +31,20 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
+
+ #ifndef CPU_NO_SIMD
+
+-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA)
++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD)
+ #include <pthread.h>
+ #endif
+
+-#if defined(ARMV8_OS_ANDROID)
++#if defined(ARMV8_OS_FREEBSD)
++#include <machine/armreg.h>
++#include <sys/types.h>
++#ifndef ID_AA64ISAR0_AES_VAL
++#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
++#endif
++#ifndef ID_AA64ISAR0_CRC32_VAL
++#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32
++#endif
++#elif defined(ARMV8_OS_ANDROID)
+ #include <cpu-features.h>
+ #elif defined(ARMV8_OS_LINUX)
+ #include <asm/hwcap.h>
+@@ -56,7 +65,7 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0;
+ static void _cpu_check_features(void);
+ #endif
+
+-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_FREEBSD) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
+ #if !defined(ARMV8_OS_MACOS)
+ // _cpu_check_features() doesn't need to do anything on mac/arm since all
+ // features are known at build time, so don't call it.
+@@ -123,6 +132,13 @@ static void _cpu_check_features(void)
+ #elif defined(ARMV8_OS_WINDOWS)
+ arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE);
+ arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
++#elif defined(ARMV8_OS_FREEBSD)
++ uint64_t id_aa64isar0;
++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL)
++ arm_cpu_enable_pmull = 1;
++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE)
++ arm_cpu_enable_crc32 = 1;
+ #endif
+ }
+ #endif
diff --git a/devel/electron11/files/patch-tools_gn_build_gen.py b/devel/electron12/files/patch-tools_gn_build_gen.py
index 35fb00a6907e..35fb00a6907e 100644
--- a/devel/electron11/files/patch-tools_gn_build_gen.py
+++ b/devel/electron12/files/patch-tools_gn_build_gen.py
diff --git a/devel/electron11/files/patch-tools_gn_src_base_files_file__posix.cc b/devel/electron12/files/patch-tools_gn_src_base_files_file__posix.cc
index 22e9bc565a5a..22e9bc565a5a 100644
--- a/devel/electron11/files/patch-tools_gn_src_base_files_file__posix.cc
+++ b/devel/electron12/files/patch-tools_gn_src_base_files_file__posix.cc
diff --git a/devel/electron12/files/patch-tools_gn_src_base_files_scoped__file.cc b/devel/electron12/files/patch-tools_gn_src_base_files_scoped__file.cc
new file mode 100644
index 000000000000..69459340e0b9
--- /dev/null
+++ b/devel/electron12/files/patch-tools_gn_src_base_files_scoped__file.cc
@@ -0,0 +1,11 @@
+--- tools/gn/src/base/files/scoped_file.cc.orig 2021-04-14 01:22:08 UTC
++++ tools/gn/src/base/files/scoped_file.cc
+@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) {
+ // a single open directory would bypass the entire security model.
+ int ret = IGNORE_EINTR(close(fd));
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
+ defined(OS_ANDROID) || defined(OS_BSD)
+ // NB: Some file descriptors can return errors from close() e.g. network
+ // filesystems such as NFS and Linux input devices. On Linux, macOS, and
diff --git a/devel/electron11/files/patch-tools_gn_src_gn_exec__process.cc b/devel/electron12/files/patch-tools_gn_src_gn_exec__process.cc
index 543c9f48c89a..543c9f48c89a 100644
--- a/devel/electron11/files/patch-tools_gn_src_gn_exec__process.cc
+++ b/devel/electron12/files/patch-tools_gn_src_gn_exec__process.cc
diff --git a/devel/electron11/files/patch-tools_gn_src_gn_function__write__file__unittest.cc b/devel/electron12/files/patch-tools_gn_src_gn_function__write__file__unittest.cc
index 14913ac3dc2e..14913ac3dc2e 100644
--- a/devel/electron11/files/patch-tools_gn_src_gn_function__write__file__unittest.cc
+++ b/devel/electron12/files/patch-tools_gn_src_gn_function__write__file__unittest.cc
diff --git a/devel/electron11/files/patch-tools_gn_src_gn_version.h b/devel/electron12/files/patch-tools_gn_src_gn_version.h
index b36219c473bc..b36219c473bc 100644
--- a/devel/electron11/files/patch-tools_gn_src_gn_version.h
+++ b/devel/electron12/files/patch-tools_gn_src_gn_version.h
diff --git a/devel/electron12/files/patch-tools_gn_src_util_sys__info.cc b/devel/electron12/files/patch-tools_gn_src_util_sys__info.cc
new file mode 100644
index 000000000000..f9fe00ede7ca
--- /dev/null
+++ b/devel/electron12/files/patch-tools_gn_src_util_sys__info.cc
@@ -0,0 +1,11 @@
+--- tools/gn/src/util/sys_info.cc.orig 2021-04-14 01:22:08 UTC
++++ tools/gn/src/util/sys_info.cc
+@@ -34,6 +34,8 @@ std::string OperatingSystemArchitecture() {
+ arch = "x86_64";
+ } else if (arch == "amd64") {
+ arch = "x86_64";
++ } else if (arch == "arm64") {
++ arch = "aarch64";
+ } else if (os == "AIX" || os == "OS400") {
+ arch = "ppc64";
+ }
diff --git a/devel/electron12/files/patch-tools_json__schema__compiler_feature__compiler.py b/devel/electron12/files/patch-tools_json__schema__compiler_feature__compiler.py
new file mode 100644
index 000000000000..f4f9059a9393
--- /dev/null
+++ b/devel/electron12/files/patch-tools_json__schema__compiler_feature__compiler.py
@@ -0,0 +1,10 @@
+--- tools/json_schema_compiler/feature_compiler.py.orig 2021-04-14 01:09:38 UTC
++++ tools/json_schema_compiler/feature_compiler.py
+@@ -252,6 +252,7 @@ FEATURE_GRAMMAR = ({
+ 'chromeos': 'Feature::CHROMEOS_PLATFORM',
+ 'lacros': 'Feature::LACROS_PLATFORM',
+ 'linux': 'Feature::LINUX_PLATFORM',
++ 'bsd': 'Feature::LINUX_PLATFORM',
+ 'mac': 'Feature::MACOSX_PLATFORM',
+ 'win': 'Feature::WIN_PLATFORM',
+ }
diff --git a/devel/electron12/files/patch-tools_json__schema__compiler_model.py b/devel/electron12/files/patch-tools_json__schema__compiler_model.py
new file mode 100644
index 000000000000..cfdbde72aabc
--- /dev/null
+++ b/devel/electron12/files/patch-tools_json__schema__compiler_model.py
@@ -0,0 +1,11 @@
+--- tools/json_schema_compiler/model.py.orig 2021-04-14 01:09:38 UTC
++++ tools/json_schema_compiler/model.py
+@@ -859,7 +859,7 @@ class Platforms(object):
+ CHROMEOS = _PlatformInfo("chromeos")
+ CHROMEOS_TOUCH = _PlatformInfo("chromeos_touch")
+ LACROS = _PlatformInfo("lacros")
+- LINUX = _PlatformInfo("linux")
++ LINUX = _PlatformInfo("bsd")
+ MAC = _PlatformInfo("mac")
+ WIN = _PlatformInfo("win")
+
diff --git a/devel/electron12/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/devel/electron12/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
new file mode 100644
index 000000000000..d01a40002dae
--- /dev/null
+++ b/devel/electron12/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
@@ -0,0 +1,11 @@
+--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2021-04-14 01:09:38 UTC
++++ tools/perf/chrome_telemetry_build/BUILD.gn
+@@ -44,7 +44,7 @@ group("telemetry_chrome_test") {
+ data_deps += [ "//chrome:reorder_imports" ]
+ }
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
+
+ # CrOS currently has issues with the locally compiled version of
diff --git a/devel/electron12/files/patch-tools_variations_fieldtrial__to__struct.py b/devel/electron12/files/patch-tools_variations_fieldtrial__to__struct.py
new file mode 100644
index 000000000000..01b1237ee113
--- /dev/null
+++ b/devel/electron12/files/patch-tools_variations_fieldtrial__to__struct.py
@@ -0,0 +1,10 @@
+--- tools/variations/fieldtrial_to_struct.py.orig 2021-04-14 01:09:39 UTC
++++ tools/variations/fieldtrial_to_struct.py
+@@ -36,6 +36,7 @@ _platforms = [
+ 'android_webview',
+ 'chromeos',
+ 'chromeos_lacros',
++ 'freebsd',
+ 'fuchsia',
+ 'ios',
+ 'linux',
diff --git a/devel/electron12/files/patch-ui_aura_test_aura__test__helper.cc b/devel/electron12/files/patch-ui_aura_test_aura__test__helper.cc
new file mode 100644
index 000000000000..1199f9cea3ae
--- /dev/null
+++ b/devel/electron12/files/patch-ui_aura_test_aura__test__helper.cc
@@ -0,0 +1,20 @@
+--- ui/aura/test/aura_test_helper.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/aura/test/aura_test_helper.cc
+@@ -30,7 +30,7 @@
+ #include "ui/wm/core/default_activation_client.h"
+ #include "ui/wm/core/default_screen_position_client.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck
+ #endif
+
+@@ -64,7 +64,7 @@ AuraTestHelper::AuraTestHelper(ui::ContextFactory* con
+ DCHECK(!g_instance);
+ g_instance = this;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ ui::test::EnableTestConfigForPlatformWindows();
+ #endif
+
diff --git a/devel/electron12/files/patch-ui_aura_test_ui__controls__ozone.cc b/devel/electron12/files/patch-ui_aura_test_ui__controls__ozone.cc
new file mode 100644
index 000000000000..15e41e5ed1a2
--- /dev/null
+++ b/devel/electron12/files/patch-ui_aura_test_ui__controls__ozone.cc
@@ -0,0 +1,11 @@
+--- ui/aura/test/ui_controls_ozone.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/aura/test/ui_controls_ozone.cc
+@@ -349,7 +349,7 @@ bool UIControlsOzone::ScreenDIPToHostPixels(gfx::Point
+ // To avoid multiple definitions when use_x11 && use_ozone is true, disable this
+ // factory method for OS_LINUX as Linux has a factory method that decides what
+ // UIControls to use based on IsUsingOzonePlatform feature flag.
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ ui_controls::UIControlsAura* CreateUIControlsAura(WindowTreeHost* host) {
+ return new UIControlsOzone(host);
+ }
diff --git a/devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.cc b/devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.cc
index f297921a7424..f297921a7424 100644
--- a/devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.cc
+++ b/devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.cc
diff --git a/devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.h b/devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.h
index 06f6f0dc4ded..06f6f0dc4ded 100644
--- a/devel/electron11/files/patch-ui_base_clipboard_clipboard__constants.h
+++ b/devel/electron12/files/patch-ui_base_clipboard_clipboard__constants.h
diff --git a/devel/electron12/files/patch-ui_base_clipboard_clipboard__ozone.cc b/devel/electron12/files/patch-ui_base_clipboard_clipboard__ozone.cc
new file mode 100644
index 000000000000..6cebfa0a5b8a
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_clipboard_clipboard__ozone.cc
@@ -0,0 +1,11 @@
+--- ui/base/clipboard/clipboard_ozone.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/clipboard/clipboard_ozone.cc
+@@ -305,7 +305,7 @@ class ClipboardOzone::AsyncClipboardOzone {
+ // of lacros-chrome is complete.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ // Clipboard factory method.
+ Clipboard* Clipboard::Create() {
+ // linux-chromeos uses non-backed clipboard by default, but supports ozone x11
diff --git a/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider.h b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider.h
new file mode 100644
index 000000000000..3a3358eba4f8
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider.h
@@ -0,0 +1,11 @@
+--- ui/base/dragdrop/os_exchange_data_provider.h.orig 2021-04-14 01:09:39 UTC
++++ ui/base/dragdrop/os_exchange_data_provider.h
+@@ -73,7 +73,7 @@ class COMPONENT_EXPORT(UI_BASE_DATA_EXCHANGE) OSExchan
+ virtual bool HasFile() const = 0;
+ virtual bool HasCustomFormat(const ClipboardFormatType& format) const = 0;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD)
+ virtual void SetFileContents(const base::FilePath& filename,
+ const std::string& file_contents) = 0;
+ #endif
diff --git a/devel/electron11/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
index b37edc01dde4..b37edc01dde4 100644
--- a/devel/electron11/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
+++ b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
diff --git a/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
new file mode 100644
index 000000000000..5bf07b8964f2
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc
@@ -0,0 +1,28 @@
+--- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/dragdrop/os_exchange_data_provider_non_backed.cc
+@@ -100,14 +100,14 @@ void OSExchangeDataProviderNonBacked::SetPickledData(
+ }
+
+ bool OSExchangeDataProviderNonBacked::GetString(base::string16* data) const {
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ if (HasFile()) {
+ // Various Linux file managers both pass a list of file:// URIs and set the
+ // string representation to the URI. We explicitly don't want to return use
+ // this representation.
+ return false;
+ }
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ if ((formats_ & OSExchangeData::STRING) == 0)
+ return false;
+@@ -184,7 +184,7 @@ bool OSExchangeDataProviderNonBacked::HasCustomFormat(
+ return base::Contains(pickle_data_, format);
+ }
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void OSExchangeDataProviderNonBacked::SetFileContents(
+ const base::FilePath& filename,
+ const std::string& file_contents) {
diff --git a/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.h b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.h
new file mode 100644
index 000000000000..6b8d1fd129cc
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.h
@@ -0,0 +1,11 @@
+--- ui/base/dragdrop/os_exchange_data_provider_non_backed.h.orig 2021-04-14 01:09:39 UTC
++++ ui/base/dragdrop/os_exchange_data_provider_non_backed.h
+@@ -61,7 +61,7 @@ class COMPONENT_EXPORT(UI_BASE) OSExchangeDataProvider
+ bool HasURL(FilenameToURLPolicy policy) const override;
+ bool HasFile() const override;
+ bool HasCustomFormat(const ClipboardFormatType& format) const override;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ void SetFileContents(const base::FilePath& filename,
+ const std::string& file_contents) override;
+ #endif
diff --git a/devel/electron12/files/patch-ui_base_ime_init_input__method__initializer.cc b/devel/electron12/files/patch-ui_base_ime_init_input__method__initializer.cc
new file mode 100644
index 000000000000..f05b3c6c3c7f
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_ime_init_input__method__initializer.cc
@@ -0,0 +1,38 @@
+--- ui/base/ime/init/input_method_initializer.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/ime/init/input_method_initializer.cc
+@@ -11,7 +11,7 @@
+
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ #include "ui/base/ime/chromeos/ime_bridge.h"
+-#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ #include "base/check.h"
+ #include "ui/base/ime/linux/fake_input_method_context_factory.h"
+ #elif defined(OS_WIN)
+@@ -21,7 +21,7 @@
+
+ namespace {
+
+-#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ const ui::LinuxInputMethodContextFactory*
+ g_linux_input_method_context_factory_for_testing;
+ #endif
+@@ -49,7 +49,7 @@ void ShutdownInputMethod() {
+ void InitializeInputMethodForTesting() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ IMEBridge::Initialize();
+-#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ if (!g_linux_input_method_context_factory_for_testing)
+ g_linux_input_method_context_factory_for_testing =
+ new FakeInputMethodContextFactory();
+@@ -68,7 +68,7 @@ void InitializeInputMethodForTesting() {
+ void ShutdownInputMethodForTesting() {
+ #if BUILDFLAG(IS_CHROMEOS_ASH)
+ IMEBridge::Shutdown();
+-#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
++#elif defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD))
+ const LinuxInputMethodContextFactory* factory =
+ LinuxInputMethodContextFactory::instance();
+ CHECK(!factory || factory == g_linux_input_method_context_factory_for_testing)
diff --git a/devel/electron12/files/patch-ui_base_resource_resource__bundle.cc b/devel/electron12/files/patch-ui_base_resource_resource__bundle.cc
new file mode 100644
index 000000000000..dfc4bb41bbcf
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_resource_resource__bundle.cc
@@ -0,0 +1,20 @@
+--- ui/base/resource/resource_bundle.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/resource/resource_bundle.cc
+@@ -821,7 +821,7 @@ void ResourceBundle::ReloadFonts() {
+ }
+
+ ScaleFactor ResourceBundle::GetMaxScaleFactor() const {
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ return max_scale_factor_;
+ #else
+ return GetSupportedScaleFactors().back();
+@@ -874,7 +874,7 @@ void ResourceBundle::InitSharedInstance(Delegate* dele
+ // On platforms other than iOS, 100P is always a supported scale factor.
+ // For Windows we have a separate case in this function.
+ supported_scale_factors.push_back(SCALE_FACTOR_100P);
+-#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_WIN)
+ supported_scale_factors.push_back(SCALE_FACTOR_200P);
+ #endif
diff --git a/devel/electron11/files/patch-ui_base_resource_resource__bundle__freebsd.cc b/devel/electron12/files/patch-ui_base_resource_resource__bundle__freebsd.cc
index 69cc2c49bb82..69cc2c49bb82 100644
--- a/devel/electron11/files/patch-ui_base_resource_resource__bundle__freebsd.cc
+++ b/devel/electron12/files/patch-ui_base_resource_resource__bundle__freebsd.cc
diff --git a/devel/electron12/files/patch-ui_base_test_skia__gold__pixel__diff.cc b/devel/electron12/files/patch-ui_base_test_skia__gold__pixel__diff.cc
new file mode 100644
index 000000000000..c7402c4b49f3
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_test_skia__gold__pixel__diff.cc
@@ -0,0 +1,11 @@
+--- ui/base/test/skia_gold_pixel_diff.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/test/skia_gold_pixel_diff.cc
+@@ -168,7 +168,7 @@ std::string SkiaGoldPixelDiff::GetPlatform() {
+ return "macOS";
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return "linux";
+ #endif
+ }
diff --git a/devel/electron12/files/patch-ui_base_ui__base__features.cc b/devel/electron12/files/patch-ui_base_ui__base__features.cc
new file mode 100644
index 000000000000..a4217bfe17b3
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_ui__base__features.cc
@@ -0,0 +1,47 @@
+--- ui/base/ui_base_features.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/ui_base_features.cc
+@@ -115,7 +115,7 @@ const base::Feature kExperimentalFlingAnimation {
+ "ExperimentalFlingAnimation",
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
++#if defined(OS_WIN) || defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \
+ !BUILDFLAG(IS_CHROMEOS_LACROS))
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+@@ -148,7 +148,7 @@ const base::Feature kPrecisionTouchpadLogging{
+ "PrecisionTouchpadLogging", base::FEATURE_DISABLED_BY_DEFAULT};
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ // Enables stylus appearing as touch when in contact with digitizer.
+ const base::Feature kDirectManipulationStylus = {
+@@ -159,7 +159,7 @@ const base::Feature kDirectManipulationStylus = {
+ base::FEATURE_DISABLED_BY_DEFAULT
+ #endif
+ };
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ // Enables forced colors mode for web content.
+@@ -193,7 +193,7 @@ bool IsEyeDropperEnabled() {
+ // crbug.com/1086530 for the Desktop launch bug.
+ const base::Feature kCSSColorSchemeUARendering = {
+ "CSSColorSchemeUARendering",
+-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_APPLE)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
+@@ -212,7 +212,7 @@ bool IsCSSColorSchemeUARenderingEnabled() {
+ // crbug.com/1012106 for the Windows launch bug, and crbug.com/1012108 for the
+ // Mac launch bug.
+ const base::Feature kFormControlsRefresh = {"FormControlsRefresh",
+-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_APPLE)
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron12/files/patch-ui_base_ui__base__features.h b/devel/electron12/files/patch-ui_base_ui__base__features.h
new file mode 100644
index 000000000000..c3d23aaba691
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_ui__base__features.h
@@ -0,0 +1,16 @@
+--- ui/base/ui_base_features.h.orig 2021-04-14 01:09:39 UTC
++++ ui/base/ui_base_features.h
+@@ -63,11 +63,11 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) extern const base::
+ COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsUsingWMPointerForTouch();
+ #endif // defined(OS_WIN)
+
+-#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \
++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \
+ defined(OS_CHROMEOS)
+ COMPONENT_EXPORT(UI_BASE_FEATURES)
+ extern const base::Feature kDirectManipulationStylus;
+-#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) ||
++#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) ||
+ // defined(OS_CHROMEOS)
+
+ // Used to enable forced colors mode for web content.
diff --git a/devel/electron12/files/patch-ui_base_webui_web__ui__util.cc b/devel/electron12/files/patch-ui_base_webui_web__ui__util.cc
new file mode 100644
index 000000000000..3d6554c67382
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_webui_web__ui__util.cc
@@ -0,0 +1,11 @@
+--- ui/base/webui/web_ui_util.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/webui/web_ui_util.cc
+@@ -224,7 +224,7 @@ std::string GetFontFamily() {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ std::string font_name = ui::ResourceBundle::GetSharedInstance()
+ .GetFont(ui::ResourceBundle::BaseFont)
+ .GetFontName();
diff --git a/devel/electron12/files/patch-ui_base_x_x11__shm__image__pool.cc b/devel/electron12/files/patch-ui_base_x_x11__shm__image__pool.cc
new file mode 100644
index 000000000000..e0fa5679e7a3
--- /dev/null
+++ b/devel/electron12/files/patch-ui_base_x_x11__shm__image__pool.cc
@@ -0,0 +1,25 @@
+--- ui/base/x/x11_shm_image_pool.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/base/x/x11_shm_image_pool.cc
+@@ -16,6 +16,7 @@
+ #include "base/environment.h"
+ #include "base/location.h"
+ #include "base/strings/string_util.h"
++#include "base/system/sys_info.h"
+ #include "base/threading/thread_task_runner_handle.h"
+ #include "build/build_config.h"
+ #include "build/chromeos_buildflags.h"
+@@ -46,10 +47,14 @@ constexpr float kShmResizeShrinkThreshold =
+ 1.0f / (kShmResizeThreshold * kShmResizeThreshold);
+
+ std::size_t MaxShmSegmentSizeImpl() {
++#if defined(OS_BSD)
++ return base::SysInfo::MaxSharedMemorySize();
++#else
+ struct shminfo info;
+ if (shmctl(0, IPC_INFO, reinterpret_cast<struct shmid_ds*>(&info)) == -1)
+ return 0;
+ return info.shmmax;
++#endif
+ }
+
+ std::size_t MaxShmSegmentSize() {
diff --git a/devel/electron12/files/patch-ui_compositor_compositor.cc b/devel/electron12/files/patch-ui_compositor_compositor.cc
new file mode 100644
index 000000000000..9383d5e3cf6e
--- /dev/null
+++ b/devel/electron12/files/patch-ui_compositor_compositor.cc
@@ -0,0 +1,11 @@
+--- ui/compositor/compositor.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/compositor/compositor.cc
+@@ -750,7 +750,7 @@ void Compositor::CancelThroughtputTracker(TrackerId tr
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) {
+ for (auto& observer : observer_list_)
+ observer.OnCompositingCompleteSwapWithNewSize(this, size);
diff --git a/devel/electron12/files/patch-ui_compositor_compositor.h b/devel/electron12/files/patch-ui_compositor_compositor.h
new file mode 100644
index 000000000000..4adaaa634b6b
--- /dev/null
+++ b/devel/electron12/files/patch-ui_compositor_compositor.h
@@ -0,0 +1,11 @@
+--- ui/compositor/compositor.h.orig 2021-04-22 07:51:51 UTC
++++ ui/compositor/compositor.h
+@@ -384,7 +384,7 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerT
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ void OnCompleteSwapWithNewSize(const gfx::Size& size);
+ #endif
+
diff --git a/devel/electron12/files/patch-ui_compositor_compositor__observer.h b/devel/electron12/files/patch-ui_compositor_compositor__observer.h
new file mode 100644
index 000000000000..0048a116b750
--- /dev/null
+++ b/devel/electron12/files/patch-ui_compositor_compositor__observer.h
@@ -0,0 +1,16 @@
+--- ui/compositor/compositor_observer.h.orig 2021-04-14 01:09:39 UTC
++++ ui/compositor/compositor_observer.h
+@@ -46,11 +46,11 @@ class COMPOSITOR_EXPORT CompositorObserver {
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Called when a swap with new size is completed.
+ virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor,
+ const gfx::Size& size) {}
+-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+
+ // Called at the top of the compositor's destructor, to give observers a
+ // chance to remove themselves.
diff --git a/devel/electron11/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/devel/electron12/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
index 2f795a23d592..2f795a23d592 100644
--- a/devel/electron11/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
+++ b/devel/electron12/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
diff --git a/devel/electron12/files/patch-ui_events_event.cc b/devel/electron12/files/patch-ui_events_event.cc
new file mode 100644
index 000000000000..d9dd7a985a36
--- /dev/null
+++ b/devel/electron12/files/patch-ui_events_event.cc
@@ -0,0 +1,11 @@
+--- ui/events/event.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/events/event.cc
+@@ -451,7 +451,7 @@ std::string LocatedEvent::ToString() const {
+ MouseEvent::MouseEvent(const PlatformEvent& native_event)
+ : LocatedEvent(native_event),
+ changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)),
+-#if defined(OS_CHROMEOS) || defined(OS_LINUX)
++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
+ movement_(GetMouseMovementFromNative(native_event)),
+ #endif
+ pointer_details_(GetMousePointerDetailsFromNative(native_event)) {
diff --git a/devel/electron11/files/patch-ui_events_event__switches.cc b/devel/electron12/files/patch-ui_events_event__switches.cc
index ea090dc7bc02..ea090dc7bc02 100644
--- a/devel/electron11/files/patch-ui_events_event__switches.cc
+++ b/devel/electron12/files/patch-ui_events_event__switches.cc
diff --git a/devel/electron11/files/patch-ui_events_event__switches.h b/devel/electron12/files/patch-ui_events_event__switches.h
index e85a2e3f0118..e85a2e3f0118 100644
--- a/devel/electron11/files/patch-ui_events_event__switches.h
+++ b/devel/electron12/files/patch-ui_events_event__switches.h
diff --git a/devel/electron12/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/devel/electron12/files/patch-ui_events_keycodes_dom_keycode__converter.cc
new file mode 100644
index 000000000000..f912d0e2d45c
--- /dev/null
+++ b/devel/electron12/files/patch-ui_events_keycodes_dom_keycode__converter.cc
@@ -0,0 +1,11 @@
+--- ui/events/keycodes/dom/keycode_converter.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/events/keycodes/dom/keycode_converter.cc
+@@ -24,7 +24,7 @@ namespace {
+ #if defined(OS_WIN)
+ #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
+ { usb, win, code }
+-#elif defined(OS_LINUX) || defined(OS_CHROMEOS)
++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
+ { usb, xkb, code }
+ #elif defined(OS_APPLE)
diff --git a/devel/electron11/files/patch-ui_events_ozone_keyboard__hook__ozone.cc b/devel/electron12/files/patch-ui_events_ozone_keyboard__hook__ozone.cc
index 8380016e1dbb..8380016e1dbb 100644
--- a/devel/electron11/files/patch-ui_events_ozone_keyboard__hook__ozone.cc
+++ b/devel/electron12/files/patch-ui_events_ozone_keyboard__hook__ozone.cc
diff --git a/devel/electron12/files/patch-ui_gfx_BUILD.gn b/devel/electron12/files/patch-ui_gfx_BUILD.gn
new file mode 100644
index 000000000000..bcfb64ba23f8
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_BUILD.gn
@@ -0,0 +1,11 @@
+--- ui/gfx/BUILD.gn.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/BUILD.gn
+@@ -590,7 +590,7 @@ source_set("memory_buffer_sources") {
+ deps += [ "//build/config/linux/libdrm" ]
+ }
+
+- if (is_linux || is_chromeos || is_android) {
++ if ((is_linux || is_chromeos || is_android) && !is_bsd) {
+ deps += [ "//third_party/libsync" ]
+ }
+
diff --git a/devel/electron12/files/patch-ui_gfx_canvas__skia.cc b/devel/electron12/files/patch-ui_gfx_canvas__skia.cc
new file mode 100644
index 000000000000..ca7fb2736b38
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_canvas__skia.cc
@@ -0,0 +1,11 @@
+--- ui/gfx/canvas_skia.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/canvas_skia.cc
+@@ -209,7 +209,7 @@ void Canvas::DrawStringRectWithFlags(const base::strin
+ Range range = StripAcceleratorChars(flags, &adjusted_text);
+ bool elide_text = ((flags & NO_ELLIPSIS) == 0);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // On Linux, eliding really means fading the end of the string. But only
+ // for LTR text. RTL text is still elided (on the left) with "...".
+ if (elide_text) {
diff --git a/devel/electron11/files/patch-ui_gfx_codec_jpeg__codec.cc b/devel/electron12/files/patch-ui_gfx_codec_jpeg__codec.cc
index 7319fa533fa6..7319fa533fa6 100644
--- a/devel/electron11/files/patch-ui_gfx_codec_jpeg__codec.cc
+++ b/devel/electron12/files/patch-ui_gfx_codec_jpeg__codec.cc
diff --git a/devel/electron11/files/patch-ui_gfx_font__fallback__linux.cc b/devel/electron12/files/patch-ui_gfx_font__fallback__linux.cc
index 34ab496f2576..34ab496f2576 100644
--- a/devel/electron11/files/patch-ui_gfx_font__fallback__linux.cc
+++ b/devel/electron12/files/patch-ui_gfx_font__fallback__linux.cc
diff --git a/devel/electron11/files/patch-ui_gfx_font__list.cc b/devel/electron12/files/patch-ui_gfx_font__list.cc
index 9fcbb60d9246..9fcbb60d9246 100644
--- a/devel/electron11/files/patch-ui_gfx_font__list.cc
+++ b/devel/electron12/files/patch-ui_gfx_font__list.cc
diff --git a/devel/electron11/files/patch-ui_gfx_font__names__testing.cc b/devel/electron12/files/patch-ui_gfx_font__names__testing.cc
index b90405737c09..b90405737c09 100644
--- a/devel/electron11/files/patch-ui_gfx_font__names__testing.cc
+++ b/devel/electron12/files/patch-ui_gfx_font__names__testing.cc
diff --git a/devel/electron12/files/patch-ui_gfx_font__render__params.h b/devel/electron12/files/patch-ui_gfx_font__render__params.h
new file mode 100644
index 000000000000..bf9c24802e61
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_font__render__params.h
@@ -0,0 +1,20 @@
+--- ui/gfx/font_render_params.h.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/font_render_params.h
+@@ -109,7 +109,7 @@ GFX_EXPORT FontRenderParams GetFontRenderParams(
+ const FontRenderParamsQuery& query,
+ std::string* family_out);
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are
+ // changing Fontconfig's configuration.
+ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
+@@ -118,7 +118,7 @@ GFX_EXPORT void ClearFontRenderParamsCacheForTest();
+ // Gets the device scale factor to query the FontRenderParams.
+ GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
+
+-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \
+ defined(OS_ANDROID) || defined(OS_FUCHSIA)
+ // Sets the device scale factor for FontRenderParams to decide
+ // if it should enable subpixel positioning.
diff --git a/devel/electron11/files/patch-ui_gfx_font__util.cc b/devel/electron12/files/patch-ui_gfx_font__util.cc
index 55bb3c098b1c..55bb3c098b1c 100644
--- a/devel/electron11/files/patch-ui_gfx_font__util.cc
+++ b/devel/electron12/files/patch-ui_gfx_font__util.cc
diff --git a/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.cc b/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.cc
new file mode 100644
index 000000000000..fe69eb2d9b86
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.cc
@@ -0,0 +1,11 @@
+--- ui/gfx/gpu_memory_buffer.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/gpu_memory_buffer.cc
+@@ -34,7 +34,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c
+ handle.region = region.Duplicate();
+ handle.offset = offset;
+ handle.stride = stride;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle);
+ #elif defined(OS_MAC)
+ handle.io_surface = io_surface;
diff --git a/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.h b/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.h
new file mode 100644
index 000000000000..8aec7987bbe1
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_gpu__memory__buffer.h
@@ -0,0 +1,20 @@
+--- ui/gfx/gpu_memory_buffer.h.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/gpu_memory_buffer.h
+@@ -16,7 +16,7 @@
+ #include "ui/gfx/gfx_export.h"
+ #include "ui/gfx/hdr_metadata.h"
+
+-#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/gfx/native_pixmap_handle.h"
+ #elif defined(OS_MAC)
+ #include "ui/gfx/mac/io_surface.h"
+@@ -70,7 +70,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle {
+ base::UnsafeSharedMemoryRegion region;
+ uint32_t offset = 0;
+ int32_t stride = 0;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ NativePixmapHandle native_pixmap_handle;
+ #elif defined(OS_MAC)
+ ScopedIOSurface io_surface;
diff --git a/devel/electron12/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h b/devel/electron12/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
new file mode 100644
index 000000000000..7e997a505170
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
@@ -0,0 +1,44 @@
+--- ui/gfx/ipc/gfx_param_traits_macros.h.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/ipc/gfx_param_traits_macros.h
+@@ -18,7 +18,7 @@
+ #include "ui/gfx/selection_bound.h"
+ #include "ui/gfx/swap_result.h"
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ #include "ui/gfx/native_pixmap_handle.h"
+ #endif
+
+@@ -48,7 +48,7 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferHandle)
+ IPC_STRUCT_TRAITS_MEMBER(region)
+ IPC_STRUCT_TRAITS_MEMBER(offset)
+ IPC_STRUCT_TRAITS_MEMBER(stride)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(native_pixmap_handle)
+ #elif defined(OS_APPLE)
+ IPC_STRUCT_TRAITS_MEMBER(io_surface)
+@@ -63,12 +63,12 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferId)
+ IPC_STRUCT_TRAITS_MEMBER(id)
+ IPC_STRUCT_TRAITS_END()
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapPlane)
+ IPC_STRUCT_TRAITS_MEMBER(stride)
+ IPC_STRUCT_TRAITS_MEMBER(offset)
+ IPC_STRUCT_TRAITS_MEMBER(size)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(fd)
+ #elif defined(OS_FUCHSIA)
+ IPC_STRUCT_TRAITS_MEMBER(vmo)
+@@ -77,7 +77,7 @@ IPC_STRUCT_TRAITS_END()
+
+ IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle)
+ IPC_STRUCT_TRAITS_MEMBER(planes)
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ IPC_STRUCT_TRAITS_MEMBER(modifier)
+ #endif
+ #if defined(OS_FUCHSIA)
diff --git a/devel/electron12/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc b/devel/electron12/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
new file mode 100644
index 000000000000..a2f6a3b7fbac
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
@@ -0,0 +1,25 @@
+--- ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/linux/client_native_pixmap_dmabuf.cc
+@@ -5,7 +5,9 @@
+ #include "ui/gfx/linux/client_native_pixmap_dmabuf.h"
+
+ #include <fcntl.h>
++#if !defined(__FreeBSD__)
+ #include <linux/version.h>
++#endif
+ #include <stddef.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+@@ -28,11 +30,7 @@
+ #include "ui/gfx/buffer_format_util.h"
+ #include "ui/gfx/switches.h"
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+-#include <linux/dma-buf.h>
+-#else
+-#include <linux/types.h>
+-
++#if defined(__FreeBSD__)
+ struct dma_buf_sync {
+ __u64 flags;
+ };
diff --git a/devel/electron12/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/devel/electron12/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
new file mode 100644
index 000000000000..93e2a0e41b19
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
@@ -0,0 +1,20 @@
+--- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/mojom/buffer_types_mojom_traits.cc
+@@ -33,7 +33,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra
+ return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle(
+ std::move(handle.region));
+ case gfx::NATIVE_PIXMAP:
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
+ return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
+ std::move(handle.native_pixmap_handle));
+ #else
+@@ -112,7 +112,7 @@ bool StructTraits<gfx::mojom::GpuMemoryBufferHandleDat
+ out->type = gfx::SHARED_MEMORY_BUFFER;
+ out->region = std::move(platform_handle->get_shared_memory_handle());
+ return true;
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE)
+ case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
+ NATIVE_PIXMAP_HANDLE:
+ out->type = gfx::NATIVE_PIXMAP;
diff --git a/devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc b/devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
index b41e157db128..b41e157db128 100644
--- a/devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
+++ b/devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc
diff --git a/devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h b/devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
index 52ac93d37b69..52ac93d37b69 100644
--- a/devel/electron11/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
+++ b/devel/electron12/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h
diff --git a/devel/electron11/files/patch-ui_gfx_native__pixmap__handle.cc b/devel/electron12/files/patch-ui_gfx_native__pixmap__handle.cc
index 297c229b29c4..297c229b29c4 100644
--- a/devel/electron11/files/patch-ui_gfx_native__pixmap__handle.cc
+++ b/devel/electron12/files/patch-ui_gfx_native__pixmap__handle.cc
diff --git a/devel/electron11/files/patch-ui_gfx_native__pixmap__handle.h b/devel/electron12/files/patch-ui_gfx_native__pixmap__handle.h
index b1a678e9188b..b1a678e9188b 100644
--- a/devel/electron11/files/patch-ui_gfx_native__pixmap__handle.h
+++ b/devel/electron12/files/patch-ui_gfx_native__pixmap__handle.h
diff --git a/devel/electron12/files/patch-ui_gfx_native__widget__types.h b/devel/electron12/files/patch-ui_gfx_native__widget__types.h
new file mode 100644
index 000000000000..007c96466ba8
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_native__widget__types.h
@@ -0,0 +1,20 @@
+--- ui/gfx/native_widget_types.h.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/native_widget_types.h
+@@ -106,7 +106,7 @@ class SkBitmap;
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ extern "C" {
+ struct _AtkObject;
+ typedef struct _AtkObject AtkObject;
+@@ -209,7 +209,7 @@ typedef NSFont* NativeFont;
+ typedef id NativeViewAccessible;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Linux doesn't have a native font type.
+ typedef AtkObject* NativeViewAccessible;
+ #else
diff --git a/devel/electron12/files/patch-ui_gfx_render__text.cc b/devel/electron12/files/patch-ui_gfx_render__text.cc
new file mode 100644
index 000000000000..07d8e7454fde
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gfx_render__text.cc
@@ -0,0 +1,46 @@
+--- ui/gfx/render_text.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gfx/render_text.cc
+@@ -1193,32 +1193,33 @@ void RenderText::SetDisplayOffset(int horizontal_offse
+ const int extra_content = GetContentWidth() - display_rect_.width();
+ const int cursor_width = cursor_enabled_ ? 1 : 0;
+
+- int min_offset = 0;
+- int max_offset = 0;
++ // avoid collisions with vm_map.h on FreeBSD --cmt
++ int _min_offset = 0;
++ int _max_offset = 0;
+ if (extra_content > 0) {
+ switch (GetCurrentHorizontalAlignment()) {
+ case ALIGN_LEFT:
+- min_offset = -extra_content;
++ _min_offset = -extra_content;
+ break;
+ case ALIGN_RIGHT:
+- max_offset = extra_content;
++ _max_offset = extra_content;
+ break;
+ case ALIGN_CENTER:
+ // The extra space reserved for cursor at the end of the text is ignored
+ // when centering text. So, to calculate the valid range for offset, we
+ // exclude that extra space, calculate the range, and add it back to the
+ // range (if cursor is enabled).
+- min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
+- max_offset = (extra_content - cursor_width) / 2;
++ _min_offset = -(extra_content - cursor_width + 1) / 2 - cursor_width;
++ _max_offset = (extra_content - cursor_width) / 2;
+ break;
+ default:
+ break;
+ }
+ }
+- if (horizontal_offset < min_offset)
+- horizontal_offset = min_offset;
+- else if (horizontal_offset > max_offset)
+- horizontal_offset = max_offset;
++ if (horizontal_offset < _min_offset)
++ horizontal_offset = _min_offset;
++ else if (horizontal_offset > _max_offset)
++ horizontal_offset = _max_offset;
+
+ cached_bounds_and_offset_valid_ = true;
+ display_offset_.set_x(horizontal_offset);
diff --git a/devel/electron12/files/patch-ui_gl_BUILD.gn b/devel/electron12/files/patch-ui_gl_BUILD.gn
new file mode 100644
index 000000000000..56fcf9ed6137
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gl_BUILD.gn
@@ -0,0 +1,11 @@
+--- ui/gl/BUILD.gn.orig 2021-04-14 01:09:39 UTC
++++ ui/gl/BUILD.gn
+@@ -223,7 +223,7 @@ component("gl") {
+ ]
+ }
+
+- if (is_posix && !is_fuchsia && !is_mac) {
++ if (is_posix && !is_fuchsia && !is_mac && !is_bsd) {
+ # Windows has USE_EGL but doesn't support base::FileDescriptor.
+ # libsync isn't supported or needed on MacOSX.
+ # Fuchsia is excluded due to a libsync dependency and because it's
diff --git a/devel/electron12/files/patch-ui_gl_generate__bindings.py b/devel/electron12/files/patch-ui_gl_generate__bindings.py
new file mode 100644
index 000000000000..df3d73b5934e
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gl_generate__bindings.py
@@ -0,0 +1,12 @@
+--- ui/gl/generate_bindings.py.orig 2021-04-14 01:09:39 UTC
++++ ui/gl/generate_bindings.py
+@@ -2840,6 +2840,9 @@ GLX_FUNCTIONS = [
+ 'arguments':
+ 'Display* dpy, GLXDrawable drawable, int32_t* numerator, '
+ 'int32_t* denominator' },
++{ 'return_type': '__GLXextFuncPtr',
++ 'names': ['glXGetProcAddressARB'],
++ 'arguments': 'const GLubyte* procName', },
+ { 'return_type': 'void',
+ 'names': ['glXGetSelectedEvent'],
+ 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
diff --git a/devel/electron11/files/patch-ui_gl_gl__bindings__api__autogen__glx.h b/devel/electron12/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
index 87d64deb195f..87d64deb195f 100644
--- a/devel/electron11/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
+++ b/devel/electron12/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
diff --git a/devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.cc b/devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.cc
index 05b4bbbe95a9..05b4bbbe95a9 100644
--- a/devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.cc
+++ b/devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.cc
diff --git a/devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.h b/devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.h
index e30a72f39e11..e30a72f39e11 100644
--- a/devel/electron11/files/patch-ui_gl_gl__bindings__autogen__glx.h
+++ b/devel/electron12/files/patch-ui_gl_gl__bindings__autogen__glx.h
diff --git a/devel/electron12/files/patch-ui_gl_gl__features.cc b/devel/electron12/files/patch-ui_gl_gl__features.cc
new file mode 100644
index 000000000000..b761085e91b8
--- /dev/null
+++ b/devel/electron12/files/patch-ui_gl_gl__features.cc
@@ -0,0 +1,13 @@
+--- ui/gl/gl_features.cc.orig 2021-04-14 01:09:39 UTC
++++ ui/gl/gl_features.cc
+@@ -23,8 +23,8 @@ const base::Feature kGpuVsync{"GpuVsync", base::FEATUR
+ // Launched on Windows, still experimental on other platforms.
+ const base::Feature kDefaultPassthroughCommandDecoder{
+ "DefaultPassthroughCommandDecoder",
+-#if defined(OS_WIN) || \
+- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
++#if defined(OS_WIN) || \
++ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \
+ !defined(CHROMECAST_BUILD))
+ base::FEATURE_ENABLED_BY_DEFAULT
+ #else
diff --git a/devel/electron11/files/patch-ui_gl_gl__fence.cc b/devel/electron12/files/patch-ui_gl_gl__fence.cc
index d8a681f0c6d9..d8a681f0c6d9 100644
--- a/devel/electron11/files/patch-ui_gl_gl__fence.cc
+++ b/devel/electron12/files/patch-ui_gl_gl__fence.cc
diff --git a/devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.cc b/devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.cc
index 8a95004c5c7c..8a95004c5c7c 100644
--- a/devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.cc
+++ b/devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.cc
diff --git a/devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.h b/devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.h
index 8f7be893cfb8..8f7be893cfb8 100644
--- a/devel/electron11/files/patch-ui_gl_sync__control__vsync__provider.h
+++ b/devel/electron12/files/patch-ui_gl_sync__control__vsync__provider.h
diff --git a/devel/electron11/files/patch-ui_gtk_printing_print__dialog__gtk.cc b/devel/electron12/files/patch-ui_gtk_printing_print__dialog__gtk.cc
index 27e7c4040caf..27e7c4040caf 100644
--- a/devel/electron11/files/patch-ui_gtk_printing_print__dialog__gtk.cc
+++ b/devel/electron12/files/patch-ui_gtk_printing_print__dialog__gtk.cc
diff --git a/devel/electron12/files/patch-ui_message__center_views_message__popup__view.cc b/devel/electron12/files/patch-ui_message__center_views_message__popup__view.cc
new file mode 100644
index 000000000000..24a10e127fbd
--- /dev/null
+++ b/devel/electron12/files/patch-ui_message__center_views_message__popup__view.cc
@@ -0,0 +1,11 @@
+--- ui/message_center/views/message_popup_view.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/message_center/views/message_popup_view.cc
+@@ -114,7 +114,7 @@ void MessagePopupView::Show() {
+ params.z_order = ui::ZOrderLevel::kFloatingWindow;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Make the widget explicitly activatable as TYPE_POPUP is not activatable by
+ // default but we need focus for the inline reply textarea.
+ params.activatable = views::Widget::InitParams::ACTIVATABLE_YES;
diff --git a/devel/electron12/files/patch-ui_native__theme_native__theme.h b/devel/electron12/files/patch-ui_native__theme_native__theme.h
new file mode 100644
index 000000000000..581bedbf4769
--- /dev/null
+++ b/devel/electron12/files/patch-ui_native__theme_native__theme.h
@@ -0,0 +1,11 @@
+--- ui/native_theme/native_theme.h.orig 2021-04-22 07:51:50 UTC
++++ ui/native_theme/native_theme.h
+@@ -54,7 +54,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
+ kCheckbox,
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ kFrameTopArea,
+ #endif
+ kInnerSpinButton,
diff --git a/devel/electron12/files/patch-ui_native__theme_native__theme__base.cc b/devel/electron12/files/patch-ui_native__theme_native__theme__base.cc
new file mode 100644
index 000000000000..44b96d3351ef
--- /dev/null
+++ b/devel/electron12/files/patch-ui_native__theme_native__theme__base.cc
@@ -0,0 +1,11 @@
+--- ui/native_theme/native_theme_base.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/native_theme/native_theme_base.cc
+@@ -258,7 +258,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
+ break;
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ case kFrameTopArea:
+ PaintFrameTopArea(canvas, state, rect, extra.frame_top_area,
+ color_scheme);
diff --git a/devel/electron12/files/patch-ui_platform__window_platform__window__init__properties.h b/devel/electron12/files/patch-ui_platform__window_platform__window__init__properties.h
new file mode 100644
index 000000000000..e48438d11ae1
--- /dev/null
+++ b/devel/electron12/files/patch-ui_platform__window_platform__window__init__properties.h
@@ -0,0 +1,20 @@
+--- ui/platform_window/platform_window_init_properties.h.orig 2021-04-14 01:09:40 UTC
++++ ui/platform_window/platform_window_init_properties.h
+@@ -41,7 +41,7 @@ enum class PlatformWindowOpacity {
+
+ class WorkspaceExtensionDelegate;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ class X11ExtensionDelegate;
+ #endif
+
+@@ -83,7 +83,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo
+
+ WorkspaceExtensionDelegate* workspace_extension_delegate = nullptr;
+
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ bool prefer_dark_theme = false;
+ gfx::ImageSkia* icon = nullptr;
+ base::Optional<int> background_color;
diff --git a/devel/electron12/files/patch-ui_strings_app__locale__settings.grd b/devel/electron12/files/patch-ui_strings_app__locale__settings.grd
new file mode 100644
index 000000000000..39265ceb2983
--- /dev/null
+++ b/devel/electron12/files/patch-ui_strings_app__locale__settings.grd
@@ -0,0 +1,11 @@
+--- ui/strings/app_locale_settings.grd.orig 2021-04-14 01:09:40 UTC
++++ ui/strings/app_locale_settings.grd
+@@ -217,7 +217,7 @@
+ 75%
+ </message>
+ </if>
+- <if expr="(is_linux or is_android or is_bsd) and not (chromeos or lacros)">
++ <if expr="(is_posix or is_android or is_bsd) and not (chromeos or lacros)">
+ <!-- The font used in Web UI (e.g. History). Note that these are only
+ backups. We try to use the system font if possible. -->
+ <message name="IDS_WEB_FONT_FAMILY" use_name_for_id="true">
diff --git a/devel/electron12/files/patch-ui_views_controls_label.cc b/devel/electron12/files/patch-ui_views_controls_label.cc
new file mode 100644
index 000000000000..5a1e9b7a98be
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_controls_label.cc
@@ -0,0 +1,20 @@
+--- ui/views/controls/label.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/controls/label.cc
+@@ -806,7 +806,7 @@ bool Label::OnMousePressed(const ui::MouseEvent& event
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (event.IsOnlyMiddleMouseButton() && GetFocusManager() && !had_focus)
+ GetFocusManager()->SetFocusedView(this);
+ #endif
+@@ -995,7 +995,7 @@ bool Label::PasteSelectionClipboard() {
+ void Label::UpdateSelectionClipboard() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (!GetObscured()) {
+ ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection)
+ .WriteText(GetSelectedText());
diff --git a/devel/electron12/files/patch-ui_views_controls_textfield_textfield.cc b/devel/electron12/files/patch-ui_views_controls_textfield_textfield.cc
new file mode 100644
index 000000000000..57d2e039f489
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_controls_textfield_textfield.cc
@@ -0,0 +1,73 @@
+--- ui/views/controls/textfield/textfield.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/controls/textfield/textfield.cc
+@@ -71,7 +71,7 @@
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ #include "ui/base/ime/linux/text_edit_command_auralinux.h"
+ #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
+ #endif
+@@ -239,14 +239,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke
+ #endif
+ return ui::TextEditCommand::DELETE_BACKWARD;
+ }
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Only erase by line break on Linux and ChromeOS.
+ if (shift)
+ return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE;
+ #endif
+ return ui::TextEditCommand::DELETE_WORD_BACKWARD;
+ case ui::VKEY_DELETE:
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Only erase by line break on Linux and ChromeOS.
+ if (shift && control)
+ return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
+@@ -320,7 +320,7 @@ bool IsControlKeyModifier(int flags) {
+ // Control-modified key combination, but we cannot extend it to other platforms
+ // as Control has different meanings and behaviors.
+ // https://crrev.com/2580483002/#msg46
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ return flags & ui::EF_CONTROL_DOWN;
+ #else
+ return false;
+@@ -818,7 +818,7 @@ bool Textfield::OnMousePressed(const ui::MouseEvent& e
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (!handled && !had_focus && event.IsOnlyMiddleMouseButton())
+ RequestFocusWithPointer(ui::EventPointerType::kMouse);
+ #endif
+@@ -867,7 +867,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
+ ui::GetTextEditKeyBindingsDelegate();
+ std::vector<ui::TextEditCommandAuraLinux> commands;
+@@ -1023,7 +1023,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo
+ bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Skip any accelerator handling that conflicts with custom keybindings.
+ ui::TextEditKeyBindingsDelegateAuraLinux* delegate =
+ ui::GetTextEditKeyBindingsDelegate();
+@@ -2343,7 +2343,7 @@ bool Textfield::PasteSelectionClipboard() {
+ void Textfield::UpdateSelectionClipboard() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ if (text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD) {
+ ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection)
+ .WriteText(GetSelectedText());
diff --git a/devel/electron12/files/patch-ui_views_corewm_tooltip__aura.cc b/devel/electron12/files/patch-ui_views_corewm_tooltip__aura.cc
new file mode 100644
index 000000000000..2d6c9795821c
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_corewm_tooltip__aura.cc
@@ -0,0 +1,11 @@
+--- ui/views/corewm/tooltip_aura.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/corewm/tooltip_aura.cc
+@@ -49,7 +49,7 @@ constexpr int kVerticalPaddingBottom = 5;
+ bool CanUseTranslucentTooltipWidget() {
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN)
++#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD)
+ return false;
+ #else
+ return true;
diff --git a/devel/electron12/files/patch-ui_views_examples_widget__example.cc b/devel/electron12/files/patch-ui_views_examples_widget__example.cc
new file mode 100644
index 000000000000..3bd768d27c0e
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_examples_widget__example.cc
@@ -0,0 +1,11 @@
+--- ui/views/examples/widget_example.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/examples/widget_example.cc
+@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container)
+ modal_button->SetCallback(
+ base::BindRepeating(&WidgetExample::CreateDialogWidget,
+ base::Unretained(this), modal_button, true));
+-#if defined(OS_LINUX) || defined(OS_CHROMEOS)
++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
+ // Windows does not support TYPE_CONTROL top-level widgets.
+ LabelButton* control_button = BuildButton(
+ container, GetStringUTF16(IDS_WIDGET_CHILD_WIDGET_BUTTON_LABEL));
diff --git a/devel/electron12/files/patch-ui_views_focus_focus__manager.cc b/devel/electron12/files/patch-ui_views_focus_focus__manager.cc
new file mode 100644
index 000000000000..7d4b7d64c516
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_focus_focus__manager.cc
@@ -0,0 +1,20 @@
+--- ui/views/focus/focus_manager.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/focus/focus_manager.cc
+@@ -624,7 +624,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Processing an accelerator can delete things. Because we
+ // need these objects afterwards on Linux, save widget_ as weak pointer and
+ // save the close_on_deactivate property value of widget_delegate in a
+@@ -641,7 +641,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi
+
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ // Need to manually close the bubble widget on Linux. On Linux when the
+ // bubble is shown, the main widget remains active. Because of that when
+ // focus is set to the main widget to process accelerator, the main widget
diff --git a/devel/electron12/files/patch-ui_views_selection__controller.cc b/devel/electron12/files/patch-ui_views_selection__controller.cc
new file mode 100644
index 000000000000..ba81b6044873
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_selection__controller.cc
@@ -0,0 +1,11 @@
+--- ui/views/selection_controller.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/selection_controller.cc
+@@ -26,7 +26,7 @@ SelectionController::SelectionController(SelectionCont
+ // On Linux, update the selection clipboard on a text selection.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ set_handles_selection_clipboard(true);
+ #endif
+
diff --git a/devel/electron12/files/patch-ui_views_style_platform__style.cc b/devel/electron12/files/patch-ui_views_style_platform__style.cc
new file mode 100644
index 000000000000..b5c571dbee1a
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_style_platform__style.cc
@@ -0,0 +1,20 @@
+--- ui/views/style/platform_style.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/style/platform_style.cc
+@@ -58,7 +58,7 @@ const View::FocusBehavior PlatformStyle::kDefaultFocus
+ const bool PlatformStyle::kAdjustBubbleIfOffscreen =
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ false;
+ #else
+ true;
+@@ -88,7 +88,7 @@ gfx::Range PlatformStyle::RangeToDeleteBackwards(const
+ #endif // OS_APPLE
+
+ #if !BUILDFLAG(ENABLE_DESKTOP_AURA) || \
+- (!defined(OS_LINUX) && !defined(OS_CHROMEOS))
++ (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD))
+ // static
+ std::unique_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder(
+ LabelButton* button) {
diff --git a/devel/electron12/files/patch-ui_views_views__delegate.cc b/devel/electron12/files/patch-ui_views_views__delegate.cc
new file mode 100644
index 000000000000..0b2b5d0cc80c
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_views__delegate.cc
@@ -0,0 +1,11 @@
+--- ui/views/views_delegate.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/views_delegate.cc
+@@ -90,7 +90,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow
+ return false;
+ }
+ #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const {
+ return nullptr;
+ }
diff --git a/devel/electron12/files/patch-ui_views_views__delegate.h b/devel/electron12/files/patch-ui_views_views__delegate.h
new file mode 100644
index 000000000000..fcdf6d5db615
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_views__delegate.h
@@ -0,0 +1,11 @@
+--- ui/views/views_delegate.h.orig 2021-04-14 01:09:40 UTC
++++ ui/views/views_delegate.h
+@@ -138,7 +138,7 @@ class VIEWS_EXPORT ViewsDelegate {
+ // environment.
+ virtual bool IsWindowInMetro(gfx::NativeWindow window) const;
+ #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ virtual gfx::ImageSkia* GetDefaultWindowIcon() const;
+ #endif
+
diff --git a/devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc b/devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc
index c44f45a39c1c..c44f45a39c1c 100644
--- a/devel/electron11/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc
+++ b/devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__screen__ozone.cc
diff --git a/devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
new file mode 100644
index 000000000000..ea91ee17c0c4
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
@@ -0,0 +1,11 @@
+--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+@@ -818,7 +818,7 @@ void DesktopWindowTreeHostPlatform::AddAdditionalInitP
+ // DesktopWindowTreeHost:
+
+ // Linux subclasses this host and adds some Linux specific bits.
+-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS)
++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)
+ // static
+ DesktopWindowTreeHost* DesktopWindowTreeHost::Create(
+ internal::NativeWidgetDelegate* native_widget_delegate,
diff --git a/devel/electron12/files/patch-ui_views_widget_native__widget__aura.cc b/devel/electron12/files/patch-ui_views_widget_native__widget__aura.cc
new file mode 100644
index 000000000000..4d5f19c3ac32
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_widget_native__widget__aura.cc
@@ -0,0 +1,37 @@
+--- ui/views/widget/native_widget_aura.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/widget/native_widget_aura.cc
+@@ -68,7 +68,7 @@
+ #endif
+
+ #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ #include "ui/views/linux_ui/linux_ui.h"
+ #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
+ #endif
+@@ -1121,7 +1121,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS
+
+ namespace {
+ #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ void CloseWindow(aura::Window* window) {
+ if (window) {
+ Widget* widget = Widget::GetWidgetForNativeView(window);
+@@ -1152,14 +1152,14 @@ void Widget::CloseAllSecondaryWidgets() {
+ #endif
+
+ #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ DesktopWindowTreeHostLinux::CleanUpWindowList(CloseWindow);
+ #endif
+ }
+
+ const ui::NativeTheme* Widget::GetNativeTheme() const {
+ #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \
+- (defined(OS_LINUX) || defined(OS_CHROMEOS))
++ (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD))
+ const LinuxUI* linux_ui = LinuxUI::instance();
+ if (linux_ui) {
+ ui::NativeTheme* native_theme =
diff --git a/devel/electron12/files/patch-ui_views_window_custom__frame__view.cc b/devel/electron12/files/patch-ui_views_window_custom__frame__view.cc
new file mode 100644
index 000000000000..de01d6d8d7bc
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_window_custom__frame__view.cc
@@ -0,0 +1,11 @@
+--- ui/views/window/custom_frame_view.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/window/custom_frame_view.cc
+@@ -259,7 +259,7 @@ int CustomFrameView::CaptionButtonY() const {
+ // drawn flush with the screen edge, they still obey Fitts' Law.
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)
+ return FrameBorderThickness();
+ #else
+ return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness;
diff --git a/devel/electron12/files/patch-ui_views_window_dialog__delegate.cc b/devel/electron12/files/patch-ui_views_window_dialog__delegate.cc
new file mode 100644
index 000000000000..b910db1f1917
--- /dev/null
+++ b/devel/electron12/files/patch-ui_views_window_dialog__delegate.cc
@@ -0,0 +1,11 @@
+--- ui/views/window/dialog_delegate.cc.orig 2021-04-14 01:09:40 UTC
++++ ui/views/window/dialog_delegate.cc
+@@ -72,7 +72,7 @@ Widget* DialogDelegate::CreateDialogWidget(
+
+ // static
+ bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
+-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
++#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \
+ BUILDFLAG(ENABLE_DESKTOP_AURA)
+ // The new style doesn't support unparented dialogs on Linux desktop.
+ return parent != nullptr;
diff --git a/devel/electron11/files/patch-ui_views_window_frame__background.cc b/devel/electron12/files/patch-ui_views_window_frame__background.cc
index cf3199aadeb8..cf3199aadeb8 100644
--- a/devel/electron11/files/patch-ui_views_window_frame__background.cc
+++ b/devel/electron12/files/patch-ui_views_window_frame__background.cc
diff --git a/devel/electron12/files/patch-ui_webui_resources_js_cr.js b/devel/electron12/files/patch-ui_webui_resources_js_cr.js
new file mode 100644
index 000000000000..187d7c5db2b3
--- /dev/null
+++ b/devel/electron12/files/patch-ui_webui_resources_js_cr.js
@@ -0,0 +1,14 @@
+--- ui/webui/resources/js/cr.js.orig 2021-04-14 01:09:40 UTC
++++ ui/webui/resources/js/cr.js
+@@ -450,6 +450,11 @@ var cr = cr || function(global) {
+ get isMac() {
+ return /Mac/.test(navigator.platform);
+ },
++
++ /** Whether this is on *BSD. */
++ get isBSD() {
++ return /BSD/.test(navigator.userAgent);
++ },
+
+ /** Whether this is on the Windows platform or not. */
+ get isWindows() {
diff --git a/devel/electron12/files/patch-v8_BUILD.gn b/devel/electron12/files/patch-v8_BUILD.gn
new file mode 100644
index 000000000000..ee96f8cf6a3c
--- /dev/null
+++ b/devel/electron12/files/patch-v8_BUILD.gn
@@ -0,0 +1,27 @@
+--- v8/BUILD.gn.orig 2021-04-22 07:51:51 UTC
++++ v8/BUILD.gn
+@@ -4213,9 +4213,15 @@ v8_component("v8_libbase") {
+ }
+ }
+
+- if (is_linux || is_chromeos) {
++ if (is_bsd) {
+ sources += [
+ "src/base/debug/stack_trace_posix.cc",
++ "src/base/platform/platform-freebsd.cc",
++ ]
++ libs = [ "rt", "execinfo" ]
++ } else if (is_linux || is_chromeos) {
++ sources += [
++ "src/base/debug/stack_trace_posix.cc",
+ "src/base/platform/platform-linux.cc",
+ ]
+
+@@ -4671,6 +4677,7 @@ if (current_toolchain == v8_generator_toolchain) {
+ "src/interpreter/bytecodes.cc",
+ "src/interpreter/bytecodes.h",
+ ]
++ libs = ["execinfo"]
+
+ configs = [ ":internal_config_base" ]
+
diff --git a/devel/electron12/files/patch-v8_include_v8config.h b/devel/electron12/files/patch-v8_include_v8config.h
new file mode 100644
index 000000000000..771af78665d2
--- /dev/null
+++ b/devel/electron12/files/patch-v8_include_v8config.h
@@ -0,0 +1,21 @@
+--- v8/include/v8config.h.orig 2021-04-22 07:51:51 UTC
++++ v8/include/v8config.h
+@@ -285,7 +285,18 @@
+
+ # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
+
++// Work around Clang bug present in 9.0.1, at least.
++//
++// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses
++// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment
++// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and
++// becomes zero, triggering an internal Clang assertion that alignment must not
++// be zero.
++#if 0
+ # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
++#else
++# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0
++#endif
+ # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
+ # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
+ # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
diff --git a/devel/electron12/files/patch-v8_src_api_api.cc b/devel/electron12/files/patch-v8_src_api_api.cc
new file mode 100644
index 000000000000..8ca28ce3c6b7
--- /dev/null
+++ b/devel/electron12/files/patch-v8_src_api_api.cc
@@ -0,0 +1,11 @@
+--- v8/src/api/api.cc.orig 2021-04-22 07:51:51 UTC
++++ v8/src/api/api.cc
+@@ -5898,7 +5898,7 @@ bool v8::V8::Initialize(const int build_config) {
+ return true;
+ }
+
+-#if V8_OS_LINUX || V8_OS_MACOSX
++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD
+ bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info,
+ void* context) {
+ #if V8_TARGET_ARCH_X64 && !V8_OS_ANDROID
diff --git a/devel/electron12/files/patch-v8_src_base_cpu.cc b/devel/electron12/files/patch-v8_src_base_cpu.cc
new file mode 100644
index 000000000000..d87aff6cd921
--- /dev/null
+++ b/devel/electron12/files/patch-v8_src_base_cpu.cc
@@ -0,0 +1,18 @@
+--- v8/src/base/cpu.cc.orig 2021-04-14 01:15:35 UTC
++++ v8/src/base/cpu.cc
+@@ -545,6 +545,7 @@ CPU::CPU()
+
+ #if V8_OS_LINUX
+
++#if V8_OS_LINUX
+ CPUInfo cpu_info;
+
+ // Extract implementor from the "CPU implementer" field.
+@@ -578,6 +579,7 @@ CPU::CPU()
+ }
+ delete[] part;
+ }
++#endif
+
+ // Extract architecture from the "CPU Architecture" field.
+ // The list is well-known, unlike the the output of
diff --git a/devel/electron11/files/patch-v8_src_base_platform_platform-freebsd.cc b/devel/electron12/files/patch-v8_src_base_platform_platform-freebsd.cc
index 3fc9e7e93bb3..3fc9e7e93bb3 100644
--- a/devel/electron11/files/patch-v8_src_base_platform_platform-freebsd.cc
+++ b/devel/electron12/files/patch-v8_src_base_platform_platform-freebsd.cc
diff --git a/devel/electron12/files/patch-v8_src_base_platform_platform-posix.cc b/devel/electron12/files/patch-v8_src_base_platform_platform-posix.cc
new file mode 100644
index 000000000000..b381da8cc43c
--- /dev/null
+++ b/devel/electron12/files/patch-v8_src_base_platform_platform-posix.cc
@@ -0,0 +1,24 @@
+--- v8/src/base/platform/platform-posix.cc.orig 2021-04-22 07:51:51 UTC
++++ v8/src/base/platform/platform-posix.cc
+@@ -486,7 +486,7 @@ bool OS::DiscardSystemPages(void* address, size_t size
+
+ // static
+ bool OS::HasLazyCommits() {
+-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX
++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD
+ return true;
+ #else
+ // TODO(bbudge) Return true for all POSIX platforms.
+@@ -617,6 +617,12 @@ int OS::GetCurrentThreadId() {
+ return static_cast<int>(syscall(__NR_gettid));
+ #elif V8_OS_ANDROID
+ return static_cast<int>(gettid());
++#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__)
++ return static_cast<int>(lwp_gettid());
++#elif V8_OS_FREEBSD
++ return static_cast<int>(pthread_getthreadid_np());
++#elif V8_OS_NETBSD
++ return static_cast<int>(_lwp_self());
+ #elif V8_OS_AIX
+ return static_cast<int>(thread_self());
+ #elif V8_OS_FUCHSIA
diff --git a/devel/electron12/files/patch-v8_src_d8_d8.cc b/devel/electron12/files/patch-v8_src_d8_d8.cc
new file mode 100644
index 000000000000..567397b74ef1
--- /dev/null
+++ b/devel/electron12/files/patch-v8_src_d8_d8.cc
@@ -0,0 +1,62 @@
+--- v8/src/d8/d8.cc.orig 2021-04-14 01:15:35 UTC
++++ v8/src/d8/d8.cc
+@@ -73,7 +73,7 @@
+ #include "unicode/locid.h"
+ #endif // V8_INTL_SUPPORT
+
+-#ifdef V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ #include <sys/mman.h> // For MultiMappedAllocator.
+ #endif
+
+@@ -235,7 +235,7 @@ class MockArrayBufferAllocatiorWithLimit : public Mock
+ std::atomic<size_t> space_left_;
+ };
+
+-#ifdef V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+
+ // This is a mock allocator variant that provides a huge virtual allocation
+ // backed by a small real allocation that is repeatedly mapped. If you create an
+@@ -328,7 +328,7 @@ class MultiMappedAllocator : public ArrayBufferAllocat
+ base::Mutex regions_mutex_;
+ };
+
+-#endif // V8_OS_LINUX
++#endif // V8_OS_LINUX || V8_OS_FREEBSD
+
+ v8::Platform* g_default_platform;
+ std::unique_ptr<v8::Platform> g_platform;
+@@ -3689,7 +3689,7 @@ bool Shell::SetOptions(int argc, char* argv[]) {
+ options.mock_arraybuffer_allocator = i::FLAG_mock_arraybuffer_allocator;
+ options.mock_arraybuffer_allocator_limit =
+ i::FLAG_mock_arraybuffer_allocator_limit;
+-#if V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ options.multi_mapped_mock_allocator = i::FLAG_multi_mapped_mock_allocator;
+ #endif
+
+@@ -4321,19 +4321,19 @@ int Shell::Main(int argc, char* argv[]) {
+ memory_limit >= options.mock_arraybuffer_allocator_limit
+ ? memory_limit
+ : std::numeric_limits<size_t>::max());
+-#if V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ MultiMappedAllocator multi_mapped_mock_allocator;
+-#endif // V8_OS_LINUX
++#endif // V8_OS_LINUX || V8_OS_FREEBSD
+ if (options.mock_arraybuffer_allocator) {
+ if (memory_limit) {
+ Shell::array_buffer_allocator = &mock_arraybuffer_allocator_with_limit;
+ } else {
+ Shell::array_buffer_allocator = &mock_arraybuffer_allocator;
+ }
+-#if V8_OS_LINUX
++#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD)
+ } else if (options.multi_mapped_mock_allocator) {
+ Shell::array_buffer_allocator = &multi_mapped_mock_allocator;
+-#endif // V8_OS_LINUX
++#endif // V8_OS_LINUX || V8_OS_FREEBSD
+ } else {
+ Shell::array_buffer_allocator = &shell_array_buffer_allocator;
+ }
diff --git a/devel/electron12/files/patch-weblayer_BUILD.gn b/devel/electron12/files/patch-weblayer_BUILD.gn
new file mode 100644
index 000000000000..30b8223dd5aa
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_BUILD.gn
@@ -0,0 +1,17 @@
+--- weblayer/BUILD.gn.orig 2021-04-14 01:09:40 UTC
++++ weblayer/BUILD.gn
+@@ -706,6 +706,14 @@ source_set("weblayer_lib_base") {
+ ]
+ }
+
++ if (is_bsd) {
++ deps -= [
++ "//components/crash/content/browser",
++ "//components/crash/core/app",
++ "//components/crash/core/common",
++ ]
++ }
++
+ if (toolkit_views) {
+ deps += [ "//ui/views" ]
+ }
diff --git a/devel/electron12/files/patch-weblayer_app_content__main__delegate__impl.cc b/devel/electron12/files/patch-weblayer_app_content__main__delegate__impl.cc
new file mode 100644
index 000000000000..64ff1effc145
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_app_content__main__delegate__impl.cc
@@ -0,0 +1,11 @@
+--- weblayer/app/content_main_delegate_impl.cc.orig 2021-04-14 01:09:40 UTC
++++ weblayer/app/content_main_delegate_impl.cc
+@@ -218,7 +218,7 @@ bool ContentMainDelegateImpl::ShouldCreateFeatureList(
+ }
+
+ void ContentMainDelegateImpl::PreSandboxStartup() {
+-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX))
++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD))
+ // Create an instance of the CPU class to parse /proc/cpuinfo and cache
+ // cpu_brand info.
+ base::CPU cpu_info;
diff --git a/devel/electron12/files/patch-weblayer_browser_browser__main__parts__impl.cc b/devel/electron12/files/patch-weblayer_browser_browser__main__parts__impl.cc
new file mode 100644
index 000000000000..242cf4a61760
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_browser_browser__main__parts__impl.cc
@@ -0,0 +1,20 @@
+--- weblayer/browser/browser_main_parts_impl.cc.orig 2021-04-14 01:09:40 UTC
++++ weblayer/browser/browser_main_parts_impl.cc
+@@ -69,7 +69,7 @@
+ #include "ui/base/ui_base_features.h"
+ #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck
+ #endif
+-#if defined(USE_AURA) && defined(OS_LINUX)
++#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
+ #include "ui/base/ime/init/input_method_initializer.h"
+ #endif
+
+@@ -184,7 +184,7 @@ void BrowserMainPartsImpl::PreMainMessageLoopStart() {
+ int BrowserMainPartsImpl::PreEarlyInitialization() {
+ browser_process_ = std::make_unique<BrowserProcess>(std::move(local_state_));
+
+-#if defined(USE_AURA) && defined(OS_LINUX)
++#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
+ ui::InitializeInputMethodForTesting();
+ #endif
+ #if defined(OS_ANDROID)
diff --git a/devel/electron12/files/patch-weblayer_browser_content__browser__client__impl.cc b/devel/electron12/files/patch-weblayer_browser_content__browser__client__impl.cc
new file mode 100644
index 000000000000..7a4886f5c2ca
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_browser_content__browser__client__impl.cc
@@ -0,0 +1,20 @@
+--- weblayer/browser/content_browser_client_impl.cc.orig 2021-04-14 01:09:40 UTC
++++ weblayer/browser/content_browser_client_impl.cc
+@@ -135,7 +135,7 @@
+ #include "weblayer/browser/weblayer_factory_impl_android.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ #include "content/public/common/content_descriptors.h"
+ #endif
+
+@@ -387,7 +387,7 @@ void ContentBrowserClientImpl::ConfigureNetworkContext
+
+ void ContentBrowserClientImpl::OnNetworkServiceCreated(
+ network::mojom::NetworkService* network_service) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ network::mojom::CryptConfigPtr config = network::mojom::CryptConfig::New();
+ content::GetNetworkService()->SetCryptConfig(std::move(config));
+ #endif
diff --git a/devel/electron12/files/patch-weblayer_browser_system__network__context__manager.cc b/devel/electron12/files/patch-weblayer_browser_system__network__context__manager.cc
new file mode 100644
index 000000000000..d4e923b6ccf9
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_browser_system__network__context__manager.cc
@@ -0,0 +1,15 @@
+--- weblayer/browser/system_network_context_manager.cc.orig 2021-04-14 01:09:40 UTC
++++ weblayer/browser/system_network_context_manager.cc
+@@ -64,10 +64,10 @@ void SystemNetworkContextManager::ConfigureDefaultNetw
+ network::mojom::NetworkContextParams* network_context_params,
+ const std::string& user_agent) {
+ network_context_params->user_agent = user_agent;
+-#if defined(OS_LINUX) || defined(OS_WIN)
++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ // We're not configuring the cookie encryption on these platforms yet.
+ network_context_params->enable_encrypted_cookies = false;
+-#endif // defined(OS_LINUX) || defined(OS_WIN)
++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
+ }
+
+ SystemNetworkContextManager::SystemNetworkContextManager(
diff --git a/devel/electron12/files/patch-weblayer_common_weblayer__paths.cc b/devel/electron12/files/patch-weblayer_common_weblayer__paths.cc
new file mode 100644
index 000000000000..e09a8bda4662
--- /dev/null
+++ b/devel/electron12/files/patch-weblayer_common_weblayer__paths.cc
@@ -0,0 +1,20 @@
+--- weblayer/common/weblayer_paths.cc.orig 2021-04-14 01:09:40 UTC
++++ weblayer/common/weblayer_paths.cc
+@@ -17,7 +17,7 @@
+
+ #if defined(OS_WIN)
+ #include "base/base_paths_win.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/nix/xdg_util.h"
+ #endif
+
+@@ -35,7 +35,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul
+ return false;
+ *result = result->AppendASCII("weblayer");
+ return true;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ std::unique_ptr<base::Environment> env(base::Environment::Create());
+ base::FilePath config_dir(base::nix::GetXDGDirectory(
+ env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir));
diff --git a/devel/electron12/files/yarn.lock b/devel/electron12/files/yarn.lock
new file mode 100644
index 000000000000..13cd504f8065
--- /dev/null
+++ b/devel/electron12/files/yarn.lock
@@ -0,0 +1,8536 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
+ integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+ dependencies:
+ "@babel/highlight" "^7.0.0"
+
+"@babel/highlight@^7.0.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
+ integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^4.0.0"
+
+"@electron/docs-parser@^0.10.1":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@electron/docs-parser/-/docs-parser-0.10.1.tgz#aa5911c4ef2ec237d7a126111019ec45058088db"
+ integrity sha512-gDKGfc4ilPsKGCCyCCU20iJnHRV3QPYthOocgfAnzm5lOANssxLjl4KeN/DO8nTmKX/BmFsf+XGNa4Penq0L8A==
+ dependencies:
+ "@types/markdown-it" "^0.0.9"
+ chai "^4.2.0"
+ chalk "^3.0.0"
+ fs-extra "^8.1.0"
+ lodash.camelcase "^4.3.0"
+ markdown-it "^10.0.0"
+ minimist "^1.2.0"
+ ora "^4.0.3"
+ pretty-ms "^5.1.0"
+
+"@electron/typescript-definitions@^8.8.0":
+ version "8.8.0"
+ resolved "https://registry.yarnpkg.com/@electron/typescript-definitions/-/typescript-definitions-8.8.0.tgz#3af8989507af50b3b06b23833a45a5631ab31d3f"
+ integrity sha512-HXcLOzI6zNFTzye3R/aSuqBAiVkUWVnogHwRe4mEdS4nodOqKZQxaB5tzPU2qZ4mS5cpVykBW4s6qAItuptoCA==
+ dependencies:
+ "@types/node" "^11.13.7"
+ chalk "^2.4.2"
+ colors "^1.1.2"
+ debug "^4.1.1"
+ fs-extra "^7.0.1"
+ lodash "^4.17.11"
+ minimist "^1.2.0"
+ mkdirp "^0.5.1"
+ ora "^3.4.0"
+ pretty-ms "^5.0.0"
+
+"@nodelib/fs.scandir@2.1.3":
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b"
+ integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.3"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3"
+ integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976"
+ integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.3"
+ fastq "^1.6.0"
+
+"@octokit/auth-app@^2.10.0":
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-2.10.0.tgz#ad79369fca1cc3035859f797310d5e81cc6e49c4"
+ integrity sha512-mKFU7O5wI651iWgecs4fmJ2aLqOM3sWD1FJsUTm7nx21I4ePDhS+rGQmS5TZk5yz75Va6wEXesxUNFzuqCbP2A==
+ dependencies:
+ "@octokit/request" "^5.3.0"
+ "@octokit/request-error" "^2.0.0"
+ "@octokit/types" "^5.0.0"
+ "@types/lru-cache" "^5.1.0"
+ deprecation "^2.3.1"
+ lru-cache "^6.0.0"
+ universal-github-app-jwt "^1.0.1"
+ universal-user-agent "^6.0.0"
+
+"@octokit/auth-token@^2.4.0":
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a"
+ integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==
+ dependencies:
+ "@octokit/types" "^5.0.0"
+
+"@octokit/core@^3.0.0":
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.1.tgz#1856745aa8fb154cf1544a2a1b82586c809c5e66"
+ integrity sha512-cQ2HGrtyNJ1IBxpTP1U5m/FkMAJvgw7d2j1q3c9P0XUuYilEgF6e4naTpsgm4iVcQeOnccZlw7XHRIUBy0ymcg==
+ dependencies:
+ "@octokit/auth-token" "^2.4.0"
+ "@octokit/graphql" "^4.3.1"
+ "@octokit/request" "^5.4.0"
+ "@octokit/types" "^5.0.0"
+ before-after-hook "^2.1.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/endpoint@^6.0.1":
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.5.tgz#43a6adee813c5ffd2f719e20cfd14a1fee7c193a"
+ integrity sha512-70K5u6zd45ItOny6aHQAsea8HHQjlQq85yqOMe+Aj8dkhN2qSJ9T+Q3YjUjEYfPRBcuUWNgMn62DQnP/4LAIiQ==
+ dependencies:
+ "@octokit/types" "^5.0.0"
+ is-plain-object "^4.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/graphql@^4.3.1":
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.3.tgz#d5ff0d4a8a33e98614a2a7359dac98bc285e062f"
+ integrity sha512-JyYvi3j2tOb5ofASEpcg1Advs07H+Ag+I+ez7buuZfNVAmh1IYcDTuxd4gnYH8S2PSGu+f5IdDGxMmkK+5zsdA==
+ dependencies:
+ "@octokit/request" "^5.3.0"
+ "@octokit/types" "^5.0.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/plugin-paginate-rest@^2.2.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.3.0.tgz#7d1073e56cfd15d3f99dcfe81fa5d2b466f3a6f6"
+ integrity sha512-Ye2ZJreP0ZlqJQz8fz+hXvrEAEYK4ay7br1eDpWzr6j76VXs/gKqxFcH8qRzkB3fo/2xh4Vy9VtGii4ZDc9qlA==
+ dependencies:
+ "@octokit/types" "^5.2.0"
+
+"@octokit/plugin-request-log@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e"
+ integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==
+
+"@octokit/plugin-rest-endpoint-methods@4.1.2":
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.1.2.tgz#546a8f3e0b514f434a4ad4ef926005f1c81a5a5a"
+ integrity sha512-PTI7wpbGEZ2IR87TVh+TNWaLcgX/RsZQalFbQCq8XxYUrQ36RHyERrHSNXFy5gkWpspUAOYRSV707JJv6BhqJA==
+ dependencies:
+ "@octokit/types" "^5.1.1"
+ deprecation "^2.3.1"
+
+"@octokit/request-error@^2.0.0":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0"
+ integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==
+ dependencies:
+ "@octokit/types" "^5.0.1"
+ deprecation "^2.0.0"
+ once "^1.4.0"
+
+"@octokit/request@^5.3.0", "@octokit/request@^5.4.0":
+ version "5.4.7"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.7.tgz#fd703ee092e0463ceba49ff7a3e61cb4cf8a0fde"
+ integrity sha512-FN22xUDP0i0uF38YMbOfx6TotpcENP5W8yJM1e/LieGXn6IoRxDMnBf7tx5RKSW4xuUZ/1P04NFZy5iY3Rax1A==
+ dependencies:
+ "@octokit/endpoint" "^6.0.1"
+ "@octokit/request-error" "^2.0.0"
+ "@octokit/types" "^5.0.0"
+ deprecation "^2.0.0"
+ is-plain-object "^4.0.0"
+ node-fetch "^2.3.0"
+ once "^1.4.0"
+ universal-user-agent "^6.0.0"
+
+"@octokit/rest@^18.0.3":
+ version "18.0.3"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.3.tgz#96a15ddb3a38dca5de9d75121378d6aa4a234fa5"
+ integrity sha512-GubgemnLvUJlkhouTM2BtX+g/voYT/Mqh0SASGwTnLvSkW1irjt14N911/ABb6m1Hru0TwScOgFgMFggp3igfQ==
+ dependencies:
+ "@octokit/core" "^3.0.0"
+ "@octokit/plugin-paginate-rest" "^2.2.0"
+ "@octokit/plugin-request-log" "^1.0.0"
+ "@octokit/plugin-rest-endpoint-methods" "4.1.2"
+
+"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.1.1", "@octokit/types@^5.2.0":
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.2.0.tgz#d075dc23bf293f540739250b6879e2c1be2fc20c"
+ integrity sha512-XjOk9y4m8xTLIKPe1NFxNWBdzA2/z3PFFA/bwf4EoH6oS8hM0Y46mEa4Cb+KCyj/tFDznJFahzQ0Aj3o1FYq4A==
+ dependencies:
+ "@types/node" ">= 8"
+
+"@primer/octicons@^10.0.0":
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/@primer/octicons/-/octicons-10.0.0.tgz#81e94ed32545dfd3472c8625a5b345f3ea4c153d"
+ integrity sha512-iuQubq62zXZjPmaqrsfsCZUqIJgZhmA6W0tKzIKGRbkoLnff4TFFCL87hfIRATZ5qZPM4m8ioT8/bXI7WVa9WQ==
+ dependencies:
+ object-assign "^4.1.1"
+
+"@types/anymatch@*":
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a"
+ integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==
+
+"@types/basic-auth@^1.1.3":
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/@types/basic-auth/-/basic-auth-1.1.3.tgz#a787ede8310804174fbbf3d6c623ab1ccedb02cd"
+ integrity sha512-W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/body-parser@*":
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
+ integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/busboy@^0.2.3":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@types/busboy/-/busboy-0.2.3.tgz#6697ad29873246c530f09a3ff5a40861824230d5"
+ integrity sha1-ZpetKYcyRsUw8Jo/9aQIYYJCMNU=
+ dependencies:
+ "@types/node" "*"
+
+"@types/chai-as-promised@*":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.1.tgz#004c27a4ac640e9590e25d8b0980cb0a6609bfd8"
+ integrity sha512-dberBxQW/XWv6BMj0su1lV9/C9AUx5Hqu2pisuS6S4YK/Qt6vurcj/BmcbEsobIWWCQzhesNY8k73kIxx4X7Mg==
+ dependencies:
+ "@types/chai" "*"
+
+"@types/chai-as-promised@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd"
+ integrity sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==
+ dependencies:
+ "@types/chai" "*"
+
+"@types/chai@*":
+ version "4.1.7"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a"
+ integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==
+
+"@types/chai@^4.2.12":
+ version "4.2.12"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.12.tgz#6160ae454cd89dae05adc3bb97997f488b608201"
+ integrity sha512-aN5IAC8QNtSUdQzxu7lGBgYAOuU1tmRU4c9dIq5OKGf/SBVjXo+ffM2wEjudAWbgpOhy60nLoAGH1xm8fpCKFQ==
+
+"@types/color-name@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+
+"@types/connect@*":
+ version "3.4.33"
+ resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546"
+ integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==
+ dependencies:
+ "@types/node" "*"
+
+"@types/dirty-chai@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@types/dirty-chai/-/dirty-chai-2.0.2.tgz#eeac4802329a41ed7815ac0c1a6360335bf77d0c"
+ integrity sha512-BruwIN/UQEU0ePghxEX+OyjngpOfOUKJQh3cmfeq2h2Su/g001iljVi3+Y2y2EFp3IPgjf4sMrRU33Hxv1FUqw==
+ dependencies:
+ "@types/chai" "*"
+ "@types/chai-as-promised" "*"
+
+"@types/events@*":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
+ integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
+
+"@types/express-serve-static-core@*":
+ version "4.17.8"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.8.tgz#b8f7b714138536742da222839892e203df569d1c"
+ integrity sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw==
+ dependencies:
+ "@types/node" "*"
+ "@types/qs" "*"
+ "@types/range-parser" "*"
+
+"@types/express@^4.17.7":
+ version "4.17.7"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59"
+ integrity sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "*"
+ "@types/qs" "*"
+ "@types/serve-static" "*"
+
+"@types/fs-extra@^9.0.1":
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918"
+ integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/glob@^7.1.1":
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575"
+ integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==
+ dependencies:
+ "@types/events" "*"
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
+"@types/json-schema@^7.0.3":
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636"
+ integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A==
+
+"@types/json-schema@^7.0.4":
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
+ integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==
+
+"@types/json5@^0.0.29":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
+ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4=
+
+"@types/jsonwebtoken@^8.3.3":
+ version "8.5.0"
+ resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz#2531d5e300803aa63279b232c014acf780c981c5"
+ integrity sha512-9bVao7LvyorRGZCw0VmH/dr7Og+NdjYSsKAxB43OQoComFbBgsEpoR9JW6+qSq/ogwVBg8GI2MfAlk4SYI4OLg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/klaw@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/klaw/-/klaw-3.0.1.tgz#29f90021c0234976aa4eb97efced9cb6db9fa8b3"
+ integrity sha512-acnF3n9mYOr1aFJKFyvfNX0am9EtPUsYPq22QUCGdJE+MVt6UyAN1jwo+PmOPqXD4K7ZS9MtxDEp/un0lxFccA==
+
+"@types/linkify-it@*":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806"
+ integrity sha512-Q7DYAOi9O/+cLLhdaSvKdaumWyHbm7HAk/bFwwyTuU0arR5yyCeW5GOoqt4tJTpDRxhpx9Q8kQL6vMpuw9hDSw==
+
+"@types/lru-cache@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03"
+ integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==
+
+"@types/markdown-it@^0.0.9":
+ version "0.0.9"
+ resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.9.tgz#a5d552f95216c478e0a27a5acc1b28dcffd989ce"
+ integrity sha512-IFSepyZXbF4dgSvsk8EsgaQ/8Msv1I5eTL0BZ0X3iGO9jw6tCVtPG8HchIPm3wrkmGdqZOD42kE0zplVi1gYDA==
+ dependencies:
+ "@types/linkify-it" "*"
+
+"@types/mime@*":
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d"
+ integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==
+
+"@types/minimatch@*":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
+ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
+
+"@types/minimist@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.0.tgz#69a23a3ad29caf0097f06eda59b361ee2f0639f6"
+ integrity sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=
+
+"@types/mocha@^7.0.2":
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-7.0.2.tgz#b17f16cf933597e10d6d78eae3251e692ce8b0ce"
+ integrity sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==
+
+"@types/node@*":
+ version "12.6.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.1.tgz#d5544f6de0aae03eefbb63d5120f6c8be0691946"
+ integrity sha512-rp7La3m845mSESCgsJePNL/JQyhkOJA6G4vcwvVgkDAwHhGdq5GCumxmPjEk1MZf+8p5ZQAUE7tqgQRQTXN7uQ==
+
+"@types/node@>= 8":
+ version "14.0.27"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1"
+ integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==
+
+"@types/node@^11.13.7":
+ version "11.13.22"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.22.tgz#91ee88ebfa25072433497f6f3150f84fa8c3a91b"
+ integrity sha512-rOsaPRUGTOXbRBOKToy4cgZXY4Y+QSVhxcLwdEveozbk7yuudhWMpxxcaXqYizLMP3VY7OcWCFtx9lGFh5j5kg==
+
+"@types/node@^14.6.2":
+ version "14.6.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.3.tgz#cc4f979548ca4d8e7b90bc0180052ab99ee64224"
+ integrity sha512-pC/hkcREG6YfDfui1FBmj8e20jFU5Exjw4NYDm8kEdrW+mOh0T1Zve8DWKnS7ZIZvgncrctcNCXF4Q2I+loyww==
+
+"@types/normalize-package-data@^2.4.0":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
+ integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
+"@types/qs@*":
+ version "6.9.3"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.3.tgz#b755a0934564a200d3efdf88546ec93c369abd03"
+ integrity sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==
+
+"@types/range-parser@*":
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
+ integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
+
+"@types/semver@^7.3.3":
+ version "7.3.3"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.3.tgz#3ad6ed949e7487e7bda6f886b4a2434a2c3d7b1a"
+ integrity sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q==
+
+"@types/send@^0.14.5":
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/@types/send/-/send-0.14.5.tgz#653f7d25b93c3f7f51a8994addaf8a229de022a7"
+ integrity sha512-0mwoiK3DXXBu0GIfo+jBv4Wo5s1AcsxdpdwNUtflKm99VEMvmBPJ+/NBNRZy2R5JEYfWL/u4nAHuTUTA3wFecQ==
+ dependencies:
+ "@types/mime" "*"
+ "@types/node" "*"
+
+"@types/serve-static@*":
+ version "1.13.4"
+ resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.4.tgz#6662a93583e5a6cabca1b23592eb91e12fa80e7c"
+ integrity sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==
+ dependencies:
+ "@types/express-serve-static-core" "*"
+ "@types/mime" "*"
+
+"@types/source-list-map@*":
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
+ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
+
+"@types/split@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/split/-/split-1.0.0.tgz#24f7c35707450b002f203383228f5a2bc1e6c228"
+ integrity sha512-pm9S1mkr+av0j7D6pFyqhBxXDbnbO9gqj4nb8DtGtCewvj0XhIv089SSwXrjrIizT1UquO8/h83hCut0pa3u8A==
+ dependencies:
+ "@types/node" "*"
+ "@types/through" "*"
+
+"@types/stream-chain@*":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/stream-chain/-/stream-chain-2.0.0.tgz#aed7fc21ac3686bc721aebbbd971f5a857e567e4"
+ integrity sha512-O3IRJcZi4YddlS8jgasH87l+rdNmad9uPAMmMZCfRVhumbWMX6lkBWnIqr9kokO5sx8LHp8peQ1ELhMZHbR0Gg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/stream-json@^1.5.1":
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/@types/stream-json/-/stream-json-1.5.1.tgz#ae8d1133f9f920e18c6e94b233cb57d014a47b8d"
+ integrity sha512-Blg6GJbKVEB1J/y/2Tv+WrYiMzPTIqyuZ+zWDJtAF8Mo8A2XQh/lkSX4EYiM+qtS+GY8ThdGi6gGA9h4sjvL+g==
+ dependencies:
+ "@types/node" "*"
+ "@types/stream-chain" "*"
+
+"@types/tapable@*":
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370"
+ integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ==
+
+"@types/temp@^0.8.34":
+ version "0.8.34"
+ resolved "https://registry.yarnpkg.com/@types/temp/-/temp-0.8.34.tgz#03e4b3cb67cbb48c425bbf54b12230fef85540ac"
+ integrity sha512-oLa9c5LHXgS6UimpEVp08De7QvZ+Dfu5bMQuWyMhf92Z26Q10ubEMOWy9OEfUdzW7Y/sDWVHmUaLFtmnX/2j0w==
+ dependencies:
+ "@types/node" "*"
+
+"@types/through@*":
+ version "0.0.29"
+ resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.29.tgz#72943aac922e179339c651fa34a4428a4d722f93"
+ integrity sha512-9a7C5VHh+1BKblaYiq+7Tfc+EOmjMdZaD1MYtkQjSoxgB69tBjW98ry6SKsi4zEIWztLOMRuL87A3bdT/Fc/4w==
+ dependencies:
+ "@types/node" "*"
+
+"@types/uglify-js@*":
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082"
+ integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==
+ dependencies:
+ source-map "^0.6.1"
+
+"@types/unist@^2.0.2":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
+ integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
+
+"@types/uuid@^3.4.6":
+ version "3.4.6"
+ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.6.tgz#d2c4c48eb85a757bf2927f75f939942d521e3016"
+ integrity sha512-cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/webpack-env@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.2.tgz#927997342bb9f4a5185a86e6579a0a18afc33b0a"
+ integrity sha512-67ZgZpAlhIICIdfQrB5fnDvaKFcDxpKibxznfYRVAT4mQE41Dido/3Ty+E3xGBmTogc5+0Qb8tWhna+5B8z1iQ==
+
+"@types/webpack-sources@*":
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.6.tgz#3d21dfc2ec0ad0c77758e79362426a9ba7d7cbcb"
+ integrity sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==
+ dependencies:
+ "@types/node" "*"
+ "@types/source-list-map" "*"
+ source-map "^0.6.1"
+
+"@types/webpack@^4.41.21":
+ version "4.41.21"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee"
+ integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA==
+ dependencies:
+ "@types/anymatch" "*"
+ "@types/node" "*"
+ "@types/tapable" "*"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ source-map "^0.6.0"
+
+"@typescript-eslint/eslint-plugin@^4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.1.tgz#b8acea0373bd2a388ac47df44652f00bf8b368f5"
+ integrity sha512-O+8Utz8pb4OmcA+Nfi5THQnQpHSD2sDUNw9AxNHpuYOo326HZTtG8gsfT+EAYuVrFNaLyNb2QnUNkmTRDskuRA==
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.4.1"
+ "@typescript-eslint/scope-manager" "4.4.1"
+ debug "^4.1.1"
+ functional-red-black-tree "^1.0.1"
+ regexpp "^3.0.0"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/experimental-utils@4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.1.tgz#40613b9757fa0170de3e0043254dbb077cafac0c"
+ integrity sha512-Nt4EVlb1mqExW9cWhpV6pd1a3DkUbX9DeyYsdoeziKOpIJ04S2KMVDO+SEidsXRH/XHDpbzXykKcMTLdTXH6cQ==
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.4.1"
+ "@typescript-eslint/types" "4.4.1"
+ "@typescript-eslint/typescript-estree" "4.4.1"
+ eslint-scope "^5.0.0"
+ eslint-utils "^2.0.0"
+
+"@typescript-eslint/parser@^4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.4.1.tgz#25fde9c080611f303f2f33cedb145d2c59915b80"
+ integrity sha512-S0fuX5lDku28Au9REYUsV+hdJpW/rNW0gWlc4SXzF/kdrRaAVX9YCxKpziH7djeWT/HFAjLZcnY7NJD8xTeUEg==
+ dependencies:
+ "@typescript-eslint/scope-manager" "4.4.1"
+ "@typescript-eslint/types" "4.4.1"
+ "@typescript-eslint/typescript-estree" "4.4.1"
+ debug "^4.1.1"
+
+"@typescript-eslint/scope-manager@4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.4.1.tgz#d19447e60db2ce9c425898d62fa03b2cce8ea3f9"
+ integrity sha512-2oD/ZqD4Gj41UdFeWZxegH3cVEEH/Z6Bhr/XvwTtGv66737XkR4C9IqEkebCuqArqBJQSj4AgNHHiN1okzD/wQ==
+ dependencies:
+ "@typescript-eslint/types" "4.4.1"
+ "@typescript-eslint/visitor-keys" "4.4.1"
+
+"@typescript-eslint/types@4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.4.1.tgz#c507b35cf523bc7ba00aae5f75ee9b810cdabbc1"
+ integrity sha512-KNDfH2bCyax5db+KKIZT4rfA8rEk5N0EJ8P0T5AJjo5xrV26UAzaiqoJCxeaibqc0c/IvZxp7v2g3difn2Pn3w==
+
+"@typescript-eslint/typescript-estree@4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.1.tgz#598f6de488106c2587d47ca2462c60f6e2797cb8"
+ integrity sha512-wP/V7ScKzgSdtcY1a0pZYBoCxrCstLrgRQ2O9MmCUZDtmgxCO/TCqOTGRVwpP4/2hVfqMz/Vw1ZYrG8cVxvN3g==
+ dependencies:
+ "@typescript-eslint/types" "4.4.1"
+ "@typescript-eslint/visitor-keys" "4.4.1"
+ debug "^4.1.1"
+ globby "^11.0.1"
+ is-glob "^4.0.1"
+ lodash "^4.17.15"
+ semver "^7.3.2"
+ tsutils "^3.17.1"
+
+"@typescript-eslint/visitor-keys@4.4.1":
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.1.tgz#1769dc7a9e2d7d2cfd3318b77ed8249187aed5c3"
+ integrity sha512-H2JMWhLaJNeaylSnMSQFEhT/S/FsJbebQALmoJxMPMxLtlVAMy2uJP/Z543n9IizhjRayLSqoInehCeNW9rWcw==
+ dependencies:
+ "@typescript-eslint/types" "4.4.1"
+ eslint-visitor-keys "^2.0.0"
+
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
+
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
+
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
+
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
+
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/helper-wasm-section" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-opt" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-buffer" "1.9.0"
+ "@webassemblyjs/wasm-gen" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-wasm-bytecode" "1.9.0"
+ "@webassemblyjs/ieee754" "1.9.0"
+ "@webassemblyjs/leb128" "1.9.0"
+ "@webassemblyjs/utf8" "1.9.0"
+
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/floating-point-hex-parser" "1.9.0"
+ "@webassemblyjs/helper-api-error" "1.9.0"
+ "@webassemblyjs/helper-code-frame" "1.9.0"
+ "@webassemblyjs/helper-fsm" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+accepts@~1.3.7:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+ integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+ dependencies:
+ mime-types "~2.1.24"
+ negotiator "0.6.2"
+
+acorn-jsx@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
+ integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
+
+acorn@^6.4.1:
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474"
+ integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==
+
+acorn@^7.1.1, acorn@^7.2.0:
+ version "7.3.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
+ integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
+
+aggregate-error@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0"
+ integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==
+ dependencies:
+ clean-stack "^2.0.0"
+ indent-string "^4.0.0"
+
+ajv-errors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
+ integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
+
+ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
+ integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
+
+ajv@^6.1.0, ajv@^6.5.5:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593"
+ integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^6.10.0:
+ version "6.12.3"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
+ integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^6.10.2:
+ version "6.10.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
+ integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
+ dependencies:
+ fast-deep-equal "^2.0.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ajv@^6.12.2:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-colors@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+ integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+
+ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+ integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ dependencies:
+ type-fest "^0.11.0"
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+
+ansi-regex@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
+ integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
+ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+ integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ dependencies:
+ "@types/color-name" "^1.1.1"
+ color-convert "^2.0.1"
+
+anymatch@^1.3.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
+ integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==
+ dependencies:
+ micromatch "^2.1.5"
+ normalize-path "^2.0.0"
+
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
+anymatch@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09"
+ integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+anymatch@~3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
+ integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+aproba@^1.0.3, aproba@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+are-we-there-yet@~1.1.2:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+
+array-find-index@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
+ integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+
+array-includes@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+ integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.7.0"
+
+array-includes@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
+ integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0"
+ is-string "^1.0.5"
+
+array-union@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+ integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
+
+array.prototype.flat@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
+ integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+
+arrify@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+
+asar@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b"
+ integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==
+ dependencies:
+ chromium-pickle-js "^0.2.0"
+ commander "^5.0.0"
+ glob "^7.1.6"
+ minimatch "^3.0.4"
+ optionalDependencies:
+ "@types/glob" "^7.1.1"
+
+asn1.js@^4.0.0:
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+asn1@~0.2.3:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+assert@^1.1.1:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"
+ integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==
+ dependencies:
+ object-assign "^4.1.1"
+ util "0.10.3"
+
+assertion-error@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
+ integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
+astral-regex@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+ integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+async-each@^1.0.0, async-each@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
+ integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+atob@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+aws-sdk@^2.727.1:
+ version "2.727.1"
+ resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.727.1.tgz#bde7a4b57b6c5b34370ad20963472ea7d24a9351"
+ integrity sha512-K+XdN11os6hvI9DgWEK9m/fPKHuDDVZalFWPouwqSk0phEdDCJ/K8InHUFL9DMvE4bxyWRuqI9dzNfdmxX0sxQ==
+ dependencies:
+ buffer "4.9.2"
+ events "1.1.1"
+ ieee754 "1.1.13"
+ jmespath "0.15.0"
+ querystring "0.2.0"
+ sax "1.2.1"
+ url "0.10.3"
+ uuid "3.3.2"
+ xml2js "0.4.19"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
+ integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
+
+bail@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b"
+ integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==
+
+balanced-match@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+
+base64-js@^1.0.2:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
+ integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ cache-base "^1.0.1"
+ class-utils "^0.3.5"
+ component-emitter "^1.2.1"
+ define-property "^1.0.0"
+ isobject "^3.0.1"
+ mixin-deep "^1.2.0"
+ pascalcase "^0.1.1"
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
+before-after-hook@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
+ integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^1.0.0:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-extensions@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
+ integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
+
+bluebird@^3.5.5:
+ version "3.5.5"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
+ integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+
+body-parser@1.19.0:
+ version "1.19.0"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
+ integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
+ dependencies:
+ bytes "3.1.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.2"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ on-finished "~2.3.0"
+ qs "6.7.0"
+ raw-body "2.4.0"
+ type-is "~1.6.17"
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+braces@^2.3.1, braces@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ arr-flatten "^1.1.0"
+ array-unique "^0.3.2"
+ extend-shallow "^2.0.1"
+ fill-range "^4.0.0"
+ isobject "^3.0.1"
+ repeat-element "^1.1.2"
+ snapdragon "^0.8.1"
+ snapdragon-node "^2.0.1"
+ split-string "^3.0.2"
+ to-regex "^3.0.1"
+
+braces@^3.0.1, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+brorand@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+
+browserify-aes@^1.0.0, browserify-aes@^1.0.4:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-cipher@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
+ dependencies:
+ bn.js "^4.1.0"
+ randombytes "^2.0.1"
+
+browserify-sign@^4.0.0:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
+ dependencies:
+ bn.js "^4.1.1"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.2"
+ elliptic "^6.0.0"
+ inherits "^2.0.1"
+ parse-asn1 "^5.0.0"
+
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=
+
+buffer-from@^1.0.0, buffer-from@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
+ integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+
+buffer@4.9.2:
+ version "4.9.2"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+buffer@^4.3.0:
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+
+bytes@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
+ integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
+
+cacache@^12.0.2:
+ version "12.0.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390"
+ integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ infer-owner "^1.0.3"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ collection-visit "^1.0.0"
+ component-emitter "^1.2.1"
+ get-value "^2.0.6"
+ has-value "^1.0.0"
+ isobject "^3.0.1"
+ set-value "^2.0.0"
+ to-object-path "^0.3.0"
+ union-value "^1.0.0"
+ unset-value "^1.0.0"
+
+caller-callsite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
+ dependencies:
+ callsites "^2.0.0"
+
+caller-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
+ dependencies:
+ caller-callsite "^2.0.0"
+
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camelcase-keys@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
+ integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
+ dependencies:
+ camelcase "^2.0.0"
+ map-obj "^1.0.0"
+
+camelcase@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
+ integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
+
+camelcase@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
+
+camelcase@^5.0.0:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+capture-stack-trace@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d"
+ integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+ccount@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386"
+ integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==
+
+chai@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5"
+ integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==
+ dependencies:
+ assertion-error "^1.1.0"
+ check-error "^1.0.2"
+ deep-eql "^3.0.1"
+ get-func-name "^2.0.0"
+ pathval "^1.1.0"
+ type-detect "^4.0.5"
+
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.0.0, chalk@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+ integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+character-entities-html4@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef"
+ integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==
+
+character-entities-legacy@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4"
+ integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==
+
+character-entities@^1.0.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6"
+ integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==
+
+character-reference-invalid@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85"
+ integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+check-error@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
+ integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
+
+check-for-leaks@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/check-for-leaks/-/check-for-leaks-1.2.1.tgz#4ac108ee3f8e6b99f5ad36f6b98cba1d7f4816d0"
+ integrity sha512-9OdOSRZY6N0w5JCdJpqsC5MkD6EPGYpHmhtf4l5nl3DRETDZshP6C1EGN/vVhHDTY6AsOK3NhdFfrMe3NWZl7g==
+ dependencies:
+ anymatch "^3.0.2"
+ minimist "^1.2.0"
+ parse-gitignore "^0.4.0"
+ walk-sync "^0.3.2"
+
+checksum@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/checksum/-/checksum-0.1.1.tgz#dc6527d4c90be8560dbd1ed4cecf3297d528e9e9"
+ integrity sha1-3GUn1MkL6FYNvR7Uzs8yl9Uo6ek=
+ dependencies:
+ optimist "~0.3.5"
+
+chokidar@^1.5.1:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
+ integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=
+ dependencies:
+ anymatch "^1.3.0"
+ async-each "^1.0.0"
+ glob-parent "^2.0.0"
+ inherits "^2.0.1"
+ is-binary-path "^1.0.0"
+ is-glob "^2.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.0.0"
+ optionalDependencies:
+ fsevents "^1.0.0"
+
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ glob-parent "^3.1.0"
+ inherits "^2.0.3"
+ is-binary-path "^1.0.0"
+ is-glob "^4.0.0"
+ normalize-path "^3.0.0"
+ path-is-absolute "^1.0.0"
+ readdirp "^2.2.1"
+ upath "^1.1.1"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chokidar@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
+ integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.4.0"
+ optionalDependencies:
+ fsevents "~2.1.2"
+
+chownr@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
+ integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
+
+chrome-trace-event@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
+ integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==
+ dependencies:
+ tslib "^1.9.0"
+
+chromium-pickle-js@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
+ integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=
+
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+clean-stack@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+ integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+ dependencies:
+ restore-cursor "^3.1.0"
+
+cli-spinners@^2.0.0, cli-spinners@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77"
+ integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==
+
+cli-truncate@2.1.0, cli-truncate@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+ integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+ dependencies:
+ slice-ansi "^3.0.0"
+ string-width "^4.2.0"
+
+cli-width@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
+ integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
+
+cliui@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+ integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+ dependencies:
+ string-width "^3.1.0"
+ strip-ansi "^5.2.0"
+ wrap-ansi "^5.1.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
+
+co@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
+ integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+collapse-white-space@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a"
+ integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+colors@^1.1.2:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d"
+ integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==
+
+colors@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+ integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@^2.20.0, commander@^2.9.0:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
+ integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
+
+commander@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
+ integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
+
+commander@^5.0.0, commander@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+ integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
+
+component-emitter@^1.2.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
+ integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+concat-stream@^1.5.0, concat-stream@^1.5.1:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+console-browserify@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
+ dependencies:
+ date-now "^0.1.4"
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
+
+contains-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+ integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
+
+content-disposition@0.5.3:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
+ integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+ dependencies:
+ safe-buffer "5.1.2"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+
+cookie@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
+ integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+ dependencies:
+ aproba "^1.1.1"
+ fs-write-stream-atomic "^1.0.8"
+ iferr "^0.1.5"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.0"
+
+copy-descriptor@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+
+core-util-is@1.0.2, core-util-is@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+cosmiconfig@^5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.13.1"
+ parse-json "^4.0.0"
+
+cosmiconfig@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
+ integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.7.2"
+
+create-ecdh@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
+ integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.0.0"
+
+create-error-class@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
+ integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=
+ dependencies:
+ capture-stack-trace "^1.0.0"
+
+create-hash@^1.1.0, create-hash@^1.1.2:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^7.0.0, cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+crypto-browserify@^3.11.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
+ dependencies:
+ browserify-cipher "^1.0.0"
+ browserify-sign "^4.0.0"
+ create-ecdh "^4.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.0"
+ diffie-hellman "^5.0.0"
+ inherits "^2.0.1"
+ pbkdf2 "^3.0.3"
+ public-encrypt "^4.0.0"
+ randombytes "^2.0.0"
+ randomfill "^1.0.3"
+
+currently-unhandled@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
+ integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
+ dependencies:
+ array-find-index "^1.0.1"
+
+cyclist@~0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
+ integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
+date-now@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+ integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
+
+debug-log@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f"
+ integrity sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=
+
+debug@2.6.9, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@^3.1.0, debug@^3.2.6:
+ version "3.2.6"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
+ integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.0.1, debug@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
+decamelize@^1.1.2, decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+
+deep-eql@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
+ integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==
+ dependencies:
+ type-detect "^4.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-is@^0.1.3, deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+
+defaults@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
+ integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
+ dependencies:
+ clone "^1.0.2"
+
+define-properties@^1.1.2, define-properties@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+ integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+ dependencies:
+ object-keys "^1.0.12"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+deglob@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/deglob/-/deglob-4.0.1.tgz#0685c6383992fd6009be10653a2b1116696fad55"
+ integrity sha512-/g+RDZ7yf2HvoW+E5Cy+K94YhgcFgr6C8LuHZD1O5HoNPkf3KY6RfXJ0DBGlB/NkLi5gml+G9zqRzk9S0mHZCg==
+ dependencies:
+ find-root "^1.0.0"
+ glob "^7.0.5"
+ ignore "^5.0.0"
+ pkg-config "^1.1.0"
+ run-parallel "^1.1.2"
+ uniq "^1.0.1"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
+deprecation@^2.0.0, deprecation@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
+ integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
+
+des.js@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+ integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
+detect-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+ integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
+
+detect-libc@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
+diff@^3.1.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
+ integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
+
+diffie-hellman@^5.0.0:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+doctrine@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
+ integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
+ dependencies:
+ esutils "^2.0.2"
+ isarray "^1.0.0"
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+ dependencies:
+ esutils "^2.0.2"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+domain-browser@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+
+dotenv-safe@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/dotenv-safe/-/dotenv-safe-4.0.4.tgz#8b0e7ced8e70b1d3c5d874ef9420e406f39425b3"
+ integrity sha1-iw587Y5wsdPF2HTvlCDkBvOUJbM=
+ dependencies:
+ dotenv "^4.0.0"
+
+dotenv@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
+ integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=
+
+dugite@^1.45.0:
+ version "1.87.0"
+ resolved "https://registry.yarnpkg.com/dugite/-/dugite-1.87.0.tgz#ba42c25401420a92c6c8f0c71823ac54124b4b65"
+ integrity sha512-+aW2Ql3yw1AEO8Z8nVbjOAEzsinMJMmAg4uf5lzTewFUAHd0danuMPXMP9uMuGuUYN/LQtt4kR2XLuWoD8wRSQ==
+ dependencies:
+ checksum "^0.1.1"
+ mkdirp "^0.5.1"
+ progress "^2.0.3"
+ request "^2.88.0"
+ rimraf "^2.5.4"
+ tar "^4.4.7"
+
+duplexer3@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
+ integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
+
+duplexer@~0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+ integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=
+
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.7.1"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ecdsa-sig-formatter@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+elliptic@^6.0.0:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
+ integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emojis-list@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f"
+ integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.4.0"
+ tapable "^1.0.0"
+
+enhanced-resolve@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d"
+ integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+enquirer@^2.3.5:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+ integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+ dependencies:
+ ansi-colors "^4.1.1"
+
+ensure-posix-path@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz#3c62bdb19fa4681544289edb2b382adc029179ce"
+ integrity sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==
+
+entities@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
+ integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==
+
+errno@^0.1.3, errno@~0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.2.0, error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.5:
+ version "1.17.6"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a"
+ integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==
+ dependencies:
+ es-to-primitive "^1.2.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.1"
+ is-callable "^1.2.0"
+ is-regex "^1.1.0"
+ object-inspect "^1.7.0"
+ object-keys "^1.1.1"
+ object.assign "^4.1.0"
+ string.prototype.trimend "^1.0.1"
+ string.prototype.trimstart "^1.0.1"
+
+es-abstract@^1.7.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9"
+ integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==
+ dependencies:
+ es-to-primitive "^1.2.0"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ is-callable "^1.1.4"
+ is-regex "^1.0.4"
+ object-keys "^1.0.12"
+
+es-to-primitive@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
+ integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+es-to-primitive@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+ integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+ dependencies:
+ is-callable "^1.1.4"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.2"
+
+es6-object-assign@^1.0.3:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
+ integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+eslint-config-standard-jsx@8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-8.1.0.tgz#314c62a0e6f51f75547f89aade059bec140edfc7"
+ integrity sha512-ULVC8qH8qCqbU792ZOO6DaiaZyHNS/5CZt3hKqHkEhVlhPEPN3nfBqqxJCyp59XrjIBZPu1chMYe9T2DXZ7TMw==
+
+eslint-config-standard@14.1.1, eslint-config-standard@^14.1.1:
+ version "14.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea"
+ integrity sha512-Z9B+VR+JIXRxz21udPTL9HpFMyoMUEeX1G251EQ6e05WD9aPVtVBn09XUmZ259wCMlCDmYDSZG62Hhm+ZTJcUg==
+
+eslint-import-resolver-node@^0.3.2, eslint-import-resolver-node@^0.3.3:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717"
+ integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==
+ dependencies:
+ debug "^2.6.9"
+ resolve "^1.13.1"
+
+eslint-module-utils@^2.4.0, eslint-module-utils@^2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
+ integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
+ dependencies:
+ debug "^2.6.9"
+ pkg-dir "^2.0.0"
+
+eslint-plugin-es@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz#0f5f5da5f18aa21989feebe8a73eadefb3432976"
+ integrity sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==
+ dependencies:
+ eslint-utils "^1.4.2"
+ regexpp "^3.0.0"
+
+eslint-plugin-es@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893"
+ integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==
+ dependencies:
+ eslint-utils "^2.0.0"
+ regexpp "^3.0.0"
+
+eslint-plugin-import@^2.22.0:
+ version "2.22.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz#92f7736fe1fde3e2de77623c838dd992ff5ffb7e"
+ integrity sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==
+ dependencies:
+ array-includes "^3.1.1"
+ array.prototype.flat "^1.2.3"
+ contains-path "^0.1.0"
+ debug "^2.6.9"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.3"
+ eslint-module-utils "^2.6.0"
+ has "^1.0.3"
+ minimatch "^3.0.4"
+ object.values "^1.1.1"
+ read-pkg-up "^2.0.0"
+ resolve "^1.17.0"
+ tsconfig-paths "^3.9.0"
+
+eslint-plugin-import@~2.18.0:
+ version "2.18.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6"
+ integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==
+ dependencies:
+ array-includes "^3.0.3"
+ contains-path "^0.1.0"
+ debug "^2.6.9"
+ doctrine "1.5.0"
+ eslint-import-resolver-node "^0.3.2"
+ eslint-module-utils "^2.4.0"
+ has "^1.0.3"
+ minimatch "^3.0.4"
+ object.values "^1.1.0"
+ read-pkg-up "^2.0.0"
+ resolve "^1.11.0"
+
+eslint-plugin-mocha@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-7.0.1.tgz#b2e9e8ebef7836f999a83f8bab25d0e0c05f0d28"
+ integrity sha512-zkQRW9UigRaayGm/pK9TD5RjccKXSgQksNtpsXbG9b6L5I+jNx7m98VUbZ4w1H1ArlNA+K7IOH+z8TscN6sOYg==
+ dependencies:
+ eslint-utils "^2.0.0"
+ ramda "^0.27.0"
+
+eslint-plugin-node@^11.1.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d"
+ integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==
+ dependencies:
+ eslint-plugin-es "^3.0.0"
+ eslint-utils "^2.0.0"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.1.0"
+
+eslint-plugin-node@~10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz#fd1adbc7a300cf7eb6ac55cf4b0b6fc6e577f5a6"
+ integrity sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==
+ dependencies:
+ eslint-plugin-es "^2.0.0"
+ eslint-utils "^1.4.2"
+ ignore "^5.1.1"
+ minimatch "^3.0.4"
+ resolve "^1.10.1"
+ semver "^6.1.0"
+
+eslint-plugin-promise@~4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a"
+ integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==
+
+eslint-plugin-react@~7.14.2:
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13"
+ integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA==
+ dependencies:
+ array-includes "^3.0.3"
+ doctrine "^2.1.0"
+ has "^1.0.3"
+ jsx-ast-utils "^2.1.0"
+ object.entries "^1.1.0"
+ object.fromentries "^2.0.0"
+ object.values "^1.1.0"
+ prop-types "^15.7.2"
+ resolve "^1.10.1"
+
+eslint-plugin-standard@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz#ff0519f7ffaff114f76d1bd7c3996eef0f6e20b4"
+ integrity sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==
+
+eslint-plugin-standard@~4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz#f845b45109c99cd90e77796940a344546c8f6b5c"
+ integrity sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==
+
+eslint-plugin-typescript@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-typescript/-/eslint-plugin-typescript-0.14.0.tgz#068549c3f4c7f3f85d88d398c29fa96bf500884c"
+ integrity sha512-2u1WnnDF2mkWWgU1lFQ2RjypUlmRoBEvQN02y9u+IL12mjWlkKFGEBnVsjs9Y8190bfPQCvWly1c2rYYUSOxWw==
+ dependencies:
+ requireindex "~1.1.0"
+
+eslint-scope@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
+ integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9"
+ integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
+ integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^1.4.2, eslint-utils@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
+ integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+eslint-utils@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+ integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+eslint-visitor-keys@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
+ integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
+
+eslint-visitor-keys@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
+eslint-visitor-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
+ integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
+
+eslint@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f"
+ integrity sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.10.0"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ enquirer "^2.3.5"
+ eslint-scope "^5.1.0"
+ eslint-utils "^2.0.0"
+ eslint-visitor-keys "^1.2.0"
+ espree "^7.1.0"
+ esquery "^1.2.0"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.4.1"
+ lodash "^4.17.14"
+ minimatch "^3.0.4"
+ natural-compare "^1.4.0"
+ optionator "^0.9.1"
+ progress "^2.0.0"
+ regexpp "^3.1.0"
+ semver "^7.2.1"
+ strip-ansi "^6.0.0"
+ strip-json-comments "^3.1.0"
+ table "^5.2.3"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+eslint@~6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
+ integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.10.0"
+ chalk "^2.1.0"
+ cross-spawn "^6.0.5"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ eslint-scope "^5.0.0"
+ eslint-utils "^1.4.3"
+ eslint-visitor-keys "^1.1.0"
+ espree "^6.1.2"
+ esquery "^1.0.1"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob-parent "^5.0.0"
+ globals "^12.1.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ inquirer "^7.0.0"
+ is-glob "^4.0.0"
+ js-yaml "^3.13.1"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.14"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.3"
+ progress "^2.0.0"
+ regexpp "^2.0.1"
+ semver "^6.1.2"
+ strip-ansi "^5.2.0"
+ strip-json-comments "^3.0.1"
+ table "^5.2.3"
+ text-table "^0.2.0"
+ v8-compile-cache "^2.0.3"
+
+espree@^6.1.2:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
+ integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
+ dependencies:
+ acorn "^7.1.1"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.1.0"
+
+espree@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c"
+ integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==
+ dependencies:
+ acorn "^7.2.0"
+ acorn-jsx "^5.2.0"
+ eslint-visitor-keys "^1.2.0"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
+ dependencies:
+ estraverse "^4.0.0"
+
+esquery@^1.2.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
+ integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
+ dependencies:
+ estraverse "^4.1.0"
+
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
+ integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+events-to-array@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6"
+ integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=
+
+events@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
+
+events@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
+ integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^4.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
+execa@^4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
+ integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
+ dependencies:
+ cross-spawn "^7.0.0"
+ get-stream "^5.0.0"
+ human-signals "^1.1.1"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.0"
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+ strip-final-newline "^2.0.0"
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
+ dependencies:
+ debug "^2.3.3"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ posix-character-classes "^0.1.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=
+ dependencies:
+ fill-range "^2.1.0"
+
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
+express@^4.16.4:
+ version "4.17.1"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
+ integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
+ dependencies:
+ accepts "~1.3.7"
+ array-flatten "1.1.1"
+ body-parser "1.19.0"
+ content-disposition "0.5.3"
+ content-type "~1.0.4"
+ cookie "0.4.0"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "~1.1.2"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "~1.1.2"
+ fresh "0.5.2"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.5"
+ qs "6.7.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.1.2"
+ send "0.17.1"
+ serve-static "1.14.1"
+ setprototypeof "1.1.1"
+ statuses "~1.5.0"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0, extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=
+ dependencies:
+ is-extglob "^1.0.0"
+
+extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ array-unique "^0.3.2"
+ define-property "^1.0.0"
+ expand-brackets "^2.1.4"
+ extend-shallow "^2.0.1"
+ fragment-cache "^0.2.1"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+ integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+
+fast-deep-equal@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
+ integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
+
+fast-glob@^3.1.1:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3"
+ integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ glob-parent "^5.1.0"
+ merge2 "^1.3.0"
+ micromatch "^4.0.2"
+ picomatch "^2.2.1"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+ integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
+
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fastq@^1.6.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481"
+ integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==
+ dependencies:
+ reusify "^1.0.4"
+
+fault@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.3.tgz#4da88cf979b6b792b4e13c7ec836767725170b7e"
+ integrity sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==
+ dependencies:
+ format "^0.2.2"
+
+figgy-pudding@^3.5.1:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
+ integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
+
+figures@^3.0.0, figures@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ dependencies:
+ flat-cache "^2.0.1"
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=
+
+fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+ integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.3"
+ statuses "~1.5.0"
+ unpipe "~1.0.0"
+
+find-cache-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+ integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^2.0.0"
+ pkg-dir "^3.0.0"
+
+find-root@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+ integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.0.0, find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+findup-sync@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1"
+ integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==
+ dependencies:
+ detect-file "^1.0.0"
+ is-glob "^4.0.0"
+ micromatch "^3.0.4"
+ resolve-dir "^1.0.1"
+
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flatted@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
+ integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
+
+flush-write-stream@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.3.6"
+
+fn-name@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
+ integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
+
+folder-hash@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/folder-hash/-/folder-hash-2.1.2.tgz#7109f9cd0cbca271936d1b5544b156d6571e6cfd"
+ integrity sha512-PmMwEZyNN96EMshf7sek4OIB7ADNsHOJ7VIw7pO0PBI0BNfEsi7U8U56TBjjqqwQ0WuBv8se0HEfmbw5b/Rk+w==
+ dependencies:
+ debug "^3.1.0"
+ graceful-fs "~4.1.11"
+ minimatch "~3.0.4"
+
+for-in@^1.0.1, for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=
+ dependencies:
+ for-in "^1.0.1"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+format@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b"
+ integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=
+
+forwarded@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
+ integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
+ dependencies:
+ map-cache "^0.2.2"
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
+fs-extra@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
+ integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
+ integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^1.0.0"
+
+fs-minipass@^1.2.5:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07"
+ integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==
+ dependencies:
+ minipass "^2.2.1"
+
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@^1.0.0, fsevents@^1.2.7:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f"
+ integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==
+ dependencies:
+ nan "^2.12.1"
+ node-pre-gyp "^0.12.0"
+
+fsevents@~2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
+ integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+gauge@~2.7.3:
+ version "2.7.4"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+ dependencies:
+ aproba "^1.0.3"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.0"
+ object-assign "^4.1.0"
+ signal-exit "^3.0.0"
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+ wide-align "^1.1.0"
+
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-func-name@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41"
+ integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=
+
+get-own-enumerable-property-symbols@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203"
+ integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==
+
+get-stdin@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
+ integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
+
+get-stdin@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6"
+ integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
+
+get-stream@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
+ integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==
+ dependencies:
+ pump "^3.0.0"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+ dependencies:
+ is-glob "^2.0.0"
+
+glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
+ integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.4:
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
+ integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.3:
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0"
+ integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@^7.1.6:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-modules@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
+ integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==
+ dependencies:
+ global-prefix "^3.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+global-prefix@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97"
+ integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==
+ dependencies:
+ ini "^1.3.5"
+ kind-of "^6.0.2"
+ which "^1.3.1"
+
+globals@^12.1.0:
+ version "12.4.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
+ integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+ dependencies:
+ type-fest "^0.8.1"
+
+globby@^11.0.0, globby@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
+ integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
+ dependencies:
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
+ slash "^3.0.0"
+
+got@^6.3.0:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0"
+ integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=
+ dependencies:
+ create-error-class "^3.0.0"
+ duplexer3 "^0.1.4"
+ get-stream "^3.0.0"
+ is-redirect "^1.0.0"
+ is-retry-allowed "^1.0.0"
+ is-stream "^1.0.0"
+ lowercase-keys "^1.0.0"
+ safe-buffer "^5.0.1"
+ timed-out "^4.0.0"
+ unzip-response "^2.0.1"
+ url-parse-lax "^1.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.9:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
+ integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
+
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
+ integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
+
+graceful-fs@~4.1.11:
+ version "4.1.15"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
+ integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.0, har-validator@~5.1.3:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
+ integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
+ dependencies:
+ ajv "^6.5.5"
+ har-schema "^2.0.0"
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
+ integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
+
+has-symbols@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
+ integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+
+has-unicode@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.1, has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hash-base@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+hmac-drbg@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+homedir-polyfill@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+ integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+ dependencies:
+ parse-passwd "^1.0.0"
+
+hosted-git-info@^2.1.4:
+ version "2.7.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
+ integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
+
+http-errors@1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
+ integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-errors@~1.7.2:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
+ integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.1.1"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.0"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
+
+human-signals@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
+ integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+
+husky@^2.2.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-2.7.0.tgz#c0a9a6a3b51146224e11bba0b46bba546e461d05"
+ integrity sha512-LIi8zzT6PyFpcYKdvWRCn/8X+6SuG2TgYYMrM6ckEYhlp44UcEduVymZGIZNLiwOUjrEud+78w/AsAiqJA/kRg==
+ dependencies:
+ cosmiconfig "^5.2.0"
+ execa "^1.0.0"
+ find-up "^3.0.0"
+ get-stdin "^7.0.0"
+ is-ci "^2.0.0"
+ pkg-dir "^4.1.0"
+ please-upgrade-node "^3.1.1"
+ read-pkg "^5.1.1"
+ run-node "^1.0.0"
+ slash "^3.0.0"
+
+iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+ieee754@1.1.13, ieee754@^1.1.4:
+ version "1.1.13"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
+ integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
+
+ignore-walk@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
+ dependencies:
+ minimatch "^3.0.4"
+
+ignore@^3.2.0:
+ version "3.3.10"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+ignore@^5.0.0, ignore@^5.1.1, ignore@^5.1.4:
+ version "5.1.8"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
+ integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==
+
+import-fresh@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
+ dependencies:
+ caller-path "^2.0.0"
+ resolve-from "^3.0.0"
+
+import-fresh@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
+ integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-fresh@^3.1.0:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-local@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
+ integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
+ dependencies:
+ pkg-dir "^3.0.0"
+ resolve-cwd "^2.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+indent-string@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
+ integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
+ dependencies:
+ repeating "^2.0.0"
+
+indent-string@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+ integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+infer-owner@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inherits@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
+
+ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+
+inquirer@^7.0.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.0.tgz#aa3e7cb0c18a410c3c16cdd2bc9dcbe83c4d333e"
+ integrity sha512-K+LZp6L/6eE5swqIcVXrxl21aGDU4S50gKH0/d96OMQnSBCyGyZl/oZhbkVmdp5sBoINHd4xZvFSARh2dk6DWA==
+ dependencies:
+ ansi-escapes "^4.2.1"
+ chalk "^4.1.0"
+ cli-cursor "^3.1.0"
+ cli-width "^3.0.0"
+ external-editor "^3.0.3"
+ figures "^3.0.0"
+ lodash "^4.17.15"
+ mute-stream "0.0.8"
+ run-async "^2.4.0"
+ rxjs "^6.6.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+ through "^2.3.6"
+
+interpret@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
+ integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==
+
+interpret@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
+
+ipaddr.js@1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65"
+ integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==
+
+irregular-plurals@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-2.0.0.tgz#39d40f05b00f656d0b7fa471230dd3b714af2872"
+ integrity sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==
+
+is-accessor-descriptor@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-accessor-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-alphabetical@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8"
+ integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==
+
+is-alphanumeric@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4"
+ integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=
+
+is-alphanumerical@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c"
+ integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==
+ dependencies:
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-buffer@^1.1.4, is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-callable@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
+ integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
+
+is-callable@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb"
+ integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==
+
+is-ci@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ dependencies:
+ ci-info "^2.0.0"
+
+is-data-descriptor@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-data-descriptor@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
+ dependencies:
+ kind-of "^6.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+ integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
+
+is-decimal@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7"
+ integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==
+
+is-descriptor@^0.1.0:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
+ dependencies:
+ is-accessor-descriptor "^0.1.6"
+ is-data-descriptor "^0.1.4"
+ kind-of "^5.0.0"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
+ dependencies:
+ is-accessor-descriptor "^1.0.0"
+ is-data-descriptor "^1.0.0"
+ kind-of "^6.0.2"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
+
+is-empty@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b"
+ integrity sha1-3pu1snhzigWgsJpX4ftNSjQan2s=
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-finite@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
+ integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-hexadecimal@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee"
+ integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==
+
+is-hidden@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/is-hidden/-/is-hidden-1.1.2.tgz#6497d48ec5affc7da0f11a3c0dadceb6752e8edd"
+ integrity sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==
+
+is-interactive@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
+ integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+
+is-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470"
+ integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA=
+
+is-plain-obj@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4=
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-plain-object@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-4.1.1.tgz#1a14d6452cbd50790edc7fdaa0aed5a40a35ebb5"
+ integrity sha512-5Aw8LLVsDlZsETVMhoMXzqsXwQqr/0vlnBYzIXJbYo2F4yYlhLHs+Ez7Bod7IIQKWkJbJfxrWD7pA1Dw1TKrwA==
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU=
+
+is-redirect@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
+ integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
+
+is-regex@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
+ dependencies:
+ has "^1.0.1"
+
+is-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff"
+ integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==
+ dependencies:
+ has-symbols "^1.0.1"
+
+is-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
+
+is-retry-allowed@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
+ integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
+
+is-stream@^1.0.0, is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
+
+is-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
+ integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+
+is-string@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
+ integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+
+is-symbol@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
+ integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
+ dependencies:
+ has-symbols "^1.0.0"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
+
+is-whitespace-character@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac"
+ integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==
+
+is-windows@^1.0.1, is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+is-word-character@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa"
+ integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==
+
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+isobject@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+jmespath@0.15.0:
+ version "0.15.0"
+ resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
+ integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1, js-yaml@^3.2.7, js-yaml@^3.6.1:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+json5@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
+ integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==
+ dependencies:
+ minimist "^1.2.0"
+
+json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ dependencies:
+ minimist "^1.2.5"
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonfile@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179"
+ integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==
+ dependencies:
+ universalify "^1.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonwebtoken@^8.5.1:
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
+ integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^5.6.0"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+jsx-ast-utils@^2.1.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
+ integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==
+ dependencies:
+ array-includes "^3.1.1"
+ object.assign "^4.1.0"
+
+jwa@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+ integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jws@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+ integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+ dependencies:
+ jwa "^1.4.1"
+ safe-buffer "^5.0.1"
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
+
+klaw@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146"
+ integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==
+ dependencies:
+ graceful-fs "^4.1.9"
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
+lines-and-columns@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
+ integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
+
+linkify-it@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf"
+ integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==
+ dependencies:
+ uc.micro "^1.0.1"
+
+lint-staged@^10.2.11:
+ version "10.2.11"
+ resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720"
+ integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==
+ dependencies:
+ chalk "^4.0.0"
+ cli-truncate "2.1.0"
+ commander "^5.1.0"
+ cosmiconfig "^6.0.0"
+ debug "^4.1.1"
+ dedent "^0.7.0"
+ enquirer "^2.3.5"
+ execa "^4.0.1"
+ listr2 "^2.1.0"
+ log-symbols "^4.0.0"
+ micromatch "^4.0.2"
+ normalize-path "^3.0.0"
+ please-upgrade-node "^3.2.0"
+ string-argv "0.3.1"
+ stringify-object "^3.3.0"
+
+lint@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/lint/-/lint-1.1.2.tgz#35ed064f322547c331358d899868664968ba371f"
+ integrity sha1-Ne0GTzIlR8MxNY2JmGhmSWi6Nx8=
+
+listr2@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac"
+ integrity sha512-Q8qbd7rgmEwDo1nSyHaWQeztfGsdL6rb4uh7BA+Q80AZiDET5rVntiU1+13mu2ZTDVaBVbvAD1Db11rnu3l9sg==
+ dependencies:
+ chalk "^4.0.0"
+ cli-truncate "^2.1.0"
+ figures "^3.2.0"
+ indent-string "^4.0.0"
+ log-update "^4.0.0"
+ p-map "^4.0.0"
+ rxjs "^6.5.5"
+ through "^2.3.8"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+load-json-file@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ strip-bom "^3.0.0"
+
+load-json-file@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3"
+ integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==
+ dependencies:
+ graceful-fs "^4.1.15"
+ parse-json "^4.0.0"
+ pify "^4.0.1"
+ strip-bom "^3.0.0"
+ type-fest "^0.3.0"
+
+load-plugin@^2.0.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-2.3.1.tgz#8024739afb4aa04de1e602e15e5b1a678c443d00"
+ integrity sha512-dYB1lbwqHgPTrruy9glukCu8Ya9vzj6TMfouCtj2H/GuJ+8syioisgKTBPxnCi6m8K8jINKfTOxOHngFkUYqHw==
+ dependencies:
+ npm-prefix "^1.2.0"
+ resolve-from "^5.0.0"
+
+loader-runner@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+ integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
+
+loader-utils@^1.0.2, loader-utils@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
+ integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^2.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
+ integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0"
+ integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+ integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+
+lodash.flatten@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
+ integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
+
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+ integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=
+
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+ integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=
+
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+ integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+ integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=
+
+lodash.once@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=
+
+lodash.range@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d"
+ integrity sha1-9GHliPZmg/fq3q3lE+OKaaVloV0=
+
+lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15:
+ version "4.17.20"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+
+log-symbols@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+ dependencies:
+ chalk "^2.0.1"
+
+log-symbols@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
+ integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
+ dependencies:
+ chalk "^2.4.2"
+
+log-symbols@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
+ integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
+ dependencies:
+ chalk "^4.0.0"
+
+log-update@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+ integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+ dependencies:
+ ansi-escapes "^4.3.0"
+ cli-cursor "^3.1.0"
+ slice-ansi "^4.0.0"
+ wrap-ansi "^6.2.0"
+
+longest-streak@^2.0.1:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105"
+ integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==
+
+loose-envify@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+loud-rejection@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
+ integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
+ dependencies:
+ currently-unhandled "^0.4.1"
+ signal-exit "^3.0.0"
+
+lowercase-keys@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+make-dir@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
+make-error@^1.1.1:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
+ integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
+
+map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
+
+map-obj@^1.0.0, map-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
+ integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
+ dependencies:
+ object-visit "^1.0.0"
+
+markdown-escapes@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5"
+ integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==
+
+markdown-extensions@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3"
+ integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==
+
+markdown-it@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc"
+ integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==
+ dependencies:
+ argparse "^1.0.7"
+ entities "~2.0.0"
+ linkify-it "^2.0.0"
+ mdurl "^1.0.1"
+ uc.micro "^1.0.5"
+
+markdown-table@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60"
+ integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==
+
+matcher-collection@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-1.1.2.tgz#1076f506f10ca85897b53d14ef54f90a5c426838"
+ integrity sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==
+ dependencies:
+ minimatch "^3.0.2"
+
+math-random@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
+ integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+mdast-comment-marker@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz#9c9c18e1ed57feafc1965d92b028f37c3c8da70d"
+ integrity sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==
+
+mdast-util-compact@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d"
+ integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==
+ dependencies:
+ unist-util-visit "^1.1.0"
+
+mdast-util-heading-style@^1.0.2:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz#81b2e60d76754198687db0e8f044e42376db0426"
+ integrity sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw==
+
+mdast-util-to-string@^1.0.2:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d"
+ integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==
+
+mdurl@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
+ integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+memory-fs@^0.4.0, memory-fs@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
+ integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+meow@^3.1.0:
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
+ integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
+ dependencies:
+ camelcase-keys "^2.0.0"
+ decamelize "^1.1.2"
+ loud-rejection "^1.0.0"
+ map-obj "^1.0.1"
+ minimist "^1.1.3"
+ normalize-package-data "^2.3.4"
+ object-assign "^4.0.1"
+ read-pkg-up "^1.0.1"
+ redent "^1.0.0"
+ trim-newlines "^1.0.0"
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+micromatch@^2.1.5:
+ version "2.3.11"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.3.1"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ extglob "^2.0.4"
+ fragment-cache "^0.2.1"
+ kind-of "^6.0.2"
+ nanomatch "^1.2.9"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.2"
+
+micromatch@^4.0.0, micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@1.40.0:
+ version "1.40.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
+ integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
+
+mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
+ version "2.1.24"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
+ integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
+ dependencies:
+ mime-db "1.40.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+
+minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
+
+minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
+
+minimist@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+minipass@^2.2.1, minipass@^2.3.5:
+ version "2.3.5"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848"
+ integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614"
+ integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==
+ dependencies:
+ minipass "^2.2.1"
+
+mississippi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
+ dependencies:
+ concat-stream "^1.5.0"
+ duplexify "^3.4.2"
+ end-of-stream "^1.1.0"
+ flush-write-stream "^1.0.0"
+ from2 "^2.1.0"
+ parallel-transform "^1.1.0"
+ pump "^3.0.0"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mkdirp@^0.5.0, mkdirp@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
+ dependencies:
+ minimist "0.0.8"
+
+mkdirp@^0.5.3:
+ version "0.5.5"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+ dependencies:
+ minimist "^1.2.5"
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=
+ dependencies:
+ aproba "^1.1.1"
+ copy-concurrently "^1.0.0"
+ fs-write-stream-atomic "^1.0.8"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.3"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+ integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+
+ms@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
+nan@^2.12.1:
+ version "2.14.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
+ integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+
+nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ fragment-cache "^0.2.1"
+ is-windows "^1.0.2"
+ kind-of "^6.0.2"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+needle@^2.2.1:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
+ integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
+ dependencies:
+ debug "^3.2.6"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
+negotiator@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+ integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
+neo-async@^2.5.0, neo-async@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
+ integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+node-fetch@^2.3.0:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+
+node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ dependencies:
+ assert "^1.1.1"
+ browserify-zlib "^0.2.0"
+ buffer "^4.3.0"
+ console-browserify "^1.1.0"
+ constants-browserify "^1.0.0"
+ crypto-browserify "^3.11.0"
+ domain-browser "^1.1.1"
+ events "^3.0.0"
+ https-browserify "^1.0.0"
+ os-browserify "^0.3.0"
+ path-browserify "0.0.1"
+ process "^0.11.10"
+ punycode "^1.2.4"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.3.3"
+ stream-browserify "^2.0.1"
+ stream-http "^2.7.2"
+ string_decoder "^1.0.0"
+ timers-browserify "^2.0.4"
+ tty-browserify "0.0.0"
+ url "^0.11.0"
+ util "^0.11.0"
+ vm-browserify "^1.0.1"
+
+node-pre-gyp@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149"
+ integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==
+ dependencies:
+ detect-libc "^1.0.2"
+ mkdirp "^0.5.1"
+ needle "^2.2.1"
+ nopt "^4.0.1"
+ npm-packlist "^1.1.6"
+ npmlog "^4.0.2"
+ rc "^1.2.7"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^4"
+
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
+ dependencies:
+ abbrev "1"
+ osenv "^0.1.4"
+
+normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+npm-bundled@^1.0.1:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"
+ integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==
+
+npm-packlist@^1.1.6:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44"
+ integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw==
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+
+npm-prefix@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/npm-prefix/-/npm-prefix-1.2.0.tgz#e619455f7074ba54cc66d6d0d37dd9f1be6bcbc0"
+ integrity sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=
+ dependencies:
+ rc "^1.1.0"
+ shellsubstitute "^1.1.0"
+ untildify "^2.1.0"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
+ dependencies:
+ path-key "^2.0.0"
+
+npm-run-path@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+npmlog@^4.0.2:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+ dependencies:
+ are-we-there-yet "~1.1.2"
+ console-control-strings "~1.1.0"
+ gauge "~2.7.3"
+ set-blocking "~2.0.0"
+
+nugget@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0"
+ integrity sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=
+ dependencies:
+ debug "^2.1.3"
+ minimist "^1.1.0"
+ pretty-bytes "^1.0.2"
+ progress-stream "^1.1.0"
+ request "^2.45.0"
+ single-line-log "^1.1.2"
+ throttleit "0.0.2"
+
+null-loader@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.0.tgz#8e491b253cd87341d82c0e84b66980d806dfbd04"
+ integrity sha512-vSoBF6M08/RHwc6r0gvB/xBJBtmbvvEkf6+IiadUCoNYchjxE8lwzCGFg0Qp2D25xPiJxUBh2iNWzlzGMILp7Q==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^2.6.5"
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-inspect@^1.7.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0"
+ integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
+
+object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-keys@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
+ integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da"
+ integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.1"
+ has-symbols "^1.0.0"
+ object-keys "^1.0.11"
+
+object.entries@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
+ integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+ has "^1.0.3"
+
+object.fromentries@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
+ integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
+ dependencies:
+ isobject "^3.0.1"
+
+object.values@^1.1.0, object.values@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
+ integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.0-next.1"
+ function-bind "^1.1.1"
+ has "^1.0.3"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+optimist@~0.3.5:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9"
+ integrity sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=
+ dependencies:
+ wordwrap "~0.0.2"
+
+optionator@^0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+ integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.6"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ word-wrap "~1.2.3"
+
+optionator@^0.9.1:
+ version "0.9.1"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+ integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.3"
+
+ora@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
+ integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==
+ dependencies:
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-spinners "^2.0.0"
+ log-symbols "^2.2.0"
+ strip-ansi "^5.2.0"
+ wcwidth "^1.0.1"
+
+ora@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05"
+ integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==
+ dependencies:
+ chalk "^3.0.0"
+ cli-cursor "^3.1.0"
+ cli-spinners "^2.2.0"
+ is-interactive "^1.0.0"
+ log-symbols "^3.0.0"
+ mute-stream "0.0.8"
+ strip-ansi "^6.0.0"
+ wcwidth "^1.0.1"
+
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
+
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
+
+osenv@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
+
+p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0, p-limit@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
+ integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ dependencies:
+ p-limit "^2.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-map@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+ integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+ dependencies:
+ aggregate-error "^3.0.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+pako@~1.0.5:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
+ integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
+
+parallel-transform@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
+ integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=
+ dependencies:
+ cyclist "~0.2.2"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parse-asn1@^5.0.0:
+ version "5.1.4"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
+ integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==
+ dependencies:
+ asn1.js "^4.0.0"
+ browserify-aes "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.0"
+ pbkdf2 "^3.0.3"
+ safe-buffer "^5.1.1"
+
+parse-entities@^1.0.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
+ integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
+ dependencies:
+ character-entities "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ character-reference-invalid "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+parse-gitignore@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/parse-gitignore/-/parse-gitignore-0.4.0.tgz#abf702e4b900524fff7902b683862857b63f93fe"
+ integrity sha1-q/cC5LkAUk//eQK2g4YoV7Y/k/4=
+ dependencies:
+ array-unique "^0.3.2"
+ is-glob "^3.1.0"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-json@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f"
+ integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+ lines-and-columns "^1.1.6"
+
+parse-ms@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d"
+ integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
+
+parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
+
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+
+path-dirname@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-key@^2.0.0, path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
+ integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+ dependencies:
+ pify "^2.0.0"
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+pathval@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
+ integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
+
+pbkdf2@^3.0.3:
+ version "3.0.17"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
+ integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+picomatch@^2.0.4, picomatch@^2.0.5:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6"
+ integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==
+
+picomatch@^2.2.1:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
+ integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+
+pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
+
+pkg-conf@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae"
+ integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==
+ dependencies:
+ find-up "^3.0.0"
+ load-json-file "^5.2.0"
+
+pkg-config@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4"
+ integrity sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=
+ dependencies:
+ debug-log "^1.0.0"
+ find-root "^1.0.0"
+ xtend "^4.0.1"
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
+ dependencies:
+ find-up "^2.1.0"
+
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+ dependencies:
+ find-up "^3.0.0"
+
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
+please-upgrade-node@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac"
+ integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==
+ dependencies:
+ semver-compare "^1.0.0"
+
+please-upgrade-node@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+ dependencies:
+ semver-compare "^1.0.0"
+
+plur@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/plur/-/plur-3.1.1.tgz#60267967866a8d811504fe58f2faaba237546a5b"
+ integrity sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==
+ dependencies:
+ irregular-plurals "^2.0.0"
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
+
+pre-flight@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/pre-flight/-/pre-flight-1.1.1.tgz#482fb1649fb400616a86b2706b11591f5cc8402d"
+ integrity sha512-glqyc2Hh3K+sYeSsVs+HhjyUVf8j6xwuFej0yjYjRYfSnOK8P3Na9GznkoPn48fR+9kTOfkocYIWrtWktp4AqA==
+ dependencies:
+ colors "^1.1.2"
+ commander "^2.9.0"
+ semver "^5.1.0"
+
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
+prepend-http@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
+ integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
+
+pretty-bytes@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84"
+ integrity sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=
+ dependencies:
+ get-stdin "^4.0.1"
+ meow "^3.1.0"
+
+pretty-ms@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.0.0.tgz#6133a8f55804b208e4728f6aa7bf01085e951e24"
+ integrity sha512-94VRYjL9k33RzfKiGokPBPpsmloBYSf5Ri+Pq19zlsEcUKFob+admeXr5eFDRuPjFmEOcjJvPGdillYOJyvZ7Q==
+ dependencies:
+ parse-ms "^2.1.0"
+
+pretty-ms@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.1.0.tgz#b906bdd1ec9e9799995c372e2b1c34f073f95384"
+ integrity sha512-4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw==
+ dependencies:
+ parse-ms "^2.1.0"
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+process@^0.11.10, process@~0.11.0:
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+
+progress-stream@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77"
+ integrity sha1-LNPP6jO6OonJwSHsM0er6asSX3c=
+ dependencies:
+ speedometer "~0.1.2"
+ through2 "~0.2.3"
+
+progress@^2.0.0, progress@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
+
+prop-types@^15.7.2:
+ version "15.7.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
+ integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
+ dependencies:
+ loose-envify "^1.4.0"
+ object-assign "^4.1.1"
+ react-is "^16.8.1"
+
+proxy-addr@~2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
+ integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==
+ dependencies:
+ forwarded "~0.1.2"
+ ipaddr.js "1.9.0"
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
+
+psl@^1.1.24:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6"
+ integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==
+
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
+public-encrypt@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
+
+pump@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
+punycode@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
+
+punycode@^1.2.4, punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+qs@6.7.0:
+ version "6.7.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
+ integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
+
+querystring@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
+
+ramda@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.0.tgz#915dc29865c0800bf3f69b8fd6c279898b59de43"
+ integrity sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==
+
+randomatic@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+ integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
+ integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
+ dependencies:
+ bytes "3.1.0"
+ http-errors "1.7.2"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+rc@^1.1.0, rc@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+react-is@^16.8.1:
+ version "16.8.6"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16"
+ integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+ dependencies:
+ find-up "^2.0.0"
+ read-pkg "^2.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+ dependencies:
+ load-json-file "^2.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^2.0.0"
+
+read-pkg@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.1.1.tgz#5cf234dde7a405c90c88a519ab73c467e9cb83f5"
+ integrity sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==
+ dependencies:
+ "@types/normalize-package-data" "^2.4.0"
+ normalize-package-data "^2.5.0"
+ parse-json "^4.0.0"
+ type-fest "^0.4.1"
+
+"readable-stream@1 || 2", readable-stream@^2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@~1.1.9:
+ version "1.1.14"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
+ integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readdirp@^2.0.0, readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@~3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
+ integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
+ dependencies:
+ picomatch "^2.2.1"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
+ dependencies:
+ resolve "^1.1.6"
+
+redent@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
+ integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
+ dependencies:
+ indent-string "^2.1.0"
+ strip-indent "^1.0.1"
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexpp@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
+ integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+
+regexpp@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e"
+ integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==
+
+regexpp@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
+ integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+
+remark-cli@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-4.0.0.tgz#bb84c14ffeb6f5b658eff4dfbb77cdd7775bab73"
+ integrity sha512-q5GMjGypUS4rTZb3WfMQcGpClSC38A9Ogg1h/HB2GLsqypDetmAfy0X+tuJ6JeyCPVOXXCDgsDCQq4QPqKmxBA==
+ dependencies:
+ markdown-extensions "^1.1.0"
+ remark "^8.0.0"
+ unified-args "^4.0.0"
+
+remark-lint-blockquote-indentation@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.3.tgz#9c35235dd0e904ad6c085e9f66d94b3f13968d1f"
+ integrity sha512-qK4C1l2VmeOVWEAkDYP0CaDtSFoaEBEo5l4oyz1kTkY7YB0Jh7llW2KjuhJz5IzMLmloKJzIyGwlu/odcwaHpg==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ plur "^3.0.0"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-code-block-style@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.3.tgz#236d8a5558041decf2b275e9d9eb5868950375ec"
+ integrity sha512-DL+rudnd9ILP5YXm74tLpMzfWZLqziX7NwIwUhqRefaOyWwxgPPy7hbT59FJqcFc6E/zvDz+Oq4nR1BSV5kEdw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-definition-case@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-1.0.4.tgz#54d2a112794f1a070a5e8aa7c8090e8ae9aa3e11"
+ integrity sha512-ebl8vYOab9iy1Mr29Wo/9CmqcYGRjCfBievIZts08efrxIElWz+jB8/n7C17fh8k0djiiS/Of6W+bfRD+kMXLA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-definition-spacing@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.4.tgz#c322ff110c168449d8217773a23352c4174ffeba"
+ integrity sha512-UderghITmru72OXB5ErCFhVsY7up2wK/m1bUD3E2dm/TFn73/7WpykENt5UirCDT/aeyoHYl8QXUVL20rAc3XQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-emphasis-marker@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.3.tgz#6dc4e7df13e5092c1222110f826f68b4b3920550"
+ integrity sha512-ea2tEVyhZvYxwj6AHsW2qzgEDLljcnzq5taZ3FJFL0KMZYZHfWaIU90H43jrW4seGEtmaP1bmoqJaTavJ2x5Jw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-fenced-code-flag@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz#349caf7c6dd153d0b6ffb57cbcc67c8277569d2a"
+ integrity sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-fenced-code-marker@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.3.tgz#9df1d16d535856f41b3c17a7d309385475cbec04"
+ integrity sha512-JKnojSQ8JkwpIpbNm6wtKEfx8iiv8QIwNHFM06iTCHExMhXa4pJ3wb5M5f0wsWNHtoND3lrw6AcVPoZxEPnflg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-file-extension@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz#a7fc78fbf041e513c618b2cca0f2160ee37daa13"
+ integrity sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-final-definition@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-1.0.3.tgz#4fd7bbf5a028f6e32645460965099689485508ae"
+ integrity sha512-QhbBYy99enfQDeUTElioCHrhgg+SgjMNRlru7/JlOguOufP6wn7AXgn2EVTrLZRoByY0VsNS2jCayXxUTzQ8KA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-hard-break-spaces@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.4.tgz#200e1dae849a6bc2f8fdb3b843faf23c70942530"
+ integrity sha512-YM82UpgliZCZhGNmFxEe7ArfhqR5CplFf2bc0k0+8w3rKWKx7EJcGMar2NK410tIi40gGeWtH/pIEypPJFCCiA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-heading-increment@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.3.tgz#44ca296b50e182c2c4a59604b8026911be3977de"
+ integrity sha512-/KL4/7D2pNxP07KKgktjcIUS+ga8pYI2k9Q/V91pMfyfSC+RYuCGOLFVJSKV0Affr/4Eqnfhw+gJ9X2HAanNuw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-heading-style@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-1.0.3.tgz#de7377996cb9c7e501ec1ba7b7767709a68b824b"
+ integrity sha512-ZUhMav0HHUxo5gzLqxQsOf2ZpP/I3m6EEK8q25/kqpCYnwm1uRJ5CQ40PDQx46pmKtVibIMzDmraYovxNG3ovw==
+ dependencies:
+ mdast-util-heading-style "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-link-title-style@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.4.tgz#eaca24b6eb1ee62b66a237ea54e532ed2aaaafec"
+ integrity sha512-61/uH3zDTiozLJqgxp6rHGnVKTChC3UjL3Q0KQDBpprEOL4qLYjTn4fFKscVz776d0uUX6jczrW+GT4AFVOUgg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+ vfile-location "^2.0.1"
+
+remark-lint-list-item-content-indent@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.3.tgz#e62012ef361fedaca42a764b8389023df4212eca"
+ integrity sha512-ZSIGJG2/6jd1xj/xEoDlkcJBf2Ksw8U6vIGJO0IFIA3BLCbJm2EMWJxto2cfzRvXoACmAaxTJMqW8qatPExa4w==
+ dependencies:
+ plur "^3.0.0"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-list-item-indent@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.4.tgz#7a1ef6283f9a928f4940e02ec37099935f2783e6"
+ integrity sha512-Sv0gVH6qP1/nFpbJuyyguB9sAD2o42StD2WbEZeUcEexXwRO4u/YaX0Pm5pMtCiEHyN+qyL6ShKBQMtgol9BeA==
+ dependencies:
+ plur "^3.0.0"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-list-item-spacing@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.3.tgz#5989bd2450fb4bbd5e8f8007887dc5ca56ad2e5f"
+ integrity sha512-QzDY0Qfk6m+Az0kmxP57OfswIH1WRdd6SIpQLaUEgsTlsbrJOiO0sJYkkOlFPsyJIfp7SV/FCbr+aYCbHF+kRQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-maximum-heading-length@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.3.tgz#e235190e9991567254f9ce1104e15dad8e332b13"
+ integrity sha512-ybcDpR5VHBjtjzdry7AdSjLFwslPo6rdhIJK2+WfHgfeEjIYnlz1uMvp1Z98QMmjpB5JSN83Kzg5fH8/B7poUw==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-maximum-line-length@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.1.tgz#1030991d9af3c935731168a0a12ecb1db2d2b2b6"
+ integrity sha512-CSxX1qc+rAqixk8eBrI+yBsUmD8YGfOezFeJWjJRuUaoOvs67oqCIU+I2HbwcUYY8/KnDxF1MCp+uCM0RkjKKw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-no-auto-link-without-protocol@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.3.tgz#f97aed92af24e6c07023a7a7dc2c147f7eb7927f"
+ integrity sha512-k+hg2mXnO4Q9WV+UShPLen5oThvFxcRVWkx2hviVd/nu3eiszBKH3o38csBwjeJoMG3l2ZhdUW8dlOBhq8670Q==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-blockquote-without-marker@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.3.tgz#7eb431fcb742412e3bc66faa7f58531245ad952f"
+ integrity sha512-faDzKrA6aKidsRXG6gcIlCO8TexLxIxe+n9B3mdnl8mhZGgE0FfWTkIWVMj0IYps/xVsVMf45KxhXgc1wU9kwg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+ vfile-location "^2.0.1"
+
+remark-lint-no-consecutive-blank-lines@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.3.tgz#4fa3b2cf2939c978a3fe7978f726f6142e7dd567"
+ integrity sha512-2Ef7fPxrfLditA7sTo2Qfqd+xwh/luWl8GzILE5vcWIxLDqKk3dTLJkB5nP+7Cr4kqWJAwXnRkEDd77ehrRV3A==
+ dependencies:
+ plur "^3.0.0"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-duplicate-headings@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.4.tgz#52ac1479b6de83d5607b8d07e8ef3401d5078424"
+ integrity sha512-QuPw+VG502Ctpd/jBjnBYuRXTg0ToP3D+dd3TYds4TRcdgaEFYTZfQ5zjK6XrxLMg0Hn9/WpXr4UqTlV4YZupA==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-stringify-position "^2.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-emphasis-as-heading@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.3.tgz#9d837d4c5635a784ef0e983cfb402da15672050d"
+ integrity sha512-HEmyeyKciUz95+CgpAH98RPR73jq5u5CZb2FOMSqgNl9B6FZXqVpq9F3txPqUw3nAqFYOAEnfiaoRgcqtioh0Q==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-file-name-articles@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz#c712d06a24e24b0c4c3666cf3084a0052a2c2c17"
+ integrity sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-no-file-name-consecutive-dashes@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz#6a96ddf60e18dcdb004533733f3ccbfd8ab076ae"
+ integrity sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-no-file-name-irregular-characters@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz#6dcd8b51e00e10094585918cb8e7fc999df776c3"
+ integrity sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-no-file-name-mixed-case@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz#0ebe5eedd0191507d27ad6ac5eed1778cb33c2de"
+ integrity sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-no-file-name-outer-dashes@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz#c6e22a5cc64df4e12fc31712a927e8039854a666"
+ integrity sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+
+remark-lint-no-heading-punctuation@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.3.tgz#7357b0b6e668bb6b32338fe280cde9fe4388b547"
+ integrity sha512-JQD05RjLS99ePBQ4Bed1uWsQTlIMBTcGgIgF6jFXSCEqhwnrIUDwk6S3MG1RZsKd3TLw2xuT/i+POpfBc2+1kQ==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-inline-padding@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.4.tgz#eedb4ca2691d30f3f05b4e5e33967bd64a34daa4"
+ integrity sha512-u5rgbDkcfVv645YxxOwoGBBJbsHEwWm/XqnO8EhfKTxkfKOF4ZItG7Ajhj89EDaeXMkvCcB/avBl4bj50eJH3g==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-no-literal-urls@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.3.tgz#1b5374e416d1b595ee1902587dc37f34c0d6244a"
+ integrity sha512-H5quyMzl2kaewK+jYD1FI0G1SIinIsIp4DEyOUwIR+vYUoKwo0B4vvW0cmPpD1dgqqxHYx0B2B0JQQKFVWzGiw==
+ dependencies:
+ mdast-util-to-string "^1.0.2"
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-multiple-toplevel-headings@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.4.tgz#0cfd8575e5576d7678802eac56fda894afee3817"
+ integrity sha512-0wDddx6htN5sL9/rofesiQF0oEgwN5224UmueiDx0ZUlYrn6VS0/SS0X3WWxtXmyeqlExfWF3D/g89tNs7dcjw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-stringify-position "^2.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-shell-dollars@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz#07e99fc3843c665440f9a1d894ee518b2ad23958"
+ integrity sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-shortcut-reference-image@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.3.tgz#ab4fa15fd8aff251cb8db1f3aed4853e293aff41"
+ integrity sha512-CGm27X54kXp/5ehXejDTsZjqzK4uIhLGcrFzN3k/KjdwunQouEY92AARGrLSEuJ1hQx0bJsmnvr/hvQyWAfNJg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-shortcut-reference-link@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.4.tgz#92af34b939c0341eacdb2fc2ede855f742dc1779"
+ integrity sha512-FXdMJYqspZBhPlxYqfVgVluVXjxStg0RHJzqrk8G9wS8fCS62AE3reoaoiCahwoH1tfKcA+poktbKqDAmZo7Jg==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-no-table-indentation@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.4.tgz#6681a26198ee86c4fbbba382a42254125bc5807b"
+ integrity sha512-H4VGHcg1k8sTIbwazFYLNbDqpPR+M0aHHKDf+93b/xyd27Dp0ODQrMnQbls1Cls5qOAQnwAQbx+75wcpFxP3OQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-ordered-list-marker-style@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.3.tgz#3fc6b9e254a641036e275269254365c42b7c62a1"
+ integrity sha512-24TmW1eUa/2JlwprZg9jJ8LKLxNGKnlKiI5YOhN4taUp2yv8daqlV9vR54yfn/ZZQh6EQvbIX0jeVY9NYgQUtw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-ordered-list-marker-value@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.3.tgz#417afe3849b9926e06f8a6f62445541c63f0e97f"
+ integrity sha512-WQ9yLD8cI9DSk/CE+APKUT6ZeXp0/RzOnsYqzMxEa8n1QHSqRSF7hVEiisqNTG9+gV64OEE66e+m4c7RVSUADw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-rule-style@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-1.0.3.tgz#859aef4d2e2180ecf9db56360497372b90a04aab"
+ integrity sha512-SJe7IFORYRdo8JUhMSdcTktVAUVNVp36YYl1ZD9CfHqQHWlFD+3vWYzJXOZfog/i+CyWf7Yi0WVYmQes+167dA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-strong-marker@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.3.tgz#028e05b046ef260e8d40b342900061f1d09c8131"
+ integrity sha512-PFkH282dCwfRsVEw9IxbYbaZBY4UcTuT2SN+lA3R0cBeocWnOySVw8YEm4sv9JfV8BLcQA5gc4tj66/U3KCScw==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-table-cell-padding@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.4.tgz#be2b020a3985c414abb59cc5d88fda1993f8f2e8"
+ integrity sha512-AQWWtV1yca1PN27QaFRJbBK6Ro/bopv1XnVKxj/iMebhOU2D2FBJ8rXmMZXVMC3G9OB2WSzGgqH3nP6QY12LoA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.4.0"
+
+remark-lint-table-pipe-alignment@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.3.tgz#8c6d0c93e417706a4083dc7fa279c537d4ed886c"
+ integrity sha512-5fhEMcKqNjK6S/y7cVG0+iVqhmhXFW+awIuN7vOBhmDbZ3HF9rCCy20XiHoaG6FzrPJ+zfkjK/QZAbq2Vf58HA==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-table-pipes@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.3.tgz#e34f91de4371f98c5e16701bd2302928468cbd8a"
+ integrity sha512-K9NnGZp6i0m/CaOH7ZT4Ymt2seyiRPcBIlNMMGXBm6gpy34KJDDxYqsNUrh+j7dR+Zg4rYAQLnr3BiSHvj+rbQ==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint-unordered-list-marker-style@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.3.tgz#72f9ec8cd54950753593b3b727fd28e48fa197d5"
+ integrity sha512-0nn/Yscy5ImO4fqByrk/Ua02UwGx8LRu+0kdCbkVz4IxPO5qxTEfyccUQZR71zTdMJp1d2OeqyD9XtMaO4X7Ww==
+ dependencies:
+ unified-lint-rule "^1.0.0"
+ unist-util-generated "^1.1.0"
+ unist-util-position "^3.0.0"
+ unist-util-visit "^1.1.1"
+
+remark-lint@^6.0.0:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-6.0.5.tgz#fbb864d56bf83d2e5d23ea7e346ca5e36710fda3"
+ integrity sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ==
+ dependencies:
+ remark-message-control "^4.0.0"
+
+remark-message-control@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-4.2.0.tgz#184c4a69ce6c4c707a5633fa35b0ce3dbf81f22c"
+ integrity sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==
+ dependencies:
+ mdast-comment-marker "^1.0.0"
+ unified-message-control "^1.0.0"
+ xtend "^4.0.1"
+
+remark-parse@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-4.0.0.tgz#99f1f049afac80382366e2e0d0bd55429dd45d8b"
+ integrity sha512-XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==
+ dependencies:
+ collapse-white-space "^1.0.2"
+ is-alphabetical "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ is-word-character "^1.0.0"
+ markdown-escapes "^1.0.0"
+ parse-entities "^1.0.2"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ trim "0.0.1"
+ trim-trailing-lines "^1.0.0"
+ unherit "^1.0.4"
+ unist-util-remove-position "^1.0.0"
+ vfile-location "^2.0.0"
+ xtend "^4.0.1"
+
+remark-preset-lint-markdown-style-guide@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.3.tgz#2d2e6a162cc18976a2be93f4ebd45835f2ff6c14"
+ integrity sha512-H/jSoLvTY8abUcB+7/062I2oHevlHcHdrfRMP2RMh19QA1wmARgNEn3tZfdBXFq1TpzhevGgb6VwSdOjdU8NOQ==
+ dependencies:
+ remark-lint "^6.0.0"
+ remark-lint-blockquote-indentation "^1.0.0"
+ remark-lint-code-block-style "^1.0.0"
+ remark-lint-definition-case "^1.0.0"
+ remark-lint-definition-spacing "^1.0.0"
+ remark-lint-emphasis-marker "^1.0.0"
+ remark-lint-fenced-code-flag "^1.0.0"
+ remark-lint-fenced-code-marker "^1.0.0"
+ remark-lint-file-extension "^1.0.0"
+ remark-lint-final-definition "^1.0.0"
+ remark-lint-hard-break-spaces "^1.0.0"
+ remark-lint-heading-increment "^1.0.0"
+ remark-lint-heading-style "^1.0.0"
+ remark-lint-link-title-style "^1.0.0"
+ remark-lint-list-item-content-indent "^1.0.0"
+ remark-lint-list-item-indent "^1.0.0"
+ remark-lint-list-item-spacing "^1.0.0"
+ remark-lint-maximum-heading-length "^1.0.0"
+ remark-lint-maximum-line-length "^1.0.0"
+ remark-lint-no-auto-link-without-protocol "^1.0.0"
+ remark-lint-no-blockquote-without-marker "^2.0.0"
+ remark-lint-no-consecutive-blank-lines "^1.0.0"
+ remark-lint-no-duplicate-headings "^1.0.0"
+ remark-lint-no-emphasis-as-heading "^1.0.0"
+ remark-lint-no-file-name-articles "^1.0.0"
+ remark-lint-no-file-name-consecutive-dashes "^1.0.0"
+ remark-lint-no-file-name-irregular-characters "^1.0.0"
+ remark-lint-no-file-name-mixed-case "^1.0.0"
+ remark-lint-no-file-name-outer-dashes "^1.0.0"
+ remark-lint-no-heading-punctuation "^1.0.0"
+ remark-lint-no-inline-padding "^1.0.0"
+ remark-lint-no-literal-urls "^1.0.0"
+ remark-lint-no-multiple-toplevel-headings "^1.0.0"
+ remark-lint-no-shell-dollars "^1.0.0"
+ remark-lint-no-shortcut-reference-image "^1.0.0"
+ remark-lint-no-shortcut-reference-link "^1.0.0"
+ remark-lint-no-table-indentation "^1.0.0"
+ remark-lint-ordered-list-marker-style "^1.0.0"
+ remark-lint-ordered-list-marker-value "^1.0.0"
+ remark-lint-rule-style "^1.0.0"
+ remark-lint-strong-marker "^1.0.0"
+ remark-lint-table-cell-padding "^1.0.0"
+ remark-lint-table-pipe-alignment "^1.0.0"
+ remark-lint-table-pipes "^1.0.0"
+ remark-lint-unordered-list-marker-style "^1.0.0"
+
+remark-stringify@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-4.0.0.tgz#4431884c0418f112da44991b4e356cfe37facd87"
+ integrity sha512-xLuyKTnuQer3ke9hkU38SUYLiTmS078QOnoFavztmbt/pAJtNSkNtFgR0U//uCcmG0qnyxao+PDuatQav46F1w==
+ dependencies:
+ ccount "^1.0.0"
+ is-alphanumeric "^1.0.0"
+ is-decimal "^1.0.0"
+ is-whitespace-character "^1.0.0"
+ longest-streak "^2.0.1"
+ markdown-escapes "^1.0.0"
+ markdown-table "^1.1.0"
+ mdast-util-compact "^1.0.0"
+ parse-entities "^1.0.2"
+ repeat-string "^1.5.4"
+ state-toggle "^1.0.0"
+ stringify-entities "^1.0.1"
+ unherit "^1.0.4"
+ xtend "^4.0.1"
+
+remark@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/remark/-/remark-8.0.0.tgz#287b6df2fe1190e263c1d15e486d3fa835594d6d"
+ integrity sha512-K0PTsaZvJlXTl9DN6qYlvjTkqSZBFELhROZMrblm2rB+085flN84nz4g/BscKRMqDvhzlK1oQ/xnWQumdeNZYw==
+ dependencies:
+ remark-parse "^4.0.0"
+ remark-stringify "^4.0.0"
+ unified "^6.0.0"
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
+
+repeat-element@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
+ integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
+
+repeat-string@^1.5.0, repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
+ dependencies:
+ is-finite "^1.0.0"
+
+replace-ext@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
+ integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=
+
+request@^2.45.0, request@^2.88.0:
+ version "2.88.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
+ integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.0"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.4.3"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+request@^2.88.2:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
+requireindex@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162"
+ integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI=
+
+resolve-cwd@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=
+ dependencies:
+ resolve-from "^3.0.0"
+
+resolve-dir@^1.0.0, resolve-dir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+
+resolve@^1.1.6, resolve@^1.10.0:
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e"
+ integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==
+ dependencies:
+ path-parse "^1.0.6"
+
+resolve@^1.10.1, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.17.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
+ integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
+ dependencies:
+ path-parse "^1.0.6"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@~2.2.6:
+ version "2.2.8"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
+ integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
+ integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
+
+run-parallel@^1.1.2, run-parallel@^1.1.9:
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679"
+ integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==
+
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=
+ dependencies:
+ aproba "^1.1.1"
+
+rxjs@^6.5.5, rxjs@^6.6.0:
+ version "6.6.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84"
+ integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
+ integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sax@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
+ integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o=
+
+sax@>=0.6.0, sax@^1.2.4:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+schema-utils@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
+ dependencies:
+ ajv "^6.1.0"
+ ajv-errors "^1.0.0"
+ ajv-keywords "^3.1.0"
+
+schema-utils@^2.6.5:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
+ integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
+ dependencies:
+ "@types/json-schema" "^7.0.4"
+ ajv "^6.12.2"
+ ajv-keywords "^3.4.1"
+
+semver-compare@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+ integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.6.0:
+ version "5.7.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
+ integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
+
+semver@^5.1.0, semver@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db"
+ integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==
+
+semver@^6.1.0, semver@^6.1.2:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.2.1, semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
+send@0.17.1:
+ version "0.17.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
+ integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
+ dependencies:
+ debug "2.6.9"
+ depd "~1.1.2"
+ destroy "~1.0.4"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "~1.7.2"
+ mime "1.6.0"
+ ms "2.1.1"
+ on-finished "~2.3.0"
+ range-parser "~1.2.1"
+ statuses "~1.5.0"
+
+serialize-javascript@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
+ integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==
+
+serve-static@1.14.1:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
+ integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.17.1"
+
+set-blocking@^2.0.0, set-blocking@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
+
+setprototypeof@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
+ integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
+
+sha.js@^2.4.0, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+shelljs@^0.8.1:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
+ integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==
+ dependencies:
+ glob "^7.0.0"
+ interpret "^1.0.0"
+ rechoir "^0.6.2"
+
+shellsubstitute@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/shellsubstitute/-/shellsubstitute-1.2.0.tgz#e4f702a50c518b0f6fe98451890d705af29b6b70"
+ integrity sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=
+
+shx@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.2.tgz#40501ce14eb5e0cbcac7ddbd4b325563aad8c123"
+ integrity sha512-aS0mWtW3T2sHAenrSrip2XGv39O9dXIFUqxAEWHEOS1ePtGIBavdPJY1kE2IHl14V/4iCbUiNDPGdyYTtmhSoA==
+ dependencies:
+ es6-object-assign "^1.0.3"
+ minimist "^1.2.0"
+ shelljs "^0.8.1"
+
+signal-exit@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+
+signal-exit@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
+ integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+
+single-line-log@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364"
+ integrity sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=
+ dependencies:
+ string-width "^1.0.1"
+
+slash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+ integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+slice-ansi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+ integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+ integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+ dependencies:
+ ansi-styles "^4.0.0"
+ astral-regex "^2.0.0"
+ is-fullwidth-code-point "^3.0.0"
+
+sliced@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
+ integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ base "^0.11.1"
+ debug "^2.2.0"
+ define-property "^0.2.5"
+ extend-shallow "^2.0.1"
+ map-cache "^0.2.2"
+ source-map "^0.5.6"
+ source-map-resolve "^0.5.0"
+ use "^3.1.0"
+
+source-list-map@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+
+source-map-resolve@^0.5.0:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
+ integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==
+ dependencies:
+ atob "^2.1.1"
+ decode-uri-component "^0.2.0"
+ resolve-url "^0.2.1"
+ source-map-url "^0.4.0"
+ urix "^0.1.0"
+
+source-map-support@^0.5.6:
+ version "0.5.19"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
+ integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-support@~0.5.12:
+ version "0.5.12"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599"
+ integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-url@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
+
+source-map@^0.5.6:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
+
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+spdx-correct@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4"
+ integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
+ integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1"
+ integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==
+
+speedometer@~0.1.2:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d"
+ integrity sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+ssri@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
+ integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==
+ dependencies:
+ figgy-pudding "^3.5.1"
+
+standard-engine@^12.0.0:
+ version "12.1.0"
+ resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-12.1.0.tgz#b13dbae583de54c06805207b991ef48a582c0e62"
+ integrity sha512-DVJnWM1CGkag4ucFLGdiYWa5/kJURPONmMmk17p8FT5NE4UnPZB1vxWnXnRo2sPSL78pWJG8xEM+1Tu19z0deg==
+ dependencies:
+ deglob "^4.0.1"
+ get-stdin "^7.0.0"
+ minimist "^1.2.5"
+ pkg-conf "^3.1.0"
+
+standard-markdown@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/standard-markdown/-/standard-markdown-6.0.0.tgz#bb7519a86275900eaa7a951d98937723c7010ed6"
+ integrity sha512-9lQs4ZfGukyalFVputnN4IxfbMIAECjf+BqC4gvY8eBUvYcotYIWj4MZyMiXBkN/OJwmMi5jVSnzIexKZQqQYA==
+ dependencies:
+ commander "^4.1.0"
+ globby "^11.0.0"
+ lodash.flatten "^4.4.0"
+ lodash.range "^3.2.0"
+ ora "^4.0.3"
+ standard "^14.3.1"
+
+standard@^14.3.1:
+ version "14.3.4"
+ resolved "https://registry.yarnpkg.com/standard/-/standard-14.3.4.tgz#748e80e8cd7b535844a85a12f337755a7e3a0f6e"
+ integrity sha512-+lpOkFssMkljJ6eaILmqxHQ2n4csuEABmcubLTb9almFi1ElDzXb1819fjf/5ygSyePCq4kU2wMdb2fBfb9P9Q==
+ dependencies:
+ eslint "~6.8.0"
+ eslint-config-standard "14.1.1"
+ eslint-config-standard-jsx "8.1.0"
+ eslint-plugin-import "~2.18.0"
+ eslint-plugin-node "~10.0.0"
+ eslint-plugin-promise "~4.2.1"
+ eslint-plugin-react "~7.14.2"
+ eslint-plugin-standard "~4.0.0"
+ standard-engine "^12.0.0"
+
+state-toggle@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc"
+ integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+ integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
+stream-browserify@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-chain@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.3.tgz#44cfa21ab673e53a3f1691b3d1665c3aceb1983b"
+ integrity sha512-w+WgmCZ6BItPAD3/4HD1eDiDHRLhjSSyIV+F0kcmmRyz8Uv9hvQF22KyaiAUmOlmX3pJ6F95h+C191UbS8Oe/g==
+
+stream-each@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
+stream-http@^2.7.2:
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.3.6"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+stream-json@^1.7.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.7.1.tgz#ec7e414c2eba456c89a4b4e5223794eabc3860c4"
+ integrity sha512-I7g0IDqvdJXbJ279/D3ZoTx0VMhmKnEF7u38CffeWdF8bfpMPsLo+5fWnkNjO2GU/JjWaRjdH+zmH03q+XGXFw==
+ dependencies:
+ stream-chain "^2.2.3"
+
+stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+ integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
+
+string-argv@0.3.1:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
+ integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+
+string-width@^1.0.0, string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string-width@^3.0.0, string-width@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
+
+string.prototype.trimend@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913"
+ integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string.prototype.trimstart@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"
+ integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.5"
+
+string_decoder@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d"
+ integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+stringify-entities@^1.0.1:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7"
+ integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==
+ dependencies:
+ character-entities-html4 "^1.0.0"
+ character-entities-legacy "^1.0.0"
+ is-alphanumerical "^1.0.0"
+ is-hexadecimal "^1.0.0"
+
+stringify-object@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
+ integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+ dependencies:
+ get-own-enumerable-property-symbols "^3.0.0"
+ is-obj "^1.0.1"
+ is-regexp "^1.0.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ dependencies:
+ ansi-regex "^5.0.0"
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-indent@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
+ integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
+ dependencies:
+ get-stdin "^4.0.1"
+
+strip-json-comments@^3.0.1, strip-json-comments@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180"
+ integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+sumchecker@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-2.0.2.tgz#0f42c10e5d05da5d42eea3e56c3399a37d6c5b3e"
+ integrity sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=
+ dependencies:
+ debug "^2.2.0"
+
+supports-color@^4.1.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
+ dependencies:
+ has-flag "^2.0.0"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ dependencies:
+ has-flag "^4.0.0"
+
+table@^5.2.3:
+ version "5.4.6"
+ resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
+ integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
+ dependencies:
+ ajv "^6.10.2"
+ lodash "^4.17.14"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
+tap-parser@~1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-1.2.2.tgz#5e2f6970611f079c7cf857de1dc7aa1b480de7a5"
+ integrity sha1-Xi9pcGEfB5x8+FfeHceqG0gN56U=
+ dependencies:
+ events-to-array "^1.0.1"
+ inherits "~2.0.1"
+ js-yaml "^3.2.7"
+ optionalDependencies:
+ readable-stream "^2"
+
+tap-xunit@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/tap-xunit/-/tap-xunit-2.4.1.tgz#9823797b676ae5017f4e380bd70abb893b8e120e"
+ integrity sha512-qcZStDtjjYjMKAo7QNiCtOW256g3tuSyCSe5kNJniG1Q2oeOExJq4vm8CwboHZURpkXAHvtqMl4TVL7mcbMVVA==
+ dependencies:
+ duplexer "~0.1.1"
+ minimist "~1.2.0"
+ tap-parser "~1.2.2"
+ through2 "~2.0.0"
+ xmlbuilder "~4.2.0"
+ xtend "~4.0.0"
+
+tapable@^1.0.0, tapable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
+ integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+
+tar@^4, tar@^4.4.7:
+ version "4.4.10"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1"
+ integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==
+ dependencies:
+ chownr "^1.1.1"
+ fs-minipass "^1.2.5"
+ minipass "^2.3.5"
+ minizlib "^1.2.1"
+ mkdirp "^0.5.0"
+ safe-buffer "^5.1.2"
+ yallist "^3.0.3"
+
+temp@^0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
+ integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=
+ dependencies:
+ os-tmpdir "^1.0.0"
+ rimraf "~2.2.6"
+
+terser-webpack-plugin@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
+ integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^2.1.2"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser@^4.1.2:
+ version "4.6.7"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.7.tgz#478d7f9394ec1907f0e488c5f6a6a9a2bad55e72"
+ integrity sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
+throttleit@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
+ integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8=
+
+through2@^2.0.0, through2@~2.0.0:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through2@~0.2.3:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f"
+ integrity sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=
+ dependencies:
+ readable-stream "~1.1.9"
+ xtend "~2.1.1"
+
+through@^2.3.6, through@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+timed-out@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
+ integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
+
+timers-browserify@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+ integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=
+ dependencies:
+ process "~0.11.0"
+
+timers-browserify@^2.0.4:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
+ integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==
+ dependencies:
+ setimmediate "^1.0.4"
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
+ dependencies:
+ kind-of "^3.0.2"
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+to-vfile@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-2.2.0.tgz#342d1705e6df526d569b1fc8bfa29f1f36d6c416"
+ integrity sha512-saGC8/lWdGrEoBMLUtgzhRHWAkQMP8gdldA3MOAUhBwTGEb1RSMVcflHGSx4ZJsdEZ9o1qDBCPp47LCPrbZWow==
+ dependencies:
+ is-buffer "^1.1.4"
+ vfile "^2.0.0"
+ x-is-function "^1.0.4"
+
+toidentifier@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
+ integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
+
+tough-cookie@~2.4.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
+ integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
+ dependencies:
+ psl "^1.1.24"
+ punycode "^1.4.1"
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+trim-newlines@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
+ integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
+
+trim-trailing-lines@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a"
+ integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==
+
+trim@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd"
+ integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0=
+
+trough@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e"
+ integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==
+
+ts-loader@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.2.tgz#ee73ca9350f745799396fff8578ba29b1e95616b"
+ integrity sha512-oYT7wOTUawYXQ8XIDsRhziyW0KUEV38jISYlE+9adP6tDtG+O5GkRe4QKQXrHVH4mJJ88DysvEtvGP65wMLlhg==
+ dependencies:
+ chalk "^2.3.0"
+ enhanced-resolve "^4.0.0"
+ loader-utils "^1.0.2"
+ micromatch "^4.0.0"
+ semver "^6.0.0"
+
+ts-node@6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-6.2.0.tgz#65a0ae2acce319ea4fd7ac8d7c9f1f90c5da6baf"
+ integrity sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A==
+ dependencies:
+ arrify "^1.0.0"
+ buffer-from "^1.1.0"
+ diff "^3.1.0"
+ make-error "^1.1.1"
+ minimist "^1.2.0"
+ mkdirp "^0.5.1"
+ source-map-support "^0.5.6"
+ yn "^2.0.0"
+
+tsconfig-paths@^3.9.0:
+ version "3.9.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
+ integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==
+ dependencies:
+ "@types/json5" "^0.0.29"
+ json5 "^1.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+
+tslib@^1.8.1, tslib@^1.9.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
+ integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
+
+tsutils@^3.17.1:
+ version "3.17.1"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
+ integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
+ dependencies:
+ tslib "^1.8.1"
+
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+ dependencies:
+ prelude-ls "~1.1.2"
+
+type-detect@^4.0.0, type-detect@^4.0.5:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type-fest@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+ integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+
+type-fest@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+ integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+
+type-fest@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8"
+ integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
+type-is@~1.6.17, type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
+
+typescript@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2"
+ integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==
+
+uc.micro@^1.0.1, uc.micro@^1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
+ integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
+
+unherit@^1.0.4:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449"
+ integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==
+ dependencies:
+ inherits "^2.0.1"
+ xtend "^4.0.1"
+
+unified-args@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-4.0.0.tgz#8d9b9b8ad347beb37f430562a62c4d361b42220f"
+ integrity sha1-jZubitNHvrN/QwVipixNNhtCIg8=
+ dependencies:
+ camelcase "^4.0.0"
+ chalk "^2.0.0"
+ chokidar "^1.5.1"
+ minimist "^1.2.0"
+ text-table "^0.2.0"
+ unified-engine "^4.0.0"
+
+unified-engine@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-4.0.1.tgz#9692aa97fd5c4ec36889779e12514bef8e863fc3"
+ integrity sha1-lpKql/1cTsNoiXeeElFL746GP8M=
+ dependencies:
+ concat-stream "^1.5.1"
+ debug "^2.2.0"
+ fault "^1.0.0"
+ fn-name "^2.0.1"
+ glob "^7.0.3"
+ ignore "^3.2.0"
+ is-empty "^1.0.0"
+ is-hidden "^1.0.1"
+ is-object "^1.0.1"
+ js-yaml "^3.6.1"
+ load-plugin "^2.0.0"
+ parse-json "^2.2.0"
+ to-vfile "^2.0.0"
+ trough "^1.0.0"
+ vfile-reporter "^4.0.0"
+ vfile-statistics "^1.1.0"
+ x-is-function "^1.0.4"
+ x-is-string "^0.1.0"
+ xtend "^4.0.1"
+
+unified-lint-rule@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz#be432d316db7ad801166041727b023ba18963e24"
+ integrity sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ==
+ dependencies:
+ wrapped "^1.0.1"
+
+unified-message-control@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-1.0.4.tgz#a5e02c07112f78c6687b83a10392c2fba86dc09b"
+ integrity sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==
+ dependencies:
+ trim "0.0.1"
+ unist-util-visit "^1.0.0"
+ vfile-location "^2.0.0"
+
+unified@^6.0.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba"
+ integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==
+ dependencies:
+ bail "^1.0.0"
+ extend "^3.0.0"
+ is-plain-obj "^1.1.0"
+ trough "^1.0.0"
+ vfile "^2.0.0"
+ x-is-string "^0.1.0"
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+uniq@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+ integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
+
+unique-filename@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+ integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+ dependencies:
+ imurmurhash "^0.1.4"
+
+unist-util-generated@^1.1.0:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7"
+ integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==
+
+unist-util-is@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd"
+ integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==
+
+unist-util-position@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373"
+ integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==
+
+unist-util-remove-position@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972"
+ integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==
+ dependencies:
+ unist-util-visit "^1.1.0"
+
+unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6"
+ integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==
+
+unist-util-stringify-position@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3"
+ integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==
+ dependencies:
+ "@types/unist" "^2.0.2"
+
+unist-util-visit-parents@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9"
+ integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==
+ dependencies:
+ unist-util-is "^3.0.0"
+
+unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.1.1, unist-util-visit@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
+ integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
+ dependencies:
+ unist-util-visit-parents "^2.0.0"
+
+universal-github-app-jwt@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.0.tgz#0abaa876101cdf1d3e4c546be2768841c0c1b514"
+ integrity sha512-3b+ocAjjz4JTyqaOT+NNBd5BtTuvJTxWElIoeHSVelUV9J3Jp7avmQTdLKCaoqi/5Ox2o/q+VK19TJ233rVXVQ==
+ dependencies:
+ "@types/jsonwebtoken" "^8.3.3"
+ jsonwebtoken "^8.5.1"
+
+universal-user-agent@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
+ integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+universalify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
+ integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+untildify@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0"
+ integrity sha1-F+soB5h/dpUunASF/DEdBqgmouA=
+ dependencies:
+ os-homedir "^1.0.0"
+
+unzip-response@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
+ integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=
+
+upath@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068"
+ integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==
+
+uri-js@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
+
+url-parse-lax@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
+ integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=
+ dependencies:
+ prepend-http "^1.0.1"
+
+url@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
+ integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+url@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
+ dependencies:
+ punycode "1.3.2"
+ querystring "0.2.0"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+util@0.10.3:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
+ dependencies:
+ inherits "2.0.1"
+
+util@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
+ dependencies:
+ inherits "2.0.3"
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+uuid@3.3.2, uuid@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+ integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
+
+v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
+ integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vfile-location@^2.0.0, vfile-location@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2"
+ integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==
+
+vfile-message@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1"
+ integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==
+ dependencies:
+ unist-util-stringify-position "^1.1.1"
+
+vfile-reporter@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-4.0.0.tgz#ea6f0ae1342f4841573985e05f941736f27de9da"
+ integrity sha1-6m8K4TQvSEFXOYXgX5QXNvJ96do=
+ dependencies:
+ repeat-string "^1.5.0"
+ string-width "^1.0.0"
+ supports-color "^4.1.0"
+ unist-util-stringify-position "^1.0.0"
+ vfile-statistics "^1.1.0"
+
+vfile-statistics@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz#e9c87071997fbcb4243764d2c3805e0bb0820c60"
+ integrity sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==
+
+vfile@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a"
+ integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==
+ dependencies:
+ is-buffer "^1.1.4"
+ replace-ext "1.0.0"
+ unist-util-stringify-position "^1.0.0"
+ vfile-message "^1.0.0"
+
+vm-browserify@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
+ integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
+
+walk-sync@^0.3.2:
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.4.tgz#cf78486cc567d3a96b5b2237c6108017a5ffb9a4"
+ integrity sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig==
+ dependencies:
+ ensure-posix-path "^1.0.0"
+ matcher-collection "^1.0.0"
+
+watchpack-chokidar2@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"
+ integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.6.1:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa"
+ integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==
+ dependencies:
+ graceful-fs "^4.1.2"
+ neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.0"
+ watchpack-chokidar2 "^2.0.0"
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
+ dependencies:
+ defaults "^1.0.3"
+
+webpack-cli@^3.3.12:
+ version "3.3.12"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a"
+ integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==
+ dependencies:
+ chalk "^2.4.2"
+ cross-spawn "^6.0.5"
+ enhanced-resolve "^4.1.1"
+ findup-sync "^3.0.0"
+ global-modules "^2.0.0"
+ import-local "^2.0.0"
+ interpret "^1.4.0"
+ loader-utils "^1.4.0"
+ supports-color "^6.1.0"
+ v8-compile-cache "^2.1.1"
+ yargs "^13.3.2"
+
+webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
+webpack@^4.43.0:
+ version "4.43.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6"
+ integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/wasm-edit" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ acorn "^6.4.1"
+ ajv "^6.10.2"
+ ajv-keywords "^3.4.1"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.3"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.4.0"
+ loader-utils "^1.2.3"
+ memory-fs "^0.4.1"
+ micromatch "^3.1.10"
+ mkdirp "^0.5.3"
+ neo-async "^2.6.1"
+ node-libs-browser "^2.2.1"
+ schema-utils "^1.0.0"
+ tapable "^1.1.3"
+ terser-webpack-plugin "^1.4.3"
+ watchpack "^1.6.1"
+ webpack-sources "^1.4.1"
+
+which-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
+
+which@^1.2.14, which@^1.2.9, which@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
+ dependencies:
+ string-width "^1.0.2 || 2"
+
+word-wrap@^1.2.3, word-wrap@~1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wordwrap@~0.0.2:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
+ integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc=
+
+worker-farm@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
+ integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
+ dependencies:
+ errno "~0.1.7"
+
+wrap-ansi@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+ integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+ dependencies:
+ ansi-styles "^3.2.0"
+ string-width "^3.0.0"
+ strip-ansi "^5.0.0"
+
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrapped@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/wrapped/-/wrapped-1.0.1.tgz#c783d9d807b273e9b01e851680a938c87c907242"
+ integrity sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI=
+ dependencies:
+ co "3.1.0"
+ sliced "^1.0.1"
+
+wrapper-webpack-plugin@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/wrapper-webpack-plugin/-/wrapper-webpack-plugin-2.1.0.tgz#2b5d80f46af84c9eeb707d08796a115e233adeac"
+ integrity sha512-e+2FhSYGCxhDq3PcUw5mRhH+8vcYa+9d9AuLChJUZ9ZbUPhQOHZ/O2dnN98iTqeUuvrzSSOv13+x/NhrAm5JEg==
+ dependencies:
+ webpack-sources "^1.1.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ dependencies:
+ mkdirp "^0.5.1"
+
+x-is-function@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e"
+ integrity sha1-XSlNw9Joy90GJYDgxd93o5HR+h4=
+
+x-is-string@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"
+ integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=
+
+xml2js@0.4.19:
+ version "0.4.19"
+ resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
+ integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
+ dependencies:
+ sax ">=0.6.0"
+ xmlbuilder "~9.0.1"
+
+xmlbuilder@~4.2.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5"
+ integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=
+ dependencies:
+ lodash "^4.0.0"
+
+xmlbuilder@~9.0.1:
+ version "9.0.7"
+ resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
+ integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
+
+xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+xtend@~2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
+ integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os=
+ dependencies:
+ object-keys "~0.4.0"
+
+y18n@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
+ integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
+
+yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9"
+ integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.7.2:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
+ integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+
+yargs-parser@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+ integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs@^13.3.2:
+ version "13.3.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+ integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
+ dependencies:
+ cliui "^5.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^2.0.1"
+ require-directory "^2.1.1"
+ require-main-filename "^2.0.0"
+ set-blocking "^2.0.0"
+ string-width "^3.0.0"
+ which-module "^2.0.0"
+ y18n "^4.0.0"
+ yargs-parser "^13.1.2"
+
+yn@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"
+ integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=
diff --git a/devel/electron11/pkg-descr b/devel/electron12/pkg-descr
index bb5485e9e735..bb5485e9e735 100644
--- a/devel/electron11/pkg-descr
+++ b/devel/electron12/pkg-descr
diff --git a/devel/electron12/pkg-plist b/devel/electron12/pkg-plist
new file mode 100644
index 000000000000..c5bf444cd633
--- /dev/null
+++ b/devel/electron12/pkg-plist
@@ -0,0 +1,163 @@
+bin/electron%%ELECTRON_VER_MAJOR%%
+%%DATADIR%%/LICENSE
+%%DATADIR%%/LICENSES.chromium.html
+%%DATADIR%%/chrome_100_percent.pak
+%%DATADIR%%/chrome_200_percent.pak
+%%DRIVER%%%%DATADIR%%/chromedriver
+%%DATADIR%%/electron
+%%DATADIR%%/gen/electron/buildflags/buildflags.h
+%%DATADIR%%/gen/v8/embedded.S
+%%DATADIR%%/icudtl.dat
+%%DATADIR%%/libEGL.so
+%%DATADIR%%/libGLESv2.so
+%%DATADIR%%/libvk_swiftshader.so
+%%DATADIR%%/libvulkan.so.1
+%%DATADIR%%/locales/am.pak
+%%DATADIR%%/locales/ar.pak
+%%DATADIR%%/locales/bg.pak
+%%DATADIR%%/locales/bn.pak
+%%DATADIR%%/locales/ca.pak
+%%DATADIR%%/locales/cs.pak
+%%DATADIR%%/locales/da.pak
+%%DATADIR%%/locales/de.pak
+%%DATADIR%%/locales/el.pak
+%%DATADIR%%/locales/en-GB.pak
+%%DATADIR%%/locales/en-US.pak
+%%DATADIR%%/locales/es-419.pak
+%%DATADIR%%/locales/es.pak
+%%DATADIR%%/locales/et.pak
+%%DATADIR%%/locales/fa.pak
+%%DATADIR%%/locales/fi.pak
+%%DATADIR%%/locales/fil.pak
+%%DATADIR%%/locales/fr.pak
+%%DATADIR%%/locales/gu.pak
+%%DATADIR%%/locales/he.pak
+%%DATADIR%%/locales/hi.pak
+%%DATADIR%%/locales/hr.pak
+%%DATADIR%%/locales/hu.pak
+%%DATADIR%%/locales/id.pak
+%%DATADIR%%/locales/it.pak
+%%DATADIR%%/locales/ja.pak
+%%DATADIR%%/locales/kn.pak
+%%DATADIR%%/locales/ko.pak
+%%DATADIR%%/locales/lt.pak
+%%DATADIR%%/locales/lv.pak
+%%DATADIR%%/locales/ml.pak
+%%DATADIR%%/locales/mr.pak
+%%DATADIR%%/locales/ms.pak
+%%DATADIR%%/locales/nb.pak
+%%DATADIR%%/locales/nl.pak
+%%DATADIR%%/locales/pl.pak
+%%DATADIR%%/locales/pt-BR.pak
+%%DATADIR%%/locales/pt-PT.pak
+%%DATADIR%%/locales/ro.pak
+%%DATADIR%%/locales/ru.pak
+%%DATADIR%%/locales/sk.pak
+%%DATADIR%%/locales/sl.pak
+%%DATADIR%%/locales/sr.pak
+%%DATADIR%%/locales/sv.pak
+%%DATADIR%%/locales/sw.pak
+%%DATADIR%%/locales/ta.pak
+%%DATADIR%%/locales/te.pak
+%%DATADIR%%/locales/th.pak
+%%DATADIR%%/locales/tr.pak
+%%DATADIR%%/locales/uk.pak
+%%DATADIR%%/locales/vi.pak
+%%DATADIR%%/locales/zh-CN.pak
+%%DATADIR%%/locales/zh-TW.pak
+%%DATADIR%%/mksnapshot
+%%DATADIR%%/node_headers/include/node/common.gypi
+%%DATADIR%%/node_headers/include/node/config.gypi
+%%DATADIR%%/node_headers/include/node/cppgc/allocation.h
+%%DATADIR%%/node_headers/include/node/cppgc/common.h
+%%DATADIR%%/node_headers/include/node/cppgc/cross-thread-persistent.h
+%%DATADIR%%/node_headers/include/node/cppgc/custom-space.h
+%%DATADIR%%/node_headers/include/node/cppgc/default-platform.h
+%%DATADIR%%/node_headers/include/node/cppgc/ephemeron-pair.h
+%%DATADIR%%/node_headers/include/node/cppgc/garbage-collected.h
+%%DATADIR%%/node_headers/include/node/cppgc/heap-consistency.h
+%%DATADIR%%/node_headers/include/node/cppgc/heap.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/api-constants.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/atomic-entry-flag.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/caged-heap-local-data.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/compiler-specific.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/finalizer-trait.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/gc-info.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/logging.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/name-trait.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/persistent-node.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/pointer-policies.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/prefinalizer-handler.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/process-heap.h
+%%DATADIR%%/node_headers/include/node/cppgc/internal/write-barrier.h
+%%DATADIR%%/node_headers/include/node/cppgc/liveness-broker.h
+%%DATADIR%%/node_headers/include/node/cppgc/macros.h
+%%DATADIR%%/node_headers/include/node/cppgc/member.h
+%%DATADIR%%/node_headers/include/node/cppgc/name-provider.h
+%%DATADIR%%/node_headers/include/node/cppgc/persistent.h
+%%DATADIR%%/node_headers/include/node/cppgc/platform.h
+%%DATADIR%%/node_headers/include/node/cppgc/prefinalizer.h
+%%DATADIR%%/node_headers/include/node/cppgc/source-location.h
+%%DATADIR%%/node_headers/include/node/cppgc/trace-trait.h
+%%DATADIR%%/node_headers/include/node/cppgc/type-traits.h
+%%DATADIR%%/node_headers/include/node/cppgc/visitor.h
+%%DATADIR%%/node_headers/include/node/js_native_api.h
+%%DATADIR%%/node_headers/include/node/js_native_api_types.h
+%%DATADIR%%/node_headers/include/node/libplatform/libplatform-export.h
+%%DATADIR%%/node_headers/include/node/libplatform/libplatform.h
+%%DATADIR%%/node_headers/include/node/libplatform/v8-tracing.h
+%%DATADIR%%/node_headers/include/node/node.h
+%%DATADIR%%/node_headers/include/node/node_api.h
+%%DATADIR%%/node_headers/include/node/node_api_types.h
+%%DATADIR%%/node_headers/include/node/node_buffer.h
+%%DATADIR%%/node_headers/include/node/node_object_wrap.h
+%%DATADIR%%/node_headers/include/node/node_version.h
+%%DATADIR%%/node_headers/include/node/uv.h
+%%DATADIR%%/node_headers/include/node/uv/aix.h
+%%DATADIR%%/node_headers/include/node/uv/android-ifaddrs.h
+%%DATADIR%%/node_headers/include/node/uv/bsd.h
+%%DATADIR%%/node_headers/include/node/uv/darwin.h
+%%DATADIR%%/node_headers/include/node/uv/errno.h
+%%DATADIR%%/node_headers/include/node/uv/linux.h
+%%DATADIR%%/node_headers/include/node/uv/os390.h
+%%DATADIR%%/node_headers/include/node/uv/posix.h
+%%DATADIR%%/node_headers/include/node/uv/stdint-msvc2008.h
+%%DATADIR%%/node_headers/include/node/uv/sunos.h
+%%DATADIR%%/node_headers/include/node/uv/threadpool.h
+%%DATADIR%%/node_headers/include/node/uv/tree.h
+%%DATADIR%%/node_headers/include/node/uv/unix.h
+%%DATADIR%%/node_headers/include/node/uv/version.h
+%%DATADIR%%/node_headers/include/node/uv/win.h
+%%DATADIR%%/node_headers/include/node/v8-cppgc.h
+%%DATADIR%%/node_headers/include/node/v8-fast-api-calls.h
+%%DATADIR%%/node_headers/include/node/v8-internal.h
+%%DATADIR%%/node_headers/include/node/v8-metrics.h
+%%DATADIR%%/node_headers/include/node/v8-platform.h
+%%DATADIR%%/node_headers/include/node/v8-profiler.h
+%%DATADIR%%/node_headers/include/node/v8-unwinder-state.h
+%%DATADIR%%/node_headers/include/node/v8-util.h
+%%DATADIR%%/node_headers/include/node/v8-value-serializer-version.h
+%%DATADIR%%/node_headers/include/node/v8-version-string.h
+%%DATADIR%%/node_headers/include/node/v8-version.h
+%%DATADIR%%/node_headers/include/node/v8-wasm-trap-handler-posix.h
+%%DATADIR%%/node_headers/include/node/v8-wasm-trap-handler-win.h
+%%DATADIR%%/node_headers/include/node/v8.h
+%%DATADIR%%/node_headers/include/node/v8config.h
+%%DATADIR%%/node_headers/include/node/zconf.h
+%%DATADIR%%/node_headers/include/node/zlib.h
+%%DIST%%%%DATADIR%%/releases/SHASUMS256.txt
+%%DIST%%%%AMD64%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-x64.zip
+%%DIST%%%%I386%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-ia32.zip
+%%DIST%%%%AMD64%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-x64.zip
+%%DIST%%%%I386%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-ia32.zip
+%%DIST%%%%AMD64%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-x64.zip
+%%DIST%%%%I386%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-ia32.zip
+%%DATADIR%%/resources.pak
+%%DATADIR%%/resources/default_app.asar
+%%DATADIR%%/snapshot_blob.bin
+%%DATADIR%%/swiftshader/libEGL.so
+%%DATADIR%%/swiftshader/libGLESv2.so
+%%DATADIR%%/v8_context_snapshot.bin
+%%DATADIR%%/v8_context_snapshot_generator
+%%DATADIR%%/version
+%%DATADIR%%/vk_swiftshader_icd.json