summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/Makefile53
-rw-r--r--www/cliqz/Makefile191
-rw-r--r--www/cliqz/Makefile.options24
-rw-r--r--www/cliqz/distinfo13
-rw-r--r--www/cliqz/files/patch-addon-search56
-rw-r--r--www/cliqz/files/patch-bug128858739
-rw-r--r--www/cliqz/files/patch-bug155089189
-rw-r--r--www/cliqz/files/patch-bug161891443
-rw-r--r--www/cliqz/files/patch-bug162856734
-rw-r--r--www/cliqz/files/patch-bug164098217
-rw-r--r--www/cliqz/files/patch-bug166371531087
-rw-r--r--www/cliqz/files/patch-bug1667736106
-rw-r--r--www/cliqz/files/patch-cliqz__env.sh27
-rw-r--r--www/cliqz/files/patch-mozilla-release_config_rules.mk34
-rw-r--r--www/cliqz/files/patch-mozilla-release_gfx_skia_skia_src_core_SkCpu.cpp32
-rw-r--r--www/cliqz/pkg-descr5
-rw-r--r--www/cliqz/pkg-plist45
-rw-r--r--www/iridium/Makefile270
-rw-r--r--www/iridium/distinfo3
-rw-r--r--www/iridium/files/audio_manager_openbsd.cc177
-rw-r--r--www/iridium/files/audio_manager_openbsd.h65
-rw-r--r--www/iridium/files/extra-patch-clang40
-rw-r--r--www/iridium/files/iridium-browser.desktop.in11
-rw-r--r--www/iridium/files/iridium.in19
-rw-r--r--www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h11
-rw-r--r--www/iridium/files/patch-BUILD.gn95
-rw-r--r--www/iridium/files/patch-apps_app__restore__service__browsertest.cc11
-rw-r--r--www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc11
-rw-r--r--www/iridium/files/patch-ash_display_mirror__window__controller.cc14
-rw-r--r--www/iridium/files/patch-base_BUILD.gn98
-rw-r--r--www/iridium/files/patch-base_allocator_allocator__shim.cc11
-rw-r--r--www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc76
-rw-r--r--www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h11
-rw-r--r--www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc45
-rw-r--r--www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h11
-rw-r--r--www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc17
-rw-r--r--www/iridium/files/patch-base_base__switches.cc20
-rw-r--r--www/iridium/files/patch-base_base__switches.h20
-rw-r--r--www/iridium/files/patch-base_cpu.cc38
-rw-r--r--www/iridium/files/patch-base_debug_debugger__posix.cc56
-rw-r--r--www/iridium/files/patch-base_debug_elf__reader.cc28
-rw-r--r--www/iridium/files/patch-base_debug_proc__maps__linux.cc141
-rw-r--r--www/iridium/files/patch-base_debug_stack__trace.cc11
-rw-r--r--www/iridium/files/patch-base_debug_stack__trace.h10
-rw-r--r--www/iridium/files/patch-base_debug_stack__trace__posix.cc23
-rw-r--r--www/iridium/files/patch-base_debug_stack__trace__unittest.cc31
-rw-r--r--www/iridium/files/patch-base_files_file__path__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_files_file__path__watcher.cc15
-rw-r--r--www/iridium/files/patch-base_files_file__path__watcher__kqueue.h13
-rw-r--r--www/iridium/files/patch-base_files_file__path__watcher__stub.cc53
-rw-r--r--www/iridium/files/patch-base_files_file__path__watcher__unittest.cc41
-rw-r--r--www/iridium/files/patch-base_files_file__util.h11
-rw-r--r--www/iridium/files/patch-base_files_file__util__posix.cc11
-rw-r--r--www/iridium/files/patch-base_files_file__util__unittest.cc20
-rw-r--r--www/iridium/files/patch-base_files_scoped__file.cc11
-rw-r--r--www/iridium/files/patch-base_i18n_icu__util.cc20
-rw-r--r--www/iridium/files/patch-base_linux__util.cc20
-rw-r--r--www/iridium/files/patch-base_logging__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_memory_discardable__memory.cc63
-rw-r--r--www/iridium/files/patch-base_memory_discardable__memory__internal.h19
-rw-r--r--www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc11
-rw-r--r--www/iridium/files/patch-base_memory_platform__shared__memory__region.h29
-rw-r--r--www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc38
-rw-r--r--www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc16
-rw-r--r--www/iridium/files/patch-base_native__library__posix.cc11
-rw-r--r--www/iridium/files/patch-base_native__library__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_numerics_safe__math__shared__impl.h12
-rw-r--r--www/iridium/files/patch-base_path__service__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_posix_can__lower__nice__to.cc20
-rw-r--r--www/iridium/files/patch-base_posix_unix__domain__socket.cc49
-rw-r--r--www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc12
-rw-r--r--www/iridium/files/patch-base_process_internal__linux.cc97
-rw-r--r--www/iridium/files/patch-base_process_internal__linux.h34
-rw-r--r--www/iridium/files/patch-base_process_kill.h16
-rw-r--r--www/iridium/files/patch-base_process_kill__posix.cc20
-rw-r--r--www/iridium/files/patch-base_process_launch.cc11
-rw-r--r--www/iridium/files/patch-base_process_launch.h20
-rw-r--r--www/iridium/files/patch-base_process_launch__posix.cc10
-rw-r--r--www/iridium/files/patch-base_process_memory.cc20
-rw-r--r--www/iridium/files/patch-base_process_memory.h11
-rw-r--r--www/iridium/files/patch-base_process_memory__unittest.cc18
-rw-r--r--www/iridium/files/patch-base_process_process__handle.cc11
-rw-r--r--www/iridium/files/patch-base_process_process__handle.h11
-rw-r--r--www/iridium/files/patch-base_process_process__handle__freebsd.cc17
-rw-r--r--www/iridium/files/patch-base_process_process__iterator__freebsd.cc44
-rw-r--r--www/iridium/files/patch-base_process_process__linux.cc31
-rw-r--r--www/iridium/files/patch-base_process_process__metrics.cc38
-rw-r--r--www/iridium/files/patch-base_process_process__metrics.h131
-rw-r--r--www/iridium/files/patch-base_process_process__metrics__freebsd.cc259
-rw-r--r--www/iridium/files/patch-base_process_process__metrics__posix.cc20
-rw-r--r--www/iridium/files/patch-base_process_process__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_process_process__util__unittest.cc16
-rw-r--r--www/iridium/files/patch-base_profiler_register__context.h60
-rw-r--r--www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc11
-rw-r--r--www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h20
-rw-r--r--www/iridium/files/patch-base_profiler_stack__copier__signal.cc63
-rw-r--r--www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_profiler_thread__delegate__posix.cc50
-rw-r--r--www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc24
-rw-r--r--www/iridium/files/patch-base_security__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_synchronization_lock__impl.h16
-rw-r--r--www/iridium/files/patch-base_syslog__logging.cc20
-rw-r--r--www/iridium/files/patch-base_system_sys__info.h20
-rw-r--r--www/iridium/files/patch-base_system_sys__info__freebsd.cc67
-rw-r--r--www/iridium/files/patch-base_system_sys__info__posix.cc11
-rw-r--r--www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc11
-rw-r--r--www/iridium/files/patch-base_test_fontconfig__util__linux.cc406
-rw-r--r--www/iridium/files/patch-base_test_generate__fontconfig__caches.cc17
-rw-r--r--www/iridium/files/patch-base_test_launcher_test__launcher.cc19
-rw-r--r--www/iridium/files/patch-base_test_test__file__util__posix.cc11
-rw-r--r--www/iridium/files/patch-base_test_test__suite.cc37
-rw-r--r--www/iridium/files/patch-base_third__party_libevent_BUILD.gn24
-rw-r--r--www/iridium/files/patch-base_threading_platform__thread.h11
-rw-r--r--www/iridium/files/patch-base_threading_platform__thread__linux.cc30
-rw-r--r--www/iridium/files/patch-base_threading_platform__thread__posix.cc11
-rw-r--r--www/iridium/files/patch-base_threading_platform__thread__unittest.cc20
-rw-r--r--www/iridium/files/patch-base_threading_thread__task__runner__handle.cc26
-rw-r--r--www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc21
-rw-r--r--www/iridium/files/patch-base_trace__event_process__memory__dump.cc11
-rw-r--r--www/iridium/files/patch-base_trace__event_process__memory__dump.h11
-rw-r--r--www/iridium/files/patch-build_config_BUILD.gn30
-rw-r--r--www/iridium/files/patch-build_config_BUILDCONFIG.gn48
-rw-r--r--www/iridium/files/patch-build_config_compiler_BUILD.gn92
-rw-r--r--www/iridium/files/patch-build_config_compiler_compiler.gni20
-rw-r--r--www/iridium/files/patch-build_config_features.gni11
-rw-r--r--www/iridium/files/patch-build_config_freetype_freetype.gni9
-rw-r--r--www/iridium/files/patch-build_config_linux_BUILD.gn11
-rw-r--r--www/iridium/files/patch-build_config_linux_pkg-config.py26
-rw-r--r--www/iridium/files/patch-build_config_sysroot.gni15
-rw-r--r--www/iridium/files/patch-build_detect__host__arch.py11
-rw-r--r--www/iridium/files/patch-build_gn__run__binary.py11
-rw-r--r--www/iridium/files/patch-build_linux_chrome.map29
-rw-r--r--www/iridium/files/patch-build_linux_libpci_BUILD.gn53
-rw-r--r--www/iridium/files/patch-build_linux_unbundle_libusb.gn27
-rw-r--r--www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py10
-rw-r--r--www/iridium/files/patch-build_toolchain_gcc__toolchain.gni45
-rw-r--r--www/iridium/files/patch-build_toolchain_get__concurrent__links.py17
-rw-r--r--www/iridium/files/patch-build_toolchain_linux_BUILD.gn10
-rw-r--r--www/iridium/files/patch-cc_BUILD.gn19
-rw-r--r--www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc13
-rw-r--r--www/iridium/files/patch-cc_trees_property__tree.cc20
-rw-r--r--www/iridium/files/patch-chrome_app_chrome__command__ids.h11
-rw-r--r--www/iridium/files/patch-chrome_app_chrome__main.cc16
-rw-r--r--www/iridium/files/patch-chrome_app_chrome__main__delegate.cc159
-rw-r--r--www/iridium/files/patch-chrome_app_chromium__strings.grd29
-rw-r--r--www/iridium/files/patch-chrome_app_generated__resources.grd29
-rw-r--r--www/iridium/files/patch-chrome_app_google__chrome__strings.grd29
-rw-r--r--www/iridium/files/patch-chrome_app_settings__strings.grdp20
-rw-r--r--www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc21
-rw-r--r--www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd11
-rw-r--r--www/iridium/files/patch-chrome_app_theme_theme__resources.grd11
-rw-r--r--www/iridium/files/patch-chrome_browser_about__flags.cc205
-rw-r--r--www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc38
-rw-r--r--www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc70
-rw-r--r--www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc17
-rw-r--r--www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc15
-rw-r--r--www/iridium/files/patch-chrome_browser_browser__resources.grd11
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__browser__main.cc66
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc115
-rw-r--r--www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h17
-rw-r--r--www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc31
-rw-r--r--www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_defaults.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd11
-rw-r--r--www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__commands.cc35
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__commands.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__item__model.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__prefs.cc65
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__prefs.h20
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__query.cc14
-rw-r--r--www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_BUILD.gn15
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc14
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc40
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc43
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_extensions_install__signer.cc18
-rw-r--r--www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h18
-rw-r--r--www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_flag__descriptions.cc65
-rw-r--r--www/iridium/files/patch-chrome_browser_flag__descriptions.h72
-rw-r--r--www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc15
-rw-r--r--www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc14
-rw-r--r--www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc28
-rw-r--r--www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc27
-rw-r--r--www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc23
-rw-r--r--www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc33
-rw-r--r--www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h36
-rw-r--r--www/iridium/files/patch-chrome_browser_memory__details.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_memory__details__linux.cc13
-rw-r--r--www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc13
-rw-r--r--www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc21
-rw-r--r--www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc25
-rw-r--r--www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc64
-rw-r--r--www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc14
-rw-r--r--www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc38
-rw-r--r--www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc43
-rw-r--r--www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_process__singleton__posix.cc34
-rw-r--r--www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py19
-rw-r--r--www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js20
-rw-r--r--www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html29
-rw-r--r--www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js33
-rw-r--r--www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc15
-rw-r--r--www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc14
-rw-r--r--www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc17
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h19
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc24
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc32
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc17
-rw-r--r--www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h19
-rw-r--r--www/iridium/files/patch-chrome_browser_signin_signin__util.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc56
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h48
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc72
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h50
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc16
-rw-r--r--www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h16
-rw-r--r--www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc38
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_sad__tab.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc31
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc25
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc15
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc50
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc46
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc38
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc13
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc29
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc55
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h11
-rw-r--r--www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc20
-rw-r--r--www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc11
-rw-r--r--www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc11
-rw-r--r--www/iridium/files/patch-chrome_common_BUILD.gn13
-rw-r--r--www/iridium/files/patch-chrome_common_channel__info.h11
-rw-r--r--www/iridium/files/patch-chrome_common_channel__info__posix.cc20
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__features.cc18
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__features.h15
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__paths.cc111
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__paths.h42
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__paths__internal.h11
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__switches.cc11
-rw-r--r--www/iridium/files/patch-chrome_common_chrome__switches.h11
-rw-r--r--www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni11
-rw-r--r--www/iridium/files/patch-chrome_common_extensions_command.cc11
-rw-r--r--www/iridium/files/patch-chrome_common_features.gni14
-rw-r--r--www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc11
-rw-r--r--www/iridium/files/patch-chrome_common_pref__names.cc44
-rw-r--r--www/iridium/files/patch-chrome_common_pref__names.h41
-rw-r--r--www/iridium/files/patch-chrome_common_webui__url__constants.cc48
-rw-r--r--www/iridium/files/patch-chrome_common_webui__url__constants.h32
-rw-r--r--www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc11
-rw-r--r--www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc29
-rw-r--r--www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h20
-rw-r--r--www/iridium/files/patch-chrome_service_cloud__print_print__system.cc11
-rw-r--r--www/iridium/files/patch-chrome_test_BUILD.gn11
-rw-r--r--www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc20
-rw-r--r--www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc40
-rw-r--r--www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc25
-rw-r--r--www/iridium/files/patch-chrome_test_base_test__browser__window.h11
-rw-r--r--www/iridium/files/patch-chrome_test_base_testing__browser__process.h13
-rw-r--r--www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc13
-rw-r--r--www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc20
-rw-r--r--www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc38
-rw-r--r--www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc56
-rw-r--r--www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc11
-rw-r--r--www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn11
-rw-r--r--www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc14
-rw-r--r--www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc20
-rw-r--r--www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc23
-rw-r--r--www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc11
-rw-r--r--www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc14
-rw-r--r--www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc11
-rw-r--r--www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc11
-rw-r--r--www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc15
-rw-r--r--www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc11
-rw-r--r--www/iridium/files/patch-components_autofill_core_common_autofill__util.cc11
-rw-r--r--www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc11
-rw-r--r--www/iridium/files/patch-components_cookie__config_cookie__store__util.cc24
-rw-r--r--www/iridium/files/patch-components_crash_content_app_BUILD.gn52
-rw-r--r--www/iridium/files/patch-components_crash_content_app_crashpad.cc43
-rw-r--r--www/iridium/files/patch-components_crash_content_app_crashpad.h66
-rw-r--r--www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc24
-rw-r--r--www/iridium/files/patch-components_crash_content_browser_BUILD.gn27
-rw-r--r--www/iridium/files/patch-components_crash_core_common_BUILD.gn31
-rw-r--r--www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc20
-rw-r--r--www/iridium/files/patch-components_download_internal_common_base__file.cc20
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_event__constants.cc27
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_event__constants.h30
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc20
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_feature__constants.h20
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_feature__list.cc20
-rw-r--r--www/iridium/files/patch-components_feature__engagement_public_feature__list.h38
-rw-r--r--www/iridium/files/patch-components_feedback_anonymizer__tool.cc14
-rw-r--r--www/iridium/files/patch-components_flags__ui_flags__state.cc11
-rw-r--r--www/iridium/files/patch-components_gcm__driver_gcm__client.h10
-rw-r--r--www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc12
-rw-r--r--www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc14
-rw-r--r--www/iridium/files/patch-components_metrics_BUILD.gn14
-rw-r--r--www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc16
-rw-r--r--www/iridium/files/patch-components_metrics_metrics__log.cc11
-rw-r--r--www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc18
-rw-r--r--www/iridium/files/patch-components_neterror_resources_neterror.js11
-rw-r--r--www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc11
-rw-r--r--www/iridium/files/patch-components_new__or__sad__tab__strings.grdp47
-rw-r--r--www/iridium/files/patch-components_os__crypt_os__crypt.h48
-rw-r--r--www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc11
-rw-r--r--www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc14
-rw-r--r--www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc73
-rw-r--r--www/iridium/files/patch-components_policy_core_common_schema.cc14
-rw-r--r--www/iridium/files/patch-components_policy_resources_policy__templates.json83
-rw-r--r--www/iridium/files/patch-components_policy_tools_generate__policy__source.py19
-rw-r--r--www/iridium/files/patch-components_previews_core_previews__features.cc18
-rw-r--r--www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc11
-rw-r--r--www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc29
-rw-r--r--www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h20
-rw-r--r--www/iridium/files/patch-components_storage__monitor_BUILD.gn16
-rw-r--r--www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc11
-rw-r--r--www/iridium/files/patch-components_storage__monitor_removable__device__constants.h11
-rw-r--r--www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc57
-rw-r--r--www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h48
-rw-r--r--www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc16
-rw-r--r--www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc11
-rw-r--r--www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc14
-rw-r--r--www/iridium/files/patch-components_update__client_update__query__params.cc11
-rw-r--r--www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc11
-rw-r--r--www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc16
-rw-r--r--www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc14
-rw-r--r--www/iridium/files/patch-components_viz_common_features.cc20
-rw-r--r--www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc11
-rw-r--r--www/iridium/files/patch-components_viz_host_host__display__client.cc11
-rw-r--r--www/iridium/files/patch-components_viz_host_host__display__client.h11
-rw-r--r--www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc11
-rw-r--r--www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc11
-rw-r--r--www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc20
-rw-r--r--www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h20
-rw-r--r--www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc20
-rw-r--r--www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h11
-rw-r--r--www/iridium/files/patch-components_viz_test_fake__output__surface.cc11
-rw-r--r--www/iridium/files/patch-components_viz_test_fake__output__surface.h11
-rw-r--r--www/iridium/files/patch-components_viz_test_mock__display__client.h11
-rw-r--r--www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc14
-rw-r--r--www/iridium/files/patch-content_app_content__main__runner__impl.cc73
-rw-r--r--www/iridium/files/patch-content_browser_browser__main__loop.cc46
-rw-r--r--www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc76
-rw-r--r--www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc11
-rw-r--r--www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc11
-rw-r--r--www/iridium/files/patch-content_browser_media_media__internals.cc11
-rw-r--r--www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc27
-rw-r--r--www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc11
-rw-r--r--www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc20
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc29
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc20
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc29
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h19
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc47
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h15
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc11
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc29
-rw-r--r--www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc11
-rw-r--r--www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc11
-rw-r--r--www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc29
-rw-r--r--www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h47
-rw-r--r--www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc20
-rw-r--r--www/iridium/files/patch-content_browser_utility__process__host.cc11
-rw-r--r--www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc20
-rw-r--r--www/iridium/files/patch-content_browser_v8__snapshot__files.cc11
-rw-r--r--www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc17
-rw-r--r--www/iridium/files/patch-content_common_BUILD.gn15
-rw-r--r--www/iridium/files/patch-content_common_common__sandbox__support__linux.cc10
-rw-r--r--www/iridium/files/patch-content_common_user__agent.cc17
-rw-r--r--www/iridium/files/patch-content_gpu_BUILD.gn11
-rw-r--r--www/iridium/files/patch-content_gpu_gpu__main.cc56
-rw-r--r--www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc58
-rw-r--r--www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc29
-rw-r--r--www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h25
-rw-r--r--www/iridium/files/patch-content_public_app_content__main__delegate.cc18
-rw-r--r--www/iridium/files/patch-content_public_app_content__main__delegate.h20
-rw-r--r--www/iridium/files/patch-content_public_common_child__process__host.h11
-rw-r--r--www/iridium/files/patch-content_public_common_common__param__traits__macros.h11
-rw-r--r--www/iridium/files/patch-content_public_common_content__features.cc29
-rw-r--r--www/iridium/files/patch-content_public_common_content__switches.cc11
-rw-r--r--www/iridium/files/patch-content_public_common_content__switches.h11
-rw-r--r--www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc11
-rw-r--r--www/iridium/files/patch-content_public_test_browser__test__base.cc31
-rw-r--r--www/iridium/files/patch-content_public_test_content__browser__test.cc29
-rw-r--r--www/iridium/files/patch-content_public_test_mock__render__thread.cc11
-rw-r--r--www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc11
-rw-r--r--www/iridium/files/patch-content_renderer_render__process__impl.cc20
-rw-r--r--www/iridium/files/patch-content_renderer_render__thread__impl.cc51
-rw-r--r--www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc47
-rw-r--r--www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h29
-rw-r--r--www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc19
-rw-r--r--www/iridium/files/patch-content_shell_BUILD.gn11
-rw-r--r--www/iridium/files/patch-content_shell_app_shell__main__delegate.cc20
-rw-r--r--www/iridium/files/patch-content_shell_browser_shell__browser__context.cc20
-rw-r--r--www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc20
-rw-r--r--www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc11
-rw-r--r--www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc11
-rw-r--r--www/iridium/files/patch-content_shell_test__runner_test__runner.cc29
-rw-r--r--www/iridium/files/patch-content_test_content__test__suite.cc18
-rw-r--r--www/iridium/files/patch-content_utility_BUILD.gn11
-rw-r--r--www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc29
-rw-r--r--www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h24
-rw-r--r--www/iridium/files/patch-device_bluetooth_BUILD.gn11
-rw-r--r--www/iridium/files/patch-device_gamepad_gamepad__provider.cc11
-rw-r--r--www/iridium/files/patch-device_gamepad_hid__writer__linux.cc11
-rw-r--r--www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc14
-rw-r--r--www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc34
-rw-r--r--www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc20
-rw-r--r--www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc14
-rw-r--r--www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc11
-rw-r--r--www/iridium/files/patch-extensions_common_api___permission__features.json29
-rw-r--r--www/iridium/files/patch-extensions_common_api_runtime.json11
-rw-r--r--www/iridium/files/patch-extensions_common_feature__switch.cc16
-rw-r--r--www/iridium/files/patch-extensions_common_features_feature.cc11
-rw-r--r--www/iridium/files/patch-extensions_common_image__util.cc14
-rw-r--r--www/iridium/files/patch-extensions_common_stack__frame.cc14
-rw-r--r--www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc11
-rw-r--r--www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc20
-rw-r--r--www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc11
-rw-r--r--www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc20
-rw-r--r--www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h19
-rw-r--r--www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc53
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc20
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc100
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h11
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc20
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc14
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc11
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc20
-rw-r--r--www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h11
-rw-r--r--www/iridium/files/patch-gpu_config_gpu__control__list.cc32
-rw-r--r--www/iridium/files/patch-gpu_config_gpu__test__config.cc11
-rw-r--r--www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc47
-rw-r--r--www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h29
-rw-r--r--www/iridium/files/patch-gpu_ipc_service_gpu__init.cc136
-rw-r--r--www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc20
-rw-r--r--www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc56
-rw-r--r--www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h20
-rw-r--r--www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc32
-rw-r--r--www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h45
-rw-r--r--www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc29
-rw-r--r--www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h11
-rw-r--r--www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc29
-rw-r--r--www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc20
-rw-r--r--www/iridium/files/patch-headless_lib_headless__content__main__delegate.h11
-rw-r--r--www/iridium/files/patch-headless_lib_headless__macros.h13
-rw-r--r--www/iridium/files/patch-ipc_ipc__channel.h11
-rw-r--r--www/iridium/files/patch-ipc_ipc__channel__common.cc20
-rw-r--r--www/iridium/files/patch-ipc_ipc__channel__mojo.cc15
-rw-r--r--www/iridium/files/patch-ipc_ipc__message__utils.cc11
-rw-r--r--www/iridium/files/patch-ipc_ipc__message__utils.h11
-rw-r--r--www/iridium/files/patch-media_BUILD.gn12
-rw-r--r--www/iridium/files/patch-media_audio_BUILD.gn22
-rw-r--r--www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc54
-rw-r--r--www/iridium/files/patch-media_audio_audio__input__device.cc11
-rw-r--r--www/iridium/files/patch-media_audio_audio__manager.cc29
-rw-r--r--www/iridium/files/patch-media_audio_audio__manager.h11
-rw-r--r--www/iridium/files/patch-media_base_audio__latency.cc11
-rw-r--r--www/iridium/files/patch-media_base_media__switches.cc11
-rw-r--r--www/iridium/files/patch-media_base_scopedfd__helper.h23
-rw-r--r--www/iridium/files/patch-media_base_video__frame.cc74
-rw-r--r--www/iridium/files/patch-media_base_video__frame.h50
-rw-r--r--www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc20
-rw-r--r--www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc11
-rw-r--r--www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc11
-rw-r--r--www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc26
-rw-r--r--www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc11
-rw-r--r--www/iridium/files/patch-media_capture_video_video__capture__device__client.cc11
-rw-r--r--www/iridium/files/patch-media_filters_vp9__parser.h10
-rw-r--r--www/iridium/files/patch-media_formats_common_offset__byte__queue.cc20
-rw-r--r--www/iridium/files/patch-media_formats_common_offset__byte__queue.h22
-rw-r--r--www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc26
-rw-r--r--www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc26
-rw-r--r--www/iridium/files/patch-media_gpu_buffer__validation.cc48
-rw-r--r--www/iridium/files/patch-media_media__options.gni12
-rw-r--r--www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc11
-rw-r--r--www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc32
-rw-r--r--www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc20
-rw-r--r--www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc47
-rw-r--r--www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc11
-rw-r--r--www/iridium/files/patch-media_webrtc_webrtc__switches.cc11
-rw-r--r--www/iridium/files/patch-mojo_public_c_system_thunks.cc49
-rw-r--r--www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd11
-rw-r--r--www/iridium/files/patch-net_BUILD.gn46
-rw-r--r--www/iridium/files/patch-net_base_address__tracker__linux.cc88
-rw-r--r--www/iridium/files/patch-net_base_address__tracker__linux.h12
-rw-r--r--www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc14
-rw-r--r--www/iridium/files/patch-net_base_features.cc11
-rw-r--r--www/iridium/files/patch-net_base_network__change__notifier.cc28
-rw-r--r--www/iridium/files/patch-net_base_network__interfaces__posix.h11
-rw-r--r--www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h12
-rw-r--r--www/iridium/files/patch-net_dns_address__sorter__posix.cc12
-rw-r--r--www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc47
-rw-r--r--www/iridium/files/patch-net_dns_dns__reloader.cc13
-rw-r--r--www/iridium/files/patch-net_dns_dns__util.cc11
-rw-r--r--www/iridium/files/patch-net_dns_host__resolver__proc.cc11
-rw-r--r--www/iridium/files/patch-net_features.gni11
-rw-r--r--www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc14
-rw-r--r--www/iridium/files/patch-net_http_http__auth__gssapi__posix.h12
-rw-r--r--www/iridium/files/patch-net_nqe_network__quality__estimator.cc11
-rw-r--r--www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc11
-rw-r--r--www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc39
-rw-r--r--www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc29
-rw-r--r--www/iridium/files/patch-net_socket_socket__posix.cc11
-rw-r--r--www/iridium/files/patch-net_socket_socks5__client__socket.cc13
-rw-r--r--www/iridium/files/patch-net_socket_tcp__socket__posix.cc20
-rw-r--r--www/iridium/files/patch-net_socket_udp__socket__posix.cc108
-rw-r--r--www/iridium/files/patch-net_socket_udp__socket__posix.h11
-rw-r--r--www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc11
-rw-r--r--www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc20
-rw-r--r--www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc11
-rw-r--r--www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h20
-rw-r--r--www/iridium/files/patch-net_url__request_url__fetcher.cc11
-rw-r--r--www/iridium/files/patch-net_url__request_url__fetcher.h11
-rw-r--r--www/iridium/files/patch-net_url__request_url__request__context.cc11
-rw-r--r--www/iridium/files/patch-net_url__request_url__request__context.h11
-rw-r--r--www/iridium/files/patch-net_url__request_url__request__context__builder.cc20
-rw-r--r--www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc56
-rw-r--r--www/iridium/files/patch-ppapi_proxy_file__io__resource.cc48
-rw-r--r--www/iridium/files/patch-ppapi_proxy_flash__resource.cc11
-rw-r--r--www/iridium/files/patch-printing_cups__config__helper.py11
-rw-r--r--www/iridium/files/patch-remoting_base_chromoting__event.cc11
-rw-r--r--www/iridium/files/patch-remoting_client_display_sys__opengl.h11
-rw-r--r--www/iridium/files/patch-remoting_host_evaluate__capability.cc11
-rw-r--r--www/iridium/files/patch-remoting_host_host__attributes.cc11
-rw-r--r--www/iridium/files/patch-remoting_host_host__details.cc11
-rw-r--r--www/iridium/files/patch-remoting_host_host__main.cc27
-rw-r--r--www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc35
-rw-r--r--www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc11
-rw-r--r--www/iridium/files/patch-remoting_host_remoting__me2me__host.cc108
-rw-r--r--www/iridium/files/patch-remoting_host_switches.cc14
-rw-r--r--www/iridium/files/patch-remoting_host_switches.h14
-rw-r--r--www/iridium/files/patch-remoting_resources_remoting__strings.grd20
-rw-r--r--www/iridium/files/patch-sandbox_features.gni11
-rw-r--r--www/iridium/files/patch-sandbox_linux_BUILD.gn47
-rw-r--r--www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc15
-rw-r--r--www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc21
-rw-r--r--www/iridium/files/patch-services_audio_BUILD.gn11
-rw-r--r--www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc11
-rw-r--r--www/iridium/files/patch-services_device_hid_BUILD.gn22
-rw-r--r--www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc243
-rw-r--r--www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h71
-rw-r--r--www/iridium/files/patch-services_device_hid_hid__service.cc20
-rw-r--r--www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc386
-rw-r--r--www/iridium/files/patch-services_device_hid_hid__service__freebsd.h50
-rw-r--r--www/iridium/files/patch-services_device_serial_BUILD.gn11
-rw-r--r--www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc11
-rw-r--r--www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc14
-rw-r--r--www/iridium/files/patch-services_device_usb_BUILD.gn11
-rw-r--r--www/iridium/files/patch-services_network_BUILD.gn10
-rw-r--r--www/iridium/files/patch-services_network_network__context.cc11
-rw-r--r--www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc18
-rw-r--r--www/iridium/files/patch-services_network_network__service.cc20
-rw-r--r--www/iridium/files/patch-services_network_network__service.h11
-rw-r--r--www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc20
-rw-r--r--www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h32
-rw-r--r--www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc103
-rw-r--r--www/iridium/files/patch-services_service__manager_embedder_main.cc11
-rw-r--r--www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc19
-rw-r--r--www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h20
-rw-r--r--www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn14
-rw-r--r--www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn11
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni8
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc40
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h13
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h16
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc15
-rw-r--r--www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc48
-rw-r--r--www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc23
-rw-r--r--www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc11
-rw-r--r--www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc20
-rw-r--r--www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp20
-rw-r--r--www/iridium/files/patch-third__party_angle_BUILD.gn10
-rw-r--r--www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h16
-rw-r--r--www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp90
-rw-r--r--www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp21
-rw-r--r--www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp55
-rw-r--r--www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp11
-rw-r--r--www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h11
-rw-r--r--www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h15
-rw-r--r--www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c11
-rw-r--r--www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h11
-rw-r--r--www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_BUILD.gn13
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h47
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc11
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn10
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h58
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc29
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc20
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc38
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h27
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc14
-rw-r--r--www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc22
-rw-r--r--www/iridium/files/patch-third__party_boringssl_BUILD.gn36
-rw-r--r--www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c73
-rw-r--r--www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c13
-rw-r--r--www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h11
-rw-r--r--www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h11
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni11
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn15
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc41
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h20
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h20
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc11
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc11
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc29
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc11
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc40
-rw-r--r--www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc20
-rw-r--r--www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h57
-rw-r--r--www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c12
-rw-r--r--www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc43
-rw-r--r--www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc10
-rw-r--r--www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni20
-rw-r--r--www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc14
-rw-r--r--www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c25
-rw-r--r--www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h11
-rw-r--r--www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h11
-rw-r--r--www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h19
-rw-r--r--www/iridium/files/patch-third__party_libpng_pnglibconf.h14
-rw-r--r--www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h37
-rw-r--r--www/iridium/files/patch-third__party_nasm_config_config-linux.h29
-rw-r--r--www/iridium/files/patch-third__party_node_node.py10
-rw-r--r--www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp11
-rw-r--r--www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h11
-rw-r--r--www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp14
-rw-r--r--www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp106
-rw-r--r--www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp22
-rw-r--r--www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp14
-rw-r--r--www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h70
-rw-r--r--www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h24
-rw-r--r--www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h20
-rw-r--r--www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h13
-rw-r--r--www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc20
-rw-r--r--www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc20
-rw-r--r--www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc10
-rw-r--r--www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc28
-rw-r--r--www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h11
-rw-r--r--www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp19
-rw-r--r--www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h11
-rw-r--r--www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp41
-rw-r--r--www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp11
-rw-r--r--www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h11
-rw-r--r--www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h11
-rw-r--r--www/iridium/files/patch-third__party_sqlite_BUILD.gn11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_BUILD.gn24
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp12
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp14
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp20
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp29
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp53
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h152
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h20
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h29
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp11
-rw-r--r--www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp22
-rw-r--r--www/iridium/files/patch-third__party_usrsctp_BUILD.gn20
-rw-r--r--www/iridium/files/patch-third__party_webrtc_BUILD.gn12
-rw-r--r--www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn11
-rw-r--r--www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc10
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h11
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h11
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc12
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h13
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc29
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_network.h13
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc47
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h11
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc39
-rw-r--r--www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h19
-rw-r--r--www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn11
-rw-r--r--www/iridium/files/patch-third__party_yasm_yasm__assemble.gni157
-rw-r--r--www/iridium/files/patch-tools_gn_build_gen.py24
-rw-r--r--www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc11
-rw-r--r--www/iridium/files/patch-tools_gn_src_base_files_file__util.h11
-rw-r--r--www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc11
-rw-r--r--www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc11
-rw-r--r--www/iridium/files/patch-tools_gn_src_gn_exec__process.cc13
-rw-r--r--www/iridium/files/patch-tools_gn_src_util_sys__info.cc11
-rw-r--r--www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py10
-rw-r--r--www/iridium/files/patch-tools_json__schema__compiler_model.py11
-rw-r--r--www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn11
-rw-r--r--www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py10
-rw-r--r--www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc20
-rw-r--r--www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc38
-rw-r--r--www/iridium/files/patch-ui_base_resource_resource__bundle.cc20
-rw-r--r--www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc24
-rw-r--r--www/iridium/files/patch-ui_base_ui__base__features.cc20
-rw-r--r--www/iridium/files/patch-ui_base_ui__base__features.h15
-rw-r--r--www/iridium/files/patch-ui_base_webui_web__ui__util.cc11
-rw-r--r--www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc43
-rw-r--r--www/iridium/files/patch-ui_compositor_compositor.cc11
-rw-r--r--www/iridium/files/patch-ui_compositor_compositor.h11
-rw-r--r--www/iridium/files/patch-ui_compositor_compositor__observer.h16
-rw-r--r--www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc11
-rw-r--r--www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc19
-rw-r--r--www/iridium/files/patch-ui_events_event__switches.cc11
-rw-r--r--www/iridium/files/patch-ui_events_event__switches.h11
-rw-r--r--www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc11
-rw-r--r--www/iridium/files/patch-ui_gfx_BUILD.gn11
-rw-r--r--www/iridium/files/patch-ui_gfx_canvas__skia.cc11
-rw-r--r--www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc20
-rw-r--r--www/iridium/files/patch-ui_gfx_font__fallback__linux.cc13
-rw-r--r--www/iridium/files/patch-ui_gfx_font__list.cc11
-rw-r--r--www/iridium/files/patch-ui_gfx_font__names__testing.cc29
-rw-r--r--www/iridium/files/patch-ui_gfx_font__render__params.h18
-rw-r--r--www/iridium/files/patch-ui_gfx_font__util.cc25
-rw-r--r--www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc11
-rw-r--r--www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h20
-rw-r--r--www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h44
-rw-r--r--www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc25
-rw-r--r--www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc75
-rw-r--r--www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h29
-rw-r--r--www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc64
-rw-r--r--www/iridium/files/patch-ui_gfx_native__pixmap__handle.h38
-rw-r--r--www/iridium/files/patch-ui_gfx_render__text.cc46
-rw-r--r--www/iridium/files/patch-ui_gl_BUILD.gn11
-rw-r--r--www/iridium/files/patch-ui_gl_generate__bindings.py12
-rw-r--r--www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h10
-rw-r--r--www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc61
-rw-r--r--www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h43
-rw-r--r--www/iridium/files/patch-ui_gl_gl__fence.cc11
-rw-r--r--www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc43
-rw-r--r--www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h34
-rw-r--r--www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h11
-rw-r--r--www/iridium/files/patch-ui_message__center_views_message__popup__view.cc11
-rw-r--r--www/iridium/files/patch-ui_native__theme_native__theme.h11
-rw-r--r--www/iridium/files/patch-ui_native__theme_native__theme__base.cc11
-rw-r--r--www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h20
-rw-r--r--www/iridium/files/patch-ui_strings_app__locale__settings.grd11
-rw-r--r--www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc11
-rw-r--r--www/iridium/files/patch-ui_views_controls_label.cc20
-rw-r--r--www/iridium/files/patch-ui_views_controls_textfield_textfield.cc73
-rw-r--r--www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc11
-rw-r--r--www/iridium/files/patch-ui_views_examples_widget__example.cc11
-rw-r--r--www/iridium/files/patch-ui_views_selection__controller.cc11
-rw-r--r--www/iridium/files/patch-ui_views_style_platform__style.cc11
-rw-r--r--www/iridium/files/patch-ui_views_views__delegate.cc11
-rw-r--r--www/iridium/files/patch-ui_views_views__delegate.h11
-rw-r--r--www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc11
-rw-r--r--www/iridium/files/patch-ui_views_widget_native__widget__aura.cc27
-rw-r--r--www/iridium/files/patch-ui_views_window_custom__frame__view.cc11
-rw-r--r--www/iridium/files/patch-ui_views_window_dialog__delegate.cc11
-rw-r--r--www/iridium/files/patch-ui_views_window_frame__background.cc11
-rw-r--r--www/iridium/files/patch-ui_webui_resources_js_cr.js14
-rw-r--r--www/iridium/files/patch-ui_webui_resources_js_icon.js11
-rw-r--r--www/iridium/files/patch-v8_BUILD.gn32
-rw-r--r--www/iridium/files/patch-v8_include_v8config.h21
-rw-r--r--www/iridium/files/patch-v8_src_api_api.cc11
-rw-r--r--www/iridium/files/patch-v8_src_base_cpu.cc18
-rw-r--r--www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc13
-rw-r--r--www/iridium/files/patch-v8_src_base_platform_platform-posix.cc24
-rw-r--r--www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc11
-rw-r--r--www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc20
-rw-r--r--www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc38
-rw-r--r--www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h17
-rw-r--r--www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc11
-rw-r--r--www/iridium/files/patch-weblayer_common_weblayer__paths.cc20
-rw-r--r--www/iridium/files/sndio_input.cc201
-rw-r--r--www/iridium/files/sndio_input.h91
-rw-r--r--www/iridium/files/sndio_output.cc183
-rw-r--r--www/iridium/files/sndio_output.h86
-rw-r--r--www/iridium/pkg-descr7
-rw-r--r--www/iridium/pkg-plist1101
-rw-r--r--www/moinmoin/Makefile91
-rw-r--r--www/moinmoin/distinfo3
-rw-r--r--www/moinmoin/files/extra-patch-recaptchav2299
-rw-r--r--www/moinmoin/files/extra-patch-verifyemail232
-rw-r--r--www/moinmoin/files/patch-setup.cfg10
-rw-r--r--www/moinmoin/files/patch-setup.py10
-rw-r--r--www/moinmoin/files/pkg-install.in148
-rw-r--r--www/moinmoin/pkg-descr5
-rw-r--r--www/moinmoin/pkg-plist3555
-rw-r--r--www/node10/Makefile108
-rw-r--r--www/node10/distinfo3
-rw-r--r--www/node10/files/extra-patch-common.gypi13
-rw-r--r--www/node10/files/patch-common.gypi18
-rw-r--r--www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl-cl.gypi17
-rw-r--r--www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl.gypi17
-rw-r--r--www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi17
-rw-r--r--www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi17
-rw-r--r--www/node10/files/patch-deps_openssl_config_bn__conf__asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_config_bn__conf__no-asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_config_dso__conf__asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_config_dso__conf__no-asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_config_opensslconf__asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_config_opensslconf__no-asm.h13
-rw-r--r--www/node10/files/patch-deps_openssl_openssl-cl__no__asm.gypi17
-rw-r--r--www/node10/files/patch-deps_openssl_openssl__no__asm.gypi11
-rw-r--r--www/node10/files/patch-deps_v8_src_arm_cpu-arm.cc22
-rw-r--r--www/node10/files/patch-deps_v8_src_base_platform_platform-freebsd.cc50
-rw-r--r--www/node10/files/patch-deps_v8_src_libsampler_sampler.cc19
-rw-r--r--www/node10/files/patch-icu68109
-rw-r--r--www/node10/files/patch-node.gypi12
-rw-r--r--www/node10/pkg-descr6
-rw-r--r--www/node10/pkg-message7
-rw-r--r--www/node10/pkg-plist431
-rw-r--r--www/node12/Makefile111
-rw-r--r--www/node12/distinfo3
-rw-r--r--www/node12/files/extra-patch-common.gypi13
-rw-r--r--www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp11
-rw-r--r--www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi11
-rw-r--r--www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi11
-rw-r--r--www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi17
-rw-r--r--www/node12/files/patch-deps_openssl_openssl__no__asm.gypi11
-rw-r--r--www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc62
-rw-r--r--www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc22
-rw-r--r--www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h20
-rw-r--r--www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc11
-rw-r--r--www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc11
-rw-r--r--www/node12/files/patch-deps_v8_src_execution_simulator.h11
-rw-r--r--www/node12/files/patch-deps_v8_src_libsampler_sampler.cc19
-rw-r--r--www/node12/files/patch-node.gypi12
-rw-r--r--www/node12/pkg-descr6
-rw-r--r--www/node12/pkg-message7
-rw-r--r--www/node12/pkg-plist478
-rw-r--r--www/trac-OhlohWidgetsMacro/Makefile23
-rw-r--r--www/trac-OhlohWidgetsMacro/distinfo2
-rw-r--r--www/trac-OhlohWidgetsMacro/files/patch-ohloh_widgets__macro.py20
-rw-r--r--www/trac-OhlohWidgetsMacro/pkg-descr3
-rw-r--r--www/trac-TracGoogleAnalytics/Makefile25
-rw-r--r--www/trac-TracGoogleAnalytics/distinfo2
-rw-r--r--www/trac-TracGoogleAnalytics/pkg-descr8
-rw-r--r--www/trac-accountmanager/Makefile37
-rw-r--r--www/trac-accountmanager/distinfo3
-rw-r--r--www/trac-accountmanager/pkg-descr4
-rw-r--r--www/trac-advancedticketworkflow/Makefile22
-rw-r--r--www/trac-advancedticketworkflow/distinfo2
-rw-r--r--www/trac-advancedticketworkflow/pkg-descr5
-rw-r--r--www/trac-autocomplete/Makefile23
-rw-r--r--www/trac-autocomplete/distinfo2
-rw-r--r--www/trac-autocomplete/pkg-descr4
-rw-r--r--www/trac-ccselector/Makefile23
-rw-r--r--www/trac-ccselector/distinfo2
-rw-r--r--www/trac-ccselector/pkg-descr13
-rw-r--r--www/trac-ccselector/pkg-message13
-rw-r--r--www/trac-customfieldadmin/Makefile30
-rw-r--r--www/trac-customfieldadmin/distinfo2
-rw-r--r--www/trac-customfieldadmin/pkg-descr8
-rw-r--r--www/trac-customfieldadmin/pkg-message13
-rw-r--r--www/trac-datefield/Makefile23
-rw-r--r--www/trac-datefield/distinfo2
-rw-r--r--www/trac-datefield/pkg-descr4
-rw-r--r--www/trac-defaultcc/Makefile27
-rw-r--r--www/trac-defaultcc/distinfo2
-rw-r--r--www/trac-defaultcc/pkg-descr4
-rw-r--r--www/trac-devel/Makefile61
-rw-r--r--www/trac-devel/distinfo3
-rw-r--r--www/trac-devel/files/tracd.in61
-rw-r--r--www/trac-devel/pkg-descr21
-rw-r--r--www/trac-devel/pkg-message17
-rw-r--r--www/trac-discussion/Makefile33
-rw-r--r--www/trac-discussion/distinfo2
-rw-r--r--www/trac-discussion/pkg-descr9
-rw-r--r--www/trac-downloads/Makefile34
-rw-r--r--www/trac-downloads/distinfo2
-rw-r--r--www/trac-downloads/files/patch-tracdownloads_consoleadmin.py12
-rw-r--r--www/trac-downloads/files/patch-tracdownloads_tags.py14
-rw-r--r--www/trac-downloads/pkg-descr11
-rw-r--r--www/trac-email2trac-postfix/Makefile11
-rw-r--r--www/trac-email2trac/Makefile53
-rw-r--r--www/trac-email2trac/distinfo3
-rw-r--r--www/trac-email2trac/pkg-descr12
-rw-r--r--www/trac-email2trac/pkg-plist4
-rw-r--r--www/trac-estimator/Makefile24
-rw-r--r--www/trac-estimator/distinfo2
-rw-r--r--www/trac-estimator/pkg-descr5
-rw-r--r--www/trac-estimator/pkg-message21
-rw-r--r--www/trac-fivestarvote/Makefile34
-rw-r--r--www/trac-fivestarvote/distinfo2
-rw-r--r--www/trac-fivestarvote/pkg-descr6
-rw-r--r--www/trac-fullblog/Makefile33
-rw-r--r--www/trac-fullblog/distinfo2
-rw-r--r--www/trac-fullblog/pkg-descr5
-rw-r--r--www/trac-fullblognotification/Makefile31
-rw-r--r--www/trac-fullblognotification/distinfo2
-rw-r--r--www/trac-fullblognotification/pkg-descr18
-rw-r--r--www/trac-graphviz/Makefile33
-rw-r--r--www/trac-graphviz/distinfo2
-rw-r--r--www/trac-graphviz/files/patch-graphviz_graphviz.py36
-rw-r--r--www/trac-graphviz/pkg-descr4
-rw-r--r--www/trac-iniadmin/Makefile24
-rw-r--r--www/trac-iniadmin/distinfo2
-rw-r--r--www/trac-iniadmin/pkg-descr3
-rw-r--r--www/trac-keywords/Makefile31
-rw-r--r--www/trac-keywords/distinfo2
-rw-r--r--www/trac-keywords/files/patch-fix-javascript22
-rw-r--r--www/trac-keywords/files/patch-trackeywords_web__ui.py12
-rw-r--r--www/trac-keywords/pkg-descr4
-rw-r--r--www/trac-keywordsecretticket/Makefile26
-rw-r--r--www/trac-keywordsecretticket/distinfo3
-rw-r--r--www/trac-keywordsecretticket/pkg-descr3
-rw-r--r--www/trac-ldap/Makefile42
-rw-r--r--www/trac-ldap/distinfo2
-rw-r--r--www/trac-ldap/pkg-descr9
-rw-r--r--www/trac-ldapauthstore/Makefile44
-rw-r--r--www/trac-ldapauthstore/distinfo2
-rw-r--r--www/trac-ldapauthstore/pkg-descr9
-rw-r--r--www/trac-math/Makefile35
-rw-r--r--www/trac-math/distinfo2
-rw-r--r--www/trac-math/files/patch-tracmath_tracmath.py21
-rw-r--r--www/trac-math/files/pkg-message.in17
-rw-r--r--www/trac-math/pkg-descr4
-rw-r--r--www/trac-mercurial/Makefile25
-rw-r--r--www/trac-mercurial/distinfo2
-rw-r--r--www/trac-mercurial/pkg-descr4
-rw-r--r--www/trac-navadd/Makefile23
-rw-r--r--www/trac-navadd/distinfo2
-rw-r--r--www/trac-navadd/pkg-descr9
-rw-r--r--www/trac-permredirect/Makefile27
-rw-r--r--www/trac-permredirect/distinfo2
-rw-r--r--www/trac-permredirect/pkg-descr3
-rw-r--r--www/trac-privatetickets/Makefile22
-rw-r--r--www/trac-privatetickets/distinfo3
-rw-r--r--www/trac-privatetickets/pkg-descr12
-rw-r--r--www/trac-pydotorgtheme/Makefile23
-rw-r--r--www/trac-pydotorgtheme/distinfo2
-rw-r--r--www/trac-pydotorgtheme/pkg-descr3
-rw-r--r--www/trac-scrumburndown/Makefile25
-rw-r--r--www/trac-scrumburndown/distinfo2
-rw-r--r--www/trac-scrumburndown/pkg-descr4
-rw-r--r--www/trac-scrumburndown/pkg-message22
-rw-r--r--www/trac-spam-filter/Makefile23
-rw-r--r--www/trac-spam-filter/distinfo2
-rw-r--r--www/trac-spam-filter/pkg-descr4
-rw-r--r--www/trac-subtickets/Makefile28
-rw-r--r--www/trac-subtickets/distinfo3
-rw-r--r--www/trac-subtickets/files/patch-setup.cfg10
-rw-r--r--www/trac-subtickets/files/patch-tracsubtickets_api.py20
-rw-r--r--www/trac-subtickets/pkg-descr3
-rw-r--r--www/trac-tags/Makefile46
-rw-r--r--www/trac-tags/Makefile.svn_rev1
-rw-r--r--www/trac-tags/distinfo2
-rw-r--r--www/trac-tags/files/patch-tractags_model.py21
-rw-r--r--www/trac-tags/pkg-descr6
-rw-r--r--www/trac-themeengine/Makefile23
-rw-r--r--www/trac-themeengine/distinfo2
-rw-r--r--www/trac-themeengine/pkg-descr4
-rw-r--r--www/trac-ticketimport/Makefile35
-rw-r--r--www/trac-ticketimport/distinfo2
-rw-r--r--www/trac-ticketimport/pkg-descr15
-rw-r--r--www/trac-tickettemplate/Makefile24
-rw-r--r--www/trac-tickettemplate/distinfo2
-rw-r--r--www/trac-tickettemplate/pkg-descr4
-rw-r--r--www/trac-timingandestimation/Makefile23
-rw-r--r--www/trac-timingandestimation/distinfo2
-rw-r--r--www/trac-timingandestimation/pkg-descr6
-rw-r--r--www/trac-timingandestimation/pkg-message21
-rw-r--r--www/trac-tocmacro/Makefile21
-rw-r--r--www/trac-tocmacro/distinfo2
-rw-r--r--www/trac-tocmacro/pkg-descr4
-rw-r--r--www/trac-tweakui/Makefile35
-rw-r--r--www/trac-tweakui/distinfo2
-rw-r--r--www/trac-tweakui/files/pkg-message.in28
-rw-r--r--www/trac-tweakui/pkg-descr9
-rw-r--r--www/trac-vote/Makefile32
-rw-r--r--www/trac-vote/distinfo2
-rw-r--r--www/trac-vote/pkg-descr7
-rw-r--r--www/trac-wikigoodies/Makefile26
-rw-r--r--www/trac-wikigoodies/distinfo2
-rw-r--r--www/trac-wikigoodies/pkg-descr14
-rw-r--r--www/trac-wikinotification/Makefile24
-rw-r--r--www/trac-wikinotification/distinfo2
-rw-r--r--www/trac-wikinotification/files/patch-WikiNotification__notification.py79
-rw-r--r--www/trac-wikinotification/files/patch-WikiNotification__templates__wiki_notification_email_template.txt59
-rw-r--r--www/trac-wikinotification/pkg-descr5
-rw-r--r--www/trac-wikinotification/pkg-message17
-rw-r--r--www/trac-wikitemplates/Makefile27
-rw-r--r--www/trac-wikitemplates/distinfo2
-rw-r--r--www/trac-wikitemplates/pkg-descr4
-rw-r--r--www/trac-wikitopdf/Makefile22
-rw-r--r--www/trac-wikitopdf/distinfo2
-rw-r--r--www/trac-wikitopdf/pkg-descr15
-rw-r--r--www/trac-wysiwyg/Makefile43
-rw-r--r--www/trac-wysiwyg/Makefile.svn_rev1
-rw-r--r--www/trac-wysiwyg/distinfo2
-rw-r--r--www/trac-wysiwyg/pkg-descr5
-rw-r--r--www/trac-wysiwyg/pkg-message12
-rw-r--r--www/trac-xmlrpc/Makefile28
-rw-r--r--www/trac-xmlrpc/distinfo2
-rw-r--r--www/trac-xmlrpc/pkg-descr7
-rw-r--r--www/trac/Makefile61
-rw-r--r--www/trac/distinfo3
-rw-r--r--www/trac/files/tracd.in61
-rw-r--r--www/trac/pkg-descr21
-rw-r--r--www/trac/pkg-message17
1067 files changed, 0 insertions, 63348 deletions
diff --git a/www/Makefile b/www/Makefile
index 6ac8964d3e26..3a55e026f09f 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -81,7 +81,6 @@
SUBDIR += cl-lml
SUBDIR += cl-lml-sbcl
SUBDIR += clearsilver
- SUBDIR += cliqz
SUBDIR += closure-compiler
SUBDIR += cntlm
SUBDIR += codeigniter
@@ -265,7 +264,6 @@
SUBDIR += ilias
SUBDIR += ilias6
SUBDIR += interchange
- SUBDIR += iridium
SUBDIR += itop
SUBDIR += jericho-html
SUBDIR += jesred
@@ -411,7 +409,6 @@
SUBDIR += mod_xmlns
SUBDIR += mod_xsendfile
SUBDIR += mohawk
- SUBDIR += moinmoin
SUBDIR += moinmoincli
SUBDIR += mongoose
SUBDIR += mongrel2
@@ -457,8 +454,6 @@
SUBDIR += nibbleblog
SUBDIR += nift
SUBDIR += node
- SUBDIR += node10
- SUBDIR += node12
SUBDIR += node14
SUBDIR += nostromo
SUBDIR += novnc
@@ -2184,54 +2179,6 @@
SUBDIR += tomcat85
SUBDIR += tomcat9
SUBDIR += tomee
- SUBDIR += trac
- SUBDIR += trac-OhlohWidgetsMacro
- SUBDIR += trac-TracGoogleAnalytics
- SUBDIR += trac-accountmanager
- SUBDIR += trac-advancedticketworkflow
- SUBDIR += trac-autocomplete
- SUBDIR += trac-ccselector
- SUBDIR += trac-customfieldadmin
- SUBDIR += trac-datefield
- SUBDIR += trac-defaultcc
- SUBDIR += trac-devel
- SUBDIR += trac-discussion
- SUBDIR += trac-downloads
- SUBDIR += trac-email2trac
- SUBDIR += trac-email2trac-postfix
- SUBDIR += trac-estimator
- SUBDIR += trac-fivestarvote
- SUBDIR += trac-fullblog
- SUBDIR += trac-fullblognotification
- SUBDIR += trac-graphviz
- SUBDIR += trac-iniadmin
- SUBDIR += trac-keywords
- SUBDIR += trac-keywordsecretticket
- SUBDIR += trac-ldap
- SUBDIR += trac-ldapauthstore
- SUBDIR += trac-math
- SUBDIR += trac-mercurial
- SUBDIR += trac-navadd
- SUBDIR += trac-permredirect
- SUBDIR += trac-privatetickets
- SUBDIR += trac-pydotorgtheme
- SUBDIR += trac-scrumburndown
- SUBDIR += trac-spam-filter
- SUBDIR += trac-subtickets
- SUBDIR += trac-tags
- SUBDIR += trac-themeengine
- SUBDIR += trac-ticketimport
- SUBDIR += trac-tickettemplate
- SUBDIR += trac-timingandestimation
- SUBDIR += trac-tocmacro
- SUBDIR += trac-tweakui
- SUBDIR += trac-vote
- SUBDIR += trac-wikigoodies
- SUBDIR += trac-wikinotification
- SUBDIR += trac-wikitemplates
- SUBDIR += trac-wikitopdf
- SUBDIR += trac-wysiwyg
- SUBDIR += trac-xmlrpc
SUBDIR += trafficserver
SUBDIR += transmission-web
SUBDIR += transproxy
diff --git a/www/cliqz/Makefile b/www/cliqz/Makefile
deleted file mode 100644
index 817d72ec5df2..000000000000
--- a/www/cliqz/Makefile
+++ /dev/null
@@ -1,191 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= cliqz
-DISTVERSION= 1.38.0
-PORTREVISION= 6
-CATEGORIES= www
-MASTER_SITES= https://s3.amazonaws.com/cdn.cliqz.com/browser-f/APT/:amazon \
- http://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/${CLIQZ_LAST_BUILD_ID}/:cliqz
-DISTFILES= adult-domains.bin:amazon \
- cliqz@cliqz.com.xpi:cliqz \
- dat@cliqz.com.xpi:cliqz \
- gdprtool@cliqz.com.xpi:cliqz \
- https-everywhere@cliqz.com.xpi:cliqz
-DIST_SUBDIR= ${PORTNAME}
-EXTRACT_ONLY= ${DISTNAME}${_GITHUB_EXTRACT_SUFX}
-
-MAINTAINER= fox@FreeBSD.org
-COMMENT= Secure browser (Mozilla based) with built-in quick search
-
-LICENSE= MPL20
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-DEPRECATED= Uses deprecated version of python
-EXPIRATION_DATE= 2020-12-31
-
-FETCH_DEPENDS= ca_root_nss>=0:security/ca_root_nss
-LIB_DEPENDS= libdbus-1.so:devel/dbus \
- libdbus-glib-1.so:devel/dbus-glib \
- libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2 \
- libgraphite2.so:graphics/graphite2 \
- libharfbuzz.so:print/harfbuzz \
- libnspr4.so:devel/nspr \
- libnssutil3.so:security/nss \
- libplc4.so:devel/nspr \
- libplds4.so:devel/nspr \
- libvpx.so:multimedia/libvpx
-
-BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/xt.pc:x11-toolkits/libXt \
- ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
- py${PYTHON3_DEFAULT:S/.//}-sqlite3>0:databases/py-sqlite3@py${PYTHON3_DEFAULT:S/.//} \
- ${RUST_DEFAULT}>=1.41:lang/${RUST_DEFAULT} \
- autoconf-2.13:devel/autoconf213 \
- bash:shells/bash \
- graphite2>=1.3.14:graphics/graphite2 \
- harfbuzz>=2.6.8:print/harfbuzz \
- icu>=67.1,1:devel/icu \
- libevent>=2.1.8:devel/libevent \
- libvorbis>=1.3.6,3:audio/libvorbis \
- libvpx>=1.8.2:multimedia/libvpx \
- ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \
- llvm${LLVM_DEFAULT}>=0:devel/llvm${LLVM_DEFAULT} \
- nasm:devel/nasm \
- node:www/node \
- nspr>=4.25:devel/nspr \
- nss>=3.54:security/nss \
- png>=1.6.35:graphics/png \
- rust-cbindgen>=0.14.1:devel/rust-cbindgen \
- sqlite3>=3.30.1:databases/sqlite3 \
- v4l_compat>0:multimedia/v4l_compat \
- yasm:devel/yasm \
- zip:archivers/zip
-
-USES= compiler:c++17-lang desktop-file-utils gmake gnome pkgconfig \
- python:2.7,build shebangfix tar:xz xorg
-
-USE_GNOME= cairo gdkpixbuf2 gtk20 gtk30
-
-USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrender xt
-
-USE_GITHUB= yes
-GH_ACCOUNT= cliqz-oss
-GH_PROJECT= browser-f
-
-USE_LDCONFIG= yes
-
-bash_OLD_CMD= "/bin/bash"
-bash_CMD= ${LOCALBASE}/bin/bash
-SHEBANG_FILES= magic_build_and_package.sh
-
-CLIQZ_CHANNEL= release
-# If the DISTVERSION is updated, make sure to update the last build id from
-# fetch -qo - https://repository.cliqz.com/dist/${CLIQZ_CHANNEL}/${DISTVERSION}/lastbuildid
-CLIQZ_LAST_BUILD_ID= 20200721193739
-CLIQZ_ICON= ${PORTNAME}.png
-CLIQZ_ICON_SRC= ${WRKSRC}/mozilla-release/browser/branding/${PORTNAME}/default48.png
-MOZ_DESKTOP= ${WRKSRC}/mozilla-release/toolkit/mozapps/installer/linux/rpm/mozilla.desktop
-CLIQZ_DESKTOP= ${WRKSRC}/mozilla-release/toolkit/mozapps/installer/linux/rpm/cliqz.desktop
-
-MAKE_ENV+= CQZ_BUILD_ID=${CLIQZ_LAST_BUILD_ID} \
- CQZ_RELEASE_CHANNEL=${CLIQZ_CHANNEL} \
- LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \
- LLVM_OBJDUMP=${LOCALBASE}/llvm${LLVM_DEFAULT}/bin/llvm-objdump \
- PYTHON3="${LOCALBASE}/bin/python${PYTHON3_DEFAULT}" \
- RUSTFLAGS=${RUSTFLAGS} \
- MOZBUILD_STATE_PATH=${WRKDIR}
-BINARY_ALIAS+= python3=python${PYTHON3_DEFAULT}
-
-# Configure args passed into mach build system
-MOZ_CONFIGURE_ARGS+= "--disable-crashreporter" \
- "--disable-debug" \
- "--disable-debug-symbols" \
- "--disable-tests" \
- "--disable-updater" \
- "--with-system-libvpx" \
- "--libclang-path=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib"
-
-.include "${.CURDIR}/Makefile.options"
-
-.include <bsd.port.pre.mk>
-
-# Adjust -C target-cpu if -march/-mcpu is set by bsd.cpu.mk
-.if ${ARCH} == amd64 || ${ARCH} == i386
-RUSTFLAGS+= ${CFLAGS:M-march=*:S/-march=/-C target-cpu=/}
-.else
-RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/}
-.endif
-
-.if ${ARCH:Maarch64} || ${MACHINE_CPU:Msse2}
-MOZ_CONFIGURE_ARGS+= "--enable-rust-simd"
-.else
-MOZ_CONFIGURE_ARGS+= "--disable-rust-simd"
-.endif
-
-# Require newer Clang than what's in base system unless user opted out
-.if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so)
-CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT}
-CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
-CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
-# XXX avoid warnings
-USES:= ${USES:Ncompiler\:*}
-.endif
-
-post-extract:
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/adult-domains.bin \
- ${WRKSRC}/mozilla-release/browser/adult-domains.bin
- ${MKDIR} ${WRKSRC}/obj/dist/bin/browser/features
- ${CP} ${DISTDIR}/${DIST_SUBDIR}/cliqz@cliqz.com.xpi \
- ${DISTDIR}/${DIST_SUBDIR}/https-everywhere@cliqz.com.xpi \
- ${DISTDIR}/${DIST_SUBDIR}/gdprtool@cliqz.com.xpi \
- ${WRKSRC}/obj/dist/bin/browser/features
-
-post-patch:
- @${CP} ${MOZ_DESKTOP} ${CLIQZ_DESKTOP}
- @${REINPLACE_CMD} -e 's/@MOZ_APP_DISPLAYNAME@/Cliqz Internet/g' \
- -e 's/@MOZ_APP_NAME@/${PORTNAME}/g' \
- -e '/Icon=${PORTNAME}/ s/${PORTNAME}/${CLIQZ_ICON}/' \
- -e '/StartupWMClass/d' \
- ${CLIQZ_DESKTOP}
-.for MOZ_CONFIGURE_ARG in ${MOZ_CONFIGURE_ARGS}
- @${ECHO_CMD} "ac_add_options" ${MOZ_CONFIGURE_ARG} >> \
- ${WRKSRC}/mozilla-release/browser/config/cliqz.mozconfig;
-.endfor
-# This prevents linker exhausting memory in i386 builds
-.if ${ARCH} == "i386"
- @${ECHO_CMD} 'export LDFLAGS="-Wl,--no-keep-memory -Wl,--as-needed"' >> \
- ${WRKSRC}/mozilla-release/browser/config/cliqz.mozconfig
-.endif
-# Disable vendor checksums like lang/rust
- @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \
- ${WRKSRC}/mozilla-release/third_party/rust/*/.cargo-checksum.json
-
-pre-configure-script:
- # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64
- @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \
- ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh
-
-do-build:
- (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ./magic_build_and_package.sh)
-
-do-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
- (cd ${WRKSRC}/obj/dist/${PORTNAME} && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/${PORTNAME})
- # Check if the wayland lib was generated, this happens if
- # x11-toolkits/gtk30 has WAYLAND option enabled.
- @if [ -f ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/libmozwayland.so ]; then \
- ${REINPLACE_CMD} -e 's|%%WAYLAND%%||' ${TMPPLIST}; \
- else \
- ${REINPLACE_CMD} -e 's|%%WAYLAND%%|@comment |' ${TMPPLIST}; \
- fi
- @${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME}-bin
- @${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME}
-
-post-install:
- ${RLN} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${PORTNAME}-bin ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
- ${INSTALL_DATA} ${CLIQZ_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/
- ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
- @${CP} ${CLIQZ_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${CLIQZ_ICON}
-
-.include <bsd.port.post.mk>
diff --git a/www/cliqz/Makefile.options b/www/cliqz/Makefile.options
deleted file mode 100644
index 1cebd99df62f..000000000000
--- a/www/cliqz/Makefile.options
+++ /dev/null
@@ -1,24 +0,0 @@
-# $FreeBSD$
-
-# Audio server options
-OPTIONS_MULTI= AUDIO
-OPTIONS_MULTI_AUDIO= JACK PULSEAUDIO SNDIO
-OPTIONS_DEFAULT= JACK PULSEAUDIO SNDIO
-AUDIO_DESC= Choose your audio options
-
-JACK_BUILD_DEPENDS= ${LOCALBASE}/include/jack/jack.h:audio/jack
-JACK_VARS= MOZ_CONFIGURE_ARGS+="--enable-jack"
-
-PULSEAUDIO_BUILD_DEPENDS= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio
-PULSEAUDIO_VARS= MOZ_CONFIGURE_ARGS+="--enable-pulseaudio"
-PULSEAUDIO_VARS_OFF= MOZ_CONFIGURE_ARGS+="--disable-pulseaudio"
-
-SNDIO_BUILD_DEPENDS+= ${LOCALBASE}/include/sndio.h:audio/sndio
-SNDIO_LIB_DEPENDS+= libsndio.so:audio/sndio
-
-post-patch-SNDIO-on:
- @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
- ${WRKSRC}/mozilla-release/media/libcubeb/src/moz.build \
- ${WRKSRC}/mozilla-release/toolkit/library/moz.build
- @${REINPLACE_CMD} -e 's|OpenBSD|${OPSYS}|g' \
- ${WRKSRC}/mozilla-release/media/libcubeb/gtest/moz.build
diff --git a/www/cliqz/distinfo b/www/cliqz/distinfo
deleted file mode 100644
index 3a97ea070851..000000000000
--- a/www/cliqz/distinfo
+++ /dev/null
@@ -1,13 +0,0 @@
-TIMESTAMP = 1595505538
-SHA256 (cliqz/adult-domains.bin) = f726171965328f60e2cc2a50311883e76c21b3359f2596d10be76cc33abdda88
-SIZE (cliqz/adult-domains.bin) = 528392
-SHA256 (cliqz/cliqz@cliqz.com.xpi) = 3f8a580169881c090813b2cc5cac35c7e9fdcbc1af42b576851e617b5eedbb18
-SIZE (cliqz/cliqz@cliqz.com.xpi) = 4107644
-SHA256 (cliqz/dat@cliqz.com.xpi) = 83dac73bd4ab16271330eb87ed5e3b088ddd69707ceb121d8ee730d07ddc9d87
-SIZE (cliqz/dat@cliqz.com.xpi) = 988736
-SHA256 (cliqz/gdprtool@cliqz.com.xpi) = 7d59af6529b0756e5a89cf150f781a81a1cc1284eab2de00a6a89432f65a711d
-SIZE (cliqz/gdprtool@cliqz.com.xpi) = 219684
-SHA256 (cliqz/https-everywhere@cliqz.com.xpi) = d1b7590c9541741aa0d1fada383fece7b48348f477a3f7b606e043021a42bdbb
-SIZE (cliqz/https-everywhere@cliqz.com.xpi) = 2058305
-SHA256 (cliqz/cliqz-oss-browser-f-1.38.0_GH0.tar.gz) = d9e8ecaa99f753828ae63ab83b27a3b3cb4e6d6d51ca0a9f6ed246d2391f23bd
-SIZE (cliqz/cliqz-oss-browser-f-1.38.0_GH0.tar.gz) = 519049842
diff --git a/www/cliqz/files/patch-addon-search b/www/cliqz/files/patch-addon-search
deleted file mode 100644
index 928c52c0aad8..000000000000
--- a/www/cliqz/files/patch-addon-search
+++ /dev/null
@@ -1,56 +0,0 @@
-https://github.com/mozilla/addons/issues/708
-https://github.com/mozilla/addons-frontend/issues/4610
-
-Taken from www/firefox
-
-diff --git browser/app/profile/firefox.js browser/app/profile/firefox.js
-index 75c2c5e435e35..4d8c09c02759b 100644
---- mozilla-release/browser/app/profile/firefox.js.orig 2020-07-17 14:00:07 UTC
-+++ mozilla-release/browser/app/profile/firefox.js
-@@ -37,7 +37,7 @@ pref("extensions.webextOptionalPermissionPrompts", tru
- // Preferences for AMO integration
- pref("extensions.getAddons.cache.enabled", true);
- pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%");
--pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
-+pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=Linux&appver=%VERSION%");
- pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
- pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
- pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
-@@ -172,8 +172,8 @@ pref("app.update.staging.enabled", true);
- // .. etc ..
- //
- pref("extensions.update.enabled", true);
--pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
--pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
-+pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
-+pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
- #if MOZ_UPDATE_CHANNEL == beta
- // CLIQZ-SPECIAL: force addons update in every 30 min on beta
- pref("extensions.update.interval", 1800);
-
-diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm
-index f70fd8d7e3bd8..81e8cd7764fdf 100644
---- mozilla-release/toolkit/mozapps/extensions/internal/AddonRepository.jsm
-+++ mozilla-release/toolkit/mozapps/extensions/internal/AddonRepository.jsm
-@@ -602,7 +602,7 @@ var AddonRepository = {
- addon.version = String(aEntry.current_version.version);
- if (Array.isArray(aEntry.current_version.files)) {
- for (let file of aEntry.current_version.files) {
-- if (file.platform == "all" || file.platform == PLATFORM) {
-+ if (file.platform == "all" || file.platform == "linux" || file.platform == PLATFORM) {
- if (file.url) {
- addon.sourceURI = NetUtil.newURI(file.url);
- }
-diff --git toolkit/mozapps/extensions/internal/XPIDatabase.jsm toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-index f70fd8d7e3bd8..81e8cd7764fdf 100644
---- mozilla-release/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-+++ mozilla-release/toolkit/mozapps/extensions/internal/XPIDatabase.jsm
-@@ -355,7 +355,7 @@ class AddonInternal {
- // Something is causing errors in here
- try {
- for (let platform of this.targetPlatforms) {
-- if (platform.os == Services.appinfo.OS) {
-+ if (platform.os == "Linux" || platform.os == Services.appinfo.OS) {
- if (platform.abi) {
- needsABI = true;
- if (platform.abi === abi)
diff --git a/www/cliqz/files/patch-bug1288587 b/www/cliqz/files/patch-bug1288587
deleted file mode 100644
index 941946bc8899..000000000000
--- a/www/cliqz/files/patch-bug1288587
+++ /dev/null
@@ -1,39 +0,0 @@
-Taken from www/firefox
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 855214a..1e91d51 100644
---- mozilla-release/build/moz.configure/init.configure
-+++ mozilla-release/build/moz.configure/init.configure
-@@ -251,6 +251,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpre
- @imports(_from='mozbuild.pythonutil', _import='find_python3_executable')
- @imports(_from='mozbuild.pythonutil', _import='python_executable_version')
- @imports(_from='six', _import='ensure_text')
-+@imports(_from='__builtin__', _import='KeyError')
- def virtualenv_python3(env_python, build_env, mozconfig, help):
- # Avoid re-executing python when running configure --help.
- if help:
-@@ -283,6 +284,12 @@ def virtualenv_python3(env_python, build_env, mozconfi
- python = mozconfig['vars']['added']['PYTHON3']
- elif 'PYTHON3' in mozconfig['vars']['modified']:
- python = mozconfig['vars']['modified']['PYTHON3'][1]
-+ for i in ('env', 'vars'):
-+ for j in ('added', 'modified'):
-+ try:
-+ del mozconfig[i][j]['PYTHON3']
-+ except KeyError:
-+ pass
-
- log.debug("python3: executable from configuration: %r" % python)
-
-@@ -365,7 +372,10 @@ def virtualenv_python3(env_python, build_env, mozconfi
- sys.executable, manager.python_path))
- log.info('Re-executing in the virtualenv')
- if env_python:
-- del os.environ['PYTHON3']
-+ try:
-+ del os.environ['PYTHON3']
-+ except KeyError:
-+ pass
- # Homebrew on macOS will change Python's sys.executable to a custom
- # value which messes with mach's virtualenv handling code. Override
- # Homebrew's changes with the correct sys.executable value.
diff --git a/www/cliqz/files/patch-bug1550891 b/www/cliqz/files/patch-bug1550891
deleted file mode 100644
index 7a5b0741ced2..000000000000
--- a/www/cliqz/files/patch-bug1550891
+++ /dev/null
@@ -1,89 +0,0 @@
-commit 965eb33c5e86
-Author: Greg V <greg@unrelenting.technology>
-Date: Wed Jan 8 15:06:00 2020 -0800
-
- Bug 1550891 - re-add SHM_ANON support in IPC shared memory, freezing via capabilities
----
- config/system-headers.mozbuild | 1 +
- ipc/chromium/src/base/shared_memory_posix.cc | 20 +++++++++++++++++---
- 2 files changed, 18 insertions(+), 3 deletions(-)
-
-diff --git config/system-headers.mozbuild config/system-headers.mozbuild
-index 88afca1070f86..beff3e2542c9f 100644
---- mozilla-release/config/system-headers.mozbuild
-+++ mozilla-release/config/system-headers.mozbuild
-@@ -816,6 +816,7 @@ system_headers = [
- 'sys/bitypes.h',
- 'sys/byteorder.h',
- 'syscall.h',
-+ 'sys/capsicum.h',
- 'sys/cdefs.h',
- 'sys/cfgodm.h',
- 'sys/elf.h',
-diff --git ipc/chromium/src/base/shared_memory_posix.cc ipc/chromium/src/base/shared_memory_posix.cc
-index 0be9cce0b4bed..89e67483e4c16 100644
---- mozilla-release/ipc/chromium/src/base/shared_memory_posix.cc
-+++ mozilla-release/ipc/chromium/src/base/shared_memory_posix.cc
-@@ -16,6 +16,10 @@
- # include <linux/ashmem.h>
- #endif
-
-+#ifdef __FreeBSD__
-+# include <sys/capsicum.h>
-+#endif
-+
- #include "base/eintr_wrapper.h"
- #include "base/logging.h"
- #include "base/string_util.h"
-@@ -148,7 +152,7 @@ static int SafeShmUnlink(bool freezeable, const char* name) {
- }
- }
-
--#elif !defined(ANDROID)
-+#elif !defined(ANDROID) && !defined(__FreeBSD__)
- static int SafeShmOpen(bool freezeable, const char* name, int oflag, int mode) {
- return shm_open(name, oflag, mode);
- }
-@@ -160,7 +164,7 @@ static int SafeShmUnlink(bool freezeable, const char* name) {
-
- // static
- bool SharedMemory::AppendPosixShmPrefix(std::string* str, pid_t pid) {
--#if defined(ANDROID)
-+#if defined(ANDROID) || defined(__FreeBSD__)
- return false;
- #else
- *str += '/';
-@@ -186,7 +190,7 @@ bool SharedMemory::AppendPosixShmPrefix(std::string* str, pid_t pid) {
- // enough for this.
- StringAppendF(str, "org.mozilla.ipc.%d.", static_cast<int>(pid));
- return true;
--#endif // !ANDROID
-+#endif // !ANDROID && !__FreeBSD__
- }
-
- bool SharedMemory::CreateInternal(size_t size, bool freezeable) {
-@@ -212,6 +216,9 @@ bool SharedMemory::CreateInternal(size_t size, bool freezeable) {
- return false;
- }
- needs_truncate = false;
-+#elif defined(__FreeBSD__)
-+ // FreeBSD supports anonymous shm_open
-+ fd.reset(shm_open(SHM_ANON, O_RDWR, 0600));
- #else
- // Generic Unix: shm_open + shm_unlink
- do {
-@@ -277,6 +284,14 @@ bool SharedMemory::ReadOnlyCopy(SharedMemory* ro_out) {
- return false;
- }
- ro_file = mapped_file_;
-+#elif defined(__FreeBSD__)
-+ cap_rights_t rights;
-+ cap_rights_init(&rights, CAP_MMAP_R);
-+ if (cap_rights_limit(mapped_file_, &rights) != 0) {
-+ CHROMIUM_LOG(WARNING) << "failed to freeze shm: " << strerror(errno);
-+ return false;
-+ }
-+ ro_file = mapped_file_;
- #else
- DCHECK(frozen_file_ >= 0);
- DCHECK(mapped_file_ >= 0);
diff --git a/www/cliqz/files/patch-bug1618914 b/www/cliqz/files/patch-bug1618914
deleted file mode 100644
index 42f909514118..000000000000
--- a/www/cliqz/files/patch-bug1618914
+++ /dev/null
@@ -1,43 +0,0 @@
-[Wayland] Fall back to ftruncate if posix_fallocate isn't supported by filesystem.
-
-Taken from www/firefox
-
-diff --git widget/gtk/WindowSurfaceWayland.cpp widget/gtk/WindowSurfaceWayland.cpp
-index 9a73326399bd5..9e42a7f1c5d18 100644
---- mozilla-release/widget/gtk/WindowSurfaceWayland.cpp
-+++ mozilla-release/widget/gtk/WindowSurfaceWayland.cpp
-@@ -222,20 +222,21 @@ static int WaylandAllocateShmMemory(int aSize) {
- #ifdef HAVE_POSIX_FALLOCATE
- do {
- ret = posix_fallocate(fd, 0, aSize);
- } while (ret == EINTR);
-- if (ret != 0) {
-+ if (ret == 0) {
-+ return fd;
-+ } else if (ret != ENODEV && ret != EINVAL && ret != EOPNOTSUPP) {
- close(fd);
- MOZ_CRASH("posix_fallocate() fails to allocate shm memory");
- }
--#else
-+#endif
- do {
- ret = ftruncate(fd, aSize);
- } while (ret < 0 && errno == EINTR);
- if (ret < 0) {
- close(fd);
- MOZ_CRASH("ftruncate() fails to allocate shm memory");
- }
--#endif
-
- return fd;
- }
-@@ -265,8 +266,8 @@ bool WaylandShmPool::Resize(int aSize) {
- #ifdef HAVE_POSIX_FALLOCATE
- do {
- errno = posix_fallocate(mShmPoolFd, 0, aSize);
- } while (errno == EINTR);
-- if (errno != 0) return false;
-+ if (errno != 0 && errno != ENODEV && errno != EINVAL && errno != EOPNOTSUPP) return false;
- #endif
-
- wl_shm_pool_resize(mShmPool, aSize);
diff --git a/www/cliqz/files/patch-bug1628567 b/www/cliqz/files/patch-bug1628567
deleted file mode 100644
index 3c83b73aefa3..000000000000
--- a/www/cliqz/files/patch-bug1628567
+++ /dev/null
@@ -1,34 +0,0 @@
-Don't pass --target when CC/CXX contains clang
-
---- mozilla-release/third_party/rust/cc/src/lib.rs.orig 2020-04-10 00:57:23 UTC
-+++ mozilla-release/third_party/rust/cc/src/lib.rs
-@@ -2344,28 +2344,7 @@ impl Tool {
- }
-
- fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self {
-- // Try to detect family of the tool from its name, falling back to Gnu.
-- let family = if let Some(fname) = path.file_name().and_then(|p| p.to_str()) {
-- if fname.contains("clang-cl") {
-- ToolFamily::Msvc { clang_cl: true }
-- } else if fname.contains("cl")
-- && !fname.contains("cloudabi")
-- && !fname.contains("uclibc")
-- && !fname.contains("clang")
-- {
-- ToolFamily::Msvc { clang_cl: false }
-- } else if fname.contains("clang") {
-- match clang_driver {
-- Some("cl") => ToolFamily::Msvc { clang_cl: true },
-- _ => ToolFamily::Clang,
-- }
-- } else {
-- ToolFamily::Gnu
-- }
-- } else {
-- ToolFamily::Gnu
-- };
--
-+ let family = ToolFamily::Gnu;
- Tool {
- path: path,
- cc_wrapper_path: None,
diff --git a/www/cliqz/files/patch-bug1640982 b/www/cliqz/files/patch-bug1640982
deleted file mode 100644
index 9a8d8e6e5700..000000000000
--- a/www/cliqz/files/patch-bug1640982
+++ /dev/null
@@ -1,17 +0,0 @@
-Unbreak build with Rust 1.45.0
-
-error: options `-C embed-bitcode=no` and `-C lto` are incompatible
-
-Taken from www/firefox
-
---- mozilla-release/config/makefiles/rust.mk.orig 2020-05-12 09:36:22 UTC
-+++ mozilla-release/config/makefiles/rust.mk
-@@ -61,7 +61,7 @@ ifndef MOZ_DEBUG_RUST
- # Enable link-time optimization for release builds, but not when linking
- # gkrust_gtest.
- ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto
-+cargo_rustc_flags +=
- endif
- endif
- endif
diff --git a/www/cliqz/files/patch-bug1663715 b/www/cliqz/files/patch-bug1663715
deleted file mode 100644
index 2b61a3f3682a..000000000000
--- a/www/cliqz/files/patch-bug1663715
+++ /dev/null
@@ -1,31087 +0,0 @@
-From 63678ae69e03325d65255d29f1af4a6ea3dd354a Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Sat, 10 Oct 2020 16:07:49 +0200
-Subject: [PATCH 36/38] bmo#1643201: Cherry-pick some servo changes to
- derive_common
-
-Link: https://bugzilla.mozilla.org/show_bug.cgi?id=1663715#c7
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- servo/components/derive_common/cg.rs | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/servo/components/derive_common/cg.rs b/servo/components/derive_common/cg.rs
-index 55a75398c7..c51c0d7750 100644
---- mozilla-release/servo/components/derive_common/cg.rs
-+++ mozilla-release/servo/components/derive_common/cg.rs
-@@ -7,7 +7,7 @@ use proc_macro2::{Span, TokenStream};
- use quote::TokenStreamExt;
- use syn::{self, AngleBracketedGenericArguments, Binding, DeriveInput, Field};
- use syn::{GenericArgument, GenericParam, Ident, Path};
--use syn::{PathArguments, PathSegment, QSelf, Type, TypeArray};
-+use syn::{PathArguments, PathSegment, QSelf, Type, TypeArray, TypeGroup};
- use syn::{TypeParam, TypeParen, TypePath, TypeSlice, TypeTuple};
- use syn::{Variant, WherePredicate};
- use synstructure::{self, BindStyle, BindingInfo, VariantAst, VariantInfo};
-@@ -208,6 +208,10 @@ where
- elem: Box::new(map_type_params(&inner.elem, params, f)),
- ..inner.clone()
- }),
-+ Type::Group(ref inner) => Type::from(TypeGroup {
-+ elem: Box::new(map_type_params(&inner.elem, params, f)),
-+ ..inner.clone()
-+ }),
- ref ty => panic!("type {:?} cannot be mapped yet", ty),
- }
- }
---
-2.28.0
-
-From 23f22e9de6cc2236d58cc03997a1040e62c532e1 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Sat, 10 Oct 2020 16:09:04 +0200
-Subject: [PATCH 37/38] bmo#1653339: Teach style_derive's map_type_params about
- mapping self correctly
-
-Link: https://bugzilla.mozilla.org/show_bug.cgi?id=1663715#c7
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- servo/components/derive_common/cg.rs | 30 +++++++++++--------
- .../style_derive/to_computed_value.rs | 4 ++-
- 2 files changed, 21 insertions(+), 13 deletions(-)
-
-diff --git a/servo/components/derive_common/cg.rs b/servo/components/derive_common/cg.rs
-index c51c0d7750..8abfd87149 100644
---- mozilla-release/servo/components/derive_common/cg.rs
-+++ mozilla-release/servo/components/derive_common/cg.rs
-@@ -154,19 +154,19 @@ pub fn fmap_trait_output(input: &DeriveInput, trait_path: &Path, trait_output: &
- segment.into()
- }
-
--pub fn map_type_params<F>(ty: &Type, params: &[&TypeParam], f: &mut F) -> Type
-+pub fn map_type_params<F>(ty: &Type, params: &[&TypeParam], self_type: &Path, f: &mut F) -> Type
- where
- F: FnMut(&Ident) -> Type,
- {
- match *ty {
- Type::Slice(ref inner) => Type::from(TypeSlice {
-- elem: Box::new(map_type_params(&inner.elem, params, f)),
-+ elem: Box::new(map_type_params(&inner.elem, params, self_type, f)),
- ..inner.clone()
- }),
- Type::Array(ref inner) => {
- //ref ty, ref expr) => {
- Type::from(TypeArray {
-- elem: Box::new(map_type_params(&inner.elem, params, f)),
-+ elem: Box::new(map_type_params(&inner.elem, params, self_type, f)),
- ..inner.clone()
- })
- },
-@@ -175,7 +175,7 @@ where
- elems: inner
- .elems
- .iter()
-- .map(|ty| map_type_params(&ty, params, f))
-+ .map(|ty| map_type_params(&ty, params, self_type, f))
- .collect(),
- ..inner.clone()
- }),
-@@ -187,10 +187,16 @@ where
- if params.iter().any(|ref param| &param.ident == ident) {
- return f(ident);
- }
-+ if ident == "Self" {
-+ return Type::from(TypePath {
-+ qself: None,
-+ path: self_type.clone(),
-+ });
-+ }
- }
- Type::from(TypePath {
- qself: None,
-- path: map_type_params_in_path(path, params, f),
-+ path: map_type_params_in_path(path, params, self_type, f),
- })
- },
- Type::Path(TypePath {
-@@ -198,25 +204,25 @@ where
- ref path,
- }) => Type::from(TypePath {
- qself: qself.as_ref().map(|qself| QSelf {
-- ty: Box::new(map_type_params(&qself.ty, params, f)),
-+ ty: Box::new(map_type_params(&qself.ty, params, self_type, f)),
- position: qself.position,
- ..qself.clone()
- }),
-- path: map_type_params_in_path(path, params, f),
-+ path: map_type_params_in_path(path, params, self_type, f),
- }),
- Type::Paren(ref inner) => Type::from(TypeParen {
-- elem: Box::new(map_type_params(&inner.elem, params, f)),
-+ elem: Box::new(map_type_params(&inner.elem, params, self_type, f)),
- ..inner.clone()
- }),
- Type::Group(ref inner) => Type::from(TypeGroup {
-- elem: Box::new(map_type_params(&inner.elem, params, f)),
-+ elem: Box::new(map_type_params(&inner.elem, params, self_type, f)),
- ..inner.clone()
- }),
- ref ty => panic!("type {:?} cannot be mapped yet", ty),
- }
- }
-
--fn map_type_params_in_path<F>(path: &Path, params: &[&TypeParam], f: &mut F) -> Path
-+fn map_type_params_in_path<F>(path: &Path, params: &[&TypeParam], self_type: &Path, f: &mut F) -> Path
- where
- F: FnMut(&Ident) -> Type,
- {
-@@ -236,11 +242,11 @@ where
- .map(|arg| match arg {
- ty @ &GenericArgument::Lifetime(_) => ty.clone(),
- &GenericArgument::Type(ref data) => {
-- GenericArgument::Type(map_type_params(data, params, f))
-+ GenericArgument::Type(map_type_params(data, params, self_type, f))
- },
- &GenericArgument::Binding(ref data) => {
- GenericArgument::Binding(Binding {
-- ty: map_type_params(&data.ty, params, f),
-+ ty: map_type_params(&data.ty, params, self_type, f),
- ..data.clone()
- })
- },
-diff --git a/servo/components/style_derive/to_computed_value.rs b/servo/components/style_derive/to_computed_value.rs
-index fe6bddb7ed..1dc422e2dd 100644
---- mozilla-release/servo/components/style_derive/to_computed_value.rs
-+++ mozilla-release/servo/components/style_derive/to_computed_value.rs
-@@ -47,12 +47,15 @@ pub fn derive_to_value(
- cg::add_predicate(&mut where_clause, parse_quote!(#param: #trait_path));
- }
-
-+ let computed_value_type = cg::fmap_trait_output(&input, &trait_path, &output_type_name);
-+
- let mut add_field_bound = |binding: &BindingInfo| {
- let ty = &binding.ast().ty;
-
- let output_type = cg::map_type_params(
- ty,
- &params,
-+ &computed_value_type,
- &mut |ident| parse_quote!(<#ident as #trait_path>::#output_type_name),
- );
-
-@@ -142,7 +145,6 @@ pub fn derive_to_value(
-
- input.generics.where_clause = where_clause;
- let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl();
-- let computed_value_type = cg::fmap_trait_output(&input, &trait_path, &output_type_name);
-
- let impl_ = trait_impl(from_body, to_body);
-
---
-2.28.0
-
-From 300e01e71c9dc536d499d80563968c5fc7f7e34a Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Sat, 10 Oct 2020 16:10:20 +0200
-Subject: [PATCH 38/38] bmo#1663715: Update syn and proc-macro2 so that Firefox
- can build on Rust nightly again
-
-Link: https://bugzilla.mozilla.org/show_bug.cgi?id=1663715#c7
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- Cargo.lock | 8 +-
- .../rust/lucet-wasi/.cargo-checksum.json | 2 +-
- .../rust/packed_simd/.cargo-checksum.json | 2 +-
- .../rust/proc-macro2/.cargo-checksum.json | 2 +-
- third_party/rust/proc-macro2/Cargo.toml | 15 +-
- third_party/rust/proc-macro2/README.md | 2 +-
- third_party/rust/proc-macro2/build.rs | 20 +
- third_party/rust/proc-macro2/src/detection.rs | 67 +
- third_party/rust/proc-macro2/src/fallback.rs | 1010 ++----
- third_party/rust/proc-macro2/src/lib.rs | 225 +-
- third_party/rust/proc-macro2/src/marker.rs | 18 +
- third_party/rust/proc-macro2/src/parse.rs | 849 +++++
- third_party/rust/proc-macro2/src/strnom.rs | 391 ---
- third_party/rust/proc-macro2/src/wrapper.rs | 258 +-
- .../rust/proc-macro2/tests/comments.rs | 103 +
- third_party/rust/proc-macro2/tests/marker.rs | 33 +
- third_party/rust/proc-macro2/tests/test.rs | 240 +-
- .../rust/proc-macro2/tests/test_fmt.rs | 26 +
- .../spirv-cross-internal/.cargo-checksum.json | 2 +-
- third_party/rust/syn/.cargo-checksum.json | 2 +-
- third_party/rust/syn/Cargo.toml | 35 +-
- third_party/rust/syn/README.md | 16 +-
- third_party/rust/syn/benches/file.rs | 7 +
- third_party/rust/syn/benches/rust.rs | 45 +-
- third_party/rust/syn/build.rs | 38 +-
- third_party/rust/syn/src/attr.rs | 126 +-
- third_party/rust/syn/src/buffer.rs | 56 +-
- third_party/rust/syn/src/custom_keyword.rs | 12 +-
- .../rust/syn/src/custom_punctuation.rs | 50 +-
- third_party/rust/syn/src/data.rs | 96 +-
- third_party/rust/syn/src/derive.rs | 10 +-
- third_party/rust/syn/src/discouraged.rs | 27 +-
- third_party/rust/syn/src/error.rs | 33 +-
- third_party/rust/syn/src/expr.rs | 826 +++--
- third_party/rust/syn/src/ext.rs | 12 +-
- third_party/rust/syn/src/file.rs | 4 +-
- third_party/rust/syn/src/gen/clone.rs | 2051 ++++++++++++
- third_party/rust/syn/src/gen/debug.rs | 2857 +++++++++++++++++
- third_party/rust/syn/src/gen/eq.rs | 1930 +++++++++++
- third_party/rust/syn/src/gen/fold.rs | 287 +-
- third_party/rust/syn/src/gen/hash.rs | 2691 ++++++++++++++++
- third_party/rust/syn/src/gen/visit.rs | 19 +-
- third_party/rust/syn/src/gen/visit_mut.rs | 19 +-
- third_party/rust/syn/src/generics.rs | 255 +-
- third_party/rust/syn/src/item.rs | 1515 +++++----
- third_party/rust/syn/src/keyword.rs | 0
- third_party/rust/syn/src/lib.rs | 109 +-
- third_party/rust/syn/src/lifetime.rs | 13 +-
- third_party/rust/syn/src/lit.rs | 581 ++--
- third_party/rust/syn/src/mac.rs | 55 +-
- third_party/rust/syn/src/macros.rs | 61 +-
- third_party/rust/syn/src/op.rs | 6 +-
- third_party/rust/syn/src/parse.rs | 211 +-
- third_party/rust/syn/src/parse_macro_input.rs | 32 +-
- third_party/rust/syn/src/parse_quote.rs | 15 +-
- third_party/rust/syn/src/pat.rs | 313 +-
- third_party/rust/syn/src/path.rs | 33 +-
- third_party/rust/syn/src/punctuated.rs | 123 +-
- third_party/rust/syn/src/reserved.rs | 42 +
- third_party/rust/syn/src/spanned.rs | 4 +-
- third_party/rust/syn/src/stmt.rs | 141 +-
- third_party/rust/syn/src/token.rs | 99 +-
- third_party/rust/syn/src/tt.rs | 6 +-
- third_party/rust/syn/src/ty.rs | 364 ++-
- third_party/rust/syn/src/verbatim.rs | 15 +
- third_party/rust/syn/src/whitespace.rs | 65 +
- third_party/rust/syn/tests/clone.sh | 16 -
- third_party/rust/syn/tests/common/eq.rs | 247 +-
- third_party/rust/syn/tests/common/mod.rs | 13 +
- third_party/rust/syn/tests/common/parse.rs | 24 +-
- third_party/rust/syn/tests/debug/gen.rs | 50 +-
- third_party/rust/syn/tests/debug/mod.rs | 17 +-
- third_party/rust/syn/tests/features/error.rs | 1 -
- third_party/rust/syn/tests/features/mod.rs | 22 -
- third_party/rust/syn/tests/macros/mod.rs | 8 +-
- third_party/rust/syn/tests/repo/mod.rs | 137 +-
- third_party/rust/syn/tests/repo/progress.rs | 37 +
- third_party/rust/syn/tests/test_asyncness.rs | 38 +-
- third_party/rust/syn/tests/test_attribute.rs | 452 +--
- .../rust/syn/tests/test_derive_input.rs | 1321 ++++----
- third_party/rust/syn/tests/test_expr.rs | 314 +-
- third_party/rust/syn/tests/test_generics.rs | 371 ++-
- third_party/rust/syn/tests/test_grouping.rs | 53 +-
- third_party/rust/syn/tests/test_ident.rs | 5 -
- third_party/rust/syn/tests/test_item.rs | 45 +
- third_party/rust/syn/tests/test_iterators.rs | 7 +-
- third_party/rust/syn/tests/test_lit.rs | 75 +-
- third_party/rust/syn/tests/test_meta.rs | 498 ++-
- .../rust/syn/tests/test_parse_buffer.rs | 41 +-
- .../rust/syn/tests/test_parse_stream.rs | 12 +
- third_party/rust/syn/tests/test_pat.rs | 27 +-
- third_party/rust/syn/tests/test_path.rs | 52 +
- third_party/rust/syn/tests/test_precedence.rs | 196 +-
- third_party/rust/syn/tests/test_receiver.rs | 127 +
- third_party/rust/syn/tests/test_round_trip.rs | 41 +-
- third_party/rust/syn/tests/test_shebang.rs | 59 +
- .../rust/syn/tests/test_should_parse.rs | 4 -
- third_party/rust/syn/tests/test_size.rs | 2 -
- third_party/rust/syn/tests/test_stmt.rs | 44 +
- .../rust/syn/tests/test_token_trees.rs | 12 +-
- third_party/rust/syn/tests/test_ty.rs | 53 +
- third_party/rust/syn/tests/test_visibility.rs | 145 +
- third_party/rust/syn/tests/zzz_stable.rs | 4 +-
- 103 files changed, 17319 insertions(+), 5831 deletions(-)
- create mode 100644 third_party/rust/proc-macro2/src/detection.rs
- create mode 100644 third_party/rust/proc-macro2/src/marker.rs
- create mode 100644 third_party/rust/proc-macro2/src/parse.rs
- delete mode 100644 third_party/rust/proc-macro2/src/strnom.rs
- create mode 100644 third_party/rust/proc-macro2/tests/comments.rs
- create mode 100644 third_party/rust/proc-macro2/tests/test_fmt.rs
- create mode 100644 third_party/rust/syn/src/gen/clone.rs
- create mode 100644 third_party/rust/syn/src/gen/debug.rs
- create mode 100644 third_party/rust/syn/src/gen/eq.rs
- create mode 100644 third_party/rust/syn/src/gen/hash.rs
- delete mode 100644 third_party/rust/syn/src/keyword.rs
- create mode 100644 third_party/rust/syn/src/reserved.rs
- create mode 100644 third_party/rust/syn/src/verbatim.rs
- create mode 100644 third_party/rust/syn/src/whitespace.rs
- delete mode 100755 third_party/rust/syn/tests/clone.sh
- delete mode 100644 third_party/rust/syn/tests/features/error.rs
- delete mode 100644 third_party/rust/syn/tests/features/mod.rs
- create mode 100644 third_party/rust/syn/tests/repo/progress.rs
- create mode 100644 third_party/rust/syn/tests/test_item.rs
- create mode 100644 third_party/rust/syn/tests/test_parse_stream.rs
- create mode 100644 third_party/rust/syn/tests/test_path.rs
- create mode 100644 third_party/rust/syn/tests/test_receiver.rs
- create mode 100644 third_party/rust/syn/tests/test_shebang.rs
- create mode 100644 third_party/rust/syn/tests/test_stmt.rs
- create mode 100644 third_party/rust/syn/tests/test_ty.rs
- create mode 100644 third_party/rust/syn/tests/test_visibility.rs
-
-diff --git a/Cargo.lock b/Cargo.lock
-index 19117e8368..d5fe0f6457 100644
---- mozilla-release/Cargo.lock
-+++ mozilla-release/Cargo.lock
-@@ -3717,9 +3717,9 @@ dependencies = [
-
- [[package]]
- name = "proc-macro2"
--version = "1.0.5"
-+version = "1.0.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
-+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
- dependencies = [
- "unicode-xid",
- ]
-@@ -4647,9 +4647,9 @@ dependencies = [
-
- [[package]]
- name = "syn"
--version = "1.0.5"
-+version = "1.0.40"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+checksum = "963f7d3cc59b59b9325165add223142bbf1df27655d07789f109896d353d8350"
- dependencies = [
- "proc-macro2",
- "quote",
-diff --git a/third_party/rust/lucet-wasi/.cargo-checksum.json b/third_party/rust/lucet-wasi/.cargo-checksum.json
-index 229fc9978c..2c8c0a3c22 100644
---- mozilla-release/third_party/rust/lucet-wasi/.cargo-checksum.json
-+++ mozilla-release/third_party/rust/lucet-wasi/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"fea1408a1c1b1e84b06044a0b12cb26c8fd3253ca124debb6cd3e4faab48fcbd","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","LICENSE.cloudabi-utils":"86a34251f0aab76b7dc3daf8d252afbdf481ea94aa5b46d020205178b7e2eac1","LICENSE.wasmtime":"a6c48161a09acc75a0e25503bab66a731eb5fba5392ed4bb4743e4ba5085327a","bindings.json":"fad8362f845e6f7a2af1d7547cee5730894e7b96804f338181fc070ffdcfae1e","build.rs":"593173ad03963afcbef43f1843be6f04cde1df3eae0298ca20bf881019dd350a","examples/.gitignore":"44575cf5b28512d75644bf54a517dcef304ff809fd511747621b4d64f19aac66","examples/Makefile":"d2d2ceeb1bc4435189ea9a2710b6f5f5331ce6aa73ae8a4f4edcca215058a9b4","examples/README.md":"f2a5be6cc88d511c9f4d3bfefdd42dcb2ace813bc23f6a4430b6b543f7373341","examples/hello.c":"9cbc0d3173e02309e15372835fa849d196b2a202d81806fea60378e1878d0c53","examples/pseudoquine.c":"8fd696f8e1b8fb86188564a05f4776875ead31d785a12e3aa4af9d9c1b46d5b5","include/lucet_wasi.h":"497f712c64f753ebdf73ab05b0b340d50094f9c59bb8637ccbf99d895cd20966","src/bindings.rs":"edbeb51d1a93fd31039ee1f1dc7c1b6c0bded2cf5dad10039e8b7da81a4d4a12","src/c_api.rs":"a9c73070a88a461882a28e3e2adfd773f569b964c7ffabde39a3cef907782f71","src/ctx.rs":"578f87c35cce12eaebec95d03e31954c3e6cd0afa214a0fec068f03814eb0cc7","src/fdentry.rs":"94a8480fa587e5586327dfd6b66d8a6a3ef1f8091ba8deb335bf45642f4f98e6","src/host.rs":"6f05f8fea2afed827abfc3c008a5854a8023d91d066580ecfb49e5c8036ef3a3","src/hostcalls/fs.rs":"4726e6f695f7d1d4e371ec52c57f4e36b0ba0d2302fc008b21a301f5fd7a5c97","src/hostcalls/fs_helpers.rs":"474bce0a1f15fa23b0b0b8aa83143d993dd2cbd7cdfc38c118d452d04e80caea","src/hostcalls/misc.rs":"83d087891d92af08cfa2d2e0c5f41cc47cb8219460f6dbcc8666b418dfef206e","src/hostcalls/mod.rs":"4c5d3f65c69503e11e647770879026c37c0e5e01a99b7116c8fb9411b4797187","src/hostcalls/timers.rs":"e65d6a491256b5d6051b6816f6c5049ba3cdc6142651bac81f34d659c1c2a104","src/lib.rs":"5554e1a3f0cd3756173ece6435a0d01b2f520b3401cd5fc33180a04fb9f69bbe","src/memory.rs":"0a09026b15d27f99d74e560cd94795f645cba414a8491bc961987fab9d9da69b","src/wasi_host.rs":"cacbdac28304a837b11e5ad400ae9de3ee79c0284be335e64606ecdfe426ad6e","src/wasm32.rs":"13a5dc6e59784662f1e55eccb457cbbae241a96f70cfa72c41d55858ca05b980","tests/guests/cant_dotdot.c":"609b8cece9443e375a0b38a7e43651b179f66ee9c686edba6696fe1bcd45b111","tests/guests/clock_getres.c":"f5e41c0a2b05a8d7cdb5b4da6c8b6778b858004c1e9d115503c45a1d976be33b","tests/guests/duplicate_import.wat":"4bd8d7a5c1d1597dbe7648300e94e3fab84d7ab068d56cfb656aa1a208026cee","tests/guests/exitcode.c":"b7c5cec3ead0ed82326c568287a1f3398e71ae7e447ce49a3c4c7114c82495af","tests/guests/follow_symlink.c":"de3143ad2bbbfe834c0c32b54c9fcf144ca4eba5cdcf7588929e5f47225ab616","tests/guests/fs.c":"0dca5232ff5da1b7745e3b44bca39333c01a20ba4eae1a6a0a1c492c71ca1efa","tests/guests/getentropy.c":"5d80bcc68dcf3ba91576969055099d61635ae713c057b3cb36afb122a5f26347","tests/guests/getrusage.c":"8114c103b85eb564d9ab43684958bc1939de3794d314b7c121762f3a2f0434a6","tests/guests/gettimeofday.c":"4a57f376b06f4228017b82695448a0bd213fb91455f5301d689cd87fcff01f06","tests/guests/notdir.c":"bd8f8b24360b7cf8d5dced9d9ba4c15843fcbbae89fecc13e3a457c33a275e28","tests/guests/poll.c":"aefaa9b58ce9906dc379e0bd25fa68dfbf8cdffb48cd5ecde1d67708b83b366d","tests/guests/preopen_populates.c":"f186e4eb4aab6a1d9ec7bc5c49eaea6d9d162e0159dfe8f953bb48ade9b58d43","tests/guests/read_file.c":"1aab9393f005f05b69592826d7c4d384a115d5bca42c66f10a901811b4b1dcac","tests/guests/read_file_twice.c":"04a3dad7a43b93e36efd4e2c822c11b3f129429ec799af304d82b358686c578a","tests/guests/stat.c":"02756933ea7d4337b4fa04344b32968851b02f9d0bd5ea1cb0e2f022e8c65ab0","tests/guests/stdin.c":"66efc4b54f68d1138046f1afefae15f7d4555b2904b4a988818e61e67fe8fefb","tests/guests/symlink_escape.c":"686e047b5c986e29c854bcd93996d027dcdc8721219fa9fa532efc98d2798f5c","tests/guests/symlink_loop.c":"2bbddf3a5edfc6e5f3c0fa82cee4ac92b18804810509e263abd17f5240cd37e5","tests/guests/write_file.c":"9e9b14552c2445cfa6d0aa26b334081a59e6e3428dbb17ceca005a9ba59d3220","tests/test_helpers/mod.rs":"bc18194317611fe1be5c439a7a9e0de75399555c3b6de4275af149fb180456c8","tests/tests.rs":"173a7e0f086f6ed46474686cc3413ee68bbd2ff67004f7790e963a1392c7c46e"},"package":null}
-\ No newline at end of file
-+{"files":{"Cargo.toml":"fea1408a1c1b1e84b06044a0b12cb26c8fd3253ca124debb6cd3e4faab48fcbd","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","LICENSE.cloudabi-utils":"86a34251f0aab76b7dc3daf8d252afbdf481ea94aa5b46d020205178b7e2eac1","LICENSE.wasmtime":"a6c48161a09acc75a0e25503bab66a731eb5fba5392ed4bb4743e4ba5085327a","bindings.json":"fad8362f845e6f7a2af1d7547cee5730894e7b96804f338181fc070ffdcfae1e","build.rs":"593173ad03963afcbef43f1843be6f04cde1df3eae0298ca20bf881019dd350a","examples/Makefile":"d2d2ceeb1bc4435189ea9a2710b6f5f5331ce6aa73ae8a4f4edcca215058a9b4","examples/README.md":"f2a5be6cc88d511c9f4d3bfefdd42dcb2ace813bc23f6a4430b6b543f7373341","examples/hello.c":"9cbc0d3173e02309e15372835fa849d196b2a202d81806fea60378e1878d0c53","examples/pseudoquine.c":"8fd696f8e1b8fb86188564a05f4776875ead31d785a12e3aa4af9d9c1b46d5b5","include/lucet_wasi.h":"497f712c64f753ebdf73ab05b0b340d50094f9c59bb8637ccbf99d895cd20966","src/bindings.rs":"edbeb51d1a93fd31039ee1f1dc7c1b6c0bded2cf5dad10039e8b7da81a4d4a12","src/c_api.rs":"a9c73070a88a461882a28e3e2adfd773f569b964c7ffabde39a3cef907782f71","src/ctx.rs":"578f87c35cce12eaebec95d03e31954c3e6cd0afa214a0fec068f03814eb0cc7","src/fdentry.rs":"94a8480fa587e5586327dfd6b66d8a6a3ef1f8091ba8deb335bf45642f4f98e6","src/host.rs":"6f05f8fea2afed827abfc3c008a5854a8023d91d066580ecfb49e5c8036ef3a3","src/hostcalls/fs.rs":"4726e6f695f7d1d4e371ec52c57f4e36b0ba0d2302fc008b21a301f5fd7a5c97","src/hostcalls/fs_helpers.rs":"474bce0a1f15fa23b0b0b8aa83143d993dd2cbd7cdfc38c118d452d04e80caea","src/hostcalls/misc.rs":"83d087891d92af08cfa2d2e0c5f41cc47cb8219460f6dbcc8666b418dfef206e","src/hostcalls/mod.rs":"4c5d3f65c69503e11e647770879026c37c0e5e01a99b7116c8fb9411b4797187","src/hostcalls/timers.rs":"e65d6a491256b5d6051b6816f6c5049ba3cdc6142651bac81f34d659c1c2a104","src/lib.rs":"5554e1a3f0cd3756173ece6435a0d01b2f520b3401cd5fc33180a04fb9f69bbe","src/memory.rs":"0a09026b15d27f99d74e560cd94795f645cba414a8491bc961987fab9d9da69b","src/wasi_host.rs":"cacbdac28304a837b11e5ad400ae9de3ee79c0284be335e64606ecdfe426ad6e","src/wasm32.rs":"13a5dc6e59784662f1e55eccb457cbbae241a96f70cfa72c41d55858ca05b980","tests/guests/cant_dotdot.c":"609b8cece9443e375a0b38a7e43651b179f66ee9c686edba6696fe1bcd45b111","tests/guests/clock_getres.c":"f5e41c0a2b05a8d7cdb5b4da6c8b6778b858004c1e9d115503c45a1d976be33b","tests/guests/duplicate_import.wat":"4bd8d7a5c1d1597dbe7648300e94e3fab84d7ab068d56cfb656aa1a208026cee","tests/guests/exitcode.c":"b7c5cec3ead0ed82326c568287a1f3398e71ae7e447ce49a3c4c7114c82495af","tests/guests/follow_symlink.c":"de3143ad2bbbfe834c0c32b54c9fcf144ca4eba5cdcf7588929e5f47225ab616","tests/guests/fs.c":"0dca5232ff5da1b7745e3b44bca39333c01a20ba4eae1a6a0a1c492c71ca1efa","tests/guests/getentropy.c":"5d80bcc68dcf3ba91576969055099d61635ae713c057b3cb36afb122a5f26347","tests/guests/getrusage.c":"8114c103b85eb564d9ab43684958bc1939de3794d314b7c121762f3a2f0434a6","tests/guests/gettimeofday.c":"4a57f376b06f4228017b82695448a0bd213fb91455f5301d689cd87fcff01f06","tests/guests/notdir.c":"bd8f8b24360b7cf8d5dced9d9ba4c15843fcbbae89fecc13e3a457c33a275e28","tests/guests/poll.c":"aefaa9b58ce9906dc379e0bd25fa68dfbf8cdffb48cd5ecde1d67708b83b366d","tests/guests/preopen_populates.c":"f186e4eb4aab6a1d9ec7bc5c49eaea6d9d162e0159dfe8f953bb48ade9b58d43","tests/guests/read_file.c":"1aab9393f005f05b69592826d7c4d384a115d5bca42c66f10a901811b4b1dcac","tests/guests/read_file_twice.c":"04a3dad7a43b93e36efd4e2c822c11b3f129429ec799af304d82b358686c578a","tests/guests/stat.c":"02756933ea7d4337b4fa04344b32968851b02f9d0bd5ea1cb0e2f022e8c65ab0","tests/guests/stdin.c":"66efc4b54f68d1138046f1afefae15f7d4555b2904b4a988818e61e67fe8fefb","tests/guests/symlink_escape.c":"686e047b5c986e29c854bcd93996d027dcdc8721219fa9fa532efc98d2798f5c","tests/guests/symlink_loop.c":"2bbddf3a5edfc6e5f3c0fa82cee4ac92b18804810509e263abd17f5240cd37e5","tests/guests/write_file.c":"9e9b14552c2445cfa6d0aa26b334081a59e6e3428dbb17ceca005a9ba59d3220","tests/test_helpers/mod.rs":"bc18194317611fe1be5c439a7a9e0de75399555c3b6de4275af149fb180456c8","tests/tests.rs":"173a7e0f086f6ed46474686cc3413ee68bbd2ff67004f7790e963a1392c7c46e"},"package":null}
-\ No newline at end of file
-diff --git a/third_party/rust/packed_simd/.cargo-checksum.json b/third_party/rust/packed_simd/.cargo-checksum.json
-index 01afcc1efd..c727a10006 100644
---- mozilla-release/third_party/rust/packed_simd/.cargo-checksum.json
-+++ mozilla-release/third_party/rust/packed_simd/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{".appveyor.yml":"f1ed01850e0d725f9498f52a1a63ddf40702ad6e0bf5b2d7c4c04d76e96794a3",".travis.yml":"e9258d9a54fdaf4cbc12405fe5993ac4497eb2b29021691dbc91b19cb9b52227","Cargo.toml":"089941ba3c89ea111cbea3cc3abdcdcf2b9d0ae0db268d7269ee38226db950e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","bors.toml":"dee881dc69b9b7834e4eba5d95c3ed5a416d4628815a167d6a22d4cb4fb064b8","build.rs":"f3baefc5e5bb9b250e762a1466371b922fd7ee4243c217b2d014307603c2f57a","ci/all.sh":"a23d14e10cb26a0eb719e389c30eb955fa53cddcd436890646df09af640bd2eb","ci/android-install-ndk.sh":"0f1746108cc30bf9b9ba45bcde7b19fc1a8bdf5b0258035b4eb8dc69b75efac4","ci/android-install-sdk.sh":"3490432022c5c8f5a115c084f7a9aca1626f96c0c87ffb62019228c4346b47e4","ci/android-sysimage.sh":"ebf4e5daa1f0fe1b2092b79f0f3f161c4c4275cb744e52352c4d81ab451e4c5a","ci/benchmark.sh":"b61d19ef6b90deba8fb79dee74c8b062d94844676293da346da87bb78a9a49a4","ci/deploy_and_run_on_ios_simulator.rs":"ec8ecf82d92072676aa47f0d1a3d021b60a7ae3531153ef12d2ff4541fc294dc","ci/docker/aarch64-linux-android/Dockerfile":"ace2e7d33c87bc0f6d3962a4a3408c04557646f7f51ab99cfbf574906796b016","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"1ecdac757101d951794fb2ab0deaa278199cf25f2e08a15c7d40ff31a8556184","ci/docker/arm-linux-androideabi/Dockerfile":"370e55d3330a413a3ccf677b3afb3e0ef9018a5fab263faa97ae8ac017fc2286","ci/docker/arm-unknown-linux-gnueabi/Dockerfile":"e25d88f6c0c94aada3d2e3f08243f755feb7e869dc5dc505b3799719cb1af591","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"f126f4c7bae8c11ab8b16df06ad997863f0838825a9c08c9899a3eedb6d570bd","ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile":"b647545c158ee480a4c581dbdc1f57833aef056c8d498acc04b573e842bf803c","ci/docker/i586-unknown-linux-gnu/Dockerfile":"0d492759017307ccf74dc2aa4a8cf6623daf3dc728c708dc2b18fa7940800cba","ci/docker/i686-unknown-linux-gnu/Dockerfile":"0d492759017307ccf74dc2aa4a8cf6623daf3dc728c708dc2b18fa7940800cba","ci/docker/mips-unknown-linux-gnu/Dockerfile":"323776469bb7b160385f3621d66e3ee14c75242f8180f916e65af048a29d4ea0","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"c647f6948a9a43b0be695cbed4eac752120d0faf28e5e69c718cb10406921dab","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"77bfd00cc8639509be381b394f077e39b45a00158ad61b4e1656714c714665d1","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"ec5bea6c98a3b626731fdb95f9ff2d1182639c76e8fb16d3271d0fc884901524","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4f2b662de66e83d1354f650b7077692309637f786c2ea5516c31b5c2ee10af2d","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"a9595402b772bc365982e22a0096a8988825d90b09b5faa97ab192e76072f71d","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"df3c381c157439695ae8cd10ab71664702c061e3b4ab22906a5ad6c2680acfed","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"93fb44df3d7fd31ead158570667c97b5076a05c3d968af4a84bc13819a8f2db8","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"da1c39a3ff1fe22e41395fa7c8934e90b4c1788e551b9aec6e38bfd94effc437","ci/docker/thumbv7neon-linux-androideabi/Dockerfile":"c2decd5591bd7a09378901bef629cd944acf052eb55e4f35b79eb9cb4d62246a","ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile":"75c0c56161c7382b439de74c00de1c0e3dc9d59560cd6720976a751034b78714","ci/docker/wasm32-unknown-unknown/Dockerfile":"3e5f294bc1e004aa599086c2af49d6f3e7459fa250f5fbdd60cf67d53db78758","ci/docker/x86_64-linux-android/Dockerfile":"685040273cf350d5509e580ac451555efa19790c8723ca2af066adadc6880ad2","ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile":"44b6203d9290bfdc53d81219f0937e1110847a23dd982ec8c4de388354f01536","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"d253c86803b22da428fa9cc671a05f18d3318eca7733b8dccb4f7be1ddf524c5","ci/dox.sh":"5b61711be47a4e3dde0ddd15ba73d256ea95fd75af3897732c24db1dc7e66366","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/lld-shim.rs":"3d7f71ec23a49e2b67f694a0168786f9a954dda15f5a138815d966643fd3fcc3","ci/max_line_width.sh":"0a1518bba4c9ecaa55694cb2e9930d0e19c265baabf73143f17f9cf285aaa5bb","ci/run-docker.sh":"92e036390ad9b0d16f109579df1b5ced2e72e9afea40c7d011400ebd3a2a90de","ci/run.sh":"63259e22a96ba539f53c06b1b39f53e3a78a71171652e7afc170836110ccd913","ci/run_examples.sh":"d1a23c6c35374a0678ba5114b9b8fefd8be0a79e774872a8bf0898d1baca18d0","ci/runtest-android.rs":"145a8e9799a5223975061fe7e586ade5669ee4877a7d7a4cf6b4ab48e8e36c7c","ci/setup_benchmarks.sh":"73fb981a8fdb1dcd54409d3c0fbbfb8f77a3ceabf8626a6b9bf9d21d6bc8ce72","ci/test-runner-linux":"c8aa6025cff5306f4f31d0c61dc5f9d4dd5a1d189ab613ef8d4c367c694d9ccd","contributing.md":"2cc8c9c560ae17867e69b06d09b758dbf7bc39eb774ada50a743724b10acc0a2","perf-guide/.gitignore":"fe82c7da551079d832cf74200b0b359b4df9828cb4a0416fa7384f07a2ae6a13","perf-guide/book.toml":"115a98284126c6b180178b44713314cc494f08a71662ee2ce15cf67f17a51064","perf-guide/src/SUMMARY.md":"3e03bffc991fdc2050f3d51842d72d9d21ea6abab56a3baf3b2d5973a78b89e1","perf-guide/src/ascii.css":"29afb08833b2fe2250f0412e1fa1161a2432a0820a14953c87124407417c741a","perf-guide/src/bound_checks.md":"5e4991ff58a183ef0cd9fdc1feb4cd12d083b44bdf87393bbb0927808ef3ce7d","perf-guide/src/float-math/approx.md":"8c09032fa2d795a0c5db1775826c850d28eb2627846d0965c60ee72de63735ad","perf-guide/src/float-math/fma.md":"311076ba4b741d604a82e74b83a8d7e8c318fcbd7f64c4392d1cf5af95c60243","perf-guide/src/float-math/fp.md":"04153e775ab6e4f0d7837bcc515230d327b04edfa34c84ce9c9e10ebaeef2be8","perf-guide/src/float-math/svml.md":"0798873b8eedaeda5fed62dc91645b57c20775a02d3cd74d8bd06958f1516506","perf-guide/src/introduction.md":"9f5a19e9e6751f25d2daad39891a0cc600974527ec4c8305843f9618910671bd","perf-guide/src/prof/linux.md":"447731eb5de7d69166728fdbc5ecb0c0c9db678ea493b45a592d67dd002184c0","perf-guide/src/prof/mca.md":"f56d54f3d20e7aa4d32052186e8237b03d65971eb5d112802b442570ff11d344","perf-guide/src/prof/profiling.md":"8a650c0fd6ede0964789bb6577557eeef1d8226a896788602ce61528e260e43c","perf-guide/src/target-feature/attribute.md":"615f88dca0a707b6c416fa605435dd6e1fb5361cc639429cbf68cd87624bd78b","perf-guide/src/target-feature/features.md":"17077760ff24c006b606dd21889c53d87228f4311f3ba3a574f9afdeacd86165","perf-guide/src/target-feature/inlining.md":"7ed1d7068d8173a00d84c16cfe5871cd68b9f04f8d0cca2d01ebc84957ebf2f6","perf-guide/src/target-feature/practice.md":"c4b371842e0086df178488fec97f20def8f0c62ee588bcd25fd948b9b1fa227e","perf-guide/src/target-feature/runtime.md":"835425f5ee597fb3e51d36e725a81ebee29f4561231d19563cd4da81dbb1cfcb","perf-guide/src/target-feature/rustflags.md":"ab49712e9293a65d74d540ba4784fcb57ff1119ec05a575d895c071f1a620f64","perf-guide/src/vert-hor-ops.md":"c6211c0ee91e60552ec592d89d9d957eedc21dee3cbd89e1ad6765ea06a27471","readme.md":"585a8f0e16877fb9abb00cd17a175fcb9d7857840c6c61209f1827ffab095070","rustfmt.toml":"de6101d0670bad65fb3b337d56957d2a024e017e5ab146ec784d77312daaf8ff","src/api.rs":"331a3a4abb19cee2df5f2df4ad7c3e88b45e62cf23fdacfc9bbaa633dc5cf788","src/api/bit_manip.rs":"e68290ee679cc5abc9c73afbe635c1035f8cbfe849e5c751a1680e459244c39e","src/api/cast.rs":"03b94a3d316ac7b7be7068810044911e965e889a0ace7bae762749ca74a92747","src/api/cast/macros.rs":"b0a14d0c83ad2ebb7a275180f6d9e3f2bc312ba57a7d3d6c39fad4e0f20f9408","src/api/cast/v128.rs":"63e28c6a3edf1a7a635f51b8d3c6adbb1d46f884d92a196b3d4a6e743d809416","src/api/cast/v16.rs":"2a584eeb57fd47baad6f3533764301b04aaaac23702b7a8db12598ac02899262","src/api/cast/v256.rs":"b91c15ed8d1536ecd97b4eb79ff9d5aba0552cd9b6f0ea6435b05f2273e23b3a","src/api/cast/v32.rs":"62ec89fcce7fa7f28497ee5770adc8f81d2d3a6b2925b02f7dc06504c40e8f38","src/api/cast/v512.rs":"d855cb943ae7106e9599ef38e30a3afb1c6bd5433178baca54cb128fd9a7d143","src/api/cast/v64.rs":"fe0f7dfaf4fc0c0c1a78c96fcfcdfdc2a1e2845843b11aa797a0c6fb52a8f774","src/api/cmp.rs":"357c3a2a09c6d4611c32dd7fa95be2fae933d513e229026ec9b44451a77b884e","src/api/cmp/eq.rs":"60f70f355bae4cb5b17db53204cacc3890f70670611c17df638d4c04f7cc8075","src/api/cmp/ord.rs":"589f7234761c294fa5df8f525bc4acd5a47cdb602207d524a0d4e19804cd9695","src/api/cmp/partial_eq.rs":"3ed23d2a930b0f9750c3a5309da766b03dc4f9c4d375b42ad3c50fe732693d15","src/api/cmp/partial_ord.rs":"e16b11805c94048acd058c93994b5bc74bb187f8d7e3b86a87df60e1601467f9","src/api/cmp/vertical.rs":"de3d62f38eba817299aa16f1e1939954c9a447e316509397465c2830852ba053","src/api/default.rs":"b61f92fc0e33a2633b3375eb405beba480da071cde03df4d437d8a6058afcd97","src/api/fmt.rs":"67fb804bb86b6cd77cf8cd492b5733ce437071b66fe3297278b8a6552c325dda","src/api/fmt/binary.rs":"35cb5c266197d6224d598fb3d286e5fe48ef0c01ed356c2ff6fe9ba946f96a92","src/api/fmt/debug.rs":"aa18eea443bf353fea3db8b1a025132bbcaf91e747ecfa43b8d9fce9af395a0c","src/api/fmt/lower_hex.rs":"69d5be366631af309f214e8031c8c20267fcc27a695eac6f45c6bc1df72a67e6","src/api/fmt/octal.rs":"9eb11ba3d990213f3c7f1ec25edba7ce997cb1320e16d308c83498ba6b9bfbd9","src/api/fmt/upper_hex.rs":"a4637d085b7bb20e759ce58e08435b510a563ba3dd468af2b03560fdc5511562","src/api/from.rs":"2e599d8329cb05eaf06224cc441355c4b7b51254fc19256619333be8c149d444","src/api/from/from_array.rs":"4151593c7bba7455821fffa5b59867005a77c95d32f1f0cc3fd87294000157d9","src/api/from/from_vector.rs":"9764371aa9e6005aace74dea14f59e5611a095b7cf42707940924749282c52f0","src/api/hash.rs":"562cfa3f1d8eb9a733c035a3665a599c2f1e341ee820d8fbdd102a4398a441bc","src/api/into_bits.rs":"82297f0697d67b5a015e904e7e6e7b2a7066ba825bc54b94b4ff3e22d7a1eefb","src/api/into_bits/arch_specific.rs":"1f925390b0ce7132587d95f2419c6e2ad3e1a9d17eb1d9c120a1c1c4bdf4277e","src/api/into_bits/macros.rs":"d762406de25aedff88d460dec7a80dc8e825a2a419d53218ce007efa6a1d3e04","src/api/into_bits/v128.rs":"ecdc5893664c71d7ab1ff3697c3fbe490d20d8748b9b76881d05e7625e40d74c","src/api/into_bits/v16.rs":"5459ec7dad1ad7bd30dc7e48374580b993abf23701d9c3cb22203fa0a9aabb6d","src/api/into_bits/v256.rs":"90ea351da0380ead1bf0f63b620afd40d01d638d09f7e7be31840bd2c1d9c663","src/api/into_bits/v32.rs":"ee1dc5a430050e16f51154b5fe85b1536f5feddf2ea23dd1d3859b67c4afc6fc","src/api/into_bits/v512.rs":"f72098ed1c9a23944f3d01abaf5e0f2d0e81d35a06fdadd2183e896d41b59867","src/api/into_bits/v64.rs":"6394462facdfe7827349c742b7801f1291e75a720dfb8c0b52100df46f371c98","src/api/math.rs":"8b2a2fc651917a850539f993aa0b9e5bf4da67b11685285b8de8cdca311719ec","src/api/math/float.rs":"61d2794d68262a1090ae473bd30793b5f65cf732f32a6694a3af2ce5d9225616","src/api/math/float/abs.rs":"5b6b2701e2e11135b7ce58a05052ea8120e10e4702c95d046b9d21b827b26bf8","src/api/math/float/consts.rs":"78acba000d3fa527111300b6327c1932de9c4c1e02d4174e1a5615c01463d38c","src/api/math/float/cos.rs":"4c2dd7173728ef189314f1576c9486e03be21b7da98843b2f9011282a7979e31","src/api/math/float/exp.rs":"7c6d5f1e304f498a01cfa23b92380c815d7da0ad94eae3483783bc377d287eef","src/api/math/float/ln.rs":"54c7583f3df793b39ff57534fade27b41bb992439e5dc178252f5ca3190a3e54","src/api/math/float/mul_add.rs":"62cac77660d20159276d4c9ef066eb90c81cbddb808e8e157182c607625ad2eb","src/api/math/float/mul_adde.rs":"bae056ee9f3a70df39ec3c3b2f6437c65303888a7b843ef1a5bcf1f5aca0e602","src/api/math/float/powf.rs":"9ddb938984b36d39d82a82f862f80df8f7fb013f1d222d45698d41d88472f568","src/api/math/float/recpre.rs":"589225794ff1dbf31158dff660e6d4509ecc8befbb57c633900dea5ac0b840d6","src/api/math/float/rsqrte.rs":"a32abdcc318d7ccc8448231f54d75b884b7cbeb03a7d595713ab6243036f4dbf","src/api/math/float/sin.rs":"cbd3622b7df74f19691743001c8cf747a201f8977ad90542fee915f37dcd1e49","src/api/math/float/sqrt.rs":"0c66d5d63fb08e4d99c6b82a8828e41173aff1ac9fa1a2764a11fac217ccf2ac","src/api/math/float/sqrte.rs":"731e1c9f321b662accdd27dacb3aac2e8043b7aecb2f2161dde733bd9f025362","src/api/minimal.rs":"1f22bcc528555444e76de569ec0ae2029b9ae9d04805efeafa93369c8098036b","src/api/minimal/iuf.rs":"c501a6696950cf5e521765f178de548af64fdfb6e10d026616d09fab93ca2d17","src/api/minimal/mask.rs":"42e415f536c5193d0218f5a754b34b87fd7c971bff068009f958712166ff056d","src/api/minimal/ptr.rs":"a9ee482d1dd1c956fb8f3f179e6e620b1de4e9d713961461d4c6923a4ef2e67c","src/api/ops.rs":"3e273b277a0f3019d42c3c59ca94a5afd4885d5ae6d2182e5089bbeec9de42ee","src/api/ops/scalar_arithmetic.rs":"d2d5ad897a59dd0787544f927e0e7ca4072c3e58b0f4a2324083312b0d5a21d7","src/api/ops/scalar_bitwise.rs":"482204e459ca6be79568e1c9f70adbe2d2151412ddf122fb2161be8ebb51c40c","src/api/ops/scalar_mask_bitwise.rs":"c250f52042e37b22d57256c80d4604104cfd2fbe2a2e127c676267270ca5d350","src/api/ops/scalar_shifts.rs":"987f8fdebeedc16e3d77c1b732e7826ef70633c541d16dfa290845d5c6289150","src/api/ops/vector_arithmetic.rs":"ddca15d09ddeef502c2ed66117a62300ca65d87e959e8b622d767bdf1c307910","src/api/ops/vector_bitwise.rs":"b3968f7005b649edcc22a54e2379b14d5ee19045f2e784029805781ae043b5ee","src/api/ops/vector_float_min_max.rs":"f5155dce75219f4ba11275b1f295d2fdcddd49d174a6f1fb2ace7ea42813ce41","src/api/ops/vector_int_min_max.rs":"a378789c6ff9b32a51fbd0a97ffd36ed102cd1fe6a067d2b02017c1df342def6","src/api/ops/vector_mask_bitwise.rs":"5052d18517d765415d40327e6e8e55a312daaca0a5e2aec959bfa54b1675f9c8","src/api/ops/vector_neg.rs":"5c62f6b0221983cdbd23cd0a3af3672e6ba1255f0dfe8b19aae6fbd6503e231b","src/api/ops/vector_rotates.rs":"03cbe8a400fd7c688e4ee771a990a6754f2031b1a59b19ae81158b21471167e5","src/api/ops/vector_shifts.rs":"9bf69d0087268f61009e39aea52e03a90f378910206b6a28e8393178b6a5d0e0","src/api/ptr.rs":"8a793251bed6130dcfb2f1519ceaa18b751bbb15875928d0fb6deb5a5e07523a","src/api/ptr/gather_scatter.rs":"9ddd960365e050674b25b2fd3116e24d94669b4375d74e71c03e3f1469576066","src/api/reductions.rs":"ae5baca81352ecd44526d6c30c0a1feeda475ec73ddd3c3ec6b14e944e5448ee","src/api/reductions/bitwise.rs":"8bf910ae226188bd15fc7e125f058cd2566b6186fcd0cd8fd020f352c39ce139","src/api/reductions/float_arithmetic.rs":"e58c8c87806a95df2b2b5b48ac5991036df024096d9d7c171a480fe9282896a4","src/api/reductions/integer_arithmetic.rs":"47471da1c5f859489680bb5d34ced3d3aa20081c16053a3af121a4496fcb57bf","src/api/reductions/mask.rs":"db83327a950e33a317f37fd33ca4e20c347fb415975ec024f3e23da8509425af","src/api/reductions/min_max.rs":"f27be3aa28e1c1f46de7890198db6e12f00c207085e89ef2de7e57ee443cdb98","src/api/select.rs":"a98e2ccf9fc6bdeed32d337c8675bc96c2fbe2cc34fbf149ad6047fb8e749774","src/api/shuffle.rs":"da58200790868c09659819322a489929a5b6e56c596ed07e6a44293ea02e7d09","src/api/shuffle1_dyn.rs":"bfea5a91905b31444e9ef7ca6eddb7a9606b7e22d3f71bb842eb2795a0346620","src/api/slice.rs":"ee87484e8af329547b9a5d4f2a69e8bed6ea10bbd96270d706083843d4eea2ac","src/api/slice/from_slice.rs":"4d4fe8a329c885fcb4fbcbedf99efb15a95296fe6b3f595056cc37037450d5ac","src/api/slice/write_to_slice.rs":"f5b23b2c4b91cfb26b713a9013a6c0da7f45eaefb79ba06dcbc27f3f23bda679","src/api/swap_bytes.rs":"4a6792a2e49a77475e1b237592b4b2804dbddb79c474331acd0dd71b36934259","src/codegen.rs":"c6eebc3d3665420aa6a2f317977e3c41a4f43e0550ac630cdbe8e4bbed5e2031","src/codegen/bit_manip.rs":"5559e095105a80003e0de35af1d19b0c65c9ab04eb743c7e01c5442d882eb34e","src/codegen/llvm.rs":"d1299c189abb17a6133f047574cffc7a6db4c1be37cb7d4785491cb5e8f8cf54","src/codegen/math.rs":"35f96e37a78fcf0cdb02146b7f27a45108fe06a37fc2a54d8851ce131a326178","src/codegen/math/float.rs":"dd86c0449e576c83b719700962ac017c332987fac08d91f2b7a2b1b883598170","src/codegen/math/float/abs.rs":"f56e2b4b8055ea861c1f5cbc6b6e1d8e7e5af163b62c13574ddee4e09513bfbc","src/codegen/math/float/cos.rs":"ef3b511a24d23045b310315e80348a9b7fedb576fc2de52d74290616a0abeb2a","src/codegen/math/float/cos_pi.rs":"4e7631a5d73dac21531e09ef1802d1180f8997509c2c8fa9f67f322194263a97","src/codegen/math/float/exp.rs":"61b691598c41b5622f24e4320c1bdd08701e612a516438bdddcc728fc3405c8c","src/codegen/math/float/ln.rs":"46b718b1ba8c9d99e1ad40f53d20dfde08a3063ca7bd2a9fdd6698e060da687e","src/codegen/math/float/macros.rs":"dd42135fff13f9aca4fd3a1a4e14c7e6c31aadc6d817d63b0d2fb9e62e062744","src/codegen/math/float/mul_add.rs":"a37bf764345d4b1714f97e83897b7cf0855fc2811704bcbc0012db91825339e1","src/codegen/math/float/mul_adde.rs":"c75702bfcb361de45964a93caf959a695ef2376bd069227600b8c6872665c755","src/codegen/math/float/powf.rs":"642346e982bc4c39203de0864d2149c4179cd7b21cf67a2951687932b4675872","src/codegen/math/float/sin.rs":"9d68164c90cdca6a85155040cdac42e27342ebe0b925273ef1593df721af4258","src/codegen/math/float/sin_cos_pi.rs":"9be02ad48585a1e8d99129382fbffbaed47852f15459256a708850b6b7a75405","src/codegen/math/float/sin_pi.rs":"9890347905b4d4a3c7341c3eb06406e46e60582bcf6960688bd727e5dadc6c57","src/codegen/math/float/sqrt.rs":"e3c60dcfb0c6d2fc62adabcc931b2d4040b83cab294dea36443fb4b89eb79e34","src/codegen/math/float/sqrte.rs":"f0f4ef9eb475ae41bcc7ec6a95ad744ba6b36925faa8b2c2814004396d196b63","src/codegen/pointer_sized_int.rs":"a70697169c28218b56fd2e8d5353f2e00671d1150d0c8cef77d613bdfacd84cb","src/codegen/reductions.rs":"645e2514746d01387ddd07f0aa4ffd8430cc9ab428d4fb13773ea319fa25dd95","src/codegen/reductions/mask.rs":"8f1afe6aabf096a3278e1fc3a30f736e04aa8b9ce96373cee22162d18cfe2702","src/codegen/reductions/mask/aarch64.rs":"cba6e17603d39795dcfe8339b6b7d8714c3e162a1f0a635979f037aa24fe4206","src/codegen/reductions/mask/arm.rs":"9447904818aa2c7c25d0963eead452a639a11ca7dbd6d21eedbfcaade07a0f33","src/codegen/reductions/mask/fallback.rs":"7a0ef9f7fd03ae318b495b95e121350cd61caffc5cc6ee17fabf130d5d933453","src/codegen/reductions/mask/fallback_impl.rs":"76547f396e55ef403327c77c314cf8db8c7a5c9b9819bfb925abeacf130249e5","src/codegen/reductions/mask/x86.rs":"14bd2c482071f2355beebcf7b7ecf950ff2dfcdb08c3ca50993092434a9de717","src/codegen/reductions/mask/x86/avx.rs":"b4913d87844c522903641cbbf10db4551addb1ce5e9e78278e21612fa65c733b","src/codegen/reductions/mask/x86/avx2.rs":"677aed3f056285285daa3adff8bc65e739630b4424defa6d9665e160f027507e","src/codegen/reductions/mask/x86/sse.rs":"226610b4ff88c676d5187114dd57b4a8800de6ce40884675e9198445b1ed0306","src/codegen/reductions/mask/x86/sse2.rs":"bc38e6c31cb4b3d62147eba6cac264e519e2a48e0f7ce9010cfa9ef0cf0ec9fd","src/codegen/shuffle.rs":"0abca97e92cdce49a58a39cc447eb09dc7d7715ef256c8dbd2181a186e61bb64","src/codegen/shuffle1_dyn.rs":"04523e9338133bdedb012dd076c2c564b79ce5593b0fc56d0fb6910e04190a81","src/codegen/swap_bytes.rs":"1d6cdc716eadddc92b4fd506b2445a821caa8dc00860447de09d7ebd69c2087f","src/codegen/v128.rs":"94226b31ec403d18d9d2fe06713f147c9c79e9b5f9105089088266313f843185","src/codegen/v16.rs":"ddec4ffb66b6f7aaffb9a1780c5ddba82557abd74f45073d335047e04cf74924","src/codegen/v256.rs":"6b63917f0444118d6b1595bff2045e59b97c4d24012bd575f69f1f0efc5a0241","src/codegen/v32.rs":"3477b3c5540aed86e61e2f5807dd31db947413cec9181c587d93ed6ec74f0eba","src/codegen/v512.rs":"5854f99d3aabc4cd42b28a20d9ce447756dc2ba024a409a69b6a8ae1f1842fc5","src/codegen/v64.rs":"e9e89caebfe63d10c0cbca61e4dfdba3b7e02ee0989170f80beed23237ddd950","src/codegen/vPtr.rs":"96d609a9eece4dcbbcc01ba0b8744d7f5958be12774176a2945bc676f4e6b5cb","src/codegen/vSize.rs":"eeee9858749aa82142b27bc120d1989bb74a6b82e1e4efbbeaccc9634dc9acfc","src/lib.rs":"1b5d419ff05ee0370d671810423ccc254708cc8d415c1dbac2a7a36be4bf63a8","src/masks.rs":"870f429967b2d7d5133f4d28d6c753fc5cef0570b27b29d4e966a066d22d2d0e","src/sealed.rs":"ff7f0324276408ae8249941cfa32c90b8835a54d750896b683efea857af19db2","src/testing.rs":"1d3a7862ef625e235a5734ad7204e68d350f902c0695182b1f08a0552432416e","src/testing/macros.rs":"6378856d7a40ba5ec5c7c0dad6327d79f0c77266921c24296d10aed6c68e9b98","src/testing/utils.rs":"d6fd5a5017f1f85d9d99585754f8f6ad06fc3d683b34083543e67a7cc6c1772c","src/v128.rs":"18fe263c4aa28cd06461c7070b0269f69f4a2e75749b8f142a83dfdfe4d22bf5","src/v16.rs":"e5c663c9fb3547eaeac78a5f7db9969f4d8b5ec96112bf2954602fff11f0aebd","src/v256.rs":"68732cd688ad12a56d8b4f8ddf279f77bdfe1be2943c7dc0c1b4f1a76798aa0f","src/v32.rs":"785b22a1ccb4a41bb53dfeb0670f624c0ce42e6cdf62d1747e3283777a1c70bd","src/v512.rs":"d1337bfe07f06a8f37f8e8fa7d4315b9307476ee435ad80dd5269eaed564fbfa","src/v64.rs":"3077468d65125b8f085e9454c8b2463a4d5225697464ba6a1300f8799528fd4b","src/vPtr.rs":"c9a53f41f466e17b6648a4ce390fd8f4d3a848d440eb8a9a803a11608d76eb05","src/vSize.rs":"5c46d3e8c3ee5863d9b6e37e681f871386e0efc254d6d84ba711edb529ce7b3c","tests/endianness.rs":"541a144be017e3dd7da7c8ea49d907dc02538245e8c5f3deb5bd43da92c929e1"},"package":null}
-\ No newline at end of file
-+{"files":{".appveyor.yml":"f1ed01850e0d725f9498f52a1a63ddf40702ad6e0bf5b2d7c4c04d76e96794a3",".travis.yml":"e9258d9a54fdaf4cbc12405fe5993ac4497eb2b29021691dbc91b19cb9b52227","Cargo.toml":"089941ba3c89ea111cbea3cc3abdcdcf2b9d0ae0db268d7269ee38226db950e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","bors.toml":"dee881dc69b9b7834e4eba5d95c3ed5a416d4628815a167d6a22d4cb4fb064b8","build.rs":"f3baefc5e5bb9b250e762a1466371b922fd7ee4243c217b2d014307603c2f57a","ci/all.sh":"a23d14e10cb26a0eb719e389c30eb955fa53cddcd436890646df09af640bd2eb","ci/android-install-ndk.sh":"0f1746108cc30bf9b9ba45bcde7b19fc1a8bdf5b0258035b4eb8dc69b75efac4","ci/android-install-sdk.sh":"3490432022c5c8f5a115c084f7a9aca1626f96c0c87ffb62019228c4346b47e4","ci/android-sysimage.sh":"ebf4e5daa1f0fe1b2092b79f0f3f161c4c4275cb744e52352c4d81ab451e4c5a","ci/benchmark.sh":"b61d19ef6b90deba8fb79dee74c8b062d94844676293da346da87bb78a9a49a4","ci/deploy_and_run_on_ios_simulator.rs":"ec8ecf82d92072676aa47f0d1a3d021b60a7ae3531153ef12d2ff4541fc294dc","ci/docker/aarch64-linux-android/Dockerfile":"ace2e7d33c87bc0f6d3962a4a3408c04557646f7f51ab99cfbf574906796b016","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"1ecdac757101d951794fb2ab0deaa278199cf25f2e08a15c7d40ff31a8556184","ci/docker/arm-linux-androideabi/Dockerfile":"370e55d3330a413a3ccf677b3afb3e0ef9018a5fab263faa97ae8ac017fc2286","ci/docker/arm-unknown-linux-gnueabi/Dockerfile":"e25d88f6c0c94aada3d2e3f08243f755feb7e869dc5dc505b3799719cb1af591","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"f126f4c7bae8c11ab8b16df06ad997863f0838825a9c08c9899a3eedb6d570bd","ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile":"b647545c158ee480a4c581dbdc1f57833aef056c8d498acc04b573e842bf803c","ci/docker/i586-unknown-linux-gnu/Dockerfile":"0d492759017307ccf74dc2aa4a8cf6623daf3dc728c708dc2b18fa7940800cba","ci/docker/i686-unknown-linux-gnu/Dockerfile":"0d492759017307ccf74dc2aa4a8cf6623daf3dc728c708dc2b18fa7940800cba","ci/docker/mips-unknown-linux-gnu/Dockerfile":"323776469bb7b160385f3621d66e3ee14c75242f8180f916e65af048a29d4ea0","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"c647f6948a9a43b0be695cbed4eac752120d0faf28e5e69c718cb10406921dab","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"77bfd00cc8639509be381b394f077e39b45a00158ad61b4e1656714c714665d1","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"ec5bea6c98a3b626731fdb95f9ff2d1182639c76e8fb16d3271d0fc884901524","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"4f2b662de66e83d1354f650b7077692309637f786c2ea5516c31b5c2ee10af2d","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"a9595402b772bc365982e22a0096a8988825d90b09b5faa97ab192e76072f71d","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"df3c381c157439695ae8cd10ab71664702c061e3b4ab22906a5ad6c2680acfed","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"93fb44df3d7fd31ead158570667c97b5076a05c3d968af4a84bc13819a8f2db8","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"da1c39a3ff1fe22e41395fa7c8934e90b4c1788e551b9aec6e38bfd94effc437","ci/docker/thumbv7neon-linux-androideabi/Dockerfile":"c2decd5591bd7a09378901bef629cd944acf052eb55e4f35b79eb9cb4d62246a","ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile":"75c0c56161c7382b439de74c00de1c0e3dc9d59560cd6720976a751034b78714","ci/docker/wasm32-unknown-unknown/Dockerfile":"3e5f294bc1e004aa599086c2af49d6f3e7459fa250f5fbdd60cf67d53db78758","ci/docker/x86_64-linux-android/Dockerfile":"685040273cf350d5509e580ac451555efa19790c8723ca2af066adadc6880ad2","ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile":"44b6203d9290bfdc53d81219f0937e1110847a23dd982ec8c4de388354f01536","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"d253c86803b22da428fa9cc671a05f18d3318eca7733b8dccb4f7be1ddf524c5","ci/dox.sh":"5b61711be47a4e3dde0ddd15ba73d256ea95fd75af3897732c24db1dc7e66366","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/lld-shim.rs":"3d7f71ec23a49e2b67f694a0168786f9a954dda15f5a138815d966643fd3fcc3","ci/max_line_width.sh":"0a1518bba4c9ecaa55694cb2e9930d0e19c265baabf73143f17f9cf285aaa5bb","ci/run-docker.sh":"92e036390ad9b0d16f109579df1b5ced2e72e9afea40c7d011400ebd3a2a90de","ci/run.sh":"63259e22a96ba539f53c06b1b39f53e3a78a71171652e7afc170836110ccd913","ci/run_examples.sh":"d1a23c6c35374a0678ba5114b9b8fefd8be0a79e774872a8bf0898d1baca18d0","ci/runtest-android.rs":"145a8e9799a5223975061fe7e586ade5669ee4877a7d7a4cf6b4ab48e8e36c7c","ci/setup_benchmarks.sh":"73fb981a8fdb1dcd54409d3c0fbbfb8f77a3ceabf8626a6b9bf9d21d6bc8ce72","ci/test-runner-linux":"c8aa6025cff5306f4f31d0c61dc5f9d4dd5a1d189ab613ef8d4c367c694d9ccd","contributing.md":"2cc8c9c560ae17867e69b06d09b758dbf7bc39eb774ada50a743724b10acc0a2","perf-guide/book.toml":"115a98284126c6b180178b44713314cc494f08a71662ee2ce15cf67f17a51064","perf-guide/src/SUMMARY.md":"3e03bffc991fdc2050f3d51842d72d9d21ea6abab56a3baf3b2d5973a78b89e1","perf-guide/src/ascii.css":"29afb08833b2fe2250f0412e1fa1161a2432a0820a14953c87124407417c741a","perf-guide/src/bound_checks.md":"5e4991ff58a183ef0cd9fdc1feb4cd12d083b44bdf87393bbb0927808ef3ce7d","perf-guide/src/float-math/approx.md":"8c09032fa2d795a0c5db1775826c850d28eb2627846d0965c60ee72de63735ad","perf-guide/src/float-math/fma.md":"311076ba4b741d604a82e74b83a8d7e8c318fcbd7f64c4392d1cf5af95c60243","perf-guide/src/float-math/fp.md":"04153e775ab6e4f0d7837bcc515230d327b04edfa34c84ce9c9e10ebaeef2be8","perf-guide/src/float-math/svml.md":"0798873b8eedaeda5fed62dc91645b57c20775a02d3cd74d8bd06958f1516506","perf-guide/src/introduction.md":"9f5a19e9e6751f25d2daad39891a0cc600974527ec4c8305843f9618910671bd","perf-guide/src/prof/linux.md":"447731eb5de7d69166728fdbc5ecb0c0c9db678ea493b45a592d67dd002184c0","perf-guide/src/prof/mca.md":"f56d54f3d20e7aa4d32052186e8237b03d65971eb5d112802b442570ff11d344","perf-guide/src/prof/profiling.md":"8a650c0fd6ede0964789bb6577557eeef1d8226a896788602ce61528e260e43c","perf-guide/src/target-feature/attribute.md":"615f88dca0a707b6c416fa605435dd6e1fb5361cc639429cbf68cd87624bd78b","perf-guide/src/target-feature/features.md":"17077760ff24c006b606dd21889c53d87228f4311f3ba3a574f9afdeacd86165","perf-guide/src/target-feature/inlining.md":"7ed1d7068d8173a00d84c16cfe5871cd68b9f04f8d0cca2d01ebc84957ebf2f6","perf-guide/src/target-feature/practice.md":"c4b371842e0086df178488fec97f20def8f0c62ee588bcd25fd948b9b1fa227e","perf-guide/src/target-feature/runtime.md":"835425f5ee597fb3e51d36e725a81ebee29f4561231d19563cd4da81dbb1cfcb","perf-guide/src/target-feature/rustflags.md":"ab49712e9293a65d74d540ba4784fcb57ff1119ec05a575d895c071f1a620f64","perf-guide/src/vert-hor-ops.md":"c6211c0ee91e60552ec592d89d9d957eedc21dee3cbd89e1ad6765ea06a27471","readme.md":"585a8f0e16877fb9abb00cd17a175fcb9d7857840c6c61209f1827ffab095070","rustfmt.toml":"de6101d0670bad65fb3b337d56957d2a024e017e5ab146ec784d77312daaf8ff","src/api.rs":"331a3a4abb19cee2df5f2df4ad7c3e88b45e62cf23fdacfc9bbaa633dc5cf788","src/api/bit_manip.rs":"e68290ee679cc5abc9c73afbe635c1035f8cbfe849e5c751a1680e459244c39e","src/api/cast.rs":"03b94a3d316ac7b7be7068810044911e965e889a0ace7bae762749ca74a92747","src/api/cast/macros.rs":"b0a14d0c83ad2ebb7a275180f6d9e3f2bc312ba57a7d3d6c39fad4e0f20f9408","src/api/cast/v128.rs":"63e28c6a3edf1a7a635f51b8d3c6adbb1d46f884d92a196b3d4a6e743d809416","src/api/cast/v16.rs":"2a584eeb57fd47baad6f3533764301b04aaaac23702b7a8db12598ac02899262","src/api/cast/v256.rs":"b91c15ed8d1536ecd97b4eb79ff9d5aba0552cd9b6f0ea6435b05f2273e23b3a","src/api/cast/v32.rs":"62ec89fcce7fa7f28497ee5770adc8f81d2d3a6b2925b02f7dc06504c40e8f38","src/api/cast/v512.rs":"d855cb943ae7106e9599ef38e30a3afb1c6bd5433178baca54cb128fd9a7d143","src/api/cast/v64.rs":"fe0f7dfaf4fc0c0c1a78c96fcfcdfdc2a1e2845843b11aa797a0c6fb52a8f774","src/api/cmp.rs":"357c3a2a09c6d4611c32dd7fa95be2fae933d513e229026ec9b44451a77b884e","src/api/cmp/eq.rs":"60f70f355bae4cb5b17db53204cacc3890f70670611c17df638d4c04f7cc8075","src/api/cmp/ord.rs":"589f7234761c294fa5df8f525bc4acd5a47cdb602207d524a0d4e19804cd9695","src/api/cmp/partial_eq.rs":"3ed23d2a930b0f9750c3a5309da766b03dc4f9c4d375b42ad3c50fe732693d15","src/api/cmp/partial_ord.rs":"e16b11805c94048acd058c93994b5bc74bb187f8d7e3b86a87df60e1601467f9","src/api/cmp/vertical.rs":"de3d62f38eba817299aa16f1e1939954c9a447e316509397465c2830852ba053","src/api/default.rs":"b61f92fc0e33a2633b3375eb405beba480da071cde03df4d437d8a6058afcd97","src/api/fmt.rs":"67fb804bb86b6cd77cf8cd492b5733ce437071b66fe3297278b8a6552c325dda","src/api/fmt/binary.rs":"35cb5c266197d6224d598fb3d286e5fe48ef0c01ed356c2ff6fe9ba946f96a92","src/api/fmt/debug.rs":"aa18eea443bf353fea3db8b1a025132bbcaf91e747ecfa43b8d9fce9af395a0c","src/api/fmt/lower_hex.rs":"69d5be366631af309f214e8031c8c20267fcc27a695eac6f45c6bc1df72a67e6","src/api/fmt/octal.rs":"9eb11ba3d990213f3c7f1ec25edba7ce997cb1320e16d308c83498ba6b9bfbd9","src/api/fmt/upper_hex.rs":"a4637d085b7bb20e759ce58e08435b510a563ba3dd468af2b03560fdc5511562","src/api/from.rs":"2e599d8329cb05eaf06224cc441355c4b7b51254fc19256619333be8c149d444","src/api/from/from_array.rs":"4151593c7bba7455821fffa5b59867005a77c95d32f1f0cc3fd87294000157d9","src/api/from/from_vector.rs":"9764371aa9e6005aace74dea14f59e5611a095b7cf42707940924749282c52f0","src/api/hash.rs":"562cfa3f1d8eb9a733c035a3665a599c2f1e341ee820d8fbdd102a4398a441bc","src/api/into_bits.rs":"82297f0697d67b5a015e904e7e6e7b2a7066ba825bc54b94b4ff3e22d7a1eefb","src/api/into_bits/arch_specific.rs":"1f925390b0ce7132587d95f2419c6e2ad3e1a9d17eb1d9c120a1c1c4bdf4277e","src/api/into_bits/macros.rs":"d762406de25aedff88d460dec7a80dc8e825a2a419d53218ce007efa6a1d3e04","src/api/into_bits/v128.rs":"ecdc5893664c71d7ab1ff3697c3fbe490d20d8748b9b76881d05e7625e40d74c","src/api/into_bits/v16.rs":"5459ec7dad1ad7bd30dc7e48374580b993abf23701d9c3cb22203fa0a9aabb6d","src/api/into_bits/v256.rs":"90ea351da0380ead1bf0f63b620afd40d01d638d09f7e7be31840bd2c1d9c663","src/api/into_bits/v32.rs":"ee1dc5a430050e16f51154b5fe85b1536f5feddf2ea23dd1d3859b67c4afc6fc","src/api/into_bits/v512.rs":"f72098ed1c9a23944f3d01abaf5e0f2d0e81d35a06fdadd2183e896d41b59867","src/api/into_bits/v64.rs":"6394462facdfe7827349c742b7801f1291e75a720dfb8c0b52100df46f371c98","src/api/math.rs":"8b2a2fc651917a850539f993aa0b9e5bf4da67b11685285b8de8cdca311719ec","src/api/math/float.rs":"61d2794d68262a1090ae473bd30793b5f65cf732f32a6694a3af2ce5d9225616","src/api/math/float/abs.rs":"5b6b2701e2e11135b7ce58a05052ea8120e10e4702c95d046b9d21b827b26bf8","src/api/math/float/consts.rs":"78acba000d3fa527111300b6327c1932de9c4c1e02d4174e1a5615c01463d38c","src/api/math/float/cos.rs":"4c2dd7173728ef189314f1576c9486e03be21b7da98843b2f9011282a7979e31","src/api/math/float/exp.rs":"7c6d5f1e304f498a01cfa23b92380c815d7da0ad94eae3483783bc377d287eef","src/api/math/float/ln.rs":"54c7583f3df793b39ff57534fade27b41bb992439e5dc178252f5ca3190a3e54","src/api/math/float/mul_add.rs":"62cac77660d20159276d4c9ef066eb90c81cbddb808e8e157182c607625ad2eb","src/api/math/float/mul_adde.rs":"bae056ee9f3a70df39ec3c3b2f6437c65303888a7b843ef1a5bcf1f5aca0e602","src/api/math/float/powf.rs":"9ddb938984b36d39d82a82f862f80df8f7fb013f1d222d45698d41d88472f568","src/api/math/float/recpre.rs":"589225794ff1dbf31158dff660e6d4509ecc8befbb57c633900dea5ac0b840d6","src/api/math/float/rsqrte.rs":"a32abdcc318d7ccc8448231f54d75b884b7cbeb03a7d595713ab6243036f4dbf","src/api/math/float/sin.rs":"cbd3622b7df74f19691743001c8cf747a201f8977ad90542fee915f37dcd1e49","src/api/math/float/sqrt.rs":"0c66d5d63fb08e4d99c6b82a8828e41173aff1ac9fa1a2764a11fac217ccf2ac","src/api/math/float/sqrte.rs":"731e1c9f321b662accdd27dacb3aac2e8043b7aecb2f2161dde733bd9f025362","src/api/minimal.rs":"1f22bcc528555444e76de569ec0ae2029b9ae9d04805efeafa93369c8098036b","src/api/minimal/iuf.rs":"c501a6696950cf5e521765f178de548af64fdfb6e10d026616d09fab93ca2d17","src/api/minimal/mask.rs":"42e415f536c5193d0218f5a754b34b87fd7c971bff068009f958712166ff056d","src/api/minimal/ptr.rs":"a9ee482d1dd1c956fb8f3f179e6e620b1de4e9d713961461d4c6923a4ef2e67c","src/api/ops.rs":"3e273b277a0f3019d42c3c59ca94a5afd4885d5ae6d2182e5089bbeec9de42ee","src/api/ops/scalar_arithmetic.rs":"d2d5ad897a59dd0787544f927e0e7ca4072c3e58b0f4a2324083312b0d5a21d7","src/api/ops/scalar_bitwise.rs":"482204e459ca6be79568e1c9f70adbe2d2151412ddf122fb2161be8ebb51c40c","src/api/ops/scalar_mask_bitwise.rs":"c250f52042e37b22d57256c80d4604104cfd2fbe2a2e127c676267270ca5d350","src/api/ops/scalar_shifts.rs":"987f8fdebeedc16e3d77c1b732e7826ef70633c541d16dfa290845d5c6289150","src/api/ops/vector_arithmetic.rs":"ddca15d09ddeef502c2ed66117a62300ca65d87e959e8b622d767bdf1c307910","src/api/ops/vector_bitwise.rs":"b3968f7005b649edcc22a54e2379b14d5ee19045f2e784029805781ae043b5ee","src/api/ops/vector_float_min_max.rs":"f5155dce75219f4ba11275b1f295d2fdcddd49d174a6f1fb2ace7ea42813ce41","src/api/ops/vector_int_min_max.rs":"a378789c6ff9b32a51fbd0a97ffd36ed102cd1fe6a067d2b02017c1df342def6","src/api/ops/vector_mask_bitwise.rs":"5052d18517d765415d40327e6e8e55a312daaca0a5e2aec959bfa54b1675f9c8","src/api/ops/vector_neg.rs":"5c62f6b0221983cdbd23cd0a3af3672e6ba1255f0dfe8b19aae6fbd6503e231b","src/api/ops/vector_rotates.rs":"03cbe8a400fd7c688e4ee771a990a6754f2031b1a59b19ae81158b21471167e5","src/api/ops/vector_shifts.rs":"9bf69d0087268f61009e39aea52e03a90f378910206b6a28e8393178b6a5d0e0","src/api/ptr.rs":"8a793251bed6130dcfb2f1519ceaa18b751bbb15875928d0fb6deb5a5e07523a","src/api/ptr/gather_scatter.rs":"9ddd960365e050674b25b2fd3116e24d94669b4375d74e71c03e3f1469576066","src/api/reductions.rs":"ae5baca81352ecd44526d6c30c0a1feeda475ec73ddd3c3ec6b14e944e5448ee","src/api/reductions/bitwise.rs":"8bf910ae226188bd15fc7e125f058cd2566b6186fcd0cd8fd020f352c39ce139","src/api/reductions/float_arithmetic.rs":"e58c8c87806a95df2b2b5b48ac5991036df024096d9d7c171a480fe9282896a4","src/api/reductions/integer_arithmetic.rs":"47471da1c5f859489680bb5d34ced3d3aa20081c16053a3af121a4496fcb57bf","src/api/reductions/mask.rs":"db83327a950e33a317f37fd33ca4e20c347fb415975ec024f3e23da8509425af","src/api/reductions/min_max.rs":"f27be3aa28e1c1f46de7890198db6e12f00c207085e89ef2de7e57ee443cdb98","src/api/select.rs":"a98e2ccf9fc6bdeed32d337c8675bc96c2fbe2cc34fbf149ad6047fb8e749774","src/api/shuffle.rs":"da58200790868c09659819322a489929a5b6e56c596ed07e6a44293ea02e7d09","src/api/shuffle1_dyn.rs":"bfea5a91905b31444e9ef7ca6eddb7a9606b7e22d3f71bb842eb2795a0346620","src/api/slice.rs":"ee87484e8af329547b9a5d4f2a69e8bed6ea10bbd96270d706083843d4eea2ac","src/api/slice/from_slice.rs":"4d4fe8a329c885fcb4fbcbedf99efb15a95296fe6b3f595056cc37037450d5ac","src/api/slice/write_to_slice.rs":"f5b23b2c4b91cfb26b713a9013a6c0da7f45eaefb79ba06dcbc27f3f23bda679","src/api/swap_bytes.rs":"4a6792a2e49a77475e1b237592b4b2804dbddb79c474331acd0dd71b36934259","src/codegen.rs":"c6eebc3d3665420aa6a2f317977e3c41a4f43e0550ac630cdbe8e4bbed5e2031","src/codegen/bit_manip.rs":"5559e095105a80003e0de35af1d19b0c65c9ab04eb743c7e01c5442d882eb34e","src/codegen/llvm.rs":"d1299c189abb17a6133f047574cffc7a6db4c1be37cb7d4785491cb5e8f8cf54","src/codegen/math.rs":"35f96e37a78fcf0cdb02146b7f27a45108fe06a37fc2a54d8851ce131a326178","src/codegen/math/float.rs":"dd86c0449e576c83b719700962ac017c332987fac08d91f2b7a2b1b883598170","src/codegen/math/float/abs.rs":"f56e2b4b8055ea861c1f5cbc6b6e1d8e7e5af163b62c13574ddee4e09513bfbc","src/codegen/math/float/cos.rs":"ef3b511a24d23045b310315e80348a9b7fedb576fc2de52d74290616a0abeb2a","src/codegen/math/float/cos_pi.rs":"4e7631a5d73dac21531e09ef1802d1180f8997509c2c8fa9f67f322194263a97","src/codegen/math/float/exp.rs":"61b691598c41b5622f24e4320c1bdd08701e612a516438bdddcc728fc3405c8c","src/codegen/math/float/ln.rs":"46b718b1ba8c9d99e1ad40f53d20dfde08a3063ca7bd2a9fdd6698e060da687e","src/codegen/math/float/macros.rs":"dd42135fff13f9aca4fd3a1a4e14c7e6c31aadc6d817d63b0d2fb9e62e062744","src/codegen/math/float/mul_add.rs":"a37bf764345d4b1714f97e83897b7cf0855fc2811704bcbc0012db91825339e1","src/codegen/math/float/mul_adde.rs":"c75702bfcb361de45964a93caf959a695ef2376bd069227600b8c6872665c755","src/codegen/math/float/powf.rs":"642346e982bc4c39203de0864d2149c4179cd7b21cf67a2951687932b4675872","src/codegen/math/float/sin.rs":"9d68164c90cdca6a85155040cdac42e27342ebe0b925273ef1593df721af4258","src/codegen/math/float/sin_cos_pi.rs":"9be02ad48585a1e8d99129382fbffbaed47852f15459256a708850b6b7a75405","src/codegen/math/float/sin_pi.rs":"9890347905b4d4a3c7341c3eb06406e46e60582bcf6960688bd727e5dadc6c57","src/codegen/math/float/sqrt.rs":"e3c60dcfb0c6d2fc62adabcc931b2d4040b83cab294dea36443fb4b89eb79e34","src/codegen/math/float/sqrte.rs":"f0f4ef9eb475ae41bcc7ec6a95ad744ba6b36925faa8b2c2814004396d196b63","src/codegen/pointer_sized_int.rs":"a70697169c28218b56fd2e8d5353f2e00671d1150d0c8cef77d613bdfacd84cb","src/codegen/reductions.rs":"645e2514746d01387ddd07f0aa4ffd8430cc9ab428d4fb13773ea319fa25dd95","src/codegen/reductions/mask.rs":"8f1afe6aabf096a3278e1fc3a30f736e04aa8b9ce96373cee22162d18cfe2702","src/codegen/reductions/mask/aarch64.rs":"cba6e17603d39795dcfe8339b6b7d8714c3e162a1f0a635979f037aa24fe4206","src/codegen/reductions/mask/arm.rs":"9447904818aa2c7c25d0963eead452a639a11ca7dbd6d21eedbfcaade07a0f33","src/codegen/reductions/mask/fallback.rs":"7a0ef9f7fd03ae318b495b95e121350cd61caffc5cc6ee17fabf130d5d933453","src/codegen/reductions/mask/fallback_impl.rs":"76547f396e55ef403327c77c314cf8db8c7a5c9b9819bfb925abeacf130249e5","src/codegen/reductions/mask/x86.rs":"14bd2c482071f2355beebcf7b7ecf950ff2dfcdb08c3ca50993092434a9de717","src/codegen/reductions/mask/x86/avx.rs":"b4913d87844c522903641cbbf10db4551addb1ce5e9e78278e21612fa65c733b","src/codegen/reductions/mask/x86/avx2.rs":"677aed3f056285285daa3adff8bc65e739630b4424defa6d9665e160f027507e","src/codegen/reductions/mask/x86/sse.rs":"226610b4ff88c676d5187114dd57b4a8800de6ce40884675e9198445b1ed0306","src/codegen/reductions/mask/x86/sse2.rs":"bc38e6c31cb4b3d62147eba6cac264e519e2a48e0f7ce9010cfa9ef0cf0ec9fd","src/codegen/shuffle.rs":"0abca97e92cdce49a58a39cc447eb09dc7d7715ef256c8dbd2181a186e61bb64","src/codegen/shuffle1_dyn.rs":"04523e9338133bdedb012dd076c2c564b79ce5593b0fc56d0fb6910e04190a81","src/codegen/swap_bytes.rs":"1d6cdc716eadddc92b4fd506b2445a821caa8dc00860447de09d7ebd69c2087f","src/codegen/v128.rs":"94226b31ec403d18d9d2fe06713f147c9c79e9b5f9105089088266313f843185","src/codegen/v16.rs":"ddec4ffb66b6f7aaffb9a1780c5ddba82557abd74f45073d335047e04cf74924","src/codegen/v256.rs":"6b63917f0444118d6b1595bff2045e59b97c4d24012bd575f69f1f0efc5a0241","src/codegen/v32.rs":"3477b3c5540aed86e61e2f5807dd31db947413cec9181c587d93ed6ec74f0eba","src/codegen/v512.rs":"5854f99d3aabc4cd42b28a20d9ce447756dc2ba024a409a69b6a8ae1f1842fc5","src/codegen/v64.rs":"e9e89caebfe63d10c0cbca61e4dfdba3b7e02ee0989170f80beed23237ddd950","src/codegen/vPtr.rs":"96d609a9eece4dcbbcc01ba0b8744d7f5958be12774176a2945bc676f4e6b5cb","src/codegen/vSize.rs":"eeee9858749aa82142b27bc120d1989bb74a6b82e1e4efbbeaccc9634dc9acfc","src/lib.rs":"1b5d419ff05ee0370d671810423ccc254708cc8d415c1dbac2a7a36be4bf63a8","src/masks.rs":"870f429967b2d7d5133f4d28d6c753fc5cef0570b27b29d4e966a066d22d2d0e","src/sealed.rs":"ff7f0324276408ae8249941cfa32c90b8835a54d750896b683efea857af19db2","src/testing.rs":"1d3a7862ef625e235a5734ad7204e68d350f902c0695182b1f08a0552432416e","src/testing/macros.rs":"6378856d7a40ba5ec5c7c0dad6327d79f0c77266921c24296d10aed6c68e9b98","src/testing/utils.rs":"d6fd5a5017f1f85d9d99585754f8f6ad06fc3d683b34083543e67a7cc6c1772c","src/v128.rs":"18fe263c4aa28cd06461c7070b0269f69f4a2e75749b8f142a83dfdfe4d22bf5","src/v16.rs":"e5c663c9fb3547eaeac78a5f7db9969f4d8b5ec96112bf2954602fff11f0aebd","src/v256.rs":"68732cd688ad12a56d8b4f8ddf279f77bdfe1be2943c7dc0c1b4f1a76798aa0f","src/v32.rs":"785b22a1ccb4a41bb53dfeb0670f624c0ce42e6cdf62d1747e3283777a1c70bd","src/v512.rs":"d1337bfe07f06a8f37f8e8fa7d4315b9307476ee435ad80dd5269eaed564fbfa","src/v64.rs":"3077468d65125b8f085e9454c8b2463a4d5225697464ba6a1300f8799528fd4b","src/vPtr.rs":"c9a53f41f466e17b6648a4ce390fd8f4d3a848d440eb8a9a803a11608d76eb05","src/vSize.rs":"5c46d3e8c3ee5863d9b6e37e681f871386e0efc254d6d84ba711edb529ce7b3c","tests/endianness.rs":"541a144be017e3dd7da7c8ea49d907dc02538245e8c5f3deb5bd43da92c929e1"},"package":null}
-\ No newline at end of file
-diff --git a/third_party/rust/proc-macro2/.cargo-checksum.json b/third_party/rust/proc-macro2/.cargo-checksum.json
-index eeef4120af..e7849f2896 100644
---- mozilla-release/third_party/rust/proc-macro2/.cargo-checksum.json
-+++ mozilla-release/third_party/rust/proc-macro2/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"e2c1fc6ed317eeef8462fcd192f6b6389e1d84f0d7afeac78f12c23903deddf8","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"362a2156f7645528061b6e8487a2eb0f32f1693012ed82ee57afa05c039bba0d","build.rs":"0cc6e2cb919ddbff59cf1d810283939f97a59f0037540c0f2ee3453237635ff8","src/fallback.rs":"5c6379a90735e27abcc40253b223158c6b1e5784f3850bc423335363e87ef038","src/lib.rs":"ae5251296ad3fcd8b600919a993fec0afd8b56da3e11fef6bc7265b273129936","src/strnom.rs":"37f7791f73f123817ad5403af1d4e2a0714be27401729a2d451bc80b1f26bac9","src/wrapper.rs":"81372e910604217a625aa71c47d43e65f4e008456eae93ac39325c9abf10701a","tests/features.rs":"a86deb8644992a4eb64d9fd493eff16f9cf9c5cb6ade3a634ce0c990cf87d559","tests/marker.rs":"c2652e3ae1dfcb94d2e6313b29712c5dcbd0fe62026913e67bb7cebd7560aade","tests/test.rs":"8c427be9cba1fa8d4a16647e53e3545e5863e29e2c0b311c93c9dd1399abf6a1"},"package":"90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"}
-\ No newline at end of file
-+{"files":{"Cargo.toml":"302d447d62c8d091d6241cf62bdad607c0d4ed8ff9f43d9b254c9d99c253ee8e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"e1f9d4fc22cff2c049f166a403b41458632a94357890d31cf0e3ad83807fb430","build.rs":"a71283fbc495095eebbbf46753df3fe2c19505c745b508dea157f65796b64dd7","src/detection.rs":"9d25d896889e65330858f2d6f6223c1b98cd1dad189813ad4161ff189fbda2b8","src/fallback.rs":"b114e013695260f6066395c8712cea112ec2a386010397a80f15a60f8b986444","src/lib.rs":"7f528764a958587f007f0c2a330a6a414bae2c8e73d5ed9fb64ff1b42b1805b1","src/marker.rs":"87fce2d0357f5b7998b6d9dfb064f4a0cbc9dabb19e33d4b514a446243ebe2e8","src/parse.rs":"1d2253eacbd40eb3a2a933be2adcee356af922bdb48cc89ff266252a41fd98a1","src/wrapper.rs":"f52646ce1705c1f6265516f30d4c43297b5f529dd31fb91f4c806be89d5a4122","tests/comments.rs":"ea6cbe6f4c8852e6a0612893c7d4f2c144a2e6a134a6c3db641a320cbfc3c800","tests/features.rs":"a86deb8644992a4eb64d9fd493eff16f9cf9c5cb6ade3a634ce0c990cf87d559","tests/marker.rs":"652db9f25c69ffc65baa60cdca8f195aa2e254d4de0a9ddc85de4dc2470544b6","tests/test.rs":"5f30a704eeb2b9198b57f416d622da72d25cb9bf8d8b12e6d0e90aa2cb0e43fc","tests/test_fmt.rs":"745dfdc41d09c5308c221395eb43f2041f0a1413d2927a813bc2ad4554438fe2"},"package":"1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"}
-\ No newline at end of file
-diff --git a/third_party/rust/proc-macro2/Cargo.toml b/third_party/rust/proc-macro2/Cargo.toml
-index 95d653633d..22150c516a 100644
---- mozilla-release/third_party/rust/proc-macro2/Cargo.toml
-+++ mozilla-release/third_party/rust/proc-macro2/Cargo.toml
-@@ -13,21 +13,22 @@
- [package]
- edition = "2018"
- name = "proc-macro2"
--version = "1.0.5"
--authors = ["Alex Crichton <alex@alexcrichton.com>"]
--description = "A stable implementation of the upcoming new `proc_macro` API. Comes with an\noption, off by default, to also reimplement itself in terms of the upstream\nunstable API.\n"
--homepage = "https://github.com/alexcrichton/proc-macro2"
-+version = "1.0.24"
-+authors = ["Alex Crichton <alex@alexcrichton.com>", "David Tolnay <dtolnay@gmail.com>"]
-+description = "A substitute implementation of the compiler's `proc_macro` API to decouple\ntoken-based libraries from the procedural macro use case.\n"
- documentation = "https://docs.rs/proc-macro2"
- readme = "README.md"
- keywords = ["macros"]
-+categories = ["development-tools::procedural-macro-helpers"]
- license = "MIT OR Apache-2.0"
- repository = "https://github.com/alexcrichton/proc-macro2"
- [package.metadata.docs.rs]
- rustc-args = ["--cfg", "procmacro2_semver_exempt"]
- rustdoc-args = ["--cfg", "procmacro2_semver_exempt"]
-+targets = ["x86_64-unknown-linux-gnu"]
-
--[lib]
--name = "proc_macro2"
-+[package.metadata.playground]
-+features = ["span-locations"]
- [dependencies.unicode-xid]
- version = "0.2"
- [dev-dependencies.quote]
-@@ -39,5 +40,3 @@ default = ["proc-macro"]
- nightly = []
- proc-macro = []
- span-locations = []
--[badges.travis-ci]
--repository = "alexcrichton/proc-macro2"
-diff --git a/third_party/rust/proc-macro2/README.md b/third_party/rust/proc-macro2/README.md
-index 19b0c3b5f8..3d05e871a7 100644
---- mozilla-release/third_party/rust/proc-macro2/README.md
-+++ mozilla-release/third_party/rust/proc-macro2/README.md
-@@ -1,6 +1,6 @@
- # proc-macro2
-
--[![Build Status](https://api.travis-ci.com/alexcrichton/proc-macro2.svg?branch=master)](https://travis-ci.com/alexcrichton/proc-macro2)
-+[![Build Status](https://img.shields.io/github/workflow/status/alexcrichton/proc-macro2/build%20and%20test)](https://github.com/alexcrichton/proc-macro2/actions)
- [![Latest Version](https://img.shields.io/crates/v/proc-macro2.svg)](https://crates.io/crates/proc-macro2)
- [![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/proc-macro2)
-
-diff --git a/third_party/rust/proc-macro2/build.rs b/third_party/rust/proc-macro2/build.rs
-index deb9b92719..b247d874f6 100644
---- mozilla-release/third_party/rust/proc-macro2/build.rs
-+++ mozilla-release/third_party/rust/proc-macro2/build.rs
-@@ -14,6 +14,10 @@
- // procmacro2_semver_exempt surface area is implemented by using the
- // nightly-only proc_macro API.
- //
-+// "hygiene"
-+// Enable Span::mixed_site() and non-dummy behavior of Span::resolved_at
-+// and Span::located_at. Enabled on Rust 1.45+.
-+//
- // "proc_macro_span"
- // Enable non-dummy behavior of Span::start and Span::end methods which
- // requires an unstable compiler feature. Enabled when building with
-@@ -57,6 +61,22 @@ fn main() {
- println!("cargo:rustc-cfg=span_locations");
- }
-
-+ if version.minor < 32 {
-+ println!("cargo:rustc-cfg=no_libprocmacro_unwind_safe");
-+ }
-+
-+ if version.minor < 39 {
-+ println!("cargo:rustc-cfg=no_bind_by_move_pattern_guard");
-+ }
-+
-+ if version.minor >= 44 {
-+ println!("cargo:rustc-cfg=lexerror_display");
-+ }
-+
-+ if version.minor >= 45 {
-+ println!("cargo:rustc-cfg=hygiene");
-+ }
-+
- let target = env::var("TARGET").unwrap();
- if !enable_use_proc_macro(&target) {
- return;
-diff --git a/third_party/rust/proc-macro2/src/detection.rs b/third_party/rust/proc-macro2/src/detection.rs
-new file mode 100644
-index 0000000000..c597bc99c6
---- /dev/null
-+++ mozilla-release/third_party/rust/proc-macro2/src/detection.rs
-@@ -0,0 +1,67 @@
-+use std::panic::{self, PanicInfo};
-+use std::sync::atomic::*;
-+use std::sync::Once;
-+
-+static WORKS: AtomicUsize = AtomicUsize::new(0);
-+static INIT: Once = Once::new();
-+
-+pub(crate) fn inside_proc_macro() -> bool {
-+ match WORKS.load(Ordering::SeqCst) {
-+ 1 => return false,
-+ 2 => return true,
-+ _ => {}
-+ }
-+
-+ INIT.call_once(initialize);
-+ inside_proc_macro()
-+}
-+
-+pub(crate) fn force_fallback() {
-+ WORKS.store(1, Ordering::SeqCst);
-+}
-+
-+pub(crate) fn unforce_fallback() {
-+ initialize();
-+}
-+
-+// Swap in a null panic hook to avoid printing "thread panicked" to stderr,
-+// then use catch_unwind to determine whether the compiler's proc_macro is
-+// working. When proc-macro2 is used from outside of a procedural macro all
-+// of the proc_macro crate's APIs currently panic.
-+//
-+// The Once is to prevent the possibility of this ordering:
-+//
-+// thread 1 calls take_hook, gets the user's original hook
-+// thread 1 calls set_hook with the null hook
-+// thread 2 calls take_hook, thinks null hook is the original hook
-+// thread 2 calls set_hook with the null hook
-+// thread 1 calls set_hook with the actual original hook
-+// thread 2 calls set_hook with what it thinks is the original hook
-+//
-+// in which the user's hook has been lost.
-+//
-+// There is still a race condition where a panic in a different thread can
-+// happen during the interval that the user's original panic hook is
-+// unregistered such that their hook is incorrectly not called. This is
-+// sufficiently unlikely and less bad than printing panic messages to stderr
-+// on correct use of this crate. Maybe there is a libstd feature request
-+// here. For now, if a user needs to guarantee that this failure mode does
-+// not occur, they need to call e.g. `proc_macro2::Span::call_site()` from
-+// the main thread before launching any other threads.
-+fn initialize() {
-+ type PanicHook = dyn Fn(&PanicInfo) + Sync + Send + 'static;
-+
-+ let null_hook: Box<PanicHook> = Box::new(|_panic_info| { /* ignore */ });
-+ let sanity_check = &*null_hook as *const PanicHook;
-+ let original_hook = panic::take_hook();
-+ panic::set_hook(null_hook);
-+
-+ let works = panic::catch_unwind(proc_macro::Span::call_site).is_ok();
-+ WORKS.store(works as usize + 1, Ordering::SeqCst);
-+
-+ let hopefully_null_hook = panic::take_hook();
-+ panic::set_hook(original_hook);
-+ if sanity_check != &*hopefully_null_hook {
-+ panic!("observed race condition in proc_macro2::inside_proc_macro");
-+ }
-+}
-diff --git a/third_party/rust/proc-macro2/src/fallback.rs b/third_party/rust/proc-macro2/src/fallback.rs
-index fe582b3b5f..8900c5ff0f 100644
---- mozilla-release/third_party/rust/proc-macro2/src/fallback.rs
-+++ mozilla-release/third_party/rust/proc-macro2/src/fallback.rs
-@@ -1,27 +1,41 @@
-+use crate::parse::{token_stream, Cursor};
-+use crate::{Delimiter, Spacing, TokenTree};
- #[cfg(span_locations)]
- use std::cell::RefCell;
- #[cfg(span_locations)]
- use std::cmp;
--use std::fmt;
--use std::iter;
-+use std::fmt::{self, Debug, Display};
-+use std::iter::FromIterator;
-+use std::mem;
- use std::ops::RangeBounds;
- #[cfg(procmacro2_semver_exempt)]
- use std::path::Path;
- use std::path::PathBuf;
- use std::str::FromStr;
- use std::vec;
--
--use crate::strnom::{block_comment, skip_whitespace, whitespace, word_break, Cursor, PResult};
--use crate::{Delimiter, Punct, Spacing, TokenTree};
- use unicode_xid::UnicodeXID;
-
-+/// Force use of proc-macro2's fallback implementation of the API for now, even
-+/// if the compiler's implementation is available.
-+pub fn force() {
-+ #[cfg(wrap_proc_macro)]
-+ crate::detection::force_fallback();
-+}
-+
-+/// Resume using the compiler's implementation of the proc macro API if it is
-+/// available.
-+pub fn unforce() {
-+ #[cfg(wrap_proc_macro)]
-+ crate::detection::unforce_fallback();
-+}
-+
- #[derive(Clone)]
--pub struct TokenStream {
-- inner: Vec<TokenTree>,
-+pub(crate) struct TokenStream {
-+ pub(crate) inner: Vec<TokenTree>,
- }
-
- #[derive(Debug)]
--pub struct LexError;
-+pub(crate) struct LexError;
-
- impl TokenStream {
- pub fn new() -> TokenStream {
-@@ -31,6 +45,72 @@ impl TokenStream {
- pub fn is_empty(&self) -> bool {
- self.inner.len() == 0
- }
-+
-+ fn take_inner(&mut self) -> Vec<TokenTree> {
-+ mem::replace(&mut self.inner, Vec::new())
-+ }
-+
-+ fn push_token(&mut self, token: TokenTree) {
-+ // https://github.com/alexcrichton/proc-macro2/issues/235
-+ match token {
-+ #[cfg(not(no_bind_by_move_pattern_guard))]
-+ TokenTree::Literal(crate::Literal {
-+ #[cfg(wrap_proc_macro)]
-+ inner: crate::imp::Literal::Fallback(literal),
-+ #[cfg(not(wrap_proc_macro))]
-+ inner: literal,
-+ ..
-+ }) if literal.text.starts_with('-') => {
-+ push_negative_literal(self, literal);
-+ }
-+ #[cfg(no_bind_by_move_pattern_guard)]
-+ TokenTree::Literal(crate::Literal {
-+ #[cfg(wrap_proc_macro)]
-+ inner: crate::imp::Literal::Fallback(literal),
-+ #[cfg(not(wrap_proc_macro))]
-+ inner: literal,
-+ ..
-+ }) => {
-+ if literal.text.starts_with('-') {
-+ push_negative_literal(self, literal);
-+ } else {
-+ self.inner
-+ .push(TokenTree::Literal(crate::Literal::_new_stable(literal)));
-+ }
-+ }
-+ _ => self.inner.push(token),
-+ }
-+
-+ #[cold]
-+ fn push_negative_literal(stream: &mut TokenStream, mut literal: Literal) {
-+ literal.text.remove(0);
-+ let mut punct = crate::Punct::new('-', Spacing::Alone);
-+ punct.set_span(crate::Span::_new_stable(literal.span));
-+ stream.inner.push(TokenTree::Punct(punct));
-+ stream
-+ .inner
-+ .push(TokenTree::Literal(crate::Literal::_new_stable(literal)));
-+ }
-+ }
-+}
-+
-+// Nonrecursive to prevent stack overflow.
-+impl Drop for TokenStream {
-+ fn drop(&mut self) {
-+ while let Some(token) = self.inner.pop() {
-+ let group = match token {
-+ TokenTree::Group(group) => group.inner,
-+ _ => continue,
-+ };
-+ #[cfg(wrap_proc_macro)]
-+ let group = match group {
-+ crate::imp::Group::Fallback(group) => group,
-+ _ => continue,
-+ };
-+ let mut group = group;
-+ self.inner.extend(group.stream.take_inner());
-+ }
-+ }
- }
-
- #[cfg(span_locations)]
-@@ -59,20 +139,22 @@ impl FromStr for TokenStream {
- // Create a dummy file & add it to the source map
- let cursor = get_cursor(src);
-
-- match token_stream(cursor) {
-- Ok((input, output)) => {
-- if skip_whitespace(input).len() != 0 {
-- Err(LexError)
-- } else {
-- Ok(output)
-- }
-- }
-- Err(LexError) => Err(LexError),
-+ let (rest, tokens) = token_stream(cursor)?;
-+ if rest.is_empty() {
-+ Ok(tokens)
-+ } else {
-+ Err(LexError)
- }
- }
- }
-
--impl fmt::Display for TokenStream {
-+impl Display for LexError {
-+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+ f.write_str("cannot parse string into token stream")
-+ }
-+}
-+
-+impl Display for TokenStream {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- let mut joint = false;
- for (i, tt) in self.inner.iter().enumerate() {
-@@ -80,37 +162,22 @@ impl fmt::Display for TokenStream {
- write!(f, " ")?;
- }
- joint = false;
-- match *tt {
-- TokenTree::Group(ref tt) => {
-- let (start, end) = match tt.delimiter() {
-- Delimiter::Parenthesis => ("(", ")"),
-- Delimiter::Brace => ("{", "}"),
-- Delimiter::Bracket => ("[", "]"),
-- Delimiter::None => ("", ""),
-- };
-- if tt.stream().into_iter().next().is_none() {
-- write!(f, "{} {}", start, end)?
-- } else {
-- write!(f, "{} {} {}", start, tt.stream(), end)?
-- }
-- }
-- TokenTree::Ident(ref tt) => write!(f, "{}", tt)?,
-- TokenTree::Punct(ref tt) => {
-- write!(f, "{}", tt.as_char())?;
-- match tt.spacing() {
-- Spacing::Alone => {}
-- Spacing::Joint => joint = true,
-- }
-+ match tt {
-+ TokenTree::Group(tt) => Display::fmt(tt, f),
-+ TokenTree::Ident(tt) => Display::fmt(tt, f),
-+ TokenTree::Punct(tt) => {
-+ joint = tt.spacing() == Spacing::Joint;
-+ Display::fmt(tt, f)
- }
-- TokenTree::Literal(ref tt) => write!(f, "{}", tt)?,
-- }
-+ TokenTree::Literal(tt) => Display::fmt(tt, f),
-+ }?
- }
-
- Ok(())
- }
- }
-
--impl fmt::Debug for TokenStream {
-+impl Debug for TokenStream {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- f.write_str("TokenStream ")?;
- f.debug_list().entries(self.clone()).finish()
-@@ -139,28 +206,26 @@ impl From<TokenStream> for proc_macro::TokenStream {
-
- impl From<TokenTree> for TokenStream {
- fn from(tree: TokenTree) -> TokenStream {
-- TokenStream { inner: vec![tree] }
-+ let mut stream = TokenStream::new();
-+ stream.push_token(tree);
-+ stream
- }
- }
-
--impl iter::FromIterator<TokenTree> for TokenStream {
-- fn from_iter<I: IntoIterator<Item = TokenTree>>(streams: I) -> Self {
-- let mut v = Vec::new();
--
-- for token in streams.into_iter() {
-- v.push(token);
-- }
--
-- TokenStream { inner: v }
-+impl FromIterator<TokenTree> for TokenStream {
-+ fn from_iter<I: IntoIterator<Item = TokenTree>>(tokens: I) -> Self {
-+ let mut stream = TokenStream::new();
-+ stream.extend(tokens);
-+ stream
- }
- }
-
--impl iter::FromIterator<TokenStream> for TokenStream {
-+impl FromIterator<TokenStream> for TokenStream {
- fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self {
- let mut v = Vec::new();
-
-- for stream in streams.into_iter() {
-- v.extend(stream.inner);
-+ for mut stream in streams {
-+ v.extend(stream.take_inner());
- }
-
- TokenStream { inner: v }
-@@ -168,31 +233,30 @@ impl iter::FromIterator<TokenStream> for TokenStream {
- }
-
- impl Extend<TokenTree> for TokenStream {
-- fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, streams: I) {
-- self.inner.extend(streams);
-+ fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, tokens: I) {
-+ tokens.into_iter().for_each(|token| self.push_token(token));
- }
- }
-
- impl Extend<TokenStream> for TokenStream {
- fn extend<I: IntoIterator<Item = TokenStream>>(&mut self, streams: I) {
-- self.inner
-- .extend(streams.into_iter().flat_map(|stream| stream));
-+ self.inner.extend(streams.into_iter().flatten());
- }
- }
-
--pub type TokenTreeIter = vec::IntoIter<TokenTree>;
-+pub(crate) type TokenTreeIter = vec::IntoIter<TokenTree>;
-
- impl IntoIterator for TokenStream {
- type Item = TokenTree;
- type IntoIter = TokenTreeIter;
-
-- fn into_iter(self) -> TokenTreeIter {
-- self.inner.into_iter()
-+ fn into_iter(mut self) -> TokenTreeIter {
-+ self.take_inner().into_iter()
- }
- }
-
- #[derive(Clone, PartialEq, Eq)]
--pub struct SourceFile {
-+pub(crate) struct SourceFile {
- path: PathBuf,
- }
-
-@@ -208,7 +272,7 @@ impl SourceFile {
- }
- }
-
--impl fmt::Debug for SourceFile {
-+impl Debug for SourceFile {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- f.debug_struct("SourceFile")
- .field("path", &self.path())
-@@ -218,7 +282,7 @@ impl fmt::Debug for SourceFile {
- }
-
- #[derive(Clone, Copy, Debug, PartialEq, Eq)]
--pub struct LineColumn {
-+pub(crate) struct LineColumn {
- pub line: usize,
- pub column: usize,
- }
-@@ -228,23 +292,11 @@ thread_local! {
- static SOURCE_MAP: RefCell<SourceMap> = RefCell::new(SourceMap {
- // NOTE: We start with a single dummy file which all call_site() and
- // def_site() spans reference.
-- files: vec![{
-+ files: vec![FileInfo {
- #[cfg(procmacro2_semver_exempt)]
-- {
-- FileInfo {
-- name: "<unspecified>".to_owned(),
-- span: Span { lo: 0, hi: 0 },
-- lines: vec![0],
-- }
-- }
--
-- #[cfg(not(procmacro2_semver_exempt))]
-- {
-- FileInfo {
-- span: Span { lo: 0, hi: 0 },
-- lines: vec![0],
-- }
-- }
-+ name: "<unspecified>".to_owned(),
-+ span: Span { lo: 0, hi: 0 },
-+ lines: vec![0],
- }],
- });
- }
-@@ -282,16 +334,21 @@ impl FileInfo {
- }
- }
-
--/// Computesthe offsets of each line in the given source string.
-+/// Computes the offsets of each line in the given source string
-+/// and the total number of characters
- #[cfg(span_locations)]
--fn lines_offsets(s: &str) -> Vec<usize> {
-+fn lines_offsets(s: &str) -> (usize, Vec<usize>) {
- let mut lines = vec![0];
-- let mut prev = 0;
-- while let Some(len) = s[prev..].find('\n') {
-- prev += len + 1;
-- lines.push(prev);
-+ let mut total = 0;
-+
-+ for ch in s.chars() {
-+ total += 1;
-+ if ch == '\n' {
-+ lines.push(total);
-+ }
- }
-- lines
-+
-+ (total, lines)
- }
-
- #[cfg(span_locations)]
-@@ -310,23 +367,22 @@ impl SourceMap {
- }
-
- fn add_file(&mut self, name: &str, src: &str) -> Span {
-- let lines = lines_offsets(src);
-+ let (len, lines) = lines_offsets(src);
- let lo = self.next_start_pos();
- // XXX(nika): Shouild we bother doing a checked cast or checked add here?
- let span = Span {
- lo,
-- hi: lo + (src.len() as u32),
-+ hi: lo + (len as u32),
- };
-
-- #[cfg(procmacro2_semver_exempt)]
- self.files.push(FileInfo {
-+ #[cfg(procmacro2_semver_exempt)]
- name: name.to_owned(),
- span,
- lines,
- });
-
- #[cfg(not(procmacro2_semver_exempt))]
-- self.files.push(FileInfo { span, lines });
- let _ = name;
-
- span
-@@ -343,11 +399,11 @@ impl SourceMap {
- }
-
- #[derive(Clone, Copy, PartialEq, Eq)]
--pub struct Span {
-+pub(crate) struct Span {
- #[cfg(span_locations)]
-- lo: u32,
-+ pub(crate) lo: u32,
- #[cfg(span_locations)]
-- hi: u32,
-+ pub(crate) hi: u32,
- }
-
- impl Span {
-@@ -361,12 +417,16 @@ impl Span {
- Span { lo: 0, hi: 0 }
- }
-
-+ #[cfg(hygiene)]
-+ pub fn mixed_site() -> Span {
-+ Span::call_site()
-+ }
-+
- #[cfg(procmacro2_semver_exempt)]
- pub fn def_site() -> Span {
- Span::call_site()
- }
-
-- #[cfg(procmacro2_semver_exempt)]
- pub fn resolved_at(&self, _other: Span) -> Span {
- // Stable spans consist only of line/column information, so
- // `resolved_at` and `located_at` only select which span the
-@@ -374,7 +434,6 @@ impl Span {
- *self
- }
-
-- #[cfg(procmacro2_semver_exempt)]
- pub fn located_at(&self, other: Span) -> Span {
- other
- }
-@@ -427,26 +486,59 @@ impl Span {
- })
- })
- }
-+
-+ #[cfg(not(span_locations))]
-+ fn first_byte(self) -> Self {
-+ self
-+ }
-+
-+ #[cfg(span_locations)]
-+ fn first_byte(self) -> Self {
-+ Span {
-+ lo: self.lo,
-+ hi: cmp::min(self.lo.saturating_add(1), self.hi),
-+ }
-+ }
-+
-+ #[cfg(not(span_locations))]
-+ fn last_byte(self) -> Self {
-+ self
-+ }
-+
-+ #[cfg(span_locations)]
-+ fn last_byte(self) -> Self {
-+ Span {
-+ lo: cmp::max(self.hi.saturating_sub(1), self.lo),
-+ hi: self.hi,
-+ }
-+ }
- }
-
--impl fmt::Debug for Span {
-+impl Debug for Span {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- #[cfg(procmacro2_semver_exempt)]
-+ #[cfg(span_locations)]
- return write!(f, "bytes({}..{})", self.lo, self.hi);
-
-- #[cfg(not(procmacro2_semver_exempt))]
-+ #[cfg(not(span_locations))]
- write!(f, "Span")
- }
- }
-
--pub fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) {
-- if cfg!(procmacro2_semver_exempt) {
-+pub(crate) fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) {
-+ #[cfg(span_locations)]
-+ {
-+ if span.lo == 0 && span.hi == 0 {
-+ return;
-+ }
-+ }
-+
-+ if cfg!(span_locations) {
- debug.field("span", &span);
- }
- }
-
- #[derive(Clone)]
--pub struct Group {
-+pub(crate) struct Group {
- delimiter: Delimiter,
- stream: TokenStream,
- span: Span,
-@@ -474,11 +566,11 @@ impl Group {
- }
-
- pub fn span_open(&self) -> Span {
-- self.span
-+ self.span.first_byte()
- }
-
- pub fn span_close(&self) -> Span {
-- self.span
-+ self.span.last_byte()
- }
-
- pub fn set_span(&mut self, span: Span) {
-@@ -486,36 +578,45 @@ impl Group {
- }
- }
-
--impl fmt::Display for Group {
-+impl Display for Group {
-+ // We attempt to match libproc_macro's formatting.
-+ // Empty parens: ()
-+ // Nonempty parens: (...)
-+ // Empty brackets: []
-+ // Nonempty brackets: [...]
-+ // Empty braces: { }
-+ // Nonempty braces: { ... }
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- let (left, right) = match self.delimiter {
-+ let (open, close) = match self.delimiter {
- Delimiter::Parenthesis => ("(", ")"),
-- Delimiter::Brace => ("{", "}"),
-+ Delimiter::Brace => ("{ ", "}"),
- Delimiter::Bracket => ("[", "]"),
- Delimiter::None => ("", ""),
- };
-
-- f.write_str(left)?;
-- self.stream.fmt(f)?;
-- f.write_str(right)?;
-+ f.write_str(open)?;
-+ Display::fmt(&self.stream, f)?;
-+ if self.delimiter == Delimiter::Brace && !self.stream.inner.is_empty() {
-+ f.write_str(" ")?;
-+ }
-+ f.write_str(close)?;
-
- Ok(())
- }
- }
-
--impl fmt::Debug for Group {
-+impl Debug for Group {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- let mut debug = fmt.debug_struct("Group");
- debug.field("delimiter", &self.delimiter);
- debug.field("stream", &self.stream);
-- #[cfg(procmacro2_semver_exempt)]
-- debug.field("span", &self.span);
-+ debug_span_field_if_nontrivial(&mut debug, self.span);
- debug.finish()
- }
- }
-
- #[derive(Clone)]
--pub struct Ident {
-+pub(crate) struct Ident {
- sym: String,
- span: Span,
- raw: bool,
-@@ -549,16 +650,14 @@ impl Ident {
- }
- }
-
--#[inline]
--fn is_ident_start(c: char) -> bool {
-+pub(crate) fn is_ident_start(c: char) -> bool {
- ('a' <= c && c <= 'z')
- || ('A' <= c && c <= 'Z')
- || c == '_'
- || (c > '\x7f' && UnicodeXID::is_xid_start(c))
- }
-
--#[inline]
--fn is_ident_continue(c: char) -> bool {
-+pub(crate) fn is_ident_continue(c: char) -> bool {
- ('a' <= c && c <= 'z')
- || ('A' <= c && c <= 'Z')
- || c == '_'
-@@ -615,18 +714,18 @@ where
- }
- }
-
--impl fmt::Display for Ident {
-+impl Display for Ident {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- if self.raw {
-- "r#".fmt(f)?;
-+ f.write_str("r#")?;
- }
-- self.sym.fmt(f)
-+ Display::fmt(&self.sym, f)
- }
- }
-
--impl fmt::Debug for Ident {
-+impl Debug for Ident {
- // Ident(proc_macro), Ident(r#union)
-- #[cfg(not(procmacro2_semver_exempt))]
-+ #[cfg(not(span_locations))]
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- let mut debug = f.debug_tuple("Ident");
- debug.field(&format_args!("{}", self));
-@@ -637,17 +736,17 @@ impl fmt::Debug for Ident {
- // sym: proc_macro,
- // span: bytes(128..138)
- // }
-- #[cfg(procmacro2_semver_exempt)]
-+ #[cfg(span_locations)]
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- let mut debug = f.debug_struct("Ident");
- debug.field("sym", &format_args!("{}", self));
-- debug.field("span", &self.span);
-+ debug_span_field_if_nontrivial(&mut debug, self.span);
- debug.finish()
- }
- }
-
- #[derive(Clone)]
--pub struct Literal {
-+pub(crate) struct Literal {
- text: String,
- span: Span,
- }
-@@ -669,7 +768,7 @@ macro_rules! unsuffixed_numbers {
- }
-
- impl Literal {
-- fn _new(text: String) -> Literal {
-+ pub(crate) fn _new(text: String) -> Literal {
- Literal {
- text,
- span: Span::call_site(),
-@@ -711,7 +810,7 @@ impl Literal {
-
- pub fn f32_unsuffixed(f: f32) -> Literal {
- let mut s = f.to_string();
-- if !s.contains(".") {
-+ if !s.contains('.') {
- s.push_str(".0");
- }
- Literal::_new(s)
-@@ -719,7 +818,7 @@ impl Literal {
-
- pub fn f64_unsuffixed(f: f64) -> Literal {
- let mut s = f.to_string();
-- if !s.contains(".") {
-+ if !s.contains('.') {
- s.push_str(".0");
- }
- Literal::_new(s)
-@@ -730,10 +829,10 @@ impl Literal {
- text.push('"');
- for c in t.chars() {
- if c == '\'' {
-- // escape_default turns this into "\'" which is unnecessary.
-+ // escape_debug turns this into "\'" which is unnecessary.
- text.push(c);
- } else {
-- text.extend(c.escape_default());
-+ text.extend(c.escape_debug());
- }
- }
- text.push('"');
-@@ -744,10 +843,10 @@ impl Literal {
- let mut text = String::new();
- text.push('\'');
- if t == '"' {
-- // escape_default turns this into '\"' which is unnecessary.
-+ // escape_debug turns this into '\"' which is unnecessary.
- text.push(t);
- } else {
-- text.extend(t.escape_default());
-+ text.extend(t.escape_debug());
- }
- text.push('\'');
- Literal::_new(text)
-@@ -756,6 +855,7 @@ impl Literal {
- pub fn byte_string(bytes: &[u8]) -> Literal {
- let mut escaped = "b\"".to_string();
- for b in bytes {
-+ #[allow(clippy::match_overlapping_arm)]
- match *b {
- b'\0' => escaped.push_str(r"\0"),
- b'\t' => escaped.push_str(r"\t"),
-@@ -784,651 +884,17 @@ impl Literal {
- }
- }
-
--impl fmt::Display for Literal {
-+impl Display for Literal {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.text.fmt(f)
-+ Display::fmt(&self.text, f)
- }
- }
-
--impl fmt::Debug for Literal {
-+impl Debug for Literal {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- let mut debug = fmt.debug_struct("Literal");
- debug.field("lit", &format_args!("{}", self.text));
-- #[cfg(procmacro2_semver_exempt)]
-- debug.field("span", &self.span);
-+ debug_span_field_if_nontrivial(&mut debug, self.span);
- debug.finish()
- }
- }
--
--fn token_stream(mut input: Cursor) -> PResult<TokenStream> {
-- let mut trees = Vec::new();
-- loop {
-- let input_no_ws = skip_whitespace(input);
-- if input_no_ws.rest.len() == 0 {
-- break;
-- }
-- if let Ok((a, tokens)) = doc_comment(input_no_ws) {
-- input = a;
-- trees.extend(tokens);
-- continue;
-- }
--
-- let (a, tt) = match token_tree(input_no_ws) {
-- Ok(p) => p,
-- Err(_) => break,
-- };
-- trees.push(tt);
-- input = a;
-- }
-- Ok((input, TokenStream { inner: trees }))
--}
--
--#[cfg(not(span_locations))]
--fn spanned<'a, T>(
-- input: Cursor<'a>,
-- f: fn(Cursor<'a>) -> PResult<'a, T>,
--) -> PResult<'a, (T, crate::Span)> {
-- let (a, b) = f(skip_whitespace(input))?;
-- Ok((a, ((b, crate::Span::_new_stable(Span::call_site())))))
--}
--
--#[cfg(span_locations)]
--fn spanned<'a, T>(
-- input: Cursor<'a>,
-- f: fn(Cursor<'a>) -> PResult<'a, T>,
--) -> PResult<'a, (T, crate::Span)> {
-- let input = skip_whitespace(input);
-- let lo = input.off;
-- let (a, b) = f(input)?;
-- let hi = a.off;
-- let span = crate::Span::_new_stable(Span { lo, hi });
-- Ok((a, (b, span)))
--}
--
--fn token_tree(input: Cursor) -> PResult<TokenTree> {
-- let (rest, (mut tt, span)) = spanned(input, token_kind)?;
-- tt.set_span(span);
-- Ok((rest, tt))
--}
--
--named!(token_kind -> TokenTree, alt!(
-- map!(group, |g| TokenTree::Group(crate::Group::_new_stable(g)))
-- |
-- map!(literal, |l| TokenTree::Literal(crate::Literal::_new_stable(l))) // must be before symbol
-- |
-- map!(op, TokenTree::Punct)
-- |
-- symbol_leading_ws
--));
--
--named!(group -> Group, alt!(
-- delimited!(
-- punct!("("),
-- token_stream,
-- punct!(")")
-- ) => { |ts| Group::new(Delimiter::Parenthesis, ts) }
-- |
-- delimited!(
-- punct!("["),
-- token_stream,
-- punct!("]")
-- ) => { |ts| Group::new(Delimiter::Bracket, ts) }
-- |
-- delimited!(
-- punct!("{"),
-- token_stream,
-- punct!("}")
-- ) => { |ts| Group::new(Delimiter::Brace, ts) }
--));
--
--fn symbol_leading_ws(input: Cursor) -> PResult<TokenTree> {
-- symbol(skip_whitespace(input))
--}
--
--fn symbol(input: Cursor) -> PResult<TokenTree> {
-- let raw = input.starts_with("r#");
-- let rest = input.advance((raw as usize) << 1);
--
-- let (rest, sym) = symbol_not_raw(rest)?;
--
-- if !raw {
-- let ident = crate::Ident::new(sym, crate::Span::call_site());
-- return Ok((rest, ident.into()));
-- }
--
-- if sym == "_" {
-- return Err(LexError);
-- }
--
-- let ident = crate::Ident::_new_raw(sym, crate::Span::call_site());
-- Ok((rest, ident.into()))
--}
--
--fn symbol_not_raw(input: Cursor) -> PResult<&str> {
-- let mut chars = input.char_indices();
--
-- match chars.next() {
-- Some((_, ch)) if is_ident_start(ch) => {}
-- _ => return Err(LexError),
-- }
--
-- let mut end = input.len();
-- for (i, ch) in chars {
-- if !is_ident_continue(ch) {
-- end = i;
-- break;
-- }
-- }
--
-- Ok((input.advance(end), &input.rest[..end]))
--}
--
--fn literal(input: Cursor) -> PResult<Literal> {
-- let input_no_ws = skip_whitespace(input);
--
-- match literal_nocapture(input_no_ws) {
-- Ok((a, ())) => {
-- let start = input.len() - input_no_ws.len();
-- let len = input_no_ws.len() - a.len();
-- let end = start + len;
-- Ok((a, Literal::_new(input.rest[start..end].to_string())))
-- }
-- Err(LexError) => Err(LexError),
-- }
--}
--
--named!(literal_nocapture -> (), alt!(
-- string
-- |
-- byte_string
-- |
-- byte
-- |
-- character
-- |
-- float
-- |
-- int
--));
--
--named!(string -> (), alt!(
-- quoted_string
-- |
-- preceded!(
-- punct!("r"),
-- raw_string
-- ) => { |_| () }
--));
--
--named!(quoted_string -> (), do_parse!(
-- punct!("\"") >>
-- cooked_string >>
-- tag!("\"") >>
-- option!(symbol_not_raw) >>
-- (())
--));
--
--fn cooked_string(input: Cursor) -> PResult<()> {
-- let mut chars = input.char_indices().peekable();
-- while let Some((byte_offset, ch)) = chars.next() {
-- match ch {
-- '"' => {
-- return Ok((input.advance(byte_offset), ()));
-- }
-- '\r' => {
-- if let Some((_, '\n')) = chars.next() {
-- // ...
-- } else {
-- break;
-- }
-- }
-- '\\' => match chars.next() {
-- Some((_, 'x')) => {
-- if !backslash_x_char(&mut chars) {
-- break;
-- }
-- }
-- Some((_, 'n')) | Some((_, 'r')) | Some((_, 't')) | Some((_, '\\'))
-- | Some((_, '\'')) | Some((_, '"')) | Some((_, '0')) => {}
-- Some((_, 'u')) => {
-- if !backslash_u(&mut chars) {
-- break;
-- }
-- }
-- Some((_, '\n')) | Some((_, '\r')) => {
-- while let Some(&(_, ch)) = chars.peek() {
-- if ch.is_whitespace() {
-- chars.next();
-- } else {
-- break;
-- }
-- }
-- }
-- _ => break,
-- },
-- _ch => {}
-- }
-- }
-- Err(LexError)
--}
--
--named!(byte_string -> (), alt!(
-- delimited!(
-- punct!("b\""),
-- cooked_byte_string,
-- tag!("\"")
-- ) => { |_| () }
-- |
-- preceded!(
-- punct!("br"),
-- raw_string
-- ) => { |_| () }
--));
--
--fn cooked_byte_string(mut input: Cursor) -> PResult<()> {
-- let mut bytes = input.bytes().enumerate();
-- 'outer: while let Some((offset, b)) = bytes.next() {
-- match b {
-- b'"' => {
-- return Ok((input.advance(offset), ()));
-- }
-- b'\r' => {
-- if let Some((_, b'\n')) = bytes.next() {
-- // ...
-- } else {
-- break;
-- }
-- }
-- b'\\' => match bytes.next() {
-- Some((_, b'x')) => {
-- if !backslash_x_byte(&mut bytes) {
-- break;
-- }
-- }
-- Some((_, b'n')) | Some((_, b'r')) | Some((_, b't')) | Some((_, b'\\'))
-- | Some((_, b'0')) | Some((_, b'\'')) | Some((_, b'"')) => {}
-- Some((newline, b'\n')) | Some((newline, b'\r')) => {
-- let rest = input.advance(newline + 1);
-- for (offset, ch) in rest.char_indices() {
-- if !ch.is_whitespace() {
-- input = rest.advance(offset);
-- bytes = input.bytes().enumerate();
-- continue 'outer;
-- }
-- }
-- break;
-- }
-- _ => break,
-- },
-- b if b < 0x80 => {}
-- _ => break,
-- }
-- }
-- Err(LexError)
--}
--
--fn raw_string(input: Cursor) -> PResult<()> {
-- let mut chars = input.char_indices();
-- let mut n = 0;
-- while let Some((byte_offset, ch)) = chars.next() {
-- match ch {
-- '"' => {
-- n = byte_offset;
-- break;
-- }
-- '#' => {}
-- _ => return Err(LexError),
-- }
-- }
-- for (byte_offset, ch) in chars {
-- match ch {
-- '"' if input.advance(byte_offset + 1).starts_with(&input.rest[..n]) => {
-- let rest = input.advance(byte_offset + 1 + n);
-- return Ok((rest, ()));
-- }
-- '\r' => {}
-- _ => {}
-- }
-- }
-- Err(LexError)
--}
--
--named!(byte -> (), do_parse!(
-- punct!("b") >>
-- tag!("'") >>
-- cooked_byte >>
-- tag!("'") >>
-- (())
--));
--
--fn cooked_byte(input: Cursor) -> PResult<()> {
-- let mut bytes = input.bytes().enumerate();
-- let ok = match bytes.next().map(|(_, b)| b) {
-- Some(b'\\') => match bytes.next().map(|(_, b)| b) {
-- Some(b'x') => backslash_x_byte(&mut bytes),
-- Some(b'n') | Some(b'r') | Some(b't') | Some(b'\\') | Some(b'0') | Some(b'\'')
-- | Some(b'"') => true,
-- _ => false,
-- },
-- b => b.is_some(),
-- };
-- if ok {
-- match bytes.next() {
-- Some((offset, _)) => {
-- if input.chars().as_str().is_char_boundary(offset) {
-- Ok((input.advance(offset), ()))
-- } else {
-- Err(LexError)
-- }
-- }
-- None => Ok((input.advance(input.len()), ())),
-- }
-- } else {
-- Err(LexError)
-- }
--}
--
--named!(character -> (), do_parse!(
-- punct!("'") >>
-- cooked_char >>
-- tag!("'") >>
-- (())
--));
--
--fn cooked_char(input: Cursor) -> PResult<()> {
-- let mut chars = input.char_indices();
-- let ok = match chars.next().map(|(_, ch)| ch) {
-- Some('\\') => match chars.next().map(|(_, ch)| ch) {
-- Some('x') => backslash_x_char(&mut chars),
-- Some('u') => backslash_u(&mut chars),
-- Some('n') | Some('r') | Some('t') | Some('\\') | Some('0') | Some('\'') | Some('"') => {
-- true
-- }
-- _ => false,
-- },
-- ch => ch.is_some(),
-- };
-- if ok {
-- match chars.next() {
-- Some((idx, _)) => Ok((input.advance(idx), ())),
-- None => Ok((input.advance(input.len()), ())),
-- }
-- } else {
-- Err(LexError)
-- }
--}
--
--macro_rules! next_ch {
-- ($chars:ident @ $pat:pat $(| $rest:pat)*) => {
-- match $chars.next() {
-- Some((_, ch)) => match ch {
-- $pat $(| $rest)* => ch,
-- _ => return false,
-- },
-- None => return false
-- }
-- };
--}
--
--fn backslash_x_char<I>(chars: &mut I) -> bool
--where
-- I: Iterator<Item = (usize, char)>,
--{
-- next_ch!(chars @ '0'..='7');
-- next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
-- true
--}
--
--fn backslash_x_byte<I>(chars: &mut I) -> bool
--where
-- I: Iterator<Item = (usize, u8)>,
--{
-- next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
-- next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
-- true
--}
--
--fn backslash_u<I>(chars: &mut I) -> bool
--where
-- I: Iterator<Item = (usize, char)>,
--{
-- next_ch!(chars @ '{');
-- next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
-- loop {
-- let c = next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F' | '_' | '}');
-- if c == '}' {
-- return true;
-- }
-- }
--}
--
--fn float(input: Cursor) -> PResult<()> {
-- let (mut rest, ()) = float_digits(input)?;
-- if let Some(ch) = rest.chars().next() {
-- if is_ident_start(ch) {
-- rest = symbol_not_raw(rest)?.0;
-- }
-- }
-- word_break(rest)
--}
--
--fn float_digits(input: Cursor) -> PResult<()> {
-- let mut chars = input.chars().peekable();
-- match chars.next() {
-- Some(ch) if ch >= '0' && ch <= '9' => {}
-- _ => return Err(LexError),
-- }
--
-- let mut len = 1;
-- let mut has_dot = false;
-- let mut has_exp = false;
-- while let Some(&ch) = chars.peek() {
-- match ch {
-- '0'..='9' | '_' => {
-- chars.next();
-- len += 1;
-- }
-- '.' => {
-- if has_dot {
-- break;
-- }
-- chars.next();
-- if chars
-- .peek()
-- .map(|&ch| ch == '.' || is_ident_start(ch))
-- .unwrap_or(false)
-- {
-- return Err(LexError);
-- }
-- len += 1;
-- has_dot = true;
-- }
-- 'e' | 'E' => {
-- chars.next();
-- len += 1;
-- has_exp = true;
-- break;
-- }
-- _ => break,
-- }
-- }
--
-- let rest = input.advance(len);
-- if !(has_dot || has_exp || rest.starts_with("f32") || rest.starts_with("f64")) {
-- return Err(LexError);
-- }
--
-- if has_exp {
-- let mut has_exp_value = false;
-- while let Some(&ch) = chars.peek() {
-- match ch {
-- '+' | '-' => {
-- if has_exp_value {
-- break;
-- }
-- chars.next();
-- len += 1;
-- }
-- '0'..='9' => {
-- chars.next();
-- len += 1;
-- has_exp_value = true;
-- }
-- '_' => {
-- chars.next();
-- len += 1;
-- }
-- _ => break,
-- }
-- }
-- if !has_exp_value {
-- return Err(LexError);
-- }
-- }
--
-- Ok((input.advance(len), ()))
--}
--
--fn int(input: Cursor) -> PResult<()> {
-- let (mut rest, ()) = digits(input)?;
-- if let Some(ch) = rest.chars().next() {
-- if is_ident_start(ch) {
-- rest = symbol_not_raw(rest)?.0;
-- }
-- }
-- word_break(rest)
--}
--
--fn digits(mut input: Cursor) -> PResult<()> {
-- let base = if input.starts_with("0x") {
-- input = input.advance(2);
-- 16
-- } else if input.starts_with("0o") {
-- input = input.advance(2);
-- 8
-- } else if input.starts_with("0b") {
-- input = input.advance(2);
-- 2
-- } else {
-- 10
-- };
--
-- let mut len = 0;
-- let mut empty = true;
-- for b in input.bytes() {
-- let digit = match b {
-- b'0'..=b'9' => (b - b'0') as u64,
-- b'a'..=b'f' => 10 + (b - b'a') as u64,
-- b'A'..=b'F' => 10 + (b - b'A') as u64,
-- b'_' => {
-- if empty && base == 10 {
-- return Err(LexError);
-- }
-- len += 1;
-- continue;
-- }
-- _ => break,
-- };
-- if digit >= base {
-- return Err(LexError);
-- }
-- len += 1;
-- empty = false;
-- }
-- if empty {
-- Err(LexError)
-- } else {
-- Ok((input.advance(len), ()))
-- }
--}
--
--fn op(input: Cursor) -> PResult<Punct> {
-- let input = skip_whitespace(input);
-- match op_char(input) {
-- Ok((rest, '\'')) => {
-- symbol(rest)?;
-- Ok((rest, Punct::new('\'', Spacing::Joint)))
-- }
-- Ok((rest, ch)) => {
-- let kind = match op_char(rest) {
-- Ok(_) => Spacing::Joint,
-- Err(LexError) => Spacing::Alone,
-- };
-- Ok((rest, Punct::new(ch, kind)))
-- }
-- Err(LexError) => Err(LexError),
-- }
--}
--
--fn op_char(input: Cursor) -> PResult<char> {
-- if input.starts_with("//") || input.starts_with("/*") {
-- // Do not accept `/` of a comment as an op.
-- return Err(LexError);
-- }
--
-- let mut chars = input.chars();
-- let first = match chars.next() {
-- Some(ch) => ch,
-- None => {
-- return Err(LexError);
-- }
-- };
-- let recognized = "~!@#$%^&*-=+|;:,<.>/?'";
-- if recognized.contains(first) {
-- Ok((input.advance(first.len_utf8()), first))
-- } else {
-- Err(LexError)
-- }
--}
--
--fn doc_comment(input: Cursor) -> PResult<Vec<TokenTree>> {
-- let mut trees = Vec::new();
-- let (rest, ((comment, inner), span)) = spanned(input, doc_comment_contents)?;
-- trees.push(TokenTree::Punct(Punct::new('#', Spacing::Alone)));
-- if inner {
-- trees.push(Punct::new('!', Spacing::Alone).into());
-- }
-- let mut stream = vec![
-- TokenTree::Ident(crate::Ident::new("doc", span)),
-- TokenTree::Punct(Punct::new('=', Spacing::Alone)),
-- TokenTree::Literal(crate::Literal::string(comment)),
-- ];
-- for tt in stream.iter_mut() {
-- tt.set_span(span);
-- }
-- let group = Group::new(Delimiter::Bracket, stream.into_iter().collect());
-- trees.push(crate::Group::_new_stable(group).into());
-- for tt in trees.iter_mut() {
-- tt.set_span(span);
-- }
-- Ok((rest, trees))
--}
--
--named!(doc_comment_contents -> (&str, bool), alt!(
-- do_parse!(
-- punct!("//!") >>
-- s: take_until_newline_or_eof!() >>
-- ((s, true))
-- )
-- |
-- do_parse!(
-- option!(whitespace) >>
-- peek!(tag!("/*!")) >>
-- s: block_comment >>
-- ((s, true))
-- )
-- |
-- do_parse!(
-- punct!("///") >>
-- not!(tag!("/")) >>
-- s: take_until_newline_or_eof!() >>
-- ((s, false))
-- )
-- |
-- do_parse!(
-- option!(whitespace) >>
-- peek!(tuple!(tag!("/**"), not!(tag!("*")))) >>
-- s: block_comment >>
-- ((s, false))
-- )
--));
-diff --git a/third_party/rust/proc-macro2/src/lib.rs b/third_party/rust/proc-macro2/src/lib.rs
-index a08be3e815..c20fb50d4a 100644
---- mozilla-release/third_party/rust/proc-macro2/src/lib.rs
-+++ mozilla-release/third_party/rust/proc-macro2/src/lib.rs
-@@ -78,27 +78,24 @@
- //! a different thread.
-
- // Proc-macro2 types in rustdoc of other crates get linked to here.
--#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.5")]
-+#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.24")]
- #![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))]
- #![cfg_attr(super_unstable, feature(proc_macro_raw_ident, proc_macro_def_site))]
-+#![allow(clippy::needless_doctest_main)]
-
- #[cfg(use_proc_macro)]
- extern crate proc_macro;
-
--use std::cmp::Ordering;
--use std::fmt;
--use std::hash::{Hash, Hasher};
--use std::iter::FromIterator;
--use std::marker;
--use std::ops::RangeBounds;
--#[cfg(procmacro2_semver_exempt)]
--use std::path::PathBuf;
--use std::rc::Rc;
--use std::str::FromStr;
-+mod marker;
-+mod parse;
-+
-+#[cfg(wrap_proc_macro)]
-+mod detection;
-
--#[macro_use]
--mod strnom;
--mod fallback;
-+// Public for proc_macro2::fallback::force() and unforce(), but those are quite
-+// a niche use case so we omit it from rustdoc.
-+#[doc(hidden)]
-+pub mod fallback;
-
- #[cfg(not(wrap_proc_macro))]
- use crate::fallback as imp;
-@@ -106,6 +103,17 @@ use crate::fallback as imp;
- #[cfg(wrap_proc_macro)]
- mod imp;
-
-+use crate::marker::Marker;
-+use std::cmp::Ordering;
-+use std::error::Error;
-+use std::fmt::{self, Debug, Display};
-+use std::hash::{Hash, Hasher};
-+use std::iter::FromIterator;
-+use std::ops::RangeBounds;
-+#[cfg(procmacro2_semver_exempt)]
-+use std::path::PathBuf;
-+use std::str::FromStr;
-+
- /// An abstract stream of tokens, or more concretely a sequence of token trees.
- ///
- /// This type provides interfaces for iterating over token trees and for
-@@ -116,27 +124,27 @@ mod imp;
- #[derive(Clone)]
- pub struct TokenStream {
- inner: imp::TokenStream,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- /// Error returned from `TokenStream::from_str`.
- pub struct LexError {
- inner: imp::LexError,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- impl TokenStream {
- fn _new(inner: imp::TokenStream) -> TokenStream {
- TokenStream {
- inner,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
- fn _new_stable(inner: fallback::TokenStream) -> TokenStream {
- TokenStream {
- inner: inner.into(),
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
-@@ -173,7 +181,7 @@ impl FromStr for TokenStream {
- fn from_str(src: &str) -> Result<TokenStream, LexError> {
- let e = src.parse().map_err(|e| LexError {
- inner: e,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- })?;
- Ok(TokenStream::_new(e))
- }
-@@ -228,25 +236,33 @@ impl FromIterator<TokenStream> for TokenStream {
- /// convertible back into the same token stream (modulo spans), except for
- /// possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negative
- /// numeric literals.
--impl fmt::Display for TokenStream {
-+impl Display for TokenStream {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Display::fmt(&self.inner, f)
- }
- }
-
- /// Prints token in a form convenient for debugging.
--impl fmt::Debug for TokenStream {
-+impl Debug for TokenStream {
-+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+ Debug::fmt(&self.inner, f)
-+ }
-+}
-+
-+impl Debug for LexError {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
--impl fmt::Debug for LexError {
-+impl Display for LexError {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Display::fmt(&self.inner, f)
- }
- }
-
-+impl Error for LexError {}
-+
- /// The source file of a given `Span`.
- ///
- /// This type is semver exempt and not exposed by default.
-@@ -254,7 +270,7 @@ impl fmt::Debug for LexError {
- #[derive(Clone, PartialEq, Eq)]
- pub struct SourceFile {
- inner: imp::SourceFile,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- #[cfg(procmacro2_semver_exempt)]
-@@ -262,7 +278,7 @@ impl SourceFile {
- fn _new(inner: imp::SourceFile) -> Self {
- SourceFile {
- inner,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
-@@ -291,9 +307,9 @@ impl SourceFile {
- }
-
- #[cfg(procmacro2_semver_exempt)]
--impl fmt::Debug for SourceFile {
-+impl Debug for SourceFile {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
-@@ -311,25 +327,41 @@ pub struct LineColumn {
- pub column: usize,
- }
-
-+#[cfg(span_locations)]
-+impl Ord for LineColumn {
-+ fn cmp(&self, other: &Self) -> Ordering {
-+ self.line
-+ .cmp(&other.line)
-+ .then(self.column.cmp(&other.column))
-+ }
-+}
-+
-+#[cfg(span_locations)]
-+impl PartialOrd for LineColumn {
-+ fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
-+ Some(self.cmp(other))
-+ }
-+}
-+
- /// A region of source code, along with macro expansion information.
- #[derive(Copy, Clone)]
- pub struct Span {
- inner: imp::Span,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- impl Span {
- fn _new(inner: imp::Span) -> Span {
- Span {
- inner,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
- fn _new_stable(inner: fallback::Span) -> Span {
- Span {
- inner: inner.into(),
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
-@@ -342,6 +374,16 @@ impl Span {
- Span::_new(imp::Span::call_site())
- }
-
-+ /// The span located at the invocation of the procedural macro, but with
-+ /// local variables, labels, and `$crate` resolved at the definition site
-+ /// of the macro. This is the same hygiene behavior as `macro_rules`.
-+ ///
-+ /// This function requires Rust 1.45 or later.
-+ #[cfg(hygiene)]
-+ pub fn mixed_site() -> Span {
-+ Span::_new(imp::Span::mixed_site())
-+ }
-+
- /// A span that resolves at the macro definition site.
- ///
- /// This method is semver exempt and not exposed by default.
-@@ -352,18 +394,12 @@ impl Span {
-
- /// Creates a new span with the same line/column information as `self` but
- /// that resolves symbols as though it were at `other`.
-- ///
-- /// This method is semver exempt and not exposed by default.
-- #[cfg(procmacro2_semver_exempt)]
- pub fn resolved_at(&self, other: Span) -> Span {
- Span::_new(self.inner.resolved_at(other.inner))
- }
-
- /// Creates a new span with the same name resolution behavior as `self` but
- /// with the line/column information of `other`.
-- ///
-- /// This method is semver exempt and not exposed by default.
-- #[cfg(procmacro2_semver_exempt)]
- pub fn located_at(&self, other: Span) -> Span {
- Span::_new(self.inner.located_at(other.inner))
- }
-@@ -439,9 +475,9 @@ impl Span {
- }
-
- /// Prints a span in a form convenient for debugging.
--impl fmt::Debug for Span {
-+impl Debug for Span {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
-@@ -462,11 +498,11 @@ impl TokenTree {
- /// Returns the span of this tree, delegating to the `span` method of
- /// the contained token or a delimited stream.
- pub fn span(&self) -> Span {
-- match *self {
-- TokenTree::Group(ref t) => t.span(),
-- TokenTree::Ident(ref t) => t.span(),
-- TokenTree::Punct(ref t) => t.span(),
-- TokenTree::Literal(ref t) => t.span(),
-+ match self {
-+ TokenTree::Group(t) => t.span(),
-+ TokenTree::Ident(t) => t.span(),
-+ TokenTree::Punct(t) => t.span(),
-+ TokenTree::Literal(t) => t.span(),
- }
- }
-
-@@ -476,11 +512,11 @@ impl TokenTree {
- /// the span of each of the internal tokens, this will simply delegate to
- /// the `set_span` method of each variant.
- pub fn set_span(&mut self, span: Span) {
-- match *self {
-- TokenTree::Group(ref mut t) => t.set_span(span),
-- TokenTree::Ident(ref mut t) => t.set_span(span),
-- TokenTree::Punct(ref mut t) => t.set_span(span),
-- TokenTree::Literal(ref mut t) => t.set_span(span),
-+ match self {
-+ TokenTree::Group(t) => t.set_span(span),
-+ TokenTree::Ident(t) => t.set_span(span),
-+ TokenTree::Punct(t) => t.set_span(span),
-+ TokenTree::Literal(t) => t.set_span(span),
- }
- }
- }
-@@ -513,32 +549,32 @@ impl From<Literal> for TokenTree {
- /// convertible back into the same token tree (modulo spans), except for
- /// possibly `TokenTree::Group`s with `Delimiter::None` delimiters and negative
- /// numeric literals.
--impl fmt::Display for TokenTree {
-+impl Display for TokenTree {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- match *self {
-- TokenTree::Group(ref t) => t.fmt(f),
-- TokenTree::Ident(ref t) => t.fmt(f),
-- TokenTree::Punct(ref t) => t.fmt(f),
-- TokenTree::Literal(ref t) => t.fmt(f),
-+ match self {
-+ TokenTree::Group(t) => Display::fmt(t, f),
-+ TokenTree::Ident(t) => Display::fmt(t, f),
-+ TokenTree::Punct(t) => Display::fmt(t, f),
-+ TokenTree::Literal(t) => Display::fmt(t, f),
- }
- }
- }
-
- /// Prints token tree in a form convenient for debugging.
--impl fmt::Debug for TokenTree {
-+impl Debug for TokenTree {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- // Each of these has the name in the struct type in the derived debug,
- // so don't bother with an extra layer of indirection
-- match *self {
-- TokenTree::Group(ref t) => t.fmt(f),
-- TokenTree::Ident(ref t) => {
-+ match self {
-+ TokenTree::Group(t) => Debug::fmt(t, f),
-+ TokenTree::Ident(t) => {
- let mut debug = f.debug_struct("Ident");
- debug.field("sym", &format_args!("{}", t));
- imp::debug_span_field_if_nontrivial(&mut debug, t.span().inner);
- debug.finish()
- }
-- TokenTree::Punct(ref t) => t.fmt(f),
-- TokenTree::Literal(ref t) => t.fmt(f),
-+ TokenTree::Punct(t) => Debug::fmt(t, f),
-+ TokenTree::Literal(t) => Debug::fmt(t, f),
- }
- }
- }
-@@ -651,15 +687,15 @@ impl Group {
- /// Prints the group as a string that should be losslessly convertible back
- /// into the same group (modulo spans), except for possibly `TokenTree::Group`s
- /// with `Delimiter::None` delimiters.
--impl fmt::Display for Group {
-+impl Display for Group {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-- fmt::Display::fmt(&self.inner, formatter)
-+ Display::fmt(&self.inner, formatter)
- }
- }
-
--impl fmt::Debug for Group {
-+impl Debug for Group {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-- fmt::Debug::fmt(&self.inner, formatter)
-+ Debug::fmt(&self.inner, formatter)
- }
- }
-
-@@ -669,7 +705,7 @@ impl fmt::Debug for Group {
- /// `Punct` with different forms of `Spacing` returned.
- #[derive(Clone)]
- pub struct Punct {
-- op: char,
-+ ch: char,
- spacing: Spacing,
- span: Span,
- }
-@@ -695,9 +731,9 @@ impl Punct {
- ///
- /// The returned `Punct` will have the default span of `Span::call_site()`
- /// which can be further configured with the `set_span` method below.
-- pub fn new(op: char, spacing: Spacing) -> Punct {
-+ pub fn new(ch: char, spacing: Spacing) -> Punct {
- Punct {
-- op,
-+ ch,
- spacing,
- span: Span::call_site(),
- }
-@@ -705,7 +741,7 @@ impl Punct {
-
- /// Returns the value of this punctuation character as `char`.
- pub fn as_char(&self) -> char {
-- self.op
-+ self.ch
- }
-
- /// Returns the spacing of this punctuation character, indicating whether
-@@ -730,16 +766,16 @@ impl Punct {
-
- /// Prints the punctuation character as a string that should be losslessly
- /// convertible back into the same character.
--impl fmt::Display for Punct {
-+impl Display for Punct {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.op.fmt(f)
-+ Display::fmt(&self.ch, f)
- }
- }
-
--impl fmt::Debug for Punct {
-+impl Debug for Punct {
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- let mut debug = fmt.debug_struct("Punct");
-- debug.field("op", &self.op);
-+ debug.field("char", &self.ch);
- debug.field("spacing", &self.spacing);
- imp::debug_span_field_if_nontrivial(&mut debug, self.span.inner);
- debug.finish()
-@@ -813,14 +849,14 @@ impl fmt::Debug for Punct {
- #[derive(Clone)]
- pub struct Ident {
- inner: imp::Ident,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- impl Ident {
- fn _new(inner: imp::Ident) -> Ident {
- Ident {
- inner,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
-@@ -920,15 +956,15 @@ impl Hash for Ident {
-
- /// Prints the identifier as a string that should be losslessly convertible back
- /// into the same identifier.
--impl fmt::Display for Ident {
-+impl Display for Ident {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Display::fmt(&self.inner, f)
- }
- }
-
--impl fmt::Debug for Ident {
-+impl Debug for Ident {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
-@@ -941,7 +977,7 @@ impl fmt::Debug for Ident {
- #[derive(Clone)]
- pub struct Literal {
- inner: imp::Literal,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- macro_rules! suffixed_int_literals {
-@@ -988,14 +1024,14 @@ impl Literal {
- fn _new(inner: imp::Literal) -> Literal {
- Literal {
- inner,
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
- fn _new_stable(inner: fallback::Literal) -> Literal {
- Literal {
- inner: inner.into(),
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
-
-@@ -1140,26 +1176,25 @@ impl Literal {
- }
- }
-
--impl fmt::Debug for Literal {
-+impl Debug for Literal {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
--impl fmt::Display for Literal {
-+impl Display for Literal {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Display::fmt(&self.inner, f)
- }
- }
-
- /// Public implementation details for the `TokenStream` type, such as iterators.
- pub mod token_stream {
-- use std::fmt;
-- use std::marker;
-- use std::rc::Rc;
-+ use crate::marker::Marker;
-+ use crate::{imp, TokenTree};
-+ use std::fmt::{self, Debug};
-
- pub use crate::TokenStream;
-- use crate::{imp, TokenTree};
-
- /// An iterator over `TokenStream`'s `TokenTree`s.
- ///
-@@ -1168,7 +1203,7 @@ pub mod token_stream {
- #[derive(Clone)]
- pub struct IntoIter {
- inner: imp::TokenTreeIter,
-- _marker: marker::PhantomData<Rc<()>>,
-+ _marker: Marker,
- }
-
- impl Iterator for IntoIter {
-@@ -1179,9 +1214,9 @@ pub mod token_stream {
- }
- }
-
-- impl fmt::Debug for IntoIter {
-+ impl Debug for IntoIter {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-- self.inner.fmt(f)
-+ Debug::fmt(&self.inner, f)
- }
- }
-
-@@ -1192,7 +1227,7 @@ pub mod token_stream {
- fn into_iter(self) -> IntoIter {
- IntoIter {
- inner: self.inner.into_iter(),
-- _marker: marker::PhantomData,
-+ _marker: Marker,
- }
- }
- }
-diff --git a/third_party/rust/proc-macro2/src/marker.rs b/third_party/rust/proc-macro2/src/marker.rs
-new file mode 100644
-index 0000000000..58729baf4a
---- /dev/null
-+++ mozilla-release/third_party/rust/proc-macro2/src/marker.rs
-@@ -0,0 +1,18 @@
-+use std::marker::PhantomData;
-+use std::panic::{RefUnwindSafe, UnwindSafe};
-+use std::rc::Rc;
-+
-+// Zero sized marker with the correct set of autotrait impls we want all proc
-+// macro types to have.
-+pub(crate) type Marker = PhantomData<ProcMacroAutoTraits>;
-+
-+pub(crate) use self::value::*;
-+
-+mod value {
-+ pub(crate) use std::marker::PhantomData as Marker;
-+}
-+
-+pub(crate) struct ProcMacroAutoTraits(Rc<()>);
-+
-+impl UnwindSafe for ProcMacroAutoTraits {}
-+impl RefUnwindSafe for ProcMacroAutoTraits {}
-diff --git a/third_party/rust/proc-macro2/src/parse.rs b/third_party/rust/proc-macro2/src/parse.rs
-new file mode 100644
-index 0000000000..365fe0484d
---- /dev/null
-+++ mozilla-release/third_party/rust/proc-macro2/src/parse.rs
-@@ -0,0 +1,849 @@
-+use crate::fallback::{
-+ is_ident_continue, is_ident_start, Group, LexError, Literal, Span, TokenStream,
-+};
-+use crate::{Delimiter, Punct, Spacing, TokenTree};
-+use std::char;
-+use std::str::{Bytes, CharIndices, Chars};
-+
-+#[derive(Copy, Clone, Eq, PartialEq)]
-+pub(crate) struct Cursor<'a> {
-+ pub rest: &'a str,
-+ #[cfg(span_locations)]
-+ pub off: u32,
-+}
-+
-+impl<'a> Cursor<'a> {
-+ fn advance(&self, bytes: usize) -> Cursor<'a> {
-+ let (_front, rest) = self.rest.split_at(bytes);
-+ Cursor {
-+ rest,
-+ #[cfg(span_locations)]
-+ off: self.off + _front.chars().count() as u32,
-+ }
-+ }
-+
-+ fn starts_with(&self, s: &str) -> bool {
-+ self.rest.starts_with(s)
-+ }
-+
-+ pub(crate) fn is_empty(&self) -> bool {
-+ self.rest.is_empty()
-+ }
-+
-+ fn len(&self) -> usize {
-+ self.rest.len()
-+ }
-+
-+ fn as_bytes(&self) -> &'a [u8] {
-+ self.rest.as_bytes()
-+ }
-+
-+ fn bytes(&self) -> Bytes<'a> {
-+ self.rest.bytes()
-+ }
-+
-+ fn chars(&self) -> Chars<'a> {
-+ self.rest.chars()
-+ }
-+
-+ fn char_indices(&self) -> CharIndices<'a> {
-+ self.rest.char_indices()
-+ }
-+
-+ fn parse(&self, tag: &str) -> Result<Cursor<'a>, LexError> {
-+ if self.starts_with(tag) {
-+ Ok(self.advance(tag.len()))
-+ } else {
-+ Err(LexError)
-+ }
-+ }
-+}
-+
-+type PResult<'a, O> = Result<(Cursor<'a>, O), LexError>;
-+
-+fn skip_whitespace(input: Cursor) -> Cursor {
-+ let mut s = input;
-+
-+ while !s.is_empty() {
-+ let byte = s.as_bytes()[0];
-+ if byte == b'/' {
-+ if s.starts_with("//")
-+ && (!s.starts_with("///") || s.starts_with("////"))
-+ && !s.starts_with("//!")
-+ {
-+ let (cursor, _) = take_until_newline_or_eof(s);
-+ s = cursor;
-+ continue;
-+ } else if s.starts_with("/**/") {
-+ s = s.advance(4);
-+ continue;
-+ } else if s.starts_with("/*")
-+ && (!s.starts_with("/**") || s.starts_with("/***"))
-+ && !s.starts_with("/*!")
-+ {
-+ match block_comment(s) {
-+ Ok((rest, _)) => {
-+ s = rest;
-+ continue;
-+ }
-+ Err(LexError) => return s,
-+ }
-+ }
-+ }
-+ match byte {
-+ b' ' | 0x09..=0x0d => {
-+ s = s.advance(1);
-+ continue;
-+ }
-+ b if b <= 0x7f => {}
-+ _ => {
-+ let ch = s.chars().next().unwrap();
-+ if is_whitespace(ch) {
-+ s = s.advance(ch.len_utf8());
-+ continue;
-+ }
-+ }
-+ }
-+ return s;
-+ }
-+ s
-+}
-+
-+fn block_comment(input: Cursor) -> PResult<&str> {
-+ if !input.starts_with("/*") {
-+ return Err(LexError);
-+ }
-+
-+ let mut depth = 0;
-+ let bytes = input.as_bytes();
-+ let mut i = 0;
-+ let upper = bytes.len() - 1;
-+
-+ while i < upper {
-+ if bytes[i] == b'/' && bytes[i + 1] == b'*' {
-+ depth += 1;
-+ i += 1; // eat '*'
-+ } else if bytes[i] == b'*' && bytes[i + 1] == b'/' {
-+ depth -= 1;
-+ if depth == 0 {
-+ return Ok((input.advance(i + 2), &input.rest[..i + 2]));
-+ }
-+ i += 1; // eat '/'
-+ }
-+ i += 1;
-+ }
-+
-+ Err(LexError)
-+}
-+
-+fn is_whitespace(ch: char) -> bool {
-+ // Rust treats left-to-right mark and right-to-left mark as whitespace
-+ ch.is_whitespace() || ch == '\u{200e}' || ch == '\u{200f}'
-+}
-+
-+fn word_break(input: Cursor) -> Result<Cursor, LexError> {
-+ match input.chars().next() {
-+ Some(ch) if is_ident_continue(ch) => Err(LexError),
-+ Some(_) | None => Ok(input),
-+ }
-+}
-+
-+pub(crate) fn token_stream(mut input: Cursor) -> PResult<TokenStream> {
-+ let mut trees = Vec::new();
-+ let mut stack = Vec::new();
-+
-+ loop {
-+ input = skip_whitespace(input);
-+
-+ if let Ok((rest, tt)) = doc_comment(input) {
-+ trees.extend(tt);
-+ input = rest;
-+ continue;
-+ }
-+
-+ #[cfg(span_locations)]
-+ let lo = input.off;
-+
-+ let first = match input.bytes().next() {
-+ Some(first) => first,
-+ None => break,
-+ };
-+
-+ if let Some(open_delimiter) = match first {
-+ b'(' => Some(Delimiter::Parenthesis),
-+ b'[' => Some(Delimiter::Bracket),
-+ b'{' => Some(Delimiter::Brace),
-+ _ => None,
-+ } {
-+ input = input.advance(1);
-+ let frame = (open_delimiter, trees);
-+ #[cfg(span_locations)]
-+ let frame = (lo, frame);
-+ stack.push(frame);
-+ trees = Vec::new();
-+ } else if let Some(close_delimiter) = match first {
-+ b')' => Some(Delimiter::Parenthesis),
-+ b']' => Some(Delimiter::Bracket),
-+ b'}' => Some(Delimiter::Brace),
-+ _ => None,
-+ } {
-+ input = input.advance(1);
-+ let frame = stack.pop().ok_or(LexError)?;
-+ #[cfg(span_locations)]
-+ let (lo, frame) = frame;
-+ let (open_delimiter, outer) = frame;
-+ if open_delimiter != close_delimiter {
-+ return Err(LexError);
-+ }
-+ let mut g = Group::new(open_delimiter, TokenStream { inner: trees });
-+ g.set_span(Span {
-+ #[cfg(span_locations)]
-+ lo,
-+ #[cfg(span_locations)]
-+ hi: input.off,
-+ });
-+ trees = outer;
-+ trees.push(TokenTree::Group(crate::Group::_new_stable(g)));
-+ } else {
-+ let (rest, mut tt) = leaf_token(input)?;
-+ tt.set_span(crate::Span::_new_stable(Span {
-+ #[cfg(span_locations)]
-+ lo,
-+ #[cfg(span_locations)]
-+ hi: rest.off,
-+ }));
-+ trees.push(tt);
-+ input = rest;
-+ }
-+ }
-+
-+ if stack.is_empty() {
-+ Ok((input, TokenStream { inner: trees }))
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn leaf_token(input: Cursor) -> PResult<TokenTree> {
-+ if let Ok((input, l)) = literal(input) {
-+ // must be parsed before ident
-+ Ok((input, TokenTree::Literal(crate::Literal::_new_stable(l))))
-+ } else if let Ok((input, p)) = punct(input) {
-+ Ok((input, TokenTree::Punct(p)))
-+ } else if let Ok((input, i)) = ident(input) {
-+ Ok((input, TokenTree::Ident(i)))
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn ident(input: Cursor) -> PResult<crate::Ident> {
-+ if ["r\"", "r#\"", "r##", "b\"", "b\'", "br\"", "br#"]
-+ .iter()
-+ .any(|prefix| input.starts_with(prefix))
-+ {
-+ Err(LexError)
-+ } else {
-+ ident_any(input)
-+ }
-+}
-+
-+fn ident_any(input: Cursor) -> PResult<crate::Ident> {
-+ let raw = input.starts_with("r#");
-+ let rest = input.advance((raw as usize) << 1);
-+
-+ let (rest, sym) = ident_not_raw(rest)?;
-+
-+ if !raw {
-+ let ident = crate::Ident::new(sym, crate::Span::call_site());
-+ return Ok((rest, ident));
-+ }
-+
-+ if sym == "_" {
-+ return Err(LexError);
-+ }
-+
-+ let ident = crate::Ident::_new_raw(sym, crate::Span::call_site());
-+ Ok((rest, ident))
-+}
-+
-+fn ident_not_raw(input: Cursor) -> PResult<&str> {
-+ let mut chars = input.char_indices();
-+
-+ match chars.next() {
-+ Some((_, ch)) if is_ident_start(ch) => {}
-+ _ => return Err(LexError),
-+ }
-+
-+ let mut end = input.len();
-+ for (i, ch) in chars {
-+ if !is_ident_continue(ch) {
-+ end = i;
-+ break;
-+ }
-+ }
-+
-+ Ok((input.advance(end), &input.rest[..end]))
-+}
-+
-+fn literal(input: Cursor) -> PResult<Literal> {
-+ match literal_nocapture(input) {
-+ Ok(a) => {
-+ let end = input.len() - a.len();
-+ Ok((a, Literal::_new(input.rest[..end].to_string())))
-+ }
-+ Err(LexError) => Err(LexError),
-+ }
-+}
-+
-+fn literal_nocapture(input: Cursor) -> Result<Cursor, LexError> {
-+ if let Ok(ok) = string(input) {
-+ Ok(ok)
-+ } else if let Ok(ok) = byte_string(input) {
-+ Ok(ok)
-+ } else if let Ok(ok) = byte(input) {
-+ Ok(ok)
-+ } else if let Ok(ok) = character(input) {
-+ Ok(ok)
-+ } else if let Ok(ok) = float(input) {
-+ Ok(ok)
-+ } else if let Ok(ok) = int(input) {
-+ Ok(ok)
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn literal_suffix(input: Cursor) -> Cursor {
-+ match ident_not_raw(input) {
-+ Ok((input, _)) => input,
-+ Err(LexError) => input,
-+ }
-+}
-+
-+fn string(input: Cursor) -> Result<Cursor, LexError> {
-+ if let Ok(input) = input.parse("\"") {
-+ cooked_string(input)
-+ } else if let Ok(input) = input.parse("r") {
-+ raw_string(input)
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn cooked_string(input: Cursor) -> Result<Cursor, LexError> {
-+ let mut chars = input.char_indices().peekable();
-+
-+ while let Some((i, ch)) = chars.next() {
-+ match ch {
-+ '"' => {
-+ let input = input.advance(i + 1);
-+ return Ok(literal_suffix(input));
-+ }
-+ '\r' => match chars.next() {
-+ Some((_, '\n')) => {}
-+ _ => break,
-+ },
-+ '\\' => match chars.next() {
-+ Some((_, 'x')) => {
-+ if !backslash_x_char(&mut chars) {
-+ break;
-+ }
-+ }
-+ Some((_, 'n')) | Some((_, 'r')) | Some((_, 't')) | Some((_, '\\'))
-+ | Some((_, '\'')) | Some((_, '"')) | Some((_, '0')) => {}
-+ Some((_, 'u')) => {
-+ if !backslash_u(&mut chars) {
-+ break;
-+ }
-+ }
-+ Some((_, ch @ '\n')) | Some((_, ch @ '\r')) => {
-+ let mut last = ch;
-+ loop {
-+ if last == '\r' && chars.next().map_or(true, |(_, ch)| ch != '\n') {
-+ return Err(LexError);
-+ }
-+ match chars.peek() {
-+ Some((_, ch)) if ch.is_whitespace() => {
-+ last = *ch;
-+ chars.next();
-+ }
-+ _ => break,
-+ }
-+ }
-+ }
-+ _ => break,
-+ },
-+ _ch => {}
-+ }
-+ }
-+ Err(LexError)
-+}
-+
-+fn byte_string(input: Cursor) -> Result<Cursor, LexError> {
-+ if let Ok(input) = input.parse("b\"") {
-+ cooked_byte_string(input)
-+ } else if let Ok(input) = input.parse("br") {
-+ raw_string(input)
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn cooked_byte_string(mut input: Cursor) -> Result<Cursor, LexError> {
-+ let mut bytes = input.bytes().enumerate();
-+ while let Some((offset, b)) = bytes.next() {
-+ match b {
-+ b'"' => {
-+ let input = input.advance(offset + 1);
-+ return Ok(literal_suffix(input));
-+ }
-+ b'\r' => match bytes.next() {
-+ Some((_, b'\n')) => {}
-+ _ => break,
-+ },
-+ b'\\' => match bytes.next() {
-+ Some((_, b'x')) => {
-+ if !backslash_x_byte(&mut bytes) {
-+ break;
-+ }
-+ }
-+ Some((_, b'n')) | Some((_, b'r')) | Some((_, b't')) | Some((_, b'\\'))
-+ | Some((_, b'0')) | Some((_, b'\'')) | Some((_, b'"')) => {}
-+ Some((newline, b @ b'\n')) | Some((newline, b @ b'\r')) => {
-+ let mut last = b as char;
-+ let rest = input.advance(newline + 1);
-+ let mut chars = rest.char_indices();
-+ loop {
-+ if last == '\r' && chars.next().map_or(true, |(_, ch)| ch != '\n') {
-+ return Err(LexError);
-+ }
-+ match chars.next() {
-+ Some((_, ch)) if ch.is_whitespace() => last = ch,
-+ Some((offset, _)) => {
-+ input = rest.advance(offset);
-+ bytes = input.bytes().enumerate();
-+ break;
-+ }
-+ None => return Err(LexError),
-+ }
-+ }
-+ }
-+ _ => break,
-+ },
-+ b if b < 0x80 => {}
-+ _ => break,
-+ }
-+ }
-+ Err(LexError)
-+}
-+
-+fn raw_string(input: Cursor) -> Result<Cursor, LexError> {
-+ let mut chars = input.char_indices();
-+ let mut n = 0;
-+ while let Some((i, ch)) = chars.next() {
-+ match ch {
-+ '"' => {
-+ n = i;
-+ break;
-+ }
-+ '#' => {}
-+ _ => return Err(LexError),
-+ }
-+ }
-+ while let Some((i, ch)) = chars.next() {
-+ match ch {
-+ '"' if input.rest[i + 1..].starts_with(&input.rest[..n]) => {
-+ let rest = input.advance(i + 1 + n);
-+ return Ok(literal_suffix(rest));
-+ }
-+ '\r' => match chars.next() {
-+ Some((_, '\n')) => {}
-+ _ => break,
-+ },
-+ _ => {}
-+ }
-+ }
-+ Err(LexError)
-+}
-+
-+fn byte(input: Cursor) -> Result<Cursor, LexError> {
-+ let input = input.parse("b'")?;
-+ let mut bytes = input.bytes().enumerate();
-+ let ok = match bytes.next().map(|(_, b)| b) {
-+ Some(b'\\') => match bytes.next().map(|(_, b)| b) {
-+ Some(b'x') => backslash_x_byte(&mut bytes),
-+ Some(b'n') | Some(b'r') | Some(b't') | Some(b'\\') | Some(b'0') | Some(b'\'')
-+ | Some(b'"') => true,
-+ _ => false,
-+ },
-+ b => b.is_some(),
-+ };
-+ if !ok {
-+ return Err(LexError);
-+ }
-+ let (offset, _) = bytes.next().ok_or(LexError)?;
-+ if !input.chars().as_str().is_char_boundary(offset) {
-+ return Err(LexError);
-+ }
-+ let input = input.advance(offset).parse("'")?;
-+ Ok(literal_suffix(input))
-+}
-+
-+fn character(input: Cursor) -> Result<Cursor, LexError> {
-+ let input = input.parse("'")?;
-+ let mut chars = input.char_indices();
-+ let ok = match chars.next().map(|(_, ch)| ch) {
-+ Some('\\') => match chars.next().map(|(_, ch)| ch) {
-+ Some('x') => backslash_x_char(&mut chars),
-+ Some('u') => backslash_u(&mut chars),
-+ Some('n') | Some('r') | Some('t') | Some('\\') | Some('0') | Some('\'') | Some('"') => {
-+ true
-+ }
-+ _ => false,
-+ },
-+ ch => ch.is_some(),
-+ };
-+ if !ok {
-+ return Err(LexError);
-+ }
-+ let (idx, _) = chars.next().ok_or(LexError)?;
-+ let input = input.advance(idx).parse("'")?;
-+ Ok(literal_suffix(input))
-+}
-+
-+macro_rules! next_ch {
-+ ($chars:ident @ $pat:pat $(| $rest:pat)*) => {
-+ match $chars.next() {
-+ Some((_, ch)) => match ch {
-+ $pat $(| $rest)* => ch,
-+ _ => return false,
-+ },
-+ None => return false,
-+ }
-+ };
-+}
-+
-+fn backslash_x_char<I>(chars: &mut I) -> bool
-+where
-+ I: Iterator<Item = (usize, char)>,
-+{
-+ next_ch!(chars @ '0'..='7');
-+ next_ch!(chars @ '0'..='9' | 'a'..='f' | 'A'..='F');
-+ true
-+}
-+
-+fn backslash_x_byte<I>(chars: &mut I) -> bool
-+where
-+ I: Iterator<Item = (usize, u8)>,
-+{
-+ next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
-+ next_ch!(chars @ b'0'..=b'9' | b'a'..=b'f' | b'A'..=b'F');
-+ true
-+}
-+
-+fn backslash_u<I>(chars: &mut I) -> bool
-+where
-+ I: Iterator<Item = (usize, char)>,
-+{
-+ next_ch!(chars @ '{');
-+ let mut value = 0;
-+ let mut len = 0;
-+ while let Some((_, ch)) = chars.next() {
-+ let digit = match ch {
-+ '0'..='9' => ch as u8 - b'0',
-+ 'a'..='f' => 10 + ch as u8 - b'a',
-+ 'A'..='F' => 10 + ch as u8 - b'A',
-+ '_' if len > 0 => continue,
-+ '}' if len > 0 => return char::from_u32(value).is_some(),
-+ _ => return false,
-+ };
-+ if len == 6 {
-+ return false;
-+ }
-+ value *= 0x10;
-+ value += u32::from(digit);
-+ len += 1;
-+ }
-+ false
-+}
-+
-+fn float(input: Cursor) -> Result<Cursor, LexError> {
-+ let mut rest = float_digits(input)?;
-+ if let Some(ch) = rest.chars().next() {
-+ if is_ident_start(ch) {
-+ rest = ident_not_raw(rest)?.0;
-+ }
-+ }
-+ word_break(rest)
-+}
-+
-+fn float_digits(input: Cursor) -> Result<Cursor, LexError> {
-+ let mut chars = input.chars().peekable();
-+ match chars.next() {
-+ Some(ch) if ch >= '0' && ch <= '9' => {}
-+ _ => return Err(LexError),
-+ }
-+
-+ let mut len = 1;
-+ let mut has_dot = false;
-+ let mut has_exp = false;
-+ while let Some(&ch) = chars.peek() {
-+ match ch {
-+ '0'..='9' | '_' => {
-+ chars.next();
-+ len += 1;
-+ }
-+ '.' => {
-+ if has_dot {
-+ break;
-+ }
-+ chars.next();
-+ if chars
-+ .peek()
-+ .map(|&ch| ch == '.' || is_ident_start(ch))
-+ .unwrap_or(false)
-+ {
-+ return Err(LexError);
-+ }
-+ len += 1;
-+ has_dot = true;
-+ }
-+ 'e' | 'E' => {
-+ chars.next();
-+ len += 1;
-+ has_exp = true;
-+ break;
-+ }
-+ _ => break,
-+ }
-+ }
-+
-+ if !(has_dot || has_exp) {
-+ return Err(LexError);
-+ }
-+
-+ if has_exp {
-+ let token_before_exp = if has_dot {
-+ Ok(input.advance(len - 1))
-+ } else {
-+ Err(LexError)
-+ };
-+ let mut has_sign = false;
-+ let mut has_exp_value = false;
-+ while let Some(&ch) = chars.peek() {
-+ match ch {
-+ '+' | '-' => {
-+ if has_exp_value {
-+ break;
-+ }
-+ if has_sign {
-+ return token_before_exp;
-+ }
-+ chars.next();
-+ len += 1;
-+ has_sign = true;
-+ }
-+ '0'..='9' => {
-+ chars.next();
-+ len += 1;
-+ has_exp_value = true;
-+ }
-+ '_' => {
-+ chars.next();
-+ len += 1;
-+ }
-+ _ => break,
-+ }
-+ }
-+ if !has_exp_value {
-+ return token_before_exp;
-+ }
-+ }
-+
-+ Ok(input.advance(len))
-+}
-+
-+fn int(input: Cursor) -> Result<Cursor, LexError> {
-+ let mut rest = digits(input)?;
-+ if let Some(ch) = rest.chars().next() {
-+ if is_ident_start(ch) {
-+ rest = ident_not_raw(rest)?.0;
-+ }
-+ }
-+ word_break(rest)
-+}
-+
-+fn digits(mut input: Cursor) -> Result<Cursor, LexError> {
-+ let base = if input.starts_with("0x") {
-+ input = input.advance(2);
-+ 16
-+ } else if input.starts_with("0o") {
-+ input = input.advance(2);
-+ 8
-+ } else if input.starts_with("0b") {
-+ input = input.advance(2);
-+ 2
-+ } else {
-+ 10
-+ };
-+
-+ let mut len = 0;
-+ let mut empty = true;
-+ for b in input.bytes() {
-+ match b {
-+ b'0'..=b'9' => {
-+ let digit = (b - b'0') as u64;
-+ if digit >= base {
-+ return Err(LexError);
-+ }
-+ }
-+ b'a'..=b'f' => {
-+ let digit = 10 + (b - b'a') as u64;
-+ if digit >= base {
-+ break;
-+ }
-+ }
-+ b'A'..=b'F' => {
-+ let digit = 10 + (b - b'A') as u64;
-+ if digit >= base {
-+ break;
-+ }
-+ }
-+ b'_' => {
-+ if empty && base == 10 {
-+ return Err(LexError);
-+ }
-+ len += 1;
-+ continue;
-+ }
-+ _ => break,
-+ };
-+ len += 1;
-+ empty = false;
-+ }
-+ if empty {
-+ Err(LexError)
-+ } else {
-+ Ok(input.advance(len))
-+ }
-+}
-+
-+fn punct(input: Cursor) -> PResult<Punct> {
-+ match punct_char(input) {
-+ Ok((rest, '\'')) => {
-+ if ident_any(rest)?.0.starts_with("'") {
-+ Err(LexError)
-+ } else {
-+ Ok((rest, Punct::new('\'', Spacing::Joint)))
-+ }
-+ }
-+ Ok((rest, ch)) => {
-+ let kind = match punct_char(rest) {
-+ Ok(_) => Spacing::Joint,
-+ Err(LexError) => Spacing::Alone,
-+ };
-+ Ok((rest, Punct::new(ch, kind)))
-+ }
-+ Err(LexError) => Err(LexError),
-+ }
-+}
-+
-+fn punct_char(input: Cursor) -> PResult<char> {
-+ if input.starts_with("//") || input.starts_with("/*") {
-+ // Do not accept `/` of a comment as a punct.
-+ return Err(LexError);
-+ }
-+
-+ let mut chars = input.chars();
-+ let first = match chars.next() {
-+ Some(ch) => ch,
-+ None => {
-+ return Err(LexError);
-+ }
-+ };
-+ let recognized = "~!@#$%^&*-=+|;:,<.>/?'";
-+ if recognized.contains(first) {
-+ Ok((input.advance(first.len_utf8()), first))
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn doc_comment(input: Cursor) -> PResult<Vec<TokenTree>> {
-+ #[cfg(span_locations)]
-+ let lo = input.off;
-+ let (rest, (comment, inner)) = doc_comment_contents(input)?;
-+ let span = crate::Span::_new_stable(Span {
-+ #[cfg(span_locations)]
-+ lo,
-+ #[cfg(span_locations)]
-+ hi: rest.off,
-+ });
-+
-+ let mut scan_for_bare_cr = comment;
-+ while let Some(cr) = scan_for_bare_cr.find('\r') {
-+ let rest = &scan_for_bare_cr[cr + 1..];
-+ if !rest.starts_with('\n') {
-+ return Err(LexError);
-+ }
-+ scan_for_bare_cr = rest;
-+ }
-+
-+ let mut trees = Vec::new();
-+ trees.push(TokenTree::Punct(Punct::new('#', Spacing::Alone)));
-+ if inner {
-+ trees.push(Punct::new('!', Spacing::Alone).into());
-+ }
-+ let mut stream = vec![
-+ TokenTree::Ident(crate::Ident::new("doc", span)),
-+ TokenTree::Punct(Punct::new('=', Spacing::Alone)),
-+ TokenTree::Literal(crate::Literal::string(comment)),
-+ ];
-+ for tt in stream.iter_mut() {
-+ tt.set_span(span);
-+ }
-+ let group = Group::new(Delimiter::Bracket, stream.into_iter().collect());
-+ trees.push(crate::Group::_new_stable(group).into());
-+ for tt in trees.iter_mut() {
-+ tt.set_span(span);
-+ }
-+ Ok((rest, trees))
-+}
-+
-+fn doc_comment_contents(input: Cursor) -> PResult<(&str, bool)> {
-+ if input.starts_with("//!") {
-+ let input = input.advance(3);
-+ let (input, s) = take_until_newline_or_eof(input);
-+ Ok((input, (s, true)))
-+ } else if input.starts_with("/*!") {
-+ let (input, s) = block_comment(input)?;
-+ Ok((input, (&s[3..s.len() - 2], true)))
-+ } else if input.starts_with("///") {
-+ let input = input.advance(3);
-+ if input.starts_with("/") {
-+ return Err(LexError);
-+ }
-+ let (input, s) = take_until_newline_or_eof(input);
-+ Ok((input, (s, false)))
-+ } else if input.starts_with("/**") && !input.rest[3..].starts_with('*') {
-+ let (input, s) = block_comment(input)?;
-+ Ok((input, (&s[3..s.len() - 2], false)))
-+ } else {
-+ Err(LexError)
-+ }
-+}
-+
-+fn take_until_newline_or_eof(input: Cursor) -> (Cursor, &str) {
-+ let chars = input.char_indices();
-+
-+ for (i, ch) in chars {
-+ if ch == '\n' {
-+ return (input.advance(i), &input.rest[..i]);
-+ } else if ch == '\r' && input.rest[i + 1..].starts_with('\n') {
-+ return (input.advance(i + 1), &input.rest[..i]);
-+ }
-+ }
-+
-+ (input.advance(input.len()), input.rest)
-+}
-diff --git a/third_party/rust/proc-macro2/src/strnom.rs b/third_party/rust/proc-macro2/src/strnom.rs
-deleted file mode 100644
-index eb7d0b8a8e..0000000000
---- mozilla-release/third_party/rust/proc-macro2/src/strnom.rs
-+++ mozilla-release//dev/null
-@@ -1,391 +0,0 @@
--//! Adapted from [`nom`](https://github.com/Geal/nom).
--
--use crate::fallback::LexError;
--use std::str::{Bytes, CharIndices, Chars};
--use unicode_xid::UnicodeXID;
--
--#[derive(Copy, Clone, Eq, PartialEq)]
--pub struct Cursor<'a> {
-- pub rest: &'a str,
-- #[cfg(span_locations)]
-- pub off: u32,
--}
--
--impl<'a> Cursor<'a> {
-- #[cfg(not(span_locations))]
-- pub fn advance(&self, amt: usize) -> Cursor<'a> {
-- Cursor {
-- rest: &self.rest[amt..],
-- }
-- }
-- #[cfg(span_locations)]
-- pub fn advance(&self, amt: usize) -> Cursor<'a> {
-- Cursor {
-- rest: &self.rest[amt..],
-- off: self.off + (amt as u32),
-- }
-- }
--
-- pub fn find(&self, p: char) -> Option<usize> {
-- self.rest.find(p)
-- }
--
-- pub fn starts_with(&self, s: &str) -> bool {
-- self.rest.starts_with(s)
-- }
--
-- pub fn is_empty(&self) -> bool {
-- self.rest.is_empty()
-- }
--
-- pub fn len(&self) -> usize {
-- self.rest.len()
-- }
--
-- pub fn as_bytes(&self) -> &'a [u8] {
-- self.rest.as_bytes()
-- }
--
-- pub fn bytes(&self) -> Bytes<'a> {
-- self.rest.bytes()
-- }
--
-- pub fn chars(&self) -> Chars<'a> {
-- self.rest.chars()
-- }
--
-- pub fn char_indices(&self) -> CharIndices<'a> {
-- self.rest.char_indices()
-- }
--}
--
--pub type PResult<'a, O> = Result<(Cursor<'a>, O), LexError>;
--
--pub fn whitespace(input: Cursor) -> PResult<()> {
-- if input.is_empty() {
-- return Err(LexError);
-- }
--
-- let bytes = input.as_bytes();
-- let mut i = 0;
-- while i < bytes.len() {
-- let s = input.advance(i);
-- if bytes[i] == b'/' {
-- if s.starts_with("//")
-- && (!s.starts_with("///") || s.starts_with("////"))
-- && !s.starts_with("//!")
-- {
-- if let Some(len) = s.find('\n') {
-- i += len + 1;
-- continue;
-- }
-- break;
-- } else if s.starts_with("/**/") {
-- i += 4;
-- continue;
-- } else if s.starts_with("/*")
-- && (!s.starts_with("/**") || s.starts_with("/***"))
-- && !s.starts_with("/*!")
-- {
-- let (_, com) = block_comment(s)?;
-- i += com.len();
-- continue;
-- }
-- }
-- match bytes[i] {
-- b' ' | 0x09..=0x0d => {
-- i += 1;
-- continue;
-- }
-- b if b <= 0x7f => {}
-- _ => {
-- let ch = s.chars().next().unwrap();
-- if is_whitespace(ch) {
-- i += ch.len_utf8();
-- continue;
-- }
-- }
-- }
-- return if i > 0 { Ok((s, ())) } else { Err(LexError) };
-- }
-- Ok((input.advance(input.len()), ()))
--}
--
--pub fn block_comment(input: Cursor) -> PResult<&str> {
-- if !input.starts_with("/*") {
-- return Err(LexError);
-- }
--
-- let mut depth = 0;
-- let bytes = input.as_bytes();
-- let mut i = 0;
-- let upper = bytes.len() - 1;
-- while i < upper {
-- if bytes[i] == b'/' && bytes[i + 1] == b'*' {
-- depth += 1;
-- i += 1; // eat '*'
-- } else if bytes[i] == b'*' && bytes[i + 1] == b'/' {
-- depth -= 1;
-- if depth == 0 {
-- return Ok((input.advance(i + 2), &input.rest[..i + 2]));
-- }
-- i += 1; // eat '/'
-- }
-- i += 1;
-- }
-- Err(LexError)
--}
--
--pub fn skip_whitespace(input: Cursor) -> Cursor {
-- match whitespace(input) {
-- Ok((rest, _)) => rest,
-- Err(LexError) => input,
-- }
--}
--
--fn is_whitespace(ch: char) -> bool {
-- // Rust treats left-to-right mark and right-to-left mark as whitespace
-- ch.is_whitespace() || ch == '\u{200e}' || ch == '\u{200f}'
--}
--
--pub fn word_break(input: Cursor) -> PResult<()> {
-- match input.chars().next() {
-- Some(ch) if UnicodeXID::is_xid_continue(ch) => Err(LexError),
-- Some(_) | None => Ok((input, ())),
-- }
--}
--
--macro_rules! named {
-- ($name:ident -> $o:ty, $submac:ident!( $($args:tt)* )) => {
-- fn $name<'a>(i: Cursor<'a>) -> $crate::strnom::PResult<'a, $o> {
-- $submac!(i, $($args)*)
-- }
-- };
--}
--
--macro_rules! alt {
-- ($i:expr, $e:ident | $($rest:tt)*) => {
-- alt!($i, call!($e) | $($rest)*)
-- };
--
-- ($i:expr, $subrule:ident!( $($args:tt)*) | $($rest:tt)*) => {
-- match $subrule!($i, $($args)*) {
-- res @ Ok(_) => res,
-- _ => alt!($i, $($rest)*)
-- }
-- };
--
-- ($i:expr, $subrule:ident!( $($args:tt)* ) => { $gen:expr } | $($rest:tt)+) => {
-- match $subrule!($i, $($args)*) {
-- Ok((i, o)) => Ok((i, $gen(o))),
-- Err(LexError) => alt!($i, $($rest)*)
-- }
-- };
--
-- ($i:expr, $e:ident => { $gen:expr } | $($rest:tt)*) => {
-- alt!($i, call!($e) => { $gen } | $($rest)*)
-- };
--
-- ($i:expr, $e:ident => { $gen:expr }) => {
-- alt!($i, call!($e) => { $gen })
-- };
--
-- ($i:expr, $subrule:ident!( $($args:tt)* ) => { $gen:expr }) => {
-- match $subrule!($i, $($args)*) {
-- Ok((i, o)) => Ok((i, $gen(o))),
-- Err(LexError) => Err(LexError),
-- }
-- };
--
-- ($i:expr, $e:ident) => {
-- alt!($i, call!($e))
-- };
--
-- ($i:expr, $subrule:ident!( $($args:tt)*)) => {
-- $subrule!($i, $($args)*)
-- };
--}
--
--macro_rules! do_parse {
-- ($i:expr, ( $($rest:expr),* )) => {
-- Ok(($i, ( $($rest),* )))
-- };
--
-- ($i:expr, $e:ident >> $($rest:tt)*) => {
-- do_parse!($i, call!($e) >> $($rest)*)
-- };
--
-- ($i:expr, $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, _)) => do_parse!(i, $($rest)*),
-- }
-- };
--
-- ($i:expr, $field:ident : $e:ident >> $($rest:tt)*) => {
-- do_parse!($i, $field: call!($e) >> $($rest)*)
-- };
--
-- ($i:expr, $field:ident : $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, o)) => {
-- let $field = o;
-- do_parse!(i, $($rest)*)
-- },
-- }
-- };
--}
--
--macro_rules! peek {
-- ($i:expr, $submac:ident!( $($args:tt)* )) => {
-- match $submac!($i, $($args)*) {
-- Ok((_, o)) => Ok(($i, o)),
-- Err(LexError) => Err(LexError),
-- }
-- };
--}
--
--macro_rules! call {
-- ($i:expr, $fun:expr $(, $args:expr)*) => {
-- $fun($i $(, $args)*)
-- };
--}
--
--macro_rules! option {
-- ($i:expr, $f:expr) => {
-- match $f($i) {
-- Ok((i, o)) => Ok((i, Some(o))),
-- Err(LexError) => Ok(($i, None)),
-- }
-- };
--}
--
--macro_rules! take_until_newline_or_eof {
-- ($i:expr,) => {{
-- if $i.len() == 0 {
-- Ok(($i, ""))
-- } else {
-- match $i.find('\n') {
-- Some(i) => Ok(($i.advance(i), &$i.rest[..i])),
-- None => Ok(($i.advance($i.len()), &$i.rest[..$i.len()])),
-- }
-- }
-- }};
--}
--
--macro_rules! tuple {
-- ($i:expr, $($rest:tt)*) => {
-- tuple_parser!($i, (), $($rest)*)
-- };
--}
--
--/// Do not use directly. Use `tuple!`.
--macro_rules! tuple_parser {
-- ($i:expr, ($($parsed:tt),*), $e:ident, $($rest:tt)*) => {
-- tuple_parser!($i, ($($parsed),*), call!($e), $($rest)*)
-- };
--
-- ($i:expr, (), $submac:ident!( $($args:tt)* ), $($rest:tt)*) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, o)) => tuple_parser!(i, (o), $($rest)*),
-- }
-- };
--
-- ($i:expr, ($($parsed:tt)*), $submac:ident!( $($args:tt)* ), $($rest:tt)*) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, o)) => tuple_parser!(i, ($($parsed)* , o), $($rest)*),
-- }
-- };
--
-- ($i:expr, ($($parsed:tt),*), $e:ident) => {
-- tuple_parser!($i, ($($parsed),*), call!($e))
-- };
--
-- ($i:expr, (), $submac:ident!( $($args:tt)* )) => {
-- $submac!($i, $($args)*)
-- };
--
-- ($i:expr, ($($parsed:expr),*), $submac:ident!( $($args:tt)* )) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, o)) => Ok((i, ($($parsed),*, o)))
-- }
-- };
--
-- ($i:expr, ($($parsed:expr),*)) => {
-- Ok(($i, ($($parsed),*)))
-- };
--}
--
--macro_rules! not {
-- ($i:expr, $submac:ident!( $($args:tt)* )) => {
-- match $submac!($i, $($args)*) {
-- Ok((_, _)) => Err(LexError),
-- Err(LexError) => Ok(($i, ())),
-- }
-- };
--}
--
--macro_rules! tag {
-- ($i:expr, $tag:expr) => {
-- if $i.starts_with($tag) {
-- Ok(($i.advance($tag.len()), &$i.rest[..$tag.len()]))
-- } else {
-- Err(LexError)
-- }
-- };
--}
--
--macro_rules! punct {
-- ($i:expr, $punct:expr) => {
-- $crate::strnom::punct($i, $punct)
-- };
--}
--
--/// Do not use directly. Use `punct!`.
--pub fn punct<'a>(input: Cursor<'a>, token: &'static str) -> PResult<'a, &'a str> {
-- let input = skip_whitespace(input);
-- if input.starts_with(token) {
-- Ok((input.advance(token.len()), token))
-- } else {
-- Err(LexError)
-- }
--}
--
--macro_rules! preceded {
-- ($i:expr, $submac:ident!( $($args:tt)* ), $submac2:ident!( $($args2:tt)* )) => {
-- match tuple!($i, $submac!($($args)*), $submac2!($($args2)*)) {
-- Ok((remaining, (_, o))) => Ok((remaining, o)),
-- Err(LexError) => Err(LexError),
-- }
-- };
--
-- ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => {
-- preceded!($i, $submac!($($args)*), call!($g))
-- };
--}
--
--macro_rules! delimited {
-- ($i:expr, $submac:ident!( $($args:tt)* ), $($rest:tt)+) => {
-- match tuple_parser!($i, (), $submac!($($args)*), $($rest)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i1, (_, o, _))) => Ok((i1, o))
-- }
-- };
--}
--
--macro_rules! map {
-- ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => {
-- match $submac!($i, $($args)*) {
-- Err(LexError) => Err(LexError),
-- Ok((i, o)) => Ok((i, call!(o, $g)))
-- }
-- };
--
-- ($i:expr, $f:expr, $g:expr) => {
-- map!($i, call!($f), $g)
-- };
--}
-diff --git a/third_party/rust/proc-macro2/src/wrapper.rs b/third_party/rust/proc-macro2/src/wrapper.rs
-index 552b9381cf..3df044af17 100644
---- mozilla-release/third_party/rust/proc-macro2/src/wrapper.rs
-+++ mozilla-release/third_party/rust/proc-macro2/src/wrapper.rs
-@@ -1,15 +1,15 @@
--use std::fmt;
--use std::iter;
-+use crate::detection::inside_proc_macro;
-+use crate::{fallback, Delimiter, Punct, Spacing, TokenTree};
-+use std::fmt::{self, Debug, Display};
-+use std::iter::FromIterator;
- use std::ops::RangeBounds;
--use std::panic::{self, PanicInfo};
-+use std::panic;
- #[cfg(super_unstable)]
- use std::path::PathBuf;
- use std::str::FromStr;
-
--use crate::{fallback, Delimiter, Punct, Spacing, TokenTree};
--
- #[derive(Clone)]
--pub enum TokenStream {
-+pub(crate) enum TokenStream {
- Compiler(DeferredTokenStream),
- Fallback(fallback::TokenStream),
- }
-@@ -19,73 +19,16 @@ pub enum TokenStream {
- // we hold on to the appended tokens and do proc_macro::TokenStream::extend as
- // late as possible to batch together consecutive uses of the Extend impl.
- #[derive(Clone)]
--pub struct DeferredTokenStream {
-+pub(crate) struct DeferredTokenStream {
- stream: proc_macro::TokenStream,
- extra: Vec<proc_macro::TokenTree>,
- }
-
--pub enum LexError {
-+pub(crate) enum LexError {
- Compiler(proc_macro::LexError),
- Fallback(fallback::LexError),
- }
-
--fn nightly_works() -> bool {
-- use std::sync::atomic::*;
-- use std::sync::Once;
--
-- static WORKS: AtomicUsize = AtomicUsize::new(0);
-- static INIT: Once = Once::new();
--
-- match WORKS.load(Ordering::SeqCst) {
-- 1 => return false,
-- 2 => return true,
-- _ => {}
-- }
--
-- // Swap in a null panic hook to avoid printing "thread panicked" to stderr,
-- // then use catch_unwind to determine whether the compiler's proc_macro is
-- // working. When proc-macro2 is used from outside of a procedural macro all
-- // of the proc_macro crate's APIs currently panic.
-- //
-- // The Once is to prevent the possibility of this ordering:
-- //
-- // thread 1 calls take_hook, gets the user's original hook
-- // thread 1 calls set_hook with the null hook
-- // thread 2 calls take_hook, thinks null hook is the original hook
-- // thread 2 calls set_hook with the null hook
-- // thread 1 calls set_hook with the actual original hook
-- // thread 2 calls set_hook with what it thinks is the original hook
-- //
-- // in which the user's hook has been lost.
-- //
-- // There is still a race condition where a panic in a different thread can
-- // happen during the interval that the user's original panic hook is
-- // unregistered such that their hook is incorrectly not called. This is
-- // sufficiently unlikely and less bad than printing panic messages to stderr
-- // on correct use of this crate. Maybe there is a libstd feature request
-- // here. For now, if a user needs to guarantee that this failure mode does
-- // not occur, they need to call e.g. `proc_macro2::Span::call_site()` from
-- // the main thread before launching any other threads.
-- INIT.call_once(|| {
-- type PanicHook = dyn Fn(&PanicInfo) + Sync + Send + 'static;
--
-- let null_hook: Box<PanicHook> = Box::new(|_panic_info| { /* ignore */ });
-- let sanity_check = &*null_hook as *const PanicHook;
-- let original_hook = panic::take_hook();
-- panic::set_hook(null_hook);
--
-- let works = panic::catch_unwind(|| proc_macro::Span::call_site()).is_ok();
-- WORKS.store(works as usize + 1, Ordering::SeqCst);
--
-- let hopefully_null_hook = panic::take_hook();
-- panic::set_hook(original_hook);
-- if sanity_check != &*hopefully_null_hook {
-- panic!("observed race condition in proc_macro2::nightly_works");
-- }
-- });
-- nightly_works()
--}
--
- fn mismatch() -> ! {
- panic!("stable/nightly mismatch")
- }
-@@ -103,7 +46,12 @@ impl DeferredTokenStream {
- }
-
- fn evaluate_now(&mut self) {
-- self.stream.extend(self.extra.drain(..));
-+ // If-check provides a fast short circuit for the common case of `extra`
-+ // being empty, which saves a round trip over the proc macro bridge.
-+ // Improves macro expansion time in winrt by 6% in debug mode.
-+ if !self.extra.is_empty() {
-+ self.stream.extend(self.extra.drain(..));
-+ }
- }
-
- fn into_token_stream(mut self) -> proc_macro::TokenStream {
-@@ -114,7 +62,7 @@ impl DeferredTokenStream {
-
- impl TokenStream {
- pub fn new() -> TokenStream {
-- if nightly_works() {
-+ if inside_proc_macro() {
- TokenStream::Compiler(DeferredTokenStream::new(proc_macro::TokenStream::new()))
- } else {
- TokenStream::Fallback(fallback::TokenStream::new())
-@@ -147,9 +95,9 @@ impl FromStr for TokenStream {
- type Err = LexError;
-
- fn from_str(src: &str) -> Result<TokenStream, LexError> {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Ok(TokenStream::Compiler(DeferredTokenStream::new(
-- src.parse()?,
-+ proc_macro_parse(src)?,
- )))
- } else {
- Ok(TokenStream::Fallback(src.parse()?))
-@@ -157,11 +105,17 @@ impl FromStr for TokenStream {
- }
- }
-
--impl fmt::Display for TokenStream {
-+// Work around https://github.com/rust-lang/rust/issues/58736.
-+fn proc_macro_parse(src: &str) -> Result<proc_macro::TokenStream, LexError> {
-+ panic::catch_unwind(|| src.parse().map_err(LexError::Compiler))
-+ .unwrap_or(Err(LexError::Fallback(fallback::LexError)))
-+}
-+
-+impl Display for TokenStream {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- TokenStream::Compiler(tts) => tts.clone().into_token_stream().fmt(f),
-- TokenStream::Fallback(tts) => tts.fmt(f),
-+ TokenStream::Compiler(tts) => Display::fmt(&tts.clone().into_token_stream(), f),
-+ TokenStream::Fallback(tts) => Display::fmt(tts, f),
- }
- }
- }
-@@ -187,7 +141,7 @@ impl From<fallback::TokenStream> for TokenStream {
- }
- }
-
--// Assumes nightly_works().
-+// Assumes inside_proc_macro().
- fn into_compiler_token(token: TokenTree) -> proc_macro::TokenTree {
- match token {
- TokenTree::Group(tt) => tt.inner.unwrap_nightly().into(),
-@@ -196,9 +150,9 @@ fn into_compiler_token(token: TokenTree) -> proc_macro::TokenTree {
- Spacing::Joint => proc_macro::Spacing::Joint,
- Spacing::Alone => proc_macro::Spacing::Alone,
- };
-- let mut op = proc_macro::Punct::new(tt.as_char(), spacing);
-- op.set_span(tt.span().inner.unwrap_nightly());
-- op.into()
-+ let mut punct = proc_macro::Punct::new(tt.as_char(), spacing);
-+ punct.set_span(tt.span().inner.unwrap_nightly());
-+ punct.into()
- }
- TokenTree::Ident(tt) => tt.inner.unwrap_nightly().into(),
- TokenTree::Literal(tt) => tt.inner.unwrap_nightly().into(),
-@@ -207,7 +161,7 @@ fn into_compiler_token(token: TokenTree) -> proc_macro::TokenTree {
-
- impl From<TokenTree> for TokenStream {
- fn from(token: TokenTree) -> TokenStream {
-- if nightly_works() {
-+ if inside_proc_macro() {
- TokenStream::Compiler(DeferredTokenStream::new(into_compiler_token(token).into()))
- } else {
- TokenStream::Fallback(token.into())
-@@ -215,9 +169,9 @@ impl From<TokenTree> for TokenStream {
- }
- }
-
--impl iter::FromIterator<TokenTree> for TokenStream {
-+impl FromIterator<TokenTree> for TokenStream {
- fn from_iter<I: IntoIterator<Item = TokenTree>>(trees: I) -> Self {
-- if nightly_works() {
-+ if inside_proc_macro() {
- TokenStream::Compiler(DeferredTokenStream::new(
- trees.into_iter().map(into_compiler_token).collect(),
- ))
-@@ -227,7 +181,7 @@ impl iter::FromIterator<TokenTree> for TokenStream {
- }
- }
-
--impl iter::FromIterator<TokenStream> for TokenStream {
-+impl FromIterator<TokenStream> for TokenStream {
- fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self {
- let mut streams = streams.into_iter();
- match streams.next() {
-@@ -252,14 +206,15 @@ impl iter::FromIterator<TokenStream> for TokenStream {
- }
-
- impl Extend<TokenTree> for TokenStream {
-- fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, streams: I) {
-+ fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, stream: I) {
- match self {
- TokenStream::Compiler(tts) => {
- // Here is the reason for DeferredTokenStream.
-- tts.extra
-- .extend(streams.into_iter().map(into_compiler_token));
-+ for token in stream {
-+ tts.extra.push(into_compiler_token(token));
-+ }
- }
-- TokenStream::Fallback(tts) => tts.extend(streams),
-+ TokenStream::Fallback(tts) => tts.extend(stream),
- }
- }
- }
-@@ -270,20 +225,20 @@ impl Extend<TokenStream> for TokenStream {
- TokenStream::Compiler(tts) => {
- tts.evaluate_now();
- tts.stream
-- .extend(streams.into_iter().map(|stream| stream.unwrap_nightly()));
-+ .extend(streams.into_iter().map(TokenStream::unwrap_nightly));
- }
- TokenStream::Fallback(tts) => {
-- tts.extend(streams.into_iter().map(|stream| stream.unwrap_stable()));
-+ tts.extend(streams.into_iter().map(TokenStream::unwrap_stable));
- }
- }
- }
- }
-
--impl fmt::Debug for TokenStream {
-+impl Debug for TokenStream {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- TokenStream::Compiler(tts) => tts.clone().into_token_stream().fmt(f),
-- TokenStream::Fallback(tts) => tts.fmt(f),
-+ TokenStream::Compiler(tts) => Debug::fmt(&tts.clone().into_token_stream(), f),
-+ TokenStream::Fallback(tts) => Debug::fmt(tts, f),
- }
- }
- }
-@@ -300,17 +255,29 @@ impl From<fallback::LexError> for LexError {
- }
- }
-
--impl fmt::Debug for LexError {
-+impl Debug for LexError {
-+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ LexError::Compiler(e) => Debug::fmt(e, f),
-+ LexError::Fallback(e) => Debug::fmt(e, f),
-+ }
-+ }
-+}
-+
-+impl Display for LexError {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- LexError::Compiler(e) => e.fmt(f),
-- LexError::Fallback(e) => e.fmt(f),
-+ #[cfg(lexerror_display)]
-+ LexError::Compiler(e) => Display::fmt(e, f),
-+ #[cfg(not(lexerror_display))]
-+ LexError::Compiler(_e) => Display::fmt(&fallback::LexError, f),
-+ LexError::Fallback(e) => Display::fmt(e, f),
- }
- }
- }
-
- #[derive(Clone)]
--pub enum TokenTreeIter {
-+pub(crate) enum TokenTreeIter {
- Compiler(proc_macro::token_stream::IntoIter),
- Fallback(fallback::TokenTreeIter),
- }
-@@ -361,7 +328,7 @@ impl Iterator for TokenTreeIter {
- }
- }
-
--impl fmt::Debug for TokenTreeIter {
-+impl Debug for TokenTreeIter {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- f.debug_struct("TokenTreeIter").finish()
- }
-@@ -369,7 +336,7 @@ impl fmt::Debug for TokenTreeIter {
-
- #[derive(Clone, PartialEq, Eq)]
- #[cfg(super_unstable)]
--pub enum SourceFile {
-+pub(crate) enum SourceFile {
- Compiler(proc_macro::SourceFile),
- Fallback(fallback::SourceFile),
- }
-@@ -397,58 +364,77 @@ impl SourceFile {
- }
-
- #[cfg(super_unstable)]
--impl fmt::Debug for SourceFile {
-+impl Debug for SourceFile {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- SourceFile::Compiler(a) => a.fmt(f),
-- SourceFile::Fallback(a) => a.fmt(f),
-+ SourceFile::Compiler(a) => Debug::fmt(a, f),
-+ SourceFile::Fallback(a) => Debug::fmt(a, f),
- }
- }
- }
-
- #[cfg(any(super_unstable, feature = "span-locations"))]
--pub struct LineColumn {
-+pub(crate) struct LineColumn {
- pub line: usize,
- pub column: usize,
- }
-
- #[derive(Copy, Clone)]
--pub enum Span {
-+pub(crate) enum Span {
- Compiler(proc_macro::Span),
- Fallback(fallback::Span),
- }
-
- impl Span {
- pub fn call_site() -> Span {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Span::Compiler(proc_macro::Span::call_site())
- } else {
- Span::Fallback(fallback::Span::call_site())
- }
- }
-
-+ #[cfg(hygiene)]
-+ pub fn mixed_site() -> Span {
-+ if inside_proc_macro() {
-+ Span::Compiler(proc_macro::Span::mixed_site())
-+ } else {
-+ Span::Fallback(fallback::Span::mixed_site())
-+ }
-+ }
-+
- #[cfg(super_unstable)]
- pub fn def_site() -> Span {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Span::Compiler(proc_macro::Span::def_site())
- } else {
- Span::Fallback(fallback::Span::def_site())
- }
- }
-
-- #[cfg(super_unstable)]
- pub fn resolved_at(&self, other: Span) -> Span {
- match (self, other) {
-+ #[cfg(hygiene)]
- (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.resolved_at(b)),
-+
-+ // Name resolution affects semantics, but location is only cosmetic
-+ #[cfg(not(hygiene))]
-+ (Span::Compiler(_), Span::Compiler(_)) => other,
-+
- (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.resolved_at(b)),
- _ => mismatch(),
- }
- }
-
-- #[cfg(super_unstable)]
- pub fn located_at(&self, other: Span) -> Span {
- match (self, other) {
-+ #[cfg(hygiene)]
- (Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.located_at(b)),
-+
-+ // Name resolution affects semantics, but location is only cosmetic
-+ #[cfg(not(hygiene))]
-+ (Span::Compiler(_), Span::Compiler(_)) => *self,
-+
- (Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.located_at(b)),
- _ => mismatch(),
- }
-@@ -542,16 +528,16 @@ impl From<fallback::Span> for Span {
- }
- }
-
--impl fmt::Debug for Span {
-+impl Debug for Span {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Span::Compiler(s) => s.fmt(f),
-- Span::Fallback(s) => s.fmt(f),
-+ Span::Compiler(s) => Debug::fmt(s, f),
-+ Span::Fallback(s) => Debug::fmt(s, f),
- }
- }
- }
-
--pub fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) {
-+pub(crate) fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span) {
- match span {
- Span::Compiler(s) => {
- debug.field("span", &s);
-@@ -561,7 +547,7 @@ pub fn debug_span_field_if_nontrivial(debug: &mut fmt::DebugStruct, span: Span)
- }
-
- #[derive(Clone)]
--pub enum Group {
-+pub(crate) enum Group {
- Compiler(proc_macro::Group),
- Fallback(fallback::Group),
- }
-@@ -652,26 +638,26 @@ impl From<fallback::Group> for Group {
- }
- }
-
--impl fmt::Display for Group {
-+impl Display for Group {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Group::Compiler(group) => group.fmt(formatter),
-- Group::Fallback(group) => group.fmt(formatter),
-+ Group::Compiler(group) => Display::fmt(group, formatter),
-+ Group::Fallback(group) => Display::fmt(group, formatter),
- }
- }
- }
-
--impl fmt::Debug for Group {
-+impl Debug for Group {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Group::Compiler(group) => group.fmt(formatter),
-- Group::Fallback(group) => group.fmt(formatter),
-+ Group::Compiler(group) => Debug::fmt(group, formatter),
-+ Group::Fallback(group) => Debug::fmt(group, formatter),
- }
- }
- }
-
- #[derive(Clone)]
--pub enum Ident {
-+pub(crate) enum Ident {
- Compiler(proc_macro::Ident),
- Fallback(fallback::Ident),
- }
-@@ -747,26 +733,26 @@ where
- }
- }
-
--impl fmt::Display for Ident {
-+impl Display for Ident {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Ident::Compiler(t) => t.fmt(f),
-- Ident::Fallback(t) => t.fmt(f),
-+ Ident::Compiler(t) => Display::fmt(t, f),
-+ Ident::Fallback(t) => Display::fmt(t, f),
- }
- }
- }
-
--impl fmt::Debug for Ident {
-+impl Debug for Ident {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Ident::Compiler(t) => t.fmt(f),
-- Ident::Fallback(t) => t.fmt(f),
-+ Ident::Compiler(t) => Debug::fmt(t, f),
-+ Ident::Fallback(t) => Debug::fmt(t, f),
- }
- }
- }
-
- #[derive(Clone)]
--pub enum Literal {
-+pub(crate) enum Literal {
- Compiler(proc_macro::Literal),
- Fallback(fallback::Literal),
- }
-@@ -774,7 +760,7 @@ pub enum Literal {
- macro_rules! suffixed_numbers {
- ($($name:ident => $kind:ident,)*) => ($(
- pub fn $name(n: $kind) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::$name(n))
- } else {
- Literal::Fallback(fallback::Literal::$name(n))
-@@ -786,7 +772,7 @@ macro_rules! suffixed_numbers {
- macro_rules! unsuffixed_integers {
- ($($name:ident => $kind:ident,)*) => ($(
- pub fn $name(n: $kind) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::$name(n))
- } else {
- Literal::Fallback(fallback::Literal::$name(n))
-@@ -830,7 +816,7 @@ impl Literal {
- }
-
- pub fn f32_unsuffixed(f: f32) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::f32_unsuffixed(f))
- } else {
- Literal::Fallback(fallback::Literal::f32_unsuffixed(f))
-@@ -838,7 +824,7 @@ impl Literal {
- }
-
- pub fn f64_unsuffixed(f: f64) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::f64_unsuffixed(f))
- } else {
- Literal::Fallback(fallback::Literal::f64_unsuffixed(f))
-@@ -846,7 +832,7 @@ impl Literal {
- }
-
- pub fn string(t: &str) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::string(t))
- } else {
- Literal::Fallback(fallback::Literal::string(t))
-@@ -854,7 +840,7 @@ impl Literal {
- }
-
- pub fn character(t: char) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::character(t))
- } else {
- Literal::Fallback(fallback::Literal::character(t))
-@@ -862,7 +848,7 @@ impl Literal {
- }
-
- pub fn byte_string(bytes: &[u8]) -> Literal {
-- if nightly_works() {
-+ if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::byte_string(bytes))
- } else {
- Literal::Fallback(fallback::Literal::byte_string(bytes))
-@@ -908,20 +894,20 @@ impl From<fallback::Literal> for Literal {
- }
- }
-
--impl fmt::Display for Literal {
-+impl Display for Literal {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Literal::Compiler(t) => t.fmt(f),
-- Literal::Fallback(t) => t.fmt(f),
-+ Literal::Compiler(t) => Display::fmt(t, f),
-+ Literal::Fallback(t) => Display::fmt(t, f),
- }
- }
- }
-
--impl fmt::Debug for Literal {
-+impl Debug for Literal {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- match self {
-- Literal::Compiler(t) => t.fmt(f),
-- Literal::Fallback(t) => t.fmt(f),
-+ Literal::Compiler(t) => Debug::fmt(t, f),
-+ Literal::Fallback(t) => Debug::fmt(t, f),
- }
- }
- }
-diff --git a/third_party/rust/proc-macro2/tests/comments.rs b/third_party/rust/proc-macro2/tests/comments.rs
-new file mode 100644
-index 0000000000..708cccb880
---- /dev/null
-+++ mozilla-release/third_party/rust/proc-macro2/tests/comments.rs
-@@ -0,0 +1,103 @@
-+use proc_macro2::{Delimiter, Literal, Spacing, TokenStream, TokenTree};
-+
-+// #[doc = "..."] -> "..."
-+fn lit_of_outer_doc_comment(tokens: TokenStream) -> Literal {
-+ lit_of_doc_comment(tokens, false)
-+}
-+
-+// #![doc = "..."] -> "..."
-+fn lit_of_inner_doc_comment(tokens: TokenStream) -> Literal {
-+ lit_of_doc_comment(tokens, true)
-+}
-+
-+fn lit_of_doc_comment(tokens: TokenStream, inner: bool) -> Literal {
-+ let mut iter = tokens.clone().into_iter();
-+ match iter.next().unwrap() {
-+ TokenTree::Punct(punct) => {
-+ assert_eq!(punct.as_char(), '#');
-+ assert_eq!(punct.spacing(), Spacing::Alone);
-+ }
-+ _ => panic!("wrong token {:?}", tokens),
-+ }
-+ if inner {
-+ match iter.next().unwrap() {
-+ TokenTree::Punct(punct) => {
-+ assert_eq!(punct.as_char(), '!');
-+ assert_eq!(punct.spacing(), Spacing::Alone);
-+ }
-+ _ => panic!("wrong token {:?}", tokens),
-+ }
-+ }
-+ iter = match iter.next().unwrap() {
-+ TokenTree::Group(group) => {
-+ assert_eq!(group.delimiter(), Delimiter::Bracket);
-+ assert!(iter.next().is_none(), "unexpected token {:?}", tokens);
-+ group.stream().into_iter()
-+ }
-+ _ => panic!("wrong token {:?}", tokens),
-+ };
-+ match iter.next().unwrap() {
-+ TokenTree::Ident(ident) => assert_eq!(ident.to_string(), "doc"),
-+ _ => panic!("wrong token {:?}", tokens),
-+ }
-+ match iter.next().unwrap() {
-+ TokenTree::Punct(punct) => {
-+ assert_eq!(punct.as_char(), '=');
-+ assert_eq!(punct.spacing(), Spacing::Alone);
-+ }
-+ _ => panic!("wrong token {:?}", tokens),
-+ }
-+ match iter.next().unwrap() {
-+ TokenTree::Literal(literal) => {
-+ assert!(iter.next().is_none(), "unexpected token {:?}", tokens);
-+ literal
-+ }
-+ _ => panic!("wrong token {:?}", tokens),
-+ }
-+}
-+
-+#[test]
-+fn closed_immediately() {
-+ let stream = "/**/".parse::<TokenStream>().unwrap();
-+ let tokens = stream.into_iter().collect::<Vec<_>>();
-+ assert!(tokens.is_empty(), "not empty -- {:?}", tokens);
-+}
-+
-+#[test]
-+fn incomplete() {
-+ assert!("/*/".parse::<TokenStream>().is_err());
-+}
-+
-+#[test]
-+fn lit() {
-+ let stream = "/// doc".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_outer_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\" doc\"");
-+
-+ let stream = "//! doc".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_inner_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\" doc\"");
-+
-+ let stream = "/** doc */".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_outer_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\" doc \"");
-+
-+ let stream = "/*! doc */".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_inner_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\" doc \"");
-+}
-+
-+#[test]
-+fn carriage_return() {
-+ let stream = "///\r\n".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_outer_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\"\"");
-+
-+ let stream = "/**\r\n*/".parse::<TokenStream>().unwrap();
-+ let lit = lit_of_outer_doc_comment(stream);
-+ assert_eq!(lit.to_string(), "\"\\r\\n\"");
-+
-+ "///\r".parse::<TokenStream>().unwrap_err();
-+ "///\r \n".parse::<TokenStream>().unwrap_err();
-+ "/**\r \n*/".parse::<TokenStream>().unwrap_err();
-+}
-diff --git a/third_party/rust/proc-macro2/tests/marker.rs b/third_party/rust/proc-macro2/tests/marker.rs
-index 7af2539c1a..70e57677cd 100644
---- mozilla-release/third_party/rust/proc-macro2/tests/marker.rs
-+++ mozilla-release/third_party/rust/proc-macro2/tests/marker.rs
-@@ -57,3 +57,36 @@ mod semver_exempt {
-
- assert_impl!(SourceFile is not Send or Sync);
- }
-+
-+#[cfg(not(no_libprocmacro_unwind_safe))]
-+mod unwind_safe {
-+ use super::*;
-+ use std::panic::{RefUnwindSafe, UnwindSafe};
-+
-+ macro_rules! assert_unwind_safe {
-+ ($($types:ident)*) => {
-+ $(
-+ assert_impl!($types is UnwindSafe and RefUnwindSafe);
-+ )*
-+ };
-+ }
-+
-+ assert_unwind_safe! {
-+ Delimiter
-+ Group
-+ Ident
-+ LexError
-+ Literal
-+ Punct
-+ Spacing
-+ Span
-+ TokenStream
-+ TokenTree
-+ }
-+
-+ #[cfg(procmacro2_semver_exempt)]
-+ assert_unwind_safe! {
-+ LineColumn
-+ SourceFile
-+ }
-+}
-diff --git a/third_party/rust/proc-macro2/tests/test.rs b/third_party/rust/proc-macro2/tests/test.rs
-index 7528388138..1e9f633944 100644
---- mozilla-release/third_party/rust/proc-macro2/tests/test.rs
-+++ mozilla-release/third_party/rust/proc-macro2/tests/test.rs
-@@ -1,7 +1,6 @@
-+use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
- use std::str::{self, FromStr};
-
--use proc_macro2::{Ident, Literal, Spacing, Span, TokenStream, TokenTree};
--
- #[test]
- fn idents() {
- assert_eq!(
-@@ -84,6 +83,11 @@ fn literal_string() {
- assert_eq!(Literal::string("didn't").to_string(), "\"didn't\"");
- }
-
-+#[test]
-+fn literal_raw_string() {
-+ "r\"\r\n\"".parse::<TokenStream>().unwrap();
-+}
-+
- #[test]
- fn literal_character() {
- assert_eq!(Literal::character('x').to_string(), "'x'");
-@@ -110,6 +114,37 @@ fn literal_suffix() {
- assert_eq!(token_count("1._0"), 3);
- assert_eq!(token_count("1._m"), 3);
- assert_eq!(token_count("\"\"s"), 1);
-+ assert_eq!(token_count("r\"\"r"), 1);
-+ assert_eq!(token_count("b\"\"b"), 1);
-+ assert_eq!(token_count("br\"\"br"), 1);
-+ assert_eq!(token_count("r#\"\"#r"), 1);
-+ assert_eq!(token_count("'c'c"), 1);
-+ assert_eq!(token_count("b'b'b"), 1);
-+ assert_eq!(token_count("0E"), 1);
-+ assert_eq!(token_count("0o0A"), 1);
-+ assert_eq!(token_count("0E--0"), 4);
-+ assert_eq!(token_count("0.0ECMA"), 1);
-+}
-+
-+#[test]
-+fn literal_iter_negative() {
-+ let negative_literal = Literal::i32_suffixed(-3);
-+ let tokens = TokenStream::from(TokenTree::Literal(negative_literal));
-+ let mut iter = tokens.into_iter();
-+ match iter.next().unwrap() {
-+ TokenTree::Punct(punct) => {
-+ assert_eq!(punct.as_char(), '-');
-+ assert_eq!(punct.spacing(), Spacing::Alone);
-+ }
-+ unexpected => panic!("unexpected token {:?}", unexpected),
-+ }
-+ match iter.next().unwrap() {
-+ TokenTree::Literal(literal) => {
-+ assert_eq!(literal.to_string(), "3i32");
-+ }
-+ unexpected => panic!("unexpected token {:?}", unexpected),
-+ }
-+ assert!(iter.next().is_none());
- }
-
- #[test]
-@@ -161,41 +196,21 @@ fn fail() {
- fail("' static");
- fail("r#1");
- fail("r#_");
-+ fail("\"\\u{0000000}\""); // overlong unicode escape (rust allows at most 6 hex digits)
-+ fail("\"\\u{999999}\""); // outside of valid range of char
-+ fail("\"\\u{_0}\""); // leading underscore
-+ fail("\"\\u{}\""); // empty
-+ fail("b\"\r\""); // bare carriage return in byte string
-+ fail("r\"\r\""); // bare carriage return in raw string
-+ fail("\"\\\r \""); // backslash carriage return
-+ fail("'aa'aa");
-+ fail("br##\"\"#");
-+ fail("\"\\\n\u{85}\r\"");
- }
-
- #[cfg(span_locations)]
- #[test]
- fn span_test() {
-- use proc_macro2::TokenTree;
--
-- fn check_spans(p: &str, mut lines: &[(usize, usize, usize, usize)]) {
-- let ts = p.parse::<TokenStream>().unwrap();
-- check_spans_internal(ts, &mut lines);
-- }
--
-- fn check_spans_internal(ts: TokenStream, lines: &mut &[(usize, usize, usize, usize)]) {
-- for i in ts {
-- if let Some((&(sline, scol, eline, ecol), rest)) = lines.split_first() {
-- *lines = rest;
--
-- let start = i.span().start();
-- assert_eq!(start.line, sline, "sline did not match for {}", i);
-- assert_eq!(start.column, scol, "scol did not match for {}", i);
--
-- let end = i.span().end();
-- assert_eq!(end.line, eline, "eline did not match for {}", i);
-- assert_eq!(end.column, ecol, "ecol did not match for {}", i);
--
-- match i {
-- TokenTree::Group(ref g) => {
-- check_spans_internal(g.stream().clone(), lines);
-- }
-- _ => {}
-- }
-- }
-- }
-- }
--
- check_spans(
- "\
- /// This is a document comment
-@@ -274,53 +289,11 @@ fn span_join() {
- #[test]
- fn no_panic() {
- let s = str::from_utf8(b"b\'\xc2\x86 \x00\x00\x00^\"").unwrap();
-- assert!(s.parse::<proc_macro2::TokenStream>().is_err());
-+ assert!(s.parse::<TokenStream>().is_err());
- }
-
- #[test]
--fn tricky_doc_comment() {
-- let stream = "/**/".parse::<proc_macro2::TokenStream>().unwrap();
-- let tokens = stream.into_iter().collect::<Vec<_>>();
-- assert!(tokens.is_empty(), "not empty -- {:?}", tokens);
--
-- let stream = "/// doc".parse::<proc_macro2::TokenStream>().unwrap();
-- let tokens = stream.into_iter().collect::<Vec<_>>();
-- assert!(tokens.len() == 2, "not length 2 -- {:?}", tokens);
-- match tokens[0] {
-- proc_macro2::TokenTree::Punct(ref tt) => assert_eq!(tt.as_char(), '#'),
-- _ => panic!("wrong token {:?}", tokens[0]),
-- }
-- let mut tokens = match tokens[1] {
-- proc_macro2::TokenTree::Group(ref tt) => {
-- assert_eq!(tt.delimiter(), proc_macro2::Delimiter::Bracket);
-- tt.stream().into_iter()
-- }
-- _ => panic!("wrong token {:?}", tokens[0]),
-- };
--
-- match tokens.next().unwrap() {
-- proc_macro2::TokenTree::Ident(ref tt) => assert_eq!(tt.to_string(), "doc"),
-- t => panic!("wrong token {:?}", t),
-- }
-- match tokens.next().unwrap() {
-- proc_macro2::TokenTree::Punct(ref tt) => assert_eq!(tt.as_char(), '='),
-- t => panic!("wrong token {:?}", t),
-- }
-- match tokens.next().unwrap() {
-- proc_macro2::TokenTree::Literal(ref tt) => {
-- assert_eq!(tt.to_string(), "\" doc\"");
-- }
-- t => panic!("wrong token {:?}", t),
-- }
-- assert!(tokens.next().is_none());
--
-- let stream = "//! doc".parse::<proc_macro2::TokenStream>().unwrap();
-- let tokens = stream.into_iter().collect::<Vec<_>>();
-- assert!(tokens.len() == 3, "not length 3 -- {:?}", tokens);
--}
--
--#[test]
--fn op_before_comment() {
-+fn punct_before_comment() {
- let mut tts = TokenStream::from_str("~// comment").unwrap().into_iter();
- match tts.next().unwrap() {
- TokenTree::Punct(tt) => {
-@@ -331,6 +304,22 @@ fn op_before_comment() {
- }
- }
-
-+#[test]
-+fn joint_last_token() {
-+ // This test verifies that we match the behavior of libproc_macro *not* in
-+ // the range nightly-2020-09-06 through nightly-2020-09-10, in which this
-+ // behavior was temporarily broken.
-+ // See https://github.com/rust-lang/rust/issues/76399
-+
-+ let joint_punct = Punct::new(':', Spacing::Joint);
-+ let stream = TokenStream::from(TokenTree::Punct(joint_punct));
-+ let punct = match stream.into_iter().next().unwrap() {
-+ TokenTree::Punct(punct) => punct,
-+ _ => unreachable!(),
-+ };
-+ assert_eq!(punct.spacing(), Spacing::Joint);
-+}
-+
- #[test]
- fn raw_identifier() {
- let mut tts = TokenStream::from_str("r#dyn").unwrap().into_iter();
-@@ -345,11 +334,11 @@ fn raw_identifier() {
- fn test_debug_ident() {
- let ident = Ident::new("proc_macro", Span::call_site());
-
-- #[cfg(not(procmacro2_semver_exempt))]
-+ #[cfg(not(span_locations))]
- let expected = "Ident(proc_macro)";
-
-- #[cfg(procmacro2_semver_exempt)]
-- let expected = "Ident { sym: proc_macro, span: bytes(0..0) }";
-+ #[cfg(span_locations)]
-+ let expected = "Ident { sym: proc_macro }";
-
- assert_eq!(expected, format!("{:?}", ident));
- }
-@@ -358,7 +347,7 @@ fn test_debug_ident() {
- fn test_debug_tokenstream() {
- let tts = TokenStream::from_str("[a + 1]").unwrap();
-
-- #[cfg(not(procmacro2_semver_exempt))]
-+ #[cfg(not(span_locations))]
- let expected = "\
- TokenStream [
- Group {
-@@ -368,7 +357,7 @@ TokenStream [
- sym: a,
- },
- Punct {
-- op: '+',
-+ char: '+',
- spacing: Alone,
- },
- Literal {
-@@ -379,7 +368,7 @@ TokenStream [
- ]\
- ";
-
-- #[cfg(not(procmacro2_semver_exempt))]
-+ #[cfg(not(span_locations))]
- let expected_before_trailing_commas = "\
- TokenStream [
- Group {
-@@ -389,7 +378,7 @@ TokenStream [
- sym: a
- },
- Punct {
-- op: '+',
-+ char: '+',
- spacing: Alone
- },
- Literal {
-@@ -400,7 +389,7 @@ TokenStream [
- ]\
- ";
-
-- #[cfg(procmacro2_semver_exempt)]
-+ #[cfg(span_locations)]
- let expected = "\
- TokenStream [
- Group {
-@@ -411,7 +400,7 @@ TokenStream [
- span: bytes(2..3),
- },
- Punct {
-- op: '+',
-+ char: '+',
- spacing: Alone,
- span: bytes(4..5),
- },
-@@ -425,7 +414,7 @@ TokenStream [
- ]\
- ";
-
-- #[cfg(procmacro2_semver_exempt)]
-+ #[cfg(span_locations)]
- let expected_before_trailing_commas = "\
- TokenStream [
- Group {
-@@ -436,7 +425,7 @@ TokenStream [
- span: bytes(2..3)
- },
- Punct {
-- op: '+',
-+ char: '+',
- spacing: Alone,
- span: bytes(4..5)
- },
-@@ -464,3 +453,80 @@ fn default_tokenstream_is_empty() {
-
- assert!(default_token_stream.is_empty());
- }
-+
-+#[test]
-+fn tuple_indexing() {
-+ // This behavior may change depending on https://github.com/rust-lang/rust/pull/71322
-+ let mut tokens = "tuple.0.0".parse::<TokenStream>().unwrap().into_iter();
-+ assert_eq!("tuple", tokens.next().unwrap().to_string());
-+ assert_eq!(".", tokens.next().unwrap().to_string());
-+ assert_eq!("0.0", tokens.next().unwrap().to_string());
-+ assert!(tokens.next().is_none());
-+}
-+
-+#[cfg(span_locations)]
-+#[test]
-+fn non_ascii_tokens() {
-+ check_spans("// abc", &[]);
-+ check_spans("// ábc", &[]);
-+ check_spans("// abc x", &[]);
-+ check_spans("// ábc x", &[]);
-+ check_spans("/* abc */ x", &[(1, 10, 1, 11)]);
-+ check_spans("/* ábc */ x", &[(1, 10, 1, 11)]);
-+ check_spans("/* ab\nc */ x", &[(2, 5, 2, 6)]);
-+ check_spans("/* áb\nc */ x", &[(2, 5, 2, 6)]);
-+ check_spans("/*** abc */ x", &[(1, 12, 1, 13)]);
-+ check_spans("/*** ábc */ x", &[(1, 12, 1, 13)]);
-+ check_spans(r#""abc""#, &[(1, 0, 1, 5)]);
-+ check_spans(r#""ábc""#, &[(1, 0, 1, 5)]);
-+ check_spans(r###"r#"abc"#"###, &[(1, 0, 1, 8)]);
-+ check_spans(r###"r#"ábc"#"###, &[(1, 0, 1, 8)]);
-+ check_spans("r#\"a\nc\"#", &[(1, 0, 2, 3)]);
-+ check_spans("r#\"á\nc\"#", &[(1, 0, 2, 3)]);
-+ check_spans("'a'", &[(1, 0, 1, 3)]);
-+ check_spans("'á'", &[(1, 0, 1, 3)]);
-+ check_spans("//! abc", &[(1, 0, 1, 7), (1, 0, 1, 7), (1, 0, 1, 7)]);
-+ check_spans("//! ábc", &[(1, 0, 1, 7), (1, 0, 1, 7), (1, 0, 1, 7)]);
-+ check_spans("//! abc\n", &[(1, 0, 1, 7), (1, 0, 1, 7), (1, 0, 1, 7)]);
-+ check_spans("//! ábc\n", &[(1, 0, 1, 7), (1, 0, 1, 7), (1, 0, 1, 7)]);
-+ check_spans("/*! abc */", &[(1, 0, 1, 10), (1, 0, 1, 10), (1, 0, 1, 10)]);
-+ check_spans("/*! ábc */", &[(1, 0, 1, 10), (1, 0, 1, 10), (1, 0, 1, 10)]);
-+ check_spans("/*! a\nc */", &[(1, 0, 2, 4), (1, 0, 2, 4), (1, 0, 2, 4)]);
-+ check_spans("/*! á\nc */", &[(1, 0, 2, 4), (1, 0, 2, 4), (1, 0, 2, 4)]);
-+ check_spans("abc", &[(1, 0, 1, 3)]);
-+ check_spans("ábc", &[(1, 0, 1, 3)]);
-+ check_spans("ábć", &[(1, 0, 1, 3)]);
-+ check_spans("abc// foo", &[(1, 0, 1, 3)]);
-+ check_spans("ábc// foo", &[(1, 0, 1, 3)]);
-+ check_spans("ábć// foo", &[(1, 0, 1, 3)]);
-+ check_spans("b\"a\\\n c\"", &[(1, 0, 2, 3)]);
-+ check_spans("b\"a\\\n\u{00a0}c\"", &[(1, 0, 2, 3)]);
-+}
-+
-+#[cfg(span_locations)]
-+fn check_spans(p: &str, mut lines: &[(usize, usize, usize, usize)]) {
-+ let ts = p.parse::<TokenStream>().unwrap();
-+ check_spans_internal(ts, &mut lines);
-+ assert!(lines.is_empty(), "leftover ranges: {:?}", lines);
-+}
-+
-+#[cfg(span_locations)]
-+fn check_spans_internal(ts: TokenStream, lines: &mut &[(usize, usize, usize, usize)]) {
-+ for i in ts {
-+ if let Some((&(sline, scol, eline, ecol), rest)) = lines.split_first() {
-+ *lines = rest;
-+
-+ let start = i.span().start();
-+ assert_eq!(start.line, sline, "sline did not match for {}", i);
-+ assert_eq!(start.column, scol, "scol did not match for {}", i);
-+
-+ let end = i.span().end();
-+ assert_eq!(end.line, eline, "eline did not match for {}", i);
-+ assert_eq!(end.column, ecol, "ecol did not match for {}", i);
-+
-+ if let TokenTree::Group(g) = i {
-+ check_spans_internal(g.stream().clone(), lines);
-+ }
-+ }
-+ }
-+}
-diff --git a/third_party/rust/proc-macro2/tests/test_fmt.rs b/third_party/rust/proc-macro2/tests/test_fmt.rs
-new file mode 100644
-index 0000000000..99a0aee5c8
---- /dev/null
-+++ mozilla-release/third_party/rust/proc-macro2/tests/test_fmt.rs
-@@ -0,0 +1,26 @@
-+use proc_macro2::{Delimiter, Group, Ident, Span, TokenStream, TokenTree};
-+use std::iter::{self, FromIterator};
-+
-+#[test]
-+fn test_fmt_group() {
-+ let ident = Ident::new("x", Span::call_site());
-+ let inner = TokenStream::from_iter(iter::once(TokenTree::Ident(ident)));
-+ let parens_empty = Group::new(Delimiter::Parenthesis, TokenStream::new());
-+ let parens_nonempty = Group::new(Delimiter::Parenthesis, inner.clone());
-+ let brackets_empty = Group::new(Delimiter::Bracket, TokenStream::new());
-+ let brackets_nonempty = Group::new(Delimiter::Bracket, inner.clone());
-+ let braces_empty = Group::new(Delimiter::Brace, TokenStream::new());
-+ let braces_nonempty = Group::new(Delimiter::Brace, inner.clone());
-+ let none_empty = Group::new(Delimiter::None, TokenStream::new());
-+ let none_nonempty = Group::new(Delimiter::None, inner.clone());
-+
-+ // Matches libproc_macro.
-+ assert_eq!("()", parens_empty.to_string());
-+ assert_eq!("(x)", parens_nonempty.to_string());
-+ assert_eq!("[]", brackets_empty.to_string());
-+ assert_eq!("[x]", brackets_nonempty.to_string());
-+ assert_eq!("{ }", braces_empty.to_string());
-+ assert_eq!("{ x }", braces_nonempty.to_string());
-+ assert_eq!("", none_empty.to_string());
-+ assert_eq!("x", none_nonempty.to_string());
-+}
-diff --git a/third_party/rust/spirv-cross-internal/.cargo-checksum.json b/third_party/rust/spirv-cross-internal/.cargo-checksum.json
-index 3c732d6d0e..014aa640e1 100644
---- mozilla-release/third_party/rust/spirv-cross-internal/.cargo-checksum.json
-+++ mozilla-release/third_party/rust/spirv-cross-internal/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"32644850d6dd8a8496fcf2dd0327dfc18a41f87bbd5f0922e174a905babde20d","build.rs":"68d1e7d99b4d890e21606aa7e7904d4f9b8caed6c0951bb8f5028745a7103d1e","src/bindings_native.rs":"6aa4e3a3bd73a638b3282405c0eaf2565ff8f364919c509f94f79e326679b03e","src/bindings_wasm.rs":"331d19691566beb163fc459d630e9830167cc86ec8cacde6be53fb0a7ca2b1be","src/bindings_wasm_functions.rs":"2515dd91e98e769fe282e7dc4f60820f4be7365c784a9f3bd17310d18a136da8","src/compiler.rs":"a53c7e0136ea3deddbfaf158295daca36623a0e244426b7c04d2856922d91c73","src/emscripten.rs":"3169890001970610013026468739910afca0d85e00d7e34beadfdd31bbcbeeb7","src/glsl.rs":"7ca1f6a11db8e7926a813fb91298dac1c0e2f90fe5426cc985cde7d8f36c05c9","src/hlsl.rs":"3734ad89a4f51647ebeb761753cb324a48ebca724970201e7598a3763d094d73","src/lib.rs":"cc41cbbe48f3e96791ba5338c66fa1fe0e533eaed6bbdced3f008d5e9fe6c6ce","src/msl.rs":"5505d1d626d8e7903ffa9d137e7392a1670fa7b574eacc4bbd33673937b36ea7","src/ptr_util.rs":"280404beede469b2c9ae40536323515a9213dac5d30014fac870a23b37672442","src/spirv.rs":"8a2cbe6b554bb6312f2aede0469338ace21e79720b5128c653e7a68c0e161277","src/vendor/SPIRV-Cross/.clang-format":"9ec4314e20afecad827a2dbd4832256be8464e88aab4a53fab45173ed129b2ed","src/vendor/SPIRV-Cross/.gitignore":"7f23cc92ddb5e1f584447e98d3e8ab6543fc182f1543f0f6ec29856f9250cdd6","src/vendor/SPIRV-Cross/.travis.yml":"abcc1b2f622b65feafd3e37a2b5e867fce3cf7211cae9fb2bf92a6de79100be4","src/vendor/SPIRV-Cross/CMakeLists.txt":"0972ab271e1eecdfe41ae0a85bf14ce7fe142b7609f8d2965b2c94f92c63b6aa","src/vendor/SPIRV-Cross/CODE_OF_CONDUCT.md":"a25e58cd66a9543e1500db9a5c3c027e874893ad1a264530bf26eb10918b5d80","src/vendor/SPIRV-Cross/GLSL.std.450.h":"20f32378793c5f416bc0704f44345c2a14c99cba3f411e3beaf1bcea372d58ba","src/vendor/SPIRV-Cross/LICENSE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","src/vendor/SPIRV-Cross/Makefile":"e2255d32e47d447b100ce3cd0753d0758dc26460e0440d14cc157d4caf9b62f1","src/vendor/SPIRV-Cross/README.md":"b944fc5b1de709089fc3cae0dba09186ce2e43b64de6dcae1423ba1c139ee395","src/vendor/SPIRV-Cross/appveyor.yml":"0f18b8ae5fadc027a20f69307fc32e56a97edfbdcb55ac392852308f88545a04","src/vendor/SPIRV-Cross/include/spirv_cross/barrier.hpp":"bb796625e89f75e239e92f9a61597d421ffe5fb1902d200691ebe95cf856a1f8","src/vendor/SPIRV-Cross/include/spirv_cross/external_interface.h":"cdceda962d87133e44989510edc944e99052d713869b406a8b6b2d54e3d02dd7","src/vendor/SPIRV-Cross/include/spirv_cross/image.hpp":"681d0964b144c5009424196a8bc832cb81cfe5df5b91c2f3e1bfb625765a0c50","src/vendor/SPIRV-Cross/include/spirv_cross/internal_interface.hpp":"ab8851e5708b944a9bf340ce17297d94bef4876d30c833ea83d44b16f60726f6","src/vendor/SPIRV-Cross/include/spirv_cross/sampler.hpp":"b0b1bd4796b4315e826985c224ea5fa7d5bc823fcd6091f7527a5e18d9ae42fb","src/vendor/SPIRV-Cross/include/spirv_cross/thread_group.hpp":"70d9e0400f62de71d3775972eadc196ddb218254fa8155e8e33daf8d99957cc0","src/vendor/SPIRV-Cross/main.cpp":"ab2835f6dff9299f562a89755893f98a4bd946d4460abca885ba2172ebce851c","src/vendor/SPIRV-Cross/pkg-config/spirv-cross-c-shared.pc.in":"75a27e069ee07362bc6b7412b2c4e1270778dd639a8b96b8afbb113d21de79e7","src/vendor/SPIRV-Cross/spirv.h":"2c19cd1d262a3757e92276fbaa8e1a706b2328a92f47bda88f849b5cebebb630","src/vendor/SPIRV-Cross/spirv.hpp":"eb7c39a017f0a33e9d9bae7556c678c2840af4cc0beb98b2aeff9d651e370128","src/vendor/SPIRV-Cross/spirv_cfg.cpp":"09b756068d95a87a65a186831484fe21a973d3eb19675225b23864b9d37fe3d0","src/vendor/SPIRV-Cross/spirv_cfg.hpp":"ad98c4e82d6da3ed450dfc7939814115ae6b29ba2a25b0148cfc8c88774055b5","src/vendor/SPIRV-Cross/spirv_common.hpp":"5d0658a6fe9ac2f628754d2439b4d26ec8df7e50e4b196567cd4c7e7b8ce7574","src/vendor/SPIRV-Cross/spirv_cpp.cpp":"d067269ec6fc56860b4ed39edddf0a127f5e2d091512a85a79f02d5f3beccd19","src/vendor/SPIRV-Cross/spirv_cpp.hpp":"751ce82c70a399781f18aca54ea7fbb98083b98706f2a6be1cd1aa90627ef597","src/vendor/SPIRV-Cross/spirv_cross.cpp":"225b4cf4c7f8868019680d0a75a3da7983db428783ee1a3dcbb8c2765a71e79a","src/vendor/SPIRV-Cross/spirv_cross.hpp":"7eab2d7ae4b25a3c4fe85631e664727e036ae23a776aeb8c17db23f08020258a","src/vendor/SPIRV-Cross/spirv_cross_c.cpp":"80f438f4700f0b0b02547771f82be0610ba5e24ba3edb56d4331d59a206a4c2e","src/vendor/SPIRV-Cross/spirv_cross_c.h":"8b0ad63ed9fe52bc62f305afa27b5e33d9bd689a8b3f9935353742faf88a1e91","src/vendor/SPIRV-Cross/spirv_cross_containers.hpp":"409f60a5cb1dba1d0c96ef61761d8643402fc5ab67cecce12f6af3d135cfa338","src/vendor/SPIRV-Cross/spirv_cross_error_handling.hpp":"45868796346eef895cc05825582e60d26c34ec35d1a2b97f5e172f05fc565b19","src/vendor/SPIRV-Cross/spirv_cross_parsed_ir.cpp":"7c7e08db4dfc1084fd9cd266a6f829d35a6b2856198b16307a44f4d1c0743106","src/vendor/SPIRV-Cross/spirv_cross_parsed_ir.hpp":"d15446565eaa430bf2b14b596b3e579a72095a386b1eb256afc977cdf42ec5b9","src/vendor/SPIRV-Cross/spirv_cross_util.cpp":"f2426dccad2fff44053f6b1b9558719471a1ba0445c317f2c0311bc0d8b4636d","src/vendor/SPIRV-Cross/spirv_cross_util.hpp":"63ca5b2d6c80b5ad39473d6841676e48d5db3d2cbcb252fe6a6db0ef2077f0f5","src/vendor/SPIRV-Cross/spirv_glsl.cpp":"c1704189895442d593819472d3f852979107ac1798375d5a44d8f97be17fa3b5","src/vendor/SPIRV-Cross/spirv_glsl.hpp":"fb5e00ff589e3c5a25c5a15e78cf4809b753ebe04c84a008dc977330b8cbbc27","src/vendor/SPIRV-Cross/spirv_hlsl.cpp":"549ff42d0773a3f9e555d1aebd4c0084709e11528082f47c5f2b8b07de029f7c","src/vendor/SPIRV-Cross/spirv_hlsl.hpp":"18f303e7a384acf0e14677b579b100aee838813f54735330f0d1387f2493b363","src/vendor/SPIRV-Cross/spirv_msl.cpp":"7266afeb827e50782cb35362788d27fa9bd641992380008604ea1a4e48ec9c37","src/vendor/SPIRV-Cross/spirv_msl.hpp":"76b609e0b8d2f421c51e98d6357fcf44666b0d510935e083e4e02f20a80051e1","src/vendor/SPIRV-Cross/spirv_parser.cpp":"4def4db8c77967dcd2d6d93330343dc6ebb309e8cd696f52ee568a7c3ee97036","src/vendor/SPIRV-Cross/spirv_parser.hpp":"fc5f92184d1b4986f78088bee8ed7ddb9b342a34f9a3e55a4a594187292b66b8","src/vendor/SPIRV-Cross/spirv_reflect.cpp":"995a4e4315f67d4a2084e2b5d982de9baf72c7e265dde71d03ae0b8a29a24b92","src/vendor/SPIRV-Cross/spirv_reflect.hpp":"a874b40be0b210c69718e87a90e9add24653957656a995d83656f0918cfd10e4","src/wrapper.cpp":"7800cec5564dc1c7c13059cb1b1cac8d9be9248bbc887d5176600980c0d18142","src/wrapper.hpp":"b9a4f846bf57ee7a10fbb81f8f49df96ad11b1e5749c3c510925bb9b029ac08a","tests/common/mod.rs":"2843bf104c7938d93065f7b5688c9f063ad9e5720c407c737aedc5f2dee5a80f","tests/glsl_tests.rs":"ddd85107370dbfcde9d004d6717e229a7278d29ecba375828d8cb79e86625f66","tests/hlsl_tests.rs":"2058cb590c5ab85a636c93c18d0f2a79eb5ea5e647b7f10a2c83fbf394964dd6","tests/msl_tests.rs":"211d3b9cb43455a4c55bd619c05acdd21953358580c50ae75cac3f06eb26c5dd","tests/shaders/array.vert":"d0dab7ddea131e069961054f40a164602448aa78720b7ff480e141d1f7b0b2d6","tests/shaders/array.vert.spv":"8e44421590ade1716be66ad39f60fb1ce58eedeab8f0806335a7369687b308b1","tests/shaders/multiple_entry_points.cl":"2abbe57f2387f07f7f5f4cd375e47900be9c13bdc79aa0ed98a43a798cb0df81","tests/shaders/multiple_entry_points.cl.spv":"bdd34ce6765dbeab637631c3cbdf251532870d9fd6cd6c54883c0c872058ab3b","tests/shaders/rasterize_disabled.vert":"da6de172549830216933c44edf18b13113d7ca87462e3d09ad50dfc9c9836821","tests/shaders/rasterize_disabled.vert.spv":"2ba809eb500ed6e5a067389ccc056551e796e7019517593d110fb62c9dca2056","tests/shaders/sampler.frag":"4c568e65176afe596dd8ef279485e992607e94d612786214ae1c6702d0322e1f","tests/shaders/sampler.frag.spv":"bd7bd1973a82dcfdf5755361fa4dd420fdf1c32c5de0a6f0896a8d5971f98684","tests/shaders/simple.vert":"ea143c97dff5ef03728b96b2dd893bdc59d56651581ecf9fe50f10807b0efdd0","tests/shaders/simple.vert.spv":"a2b5094ffd76288e0d08c37ce0351e28f20bb6d80ddd73fc44a71c1c7cbbf7db","tests/shaders/specialization.comp":"ce32fa1615737209f2e465ea347d79030ddcb33a88c38447e7cde7dffc920163","tests/shaders/specialization.comp.spv":"848604e37b870b8999692b266677be2ce0df6ce38093a0d81e6bc43d0bdf8a3f","tests/shaders/struct.frag":"d8840bb1961d6f14609b00ee54406c1e3ea31cecd8231b77cfb73d28b71910c0","tests/shaders/struct.frag.spv":"774aa886374eb95abf9bb7d0045ee77d97e26529e9ec96b90991a515fdbca4be","tests/shaders/struct.vert":"9299cda83ddb5b5c3d95ab0d057e4df2af137dfd92d6c4d3e96295b7d42e29a1","tests/shaders/struct.vert.spv":"4a82bdee72616ac058bc60d4255efa3e78199a2b8597570c013bebbee7107fb7","tests/shaders/two_ubo.vert":"be109b2c65e5e9e1bb0dab968d7f651232f6b1c46935a3928f980bf7a40f2d62","tests/shaders/two_ubo.vert.spv":"efd14e2d0a782d61dd944711f30b9e7fcb14af17593c1fe4e11cf2b7e232bcc2","tests/shaders/workgroup.comp":"478044b5392e0d1fb042253d71ea6bf7b8a014af4a6ee35d8db4c5343ac69739","tests/shaders/workgroup.comp.spv":"72f636fe3d1d6d0c5963f71bf4349c7e40d544331b33b6b64fb5b65784e6abee","tests/spirv_tests.rs":"6de5c893f631d550fc86853537bddb824ffb534a0a7f130406be3b9ed166f198"},"package":null}
-\ No newline at end of file
-+{"files":{"Cargo.toml":"32644850d6dd8a8496fcf2dd0327dfc18a41f87bbd5f0922e174a905babde20d","build.rs":"68d1e7d99b4d890e21606aa7e7904d4f9b8caed6c0951bb8f5028745a7103d1e","src/bindings_native.rs":"6aa4e3a3bd73a638b3282405c0eaf2565ff8f364919c509f94f79e326679b03e","src/bindings_wasm.rs":"331d19691566beb163fc459d630e9830167cc86ec8cacde6be53fb0a7ca2b1be","src/bindings_wasm_functions.rs":"2515dd91e98e769fe282e7dc4f60820f4be7365c784a9f3bd17310d18a136da8","src/compiler.rs":"a53c7e0136ea3deddbfaf158295daca36623a0e244426b7c04d2856922d91c73","src/emscripten.rs":"3169890001970610013026468739910afca0d85e00d7e34beadfdd31bbcbeeb7","src/glsl.rs":"7ca1f6a11db8e7926a813fb91298dac1c0e2f90fe5426cc985cde7d8f36c05c9","src/hlsl.rs":"3734ad89a4f51647ebeb761753cb324a48ebca724970201e7598a3763d094d73","src/lib.rs":"cc41cbbe48f3e96791ba5338c66fa1fe0e533eaed6bbdced3f008d5e9fe6c6ce","src/msl.rs":"5505d1d626d8e7903ffa9d137e7392a1670fa7b574eacc4bbd33673937b36ea7","src/ptr_util.rs":"280404beede469b2c9ae40536323515a9213dac5d30014fac870a23b37672442","src/spirv.rs":"8a2cbe6b554bb6312f2aede0469338ace21e79720b5128c653e7a68c0e161277","src/vendor/SPIRV-Cross/.clang-format":"9ec4314e20afecad827a2dbd4832256be8464e88aab4a53fab45173ed129b2ed","src/vendor/SPIRV-Cross/.travis.yml":"abcc1b2f622b65feafd3e37a2b5e867fce3cf7211cae9fb2bf92a6de79100be4","src/vendor/SPIRV-Cross/CMakeLists.txt":"0972ab271e1eecdfe41ae0a85bf14ce7fe142b7609f8d2965b2c94f92c63b6aa","src/vendor/SPIRV-Cross/CODE_OF_CONDUCT.md":"a25e58cd66a9543e1500db9a5c3c027e874893ad1a264530bf26eb10918b5d80","src/vendor/SPIRV-Cross/GLSL.std.450.h":"20f32378793c5f416bc0704f44345c2a14c99cba3f411e3beaf1bcea372d58ba","src/vendor/SPIRV-Cross/LICENSE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","src/vendor/SPIRV-Cross/Makefile":"e2255d32e47d447b100ce3cd0753d0758dc26460e0440d14cc157d4caf9b62f1","src/vendor/SPIRV-Cross/README.md":"b944fc5b1de709089fc3cae0dba09186ce2e43b64de6dcae1423ba1c139ee395","src/vendor/SPIRV-Cross/appveyor.yml":"0f18b8ae5fadc027a20f69307fc32e56a97edfbdcb55ac392852308f88545a04","src/vendor/SPIRV-Cross/include/spirv_cross/barrier.hpp":"bb796625e89f75e239e92f9a61597d421ffe5fb1902d200691ebe95cf856a1f8","src/vendor/SPIRV-Cross/include/spirv_cross/external_interface.h":"cdceda962d87133e44989510edc944e99052d713869b406a8b6b2d54e3d02dd7","src/vendor/SPIRV-Cross/include/spirv_cross/image.hpp":"681d0964b144c5009424196a8bc832cb81cfe5df5b91c2f3e1bfb625765a0c50","src/vendor/SPIRV-Cross/include/spirv_cross/internal_interface.hpp":"ab8851e5708b944a9bf340ce17297d94bef4876d30c833ea83d44b16f60726f6","src/vendor/SPIRV-Cross/include/spirv_cross/sampler.hpp":"b0b1bd4796b4315e826985c224ea5fa7d5bc823fcd6091f7527a5e18d9ae42fb","src/vendor/SPIRV-Cross/include/spirv_cross/thread_group.hpp":"70d9e0400f62de71d3775972eadc196ddb218254fa8155e8e33daf8d99957cc0","src/vendor/SPIRV-Cross/main.cpp":"ab2835f6dff9299f562a89755893f98a4bd946d4460abca885ba2172ebce851c","src/vendor/SPIRV-Cross/pkg-config/spirv-cross-c-shared.pc.in":"75a27e069ee07362bc6b7412b2c4e1270778dd639a8b96b8afbb113d21de79e7","src/vendor/SPIRV-Cross/spirv.h":"2c19cd1d262a3757e92276fbaa8e1a706b2328a92f47bda88f849b5cebebb630","src/vendor/SPIRV-Cross/spirv.hpp":"eb7c39a017f0a33e9d9bae7556c678c2840af4cc0beb98b2aeff9d651e370128","src/vendor/SPIRV-Cross/spirv_cfg.cpp":"09b756068d95a87a65a186831484fe21a973d3eb19675225b23864b9d37fe3d0","src/vendor/SPIRV-Cross/spirv_cfg.hpp":"ad98c4e82d6da3ed450dfc7939814115ae6b29ba2a25b0148cfc8c88774055b5","src/vendor/SPIRV-Cross/spirv_common.hpp":"5d0658a6fe9ac2f628754d2439b4d26ec8df7e50e4b196567cd4c7e7b8ce7574","src/vendor/SPIRV-Cross/spirv_cpp.cpp":"d067269ec6fc56860b4ed39edddf0a127f5e2d091512a85a79f02d5f3beccd19","src/vendor/SPIRV-Cross/spirv_cpp.hpp":"751ce82c70a399781f18aca54ea7fbb98083b98706f2a6be1cd1aa90627ef597","src/vendor/SPIRV-Cross/spirv_cross.cpp":"225b4cf4c7f8868019680d0a75a3da7983db428783ee1a3dcbb8c2765a71e79a","src/vendor/SPIRV-Cross/spirv_cross.hpp":"7eab2d7ae4b25a3c4fe85631e664727e036ae23a776aeb8c17db23f08020258a","src/vendor/SPIRV-Cross/spirv_cross_c.cpp":"80f438f4700f0b0b02547771f82be0610ba5e24ba3edb56d4331d59a206a4c2e","src/vendor/SPIRV-Cross/spirv_cross_c.h":"8b0ad63ed9fe52bc62f305afa27b5e33d9bd689a8b3f9935353742faf88a1e91","src/vendor/SPIRV-Cross/spirv_cross_containers.hpp":"409f60a5cb1dba1d0c96ef61761d8643402fc5ab67cecce12f6af3d135cfa338","src/vendor/SPIRV-Cross/spirv_cross_error_handling.hpp":"45868796346eef895cc05825582e60d26c34ec35d1a2b97f5e172f05fc565b19","src/vendor/SPIRV-Cross/spirv_cross_parsed_ir.cpp":"7c7e08db4dfc1084fd9cd266a6f829d35a6b2856198b16307a44f4d1c0743106","src/vendor/SPIRV-Cross/spirv_cross_parsed_ir.hpp":"d15446565eaa430bf2b14b596b3e579a72095a386b1eb256afc977cdf42ec5b9","src/vendor/SPIRV-Cross/spirv_cross_util.cpp":"f2426dccad2fff44053f6b1b9558719471a1ba0445c317f2c0311bc0d8b4636d","src/vendor/SPIRV-Cross/spirv_cross_util.hpp":"63ca5b2d6c80b5ad39473d6841676e48d5db3d2cbcb252fe6a6db0ef2077f0f5","src/vendor/SPIRV-Cross/spirv_glsl.cpp":"c1704189895442d593819472d3f852979107ac1798375d5a44d8f97be17fa3b5","src/vendor/SPIRV-Cross/spirv_glsl.hpp":"fb5e00ff589e3c5a25c5a15e78cf4809b753ebe04c84a008dc977330b8cbbc27","src/vendor/SPIRV-Cross/spirv_hlsl.cpp":"549ff42d0773a3f9e555d1aebd4c0084709e11528082f47c5f2b8b07de029f7c","src/vendor/SPIRV-Cross/spirv_hlsl.hpp":"18f303e7a384acf0e14677b579b100aee838813f54735330f0d1387f2493b363","src/vendor/SPIRV-Cross/spirv_msl.cpp":"7266afeb827e50782cb35362788d27fa9bd641992380008604ea1a4e48ec9c37","src/vendor/SPIRV-Cross/spirv_msl.hpp":"76b609e0b8d2f421c51e98d6357fcf44666b0d510935e083e4e02f20a80051e1","src/vendor/SPIRV-Cross/spirv_parser.cpp":"4def4db8c77967dcd2d6d93330343dc6ebb309e8cd696f52ee568a7c3ee97036","src/vendor/SPIRV-Cross/spirv_parser.hpp":"fc5f92184d1b4986f78088bee8ed7ddb9b342a34f9a3e55a4a594187292b66b8","src/vendor/SPIRV-Cross/spirv_reflect.cpp":"995a4e4315f67d4a2084e2b5d982de9baf72c7e265dde71d03ae0b8a29a24b92","src/vendor/SPIRV-Cross/spirv_reflect.hpp":"a874b40be0b210c69718e87a90e9add24653957656a995d83656f0918cfd10e4","src/wrapper.cpp":"7800cec5564dc1c7c13059cb1b1cac8d9be9248bbc887d5176600980c0d18142","src/wrapper.hpp":"b9a4f846bf57ee7a10fbb81f8f49df96ad11b1e5749c3c510925bb9b029ac08a","tests/common/mod.rs":"2843bf104c7938d93065f7b5688c9f063ad9e5720c407c737aedc5f2dee5a80f","tests/glsl_tests.rs":"ddd85107370dbfcde9d004d6717e229a7278d29ecba375828d8cb79e86625f66","tests/hlsl_tests.rs":"2058cb590c5ab85a636c93c18d0f2a79eb5ea5e647b7f10a2c83fbf394964dd6","tests/msl_tests.rs":"211d3b9cb43455a4c55bd619c05acdd21953358580c50ae75cac3f06eb26c5dd","tests/shaders/array.vert":"d0dab7ddea131e069961054f40a164602448aa78720b7ff480e141d1f7b0b2d6","tests/shaders/array.vert.spv":"8e44421590ade1716be66ad39f60fb1ce58eedeab8f0806335a7369687b308b1","tests/shaders/multiple_entry_points.cl":"2abbe57f2387f07f7f5f4cd375e47900be9c13bdc79aa0ed98a43a798cb0df81","tests/shaders/multiple_entry_points.cl.spv":"bdd34ce6765dbeab637631c3cbdf251532870d9fd6cd6c54883c0c872058ab3b","tests/shaders/rasterize_disabled.vert":"da6de172549830216933c44edf18b13113d7ca87462e3d09ad50dfc9c9836821","tests/shaders/rasterize_disabled.vert.spv":"2ba809eb500ed6e5a067389ccc056551e796e7019517593d110fb62c9dca2056","tests/shaders/sampler.frag":"4c568e65176afe596dd8ef279485e992607e94d612786214ae1c6702d0322e1f","tests/shaders/sampler.frag.spv":"bd7bd1973a82dcfdf5755361fa4dd420fdf1c32c5de0a6f0896a8d5971f98684","tests/shaders/simple.vert":"ea143c97dff5ef03728b96b2dd893bdc59d56651581ecf9fe50f10807b0efdd0","tests/shaders/simple.vert.spv":"a2b5094ffd76288e0d08c37ce0351e28f20bb6d80ddd73fc44a71c1c7cbbf7db","tests/shaders/specialization.comp":"ce32fa1615737209f2e465ea347d79030ddcb33a88c38447e7cde7dffc920163","tests/shaders/specialization.comp.spv":"848604e37b870b8999692b266677be2ce0df6ce38093a0d81e6bc43d0bdf8a3f","tests/shaders/struct.frag":"d8840bb1961d6f14609b00ee54406c1e3ea31cecd8231b77cfb73d28b71910c0","tests/shaders/struct.frag.spv":"774aa886374eb95abf9bb7d0045ee77d97e26529e9ec96b90991a515fdbca4be","tests/shaders/struct.vert":"9299cda83ddb5b5c3d95ab0d057e4df2af137dfd92d6c4d3e96295b7d42e29a1","tests/shaders/struct.vert.spv":"4a82bdee72616ac058bc60d4255efa3e78199a2b8597570c013bebbee7107fb7","tests/shaders/two_ubo.vert":"be109b2c65e5e9e1bb0dab968d7f651232f6b1c46935a3928f980bf7a40f2d62","tests/shaders/two_ubo.vert.spv":"efd14e2d0a782d61dd944711f30b9e7fcb14af17593c1fe4e11cf2b7e232bcc2","tests/shaders/workgroup.comp":"478044b5392e0d1fb042253d71ea6bf7b8a014af4a6ee35d8db4c5343ac69739","tests/shaders/workgroup.comp.spv":"72f636fe3d1d6d0c5963f71bf4349c7e40d544331b33b6b64fb5b65784e6abee","tests/spirv_tests.rs":"6de5c893f631d550fc86853537bddb824ffb534a0a7f130406be3b9ed166f198"},"package":null}
-\ No newline at end of file
-diff --git a/third_party/rust/syn/.cargo-checksum.json b/third_party/rust/syn/.cargo-checksum.json
-index 77939d8fc6..704f2ed200 100644
---- mozilla-release/third_party/rust/syn/.cargo-checksum.json
-+++ mozilla-release/third_party/rust/syn/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"Cargo.toml":"484d29864d333a361652fa4e24e1dcfab9efa47705ffd8c106d802eb03b78da7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"ca605417b6db8c995458f8407afaad6c177aedcc2274004283600f5638fa1b0c","benches/file.rs":"b45211cc4a0296a77aac2b4de16dbc6b5cb66adfb5afac00a77bccea87f43968","benches/rust.rs":"9cc0f62e944f1583d05c43a395a1556731501cf5976ef67a081f4f6387f883ba","build.rs":"7423ab199728d55c7d64c44b7c6729cfd93bd8273366a77707353003e27565d7","src/attr.rs":"cf81add298f0e75c35a9980a59bc3c2fd3fe933635830d1591374eeb2487c225","src/await.rs":"18f0b2ecb319991f891e300011424985e3cf33d166ea9f29f22d575fc8c83a76","src/bigint.rs":"efc7f64959980653d73fe4f8bc2a3a2904dc05f45b02c6dc15cd316fa3d7c338","src/buffer.rs":"2a432c11a3da67a21d46c2272bf9ce60a0bb20893b5750027bbd8ca3e843ab35","src/custom_keyword.rs":"589e46ec1be9a04d6de12c0b8cadf87cc1c05606ed46ddea62e9869cbca4a191","src/custom_punctuation.rs":"2ba2e294e15a0fce7ede3686c42b2891797079a724dd1193b66e7d305624c891","src/data.rs":"cc9b250d084e444782d3ff5e63c1ba387cbde8f7f2e977eab9846d920b4b8c3f","src/derive.rs":"c18878f14be5d5ab11fd7dda2d2ff1ff75c9662daf11eed033de62e4d0670a89","src/discouraged.rs":"50e10915695c4d14f64a78e20ecbef90a2cd53a7c26ee3426a2524a8ee5c9cbf","src/error.rs":"2c17a402f83ed5ae4ad96e753216771bef620235c2ff1ccc23f4bbafc7266fe1","src/export.rs":"dcae67456278c0339acfbcbb4737b8d37cfba5a150ae789f31f4be79abf7e726","src/expr.rs":"871d8eeb43cef02ef88de3bea7477b79b4eabc096a0899dde0e5750edf482f49","src/ext.rs":"b97ed549490b9248b5b5df31b3d5b08ba8791e23e6c5d3a1157a0363eb683ff3","src/file.rs":"3cc2bf5c709238d515a557f721f231c8c725b196400de051f945b549299d38a7","src/gen/fold.rs":"10b3ae33d0ce410d6bbe8b93be9d5f9e856c7dc8212133cc46b703f97d548190","src/gen/visit.rs":"e0f5798552d186024696b7bfc7219d4ff53b0e45f735a83e77cbb6b6578c5fa4","src/gen/visit_mut.rs":"9f7dda83907969971dba84d545aaa563b0728e54db97ffab5050fdf43a79c731","src/gen_helper.rs":"ea6c66388365971db6a2fc86cbb208f7eacde77e245bc8623f27a3642a3d7741","src/generics.rs":"d845d7a828863123a5187fd0fe59c9dae3636f63bad302bd035792eed3dcb1ba","src/group.rs":"119b62d8481b4b1c327639bed40e114bf1969765250b68186628247fd4144b3b","src/ident.rs":"503156ce51a7ef0420892e8dbf2ecf8fe51f42a84d52cc2c05654e1a83020cbf","src/item.rs":"213f2f58c65ee1aa222f111bc9b1be681f8fb069caed04ca56586839979318d0","src/keyword.rs":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/lib.rs":"24778e9f15e8025e75aca114c712716ada586b471adb3b3b69278f4d39b8a21b","src/lifetime.rs":"905359708f772ec858954badde69ee016d29e6eeba1dd205b268445b1aff6f3a","src/lit.rs":"5bb0bddb94cbd256e50e92dc091a0baa09f1be40a77058b897507f3b17191e5d","src/lookahead.rs":"5cce8b4cb345a85c24a452ea6d78eadb76f01ca0a789cbf5ce35108334904173","src/mac.rs":"6b468244cc07e3f2f10419f833d9e2ed23edbcd6dc34cf21c5947633699db964","src/macros.rs":"0d8c3bab47539aa2d00bec64e92c901ea2c9c0af74c868051c0905b82650f970","src/op.rs":"93cd44770bb110deadf807a01d9a666efe644b6e3010f4b51cae77ee7438cfbb","src/parse.rs":"5017123c249ebc65866af113a0ad671814b9873f47568180e6539a305eb0317d","src/parse_macro_input.rs":"f799aadb7216c2d333b579f48ed2fedfe07b5e96f004b25b569649ffbaa958d2","src/parse_quote.rs":"81575bf60b18b0d8624d7025a5bcc8dcd6633ad70c454dee2a06e4c391700b6c","src/pat.rs":"db0f2263b9813de1f4e3e3e0396fe0080b1e11c8090c6b4fb6fca3cfbe22bc96","src/path.rs":"32e685ac7fd2d4b9989802de8f326a8d47fa710f86ec3e45fd9d3ff8fdfe97ef","src/print.rs":"da6529c1d9d21aaf6c835f66b4e67eacb7cf91a10eb5e9a2143b49bf99b3b5e1","src/punctuated.rs":"384e7b317b26f24118eb4b0c39e949ee9f4f3e700a4c80e462342c83b2cc3282","src/sealed.rs":"896a495a5340eec898527f18bd4ddca408ea03ea0ee3af30074ff48deace778d","src/span.rs":"748c51c6feb223c26d3b1701f5bb98aee823666c775c98106cfa24fe29d8cec1","src/spanned.rs":"adddb6acae14a0fa340df302b932c31e34b259706ce56fd82ab597ec424500e1","src/stmt.rs":"fbccf2b4da7980fe6ea8d99457d291577c0f225b370c1dd97da41abf2a18fcf7","src/thread.rs":"815eca6bd64f4eef7c447f0809e84108f5428ff50225224b373efd8fbb696874","src/token.rs":"761d8d1793560eb2b631c36ddfdbb14ac65178405f095453aa0e75e8816bdbb9","src/tt.rs":"1e32ae216d14d895ff621bf32bc611f138aa00108b0090be2cbaa0affebe8e2a","src/ty.rs":"ce052e0079b65b66bea4e9502d2ff2c90ad4b867904bf7eb892eb60aa3ef219a","tests/clone.sh":"961243d42540d9992090efbbd5478b7aa395671db64a6c28cdadb6edc610ebdf","tests/common/eq.rs":"a42d339808fd32dd4bfd440c254add8c56d5e2cde3a6bf0c88621b618ce5eaa7","tests/common/mod.rs":"20a3300016351fa210a193fbb0db059ef5125fa7909585ded64790004d4977ed","tests/common/parse.rs":"17ba6d1e74aaa3f8096c6d379d803221f12d95cca69927be047d6ddf8367647f","tests/debug/gen.rs":"57bd5cf585e0b86ad00f29f09ff3db3390c4a756d503514a9b28407500dcea3c","tests/debug/mod.rs":"462d6fe34ee75c3ca1207d4db2ff3bdee5b430b9f9ca632e5671d1588d3f76b3","tests/features/error.rs":"e0581a2869cbd237c2bc18a0a85272296e1577bb5f7317a67fa85e28e04eea6f","tests/features/mod.rs":"66a2605ec54ede29208da350f2bed536dfa763b58408d64d3fca3b13de64b64f","tests/macros/mod.rs":"3f2d758c0ba76b93f54b0c1fc22ad50edff8ef42629ba4d47ac7d7f823da8359","tests/repo/mod.rs":"e851a68972c9194a9a8d7b68538b16ed79ae81cba55e1a2ce210d1b759fb1a21","tests/test_asyncness.rs":"b6c46118b036e6807d24eb0e1779244b4fca23dac0d8031e9843b3edec484ce8","tests/test_attribute.rs":"2d8f18a98c989d3f7adaaeb1aeebd4f8413365ace63feecb37cb3f9db9db4d8f","tests/test_derive_input.rs":"477d80f914c54b526f8ff229788dc0e7798d118f6dcfa348f4c99755edb347b9","tests/test_expr.rs":"f35ca80566849a36e6ba6403d9663519eff37e4224360c468fedff8b561a643e","tests/test_generics.rs":"83a5dc07f5c5701c12625399262f7120b66f01a742523f3eda28da2cf2c87eb3","tests/test_grouping.rs":"aadd75215addd9e5a8fa2f9472117d4cb80f1e8b84e07f4c0845675c9014164f","tests/test_ident.rs":"236c239dd66f543f084f44ff747d7bc3962cf11a019a279777fe972f6e17aa4c","tests/test_iterators.rs":"718938da14778dcba06324d36a99d9317c9d45d81a34c6a44c47e1fa38085e9f","tests/test_lit.rs":"7dff2661a5ac586d6ed2fe27501cb8ff62f4cf3f6c91f596bff6057c67ad7857","tests/test_meta.rs":"8444dee084882243b107dfc8a6aac27f9382f9774162d1ac8ed8ec30d60c048e","tests/test_parse_buffer.rs":"b244bb4bc41ff06d21f239e60a3d663fdec5aa4af33f2a354afef36d34f0aefc","tests/test_pat.rs":"41776b878efae9b8e340f21ffe6296e921cf309f618482efd98609c33e32c28b","tests/test_precedence.rs":"71f3ea52cda8b40166bb7416fb98774e6a653542497b521f8e183e283dcf579d","tests/test_round_trip.rs":"e0de37f45fa223b488d25a41beab185eb92abb7bf765a9f13fe5d870ff31f5f1","tests/test_should_parse.rs":"4da4e25ee2baa7e75135c375042a7f958de136c5698dab03f99ff7a774dcd463","tests/test_size.rs":"970150b9d49ef91ab4c8f8c6a59b83f9a68a02acb779f0280733a5efaec6487a","tests/test_token_trees.rs":"a07ea657bf03b9c667c821b2db2af49b176ca737e3e01217a73cca78b7f11380","tests/zzz_stable.rs":"961d4940a926db4ca523d834b060c62de988e6a8e01c9f5efaa7bb4c86745b47"},"package":"66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"}
-\ No newline at end of file
-+{"files":{"Cargo.toml":"28ddb678a5ccac4423435384c8b7116f804e896eabc5aae9d5c2bc666aaebbb4","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"03f3b53cf858536a0883aa5b5882ee61dcd0f1e71c0930c9106fcfa1d6aad2df","benches/file.rs":"b4724fc7c0f48b8f488e2632a1064f6c0bf16ded3969680fc3f4a2369536269b","benches/rust.rs":"ea6291ef2d2a83d94a3312fe179d48259f8ec0b04c961993ddd181d0a4ab740e","build.rs":"aeca2312f05aec658eaa66980a0ef3d578837db107a55702b39419ea0422eb4a","src/attr.rs":"7d79482634d6544eb4a4825405407b53660d0f5f8b929f7e1671e005b9d92038","src/await.rs":"18f0b2ecb319991f891e300011424985e3cf33d166ea9f29f22d575fc8c83a76","src/bigint.rs":"efc7f64959980653d73fe4f8bc2a3a2904dc05f45b02c6dc15cd316fa3d7c338","src/buffer.rs":"cf2a4b3bdc247b80c85ff5625a1dfb7a5f517fd835f6e1518a7b924990e4c293","src/custom_keyword.rs":"9627467063e41776315a6a14b2aaea3875592d8e0ebd2dc6df1fc2f12c06f146","src/custom_punctuation.rs":"b00e7bee96eb473507527e39db65e74e71592dc06421d2cfe45ed899c17d4847","src/data.rs":"7aec9a745cd53ec95688afa353f6efb9576e7fc0143757b51d28bc3d900b1d2a","src/derive.rs":"fa71866df6e383673dd3329f455a9f953585b83f9739050be3bf1f8c6d526b96","src/discouraged.rs":"a1f3d85e20dedf50b1b7b4571d970a3a6e9b2de4afde7dd0c986fe240df2ba46","src/error.rs":"c3005b50e3132026250c5356d0d391bf96db8087f0f5f744de98e360d8a20a3e","src/export.rs":"dcae67456278c0339acfbcbb4737b8d37cfba5a150ae789f31f4be79abf7e726","src/expr.rs":"54455fd20041996653ca5379b03cdf3c2fc1b3dd2e1149b5bc6b1dd492545d55","src/ext.rs":"870086d9021e6a6fcefa2f00cd91b55c4b74dcee8f0f6a07e76d96fb44707d61","src/file.rs":"75167ebc77e7870122078eabde1b872c337142d4b0962c20cedffcaaa2a5b7c6","src/gen/clone.rs":"0845c1bf8624c3f235cd247b4eb748e7e16b4c240097cb0ff16751f688c079ae","src/gen/debug.rs":"d24fe37f4ce1dd74f2dc54136e893782d3c4d0908323c036c97599551a56960c","src/gen/eq.rs":"1e6ef09b17ca7f36861ef23ce2a6991b231ed5f087f046469b5f23da40f5b419","src/gen/fold.rs":"3f59e59ed8ad2ab5dd347bfbe41bbc785c2aabd8ae902087a584a6daed597182","src/gen/hash.rs":"e5b2a52587173076777233a9e57e2b3c8e0dd6d6f41d16fa7c9fde68b05c2bfc","src/gen/visit.rs":"23008c170d4dd3975232876a0a654921d9b6af57372cb9fcc133ca740588d666","src/gen/visit_mut.rs":"42886c3ee02ded72d9c3eec006e20431eaee0c6b90ddefc1a36ec7bf50c6a24a","src/gen_helper.rs":"ea6c66388365971db6a2fc86cbb208f7eacde77e245bc8623f27a3642a3d7741","src/generics.rs":"d1c175284ca21e777ef0414c28383929b170ccb00aaf7a929eb18d3b05e18da8","src/group.rs":"119b62d8481b4b1c327639bed40e114bf1969765250b68186628247fd4144b3b","src/ident.rs":"503156ce51a7ef0420892e8dbf2ecf8fe51f42a84d52cc2c05654e1a83020cbf","src/item.rs":"c9ad9881e8cda8ee3f157f0c7602fc53d08a7e3288b9afc388c393689eac5aea","src/lib.rs":"558ad13779233b27bebc4b2fc8025eb1c7e57b32130dc1dd911391e27b427500","src/lifetime.rs":"f390fe06692fc51fbf3eb490bb9f795da70e4452f51c5b0df3bbaa899084ddf1","src/lit.rs":"9fab84e38756b092fbb055dcdf01e31d42d916c49e3eaae8c9019043b0ee4301","src/lookahead.rs":"5cce8b4cb345a85c24a452ea6d78eadb76f01ca0a789cbf5ce35108334904173","src/mac.rs":"e5cecea397fd01a44958162781d8d94343fe2a1b9b9754a5666c3d2ab4d7ef64","src/macros.rs":"2ce05b553f14da4ee550bb681cb0733b7186ad94719cd36f96d53e15fd02cf2b","src/op.rs":"449514e146deab0ab020bc6f764544c294dbc780941c9802bf60cf1b2839d550","src/parse.rs":"bde888c98ee259f2a73489a693515ed4875432b0d79486ac83aea19f441992a3","src/parse_macro_input.rs":"653a020f023cac0eccbc1fcc34aa7bf80567b43e5475deab4ad3e487a5363201","src/parse_quote.rs":"642f21e5fa54df4b7c373fb158289ee1005d49e1a49b1d194df5438faee71c46","src/pat.rs":"1473b258162cc822f1ee0c0869f521053ed345a140c39ed83b9b4dfb6f9f2aca","src/path.rs":"f119f0c2af12fabd360eac9a2312e0f6e6c28c633c9671bde6ef0bece7c5ba3c","src/print.rs":"da6529c1d9d21aaf6c835f66b4e67eacb7cf91a10eb5e9a2143b49bf99b3b5e1","src/punctuated.rs":"212f5a601d6c2eb8b8fa679be1167b455b595bee964d2775b0101ebb16c3eaa5","src/reserved.rs":"3625eb2a64589a4992ab79a1674e9679f465bea613ab139a671df5337e88cee6","src/sealed.rs":"896a495a5340eec898527f18bd4ddca408ea03ea0ee3af30074ff48deace778d","src/span.rs":"748c51c6feb223c26d3b1701f5bb98aee823666c775c98106cfa24fe29d8cec1","src/spanned.rs":"7d77714d585e6f42397091ffb3a799fd7b20c05c5442c737683c429ea7d409a5","src/stmt.rs":"3917fbc897f80efe838267833c55650ff8d636cb49a6d1084e28eff65d0e3ccd","src/thread.rs":"815eca6bd64f4eef7c447f0809e84108f5428ff50225224b373efd8fbb696874","src/token.rs":"a1ca6298bf6592cb80cbab1db4eac2fa4e3fa56729bb807bfb0f08ab0f229ca5","src/tt.rs":"1cc9e200624288322f800f32e3d6e2e53da946467bb312dd40a52c02cdcc4730","src/ty.rs":"cb167cbb16240c59a31b44adec175172caaf75ffef9a0bb168584b51bf105795","src/verbatim.rs":"802a97df997432f18cac6e6200ff6ea29fb2474986005e0fcdbc2b65197f87f7","src/whitespace.rs":"e63dd0aa3d34029f17766a8b09c1a6e4479e36c552c8b7023d710a399333aace","tests/common/eq.rs":"4b190a3833bdfd20a4cb1e3dff25a698751dec71d6f30249cf09426e061a4fb1","tests/common/mod.rs":"25ef6d7daa09bad3198a0e9e91b2812425f92db7c585c1e34a03a84d7362ccd8","tests/common/parse.rs":"8b7ba32f4988c30758c108536c4877dc5a039a237bf9b0687220ef2295797bbd","tests/debug/gen.rs":"d6e2abf2a7bb58a7895a60c2f094a98a4f85c9189d02011d0dcef6ef053f26e3","tests/debug/mod.rs":"868763d0ef1609a3ad5e05e9f1bfa0f813e91e7e9a36653414a188bb2fdaa425","tests/macros/mod.rs":"c0eafa4e3845fc08f6efe6021bac37822c0ac325eb7b51194a5f35236f648d92","tests/repo/mod.rs":"9e316b88d57ae213e81950c35e45443078ec90e702798353bc3528cb8a2810b6","tests/repo/progress.rs":"c08d0314a7f3ecf760d471f27da3cd2a500aeb9f1c8331bffb2aa648f9fabf3f","tests/test_asyncness.rs":"cff01db49d28ab23b0b258bc6c0a5cc4071be4fe7248eef344a5d79d2fb649b7","tests/test_attribute.rs":"0ffd99384e1a52ae17d9fed5c4053e411e8f9018decef07ffa621d1faa7329d8","tests/test_derive_input.rs":"610444351e3bf99366976bbf1da109c334a70ac9500caef366bcf9b68819829f","tests/test_expr.rs":"0ee83f6f6de950018c043efcc3e85776b4227dae3068309998a8d9709f2fc66c","tests/test_generics.rs":"9d713f90a79d6145efc89fb6f946029ca03486c632219950889da39940152ba0","tests/test_grouping.rs":"46c27baec4daaaf1e891892f0b0515ea8a44619071c7d0cc9192580916f1569f","tests/test_ident.rs":"9eb53d1e21edf23e7c9e14dc74dcc2b2538e9221e19dbcc0a44e3acc2e90f3f6","tests/test_item.rs":"461ed0c8648afffcea3217f52c9a88298182b4d39d73a11803b1281d99c98c25","tests/test_iterators.rs":"53ed6078d37550bd6765d2411e3660be401aef8a31a407350cc064a7d08c7c33","tests/test_lit.rs":"2a46c5f2f2ad1dcbb7e9b0cd11b55861c5ff818c2c4c51351d07e2daa7c74674","tests/test_meta.rs":"1fc98af3279cadc3d8db3c7e8d4d7f9e9dbd4d17548cf6a2f6f4536ed65367f6","tests/test_parse_buffer.rs":"8bbe2d24ca8a3788f72c6908fc96c26d546f11c69687bf8d72727f851d5e2d27","tests/test_parse_stream.rs":"2f449a2c41a3dee6fd14bee24e1666a453cb808eda17332fd91afd127fcdd2a6","tests/test_pat.rs":"2cb331fe404496d51e7cc7e283ae13c519a2265ca82e1c88e113296f860c2cba","tests/test_path.rs":"fcd5591e639fc787acc9763d828a811c8114525c9341282eefda8f331e082a51","tests/test_precedence.rs":"8d03656741b01e577d7501ce24332d1a4febec3e31a043e47c61062b8c527ed2","tests/test_receiver.rs":"084eca59984b9a18651da52f2c4407355da3de1335916a12477652999e2d01cc","tests/test_round_trip.rs":"ba01bf4ec04cd2d6f9e4800c343563925ae960c5f16752dc0797fda4451b6cc2","tests/test_shebang.rs":"f5772cadad5b56e3112cb16308b779f92bce1c3a48091fc9933deb2276a69331","tests/test_should_parse.rs":"1d3535698a446e2755bfc360676bdb161841a1f454cdef6e7556c6d06a95c89d","tests/test_size.rs":"5fae772bab66809d6708232f35cfb4a287882486763b0f763feec2ad79fbb68b","tests/test_stmt.rs":"17e4355843ee2982b51faba2721a18966f8c2b9422e16b052a123b8ee8b80752","tests/test_token_trees.rs":"43e56a701817e3c3bfd0cae54a457dd7a38ccb3ca19da41e2b995fdf20e6ed18","tests/test_ty.rs":"5b7c0bfc4963d41920dd0b39fdea419e34f00409ba86ad4211d6c3c7e8bbe1c0","tests/test_visibility.rs":"3f958e2b3b5908005e756a80eea326a91eac97cc4ab60599bebde8d4b942d65c","tests/zzz_stable.rs":"2a862e59cb446235ed99aec0e6ada8e16d3ecc30229b29d825b7c0bbc2602989"},"package":"963f7d3cc59b59b9325165add223142bbf1df27655d07789f109896d353d8350"}
-\ No newline at end of file
-diff --git a/third_party/rust/syn/Cargo.toml b/third_party/rust/syn/Cargo.toml
-index 7a5c962f06..20277fc461 100644
---- mozilla-release/third_party/rust/syn/Cargo.toml
-+++ mozilla-release/third_party/rust/syn/Cargo.toml
-@@ -13,7 +13,7 @@
- [package]
- edition = "2018"
- name = "syn"
--version = "1.0.5"
-+version = "1.0.40"
- authors = ["David Tolnay <dtolnay@gmail.com>"]
- include = ["/benches/**", "/build.rs", "/Cargo.toml", "/LICENSE-APACHE", "/LICENSE-MIT", "/README.md", "/src/**", "/tests/**"]
- description = "Parser for Rust source code"
-@@ -24,25 +24,21 @@ license = "MIT OR Apache-2.0"
- repository = "https://github.com/dtolnay/syn"
- [package.metadata.docs.rs]
- all-features = true
-+targets = ["x86_64-unknown-linux-gnu"]
-
- [package.metadata.playground]
--all-features = true
--
--[lib]
--name = "syn"
-+features = ["full", "visit", "visit-mut", "fold", "extra-traits"]
-
- [[bench]]
- name = "rust"
- harness = false
- required-features = ["full", "parsing"]
--edition = "2018"
-
- [[bench]]
- name = "file"
- required-features = ["full", "parsing"]
--edition = "2018"
- [dependencies.proc-macro2]
--version = "1.0"
-+version = "1.0.13"
- default-features = false
-
- [dependencies.quote]
-@@ -52,18 +48,34 @@ default-features = false
-
- [dependencies.unicode-xid]
- version = "0.2"
-+[dev-dependencies.anyhow]
-+version = "1.0"
-+
-+[dev-dependencies.flate2]
-+version = "1.0"
-+
- [dev-dependencies.insta]
--version = "0.9"
-+version = "0.16"
-
- [dev-dependencies.rayon]
- version = "1.0"
-
- [dev-dependencies.ref-cast]
--version = "0.2"
-+version = "1.0"
-
- [dev-dependencies.regex]
- version = "1.0"
-
-+[dev-dependencies.reqwest]
-+version = "0.10"
-+features = ["blocking"]
-+
-+[dev-dependencies.syn-test-suite]
-+version = "0"
-+
-+[dev-dependencies.tar]
-+version = "0.4"
-+
- [dev-dependencies.termcolor]
- version = "1.0"
-
-@@ -80,7 +92,6 @@ full = []
- parsing = []
- printing = ["quote"]
- proc-macro = ["proc-macro2/proc-macro", "quote/proc-macro"]
-+test = ["syn-test-suite/all-features"]
- visit = []
- visit-mut = []
--[badges.travis-ci]
--repository = "dtolnay/syn"
-diff --git a/third_party/rust/syn/README.md b/third_party/rust/syn/README.md
-index 29a7f32a46..12b5f45b3d 100644
---- mozilla-release/third_party/rust/syn/README.md
-+++ mozilla-release/third_party/rust/syn/README.md
-@@ -1,10 +1,10 @@
- Parser for Rust source code
- ===========================
-
--[![Build Status](https://api.travis-ci.org/dtolnay/syn.svg?branch=master)](https://travis-ci.org/dtolnay/syn)
--[![Latest Version](https://img.shields.io/crates/v/syn.svg)](https://crates.io/crates/syn)
--[![Rust Documentation](https://img.shields.io/badge/api-rustdoc-blue.svg)](https://docs.rs/syn/1.0/syn/)
--[![Rustc Version 1.31+](https://img.shields.io/badge/rustc-1.31+-lightgray.svg)](https://blog.rust-lang.org/2018/12/06/Rust-1.31-and-rust-2018.html)
-+[<img alt="github" src="https://img.shields.io/badge/github-dtolnay/syn-8da0cb?style=for-the-badge&labelColor=555555&logo=github" height="20">](https://github.com/dtolnay/syn)
-+[<img alt="crates.io" src="https://img.shields.io/crates/v/syn.svg?style=for-the-badge&color=fc8d62&logo=rust" height="20">](https://crates.io/crates/syn)
-+[<img alt="docs.rs" src="https://img.shields.io/badge/docs.rs-syn-66c2a5?style=for-the-badge&labelColor=555555&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K" height="20">](https://docs.rs/syn)
-+[<img alt="build status" src="https://img.shields.io/github/workflow/status/dtolnay/syn/CI/master?style=for-the-badge" height="20">](https://github.com/dtolnay/syn/actions?query=branch%3Amaster)
-
- Syn is a parsing library for parsing a stream of Rust tokens into a syntax tree
- of Rust source code.
-@@ -46,10 +46,6 @@ contains some APIs that may be useful more generally.
- [`syn::DeriveInput`]: https://docs.rs/syn/1.0/syn/struct.DeriveInput.html
- [parser functions]: https://docs.rs/syn/1.0/syn/parse/index.html
-
--If you get stuck with anything involving procedural macros in Rust I am happy to
--provide help even if the issue is not related to Syn. Please file a ticket in
--this repo.
--
- *Version requirement: Syn supports rustc 1.31 and up.*
-
- [*Release notes*](https://github.com/dtolnay/syn/releases)
-@@ -88,8 +84,6 @@ proc-macro = true
- ```
-
- ```rust
--extern crate proc_macro;
--
- use proc_macro::TokenStream;
- use quote::quote;
- use syn::{parse_macro_input, DeriveInput};
-@@ -271,7 +265,7 @@ points, which are required by the language to use `proc_macro::TokenStream`.
- The proc-macro2 crate will automatically detect and use the compiler's data
- structures when a procedural macro is active.
-
--[proc-macro2]: https://docs.rs/proc-macro2/1.0.0/proc_macro2/
-+[proc-macro2]: https://docs.rs/proc-macro2/1.0/proc_macro2/
-
- <br>
-
-diff --git a/third_party/rust/syn/benches/file.rs b/third_party/rust/syn/benches/file.rs
-index 08ecd90960..58ab8df297 100644
---- mozilla-release/third_party/rust/syn/benches/file.rs
-+++ mozilla-release/third_party/rust/syn/benches/file.rs
-@@ -1,9 +1,16 @@
- // $ cargo bench --features full --bench file
-
- #![feature(rustc_private, test)]
-+#![recursion_limit = "1024"]
-
- extern crate test;
-
-+#[macro_use]
-+#[path = "../tests/macros/mod.rs"]
-+mod macros;
-+
-+#[path = "../tests/common/mod.rs"]
-+mod common;
- #[path = "../tests/repo/mod.rs"]
- pub mod repo;
-
-diff --git a/third_party/rust/syn/benches/rust.rs b/third_party/rust/syn/benches/rust.rs
-index e3d9cd29ba..50e1a7f601 100644
---- mozilla-release/third_party/rust/syn/benches/rust.rs
-+++ mozilla-release/third_party/rust/syn/benches/rust.rs
-@@ -4,7 +4,14 @@
- // $ RUSTFLAGS='--cfg syn_only' cargo build --release --features full --bench rust
-
- #![cfg_attr(not(syn_only), feature(rustc_private))]
-+#![recursion_limit = "1024"]
-
-+#[macro_use]
-+#[path = "../tests/macros/mod.rs"]
-+mod macros;
-+
-+#[path = "../tests/common/mod.rs"]
-+mod common;
- #[path = "../tests/repo/mod.rs"]
- mod repo;
-
-@@ -28,31 +35,35 @@ mod syn_parse {
- }
-
- #[cfg(not(syn_only))]
--mod libsyntax_parse {
-+mod librustc_parse {
- extern crate rustc_data_structures;
-- extern crate syntax;
-- extern crate syntax_pos;
-+ extern crate rustc_errors;
-+ extern crate rustc_parse;
-+ extern crate rustc_session;
-+ extern crate rustc_span;
-
- use rustc_data_structures::sync::Lrc;
-- use syntax::edition::Edition;
-- use syntax::errors::{emitter::Emitter, DiagnosticBuilder, Handler};
-- use syntax::parse::ParseSess;
-- use syntax::source_map::{FilePathMapping, SourceMap};
-- use syntax_pos::FileName;
-+ use rustc_errors::{emitter::Emitter, Diagnostic, Handler};
-+ use rustc_session::parse::ParseSess;
-+ use rustc_span::source_map::{FilePathMapping, SourceMap};
-+ use rustc_span::{edition::Edition, FileName};
-
- pub fn bench(content: &str) -> Result<(), ()> {
- struct SilentEmitter;
-
- impl Emitter for SilentEmitter {
-- fn emit_diagnostic(&mut self, _db: &DiagnosticBuilder) {}
-+ fn emit_diagnostic(&mut self, _diag: &Diagnostic) {}
-+ fn source_map(&self) -> Option<&Lrc<SourceMap>> {
-+ None
-+ }
- }
-
-- syntax::with_globals(Edition::Edition2018, || {
-+ rustc_span::with_session_globals(Edition::Edition2018, || {
- let cm = Lrc::new(SourceMap::new(FilePathMapping::empty()));
- let emitter = Box::new(SilentEmitter);
- let handler = Handler::with_emitter(false, None, emitter);
- let sess = ParseSess::with_span_handler(handler, cm);
-- if let Err(mut diagnostic) = syntax::parse::parse_crate_from_source_str(
-+ if let Err(mut diagnostic) = rustc_parse::parse_crate_from_source_str(
- FileName::Custom("bench".to_owned()),
- content.to_owned(),
- &sess,
-@@ -104,11 +115,11 @@ fn main() {
- repo::clone_rust();
-
- macro_rules! testcases {
-- ($($(#[$cfg:meta])* $name:path,)*) => {
-+ ($($(#[$cfg:meta])* $name:ident,)*) => {
- vec![
- $(
- $(#[$cfg])*
-- (stringify!($name), $name as fn(&str) -> Result<(), ()>),
-+ (stringify!($name), $name::bench as fn(&str) -> Result<(), ()>),
- )*
- ]
- };
-@@ -128,12 +139,12 @@ fn main() {
-
- for (name, f) in testcases!(
- #[cfg(not(syn_only))]
-- read_from_disk::bench,
-+ read_from_disk,
- #[cfg(not(syn_only))]
-- tokenstream_parse::bench,
-- syn_parse::bench,
-+ tokenstream_parse,
-+ syn_parse,
- #[cfg(not(syn_only))]
-- libsyntax_parse::bench,
-+ librustc_parse,
- ) {
- eprint!("{:20}", format!("{}:", name));
- let elapsed = exec(f);
-diff --git a/third_party/rust/syn/build.rs b/third_party/rust/syn/build.rs
-index c0f9ed3406..cf7681c3f9 100644
---- mozilla-release/third_party/rust/syn/build.rs
-+++ mozilla-release/third_party/rust/syn/build.rs
-@@ -1,6 +1,6 @@
- use std::env;
- use std::process::Command;
--use std::str::{self, FromStr};
-+use std::str;
-
- // The rustc-cfg strings below are *not* public API. Please let us know by
- // opening a GitHub issue if your build environment requires some way to enable
-@@ -26,38 +26,14 @@ struct Compiler {
- }
-
- fn rustc_version() -> Option<Compiler> {
-- let rustc = match env::var_os("RUSTC") {
-- Some(rustc) => rustc,
-- None => return None,
-- };
--
-- let output = match Command::new(rustc).arg("--version").output() {
-- Ok(output) => output,
-- Err(_) => return None,
-- };
--
-- let version = match str::from_utf8(&output.stdout) {
-- Ok(version) => version,
-- Err(_) => return None,
-- };
--
-+ let rustc = env::var_os("RUSTC")?;
-+ let output = Command::new(rustc).arg("--version").output().ok()?;
-+ let version = str::from_utf8(&output.stdout).ok()?;
- let mut pieces = version.split('.');
- if pieces.next() != Some("rustc 1") {
- return None;
- }
--
-- let next = match pieces.next() {
-- Some(next) => next,
-- None => return None,
-- };
--
-- let minor = match u32::from_str(next) {
-- Ok(minor) => minor,
-- Err(_) => return None,
-- };
--
-- Some(Compiler {
-- minor: minor,
-- nightly: version.contains("nightly"),
-- })
-+ let minor = pieces.next()?.parse().ok()?;
-+ let nightly = version.contains("nightly");
-+ Some(Compiler { minor, nightly })
- }
-diff --git a/third_party/rust/syn/src/attr.rs b/third_party/rust/syn/src/attr.rs
-index 34009deabc..fa4f1cb2a3 100644
---- mozilla-release/third_party/rust/syn/src/attr.rs
-+++ mozilla-release/third_party/rust/syn/src/attr.rs
-@@ -9,15 +9,11 @@ use proc_macro2::TokenStream;
- use crate::parse::{Parse, ParseBuffer, ParseStream, Parser, Result};
- #[cfg(feature = "parsing")]
- use crate::punctuated::Pair;
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
--#[cfg(feature = "extra-traits")]
--use std::hash::{Hash, Hasher};
-
- ast_struct! {
- /// An attribute like `#[repr(transparent)]`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// <br>
-@@ -111,7 +107,46 @@ ast_struct! {
- ///
- /// [`parse_meta()`]: Attribute::parse_meta
- /// [`parse_args()`]: Attribute::parse_args
-- pub struct Attribute #manual_extra_traits {
-+ ///
-+ /// <p><br></p>
-+ ///
-+ /// # Doc comments
-+ ///
-+ /// The compiler transforms doc comments, such as `/// comment` and `/*!
-+ /// comment */`, into attributes before macros are expanded. Each comment is
-+ /// expanded into an attribute of the form `#[doc = r"comment"]`.
-+ ///
-+ /// As an example, the following `mod` items are expanded identically:
-+ ///
-+ /// ```
-+ /// # use syn::{ItemMod, parse_quote};
-+ /// let doc: ItemMod = parse_quote! {
-+ /// /// Single line doc comments
-+ /// /// We write so many!
-+ /// /**
-+ /// * Multi-line comments...
-+ /// * May span many lines
-+ /// */
-+ /// mod example {
-+ /// //! Of course, they can be inner too
-+ /// /*! And fit in a single line */
-+ /// }
-+ /// };
-+ /// let attr: ItemMod = parse_quote! {
-+ /// #[doc = r" Single line doc comments"]
-+ /// #[doc = r" We write so many!"]
-+ /// #[doc = r"
-+ /// * Multi-line comments...
-+ /// * May span many lines
-+ /// "]
-+ /// mod example {
-+ /// #![doc = r" Of course, they can be inner too"]
-+ /// #![doc = r" And fit in a single line "]
-+ /// }
-+ /// };
-+ /// assert_eq!(doc, attr);
-+ /// ```
-+ pub struct Attribute {
- pub pound_token: Token![#],
- pub style: AttrStyle,
- pub bracket_token: token::Bracket,
-@@ -120,39 +155,11 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Attribute {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Attribute {
-- fn eq(&self, other: &Self) -> bool {
-- self.style == other.style
-- && self.pound_token == other.pound_token
-- && self.bracket_token == other.bracket_token
-- && self.path == other.path
-- && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Attribute {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- self.style.hash(state);
-- self.pound_token.hash(state);
-- self.bracket_token.hash(state);
-- self.path.hash(state);
-- TokenStreamHelper(&self.tokens).hash(state);
-- }
--}
--
- impl Attribute {
- /// Parses the content of the attribute, consisting of the path and tokens,
- /// as a [`Meta`] if possible.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_meta(&self) -> Result<Meta> {
-@@ -199,7 +206,7 @@ impl Attribute {
- /// ^^^^^^^^^ what gets parsed
- /// ```
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_args<T: Parse>(&self) -> Result<T> {
-@@ -208,7 +215,7 @@ impl Attribute {
-
- /// Parse the arguments to the attribute using the given parser.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_args_with<F: Parser>(&self, parser: F) -> Result<F::Output> {
-@@ -221,7 +228,7 @@ impl Attribute {
-
- /// Parses zero or more outer attributes from the stream.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_outer(input: ParseStream) -> Result<Vec<Self>> {
-@@ -234,7 +241,7 @@ impl Attribute {
-
- /// Parses zero or more inner attributes from the stream.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_inner(input: ParseStream) -> Result<Vec<Self>> {
-@@ -247,7 +254,7 @@ impl Attribute {
- }
-
- #[cfg(feature = "parsing")]
--fn error_expected_args(attr: &Attribute) -> Error {
-+fn expected_parentheses(attr: &Attribute) -> String {
- let style = match attr.style {
- AttrStyle::Outer => "#",
- AttrStyle::Inner(_) => "#!",
-@@ -261,19 +268,23 @@ fn error_expected_args(attr: &Attribute) -> Error {
- path += &segment.ident.to_string();
- }
-
-- let msg = format!("expected attribute arguments: {}[{}(...)]", style, path);
--
-- #[cfg(feature = "printing")]
-- return Error::new_spanned(attr, msg);
--
-- #[cfg(not(feature = "printing"))]
-- return Error::new(attr.bracket_token.span, msg);
-+ format!("{}[{}(...)]", style, path)
- }
-
- #[cfg(feature = "parsing")]
- fn enter_args<'a>(attr: &Attribute, input: ParseStream<'a>) -> Result<ParseBuffer<'a>> {
- if input.is_empty() {
-- return Err(error_expected_args(attr));
-+ let expected = expected_parentheses(attr);
-+ let msg = format!("expected attribute arguments in parentheses: {}", expected);
-+ return Err(crate::error::new2(
-+ attr.pound_token.span,
-+ attr.bracket_token.span,
-+ msg,
-+ ));
-+ } else if input.peek(Token![=]) {
-+ let expected = expected_parentheses(attr);
-+ let msg = format!("expected parentheses: {}", expected);
-+ return Err(input.error(msg));
- };
-
- let content;
-@@ -298,7 +309,7 @@ ast_enum! {
- /// Distinguishes between attributes that decorate an item and attributes
- /// that are contained within an item.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Outer attributes
-@@ -312,7 +323,6 @@ ast_enum! {
- /// - `#![feature(proc_macro)]`
- /// - `//! # Example`
- /// - `/*! Please file an issue */`
-- #[cfg_attr(feature = "clone-impls", derive(Copy))]
- pub enum AttrStyle {
- Outer,
- Inner(Token![!]),
-@@ -322,7 +332,7 @@ ast_enum! {
- ast_enum_of_structs! {
- /// Content of a compile-time structured attribute.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// ## Path
-@@ -360,7 +370,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A structured list within an attribute, like `derive(Copy, Clone)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct MetaList {
- pub path: Path,
-@@ -372,7 +382,7 @@ ast_struct! {
- ast_struct! {
- /// A name-value pair within an attribute, like `feature = "nightly"`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct MetaNameValue {
- pub path: Path,
-@@ -398,7 +408,7 @@ impl Meta {
- ast_enum_of_structs! {
- /// Element of a compile-time attribute list.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum NestedMeta {
- /// A structured meta item, like the `Copy` in `#[derive(Copy)]` which
-@@ -429,8 +439,8 @@ ast_enum_of_structs! {
- /// as type `AttributeArgs`.
- ///
- /// ```
--/// extern crate proc_macro;
--///
-+/// # extern crate proc_macro;
-+/// #
- /// use proc_macro::TokenStream;
- /// use syn::{parse_macro_input, AttributeArgs, ItemFn};
- ///
-@@ -464,7 +474,7 @@ where
- fn is_outer(attr: &&Attribute) -> bool {
- match attr.style {
- AttrStyle::Outer => true,
-- _ => false,
-+ AttrStyle::Inner(_) => false,
- }
- }
- self.into_iter().filter(is_outer)
-@@ -474,7 +484,7 @@ where
- fn is_inner(attr: &&Attribute) -> bool {
- match attr.style {
- AttrStyle::Inner(_) => true,
-- _ => false,
-+ AttrStyle::Outer => false,
- }
- }
- self.into_iter().filter(is_inner)
-diff --git a/third_party/rust/syn/src/buffer.rs b/third_party/rust/syn/src/buffer.rs
-index 551a5ac816..a461cc49ea 100644
---- mozilla-release/third_party/rust/syn/src/buffer.rs
-+++ mozilla-release/third_party/rust/syn/src/buffer.rs
-@@ -1,7 +1,7 @@
- //! A stably addressed token buffer supporting efficient traversal based on a
- //! cheaply copyable cursor.
- //!
--//! *This module is available if Syn is built with the `"parsing"` feature.*
-+//! *This module is available only if Syn is built with the `"parsing"` feature.*
-
- // This module is heavily commented as it contains most of the unsafe code in
- // Syn, and caution should be used when editing it. The public-facing interface
-@@ -36,7 +36,7 @@ enum Entry {
- /// `TokenStream` which requires a deep copy in order to traverse more than
- /// once.
- ///
--/// *This type is available if Syn is built with the `"parsing"` feature.*
-+/// *This type is available only if Syn is built with the `"parsing"` feature.*
- pub struct TokenBuffer {
- // NOTE: Do not derive clone on this - there are raw pointers inside which
- // will be messed up. Moving the `TokenBuffer` itself is safe as the actual
-@@ -98,7 +98,7 @@ impl TokenBuffer {
- /// Creates a `TokenBuffer` containing all the tokens from the input
- /// `TokenStream`.
- ///
-- /// *This method is available if Syn is built with both the `"parsing"` and
-+ /// *This method is available only if Syn is built with both the `"parsing"` and
- /// `"proc-macro"` features.*
- #[cfg(all(
- not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "wasi"))),
-@@ -133,8 +133,7 @@ impl TokenBuffer {
- /// Two cursors are equal if they have the same location in the same input
- /// stream, and have the same scope.
- ///
--/// *This type is available if Syn is built with the `"parsing"` feature.*
--#[derive(Copy, Clone, Eq, PartialEq)]
-+/// *This type is available only if Syn is built with the `"parsing"` feature.*
- pub struct Cursor<'a> {
- // The current entry which the `Cursor` is pointing at.
- ptr: *const Entry,
-@@ -201,13 +200,13 @@ impl<'a> Cursor<'a> {
- Cursor::create(self.ptr.offset(1), self.scope)
- }
-
-- /// If the cursor is looking at a `None`-delimited group, move it to look at
-- /// the first token inside instead. If the group is empty, this will move
-+ /// While the cursor is looking at a `None`-delimited group, move it to look
-+ /// at the first token inside instead. If the group is empty, this will move
- /// the cursor past the `None`-delimited group.
- ///
- /// WARNING: This mutates its argument.
- fn ignore_none(&mut self) {
-- if let Entry::Group(group, buf) = self.entry() {
-+ while let Entry::Group(group, buf) = self.entry() {
- if group.delimiter() == Delimiter::None {
- // NOTE: We call `Cursor::create` here to make sure that
- // situations where we should immediately exit the span after
-@@ -215,13 +214,14 @@ impl<'a> Cursor<'a> {
- unsafe {
- *self = Cursor::create(&buf.data[0], self.scope);
- }
-+ } else {
-+ break;
- }
- }
- }
-
- /// Checks whether the cursor is currently pointing at the end of its valid
- /// scope.
-- #[inline]
- pub fn eof(self) -> bool {
- // We're at eof if we're at the end of our scope.
- self.ptr == self.scope
-@@ -342,6 +342,44 @@ impl<'a> Cursor<'a> {
- Entry::End(..) => Span::call_site(),
- }
- }
-+
-+ /// Skip over the next token without cloning it. Returns `None` if this
-+ /// cursor points to eof.
-+ ///
-+ /// This method treats `'lifetimes` as a single token.
-+ pub(crate) fn skip(self) -> Option<Cursor<'a>> {
-+ match self.entry() {
-+ Entry::End(..) => None,
-+
-+ // Treat lifetimes as a single tt for the purposes of 'skip'.
-+ Entry::Punct(op) if op.as_char() == '\'' && op.spacing() == Spacing::Joint => {
-+ let next = unsafe { self.bump() };
-+ match next.entry() {
-+ Entry::Ident(_) => Some(unsafe { next.bump() }),
-+ _ => Some(next),
-+ }
-+ }
-+ _ => Some(unsafe { self.bump() }),
-+ }
-+ }
-+}
-+
-+impl<'a> Copy for Cursor<'a> {}
-+
-+impl<'a> Clone for Cursor<'a> {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+
-+impl<'a> Eq for Cursor<'a> {}
-+
-+impl<'a> PartialEq for Cursor<'a> {
-+ fn eq(&self, other: &Self) -> bool {
-+ let Cursor { ptr, scope, marker } = self;
-+ let _ = marker;
-+ *ptr == other.ptr && *scope == other.scope
-+ }
- }
-
- pub(crate) fn same_scope(a: Cursor, b: Cursor) -> bool {
-diff --git a/third_party/rust/syn/src/custom_keyword.rs b/third_party/rust/syn/src/custom_keyword.rs
-index 200e8478ef..a33044a564 100644
---- mozilla-release/third_party/rust/syn/src/custom_keyword.rs
-+++ mozilla-release/third_party/rust/syn/src/custom_keyword.rs
-@@ -86,7 +86,7 @@
- /// }
- /// }
- /// ```
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! custom_keyword {
- ($ident:ident) => {
- #[allow(non_camel_case_types)]
-@@ -95,7 +95,7 @@ macro_rules! custom_keyword {
- }
-
- #[doc(hidden)]
-- #[allow(non_snake_case)]
-+ #[allow(dead_code, non_snake_case)]
- pub fn $ident<__S: $crate::export::IntoSpans<[$crate::export::Span; 1]>>(
- span: __S,
- ) -> $ident {
-@@ -112,10 +112,10 @@ macro_rules! custom_keyword {
- }
- }
-
-- impl_parse_for_custom_keyword!($ident);
-- impl_to_tokens_for_custom_keyword!($ident);
-- impl_clone_for_custom_keyword!($ident);
-- impl_extra_traits_for_custom_keyword!($ident);
-+ $crate::impl_parse_for_custom_keyword!($ident);
-+ $crate::impl_to_tokens_for_custom_keyword!($ident);
-+ $crate::impl_clone_for_custom_keyword!($ident);
-+ $crate::impl_extra_traits_for_custom_keyword!($ident);
- };
- }
-
-diff --git a/third_party/rust/syn/src/custom_punctuation.rs b/third_party/rust/syn/src/custom_punctuation.rs
-index 29fa448bd8..70dff42851 100644
---- mozilla-release/third_party/rust/syn/src/custom_punctuation.rs
-+++ mozilla-release/third_party/rust/syn/src/custom_punctuation.rs
-@@ -74,19 +74,19 @@
- /// let _: PathSegments = syn::parse_str(input).unwrap();
- /// }
- /// ```
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! custom_punctuation {
- ($ident:ident, $($tt:tt)+) => {
- pub struct $ident {
-- pub spans: custom_punctuation_repr!($($tt)+),
-+ pub spans: $crate::custom_punctuation_repr!($($tt)+),
- }
-
- #[doc(hidden)]
-- #[allow(non_snake_case)]
-- pub fn $ident<__S: $crate::export::IntoSpans<custom_punctuation_repr!($($tt)+)>>(
-+ #[allow(dead_code, non_snake_case)]
-+ pub fn $ident<__S: $crate::export::IntoSpans<$crate::custom_punctuation_repr!($($tt)+)>>(
- spans: __S,
- ) -> $ident {
-- let _validate_len = 0 $(+ custom_punctuation_len!(strict, $tt))*;
-+ let _validate_len = 0 $(+ $crate::custom_punctuation_len!(strict, $tt))*;
- $ident {
- spans: $crate::export::IntoSpans::into_spans(spans)
- }
-@@ -98,33 +98,33 @@ macro_rules! custom_punctuation {
- }
- }
-
-- impl_parse_for_custom_punctuation!($ident, $($tt)+);
-- impl_to_tokens_for_custom_punctuation!($ident, $($tt)+);
-- impl_clone_for_custom_punctuation!($ident, $($tt)+);
-- impl_extra_traits_for_custom_punctuation!($ident, $($tt)+);
-+ $crate::impl_parse_for_custom_punctuation!($ident, $($tt)+);
-+ $crate::impl_to_tokens_for_custom_punctuation!($ident, $($tt)+);
-+ $crate::impl_clone_for_custom_punctuation!($ident, $($tt)+);
-+ $crate::impl_extra_traits_for_custom_punctuation!($ident, $($tt)+);
- };
- }
-
- // Not public API.
- #[cfg(feature = "parsing")]
- #[doc(hidden)]
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! impl_parse_for_custom_punctuation {
- ($ident:ident, $($tt:tt)+) => {
- impl $crate::token::CustomToken for $ident {
- fn peek(cursor: $crate::buffer::Cursor) -> bool {
-- $crate::token::parsing::peek_punct(cursor, stringify_punct!($($tt)+))
-+ $crate::token::parsing::peek_punct(cursor, $crate::stringify_punct!($($tt)+))
- }
-
- fn display() -> &'static $crate::export::str {
-- custom_punctuation_concat!("`", stringify_punct!($($tt)+), "`")
-+ concat!("`", $crate::stringify_punct!($($tt)+), "`")
- }
- }
-
- impl $crate::parse::Parse for $ident {
- fn parse(input: $crate::parse::ParseStream) -> $crate::parse::Result<$ident> {
-- let spans: custom_punctuation_repr!($($tt)+) =
-- $crate::token::parsing::punct(input, stringify_punct!($($tt)+))?;
-+ let spans: $crate::custom_punctuation_repr!($($tt)+) =
-+ $crate::token::parsing::punct(input, $crate::stringify_punct!($($tt)+))?;
- Ok($ident(spans))
- }
- }
-@@ -142,12 +142,12 @@ macro_rules! impl_parse_for_custom_punctuation {
- // Not public API.
- #[cfg(feature = "printing")]
- #[doc(hidden)]
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! impl_to_tokens_for_custom_punctuation {
- ($ident:ident, $($tt:tt)+) => {
- impl $crate::export::ToTokens for $ident {
- fn to_tokens(&self, tokens: &mut $crate::export::TokenStream2) {
-- $crate::token::printing::punct(stringify_punct!($($tt)+), &self.spans, tokens)
-+ $crate::token::printing::punct($crate::stringify_punct!($($tt)+), &self.spans, tokens)
- }
- }
- };
-@@ -221,16 +221,16 @@ macro_rules! impl_extra_traits_for_custom_punctuation {
-
- // Not public API.
- #[doc(hidden)]
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! custom_punctuation_repr {
- ($($tt:tt)+) => {
-- [$crate::export::Span; 0 $(+ custom_punctuation_len!(lenient, $tt))+]
-+ [$crate::export::Span; 0 $(+ $crate::custom_punctuation_len!(lenient, $tt))+]
- };
- }
-
- // Not public API.
- #[doc(hidden)]
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- #[rustfmt::skip]
- macro_rules! custom_punctuation_len {
- ($mode:ident, +) => { 1 };
-@@ -279,7 +279,7 @@ macro_rules! custom_punctuation_len {
- ($mode:ident, -=) => { 2 };
- ($mode:ident, ~) => { 1 };
- (lenient, $tt:tt) => { 0 };
-- (strict, $tt:tt) => {{ custom_punctuation_unexpected!($tt); 0 }};
-+ (strict, $tt:tt) => {{ $crate::custom_punctuation_unexpected!($tt); 0 }};
- }
-
- // Not public API.
-@@ -297,13 +297,3 @@ macro_rules! stringify_punct {
- concat!($(stringify!($tt)),+)
- };
- }
--
--// Not public API.
--// Without this, local_inner_macros breaks when looking for concat!
--#[doc(hidden)]
--#[macro_export]
--macro_rules! custom_punctuation_concat {
-- ($($tt:tt)*) => {
-- concat!($($tt)*)
-- };
--}
-diff --git a/third_party/rust/syn/src/data.rs b/third_party/rust/syn/src/data.rs
-index be43679874..b217b8ca6f 100644
---- mozilla-release/third_party/rust/syn/src/data.rs
-+++ mozilla-release/third_party/rust/syn/src/data.rs
-@@ -4,7 +4,7 @@ use crate::punctuated::Punctuated;
- ast_struct! {
- /// An enum variant.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Variant {
- /// Attributes tagged on the variant.
-@@ -24,7 +24,7 @@ ast_struct! {
- ast_enum_of_structs! {
- /// Data stored within an enum variant or struct.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Syntax tree enum
-@@ -52,7 +52,7 @@ ast_struct! {
- /// Named fields of a struct or struct variant such as `Point { x: f64,
- /// y: f64 }`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct FieldsNamed {
- pub brace_token: token::Brace,
-@@ -63,7 +63,7 @@ ast_struct! {
- ast_struct! {
- /// Unnamed fields of a tuple struct or tuple variant such as `Some(T)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct FieldsUnnamed {
- pub paren_token: token::Paren,
-@@ -93,6 +93,24 @@ impl Fields {
- Fields::Unnamed(f) => f.unnamed.iter_mut(),
- }
- }
-+
-+ /// Returns the number of fields.
-+ pub fn len(&self) -> usize {
-+ match self {
-+ Fields::Unit => 0,
-+ Fields::Named(f) => f.named.len(),
-+ Fields::Unnamed(f) => f.unnamed.len(),
-+ }
-+ }
-+
-+ /// Returns `true` if there are zero fields.
-+ pub fn is_empty(&self) -> bool {
-+ match self {
-+ Fields::Unit => true,
-+ Fields::Named(f) => f.named.is_empty(),
-+ Fields::Unnamed(f) => f.unnamed.is_empty(),
-+ }
-+ }
- }
-
- impl IntoIterator for Fields {
-@@ -129,7 +147,7 @@ impl<'a> IntoIterator for &'a mut Fields {
- ast_struct! {
- /// A field of a struct or enum variant.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Field {
- /// Attributes tagged on the field.
-@@ -154,7 +172,7 @@ ast_enum_of_structs! {
- /// The visibility level of an item: inherited or `pub` or
- /// `pub(restricted)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Syntax tree enum
-@@ -184,7 +202,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A public visibility level: `pub`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct VisPublic {
- pub pub_token: Token![pub],
-@@ -194,7 +212,7 @@ ast_struct! {
- ast_struct! {
- /// A crate-level visibility: `crate`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct VisCrate {
- pub crate_token: Token![crate],
-@@ -205,7 +223,7 @@ ast_struct! {
- /// A visibility level restricted to some path: `pub(self)` or
- /// `pub(super)` or `pub(crate)` or `pub(in some::module)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct VisRestricted {
- pub pub_token: Token![pub],
-@@ -220,12 +238,15 @@ pub mod parsing {
- use super::*;
-
- use crate::ext::IdentExt;
-+ use crate::parse::discouraged::Speculative;
- use crate::parse::{Parse, ParseStream, Result};
-
- impl Parse for Variant {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let attrs = input.call(Attribute::parse_outer)?;
-+ let _visibility: Visibility = input.parse()?;
- Ok(Variant {
-- attrs: input.call(Attribute::parse_outer)?,
-+ attrs,
- ident: input.parse()?,
- fields: {
- if input.peek(token::Brace) {
-@@ -295,6 +316,17 @@ pub mod parsing {
-
- impl Parse for Visibility {
- fn parse(input: ParseStream) -> Result<Self> {
-+ // Recognize an empty None-delimited group, as produced by a $:vis
-+ // matcher that matched no tokens.
-+ if input.peek(token::Group) {
-+ let ahead = input.fork();
-+ let group = crate::group::parse_group(&ahead)?;
-+ if group.content.is_empty() {
-+ input.advance_to(&ahead);
-+ return Ok(Visibility::Inherited);
-+ }
-+ }
-+
- if input.peek(Token![pub]) {
- Self::parse_pub(input)
- } else if input.peek(Token![crate]) {
-@@ -310,27 +342,39 @@ pub mod parsing {
- let pub_token = input.parse::<Token![pub]>()?;
-
- if input.peek(token::Paren) {
-- // TODO: optimize using advance_to
- let ahead = input.fork();
-- let mut content;
-- parenthesized!(content in ahead);
-
-+ let content;
-+ let paren_token = parenthesized!(content in ahead);
- if content.peek(Token![crate])
- || content.peek(Token![self])
- || content.peek(Token![super])
- {
-- return Ok(Visibility::Restricted(VisRestricted {
-- pub_token,
-- paren_token: parenthesized!(content in input),
-- in_token: None,
-- path: Box::new(Path::from(content.call(Ident::parse_any)?)),
-- }));
-+ let path = content.call(Ident::parse_any)?;
-+
-+ // Ensure there are no additional tokens within `content`.
-+ // Without explicitly checking, we may misinterpret a tuple
-+ // field as a restricted visibility, causing a parse error.
-+ // e.g. `pub (crate::A, crate::B)` (Issue #720).
-+ if content.is_empty() {
-+ input.advance_to(&ahead);
-+ return Ok(Visibility::Restricted(VisRestricted {
-+ pub_token,
-+ paren_token,
-+ in_token: None,
-+ path: Box::new(Path::from(path)),
-+ }));
-+ }
- } else if content.peek(Token![in]) {
-+ let in_token: Token![in] = content.parse()?;
-+ let path = content.call(Path::parse_mod_style)?;
-+
-+ input.advance_to(&ahead);
- return Ok(Visibility::Restricted(VisRestricted {
- pub_token,
-- paren_token: parenthesized!(content in input),
-- in_token: Some(content.parse()?),
-- path: Box::new(content.call(Path::parse_mod_style)?),
-+ paren_token,
-+ in_token: Some(in_token),
-+ path: Box::new(path),
- }));
- }
- }
-@@ -347,6 +391,14 @@ pub mod parsing {
- }))
- }
- }
-+
-+ #[cfg(feature = "full")]
-+ pub(crate) fn is_some(&self) -> bool {
-+ match self {
-+ Visibility::Inherited => false,
-+ _ => true,
-+ }
-+ }
- }
- }
-
-diff --git a/third_party/rust/syn/src/derive.rs b/third_party/rust/syn/src/derive.rs
-index 8cb9cf7b6d..3fa9d89a93 100644
---- mozilla-release/third_party/rust/syn/src/derive.rs
-+++ mozilla-release/third_party/rust/syn/src/derive.rs
-@@ -4,7 +4,7 @@ use crate::punctuated::Punctuated;
- ast_struct! {
- /// Data structure sent to a `proc_macro_derive` macro.
- ///
-- /// *This type is available if Syn is built with the `"derive"` feature.*
-+ /// *This type is available only if Syn is built with the `"derive"` feature.*
- pub struct DeriveInput {
- /// Attributes tagged on the whole struct or enum.
- pub attrs: Vec<Attribute>,
-@@ -26,7 +26,7 @@ ast_struct! {
- ast_enum_of_structs! {
- /// The storage of a struct, enum or union data structure.
- ///
-- /// *This type is available if Syn is built with the `"derive"` feature.*
-+ /// *This type is available only if Syn is built with the `"derive"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -53,7 +53,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A struct input to a `proc_macro_derive` macro.
- ///
-- /// *This type is available if Syn is built with the `"derive"`
-+ /// *This type is available only if Syn is built with the `"derive"`
- /// feature.*
- pub struct DataStruct {
- pub struct_token: Token![struct],
-@@ -65,7 +65,7 @@ ast_struct! {
- ast_struct! {
- /// An enum input to a `proc_macro_derive` macro.
- ///
-- /// *This type is available if Syn is built with the `"derive"`
-+ /// *This type is available only if Syn is built with the `"derive"`
- /// feature.*
- pub struct DataEnum {
- pub enum_token: Token![enum],
-@@ -77,7 +77,7 @@ ast_struct! {
- ast_struct! {
- /// An untagged union input to a `proc_macro_derive` macro.
- ///
-- /// *This type is available if Syn is built with the `"derive"`
-+ /// *This type is available only if Syn is built with the `"derive"`
- /// feature.*
- pub struct DataUnion {
- pub union_token: Token![union],
-diff --git a/third_party/rust/syn/src/discouraged.rs b/third_party/rust/syn/src/discouraged.rs
-index 4d9ff93728..76c9fce6f8 100644
---- mozilla-release/third_party/rust/syn/src/discouraged.rs
-+++ mozilla-release/third_party/rust/syn/src/discouraged.rs
-@@ -16,7 +16,7 @@ pub trait Speculative {
- /// syntax of the form `A* B*` for arbitrary syntax `A` and `B`. The problem
- /// is that when the fork fails to parse an `A`, it's impossible to tell
- /// whether that was because of a syntax error and the user meant to provide
-- /// an `A`, or that the `A`s are finished and its time to start parsing
-+ /// an `A`, or that the `A`s are finished and it's time to start parsing
- /// `B`s. Use with care.
- ///
- /// Also note that if `A` is a subset of `B`, `A* B*` can be parsed by
-@@ -72,7 +72,6 @@ pub trait Speculative {
- /// || input.peek(Token![self])
- /// || input.peek(Token![Self])
- /// || input.peek(Token![crate])
-- /// || input.peek(Token![extern])
- /// {
- /// let ident = input.call(Ident::parse_any)?;
- /// return Ok(PathSegment::from(ident));
-@@ -164,6 +163,30 @@ impl<'a> Speculative for ParseBuffer<'a> {
- panic!("Fork was not derived from the advancing parse stream");
- }
-
-+ let (self_unexp, self_sp) = inner_unexpected(self);
-+ let (fork_unexp, fork_sp) = inner_unexpected(fork);
-+ if !Rc::ptr_eq(&self_unexp, &fork_unexp) {
-+ match (fork_sp, self_sp) {
-+ // Unexpected set on the fork, but not on `self`, copy it over.
-+ (Some(span), None) => {
-+ self_unexp.set(Unexpected::Some(span));
-+ }
-+ // Unexpected unset. Use chain to propagate errors from fork.
-+ (None, None) => {
-+ fork_unexp.set(Unexpected::Chain(self_unexp));
-+
-+ // Ensure toplevel 'unexpected' tokens from the fork don't
-+ // bubble up the chain by replacing the root `unexpected`
-+ // pointer, only 'unexpected' tokens from existing group
-+ // parsers should bubble.
-+ fork.unexpected
-+ .set(Some(Rc::new(Cell::new(Unexpected::None))));
-+ }
-+ // Unexpected has been set on `self`. No changes needed.
-+ (_, Some(_)) => {}
-+ }
-+ }
-+
- // See comment on `cell` in the struct definition.
- self.cell
- .set(unsafe { mem::transmute::<Cursor, Cursor<'static>>(fork.cursor()) })
-diff --git a/third_party/rust/syn/src/error.rs b/third_party/rust/syn/src/error.rs
-index 146d652299..dba34f9254 100644
---- mozilla-release/third_party/rust/syn/src/error.rs
-+++ mozilla-release/third_party/rust/syn/src/error.rs
-@@ -1,4 +1,3 @@
--use std;
- use std::fmt::{self, Debug, Display};
- use std::iter::FromIterator;
- use std::slice;
-@@ -32,8 +31,8 @@ pub type Result<T> = std::result::Result<T, Error>;
- /// conversion to `compile_error!` automatically.
- ///
- /// ```
--/// extern crate proc_macro;
--///
-+/// # extern crate proc_macro;
-+/// #
- /// use proc_macro::TokenStream;
- /// use syn::{parse_macro_input, AttributeArgs, ItemFn};
- ///
-@@ -82,7 +81,6 @@ pub type Result<T> = std::result::Result<T, Error>;
- /// # }
- /// # }
- /// ```
--#[derive(Clone)]
- pub struct Error {
- messages: Vec<ErrorMessage>,
- }
-@@ -250,6 +248,17 @@ pub fn new_at<T: Display>(scope: Span, cursor: Cursor, message: T) -> Error {
- }
- }
-
-+#[cfg(all(feature = "parsing", any(feature = "full", feature = "derive")))]
-+pub fn new2<T: Display>(start: Span, end: Span, message: T) -> Error {
-+ Error {
-+ messages: vec![ErrorMessage {
-+ start_span: ThreadBound::new(start),
-+ end_span: ThreadBound::new(end),
-+ message: message.to_string(),
-+ }],
-+ }
-+}
-+
- impl Debug for Error {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- if self.messages.len() == 1 {
-@@ -278,6 +287,14 @@ impl Display for Error {
- }
- }
-
-+impl Clone for Error {
-+ fn clone(&self) -> Self {
-+ Error {
-+ messages: self.messages.clone(),
-+ }
-+ }
-+}
-+
- impl Clone for ErrorMessage {
- fn clone(&self) -> Self {
- let start = self
-@@ -355,3 +372,11 @@ impl<'a> Iterator for Iter<'a> {
- })
- }
- }
-+
-+impl Extend<Error> for Error {
-+ fn extend<T: IntoIterator<Item = Error>>(&mut self, iter: T) {
-+ for err in iter {
-+ self.combine(err);
-+ }
-+ }
-+}
-diff --git a/third_party/rust/syn/src/expr.rs b/third_party/rust/syn/src/expr.rs
-index 2874a463aa..2fe0e0b5d8 100644
---- mozilla-release/third_party/rust/syn/src/expr.rs
-+++ mozilla-release/third_party/rust/syn/src/expr.rs
-@@ -1,18 +1,21 @@
- use super::*;
- use crate::punctuated::Punctuated;
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
-+#[cfg(feature = "full")]
-+use crate::reserved::Reserved;
- use proc_macro2::{Span, TokenStream};
--#[cfg(feature = "extra-traits")]
-+#[cfg(feature = "printing")]
-+use quote::IdentFragment;
-+#[cfg(feature = "printing")]
-+use std::fmt::{self, Display};
- use std::hash::{Hash, Hasher};
--#[cfg(all(feature = "parsing", feature = "full"))]
-+#[cfg(feature = "parsing")]
- use std::mem;
-
- ast_enum_of_structs! {
- /// A Rust expression.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-- /// feature.*
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
-+ /// feature, but most of the variants are not available unless "full" is enabled.*
- ///
- /// # Syntax tree enums
- ///
-@@ -83,7 +86,7 @@ ast_enum_of_structs! {
- /// A sign that you may not be choosing the right variable names is if you
- /// see names getting repeated in your code, like accessing
- /// `receiver.receiver` or `pat.pat` or `cond.cond`.
-- pub enum Expr #manual_extra_traits {
-+ pub enum Expr {
- /// A slice literal expression: `[a, b, c, d]`.
- Array(ExprArray),
-
-@@ -228,7 +231,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A slice literal expression: `[a, b, c, d]`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprArray #full {
- pub attrs: Vec<Attribute>,
- pub bracket_token: token::Bracket,
-@@ -239,7 +242,7 @@ ast_struct! {
- ast_struct! {
- /// An assignment expression: `a = compute()`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprAssign #full {
- pub attrs: Vec<Attribute>,
- pub left: Box<Expr>,
-@@ -251,7 +254,7 @@ ast_struct! {
- ast_struct! {
- /// A compound assignment expression: `counter += 1`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprAssignOp #full {
- pub attrs: Vec<Attribute>,
- pub left: Box<Expr>,
-@@ -263,7 +266,7 @@ ast_struct! {
- ast_struct! {
- /// An async block: `async { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprAsync #full {
- pub attrs: Vec<Attribute>,
- pub async_token: Token![async],
-@@ -275,7 +278,7 @@ ast_struct! {
- ast_struct! {
- /// An await expression: `fut.await`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprAwait #full {
- pub attrs: Vec<Attribute>,
- pub base: Box<Expr>,
-@@ -287,7 +290,7 @@ ast_struct! {
- ast_struct! {
- /// A binary operation: `a + b`, `a * b`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprBinary {
- pub attrs: Vec<Attribute>,
-@@ -300,7 +303,7 @@ ast_struct! {
- ast_struct! {
- /// A blocked scope: `{ ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprBlock #full {
- pub attrs: Vec<Attribute>,
- pub label: Option<Label>,
-@@ -311,7 +314,7 @@ ast_struct! {
- ast_struct! {
- /// A box expression: `box f`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprBox #full {
- pub attrs: Vec<Attribute>,
- pub box_token: Token![box],
-@@ -323,7 +326,7 @@ ast_struct! {
- /// A `break`, with an optional label to break and an optional
- /// expression.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprBreak #full {
- pub attrs: Vec<Attribute>,
- pub break_token: Token![break],
-@@ -335,7 +338,7 @@ ast_struct! {
- ast_struct! {
- /// A function call expression: `invoke(a, b)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprCall {
- pub attrs: Vec<Attribute>,
-@@ -348,7 +351,7 @@ ast_struct! {
- ast_struct! {
- /// A cast expression: `foo as f64`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprCast {
- pub attrs: Vec<Attribute>,
-@@ -361,7 +364,7 @@ ast_struct! {
- ast_struct! {
- /// A closure expression: `|a, b| a + b`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprClosure #full {
- pub attrs: Vec<Attribute>,
- pub asyncness: Option<Token![async]>,
-@@ -378,7 +381,7 @@ ast_struct! {
- ast_struct! {
- /// A `continue`, with an optional label.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprContinue #full {
- pub attrs: Vec<Attribute>,
- pub continue_token: Token![continue],
-@@ -390,7 +393,7 @@ ast_struct! {
- /// Access of a named struct field (`obj.k`) or unnamed tuple struct
- /// field (`obj.0`).
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprField {
- pub attrs: Vec<Attribute>,
- pub base: Box<Expr>,
-@@ -402,7 +405,7 @@ ast_struct! {
- ast_struct! {
- /// A for loop: `for pat in expr { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprForLoop #full {
- pub attrs: Vec<Attribute>,
- pub label: Option<Label>,
-@@ -421,7 +424,7 @@ ast_struct! {
- /// of expressions and is related to `None`-delimited spans in a
- /// `TokenStream`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprGroup #full {
- pub attrs: Vec<Attribute>,
- pub group_token: token::Group,
-@@ -436,7 +439,7 @@ ast_struct! {
- /// The `else` branch expression may only be an `If` or `Block`
- /// expression, not any of the other types of expression.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprIf #full {
- pub attrs: Vec<Attribute>,
- pub if_token: Token![if],
-@@ -449,7 +452,7 @@ ast_struct! {
- ast_struct! {
- /// A square bracketed indexing expression: `vector[2]`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprIndex {
- pub attrs: Vec<Attribute>,
-@@ -462,7 +465,7 @@ ast_struct! {
- ast_struct! {
- /// A `let` guard: `let Some(x) = opt`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprLet #full {
- pub attrs: Vec<Attribute>,
- pub let_token: Token![let],
-@@ -475,7 +478,7 @@ ast_struct! {
- ast_struct! {
- /// A literal in place of an expression: `1`, `"foo"`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprLit {
- pub attrs: Vec<Attribute>,
-@@ -486,7 +489,7 @@ ast_struct! {
- ast_struct! {
- /// Conditionless loop: `loop { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprLoop #full {
- pub attrs: Vec<Attribute>,
- pub label: Option<Label>,
-@@ -498,7 +501,7 @@ ast_struct! {
- ast_struct! {
- /// A macro invocation expression: `format!("{}", q)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprMacro #full {
- pub attrs: Vec<Attribute>,
- pub mac: Macro,
-@@ -508,7 +511,7 @@ ast_struct! {
- ast_struct! {
- /// A `match` expression: `match n { Some(n) => {}, None => {} }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprMatch #full {
- pub attrs: Vec<Attribute>,
- pub match_token: Token![match],
-@@ -521,7 +524,7 @@ ast_struct! {
- ast_struct! {
- /// A method call expression: `x.foo::<T>(a, b)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprMethodCall #full {
- pub attrs: Vec<Attribute>,
- pub receiver: Box<Expr>,
-@@ -536,7 +539,7 @@ ast_struct! {
- ast_struct! {
- /// A parenthesized expression: `(a + b)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprParen {
- pub attrs: Vec<Attribute>,
- pub paren_token: token::Paren,
-@@ -550,7 +553,7 @@ ast_struct! {
- ///
- /// A plain identifier like `x` is a path of length 1.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprPath {
- pub attrs: Vec<Attribute>,
-@@ -562,7 +565,7 @@ ast_struct! {
- ast_struct! {
- /// A range expression: `1..2`, `1..`, `..2`, `1..=2`, `..=2`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprRange #full {
- pub attrs: Vec<Attribute>,
- pub from: Option<Box<Expr>>,
-@@ -574,7 +577,7 @@ ast_struct! {
- ast_struct! {
- /// A referencing operation: `&a` or `&mut a`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprReference #full {
- pub attrs: Vec<Attribute>,
- pub and_token: Token![&],
-@@ -587,7 +590,7 @@ ast_struct! {
- ast_struct! {
- /// An array literal constructed from one repeated element: `[0u8; N]`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprRepeat #full {
- pub attrs: Vec<Attribute>,
- pub bracket_token: token::Bracket,
-@@ -600,7 +603,7 @@ ast_struct! {
- ast_struct! {
- /// A `return`, with an optional value to be returned.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprReturn #full {
- pub attrs: Vec<Attribute>,
- pub return_token: Token![return],
-@@ -614,7 +617,7 @@ ast_struct! {
- /// The `rest` provides the value of the remaining fields as in `S { a:
- /// 1, b: 1, ..rest }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprStruct #full {
- pub attrs: Vec<Attribute>,
- pub path: Path,
-@@ -628,7 +631,7 @@ ast_struct! {
- ast_struct! {
- /// A try-expression: `expr?`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprTry #full {
- pub attrs: Vec<Attribute>,
- pub expr: Box<Expr>,
-@@ -639,7 +642,7 @@ ast_struct! {
- ast_struct! {
- /// A try block: `try { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprTryBlock #full {
- pub attrs: Vec<Attribute>,
- pub try_token: Token![try],
-@@ -650,7 +653,7 @@ ast_struct! {
- ast_struct! {
- /// A tuple expression: `(a, b, c, d)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprTuple #full {
- pub attrs: Vec<Attribute>,
- pub paren_token: token::Paren,
-@@ -661,7 +664,7 @@ ast_struct! {
- ast_struct! {
- /// A type ascription expression: `foo: f64`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprType #full {
- pub attrs: Vec<Attribute>,
- pub expr: Box<Expr>,
-@@ -673,7 +676,7 @@ ast_struct! {
- ast_struct! {
- /// A unary operation: `!x`, `*x`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ExprUnary {
- pub attrs: Vec<Attribute>,
-@@ -685,7 +688,7 @@ ast_struct! {
- ast_struct! {
- /// An unsafe block: `unsafe { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprUnsafe #full {
- pub attrs: Vec<Attribute>,
- pub unsafe_token: Token![unsafe],
-@@ -696,7 +699,7 @@ ast_struct! {
- ast_struct! {
- /// A while loop: `while expr { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprWhile #full {
- pub attrs: Vec<Attribute>,
- pub label: Option<Label>,
-@@ -709,7 +712,7 @@ ast_struct! {
- ast_struct! {
- /// A yield expression: `yield expr`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ExprYield #full {
- pub attrs: Vec<Attribute>,
- pub yield_token: Token![yield],
-@@ -717,232 +720,6 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Expr {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Expr {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (Expr::Array(this), Expr::Array(other)) => this == other,
-- (Expr::Assign(this), Expr::Assign(other)) => this == other,
-- (Expr::AssignOp(this), Expr::AssignOp(other)) => this == other,
-- (Expr::Async(this), Expr::Async(other)) => this == other,
-- (Expr::Await(this), Expr::Await(other)) => this == other,
-- (Expr::Binary(this), Expr::Binary(other)) => this == other,
-- (Expr::Block(this), Expr::Block(other)) => this == other,
-- (Expr::Box(this), Expr::Box(other)) => this == other,
-- (Expr::Break(this), Expr::Break(other)) => this == other,
-- (Expr::Call(this), Expr::Call(other)) => this == other,
-- (Expr::Cast(this), Expr::Cast(other)) => this == other,
-- (Expr::Closure(this), Expr::Closure(other)) => this == other,
-- (Expr::Continue(this), Expr::Continue(other)) => this == other,
-- (Expr::Field(this), Expr::Field(other)) => this == other,
-- (Expr::ForLoop(this), Expr::ForLoop(other)) => this == other,
-- (Expr::Group(this), Expr::Group(other)) => this == other,
-- (Expr::If(this), Expr::If(other)) => this == other,
-- (Expr::Index(this), Expr::Index(other)) => this == other,
-- (Expr::Let(this), Expr::Let(other)) => this == other,
-- (Expr::Lit(this), Expr::Lit(other)) => this == other,
-- (Expr::Loop(this), Expr::Loop(other)) => this == other,
-- (Expr::Macro(this), Expr::Macro(other)) => this == other,
-- (Expr::Match(this), Expr::Match(other)) => this == other,
-- (Expr::MethodCall(this), Expr::MethodCall(other)) => this == other,
-- (Expr::Paren(this), Expr::Paren(other)) => this == other,
-- (Expr::Path(this), Expr::Path(other)) => this == other,
-- (Expr::Range(this), Expr::Range(other)) => this == other,
-- (Expr::Reference(this), Expr::Reference(other)) => this == other,
-- (Expr::Repeat(this), Expr::Repeat(other)) => this == other,
-- (Expr::Return(this), Expr::Return(other)) => this == other,
-- (Expr::Struct(this), Expr::Struct(other)) => this == other,
-- (Expr::Try(this), Expr::Try(other)) => this == other,
-- (Expr::TryBlock(this), Expr::TryBlock(other)) => this == other,
-- (Expr::Tuple(this), Expr::Tuple(other)) => this == other,
-- (Expr::Type(this), Expr::Type(other)) => this == other,
-- (Expr::Unary(this), Expr::Unary(other)) => this == other,
-- (Expr::Unsafe(this), Expr::Unsafe(other)) => this == other,
-- (Expr::Verbatim(this), Expr::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- (Expr::While(this), Expr::While(other)) => this == other,
-- (Expr::Yield(this), Expr::Yield(other)) => this == other,
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Expr {
-- fn hash<H>(&self, hash: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- Expr::Array(expr) => {
-- hash.write_u8(0);
-- expr.hash(hash);
-- }
-- Expr::Assign(expr) => {
-- hash.write_u8(1);
-- expr.hash(hash);
-- }
-- Expr::AssignOp(expr) => {
-- hash.write_u8(2);
-- expr.hash(hash);
-- }
-- Expr::Async(expr) => {
-- hash.write_u8(3);
-- expr.hash(hash);
-- }
-- Expr::Await(expr) => {
-- hash.write_u8(4);
-- expr.hash(hash);
-- }
-- Expr::Binary(expr) => {
-- hash.write_u8(5);
-- expr.hash(hash);
-- }
-- Expr::Block(expr) => {
-- hash.write_u8(6);
-- expr.hash(hash);
-- }
-- Expr::Box(expr) => {
-- hash.write_u8(7);
-- expr.hash(hash);
-- }
-- Expr::Break(expr) => {
-- hash.write_u8(8);
-- expr.hash(hash);
-- }
-- Expr::Call(expr) => {
-- hash.write_u8(9);
-- expr.hash(hash);
-- }
-- Expr::Cast(expr) => {
-- hash.write_u8(10);
-- expr.hash(hash);
-- }
-- Expr::Closure(expr) => {
-- hash.write_u8(11);
-- expr.hash(hash);
-- }
-- Expr::Continue(expr) => {
-- hash.write_u8(12);
-- expr.hash(hash);
-- }
-- Expr::Field(expr) => {
-- hash.write_u8(13);
-- expr.hash(hash);
-- }
-- Expr::ForLoop(expr) => {
-- hash.write_u8(14);
-- expr.hash(hash);
-- }
-- Expr::Group(expr) => {
-- hash.write_u8(15);
-- expr.hash(hash);
-- }
-- Expr::If(expr) => {
-- hash.write_u8(16);
-- expr.hash(hash);
-- }
-- Expr::Index(expr) => {
-- hash.write_u8(17);
-- expr.hash(hash);
-- }
-- Expr::Let(expr) => {
-- hash.write_u8(18);
-- expr.hash(hash);
-- }
-- Expr::Lit(expr) => {
-- hash.write_u8(19);
-- expr.hash(hash);
-- }
-- Expr::Loop(expr) => {
-- hash.write_u8(20);
-- expr.hash(hash);
-- }
-- Expr::Macro(expr) => {
-- hash.write_u8(21);
-- expr.hash(hash);
-- }
-- Expr::Match(expr) => {
-- hash.write_u8(22);
-- expr.hash(hash);
-- }
-- Expr::MethodCall(expr) => {
-- hash.write_u8(23);
-- expr.hash(hash);
-- }
-- Expr::Paren(expr) => {
-- hash.write_u8(24);
-- expr.hash(hash);
-- }
-- Expr::Path(expr) => {
-- hash.write_u8(25);
-- expr.hash(hash);
-- }
-- Expr::Range(expr) => {
-- hash.write_u8(26);
-- expr.hash(hash);
-- }
-- Expr::Reference(expr) => {
-- hash.write_u8(27);
-- expr.hash(hash);
-- }
-- Expr::Repeat(expr) => {
-- hash.write_u8(28);
-- expr.hash(hash);
-- }
-- Expr::Return(expr) => {
-- hash.write_u8(29);
-- expr.hash(hash);
-- }
-- Expr::Struct(expr) => {
-- hash.write_u8(30);
-- expr.hash(hash);
-- }
-- Expr::Try(expr) => {
-- hash.write_u8(31);
-- expr.hash(hash);
-- }
-- Expr::TryBlock(expr) => {
-- hash.write_u8(32);
-- expr.hash(hash);
-- }
-- Expr::Tuple(expr) => {
-- hash.write_u8(33);
-- expr.hash(hash);
-- }
-- Expr::Type(expr) => {
-- hash.write_u8(34);
-- expr.hash(hash);
-- }
-- Expr::Unary(expr) => {
-- hash.write_u8(35);
-- expr.hash(hash);
-- }
-- Expr::Unsafe(expr) => {
-- hash.write_u8(36);
-- expr.hash(hash);
-- }
-- Expr::Verbatim(expr) => {
-- hash.write_u8(37);
-- TokenStreamHelper(expr).hash(hash);
-- }
-- Expr::While(expr) => {
-- hash.write_u8(38);
-- expr.hash(hash);
-- }
-- Expr::Yield(expr) => {
-- hash.write_u8(39);
-- expr.hash(hash);
-- }
-- Expr::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- impl Expr {
- #[cfg(all(feature = "parsing", feature = "full"))]
- pub(crate) fn replace_attrs(&mut self, new: Vec<Attribute>) -> Vec<Attribute> {
-@@ -996,7 +773,7 @@ ast_enum! {
- /// A struct or tuple struct field accessed in a struct literal or field
- /// expression.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum Member {
- /// A named field like `self.x`.
-@@ -1006,12 +783,50 @@ ast_enum! {
- }
- }
-
-+impl Eq for Member {}
-+
-+impl PartialEq for Member {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Member::Named(this), Member::Named(other)) => this == other,
-+ (Member::Unnamed(this), Member::Unnamed(other)) => this == other,
-+ _ => false,
-+ }
-+ }
-+}
-+
-+impl Hash for Member {
-+ fn hash<H: Hasher>(&self, state: &mut H) {
-+ match self {
-+ Member::Named(m) => m.hash(state),
-+ Member::Unnamed(m) => m.hash(state),
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "printing")]
-+impl IdentFragment for Member {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Member::Named(m) => Display::fmt(m, formatter),
-+ Member::Unnamed(m) => Display::fmt(&m.index, formatter),
-+ }
-+ }
-+
-+ fn span(&self) -> Option<Span> {
-+ match self {
-+ Member::Named(m) => Some(m.span()),
-+ Member::Unnamed(m) => Some(m.span),
-+ }
-+ }
-+}
-+
- ast_struct! {
- /// The index of an unnamed tuple struct field.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- pub struct Index #manual_extra_traits {
-+ pub struct Index {
- pub index: u32,
- pub span: Span,
- }
-@@ -1027,28 +842,28 @@ impl From<usize> for Index {
- }
- }
-
--#[cfg(feature = "extra-traits")]
- impl Eq for Index {}
-
--#[cfg(feature = "extra-traits")]
- impl PartialEq for Index {
- fn eq(&self, other: &Self) -> bool {
- self.index == other.index
- }
- }
-
--#[cfg(feature = "extra-traits")]
- impl Hash for Index {
- fn hash<H: Hasher>(&self, state: &mut H) {
- self.index.hash(state);
- }
- }
-
--#[cfg(feature = "full")]
--ast_struct! {
-- #[derive(Default)]
-- pub struct Reserved {
-- private: (),
-+#[cfg(feature = "printing")]
-+impl IdentFragment for Index {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ Display::fmt(&self.index, formatter)
-+ }
-+
-+ fn span(&self) -> Option<Span> {
-+ Some(self.span)
- }
- }
-
-@@ -1057,7 +872,7 @@ ast_struct! {
- /// The `::<>` explicit type parameters passed to a method call:
- /// `parse::<u64>()`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct MethodTurbofish {
- pub colon2_token: Token![::],
- pub lt_token: Token![<],
-@@ -1070,7 +885,7 @@ ast_struct! {
- ast_enum! {
- /// An individual generic argument to a method, like `T`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub enum GenericMethodArgument {
- /// A type argument.
- Type(Type),
-@@ -1086,7 +901,7 @@ ast_enum! {
- ast_struct! {
- /// A field-value pair in a struct literal.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct FieldValue {
- /// Attributes tagged on the field.
- pub attrs: Vec<Attribute>,
-@@ -1107,7 +922,7 @@ ast_struct! {
- ast_struct! {
- /// A lifetime labeling a `for`, `while`, or `loop`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Label {
- pub name: Lifetime,
- pub colon_token: Token![:],
-@@ -1134,7 +949,7 @@ ast_struct! {
- /// # }
- /// ```
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Arm {
- pub attrs: Vec<Attribute>,
- pub pat: Pat,
-@@ -1149,8 +964,7 @@ ast_struct! {
- ast_enum! {
- /// Limit types of a range, inclusive or exclusive.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-- #[cfg_attr(feature = "clone-impls", derive(Copy))]
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub enum RangeLimits {
- /// Inclusive at the beginning, exclusive at the end.
- HalfOpen(Token![..]),
-@@ -1162,7 +976,7 @@ ast_enum! {
- #[cfg(any(feature = "parsing", feature = "printing"))]
- #[cfg(feature = "full")]
- pub(crate) fn requires_terminator(expr: &Expr) -> bool {
-- // see https://github.com/rust-lang/rust/blob/eb8f2586e/src/libsyntax/parse/classify.rs#L17-L37
-+ // see https://github.com/rust-lang/rust/blob/2679c38fc/src/librustc_ast/util/classify.rs#L7-L25
- match *expr {
- Expr::Unsafe(..)
- | Expr::Block(..)
-@@ -1183,16 +997,17 @@ pub(crate) mod parsing {
-
- use crate::parse::{Parse, ParseStream, Result};
- use crate::path;
-+ use std::cmp::Ordering;
-+
-+ crate::custom_keyword!(raw);
-
- // When we're parsing expressions which occur before blocks, like in an if
- // statement's condition, we cannot parse a struct literal.
- //
- // Struct literals are ambiguous in certain positions
- // https://github.com/rust-lang/rfcs/pull/92
-- #[derive(Copy, Clone)]
- pub struct AllowStruct(bool);
-
-- #[derive(Copy, Clone, PartialEq, PartialOrd)]
- enum Precedence {
- Any,
- Assign,
-@@ -1246,9 +1061,121 @@ pub(crate) mod parsing {
- }
- }
-
-- #[cfg(feature = "full")]
-- fn expr_no_struct(input: ParseStream) -> Result<Expr> {
-- ambiguous_expr(input, AllowStruct(false))
-+ impl Expr {
-+ /// An alternative to the primary `Expr::parse` parser (from the
-+ /// [`Parse`] trait) for ambiguous syntactic positions in which a
-+ /// trailing brace should not be taken as part of the expression.
-+ ///
-+ /// Rust grammar has an ambiguity where braces sometimes turn a path
-+ /// expression into a struct initialization and sometimes do not. In the
-+ /// following code, the expression `S {}` is one expression. Presumably
-+ /// there is an empty struct `struct S {}` defined somewhere which it is
-+ /// instantiating.
-+ ///
-+ /// ```
-+ /// # struct S;
-+ /// # impl std::ops::Deref for S {
-+ /// # type Target = bool;
-+ /// # fn deref(&self) -> &Self::Target {
-+ /// # &true
-+ /// # }
-+ /// # }
-+ /// let _ = *S {};
-+ ///
-+ /// // parsed by rustc as: `*(S {})`
-+ /// ```
-+ ///
-+ /// We would want to parse the above using `Expr::parse` after the `=`
-+ /// token.
-+ ///
-+ /// But in the following, `S {}` is *not* a struct init expression.
-+ ///
-+ /// ```
-+ /// # const S: &bool = &true;
-+ /// if *S {} {}
-+ ///
-+ /// // parsed by rustc as:
-+ /// //
-+ /// // if (*S) {
-+ /// // /* empty block */
-+ /// // }
-+ /// // {
-+ /// // /* another empty block */
-+ /// // }
-+ /// ```
-+ ///
-+ /// For that reason we would want to parse if-conditions using
-+ /// `Expr::parse_without_eager_brace` after the `if` token. Same for
-+ /// similar syntactic positions such as the condition expr after a
-+ /// `while` token or the expr at the top of a `match`.
-+ ///
-+ /// The Rust grammar's choices around which way this ambiguity is
-+ /// resolved at various syntactic positions is fairly arbitrary. Really
-+ /// either parse behavior could work in most positions, and language
-+ /// designers just decide each case based on which is more likely to be
-+ /// what the programmer had in mind most of the time.
-+ ///
-+ /// ```
-+ /// # struct S;
-+ /// # fn doc() -> S {
-+ /// if return S {} {}
-+ /// # unreachable!()
-+ /// # }
-+ ///
-+ /// // parsed by rustc as:
-+ /// //
-+ /// // if (return (S {})) {
-+ /// // }
-+ /// //
-+ /// // but could equally well have been this other arbitrary choice:
-+ /// //
-+ /// // if (return S) {
-+ /// // }
-+ /// // {}
-+ /// ```
-+ ///
-+ /// Note the grammar ambiguity on trailing braces is distinct from
-+ /// precedence and is not captured by assigning a precedence level to
-+ /// the braced struct init expr in relation to other operators. This can
-+ /// be illustrated by `return 0..S {}` vs `match 0..S {}`. The former
-+ /// parses as `return (0..(S {}))` implying tighter precedence for
-+ /// struct init than `..`, while the latter parses as `match (0..S) {}`
-+ /// implying tighter precedence for `..` than struct init, a
-+ /// contradiction.
-+ #[cfg(feature = "full")]
-+ pub fn parse_without_eager_brace(input: ParseStream) -> Result<Expr> {
-+ ambiguous_expr(input, AllowStruct(false))
-+ }
-+ }
-+
-+ impl Copy for AllowStruct {}
-+
-+ impl Clone for AllowStruct {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
-+
-+ impl Copy for Precedence {}
-+
-+ impl Clone for Precedence {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
-+
-+ impl PartialEq for Precedence {
-+ fn eq(&self, other: &Self) -> bool {
-+ *self as u8 == *other as u8
-+ }
-+ }
-+
-+ impl PartialOrd for Precedence {
-+ fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
-+ let this = *self as u8;
-+ let other = *other as u8;
-+ Some(this.cmp(&other))
-+ }
- }
-
- #[cfg(feature = "full")]
-@@ -1430,56 +1357,84 @@ pub(crate) mod parsing {
- parse_expr(input, lhs, allow_struct, Precedence::Any)
- }
-
-+ #[cfg(feature = "full")]
-+ fn expr_attrs(input: ParseStream) -> Result<Vec<Attribute>> {
-+ let mut attrs = Vec::new();
-+ loop {
-+ if input.peek(token::Group) {
-+ let ahead = input.fork();
-+ let group = crate::group::parse_group(&ahead)?;
-+ if !group.content.peek(Token![#]) || group.content.peek2(Token![!]) {
-+ break;
-+ }
-+ let attr = group.content.call(attr::parsing::single_parse_outer)?;
-+ if !group.content.is_empty() {
-+ break;
-+ }
-+ attrs.push(attr);
-+ } else if input.peek(Token![#]) {
-+ attrs.push(input.call(attr::parsing::single_parse_outer)?);
-+ } else {
-+ break;
-+ }
-+ }
-+ Ok(attrs)
-+ }
-+
- // <UnOp> <trailer>
- // & <trailer>
- // &mut <trailer>
- // box <trailer>
- #[cfg(feature = "full")]
- fn unary_expr(input: ParseStream, allow_struct: AllowStruct) -> Result<Expr> {
-- // TODO: optimize using advance_to
-- let ahead = input.fork();
-- ahead.call(Attribute::parse_outer)?;
-- if ahead.peek(Token![&])
-- || ahead.peek(Token![box])
-- || ahead.peek(Token![*])
-- || ahead.peek(Token![!])
-- || ahead.peek(Token![-])
-- {
-- let attrs = input.call(Attribute::parse_outer)?;
-- if input.peek(Token![&]) {
-+ let begin = input.fork();
-+ let attrs = input.call(expr_attrs)?;
-+ if input.peek(Token![&]) {
-+ let and_token: Token![&] = input.parse()?;
-+ let raw: Option<raw> =
-+ if input.peek(raw) && (input.peek2(Token![mut]) || input.peek2(Token![const])) {
-+ Some(input.parse()?)
-+ } else {
-+ None
-+ };
-+ let mutability: Option<Token![mut]> = input.parse()?;
-+ if raw.is_some() && mutability.is_none() {
-+ input.parse::<Token![const]>()?;
-+ }
-+ let expr = Box::new(unary_expr(input, allow_struct)?);
-+ if raw.is_some() {
-+ Ok(Expr::Verbatim(verbatim::between(begin, input)))
-+ } else {
- Ok(Expr::Reference(ExprReference {
- attrs,
-- and_token: input.parse()?,
-+ and_token,
- raw: Reserved::default(),
-- mutability: input.parse()?,
-- expr: Box::new(unary_expr(input, allow_struct)?),
-- }))
-- } else if input.peek(Token![box]) {
-- Ok(Expr::Box(ExprBox {
-- attrs,
-- box_token: input.parse()?,
-- expr: Box::new(unary_expr(input, allow_struct)?),
-- }))
-- } else {
-- Ok(Expr::Unary(ExprUnary {
-- attrs,
-- op: input.parse()?,
-- expr: Box::new(unary_expr(input, allow_struct)?),
-+ mutability,
-+ expr,
- }))
- }
-+ } else if input.peek(Token![box]) {
-+ Ok(Expr::Box(ExprBox {
-+ attrs,
-+ box_token: input.parse()?,
-+ expr: Box::new(unary_expr(input, allow_struct)?),
-+ }))
-+ } else if input.peek(Token![*]) || input.peek(Token![!]) || input.peek(Token![-]) {
-+ Ok(Expr::Unary(ExprUnary {
-+ attrs,
-+ op: input.parse()?,
-+ expr: Box::new(unary_expr(input, allow_struct)?),
-+ }))
- } else {
-- trailer_expr(input, allow_struct)
-+ trailer_expr(attrs, input, allow_struct)
- }
- }
-
- #[cfg(not(feature = "full"))]
- fn unary_expr(input: ParseStream, allow_struct: AllowStruct) -> Result<Expr> {
-- // TODO: optimize using advance_to
-- let ahead = input.fork();
-- ahead.call(Attribute::parse_outer)?;
-- if ahead.peek(Token![*]) || ahead.peek(Token![!]) || ahead.peek(Token![-]) {
-+ if input.peek(Token![*]) || input.peek(Token![!]) || input.peek(Token![-]) {
- Ok(Expr::Unary(ExprUnary {
-- attrs: input.call(Attribute::parse_outer)?,
-+ attrs: Vec::new(),
- op: input.parse()?,
- expr: Box::new(unary_expr(input, allow_struct)?),
- }))
-@@ -1495,13 +1450,11 @@ pub(crate) mod parsing {
- // <atom> [ <expr> ] ...
- // <atom> ? ...
- #[cfg(feature = "full")]
-- fn trailer_expr(input: ParseStream, allow_struct: AllowStruct) -> Result<Expr> {
-- if input.peek(token::Group) {
-- return input.call(expr_group).map(Expr::Group);
-- }
--
-- let outer_attrs = input.call(Attribute::parse_outer)?;
--
-+ fn trailer_expr(
-+ outer_attrs: Vec<Attribute>,
-+ input: ParseStream,
-+ allow_struct: AllowStruct,
-+ ) -> Result<Expr> {
- let atom = atom_expr(input, allow_struct)?;
- let mut e = trailer_helper(input, atom)?;
-
-@@ -1523,18 +1476,26 @@ pub(crate) mod parsing {
- args: content.parse_terminated(Expr::parse)?,
- });
- } else if input.peek(Token![.]) && !input.peek(Token![..]) {
-- let dot_token: Token![.] = input.parse()?;
-+ let mut dot_token: Token![.] = input.parse()?;
-
-- if input.peek(token::Await) {
-+ let await_token: Option<token::Await> = input.parse()?;
-+ if let Some(await_token) = await_token {
- e = Expr::Await(ExprAwait {
- attrs: Vec::new(),
- base: Box::new(e),
- dot_token,
-- await_token: input.parse()?,
-+ await_token,
- });
- continue;
- }
-
-+ let float_token: Option<LitFloat> = input.parse()?;
-+ if let Some(float_token) = float_token {
-+ if multi_index(&mut e, &mut dot_token, float_token)? {
-+ continue;
-+ }
-+ }
-+
- let member: Member = input.parse()?;
- let turbofish = if member.is_named() && input.peek(Token![::]) {
- Some(MethodTurbofish {
-@@ -1620,10 +1581,17 @@ pub(crate) mod parsing {
- });
- } else if input.peek(Token![.]) && !input.peek(Token![..]) && !input.peek2(token::Await)
- {
-+ let mut dot_token: Token![.] = input.parse()?;
-+ let float_token: Option<LitFloat> = input.parse()?;
-+ if let Some(float_token) = float_token {
-+ if multi_index(&mut e, &mut dot_token, float_token)? {
-+ continue;
-+ }
-+ }
- e = Expr::Field(ExprField {
- attrs: Vec::new(),
- base: Box::new(e),
-- dot_token: input.parse()?,
-+ dot_token,
- member: input.parse()?,
- });
- } else if input.peek(token::Bracket) {
-@@ -1646,7 +1614,11 @@ pub(crate) mod parsing {
- // interactions, as they are fully contained.
- #[cfg(feature = "full")]
- fn atom_expr(input: ParseStream, allow_struct: AllowStruct) -> Result<Expr> {
-- if input.peek(token::Group) {
-+ if input.peek(token::Group)
-+ && !input.peek2(Token![::])
-+ && !input.peek2(Token![!])
-+ && !input.peek2(token::Brace)
-+ {
- input.call(expr_group).map(Expr::Group)
- } else if input.peek(Lit) {
- input.parse().map(Expr::Lit)
-@@ -1668,7 +1640,6 @@ pub(crate) mod parsing {
- || input.peek(Token![self])
- || input.peek(Token![Self])
- || input.peek(Token![super])
-- || input.peek(Token![extern])
- || input.peek(Token![crate])
- {
- path_or_macro_or_struct(input, allow_struct)
-@@ -1740,7 +1711,6 @@ pub(crate) mod parsing {
- || input.peek(Token![self])
- || input.peek(Token![Self])
- || input.peek(Token![super])
-- || input.peek(Token![extern])
- || input.peek(Token![crate])
- {
- input.parse().map(Expr::Path)
-@@ -1878,7 +1848,7 @@ pub(crate) mod parsing {
-
- #[cfg(feature = "full")]
- pub(crate) fn expr_early(input: ParseStream) -> Result<Expr> {
-- let mut attrs = input.call(Attribute::parse_outer)?;
-+ let mut attrs = input.call(expr_attrs)?;
- let mut expr = if input.peek(Token![if]) {
- Expr::If(input.parse()?)
- } else if input.peek(Token![while]) {
-@@ -1905,7 +1875,7 @@ pub(crate) mod parsing {
- return parse_expr(input, expr, allow_struct, Precedence::Any);
- };
-
-- if input.peek(Token![.]) || input.peek(Token![?]) {
-+ if input.peek(Token![.]) && !input.peek(Token![..]) || input.peek(Token![?]) {
- expr = trailer_helper(input, expr)?;
-
- attrs.extend(expr.replace_attrs(Vec::new()));
-@@ -1951,7 +1921,16 @@ pub(crate) mod parsing {
-
- #[cfg(feature = "full")]
- fn generic_method_argument(input: ParseStream) -> Result<GenericMethodArgument> {
-- // TODO parse const generics as well
-+ if input.peek(Lit) {
-+ let lit = input.parse()?;
-+ return Ok(GenericMethodArgument::Const(Expr::Lit(lit)));
-+ }
-+
-+ if input.peek(token::Brace) {
-+ let block = input.call(expr::parsing::expr_block)?;
-+ return Ok(GenericMethodArgument::Const(Expr::Block(block)));
-+ }
-+
- input.parse().map(GenericMethodArgument::Type)
- }
-
-@@ -1960,44 +1939,20 @@ pub(crate) mod parsing {
- Ok(ExprLet {
- attrs: Vec::new(),
- let_token: input.parse()?,
-- pat: {
-- let leading_vert: Option<Token![|]> = input.parse()?;
-- let pat: Pat = input.parse()?;
-- if leading_vert.is_some()
-- || input.peek(Token![|]) && !input.peek(Token![||]) && !input.peek(Token![|=])
-- {
-- let mut cases = Punctuated::new();
-- cases.push_value(pat);
-- while input.peek(Token![|])
-- && !input.peek(Token![||])
-- && !input.peek(Token![|=])
-- {
-- let punct = input.parse()?;
-- cases.push_punct(punct);
-- let pat: Pat = input.parse()?;
-- cases.push_value(pat);
-- }
-- Pat::Or(PatOr {
-- attrs: Vec::new(),
-- leading_vert,
-- cases,
-- })
-- } else {
-- pat
-- }
-- },
-+ pat: pat::parsing::multi_pat_with_leading_vert(input)?,
- eq_token: input.parse()?,
-- expr: Box::new(input.call(expr_no_struct)?),
-+ expr: Box::new(input.call(Expr::parse_without_eager_brace)?),
- })
- }
-
- #[cfg(feature = "full")]
- impl Parse for ExprIf {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let attrs = input.call(Attribute::parse_outer)?;
- Ok(ExprIf {
-- attrs: Vec::new(),
-+ attrs,
- if_token: input.parse()?,
-- cond: Box::new(input.call(expr_no_struct)?),
-+ cond: Box::new(input.call(Expr::parse_without_eager_brace)?),
- then_branch: input.parse()?,
- else_branch: {
- if input.peek(Token![else]) {
-@@ -2033,29 +1988,14 @@ pub(crate) mod parsing {
- #[cfg(feature = "full")]
- impl Parse for ExprForLoop {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
- let label: Option<Label> = input.parse()?;
- let for_token: Token![for] = input.parse()?;
-
-- let leading_vert: Option<Token![|]> = input.parse()?;
-- let mut pat: Pat = input.parse()?;
-- if leading_vert.is_some() || input.peek(Token![|]) {
-- let mut cases = Punctuated::new();
-- cases.push_value(pat);
-- while input.peek(Token![|]) {
-- let punct = input.parse()?;
-- cases.push_punct(punct);
-- let pat: Pat = input.parse()?;
-- cases.push_value(pat);
-- }
-- pat = Pat::Or(PatOr {
-- attrs: Vec::new(),
-- leading_vert,
-- cases,
-- });
-- }
-+ let pat = pat::parsing::multi_pat_with_leading_vert(input)?;
-
- let in_token: Token![in] = input.parse()?;
-- let expr: Expr = input.call(expr_no_struct)?;
-+ let expr: Expr = input.call(Expr::parse_without_eager_brace)?;
-
- let content;
- let brace_token = braced!(content in input);
-@@ -2063,7 +2003,7 @@ pub(crate) mod parsing {
- let stmts = content.call(Block::parse_within)?;
-
- Ok(ExprForLoop {
-- attrs: inner_attrs,
-+ attrs: private::attrs(outer_attrs, inner_attrs),
- label,
- for_token,
- pat,
-@@ -2077,6 +2017,7 @@ pub(crate) mod parsing {
- #[cfg(feature = "full")]
- impl Parse for ExprLoop {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
- let label: Option<Label> = input.parse()?;
- let loop_token: Token![loop] = input.parse()?;
-
-@@ -2086,7 +2027,7 @@ pub(crate) mod parsing {
- let stmts = content.call(Block::parse_within)?;
-
- Ok(ExprLoop {
-- attrs: inner_attrs,
-+ attrs: private::attrs(outer_attrs, inner_attrs),
- label,
- loop_token,
- body: Block { brace_token, stmts },
-@@ -2097,8 +2038,9 @@ pub(crate) mod parsing {
- #[cfg(feature = "full")]
- impl Parse for ExprMatch {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
- let match_token: Token![match] = input.parse()?;
-- let expr = expr_no_struct(input)?;
-+ let expr = Expr::parse_without_eager_brace(input)?;
-
- let content;
- let brace_token = braced!(content in input);
-@@ -2110,7 +2052,7 @@ pub(crate) mod parsing {
- }
-
- Ok(ExprMatch {
-- attrs: inner_attrs,
-+ attrs: private::attrs(outer_attrs, inner_attrs),
- match_token,
- expr: Box::new(expr),
- brace_token,
-@@ -2305,9 +2247,10 @@ pub(crate) mod parsing {
- #[cfg(feature = "full")]
- impl Parse for ExprWhile {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
- let label: Option<Label> = input.parse()?;
- let while_token: Token![while] = input.parse()?;
-- let cond = expr_no_struct(input)?;
-+ let cond = Expr::parse_without_eager_brace(input)?;
-
- let content;
- let brace_token = braced!(content in input);
-@@ -2315,7 +2258,7 @@ pub(crate) mod parsing {
- let stmts = content.call(Block::parse_within)?;
-
- Ok(ExprWhile {
-- attrs: inner_attrs,
-+ attrs: private::attrs(outer_attrs, inner_attrs),
- label,
- while_token,
- cond: Box::new(cond),
-@@ -2399,6 +2342,7 @@ pub(crate) mod parsing {
- #[cfg(feature = "full")]
- impl Parse for FieldValue {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let attrs = input.call(Attribute::parse_outer)?;
- let member: Member = input.parse()?;
- let (colon_token, value) = if input.peek(Token![:]) || !member.is_named() {
- let colon_token: Token![:] = input.parse()?;
-@@ -2416,7 +2360,7 @@ pub(crate) mod parsing {
- };
-
- Ok(FieldValue {
-- attrs: Vec::new(),
-+ attrs,
- member,
- colon_token,
- expr: value,
-@@ -2433,46 +2377,36 @@ pub(crate) mod parsing {
- let content;
- let brace_token = braced!(content in input);
- let inner_attrs = content.call(Attribute::parse_inner)?;
-+ let attrs = private::attrs(outer_attrs, inner_attrs);
-
- let mut fields = Punctuated::new();
-- loop {
-- let attrs = content.call(Attribute::parse_outer)?;
-- // TODO: optimize using advance_to
-- if content.fork().parse::<Member>().is_err() {
-- if attrs.is_empty() {
-- break;
-- } else {
-- return Err(content.error("expected struct field"));
-- }
-+ while !content.is_empty() {
-+ if content.peek(Token![..]) {
-+ return Ok(ExprStruct {
-+ attrs,
-+ brace_token,
-+ path,
-+ fields,
-+ dot2_token: Some(content.parse()?),
-+ rest: Some(Box::new(content.parse()?)),
-+ });
- }
-
-- fields.push(FieldValue {
-- attrs,
-- ..content.parse()?
-- });
--
-- if !content.peek(Token![,]) {
-+ fields.push(content.parse()?);
-+ if content.is_empty() {
- break;
- }
- let punct: Token![,] = content.parse()?;
- fields.push_punct(punct);
- }
-
-- let (dot2_token, rest) = if fields.empty_or_trailing() && content.peek(Token![..]) {
-- let dot2_token: Token![..] = content.parse()?;
-- let rest: Expr = content.parse()?;
-- (Some(dot2_token), Some(Box::new(rest)))
-- } else {
-- (None, None)
-- };
--
- Ok(ExprStruct {
-- attrs: private::attrs(outer_attrs, inner_attrs),
-+ attrs,
- brace_token,
- path,
- fields,
-- dot2_token,
-- rest,
-+ dot2_token: None,
-+ rest: None,
- })
- }
-
-@@ -2577,27 +2511,7 @@ pub(crate) mod parsing {
- let requires_comma;
- Ok(Arm {
- attrs: input.call(Attribute::parse_outer)?,
-- pat: {
-- let leading_vert: Option<Token![|]> = input.parse()?;
-- let pat: Pat = input.parse()?;
-- if leading_vert.is_some() || input.peek(Token![|]) {
-- let mut cases = Punctuated::new();
-- cases.push_value(pat);
-- while input.peek(Token![|]) {
-- let punct = input.parse()?;
-- cases.push_punct(punct);
-- let pat: Pat = input.parse()?;
-- cases.push_value(pat);
-- }
-- Pat::Or(PatOr {
-- attrs: Vec::new(),
-- leading_vert,
-- cases,
-- })
-- } else {
-- pat
-- }
-- },
-+ pat: pat::parsing::multi_pat_with_leading_vert(input)?,
- guard: {
- if input.peek(Token![if]) {
- let if_token: Token![if] = input.parse()?;
-@@ -2641,6 +2555,26 @@ pub(crate) mod parsing {
- }
- }
-
-+ fn multi_index(e: &mut Expr, dot_token: &mut Token![.], float: LitFloat) -> Result<bool> {
-+ let mut float_repr = float.to_string();
-+ let trailing_dot = float_repr.ends_with('.');
-+ if trailing_dot {
-+ float_repr.truncate(float_repr.len() - 1);
-+ }
-+ for part in float_repr.split('.') {
-+ let index = crate::parse_str(part).map_err(|err| Error::new(float.span(), err))?;
-+ let base = mem::replace(e, Expr::__Nonexhaustive);
-+ *e = Expr::Field(ExprField {
-+ attrs: Vec::new(),
-+ base: Box::new(base),
-+ dot_token: Token![.](dot_token.span),
-+ member: Member::Unnamed(index),
-+ });
-+ *dot_token = Token![.](float.span());
-+ }
-+ Ok(!trailing_dot)
-+ }
-+
- #[cfg(feature = "full")]
- impl Member {
- fn is_named(&self) -> bool {
-diff --git a/third_party/rust/syn/src/ext.rs b/third_party/rust/syn/src/ext.rs
-index d09577a27a..4f9bc145d9 100644
---- mozilla-release/third_party/rust/syn/src/ext.rs
-+++ mozilla-release/third_party/rust/syn/src/ext.rs
-@@ -1,6 +1,6 @@
- //! Extension traits to provide parsing methods on foreign types.
- //!
--//! *This module is available if Syn is built with the `"parsing"` feature.*
-+//! *This module is available only if Syn is built with the `"parsing"` feature.*
-
- use proc_macro2::Ident;
-
-@@ -16,7 +16,7 @@ use crate::token::CustomToken;
- /// This trait is sealed and cannot be implemented for types outside of Syn. It
- /// is implemented only for `proc_macro2::Ident`.
- ///
--/// *This trait is available if Syn is built with the `"parsing"` feature.*
-+/// *This trait is available only if Syn is built with the `"parsing"` feature.*
- pub trait IdentExt: Sized + private::Sealed {
- /// Parses any identifier including keywords.
- ///
-@@ -129,7 +129,13 @@ mod private {
-
- impl Sealed for Ident {}
-
-- #[derive(Copy, Clone)]
- pub struct PeekFn;
- pub struct IdentAny;
-+
-+ impl Copy for PeekFn {}
-+ impl Clone for PeekFn {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
- }
-diff --git a/third_party/rust/syn/src/file.rs b/third_party/rust/syn/src/file.rs
-index 88c02fe832..c8fab63cd9 100644
---- mozilla-release/third_party/rust/syn/src/file.rs
-+++ mozilla-release/third_party/rust/syn/src/file.rs
-@@ -3,7 +3,7 @@ use super::*;
- ast_struct! {
- /// A complete file of Rust source code.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Example
- ///
-@@ -37,6 +37,8 @@ ast_struct! {
- /// file.read_to_string(&mut src).expect("Unable to read file");
- ///
- /// let syntax = syn::parse_file(&src).expect("Unable to parse file");
-+ ///
-+ /// // Debug impl is available if Syn is built with "extra-traits" feature.
- /// println!("{:#?}", syntax);
- /// }
- /// ```
-diff --git a/third_party/rust/syn/src/gen/clone.rs b/third_party/rust/syn/src/gen/clone.rs
-new file mode 100644
-index 0000000000..bea3887013
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/gen/clone.rs
-@@ -0,0 +1,2051 @@
-+// This file is @generated by syn-internal-codegen.
-+// It is not intended for manual editing.
-+
-+#![allow(clippy::clone_on_copy, clippy::expl_impl_clone_on_copy)]
-+use crate::*;
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Abi {
-+ fn clone(&self) -> Self {
-+ Abi {
-+ extern_token: self.extern_token.clone(),
-+ name: self.name.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for AngleBracketedGenericArguments {
-+ fn clone(&self) -> Self {
-+ AngleBracketedGenericArguments {
-+ colon2_token: self.colon2_token.clone(),
-+ lt_token: self.lt_token.clone(),
-+ args: self.args.clone(),
-+ gt_token: self.gt_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Arm {
-+ fn clone(&self) -> Self {
-+ Arm {
-+ attrs: self.attrs.clone(),
-+ pat: self.pat.clone(),
-+ guard: self.guard.clone(),
-+ fat_arrow_token: self.fat_arrow_token.clone(),
-+ body: self.body.clone(),
-+ comma: self.comma.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Copy for AttrStyle {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for AttrStyle {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Attribute {
-+ fn clone(&self) -> Self {
-+ Attribute {
-+ pound_token: self.pound_token.clone(),
-+ style: self.style.clone(),
-+ bracket_token: self.bracket_token.clone(),
-+ path: self.path.clone(),
-+ tokens: self.tokens.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for BareFnArg {
-+ fn clone(&self) -> Self {
-+ BareFnArg {
-+ attrs: self.attrs.clone(),
-+ name: self.name.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Copy for BinOp {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for BinOp {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Binding {
-+ fn clone(&self) -> Self {
-+ Binding {
-+ ident: self.ident.clone(),
-+ eq_token: self.eq_token.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Block {
-+ fn clone(&self) -> Self {
-+ Block {
-+ brace_token: self.brace_token.clone(),
-+ stmts: self.stmts.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for BoundLifetimes {
-+ fn clone(&self) -> Self {
-+ BoundLifetimes {
-+ for_token: self.for_token.clone(),
-+ lt_token: self.lt_token.clone(),
-+ lifetimes: self.lifetimes.clone(),
-+ gt_token: self.gt_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ConstParam {
-+ fn clone(&self) -> Self {
-+ ConstParam {
-+ attrs: self.attrs.clone(),
-+ const_token: self.const_token.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ eq_token: self.eq_token.clone(),
-+ default: self.default.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Constraint {
-+ fn clone(&self) -> Self {
-+ Constraint {
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Clone for Data {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Data::Struct(v0) => Data::Struct(v0.clone()),
-+ Data::Enum(v0) => Data::Enum(v0.clone()),
-+ Data::Union(v0) => Data::Union(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Clone for DataEnum {
-+ fn clone(&self) -> Self {
-+ DataEnum {
-+ enum_token: self.enum_token.clone(),
-+ brace_token: self.brace_token.clone(),
-+ variants: self.variants.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Clone for DataStruct {
-+ fn clone(&self) -> Self {
-+ DataStruct {
-+ struct_token: self.struct_token.clone(),
-+ fields: self.fields.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Clone for DataUnion {
-+ fn clone(&self) -> Self {
-+ DataUnion {
-+ union_token: self.union_token.clone(),
-+ fields: self.fields.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Clone for DeriveInput {
-+ fn clone(&self) -> Self {
-+ DeriveInput {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ data: self.data.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Expr {
-+ fn clone(&self) -> Self {
-+ match self {
-+ #[cfg(feature = "full")]
-+ Expr::Array(v0) => Expr::Array(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Assign(v0) => Expr::Assign(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::AssignOp(v0) => Expr::AssignOp(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Async(v0) => Expr::Async(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Await(v0) => Expr::Await(v0.clone()),
-+ Expr::Binary(v0) => Expr::Binary(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Block(v0) => Expr::Block(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Box(v0) => Expr::Box(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Break(v0) => Expr::Break(v0.clone()),
-+ Expr::Call(v0) => Expr::Call(v0.clone()),
-+ Expr::Cast(v0) => Expr::Cast(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Closure(v0) => Expr::Closure(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Continue(v0) => Expr::Continue(v0.clone()),
-+ Expr::Field(v0) => Expr::Field(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::ForLoop(v0) => Expr::ForLoop(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Group(v0) => Expr::Group(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::If(v0) => Expr::If(v0.clone()),
-+ Expr::Index(v0) => Expr::Index(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Let(v0) => Expr::Let(v0.clone()),
-+ Expr::Lit(v0) => Expr::Lit(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Loop(v0) => Expr::Loop(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Macro(v0) => Expr::Macro(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Match(v0) => Expr::Match(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::MethodCall(v0) => Expr::MethodCall(v0.clone()),
-+ Expr::Paren(v0) => Expr::Paren(v0.clone()),
-+ Expr::Path(v0) => Expr::Path(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Range(v0) => Expr::Range(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Reference(v0) => Expr::Reference(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Repeat(v0) => Expr::Repeat(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Return(v0) => Expr::Return(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Struct(v0) => Expr::Struct(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Try(v0) => Expr::Try(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::TryBlock(v0) => Expr::TryBlock(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Tuple(v0) => Expr::Tuple(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Type(v0) => Expr::Type(v0.clone()),
-+ Expr::Unary(v0) => Expr::Unary(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Unsafe(v0) => Expr::Unsafe(v0.clone()),
-+ Expr::Verbatim(v0) => Expr::Verbatim(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::While(v0) => Expr::While(v0.clone()),
-+ #[cfg(feature = "full")]
-+ Expr::Yield(v0) => Expr::Yield(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprArray {
-+ fn clone(&self) -> Self {
-+ ExprArray {
-+ attrs: self.attrs.clone(),
-+ bracket_token: self.bracket_token.clone(),
-+ elems: self.elems.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprAssign {
-+ fn clone(&self) -> Self {
-+ ExprAssign {
-+ attrs: self.attrs.clone(),
-+ left: self.left.clone(),
-+ eq_token: self.eq_token.clone(),
-+ right: self.right.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprAssignOp {
-+ fn clone(&self) -> Self {
-+ ExprAssignOp {
-+ attrs: self.attrs.clone(),
-+ left: self.left.clone(),
-+ op: self.op.clone(),
-+ right: self.right.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprAsync {
-+ fn clone(&self) -> Self {
-+ ExprAsync {
-+ attrs: self.attrs.clone(),
-+ async_token: self.async_token.clone(),
-+ capture: self.capture.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprAwait {
-+ fn clone(&self) -> Self {
-+ ExprAwait {
-+ attrs: self.attrs.clone(),
-+ base: self.base.clone(),
-+ dot_token: self.dot_token.clone(),
-+ await_token: self.await_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprBinary {
-+ fn clone(&self) -> Self {
-+ ExprBinary {
-+ attrs: self.attrs.clone(),
-+ left: self.left.clone(),
-+ op: self.op.clone(),
-+ right: self.right.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprBlock {
-+ fn clone(&self) -> Self {
-+ ExprBlock {
-+ attrs: self.attrs.clone(),
-+ label: self.label.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprBox {
-+ fn clone(&self) -> Self {
-+ ExprBox {
-+ attrs: self.attrs.clone(),
-+ box_token: self.box_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprBreak {
-+ fn clone(&self) -> Self {
-+ ExprBreak {
-+ attrs: self.attrs.clone(),
-+ break_token: self.break_token.clone(),
-+ label: self.label.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprCall {
-+ fn clone(&self) -> Self {
-+ ExprCall {
-+ attrs: self.attrs.clone(),
-+ func: self.func.clone(),
-+ paren_token: self.paren_token.clone(),
-+ args: self.args.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprCast {
-+ fn clone(&self) -> Self {
-+ ExprCast {
-+ attrs: self.attrs.clone(),
-+ expr: self.expr.clone(),
-+ as_token: self.as_token.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprClosure {
-+ fn clone(&self) -> Self {
-+ ExprClosure {
-+ attrs: self.attrs.clone(),
-+ asyncness: self.asyncness.clone(),
-+ movability: self.movability.clone(),
-+ capture: self.capture.clone(),
-+ or1_token: self.or1_token.clone(),
-+ inputs: self.inputs.clone(),
-+ or2_token: self.or2_token.clone(),
-+ output: self.output.clone(),
-+ body: self.body.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprContinue {
-+ fn clone(&self) -> Self {
-+ ExprContinue {
-+ attrs: self.attrs.clone(),
-+ continue_token: self.continue_token.clone(),
-+ label: self.label.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprField {
-+ fn clone(&self) -> Self {
-+ ExprField {
-+ attrs: self.attrs.clone(),
-+ base: self.base.clone(),
-+ dot_token: self.dot_token.clone(),
-+ member: self.member.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprForLoop {
-+ fn clone(&self) -> Self {
-+ ExprForLoop {
-+ attrs: self.attrs.clone(),
-+ label: self.label.clone(),
-+ for_token: self.for_token.clone(),
-+ pat: self.pat.clone(),
-+ in_token: self.in_token.clone(),
-+ expr: self.expr.clone(),
-+ body: self.body.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprGroup {
-+ fn clone(&self) -> Self {
-+ ExprGroup {
-+ attrs: self.attrs.clone(),
-+ group_token: self.group_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprIf {
-+ fn clone(&self) -> Self {
-+ ExprIf {
-+ attrs: self.attrs.clone(),
-+ if_token: self.if_token.clone(),
-+ cond: self.cond.clone(),
-+ then_branch: self.then_branch.clone(),
-+ else_branch: self.else_branch.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprIndex {
-+ fn clone(&self) -> Self {
-+ ExprIndex {
-+ attrs: self.attrs.clone(),
-+ expr: self.expr.clone(),
-+ bracket_token: self.bracket_token.clone(),
-+ index: self.index.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprLet {
-+ fn clone(&self) -> Self {
-+ ExprLet {
-+ attrs: self.attrs.clone(),
-+ let_token: self.let_token.clone(),
-+ pat: self.pat.clone(),
-+ eq_token: self.eq_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprLit {
-+ fn clone(&self) -> Self {
-+ ExprLit {
-+ attrs: self.attrs.clone(),
-+ lit: self.lit.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprLoop {
-+ fn clone(&self) -> Self {
-+ ExprLoop {
-+ attrs: self.attrs.clone(),
-+ label: self.label.clone(),
-+ loop_token: self.loop_token.clone(),
-+ body: self.body.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprMacro {
-+ fn clone(&self) -> Self {
-+ ExprMacro {
-+ attrs: self.attrs.clone(),
-+ mac: self.mac.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprMatch {
-+ fn clone(&self) -> Self {
-+ ExprMatch {
-+ attrs: self.attrs.clone(),
-+ match_token: self.match_token.clone(),
-+ expr: self.expr.clone(),
-+ brace_token: self.brace_token.clone(),
-+ arms: self.arms.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprMethodCall {
-+ fn clone(&self) -> Self {
-+ ExprMethodCall {
-+ attrs: self.attrs.clone(),
-+ receiver: self.receiver.clone(),
-+ dot_token: self.dot_token.clone(),
-+ method: self.method.clone(),
-+ turbofish: self.turbofish.clone(),
-+ paren_token: self.paren_token.clone(),
-+ args: self.args.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprParen {
-+ fn clone(&self) -> Self {
-+ ExprParen {
-+ attrs: self.attrs.clone(),
-+ paren_token: self.paren_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprPath {
-+ fn clone(&self) -> Self {
-+ ExprPath {
-+ attrs: self.attrs.clone(),
-+ qself: self.qself.clone(),
-+ path: self.path.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprRange {
-+ fn clone(&self) -> Self {
-+ ExprRange {
-+ attrs: self.attrs.clone(),
-+ from: self.from.clone(),
-+ limits: self.limits.clone(),
-+ to: self.to.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprReference {
-+ fn clone(&self) -> Self {
-+ ExprReference {
-+ attrs: self.attrs.clone(),
-+ and_token: self.and_token.clone(),
-+ raw: self.raw.clone(),
-+ mutability: self.mutability.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprRepeat {
-+ fn clone(&self) -> Self {
-+ ExprRepeat {
-+ attrs: self.attrs.clone(),
-+ bracket_token: self.bracket_token.clone(),
-+ expr: self.expr.clone(),
-+ semi_token: self.semi_token.clone(),
-+ len: self.len.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprReturn {
-+ fn clone(&self) -> Self {
-+ ExprReturn {
-+ attrs: self.attrs.clone(),
-+ return_token: self.return_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprStruct {
-+ fn clone(&self) -> Self {
-+ ExprStruct {
-+ attrs: self.attrs.clone(),
-+ path: self.path.clone(),
-+ brace_token: self.brace_token.clone(),
-+ fields: self.fields.clone(),
-+ dot2_token: self.dot2_token.clone(),
-+ rest: self.rest.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprTry {
-+ fn clone(&self) -> Self {
-+ ExprTry {
-+ attrs: self.attrs.clone(),
-+ expr: self.expr.clone(),
-+ question_token: self.question_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprTryBlock {
-+ fn clone(&self) -> Self {
-+ ExprTryBlock {
-+ attrs: self.attrs.clone(),
-+ try_token: self.try_token.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprTuple {
-+ fn clone(&self) -> Self {
-+ ExprTuple {
-+ attrs: self.attrs.clone(),
-+ paren_token: self.paren_token.clone(),
-+ elems: self.elems.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprType {
-+ fn clone(&self) -> Self {
-+ ExprType {
-+ attrs: self.attrs.clone(),
-+ expr: self.expr.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ExprUnary {
-+ fn clone(&self) -> Self {
-+ ExprUnary {
-+ attrs: self.attrs.clone(),
-+ op: self.op.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprUnsafe {
-+ fn clone(&self) -> Self {
-+ ExprUnsafe {
-+ attrs: self.attrs.clone(),
-+ unsafe_token: self.unsafe_token.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprWhile {
-+ fn clone(&self) -> Self {
-+ ExprWhile {
-+ attrs: self.attrs.clone(),
-+ label: self.label.clone(),
-+ while_token: self.while_token.clone(),
-+ cond: self.cond.clone(),
-+ body: self.body.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ExprYield {
-+ fn clone(&self) -> Self {
-+ ExprYield {
-+ attrs: self.attrs.clone(),
-+ yield_token: self.yield_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Field {
-+ fn clone(&self) -> Self {
-+ Field {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for FieldPat {
-+ fn clone(&self) -> Self {
-+ FieldPat {
-+ attrs: self.attrs.clone(),
-+ member: self.member.clone(),
-+ colon_token: self.colon_token.clone(),
-+ pat: self.pat.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for FieldValue {
-+ fn clone(&self) -> Self {
-+ FieldValue {
-+ attrs: self.attrs.clone(),
-+ member: self.member.clone(),
-+ colon_token: self.colon_token.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Fields {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Fields::Named(v0) => Fields::Named(v0.clone()),
-+ Fields::Unnamed(v0) => Fields::Unnamed(v0.clone()),
-+ Fields::Unit => Fields::Unit,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for FieldsNamed {
-+ fn clone(&self) -> Self {
-+ FieldsNamed {
-+ brace_token: self.brace_token.clone(),
-+ named: self.named.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for FieldsUnnamed {
-+ fn clone(&self) -> Self {
-+ FieldsUnnamed {
-+ paren_token: self.paren_token.clone(),
-+ unnamed: self.unnamed.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for File {
-+ fn clone(&self) -> Self {
-+ File {
-+ shebang: self.shebang.clone(),
-+ attrs: self.attrs.clone(),
-+ items: self.items.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for FnArg {
-+ fn clone(&self) -> Self {
-+ match self {
-+ FnArg::Receiver(v0) => FnArg::Receiver(v0.clone()),
-+ FnArg::Typed(v0) => FnArg::Typed(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ForeignItem {
-+ fn clone(&self) -> Self {
-+ match self {
-+ ForeignItem::Fn(v0) => ForeignItem::Fn(v0.clone()),
-+ ForeignItem::Static(v0) => ForeignItem::Static(v0.clone()),
-+ ForeignItem::Type(v0) => ForeignItem::Type(v0.clone()),
-+ ForeignItem::Macro(v0) => ForeignItem::Macro(v0.clone()),
-+ ForeignItem::Verbatim(v0) => ForeignItem::Verbatim(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ForeignItemFn {
-+ fn clone(&self) -> Self {
-+ ForeignItemFn {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ sig: self.sig.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ForeignItemMacro {
-+ fn clone(&self) -> Self {
-+ ForeignItemMacro {
-+ attrs: self.attrs.clone(),
-+ mac: self.mac.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ForeignItemStatic {
-+ fn clone(&self) -> Self {
-+ ForeignItemStatic {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ static_token: self.static_token.clone(),
-+ mutability: self.mutability.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ForeignItemType {
-+ fn clone(&self) -> Self {
-+ ForeignItemType {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ type_token: self.type_token.clone(),
-+ ident: self.ident.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for GenericArgument {
-+ fn clone(&self) -> Self {
-+ match self {
-+ GenericArgument::Lifetime(v0) => GenericArgument::Lifetime(v0.clone()),
-+ GenericArgument::Type(v0) => GenericArgument::Type(v0.clone()),
-+ GenericArgument::Binding(v0) => GenericArgument::Binding(v0.clone()),
-+ GenericArgument::Constraint(v0) => GenericArgument::Constraint(v0.clone()),
-+ GenericArgument::Const(v0) => GenericArgument::Const(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for GenericMethodArgument {
-+ fn clone(&self) -> Self {
-+ match self {
-+ GenericMethodArgument::Type(v0) => GenericMethodArgument::Type(v0.clone()),
-+ GenericMethodArgument::Const(v0) => GenericMethodArgument::Const(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for GenericParam {
-+ fn clone(&self) -> Self {
-+ match self {
-+ GenericParam::Type(v0) => GenericParam::Type(v0.clone()),
-+ GenericParam::Lifetime(v0) => GenericParam::Lifetime(v0.clone()),
-+ GenericParam::Const(v0) => GenericParam::Const(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Generics {
-+ fn clone(&self) -> Self {
-+ Generics {
-+ lt_token: self.lt_token.clone(),
-+ params: self.params.clone(),
-+ gt_token: self.gt_token.clone(),
-+ where_clause: self.where_clause.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ImplItem {
-+ fn clone(&self) -> Self {
-+ match self {
-+ ImplItem::Const(v0) => ImplItem::Const(v0.clone()),
-+ ImplItem::Method(v0) => ImplItem::Method(v0.clone()),
-+ ImplItem::Type(v0) => ImplItem::Type(v0.clone()),
-+ ImplItem::Macro(v0) => ImplItem::Macro(v0.clone()),
-+ ImplItem::Verbatim(v0) => ImplItem::Verbatim(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ImplItemConst {
-+ fn clone(&self) -> Self {
-+ ImplItemConst {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ defaultness: self.defaultness.clone(),
-+ const_token: self.const_token.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ eq_token: self.eq_token.clone(),
-+ expr: self.expr.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ImplItemMacro {
-+ fn clone(&self) -> Self {
-+ ImplItemMacro {
-+ attrs: self.attrs.clone(),
-+ mac: self.mac.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ImplItemMethod {
-+ fn clone(&self) -> Self {
-+ ImplItemMethod {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ defaultness: self.defaultness.clone(),
-+ sig: self.sig.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ImplItemType {
-+ fn clone(&self) -> Self {
-+ ImplItemType {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ defaultness: self.defaultness.clone(),
-+ type_token: self.type_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ eq_token: self.eq_token.clone(),
-+ ty: self.ty.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Index {
-+ fn clone(&self) -> Self {
-+ Index {
-+ index: self.index.clone(),
-+ span: self.span.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Item {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Item::Const(v0) => Item::Const(v0.clone()),
-+ Item::Enum(v0) => Item::Enum(v0.clone()),
-+ Item::ExternCrate(v0) => Item::ExternCrate(v0.clone()),
-+ Item::Fn(v0) => Item::Fn(v0.clone()),
-+ Item::ForeignMod(v0) => Item::ForeignMod(v0.clone()),
-+ Item::Impl(v0) => Item::Impl(v0.clone()),
-+ Item::Macro(v0) => Item::Macro(v0.clone()),
-+ Item::Macro2(v0) => Item::Macro2(v0.clone()),
-+ Item::Mod(v0) => Item::Mod(v0.clone()),
-+ Item::Static(v0) => Item::Static(v0.clone()),
-+ Item::Struct(v0) => Item::Struct(v0.clone()),
-+ Item::Trait(v0) => Item::Trait(v0.clone()),
-+ Item::TraitAlias(v0) => Item::TraitAlias(v0.clone()),
-+ Item::Type(v0) => Item::Type(v0.clone()),
-+ Item::Union(v0) => Item::Union(v0.clone()),
-+ Item::Use(v0) => Item::Use(v0.clone()),
-+ Item::Verbatim(v0) => Item::Verbatim(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemConst {
-+ fn clone(&self) -> Self {
-+ ItemConst {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ const_token: self.const_token.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ eq_token: self.eq_token.clone(),
-+ expr: self.expr.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemEnum {
-+ fn clone(&self) -> Self {
-+ ItemEnum {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ enum_token: self.enum_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ brace_token: self.brace_token.clone(),
-+ variants: self.variants.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemExternCrate {
-+ fn clone(&self) -> Self {
-+ ItemExternCrate {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ extern_token: self.extern_token.clone(),
-+ crate_token: self.crate_token.clone(),
-+ ident: self.ident.clone(),
-+ rename: self.rename.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemFn {
-+ fn clone(&self) -> Self {
-+ ItemFn {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ sig: self.sig.clone(),
-+ block: self.block.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemForeignMod {
-+ fn clone(&self) -> Self {
-+ ItemForeignMod {
-+ attrs: self.attrs.clone(),
-+ abi: self.abi.clone(),
-+ brace_token: self.brace_token.clone(),
-+ items: self.items.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemImpl {
-+ fn clone(&self) -> Self {
-+ ItemImpl {
-+ attrs: self.attrs.clone(),
-+ defaultness: self.defaultness.clone(),
-+ unsafety: self.unsafety.clone(),
-+ impl_token: self.impl_token.clone(),
-+ generics: self.generics.clone(),
-+ trait_: self.trait_.clone(),
-+ self_ty: self.self_ty.clone(),
-+ brace_token: self.brace_token.clone(),
-+ items: self.items.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemMacro {
-+ fn clone(&self) -> Self {
-+ ItemMacro {
-+ attrs: self.attrs.clone(),
-+ ident: self.ident.clone(),
-+ mac: self.mac.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemMacro2 {
-+ fn clone(&self) -> Self {
-+ ItemMacro2 {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ macro_token: self.macro_token.clone(),
-+ ident: self.ident.clone(),
-+ rules: self.rules.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemMod {
-+ fn clone(&self) -> Self {
-+ ItemMod {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ mod_token: self.mod_token.clone(),
-+ ident: self.ident.clone(),
-+ content: self.content.clone(),
-+ semi: self.semi.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemStatic {
-+ fn clone(&self) -> Self {
-+ ItemStatic {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ static_token: self.static_token.clone(),
-+ mutability: self.mutability.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ eq_token: self.eq_token.clone(),
-+ expr: self.expr.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemStruct {
-+ fn clone(&self) -> Self {
-+ ItemStruct {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ struct_token: self.struct_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ fields: self.fields.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemTrait {
-+ fn clone(&self) -> Self {
-+ ItemTrait {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ unsafety: self.unsafety.clone(),
-+ auto_token: self.auto_token.clone(),
-+ trait_token: self.trait_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ colon_token: self.colon_token.clone(),
-+ supertraits: self.supertraits.clone(),
-+ brace_token: self.brace_token.clone(),
-+ items: self.items.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemTraitAlias {
-+ fn clone(&self) -> Self {
-+ ItemTraitAlias {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ trait_token: self.trait_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ eq_token: self.eq_token.clone(),
-+ bounds: self.bounds.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemType {
-+ fn clone(&self) -> Self {
-+ ItemType {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ type_token: self.type_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ eq_token: self.eq_token.clone(),
-+ ty: self.ty.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemUnion {
-+ fn clone(&self) -> Self {
-+ ItemUnion {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ union_token: self.union_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ fields: self.fields.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for ItemUse {
-+ fn clone(&self) -> Self {
-+ ItemUse {
-+ attrs: self.attrs.clone(),
-+ vis: self.vis.clone(),
-+ use_token: self.use_token.clone(),
-+ leading_colon: self.leading_colon.clone(),
-+ tree: self.tree.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Label {
-+ fn clone(&self) -> Self {
-+ Label {
-+ name: self.name.clone(),
-+ colon_token: self.colon_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for LifetimeDef {
-+ fn clone(&self) -> Self {
-+ LifetimeDef {
-+ attrs: self.attrs.clone(),
-+ lifetime: self.lifetime.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+impl Clone for Lit {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Lit::Str(v0) => Lit::Str(v0.clone()),
-+ Lit::ByteStr(v0) => Lit::ByteStr(v0.clone()),
-+ Lit::Byte(v0) => Lit::Byte(v0.clone()),
-+ Lit::Char(v0) => Lit::Char(v0.clone()),
-+ Lit::Int(v0) => Lit::Int(v0.clone()),
-+ Lit::Float(v0) => Lit::Float(v0.clone()),
-+ Lit::Bool(v0) => Lit::Bool(v0.clone()),
-+ Lit::Verbatim(v0) => Lit::Verbatim(v0.clone()),
-+ }
-+ }
-+}
-+impl Clone for LitBool {
-+ fn clone(&self) -> Self {
-+ LitBool {
-+ value: self.value.clone(),
-+ span: self.span.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Local {
-+ fn clone(&self) -> Self {
-+ Local {
-+ attrs: self.attrs.clone(),
-+ let_token: self.let_token.clone(),
-+ pat: self.pat.clone(),
-+ init: self.init.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Macro {
-+ fn clone(&self) -> Self {
-+ Macro {
-+ path: self.path.clone(),
-+ bang_token: self.bang_token.clone(),
-+ delimiter: self.delimiter.clone(),
-+ tokens: self.tokens.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for MacroDelimiter {
-+ fn clone(&self) -> Self {
-+ match self {
-+ MacroDelimiter::Paren(v0) => MacroDelimiter::Paren(v0.clone()),
-+ MacroDelimiter::Brace(v0) => MacroDelimiter::Brace(v0.clone()),
-+ MacroDelimiter::Bracket(v0) => MacroDelimiter::Bracket(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Member {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Member::Named(v0) => Member::Named(v0.clone()),
-+ Member::Unnamed(v0) => Member::Unnamed(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Meta {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Meta::Path(v0) => Meta::Path(v0.clone()),
-+ Meta::List(v0) => Meta::List(v0.clone()),
-+ Meta::NameValue(v0) => Meta::NameValue(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for MetaList {
-+ fn clone(&self) -> Self {
-+ MetaList {
-+ path: self.path.clone(),
-+ paren_token: self.paren_token.clone(),
-+ nested: self.nested.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for MetaNameValue {
-+ fn clone(&self) -> Self {
-+ MetaNameValue {
-+ path: self.path.clone(),
-+ eq_token: self.eq_token.clone(),
-+ lit: self.lit.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for MethodTurbofish {
-+ fn clone(&self) -> Self {
-+ MethodTurbofish {
-+ colon2_token: self.colon2_token.clone(),
-+ lt_token: self.lt_token.clone(),
-+ args: self.args.clone(),
-+ gt_token: self.gt_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for NestedMeta {
-+ fn clone(&self) -> Self {
-+ match self {
-+ NestedMeta::Meta(v0) => NestedMeta::Meta(v0.clone()),
-+ NestedMeta::Lit(v0) => NestedMeta::Lit(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ParenthesizedGenericArguments {
-+ fn clone(&self) -> Self {
-+ ParenthesizedGenericArguments {
-+ paren_token: self.paren_token.clone(),
-+ inputs: self.inputs.clone(),
-+ output: self.output.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Pat {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Pat::Box(v0) => Pat::Box(v0.clone()),
-+ Pat::Ident(v0) => Pat::Ident(v0.clone()),
-+ Pat::Lit(v0) => Pat::Lit(v0.clone()),
-+ Pat::Macro(v0) => Pat::Macro(v0.clone()),
-+ Pat::Or(v0) => Pat::Or(v0.clone()),
-+ Pat::Path(v0) => Pat::Path(v0.clone()),
-+ Pat::Range(v0) => Pat::Range(v0.clone()),
-+ Pat::Reference(v0) => Pat::Reference(v0.clone()),
-+ Pat::Rest(v0) => Pat::Rest(v0.clone()),
-+ Pat::Slice(v0) => Pat::Slice(v0.clone()),
-+ Pat::Struct(v0) => Pat::Struct(v0.clone()),
-+ Pat::Tuple(v0) => Pat::Tuple(v0.clone()),
-+ Pat::TupleStruct(v0) => Pat::TupleStruct(v0.clone()),
-+ Pat::Type(v0) => Pat::Type(v0.clone()),
-+ Pat::Verbatim(v0) => Pat::Verbatim(v0.clone()),
-+ Pat::Wild(v0) => Pat::Wild(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatBox {
-+ fn clone(&self) -> Self {
-+ PatBox {
-+ attrs: self.attrs.clone(),
-+ box_token: self.box_token.clone(),
-+ pat: self.pat.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatIdent {
-+ fn clone(&self) -> Self {
-+ PatIdent {
-+ attrs: self.attrs.clone(),
-+ by_ref: self.by_ref.clone(),
-+ mutability: self.mutability.clone(),
-+ ident: self.ident.clone(),
-+ subpat: self.subpat.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatLit {
-+ fn clone(&self) -> Self {
-+ PatLit {
-+ attrs: self.attrs.clone(),
-+ expr: self.expr.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatMacro {
-+ fn clone(&self) -> Self {
-+ PatMacro {
-+ attrs: self.attrs.clone(),
-+ mac: self.mac.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatOr {
-+ fn clone(&self) -> Self {
-+ PatOr {
-+ attrs: self.attrs.clone(),
-+ leading_vert: self.leading_vert.clone(),
-+ cases: self.cases.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatPath {
-+ fn clone(&self) -> Self {
-+ PatPath {
-+ attrs: self.attrs.clone(),
-+ qself: self.qself.clone(),
-+ path: self.path.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatRange {
-+ fn clone(&self) -> Self {
-+ PatRange {
-+ attrs: self.attrs.clone(),
-+ lo: self.lo.clone(),
-+ limits: self.limits.clone(),
-+ hi: self.hi.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatReference {
-+ fn clone(&self) -> Self {
-+ PatReference {
-+ attrs: self.attrs.clone(),
-+ and_token: self.and_token.clone(),
-+ mutability: self.mutability.clone(),
-+ pat: self.pat.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatRest {
-+ fn clone(&self) -> Self {
-+ PatRest {
-+ attrs: self.attrs.clone(),
-+ dot2_token: self.dot2_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatSlice {
-+ fn clone(&self) -> Self {
-+ PatSlice {
-+ attrs: self.attrs.clone(),
-+ bracket_token: self.bracket_token.clone(),
-+ elems: self.elems.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatStruct {
-+ fn clone(&self) -> Self {
-+ PatStruct {
-+ attrs: self.attrs.clone(),
-+ path: self.path.clone(),
-+ brace_token: self.brace_token.clone(),
-+ fields: self.fields.clone(),
-+ dot2_token: self.dot2_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatTuple {
-+ fn clone(&self) -> Self {
-+ PatTuple {
-+ attrs: self.attrs.clone(),
-+ paren_token: self.paren_token.clone(),
-+ elems: self.elems.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatTupleStruct {
-+ fn clone(&self) -> Self {
-+ PatTupleStruct {
-+ attrs: self.attrs.clone(),
-+ path: self.path.clone(),
-+ pat: self.pat.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatType {
-+ fn clone(&self) -> Self {
-+ PatType {
-+ attrs: self.attrs.clone(),
-+ pat: self.pat.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for PatWild {
-+ fn clone(&self) -> Self {
-+ PatWild {
-+ attrs: self.attrs.clone(),
-+ underscore_token: self.underscore_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Path {
-+ fn clone(&self) -> Self {
-+ Path {
-+ leading_colon: self.leading_colon.clone(),
-+ segments: self.segments.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for PathArguments {
-+ fn clone(&self) -> Self {
-+ match self {
-+ PathArguments::None => PathArguments::None,
-+ PathArguments::AngleBracketed(v0) => PathArguments::AngleBracketed(v0.clone()),
-+ PathArguments::Parenthesized(v0) => PathArguments::Parenthesized(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for PathSegment {
-+ fn clone(&self) -> Self {
-+ PathSegment {
-+ ident: self.ident.clone(),
-+ arguments: self.arguments.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for PredicateEq {
-+ fn clone(&self) -> Self {
-+ PredicateEq {
-+ lhs_ty: self.lhs_ty.clone(),
-+ eq_token: self.eq_token.clone(),
-+ rhs_ty: self.rhs_ty.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for PredicateLifetime {
-+ fn clone(&self) -> Self {
-+ PredicateLifetime {
-+ lifetime: self.lifetime.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for PredicateType {
-+ fn clone(&self) -> Self {
-+ PredicateType {
-+ lifetimes: self.lifetimes.clone(),
-+ bounded_ty: self.bounded_ty.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for QSelf {
-+ fn clone(&self) -> Self {
-+ QSelf {
-+ lt_token: self.lt_token.clone(),
-+ ty: self.ty.clone(),
-+ position: self.position.clone(),
-+ as_token: self.as_token.clone(),
-+ gt_token: self.gt_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Copy for RangeLimits {}
-+#[cfg(feature = "full")]
-+impl Clone for RangeLimits {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Receiver {
-+ fn clone(&self) -> Self {
-+ Receiver {
-+ attrs: self.attrs.clone(),
-+ reference: self.reference.clone(),
-+ mutability: self.mutability.clone(),
-+ self_token: self.self_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for ReturnType {
-+ fn clone(&self) -> Self {
-+ match self {
-+ ReturnType::Default => ReturnType::Default,
-+ ReturnType::Type(v0, v1) => ReturnType::Type(v0.clone(), v1.clone()),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Signature {
-+ fn clone(&self) -> Self {
-+ Signature {
-+ constness: self.constness.clone(),
-+ asyncness: self.asyncness.clone(),
-+ unsafety: self.unsafety.clone(),
-+ abi: self.abi.clone(),
-+ fn_token: self.fn_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ paren_token: self.paren_token.clone(),
-+ inputs: self.inputs.clone(),
-+ variadic: self.variadic.clone(),
-+ output: self.output.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for Stmt {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Stmt::Local(v0) => Stmt::Local(v0.clone()),
-+ Stmt::Item(v0) => Stmt::Item(v0.clone()),
-+ Stmt::Expr(v0) => Stmt::Expr(v0.clone()),
-+ Stmt::Semi(v0, v1) => Stmt::Semi(v0.clone(), v1.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TraitBound {
-+ fn clone(&self) -> Self {
-+ TraitBound {
-+ paren_token: self.paren_token.clone(),
-+ modifier: self.modifier.clone(),
-+ lifetimes: self.lifetimes.clone(),
-+ path: self.path.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Copy for TraitBoundModifier {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TraitBoundModifier {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for TraitItem {
-+ fn clone(&self) -> Self {
-+ match self {
-+ TraitItem::Const(v0) => TraitItem::Const(v0.clone()),
-+ TraitItem::Method(v0) => TraitItem::Method(v0.clone()),
-+ TraitItem::Type(v0) => TraitItem::Type(v0.clone()),
-+ TraitItem::Macro(v0) => TraitItem::Macro(v0.clone()),
-+ TraitItem::Verbatim(v0) => TraitItem::Verbatim(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for TraitItemConst {
-+ fn clone(&self) -> Self {
-+ TraitItemConst {
-+ attrs: self.attrs.clone(),
-+ const_token: self.const_token.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ ty: self.ty.clone(),
-+ default: self.default.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for TraitItemMacro {
-+ fn clone(&self) -> Self {
-+ TraitItemMacro {
-+ attrs: self.attrs.clone(),
-+ mac: self.mac.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for TraitItemMethod {
-+ fn clone(&self) -> Self {
-+ TraitItemMethod {
-+ attrs: self.attrs.clone(),
-+ sig: self.sig.clone(),
-+ default: self.default.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for TraitItemType {
-+ fn clone(&self) -> Self {
-+ TraitItemType {
-+ attrs: self.attrs.clone(),
-+ type_token: self.type_token.clone(),
-+ ident: self.ident.clone(),
-+ generics: self.generics.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ default: self.default.clone(),
-+ semi_token: self.semi_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Type {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Type::Array(v0) => Type::Array(v0.clone()),
-+ Type::BareFn(v0) => Type::BareFn(v0.clone()),
-+ Type::Group(v0) => Type::Group(v0.clone()),
-+ Type::ImplTrait(v0) => Type::ImplTrait(v0.clone()),
-+ Type::Infer(v0) => Type::Infer(v0.clone()),
-+ Type::Macro(v0) => Type::Macro(v0.clone()),
-+ Type::Never(v0) => Type::Never(v0.clone()),
-+ Type::Paren(v0) => Type::Paren(v0.clone()),
-+ Type::Path(v0) => Type::Path(v0.clone()),
-+ Type::Ptr(v0) => Type::Ptr(v0.clone()),
-+ Type::Reference(v0) => Type::Reference(v0.clone()),
-+ Type::Slice(v0) => Type::Slice(v0.clone()),
-+ Type::TraitObject(v0) => Type::TraitObject(v0.clone()),
-+ Type::Tuple(v0) => Type::Tuple(v0.clone()),
-+ Type::Verbatim(v0) => Type::Verbatim(v0.clone()),
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeArray {
-+ fn clone(&self) -> Self {
-+ TypeArray {
-+ bracket_token: self.bracket_token.clone(),
-+ elem: self.elem.clone(),
-+ semi_token: self.semi_token.clone(),
-+ len: self.len.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeBareFn {
-+ fn clone(&self) -> Self {
-+ TypeBareFn {
-+ lifetimes: self.lifetimes.clone(),
-+ unsafety: self.unsafety.clone(),
-+ abi: self.abi.clone(),
-+ fn_token: self.fn_token.clone(),
-+ paren_token: self.paren_token.clone(),
-+ inputs: self.inputs.clone(),
-+ variadic: self.variadic.clone(),
-+ output: self.output.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeGroup {
-+ fn clone(&self) -> Self {
-+ TypeGroup {
-+ group_token: self.group_token.clone(),
-+ elem: self.elem.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeImplTrait {
-+ fn clone(&self) -> Self {
-+ TypeImplTrait {
-+ impl_token: self.impl_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeInfer {
-+ fn clone(&self) -> Self {
-+ TypeInfer {
-+ underscore_token: self.underscore_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeMacro {
-+ fn clone(&self) -> Self {
-+ TypeMacro {
-+ mac: self.mac.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeNever {
-+ fn clone(&self) -> Self {
-+ TypeNever {
-+ bang_token: self.bang_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeParam {
-+ fn clone(&self) -> Self {
-+ TypeParam {
-+ attrs: self.attrs.clone(),
-+ ident: self.ident.clone(),
-+ colon_token: self.colon_token.clone(),
-+ bounds: self.bounds.clone(),
-+ eq_token: self.eq_token.clone(),
-+ default: self.default.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeParamBound {
-+ fn clone(&self) -> Self {
-+ match self {
-+ TypeParamBound::Trait(v0) => TypeParamBound::Trait(v0.clone()),
-+ TypeParamBound::Lifetime(v0) => TypeParamBound::Lifetime(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeParen {
-+ fn clone(&self) -> Self {
-+ TypeParen {
-+ paren_token: self.paren_token.clone(),
-+ elem: self.elem.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypePath {
-+ fn clone(&self) -> Self {
-+ TypePath {
-+ qself: self.qself.clone(),
-+ path: self.path.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypePtr {
-+ fn clone(&self) -> Self {
-+ TypePtr {
-+ star_token: self.star_token.clone(),
-+ const_token: self.const_token.clone(),
-+ mutability: self.mutability.clone(),
-+ elem: self.elem.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeReference {
-+ fn clone(&self) -> Self {
-+ TypeReference {
-+ and_token: self.and_token.clone(),
-+ lifetime: self.lifetime.clone(),
-+ mutability: self.mutability.clone(),
-+ elem: self.elem.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeSlice {
-+ fn clone(&self) -> Self {
-+ TypeSlice {
-+ bracket_token: self.bracket_token.clone(),
-+ elem: self.elem.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeTraitObject {
-+ fn clone(&self) -> Self {
-+ TypeTraitObject {
-+ dyn_token: self.dyn_token.clone(),
-+ bounds: self.bounds.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for TypeTuple {
-+ fn clone(&self) -> Self {
-+ TypeTuple {
-+ paren_token: self.paren_token.clone(),
-+ elems: self.elems.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Copy for UnOp {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for UnOp {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UseGlob {
-+ fn clone(&self) -> Self {
-+ UseGlob {
-+ star_token: self.star_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UseGroup {
-+ fn clone(&self) -> Self {
-+ UseGroup {
-+ brace_token: self.brace_token.clone(),
-+ items: self.items.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UseName {
-+ fn clone(&self) -> Self {
-+ UseName {
-+ ident: self.ident.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UsePath {
-+ fn clone(&self) -> Self {
-+ UsePath {
-+ ident: self.ident.clone(),
-+ colon2_token: self.colon2_token.clone(),
-+ tree: self.tree.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UseRename {
-+ fn clone(&self) -> Self {
-+ UseRename {
-+ ident: self.ident.clone(),
-+ as_token: self.as_token.clone(),
-+ rename: self.rename.clone(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Clone for UseTree {
-+ fn clone(&self) -> Self {
-+ match self {
-+ UseTree::Path(v0) => UseTree::Path(v0.clone()),
-+ UseTree::Name(v0) => UseTree::Name(v0.clone()),
-+ UseTree::Rename(v0) => UseTree::Rename(v0.clone()),
-+ UseTree::Glob(v0) => UseTree::Glob(v0.clone()),
-+ UseTree::Group(v0) => UseTree::Group(v0.clone()),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Variadic {
-+ fn clone(&self) -> Self {
-+ Variadic {
-+ attrs: self.attrs.clone(),
-+ dots: self.dots.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Variant {
-+ fn clone(&self) -> Self {
-+ Variant {
-+ attrs: self.attrs.clone(),
-+ ident: self.ident.clone(),
-+ fields: self.fields.clone(),
-+ discriminant: self.discriminant.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for VisCrate {
-+ fn clone(&self) -> Self {
-+ VisCrate {
-+ crate_token: self.crate_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for VisPublic {
-+ fn clone(&self) -> Self {
-+ VisPublic {
-+ pub_token: self.pub_token.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for VisRestricted {
-+ fn clone(&self) -> Self {
-+ VisRestricted {
-+ pub_token: self.pub_token.clone(),
-+ paren_token: self.paren_token.clone(),
-+ in_token: self.in_token.clone(),
-+ path: self.path.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for Visibility {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Visibility::Public(v0) => Visibility::Public(v0.clone()),
-+ Visibility::Crate(v0) => Visibility::Crate(v0.clone()),
-+ Visibility::Restricted(v0) => Visibility::Restricted(v0.clone()),
-+ Visibility::Inherited => Visibility::Inherited,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for WhereClause {
-+ fn clone(&self) -> Self {
-+ WhereClause {
-+ where_token: self.where_token.clone(),
-+ predicates: self.predicates.clone(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Clone for WherePredicate {
-+ fn clone(&self) -> Self {
-+ match self {
-+ WherePredicate::Type(v0) => WherePredicate::Type(v0.clone()),
-+ WherePredicate::Lifetime(v0) => WherePredicate::Lifetime(v0.clone()),
-+ WherePredicate::Eq(v0) => WherePredicate::Eq(v0.clone()),
-+ }
-+ }
-+}
-diff --git a/third_party/rust/syn/src/gen/debug.rs b/third_party/rust/syn/src/gen/debug.rs
-new file mode 100644
-index 0000000000..72baab05f4
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/gen/debug.rs
-@@ -0,0 +1,2857 @@
-+// This file is @generated by syn-internal-codegen.
-+// It is not intended for manual editing.
-+
-+use crate::*;
-+use std::fmt::{self, Debug};
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Abi {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Abi");
-+ formatter.field("extern_token", &self.extern_token);
-+ formatter.field("name", &self.name);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for AngleBracketedGenericArguments {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("AngleBracketedGenericArguments");
-+ formatter.field("colon2_token", &self.colon2_token);
-+ formatter.field("lt_token", &self.lt_token);
-+ formatter.field("args", &self.args);
-+ formatter.field("gt_token", &self.gt_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Arm {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Arm");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("pat", &self.pat);
-+ formatter.field("guard", &self.guard);
-+ formatter.field("fat_arrow_token", &self.fat_arrow_token);
-+ formatter.field("body", &self.body);
-+ formatter.field("comma", &self.comma);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for AttrStyle {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ AttrStyle::Outer => formatter.write_str("Outer"),
-+ AttrStyle::Inner(v0) => {
-+ let mut formatter = formatter.debug_tuple("Inner");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Attribute {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Attribute");
-+ formatter.field("pound_token", &self.pound_token);
-+ formatter.field("style", &self.style);
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("path", &self.path);
-+ formatter.field("tokens", &self.tokens);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for BareFnArg {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("BareFnArg");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("name", &self.name);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for BinOp {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ BinOp::Add(v0) => {
-+ let mut formatter = formatter.debug_tuple("Add");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Sub(v0) => {
-+ let mut formatter = formatter.debug_tuple("Sub");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Mul(v0) => {
-+ let mut formatter = formatter.debug_tuple("Mul");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Div(v0) => {
-+ let mut formatter = formatter.debug_tuple("Div");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Rem(v0) => {
-+ let mut formatter = formatter.debug_tuple("Rem");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::And(v0) => {
-+ let mut formatter = formatter.debug_tuple("And");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Or(v0) => {
-+ let mut formatter = formatter.debug_tuple("Or");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitXor(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitXor");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitAnd(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitAnd");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitOr(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitOr");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Shl(v0) => {
-+ let mut formatter = formatter.debug_tuple("Shl");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Shr(v0) => {
-+ let mut formatter = formatter.debug_tuple("Shr");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Eq(v0) => {
-+ let mut formatter = formatter.debug_tuple("Eq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Lt(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lt");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Le(v0) => {
-+ let mut formatter = formatter.debug_tuple("Le");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Ne(v0) => {
-+ let mut formatter = formatter.debug_tuple("Ne");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Ge(v0) => {
-+ let mut formatter = formatter.debug_tuple("Ge");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::Gt(v0) => {
-+ let mut formatter = formatter.debug_tuple("Gt");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::AddEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("AddEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::SubEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("SubEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::MulEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("MulEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::DivEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("DivEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::RemEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("RemEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitXorEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitXorEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitAndEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitAndEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::BitOrEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("BitOrEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::ShlEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("ShlEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ BinOp::ShrEq(v0) => {
-+ let mut formatter = formatter.debug_tuple("ShrEq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Binding {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Binding");
-+ formatter.field("ident", &self.ident);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Block {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Block");
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("stmts", &self.stmts);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for BoundLifetimes {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("BoundLifetimes");
-+ formatter.field("for_token", &self.for_token);
-+ formatter.field("lt_token", &self.lt_token);
-+ formatter.field("lifetimes", &self.lifetimes);
-+ formatter.field("gt_token", &self.gt_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ConstParam {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ConstParam");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("const_token", &self.const_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("default", &self.default);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Constraint {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Constraint");
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Debug for Data {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Data::Struct(v0) => {
-+ let mut formatter = formatter.debug_tuple("Struct");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Data::Enum(v0) => {
-+ let mut formatter = formatter.debug_tuple("Enum");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Data::Union(v0) => {
-+ let mut formatter = formatter.debug_tuple("Union");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Debug for DataEnum {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("DataEnum");
-+ formatter.field("enum_token", &self.enum_token);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("variants", &self.variants);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Debug for DataStruct {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("DataStruct");
-+ formatter.field("struct_token", &self.struct_token);
-+ formatter.field("fields", &self.fields);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Debug for DataUnion {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("DataUnion");
-+ formatter.field("union_token", &self.union_token);
-+ formatter.field("fields", &self.fields);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Debug for DeriveInput {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("DeriveInput");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("data", &self.data);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Expr {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ #[cfg(feature = "full")]
-+ Expr::Array(v0) => {
-+ let mut formatter = formatter.debug_tuple("Array");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Assign(v0) => {
-+ let mut formatter = formatter.debug_tuple("Assign");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::AssignOp(v0) => {
-+ let mut formatter = formatter.debug_tuple("AssignOp");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Async(v0) => {
-+ let mut formatter = formatter.debug_tuple("Async");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Await(v0) => {
-+ let mut formatter = formatter.debug_tuple("Await");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Binary(v0) => {
-+ let mut formatter = formatter.debug_tuple("Binary");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Block(v0) => {
-+ let mut formatter = formatter.debug_tuple("Block");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Box(v0) => {
-+ let mut formatter = formatter.debug_tuple("Box");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Break(v0) => {
-+ let mut formatter = formatter.debug_tuple("Break");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Call(v0) => {
-+ let mut formatter = formatter.debug_tuple("Call");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Cast(v0) => {
-+ let mut formatter = formatter.debug_tuple("Cast");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Closure(v0) => {
-+ let mut formatter = formatter.debug_tuple("Closure");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Continue(v0) => {
-+ let mut formatter = formatter.debug_tuple("Continue");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Field(v0) => {
-+ let mut formatter = formatter.debug_tuple("Field");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::ForLoop(v0) => {
-+ let mut formatter = formatter.debug_tuple("ForLoop");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Group(v0) => {
-+ let mut formatter = formatter.debug_tuple("Group");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::If(v0) => {
-+ let mut formatter = formatter.debug_tuple("If");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Index(v0) => {
-+ let mut formatter = formatter.debug_tuple("Index");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Let(v0) => {
-+ let mut formatter = formatter.debug_tuple("Let");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Lit(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lit");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Loop(v0) => {
-+ let mut formatter = formatter.debug_tuple("Loop");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Match(v0) => {
-+ let mut formatter = formatter.debug_tuple("Match");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::MethodCall(v0) => {
-+ let mut formatter = formatter.debug_tuple("MethodCall");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Paren(v0) => {
-+ let mut formatter = formatter.debug_tuple("Paren");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Path(v0) => {
-+ let mut formatter = formatter.debug_tuple("Path");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Range(v0) => {
-+ let mut formatter = formatter.debug_tuple("Range");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Reference(v0) => {
-+ let mut formatter = formatter.debug_tuple("Reference");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Repeat(v0) => {
-+ let mut formatter = formatter.debug_tuple("Repeat");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Return(v0) => {
-+ let mut formatter = formatter.debug_tuple("Return");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Struct(v0) => {
-+ let mut formatter = formatter.debug_tuple("Struct");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Try(v0) => {
-+ let mut formatter = formatter.debug_tuple("Try");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::TryBlock(v0) => {
-+ let mut formatter = formatter.debug_tuple("TryBlock");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Tuple(v0) => {
-+ let mut formatter = formatter.debug_tuple("Tuple");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Unary(v0) => {
-+ let mut formatter = formatter.debug_tuple("Unary");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Unsafe(v0) => {
-+ let mut formatter = formatter.debug_tuple("Unsafe");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Expr::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::While(v0) => {
-+ let mut formatter = formatter.debug_tuple("While");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Yield(v0) => {
-+ let mut formatter = formatter.debug_tuple("Yield");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprArray {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprArray");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("elems", &self.elems);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprAssign {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprAssign");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("left", &self.left);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("right", &self.right);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprAssignOp {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprAssignOp");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("left", &self.left);
-+ formatter.field("op", &self.op);
-+ formatter.field("right", &self.right);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprAsync {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprAsync");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("async_token", &self.async_token);
-+ formatter.field("capture", &self.capture);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprAwait {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprAwait");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("base", &self.base);
-+ formatter.field("dot_token", &self.dot_token);
-+ formatter.field("await_token", &self.await_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprBinary {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprBinary");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("left", &self.left);
-+ formatter.field("op", &self.op);
-+ formatter.field("right", &self.right);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprBlock {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprBlock");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("label", &self.label);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprBox {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprBox");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("box_token", &self.box_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprBreak {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprBreak");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("break_token", &self.break_token);
-+ formatter.field("label", &self.label);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprCall {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprCall");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("func", &self.func);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("args", &self.args);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprCast {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprCast");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("as_token", &self.as_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprClosure {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprClosure");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("asyncness", &self.asyncness);
-+ formatter.field("movability", &self.movability);
-+ formatter.field("capture", &self.capture);
-+ formatter.field("or1_token", &self.or1_token);
-+ formatter.field("inputs", &self.inputs);
-+ formatter.field("or2_token", &self.or2_token);
-+ formatter.field("output", &self.output);
-+ formatter.field("body", &self.body);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprContinue {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprContinue");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("continue_token", &self.continue_token);
-+ formatter.field("label", &self.label);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprField {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprField");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("base", &self.base);
-+ formatter.field("dot_token", &self.dot_token);
-+ formatter.field("member", &self.member);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprForLoop {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprForLoop");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("label", &self.label);
-+ formatter.field("for_token", &self.for_token);
-+ formatter.field("pat", &self.pat);
-+ formatter.field("in_token", &self.in_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("body", &self.body);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprGroup {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprGroup");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("group_token", &self.group_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprIf {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprIf");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("if_token", &self.if_token);
-+ formatter.field("cond", &self.cond);
-+ formatter.field("then_branch", &self.then_branch);
-+ formatter.field("else_branch", &self.else_branch);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprIndex {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprIndex");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("index", &self.index);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprLet {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprLet");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("let_token", &self.let_token);
-+ formatter.field("pat", &self.pat);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprLit {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprLit");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("lit", &self.lit);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprLoop {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprLoop");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("label", &self.label);
-+ formatter.field("loop_token", &self.loop_token);
-+ formatter.field("body", &self.body);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("mac", &self.mac);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprMatch {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprMatch");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("match_token", &self.match_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("arms", &self.arms);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprMethodCall {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprMethodCall");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("receiver", &self.receiver);
-+ formatter.field("dot_token", &self.dot_token);
-+ formatter.field("method", &self.method);
-+ formatter.field("turbofish", &self.turbofish);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("args", &self.args);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprParen {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprParen");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprPath {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprPath");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("qself", &self.qself);
-+ formatter.field("path", &self.path);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprRange {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprRange");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("from", &self.from);
-+ formatter.field("limits", &self.limits);
-+ formatter.field("to", &self.to);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprReference {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprReference");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("and_token", &self.and_token);
-+ formatter.field("raw", &self.raw);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprRepeat {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprRepeat");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.field("len", &self.len);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprReturn {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprReturn");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("return_token", &self.return_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprStruct {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprStruct");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("path", &self.path);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("fields", &self.fields);
-+ formatter.field("dot2_token", &self.dot2_token);
-+ formatter.field("rest", &self.rest);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprTry {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprTry");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("question_token", &self.question_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprTryBlock {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprTryBlock");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("try_token", &self.try_token);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprTuple {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprTuple");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("elems", &self.elems);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ExprUnary {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprUnary");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("op", &self.op);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprUnsafe {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprUnsafe");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("unsafe_token", &self.unsafe_token);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprWhile {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprWhile");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("label", &self.label);
-+ formatter.field("while_token", &self.while_token);
-+ formatter.field("cond", &self.cond);
-+ formatter.field("body", &self.body);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ExprYield {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ExprYield");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("yield_token", &self.yield_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Field {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Field");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for FieldPat {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("FieldPat");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("member", &self.member);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("pat", &self.pat);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for FieldValue {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("FieldValue");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("member", &self.member);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Fields {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Fields::Named(v0) => {
-+ let mut formatter = formatter.debug_tuple("Named");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Fields::Unnamed(v0) => {
-+ let mut formatter = formatter.debug_tuple("Unnamed");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Fields::Unit => formatter.write_str("Unit"),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for FieldsNamed {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("FieldsNamed");
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("named", &self.named);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for FieldsUnnamed {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("FieldsUnnamed");
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("unnamed", &self.unnamed);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for File {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("File");
-+ formatter.field("shebang", &self.shebang);
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("items", &self.items);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for FnArg {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ FnArg::Receiver(v0) => {
-+ let mut formatter = formatter.debug_tuple("Receiver");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ FnArg::Typed(v0) => {
-+ let mut formatter = formatter.debug_tuple("Typed");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ForeignItem {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ ForeignItem::Fn(v0) => {
-+ let mut formatter = formatter.debug_tuple("Fn");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ForeignItem::Static(v0) => {
-+ let mut formatter = formatter.debug_tuple("Static");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ForeignItem::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ForeignItem::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ForeignItem::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ForeignItemFn {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ForeignItemFn");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("sig", &self.sig);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ForeignItemMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ForeignItemMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("mac", &self.mac);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ForeignItemStatic {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ForeignItemStatic");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("static_token", &self.static_token);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ForeignItemType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ForeignItemType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("type_token", &self.type_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for GenericArgument {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ GenericArgument::Lifetime(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lifetime");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericArgument::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericArgument::Binding(v0) => {
-+ let mut formatter = formatter.debug_tuple("Binding");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericArgument::Constraint(v0) => {
-+ let mut formatter = formatter.debug_tuple("Constraint");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericArgument::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for GenericMethodArgument {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ GenericMethodArgument::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericMethodArgument::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for GenericParam {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ GenericParam::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericParam::Lifetime(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lifetime");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ GenericParam::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Generics {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Generics");
-+ formatter.field("lt_token", &self.lt_token);
-+ formatter.field("params", &self.params);
-+ formatter.field("gt_token", &self.gt_token);
-+ formatter.field("where_clause", &self.where_clause);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ImplItem {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ ImplItem::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ImplItem::Method(v0) => {
-+ let mut formatter = formatter.debug_tuple("Method");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ImplItem::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ImplItem::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ ImplItem::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ImplItemConst {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ImplItemConst");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("defaultness", &self.defaultness);
-+ formatter.field("const_token", &self.const_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ImplItemMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ImplItemMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("mac", &self.mac);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ImplItemMethod {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ImplItemMethod");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("defaultness", &self.defaultness);
-+ formatter.field("sig", &self.sig);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ImplItemType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ImplItemType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("defaultness", &self.defaultness);
-+ formatter.field("type_token", &self.type_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Index {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Index");
-+ formatter.field("index", &self.index);
-+ formatter.field("span", &self.span);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Item {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Item::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Enum(v0) => {
-+ let mut formatter = formatter.debug_tuple("Enum");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::ExternCrate(v0) => {
-+ let mut formatter = formatter.debug_tuple("ExternCrate");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Fn(v0) => {
-+ let mut formatter = formatter.debug_tuple("Fn");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::ForeignMod(v0) => {
-+ let mut formatter = formatter.debug_tuple("ForeignMod");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Impl(v0) => {
-+ let mut formatter = formatter.debug_tuple("Impl");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Macro2(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro2");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Mod(v0) => {
-+ let mut formatter = formatter.debug_tuple("Mod");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Static(v0) => {
-+ let mut formatter = formatter.debug_tuple("Static");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Struct(v0) => {
-+ let mut formatter = formatter.debug_tuple("Struct");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Trait(v0) => {
-+ let mut formatter = formatter.debug_tuple("Trait");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::TraitAlias(v0) => {
-+ let mut formatter = formatter.debug_tuple("TraitAlias");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Union(v0) => {
-+ let mut formatter = formatter.debug_tuple("Union");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Use(v0) => {
-+ let mut formatter = formatter.debug_tuple("Use");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Item::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemConst {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemConst");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("const_token", &self.const_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemEnum {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemEnum");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("enum_token", &self.enum_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("variants", &self.variants);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemExternCrate {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemExternCrate");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("extern_token", &self.extern_token);
-+ formatter.field("crate_token", &self.crate_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("rename", &self.rename);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemFn {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemFn");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("sig", &self.sig);
-+ formatter.field("block", &self.block);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemForeignMod {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemForeignMod");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("abi", &self.abi);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("items", &self.items);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemImpl {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemImpl");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("defaultness", &self.defaultness);
-+ formatter.field("unsafety", &self.unsafety);
-+ formatter.field("impl_token", &self.impl_token);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("trait_", &self.trait_);
-+ formatter.field("self_ty", &self.self_ty);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("items", &self.items);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("mac", &self.mac);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemMacro2 {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemMacro2");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("macro_token", &self.macro_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("rules", &self.rules);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemMod {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemMod");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("mod_token", &self.mod_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("content", &self.content);
-+ formatter.field("semi", &self.semi);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemStatic {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemStatic");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("static_token", &self.static_token);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("expr", &self.expr);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemStruct {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemStruct");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("struct_token", &self.struct_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("fields", &self.fields);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemTrait {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemTrait");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("unsafety", &self.unsafety);
-+ formatter.field("auto_token", &self.auto_token);
-+ formatter.field("trait_token", &self.trait_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("supertraits", &self.supertraits);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("items", &self.items);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemTraitAlias {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemTraitAlias");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("trait_token", &self.trait_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("type_token", &self.type_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemUnion {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemUnion");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("union_token", &self.union_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("fields", &self.fields);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for ItemUse {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ItemUse");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("vis", &self.vis);
-+ formatter.field("use_token", &self.use_token);
-+ formatter.field("leading_colon", &self.leading_colon);
-+ formatter.field("tree", &self.tree);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Label {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Label");
-+ formatter.field("name", &self.name);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.finish()
-+ }
-+}
-+impl Debug for Lifetime {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Lifetime");
-+ formatter.field("apostrophe", &self.apostrophe);
-+ formatter.field("ident", &self.ident);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for LifetimeDef {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("LifetimeDef");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("lifetime", &self.lifetime);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+impl Debug for Lit {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Lit::Str(v0) => {
-+ let mut formatter = formatter.debug_tuple("Str");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::ByteStr(v0) => {
-+ let mut formatter = formatter.debug_tuple("ByteStr");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Byte(v0) => {
-+ let mut formatter = formatter.debug_tuple("Byte");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Char(v0) => {
-+ let mut formatter = formatter.debug_tuple("Char");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Int(v0) => {
-+ let mut formatter = formatter.debug_tuple("Int");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Float(v0) => {
-+ let mut formatter = formatter.debug_tuple("Float");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Bool(v0) => {
-+ let mut formatter = formatter.debug_tuple("Bool");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Lit::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Local {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Local");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("let_token", &self.let_token);
-+ formatter.field("pat", &self.pat);
-+ formatter.field("init", &self.init);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Macro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Macro");
-+ formatter.field("path", &self.path);
-+ formatter.field("bang_token", &self.bang_token);
-+ formatter.field("delimiter", &self.delimiter);
-+ formatter.field("tokens", &self.tokens);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for MacroDelimiter {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ MacroDelimiter::Paren(v0) => {
-+ let mut formatter = formatter.debug_tuple("Paren");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ MacroDelimiter::Brace(v0) => {
-+ let mut formatter = formatter.debug_tuple("Brace");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ MacroDelimiter::Bracket(v0) => {
-+ let mut formatter = formatter.debug_tuple("Bracket");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Member {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Member::Named(v0) => {
-+ let mut formatter = formatter.debug_tuple("Named");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Member::Unnamed(v0) => {
-+ let mut formatter = formatter.debug_tuple("Unnamed");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Meta {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Meta::Path(v0) => {
-+ let mut formatter = formatter.debug_tuple("Path");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Meta::List(v0) => {
-+ let mut formatter = formatter.debug_tuple("List");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Meta::NameValue(v0) => {
-+ let mut formatter = formatter.debug_tuple("NameValue");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for MetaList {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("MetaList");
-+ formatter.field("path", &self.path);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("nested", &self.nested);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for MetaNameValue {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("MetaNameValue");
-+ formatter.field("path", &self.path);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("lit", &self.lit);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for MethodTurbofish {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("MethodTurbofish");
-+ formatter.field("colon2_token", &self.colon2_token);
-+ formatter.field("lt_token", &self.lt_token);
-+ formatter.field("args", &self.args);
-+ formatter.field("gt_token", &self.gt_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for NestedMeta {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ NestedMeta::Meta(v0) => {
-+ let mut formatter = formatter.debug_tuple("Meta");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ NestedMeta::Lit(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lit");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ParenthesizedGenericArguments {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("ParenthesizedGenericArguments");
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("inputs", &self.inputs);
-+ formatter.field("output", &self.output);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Pat {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Pat::Box(v0) => {
-+ let mut formatter = formatter.debug_tuple("Box");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Ident(v0) => {
-+ let mut formatter = formatter.debug_tuple("Ident");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Lit(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lit");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Or(v0) => {
-+ let mut formatter = formatter.debug_tuple("Or");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Path(v0) => {
-+ let mut formatter = formatter.debug_tuple("Path");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Range(v0) => {
-+ let mut formatter = formatter.debug_tuple("Range");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Reference(v0) => {
-+ let mut formatter = formatter.debug_tuple("Reference");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Rest(v0) => {
-+ let mut formatter = formatter.debug_tuple("Rest");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Slice(v0) => {
-+ let mut formatter = formatter.debug_tuple("Slice");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Struct(v0) => {
-+ let mut formatter = formatter.debug_tuple("Struct");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Tuple(v0) => {
-+ let mut formatter = formatter.debug_tuple("Tuple");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::TupleStruct(v0) => {
-+ let mut formatter = formatter.debug_tuple("TupleStruct");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Pat::Wild(v0) => {
-+ let mut formatter = formatter.debug_tuple("Wild");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatBox {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatBox");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("box_token", &self.box_token);
-+ formatter.field("pat", &self.pat);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatIdent {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatIdent");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("by_ref", &self.by_ref);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("subpat", &self.subpat);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatLit {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatLit");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("expr", &self.expr);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("mac", &self.mac);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatOr {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatOr");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("leading_vert", &self.leading_vert);
-+ formatter.field("cases", &self.cases);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatPath {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatPath");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("qself", &self.qself);
-+ formatter.field("path", &self.path);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatRange {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatRange");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("lo", &self.lo);
-+ formatter.field("limits", &self.limits);
-+ formatter.field("hi", &self.hi);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatReference {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatReference");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("and_token", &self.and_token);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("pat", &self.pat);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatRest {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatRest");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("dot2_token", &self.dot2_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatSlice {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatSlice");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("elems", &self.elems);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatStruct {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatStruct");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("path", &self.path);
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("fields", &self.fields);
-+ formatter.field("dot2_token", &self.dot2_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatTuple {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatTuple");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("elems", &self.elems);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatTupleStruct {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatTupleStruct");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("path", &self.path);
-+ formatter.field("pat", &self.pat);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("pat", &self.pat);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for PatWild {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PatWild");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("underscore_token", &self.underscore_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Path {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Path");
-+ formatter.field("leading_colon", &self.leading_colon);
-+ formatter.field("segments", &self.segments);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for PathArguments {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ PathArguments::None => formatter.write_str("None"),
-+ PathArguments::AngleBracketed(v0) => {
-+ let mut formatter = formatter.debug_tuple("AngleBracketed");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ PathArguments::Parenthesized(v0) => {
-+ let mut formatter = formatter.debug_tuple("Parenthesized");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for PathSegment {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PathSegment");
-+ formatter.field("ident", &self.ident);
-+ formatter.field("arguments", &self.arguments);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for PredicateEq {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PredicateEq");
-+ formatter.field("lhs_ty", &self.lhs_ty);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("rhs_ty", &self.rhs_ty);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for PredicateLifetime {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PredicateLifetime");
-+ formatter.field("lifetime", &self.lifetime);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for PredicateType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("PredicateType");
-+ formatter.field("lifetimes", &self.lifetimes);
-+ formatter.field("bounded_ty", &self.bounded_ty);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for QSelf {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("QSelf");
-+ formatter.field("lt_token", &self.lt_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("position", &self.position);
-+ formatter.field("as_token", &self.as_token);
-+ formatter.field("gt_token", &self.gt_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for RangeLimits {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ RangeLimits::HalfOpen(v0) => {
-+ let mut formatter = formatter.debug_tuple("HalfOpen");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ RangeLimits::Closed(v0) => {
-+ let mut formatter = formatter.debug_tuple("Closed");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Receiver {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Receiver");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("reference", &self.reference);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("self_token", &self.self_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for ReturnType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ ReturnType::Default => formatter.write_str("Default"),
-+ ReturnType::Type(v0, v1) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.field(v1);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Signature {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Signature");
-+ formatter.field("constness", &self.constness);
-+ formatter.field("asyncness", &self.asyncness);
-+ formatter.field("unsafety", &self.unsafety);
-+ formatter.field("abi", &self.abi);
-+ formatter.field("fn_token", &self.fn_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("inputs", &self.inputs);
-+ formatter.field("variadic", &self.variadic);
-+ formatter.field("output", &self.output);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for Stmt {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Stmt::Local(v0) => {
-+ let mut formatter = formatter.debug_tuple("Local");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Stmt::Item(v0) => {
-+ let mut formatter = formatter.debug_tuple("Item");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Stmt::Expr(v0) => {
-+ let mut formatter = formatter.debug_tuple("Expr");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Stmt::Semi(v0, v1) => {
-+ let mut formatter = formatter.debug_tuple("Semi");
-+ formatter.field(v0);
-+ formatter.field(v1);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TraitBound {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TraitBound");
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("modifier", &self.modifier);
-+ formatter.field("lifetimes", &self.lifetimes);
-+ formatter.field("path", &self.path);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TraitBoundModifier {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ TraitBoundModifier::None => formatter.write_str("None"),
-+ TraitBoundModifier::Maybe(v0) => {
-+ let mut formatter = formatter.debug_tuple("Maybe");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for TraitItem {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ TraitItem::Const(v0) => {
-+ let mut formatter = formatter.debug_tuple("Const");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ TraitItem::Method(v0) => {
-+ let mut formatter = formatter.debug_tuple("Method");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ TraitItem::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ TraitItem::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ TraitItem::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for TraitItemConst {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TraitItemConst");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("const_token", &self.const_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("ty", &self.ty);
-+ formatter.field("default", &self.default);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for TraitItemMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TraitItemMacro");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("mac", &self.mac);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for TraitItemMethod {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TraitItemMethod");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("sig", &self.sig);
-+ formatter.field("default", &self.default);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for TraitItemType {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TraitItemType");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("type_token", &self.type_token);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("generics", &self.generics);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.field("default", &self.default);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Type {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Type::Array(v0) => {
-+ let mut formatter = formatter.debug_tuple("Array");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::BareFn(v0) => {
-+ let mut formatter = formatter.debug_tuple("BareFn");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Group(v0) => {
-+ let mut formatter = formatter.debug_tuple("Group");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::ImplTrait(v0) => {
-+ let mut formatter = formatter.debug_tuple("ImplTrait");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Infer(v0) => {
-+ let mut formatter = formatter.debug_tuple("Infer");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Macro(v0) => {
-+ let mut formatter = formatter.debug_tuple("Macro");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Never(v0) => {
-+ let mut formatter = formatter.debug_tuple("Never");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Paren(v0) => {
-+ let mut formatter = formatter.debug_tuple("Paren");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Path(v0) => {
-+ let mut formatter = formatter.debug_tuple("Path");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Ptr(v0) => {
-+ let mut formatter = formatter.debug_tuple("Ptr");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Reference(v0) => {
-+ let mut formatter = formatter.debug_tuple("Reference");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Slice(v0) => {
-+ let mut formatter = formatter.debug_tuple("Slice");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::TraitObject(v0) => {
-+ let mut formatter = formatter.debug_tuple("TraitObject");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Tuple(v0) => {
-+ let mut formatter = formatter.debug_tuple("Tuple");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Type::Verbatim(v0) => {
-+ let mut formatter = formatter.debug_tuple("Verbatim");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeArray {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeArray");
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("elem", &self.elem);
-+ formatter.field("semi_token", &self.semi_token);
-+ formatter.field("len", &self.len);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeBareFn {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeBareFn");
-+ formatter.field("lifetimes", &self.lifetimes);
-+ formatter.field("unsafety", &self.unsafety);
-+ formatter.field("abi", &self.abi);
-+ formatter.field("fn_token", &self.fn_token);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("inputs", &self.inputs);
-+ formatter.field("variadic", &self.variadic);
-+ formatter.field("output", &self.output);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeGroup {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeGroup");
-+ formatter.field("group_token", &self.group_token);
-+ formatter.field("elem", &self.elem);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeImplTrait {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeImplTrait");
-+ formatter.field("impl_token", &self.impl_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeInfer {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeInfer");
-+ formatter.field("underscore_token", &self.underscore_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeMacro {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeMacro");
-+ formatter.field("mac", &self.mac);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeNever {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeNever");
-+ formatter.field("bang_token", &self.bang_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeParam {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeParam");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon_token", &self.colon_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.field("eq_token", &self.eq_token);
-+ formatter.field("default", &self.default);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeParamBound {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ TypeParamBound::Trait(v0) => {
-+ let mut formatter = formatter.debug_tuple("Trait");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ TypeParamBound::Lifetime(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lifetime");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeParen {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeParen");
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("elem", &self.elem);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypePath {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypePath");
-+ formatter.field("qself", &self.qself);
-+ formatter.field("path", &self.path);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypePtr {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypePtr");
-+ formatter.field("star_token", &self.star_token);
-+ formatter.field("const_token", &self.const_token);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("elem", &self.elem);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeReference {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeReference");
-+ formatter.field("and_token", &self.and_token);
-+ formatter.field("lifetime", &self.lifetime);
-+ formatter.field("mutability", &self.mutability);
-+ formatter.field("elem", &self.elem);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeSlice {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeSlice");
-+ formatter.field("bracket_token", &self.bracket_token);
-+ formatter.field("elem", &self.elem);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeTraitObject {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeTraitObject");
-+ formatter.field("dyn_token", &self.dyn_token);
-+ formatter.field("bounds", &self.bounds);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for TypeTuple {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("TypeTuple");
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("elems", &self.elems);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for UnOp {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ UnOp::Deref(v0) => {
-+ let mut formatter = formatter.debug_tuple("Deref");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UnOp::Not(v0) => {
-+ let mut formatter = formatter.debug_tuple("Not");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UnOp::Neg(v0) => {
-+ let mut formatter = formatter.debug_tuple("Neg");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UseGlob {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("UseGlob");
-+ formatter.field("star_token", &self.star_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UseGroup {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("UseGroup");
-+ formatter.field("brace_token", &self.brace_token);
-+ formatter.field("items", &self.items);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UseName {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("UseName");
-+ formatter.field("ident", &self.ident);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UsePath {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("UsePath");
-+ formatter.field("ident", &self.ident);
-+ formatter.field("colon2_token", &self.colon2_token);
-+ formatter.field("tree", &self.tree);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UseRename {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("UseRename");
-+ formatter.field("ident", &self.ident);
-+ formatter.field("as_token", &self.as_token);
-+ formatter.field("rename", &self.rename);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Debug for UseTree {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ UseTree::Path(v0) => {
-+ let mut formatter = formatter.debug_tuple("Path");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UseTree::Name(v0) => {
-+ let mut formatter = formatter.debug_tuple("Name");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UseTree::Rename(v0) => {
-+ let mut formatter = formatter.debug_tuple("Rename");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UseTree::Glob(v0) => {
-+ let mut formatter = formatter.debug_tuple("Glob");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ UseTree::Group(v0) => {
-+ let mut formatter = formatter.debug_tuple("Group");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Variadic {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Variadic");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("dots", &self.dots);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Variant {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("Variant");
-+ formatter.field("attrs", &self.attrs);
-+ formatter.field("ident", &self.ident);
-+ formatter.field("fields", &self.fields);
-+ formatter.field("discriminant", &self.discriminant);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for VisCrate {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("VisCrate");
-+ formatter.field("crate_token", &self.crate_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for VisPublic {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("VisPublic");
-+ formatter.field("pub_token", &self.pub_token);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for VisRestricted {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("VisRestricted");
-+ formatter.field("pub_token", &self.pub_token);
-+ formatter.field("paren_token", &self.paren_token);
-+ formatter.field("in_token", &self.in_token);
-+ formatter.field("path", &self.path);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for Visibility {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ Visibility::Public(v0) => {
-+ let mut formatter = formatter.debug_tuple("Public");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Visibility::Crate(v0) => {
-+ let mut formatter = formatter.debug_tuple("Crate");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Visibility::Restricted(v0) => {
-+ let mut formatter = formatter.debug_tuple("Restricted");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ Visibility::Inherited => formatter.write_str("Inherited"),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for WhereClause {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ let mut formatter = formatter.debug_struct("WhereClause");
-+ formatter.field("where_token", &self.where_token);
-+ formatter.field("predicates", &self.predicates);
-+ formatter.finish()
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Debug for WherePredicate {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ match self {
-+ WherePredicate::Type(v0) => {
-+ let mut formatter = formatter.debug_tuple("Type");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ WherePredicate::Lifetime(v0) => {
-+ let mut formatter = formatter.debug_tuple("Lifetime");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ WherePredicate::Eq(v0) => {
-+ let mut formatter = formatter.debug_tuple("Eq");
-+ formatter.field(v0);
-+ formatter.finish()
-+ }
-+ }
-+ }
-+}
-diff --git a/third_party/rust/syn/src/gen/eq.rs b/third_party/rust/syn/src/gen/eq.rs
-new file mode 100644
-index 0000000000..15b2bcbbde
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/gen/eq.rs
-@@ -0,0 +1,1930 @@
-+// This file is @generated by syn-internal-codegen.
-+// It is not intended for manual editing.
-+
-+#[cfg(any(feature = "derive", feature = "full"))]
-+use crate::tt::TokenStreamHelper;
-+use crate::*;
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Abi {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Abi {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.name == other.name
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for AngleBracketedGenericArguments {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for AngleBracketedGenericArguments {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.colon2_token == other.colon2_token && self.args == other.args
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Arm {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Arm {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.pat == other.pat
-+ && self.guard == other.guard
-+ && self.body == other.body
-+ && self.comma == other.comma
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for AttrStyle {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for AttrStyle {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (AttrStyle::Outer, AttrStyle::Outer) => true,
-+ (AttrStyle::Inner(_), AttrStyle::Inner(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Attribute {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Attribute {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.style == other.style
-+ && self.path == other.path
-+ && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for BareFnArg {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for BareFnArg {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.name == other.name && self.ty == other.ty
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for BinOp {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for BinOp {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (BinOp::Add(_), BinOp::Add(_)) => true,
-+ (BinOp::Sub(_), BinOp::Sub(_)) => true,
-+ (BinOp::Mul(_), BinOp::Mul(_)) => true,
-+ (BinOp::Div(_), BinOp::Div(_)) => true,
-+ (BinOp::Rem(_), BinOp::Rem(_)) => true,
-+ (BinOp::And(_), BinOp::And(_)) => true,
-+ (BinOp::Or(_), BinOp::Or(_)) => true,
-+ (BinOp::BitXor(_), BinOp::BitXor(_)) => true,
-+ (BinOp::BitAnd(_), BinOp::BitAnd(_)) => true,
-+ (BinOp::BitOr(_), BinOp::BitOr(_)) => true,
-+ (BinOp::Shl(_), BinOp::Shl(_)) => true,
-+ (BinOp::Shr(_), BinOp::Shr(_)) => true,
-+ (BinOp::Eq(_), BinOp::Eq(_)) => true,
-+ (BinOp::Lt(_), BinOp::Lt(_)) => true,
-+ (BinOp::Le(_), BinOp::Le(_)) => true,
-+ (BinOp::Ne(_), BinOp::Ne(_)) => true,
-+ (BinOp::Ge(_), BinOp::Ge(_)) => true,
-+ (BinOp::Gt(_), BinOp::Gt(_)) => true,
-+ (BinOp::AddEq(_), BinOp::AddEq(_)) => true,
-+ (BinOp::SubEq(_), BinOp::SubEq(_)) => true,
-+ (BinOp::MulEq(_), BinOp::MulEq(_)) => true,
-+ (BinOp::DivEq(_), BinOp::DivEq(_)) => true,
-+ (BinOp::RemEq(_), BinOp::RemEq(_)) => true,
-+ (BinOp::BitXorEq(_), BinOp::BitXorEq(_)) => true,
-+ (BinOp::BitAndEq(_), BinOp::BitAndEq(_)) => true,
-+ (BinOp::BitOrEq(_), BinOp::BitOrEq(_)) => true,
-+ (BinOp::ShlEq(_), BinOp::ShlEq(_)) => true,
-+ (BinOp::ShrEq(_), BinOp::ShrEq(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Binding {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Binding {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Block {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Block {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.stmts == other.stmts
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for BoundLifetimes {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for BoundLifetimes {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lifetimes == other.lifetimes
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ConstParam {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ConstParam {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ && self.eq_token == other.eq_token
-+ && self.default == other.default
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Constraint {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Constraint {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident && self.bounds == other.bounds
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Eq for Data {}
-+#[cfg(feature = "derive")]
-+impl PartialEq for Data {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Data::Struct(self0), Data::Struct(other0)) => self0 == other0,
-+ (Data::Enum(self0), Data::Enum(other0)) => self0 == other0,
-+ (Data::Union(self0), Data::Union(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Eq for DataEnum {}
-+#[cfg(feature = "derive")]
-+impl PartialEq for DataEnum {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.variants == other.variants
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Eq for DataStruct {}
-+#[cfg(feature = "derive")]
-+impl PartialEq for DataStruct {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.fields == other.fields && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Eq for DataUnion {}
-+#[cfg(feature = "derive")]
-+impl PartialEq for DataUnion {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.fields == other.fields
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Eq for DeriveInput {}
-+#[cfg(feature = "derive")]
-+impl PartialEq for DeriveInput {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.data == other.data
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Expr {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Expr {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ #[cfg(feature = "full")]
-+ (Expr::Array(self0), Expr::Array(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Assign(self0), Expr::Assign(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::AssignOp(self0), Expr::AssignOp(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Async(self0), Expr::Async(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Await(self0), Expr::Await(other0)) => self0 == other0,
-+ (Expr::Binary(self0), Expr::Binary(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Block(self0), Expr::Block(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Box(self0), Expr::Box(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Break(self0), Expr::Break(other0)) => self0 == other0,
-+ (Expr::Call(self0), Expr::Call(other0)) => self0 == other0,
-+ (Expr::Cast(self0), Expr::Cast(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Closure(self0), Expr::Closure(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Continue(self0), Expr::Continue(other0)) => self0 == other0,
-+ (Expr::Field(self0), Expr::Field(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::ForLoop(self0), Expr::ForLoop(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Group(self0), Expr::Group(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::If(self0), Expr::If(other0)) => self0 == other0,
-+ (Expr::Index(self0), Expr::Index(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Let(self0), Expr::Let(other0)) => self0 == other0,
-+ (Expr::Lit(self0), Expr::Lit(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Loop(self0), Expr::Loop(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Macro(self0), Expr::Macro(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Match(self0), Expr::Match(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::MethodCall(self0), Expr::MethodCall(other0)) => self0 == other0,
-+ (Expr::Paren(self0), Expr::Paren(other0)) => self0 == other0,
-+ (Expr::Path(self0), Expr::Path(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Range(self0), Expr::Range(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Reference(self0), Expr::Reference(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Repeat(self0), Expr::Repeat(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Return(self0), Expr::Return(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Struct(self0), Expr::Struct(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Try(self0), Expr::Try(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::TryBlock(self0), Expr::TryBlock(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Tuple(self0), Expr::Tuple(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Type(self0), Expr::Type(other0)) => self0 == other0,
-+ (Expr::Unary(self0), Expr::Unary(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Unsafe(self0), Expr::Unsafe(other0)) => self0 == other0,
-+ (Expr::Verbatim(self0), Expr::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ #[cfg(feature = "full")]
-+ (Expr::While(self0), Expr::While(other0)) => self0 == other0,
-+ #[cfg(feature = "full")]
-+ (Expr::Yield(self0), Expr::Yield(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprArray {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprArray {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.elems == other.elems
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprAssign {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprAssign {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.left == other.left && self.right == other.right
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprAssignOp {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprAssignOp {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.left == other.left
-+ && self.op == other.op
-+ && self.right == other.right
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprAsync {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprAsync {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.capture == other.capture && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprAwait {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprAwait {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.base == other.base
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprBinary {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprBinary {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.left == other.left
-+ && self.op == other.op
-+ && self.right == other.right
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprBlock {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprBlock {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.label == other.label && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprBox {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprBox {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprBreak {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprBreak {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.label == other.label && self.expr == other.expr
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprCall {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprCall {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.func == other.func && self.args == other.args
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprCast {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprCast {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprClosure {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprClosure {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.asyncness == other.asyncness
-+ && self.movability == other.movability
-+ && self.capture == other.capture
-+ && self.inputs == other.inputs
-+ && self.output == other.output
-+ && self.body == other.body
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprContinue {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprContinue {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.label == other.label
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprField {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprField {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.base == other.base && self.member == other.member
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprForLoop {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprForLoop {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.label == other.label
-+ && self.pat == other.pat
-+ && self.expr == other.expr
-+ && self.body == other.body
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprGroup {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprGroup {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprIf {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprIf {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.cond == other.cond
-+ && self.then_branch == other.then_branch
-+ && self.else_branch == other.else_branch
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprIndex {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprIndex {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr && self.index == other.index
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprLet {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprLet {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.pat == other.pat && self.expr == other.expr
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprLit {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprLit {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.lit == other.lit
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprLoop {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprLoop {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.label == other.label && self.body == other.body
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mac == other.mac
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprMatch {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprMatch {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr && self.arms == other.arms
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprMethodCall {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprMethodCall {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.receiver == other.receiver
-+ && self.method == other.method
-+ && self.turbofish == other.turbofish
-+ && self.args == other.args
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprParen {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprParen {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprPath {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprPath {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprRange {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprRange {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.from == other.from
-+ && self.limits == other.limits
-+ && self.to == other.to
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprReference {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprReference {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mutability == other.mutability && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprRepeat {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprRepeat {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr && self.len == other.len
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprReturn {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprReturn {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprStruct {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprStruct {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.path == other.path
-+ && self.fields == other.fields
-+ && self.dot2_token == other.dot2_token
-+ && self.rest == other.rest
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprTry {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprTry {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprTryBlock {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprTryBlock {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprTuple {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprTuple {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.elems == other.elems
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr && self.ty == other.ty
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ExprUnary {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ExprUnary {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.op == other.op && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprUnsafe {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprUnsafe {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprWhile {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprWhile {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.label == other.label
-+ && self.cond == other.cond
-+ && self.body == other.body
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ExprYield {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ExprYield {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Field {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Field {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.colon_token == other.colon_token
-+ && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for FieldPat {}
-+#[cfg(feature = "full")]
-+impl PartialEq for FieldPat {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.member == other.member
-+ && self.colon_token == other.colon_token
-+ && self.pat == other.pat
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for FieldValue {}
-+#[cfg(feature = "full")]
-+impl PartialEq for FieldValue {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.member == other.member
-+ && self.colon_token == other.colon_token
-+ && self.expr == other.expr
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Fields {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Fields {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Fields::Named(self0), Fields::Named(other0)) => self0 == other0,
-+ (Fields::Unnamed(self0), Fields::Unnamed(other0)) => self0 == other0,
-+ (Fields::Unit, Fields::Unit) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for FieldsNamed {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for FieldsNamed {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.named == other.named
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for FieldsUnnamed {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for FieldsUnnamed {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.unnamed == other.unnamed
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for File {}
-+#[cfg(feature = "full")]
-+impl PartialEq for File {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.shebang == other.shebang && self.attrs == other.attrs && self.items == other.items
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for FnArg {}
-+#[cfg(feature = "full")]
-+impl PartialEq for FnArg {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (FnArg::Receiver(self0), FnArg::Receiver(other0)) => self0 == other0,
-+ (FnArg::Typed(self0), FnArg::Typed(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ForeignItem {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ForeignItem {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (ForeignItem::Fn(self0), ForeignItem::Fn(other0)) => self0 == other0,
-+ (ForeignItem::Static(self0), ForeignItem::Static(other0)) => self0 == other0,
-+ (ForeignItem::Type(self0), ForeignItem::Type(other0)) => self0 == other0,
-+ (ForeignItem::Macro(self0), ForeignItem::Macro(other0)) => self0 == other0,
-+ (ForeignItem::Verbatim(self0), ForeignItem::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ForeignItemFn {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ForeignItemFn {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.vis == other.vis && self.sig == other.sig
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ForeignItemMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ForeignItemMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mac == other.mac && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ForeignItemStatic {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ForeignItemStatic {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.mutability == other.mutability
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ForeignItemType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ForeignItemType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for GenericArgument {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for GenericArgument {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (GenericArgument::Lifetime(self0), GenericArgument::Lifetime(other0)) => {
-+ self0 == other0
-+ }
-+ (GenericArgument::Type(self0), GenericArgument::Type(other0)) => self0 == other0,
-+ (GenericArgument::Binding(self0), GenericArgument::Binding(other0)) => self0 == other0,
-+ (GenericArgument::Constraint(self0), GenericArgument::Constraint(other0)) => {
-+ self0 == other0
-+ }
-+ (GenericArgument::Const(self0), GenericArgument::Const(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for GenericMethodArgument {}
-+#[cfg(feature = "full")]
-+impl PartialEq for GenericMethodArgument {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (GenericMethodArgument::Type(self0), GenericMethodArgument::Type(other0)) => {
-+ self0 == other0
-+ }
-+ (GenericMethodArgument::Const(self0), GenericMethodArgument::Const(other0)) => {
-+ self0 == other0
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for GenericParam {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for GenericParam {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (GenericParam::Type(self0), GenericParam::Type(other0)) => self0 == other0,
-+ (GenericParam::Lifetime(self0), GenericParam::Lifetime(other0)) => self0 == other0,
-+ (GenericParam::Const(self0), GenericParam::Const(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Generics {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Generics {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lt_token == other.lt_token
-+ && self.params == other.params
-+ && self.gt_token == other.gt_token
-+ && self.where_clause == other.where_clause
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ImplItem {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ImplItem {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (ImplItem::Const(self0), ImplItem::Const(other0)) => self0 == other0,
-+ (ImplItem::Method(self0), ImplItem::Method(other0)) => self0 == other0,
-+ (ImplItem::Type(self0), ImplItem::Type(other0)) => self0 == other0,
-+ (ImplItem::Macro(self0), ImplItem::Macro(other0)) => self0 == other0,
-+ (ImplItem::Verbatim(self0), ImplItem::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ImplItemConst {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ImplItemConst {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.defaultness == other.defaultness
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ImplItemMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ImplItemMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mac == other.mac && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ImplItemMethod {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ImplItemMethod {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.defaultness == other.defaultness
-+ && self.sig == other.sig
-+ && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ImplItemType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ImplItemType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.defaultness == other.defaultness
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Item {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Item {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Item::Const(self0), Item::Const(other0)) => self0 == other0,
-+ (Item::Enum(self0), Item::Enum(other0)) => self0 == other0,
-+ (Item::ExternCrate(self0), Item::ExternCrate(other0)) => self0 == other0,
-+ (Item::Fn(self0), Item::Fn(other0)) => self0 == other0,
-+ (Item::ForeignMod(self0), Item::ForeignMod(other0)) => self0 == other0,
-+ (Item::Impl(self0), Item::Impl(other0)) => self0 == other0,
-+ (Item::Macro(self0), Item::Macro(other0)) => self0 == other0,
-+ (Item::Macro2(self0), Item::Macro2(other0)) => self0 == other0,
-+ (Item::Mod(self0), Item::Mod(other0)) => self0 == other0,
-+ (Item::Static(self0), Item::Static(other0)) => self0 == other0,
-+ (Item::Struct(self0), Item::Struct(other0)) => self0 == other0,
-+ (Item::Trait(self0), Item::Trait(other0)) => self0 == other0,
-+ (Item::TraitAlias(self0), Item::TraitAlias(other0)) => self0 == other0,
-+ (Item::Type(self0), Item::Type(other0)) => self0 == other0,
-+ (Item::Union(self0), Item::Union(other0)) => self0 == other0,
-+ (Item::Use(self0), Item::Use(other0)) => self0 == other0,
-+ (Item::Verbatim(self0), Item::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemConst {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemConst {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemEnum {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemEnum {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.variants == other.variants
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemExternCrate {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemExternCrate {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.rename == other.rename
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemFn {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemFn {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.sig == other.sig
-+ && self.block == other.block
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemForeignMod {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemForeignMod {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.abi == other.abi && self.items == other.items
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemImpl {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemImpl {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.defaultness == other.defaultness
-+ && self.unsafety == other.unsafety
-+ && self.generics == other.generics
-+ && self.trait_ == other.trait_
-+ && self.self_ty == other.self_ty
-+ && self.items == other.items
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.mac == other.mac
-+ && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemMacro2 {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemMacro2 {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && TokenStreamHelper(&self.rules) == TokenStreamHelper(&other.rules)
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemMod {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemMod {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.content == other.content
-+ && self.semi == other.semi
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemStatic {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemStatic {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.mutability == other.mutability
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemStruct {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemStruct {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.fields == other.fields
-+ && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemTrait {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemTrait {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.unsafety == other.unsafety
-+ && self.auto_token == other.auto_token
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.colon_token == other.colon_token
-+ && self.supertraits == other.supertraits
-+ && self.items == other.items
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemTraitAlias {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemTraitAlias {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.bounds == other.bounds
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemUnion {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemUnion {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.fields == other.fields
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for ItemUse {}
-+#[cfg(feature = "full")]
-+impl PartialEq for ItemUse {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.vis == other.vis
-+ && self.leading_colon == other.leading_colon
-+ && self.tree == other.tree
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Label {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Label {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.name == other.name
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for LifetimeDef {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for LifetimeDef {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.lifetime == other.lifetime
-+ && self.colon_token == other.colon_token
-+ && self.bounds == other.bounds
-+ }
-+}
-+impl Eq for Lit {}
-+impl PartialEq for Lit {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Lit::Str(self0), Lit::Str(other0)) => self0 == other0,
-+ (Lit::ByteStr(self0), Lit::ByteStr(other0)) => self0 == other0,
-+ (Lit::Byte(self0), Lit::Byte(other0)) => self0 == other0,
-+ (Lit::Char(self0), Lit::Char(other0)) => self0 == other0,
-+ (Lit::Int(self0), Lit::Int(other0)) => self0 == other0,
-+ (Lit::Float(self0), Lit::Float(other0)) => self0 == other0,
-+ (Lit::Bool(self0), Lit::Bool(other0)) => self0 == other0,
-+ (Lit::Verbatim(self0), Lit::Verbatim(other0)) => {
-+ self0.to_string() == other0.to_string()
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+impl Eq for LitBool {}
-+impl PartialEq for LitBool {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.value == other.value
-+ }
-+}
-+impl Eq for LitByte {}
-+impl Eq for LitByteStr {}
-+impl Eq for LitChar {}
-+impl Eq for LitFloat {}
-+impl Eq for LitInt {}
-+impl Eq for LitStr {}
-+#[cfg(feature = "full")]
-+impl Eq for Local {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Local {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.pat == other.pat && self.init == other.init
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Macro {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Macro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.path == other.path
-+ && self.delimiter == other.delimiter
-+ && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for MacroDelimiter {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for MacroDelimiter {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (MacroDelimiter::Paren(_), MacroDelimiter::Paren(_)) => true,
-+ (MacroDelimiter::Brace(_), MacroDelimiter::Brace(_)) => true,
-+ (MacroDelimiter::Bracket(_), MacroDelimiter::Bracket(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Meta {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Meta {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Meta::Path(self0), Meta::Path(other0)) => self0 == other0,
-+ (Meta::List(self0), Meta::List(other0)) => self0 == other0,
-+ (Meta::NameValue(self0), Meta::NameValue(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for MetaList {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for MetaList {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.path == other.path && self.nested == other.nested
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for MetaNameValue {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for MetaNameValue {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.path == other.path && self.lit == other.lit
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for MethodTurbofish {}
-+#[cfg(feature = "full")]
-+impl PartialEq for MethodTurbofish {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.args == other.args
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for NestedMeta {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for NestedMeta {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (NestedMeta::Meta(self0), NestedMeta::Meta(other0)) => self0 == other0,
-+ (NestedMeta::Lit(self0), NestedMeta::Lit(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ParenthesizedGenericArguments {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ParenthesizedGenericArguments {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.inputs == other.inputs && self.output == other.output
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Pat {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Pat {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Pat::Box(self0), Pat::Box(other0)) => self0 == other0,
-+ (Pat::Ident(self0), Pat::Ident(other0)) => self0 == other0,
-+ (Pat::Lit(self0), Pat::Lit(other0)) => self0 == other0,
-+ (Pat::Macro(self0), Pat::Macro(other0)) => self0 == other0,
-+ (Pat::Or(self0), Pat::Or(other0)) => self0 == other0,
-+ (Pat::Path(self0), Pat::Path(other0)) => self0 == other0,
-+ (Pat::Range(self0), Pat::Range(other0)) => self0 == other0,
-+ (Pat::Reference(self0), Pat::Reference(other0)) => self0 == other0,
-+ (Pat::Rest(self0), Pat::Rest(other0)) => self0 == other0,
-+ (Pat::Slice(self0), Pat::Slice(other0)) => self0 == other0,
-+ (Pat::Struct(self0), Pat::Struct(other0)) => self0 == other0,
-+ (Pat::Tuple(self0), Pat::Tuple(other0)) => self0 == other0,
-+ (Pat::TupleStruct(self0), Pat::TupleStruct(other0)) => self0 == other0,
-+ (Pat::Type(self0), Pat::Type(other0)) => self0 == other0,
-+ (Pat::Verbatim(self0), Pat::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ (Pat::Wild(self0), Pat::Wild(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatBox {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatBox {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.pat == other.pat
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatIdent {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatIdent {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.by_ref == other.by_ref
-+ && self.mutability == other.mutability
-+ && self.ident == other.ident
-+ && self.subpat == other.subpat
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatLit {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatLit {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.expr == other.expr
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mac == other.mac
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatOr {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatOr {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.leading_vert == other.leading_vert
-+ && self.cases == other.cases
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatPath {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatPath {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatRange {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatRange {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.lo == other.lo
-+ && self.limits == other.limits
-+ && self.hi == other.hi
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatReference {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatReference {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mutability == other.mutability && self.pat == other.pat
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatRest {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatRest {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatSlice {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatSlice {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.elems == other.elems
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatStruct {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatStruct {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.path == other.path
-+ && self.fields == other.fields
-+ && self.dot2_token == other.dot2_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatTuple {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatTuple {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.elems == other.elems
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatTupleStruct {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatTupleStruct {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.path == other.path && self.pat == other.pat
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.pat == other.pat && self.ty == other.ty
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for PatWild {}
-+#[cfg(feature = "full")]
-+impl PartialEq for PatWild {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Path {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Path {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.leading_colon == other.leading_colon && self.segments == other.segments
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for PathArguments {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for PathArguments {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (PathArguments::None, PathArguments::None) => true,
-+ (PathArguments::AngleBracketed(self0), PathArguments::AngleBracketed(other0)) => {
-+ self0 == other0
-+ }
-+ (PathArguments::Parenthesized(self0), PathArguments::Parenthesized(other0)) => {
-+ self0 == other0
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for PathSegment {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for PathSegment {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident && self.arguments == other.arguments
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for PredicateEq {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for PredicateEq {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lhs_ty == other.lhs_ty && self.rhs_ty == other.rhs_ty
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for PredicateLifetime {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for PredicateLifetime {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lifetime == other.lifetime && self.bounds == other.bounds
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for PredicateType {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for PredicateType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lifetimes == other.lifetimes
-+ && self.bounded_ty == other.bounded_ty
-+ && self.bounds == other.bounds
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for QSelf {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for QSelf {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ty == other.ty && self.position == other.position && self.as_token == other.as_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for RangeLimits {}
-+#[cfg(feature = "full")]
-+impl PartialEq for RangeLimits {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (RangeLimits::HalfOpen(_), RangeLimits::HalfOpen(_)) => true,
-+ (RangeLimits::Closed(_), RangeLimits::Closed(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Receiver {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Receiver {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.reference == other.reference
-+ && self.mutability == other.mutability
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for ReturnType {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for ReturnType {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (ReturnType::Default, ReturnType::Default) => true,
-+ (ReturnType::Type(_, self1), ReturnType::Type(_, other1)) => self1 == other1,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Signature {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Signature {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.constness == other.constness
-+ && self.asyncness == other.asyncness
-+ && self.unsafety == other.unsafety
-+ && self.abi == other.abi
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.inputs == other.inputs
-+ && self.variadic == other.variadic
-+ && self.output == other.output
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for Stmt {}
-+#[cfg(feature = "full")]
-+impl PartialEq for Stmt {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Stmt::Local(self0), Stmt::Local(other0)) => self0 == other0,
-+ (Stmt::Item(self0), Stmt::Item(other0)) => self0 == other0,
-+ (Stmt::Expr(self0), Stmt::Expr(other0)) => self0 == other0,
-+ (Stmt::Semi(self0, _), Stmt::Semi(other0, _)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TraitBound {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TraitBound {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.paren_token == other.paren_token
-+ && self.modifier == other.modifier
-+ && self.lifetimes == other.lifetimes
-+ && self.path == other.path
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TraitBoundModifier {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TraitBoundModifier {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (TraitBoundModifier::None, TraitBoundModifier::None) => true,
-+ (TraitBoundModifier::Maybe(_), TraitBoundModifier::Maybe(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for TraitItem {}
-+#[cfg(feature = "full")]
-+impl PartialEq for TraitItem {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (TraitItem::Const(self0), TraitItem::Const(other0)) => self0 == other0,
-+ (TraitItem::Method(self0), TraitItem::Method(other0)) => self0 == other0,
-+ (TraitItem::Type(self0), TraitItem::Type(other0)) => self0 == other0,
-+ (TraitItem::Macro(self0), TraitItem::Macro(other0)) => self0 == other0,
-+ (TraitItem::Verbatim(self0), TraitItem::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for TraitItemConst {}
-+#[cfg(feature = "full")]
-+impl PartialEq for TraitItemConst {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.ty == other.ty
-+ && self.default == other.default
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for TraitItemMacro {}
-+#[cfg(feature = "full")]
-+impl PartialEq for TraitItemMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs && self.mac == other.mac && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for TraitItemMethod {}
-+#[cfg(feature = "full")]
-+impl PartialEq for TraitItemMethod {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.sig == other.sig
-+ && self.default == other.default
-+ && self.semi_token == other.semi_token
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for TraitItemType {}
-+#[cfg(feature = "full")]
-+impl PartialEq for TraitItemType {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.generics == other.generics
-+ && self.colon_token == other.colon_token
-+ && self.bounds == other.bounds
-+ && self.default == other.default
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Type {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Type {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Type::Array(self0), Type::Array(other0)) => self0 == other0,
-+ (Type::BareFn(self0), Type::BareFn(other0)) => self0 == other0,
-+ (Type::Group(self0), Type::Group(other0)) => self0 == other0,
-+ (Type::ImplTrait(self0), Type::ImplTrait(other0)) => self0 == other0,
-+ (Type::Infer(self0), Type::Infer(other0)) => self0 == other0,
-+ (Type::Macro(self0), Type::Macro(other0)) => self0 == other0,
-+ (Type::Never(self0), Type::Never(other0)) => self0 == other0,
-+ (Type::Paren(self0), Type::Paren(other0)) => self0 == other0,
-+ (Type::Path(self0), Type::Path(other0)) => self0 == other0,
-+ (Type::Ptr(self0), Type::Ptr(other0)) => self0 == other0,
-+ (Type::Reference(self0), Type::Reference(other0)) => self0 == other0,
-+ (Type::Slice(self0), Type::Slice(other0)) => self0 == other0,
-+ (Type::TraitObject(self0), Type::TraitObject(other0)) => self0 == other0,
-+ (Type::Tuple(self0), Type::Tuple(other0)) => self0 == other0,
-+ (Type::Verbatim(self0), Type::Verbatim(other0)) => {
-+ TokenStreamHelper(self0) == TokenStreamHelper(other0)
-+ }
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeArray {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeArray {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.elem == other.elem && self.len == other.len
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeBareFn {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeBareFn {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lifetimes == other.lifetimes
-+ && self.unsafety == other.unsafety
-+ && self.abi == other.abi
-+ && self.inputs == other.inputs
-+ && self.variadic == other.variadic
-+ && self.output == other.output
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeGroup {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeGroup {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.elem == other.elem
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeImplTrait {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeImplTrait {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.bounds == other.bounds
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeInfer {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeInfer {
-+ fn eq(&self, _other: &Self) -> bool {
-+ true
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeMacro {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeMacro {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.mac == other.mac
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeNever {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeNever {
-+ fn eq(&self, _other: &Self) -> bool {
-+ true
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeParam {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeParam {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.colon_token == other.colon_token
-+ && self.bounds == other.bounds
-+ && self.eq_token == other.eq_token
-+ && self.default == other.default
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeParamBound {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeParamBound {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (TypeParamBound::Trait(self0), TypeParamBound::Trait(other0)) => self0 == other0,
-+ (TypeParamBound::Lifetime(self0), TypeParamBound::Lifetime(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeParen {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeParen {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.elem == other.elem
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypePath {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypePath {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.qself == other.qself && self.path == other.path
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypePtr {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypePtr {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.const_token == other.const_token
-+ && self.mutability == other.mutability
-+ && self.elem == other.elem
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeReference {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeReference {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.lifetime == other.lifetime
-+ && self.mutability == other.mutability
-+ && self.elem == other.elem
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeSlice {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeSlice {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.elem == other.elem
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeTraitObject {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeTraitObject {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.dyn_token == other.dyn_token && self.bounds == other.bounds
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for TypeTuple {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for TypeTuple {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.elems == other.elems
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for UnOp {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for UnOp {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (UnOp::Deref(_), UnOp::Deref(_)) => true,
-+ (UnOp::Not(_), UnOp::Not(_)) => true,
-+ (UnOp::Neg(_), UnOp::Neg(_)) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UseGlob {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UseGlob {
-+ fn eq(&self, _other: &Self) -> bool {
-+ true
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UseGroup {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UseGroup {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.items == other.items
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UseName {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UseName {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UsePath {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UsePath {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident && self.tree == other.tree
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UseRename {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UseRename {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.ident == other.ident && self.rename == other.rename
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Eq for UseTree {}
-+#[cfg(feature = "full")]
-+impl PartialEq for UseTree {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (UseTree::Path(self0), UseTree::Path(other0)) => self0 == other0,
-+ (UseTree::Name(self0), UseTree::Name(other0)) => self0 == other0,
-+ (UseTree::Rename(self0), UseTree::Rename(other0)) => self0 == other0,
-+ (UseTree::Glob(self0), UseTree::Glob(other0)) => self0 == other0,
-+ (UseTree::Group(self0), UseTree::Group(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Variadic {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Variadic {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Variant {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Variant {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.attrs == other.attrs
-+ && self.ident == other.ident
-+ && self.fields == other.fields
-+ && self.discriminant == other.discriminant
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for VisCrate {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for VisCrate {
-+ fn eq(&self, _other: &Self) -> bool {
-+ true
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for VisPublic {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for VisPublic {
-+ fn eq(&self, _other: &Self) -> bool {
-+ true
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for VisRestricted {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for VisRestricted {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.in_token == other.in_token && self.path == other.path
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for Visibility {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for Visibility {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (Visibility::Public(self0), Visibility::Public(other0)) => self0 == other0,
-+ (Visibility::Crate(self0), Visibility::Crate(other0)) => self0 == other0,
-+ (Visibility::Restricted(self0), Visibility::Restricted(other0)) => self0 == other0,
-+ (Visibility::Inherited, Visibility::Inherited) => true,
-+ _ => false,
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for WhereClause {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for WhereClause {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.predicates == other.predicates
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Eq for WherePredicate {}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl PartialEq for WherePredicate {
-+ fn eq(&self, other: &Self) -> bool {
-+ match (self, other) {
-+ (WherePredicate::Type(self0), WherePredicate::Type(other0)) => self0 == other0,
-+ (WherePredicate::Lifetime(self0), WherePredicate::Lifetime(other0)) => self0 == other0,
-+ (WherePredicate::Eq(self0), WherePredicate::Eq(other0)) => self0 == other0,
-+ _ => false,
-+ }
-+ }
-+}
-diff --git a/third_party/rust/syn/src/gen/fold.rs b/third_party/rust/syn/src/gen/fold.rs
-index f51218b78c..d9dd32a420 100644
---- mozilla-release/third_party/rust/syn/src/gen/fold.rs
-+++ mozilla-release/third_party/rust/syn/src/gen/fold.rs
-@@ -2,6 +2,7 @@
- // It is not intended for manual editing.
-
- #![allow(unreachable_code, unused_variables)]
-+#![allow(clippy::match_wildcard_for_single_variants)]
- #[cfg(any(feature = "full", feature = "derive"))]
- use crate::gen::helper::fold::*;
- #[cfg(any(feature = "full", feature = "derive"))]
-@@ -26,7 +27,7 @@ macro_rules! full {
- ///
- /// [module documentation]: self
- ///
--/// *This trait is available if Syn is built with the `"fold"` feature.*
-+/// *This trait is available only if Syn is built with the `"fold"` feature.*
- pub trait Fold {
- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_abi(&mut self, i: Abi) -> Abi {
-@@ -433,35 +434,27 @@ pub trait Fold {
- fn fold_lifetime_def(&mut self, i: LifetimeDef) -> LifetimeDef {
- fold_lifetime_def(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit(&mut self, i: Lit) -> Lit {
- fold_lit(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_bool(&mut self, i: LitBool) -> LitBool {
- fold_lit_bool(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_byte(&mut self, i: LitByte) -> LitByte {
- fold_lit_byte(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_byte_str(&mut self, i: LitByteStr) -> LitByteStr {
- fold_lit_byte_str(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_char(&mut self, i: LitChar) -> LitChar {
- fold_lit_char(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_float(&mut self, i: LitFloat) -> LitFloat {
- fold_lit_float(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_int(&mut self, i: LitInt) -> LitInt {
- fold_lit_int(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn fold_lit_str(&mut self, i: LitStr) -> LitStr {
- fold_lit_str(self, i)
- }
-@@ -799,10 +792,10 @@ where
- F: Fold + ?Sized,
- {
- AngleBracketedGenericArguments {
-- colon2_token: (node.colon2_token).map(|it| Token ! [ :: ](tokens_helper(f, &it.spans))),
-- lt_token: Token ! [ < ](tokens_helper(f, &node.lt_token.spans)),
-+ colon2_token: (node.colon2_token).map(|it| Token ! [::](tokens_helper(f, &it.spans))),
-+ lt_token: Token ! [<](tokens_helper(f, &node.lt_token.spans)),
- args: FoldHelper::lift(node.args, |it| f.fold_generic_argument(it)),
-- gt_token: Token ! [ > ](tokens_helper(f, &node.gt_token.spans)),
-+ gt_token: Token ! [>](tokens_helper(f, &node.gt_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -819,9 +812,9 @@ where
- Box::new(f.fold_expr(*(it).1)),
- )
- }),
-- fat_arrow_token: Token ! [ => ](tokens_helper(f, &node.fat_arrow_token.spans)),
-+ fat_arrow_token: Token ! [=>](tokens_helper(f, &node.fat_arrow_token.spans)),
- body: Box::new(f.fold_expr(*node.body)),
-- comma: (node.comma).map(|it| Token ! [ , ](tokens_helper(f, &it.spans))),
-+ comma: (node.comma).map(|it| Token ! [,](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -842,7 +835,7 @@ where
- F: Fold + ?Sized,
- {
- Attribute {
-- pound_token: Token ! [ # ](tokens_helper(f, &node.pound_token.spans)),
-+ pound_token: Token ! [#](tokens_helper(f, &node.pound_token.spans)),
- style: f.fold_attr_style(node.style),
- bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)),
- path: f.fold_path(node.path),
-@@ -859,7 +852,7 @@ where
- name: (node.name).map(|it| {
- (
- f.fold_ident((it).0),
-- Token ! [ : ](tokens_helper(f, &(it).1.spans)),
-+ Token ! [:](tokens_helper(f, &(it).1.spans)),
- )
- }),
- ty: f.fold_type(node.ty),
-@@ -871,59 +864,47 @@ where
- F: Fold + ?Sized,
- {
- match node {
-- BinOp::Add(_binding_0) => BinOp::Add(Token ! [ + ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Sub(_binding_0) => BinOp::Sub(Token ! [ - ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Mul(_binding_0) => BinOp::Mul(Token ! [ * ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Div(_binding_0) => BinOp::Div(Token ! [ / ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Rem(_binding_0) => BinOp::Rem(Token ! [ % ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::And(_binding_0) => BinOp::And(Token ! [ && ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Or(_binding_0) => BinOp::Or(Token ! [ || ](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Add(_binding_0) => BinOp::Add(Token ! [+](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Sub(_binding_0) => BinOp::Sub(Token ! [-](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Mul(_binding_0) => BinOp::Mul(Token ! [*](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Div(_binding_0) => BinOp::Div(Token ! [/](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Rem(_binding_0) => BinOp::Rem(Token ! [%](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::And(_binding_0) => BinOp::And(Token ! [&&](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Or(_binding_0) => BinOp::Or(Token ! [||](tokens_helper(f, &_binding_0.spans))),
- BinOp::BitXor(_binding_0) => {
-- BinOp::BitXor(Token ! [ ^ ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::BitXor(Token ! [^](tokens_helper(f, &_binding_0.spans)))
- }
- BinOp::BitAnd(_binding_0) => {
-- BinOp::BitAnd(Token ! [ & ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::BitOr(_binding_0) => {
-- BinOp::BitOr(Token ! [ | ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::Shl(_binding_0) => BinOp::Shl(Token ! [ << ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Shr(_binding_0) => BinOp::Shr(Token ! [ >> ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Eq(_binding_0) => BinOp::Eq(Token ! [ == ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Lt(_binding_0) => BinOp::Lt(Token ! [ < ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Le(_binding_0) => BinOp::Le(Token ! [ <= ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Ne(_binding_0) => BinOp::Ne(Token ! [ != ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Ge(_binding_0) => BinOp::Ge(Token ! [ >= ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::Gt(_binding_0) => BinOp::Gt(Token ! [ > ](tokens_helper(f, &_binding_0.spans))),
-- BinOp::AddEq(_binding_0) => {
-- BinOp::AddEq(Token ! [ += ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::SubEq(_binding_0) => {
-- BinOp::SubEq(Token ! [ -= ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::MulEq(_binding_0) => {
-- BinOp::MulEq(Token ! [ *= ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::DivEq(_binding_0) => {
-- BinOp::DivEq(Token ! [ /= ](tokens_helper(f, &_binding_0.spans)))
-- }
-- BinOp::RemEq(_binding_0) => {
-- BinOp::RemEq(Token ! [ %= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::BitAnd(Token ! [&](tokens_helper(f, &_binding_0.spans)))
- }
-+ BinOp::BitOr(_binding_0) => BinOp::BitOr(Token ! [|](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Shl(_binding_0) => BinOp::Shl(Token ! [<<](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Shr(_binding_0) => BinOp::Shr(Token ! [>>](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Eq(_binding_0) => BinOp::Eq(Token ! [==](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Lt(_binding_0) => BinOp::Lt(Token ! [<](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Le(_binding_0) => BinOp::Le(Token ! [<=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Ne(_binding_0) => BinOp::Ne(Token ! [!=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Ge(_binding_0) => BinOp::Ge(Token ! [>=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::Gt(_binding_0) => BinOp::Gt(Token ! [>](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::AddEq(_binding_0) => BinOp::AddEq(Token ! [+=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::SubEq(_binding_0) => BinOp::SubEq(Token ! [-=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::MulEq(_binding_0) => BinOp::MulEq(Token ! [*=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::DivEq(_binding_0) => BinOp::DivEq(Token ! [/=](tokens_helper(f, &_binding_0.spans))),
-+ BinOp::RemEq(_binding_0) => BinOp::RemEq(Token ! [%=](tokens_helper(f, &_binding_0.spans))),
- BinOp::BitXorEq(_binding_0) => {
-- BinOp::BitXorEq(Token ! [ ^= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::BitXorEq(Token ! [^=](tokens_helper(f, &_binding_0.spans)))
- }
- BinOp::BitAndEq(_binding_0) => {
-- BinOp::BitAndEq(Token ! [ &= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::BitAndEq(Token ! [&=](tokens_helper(f, &_binding_0.spans)))
- }
- BinOp::BitOrEq(_binding_0) => {
-- BinOp::BitOrEq(Token ! [ |= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::BitOrEq(Token ! [|=](tokens_helper(f, &_binding_0.spans)))
- }
- BinOp::ShlEq(_binding_0) => {
-- BinOp::ShlEq(Token ! [ <<= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::ShlEq(Token ! [<<=](tokens_helper(f, &_binding_0.spans)))
- }
- BinOp::ShrEq(_binding_0) => {
-- BinOp::ShrEq(Token ! [ >>= ](tokens_helper(f, &_binding_0.spans)))
-+ BinOp::ShrEq(Token ! [>>=](tokens_helper(f, &_binding_0.spans)))
- }
- }
- }
-@@ -934,7 +915,7 @@ where
- {
- Binding {
- ident: f.fold_ident(node.ident),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- ty: f.fold_type(node.ty),
- }
- }
-@@ -955,9 +936,9 @@ where
- {
- BoundLifetimes {
- for_token: Token![for](tokens_helper(f, &node.for_token.span)),
-- lt_token: Token ! [ < ](tokens_helper(f, &node.lt_token.spans)),
-+ lt_token: Token ! [<](tokens_helper(f, &node.lt_token.spans)),
- lifetimes: FoldHelper::lift(node.lifetimes, |it| f.fold_lifetime_def(it)),
-- gt_token: Token ! [ > ](tokens_helper(f, &node.gt_token.spans)),
-+ gt_token: Token ! [>](tokens_helper(f, &node.gt_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -969,9 +950,9 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- const_token: Token![const](tokens_helper(f, &node.const_token.span)),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: f.fold_type(node.ty),
-- eq_token: (node.eq_token).map(|it| Token ! [ = ](tokens_helper(f, &it.spans))),
-+ eq_token: (node.eq_token).map(|it| Token ! [=](tokens_helper(f, &it.spans))),
- default: (node.default).map(|it| f.fold_expr(it)),
- }
- }
-@@ -982,7 +963,7 @@ where
- {
- Constraint {
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)),
- }
- }
-@@ -1016,7 +997,7 @@ where
- DataStruct {
- struct_token: Token![struct](tokens_helper(f, &node.struct_token.span)),
- fields: f.fold_fields(node.fields),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "derive")]
-@@ -1112,7 +1093,7 @@ where
- ExprAssign {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- left: Box::new(f.fold_expr(*node.left)),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- right: Box::new(f.fold_expr(*node.right)),
- }
- }
-@@ -1148,7 +1129,7 @@ where
- ExprAwait {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- base: Box::new(f.fold_expr(*node.base)),
-- dot_token: Token ! [ . ](tokens_helper(f, &node.dot_token.spans)),
-+ dot_token: Token ! [.](tokens_helper(f, &node.dot_token.spans)),
- await_token: crate::token::Await(tokens_helper(f, &node.await_token.span)),
- }
- }
-@@ -1232,9 +1213,9 @@ where
- asyncness: (node.asyncness).map(|it| Token![async](tokens_helper(f, &it.span))),
- movability: (node.movability).map(|it| Token![static](tokens_helper(f, &it.span))),
- capture: (node.capture).map(|it| Token![move](tokens_helper(f, &it.span))),
-- or1_token: Token ! [ | ](tokens_helper(f, &node.or1_token.spans)),
-+ or1_token: Token ! [|](tokens_helper(f, &node.or1_token.spans)),
- inputs: FoldHelper::lift(node.inputs, |it| f.fold_pat(it)),
-- or2_token: Token ! [ | ](tokens_helper(f, &node.or2_token.spans)),
-+ or2_token: Token ! [|](tokens_helper(f, &node.or2_token.spans)),
- output: f.fold_return_type(node.output),
- body: Box::new(f.fold_expr(*node.body)),
- }
-@@ -1258,7 +1239,7 @@ where
- ExprField {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- base: Box::new(f.fold_expr(*node.base)),
-- dot_token: Token ! [ . ](tokens_helper(f, &node.dot_token.spans)),
-+ dot_token: Token ! [.](tokens_helper(f, &node.dot_token.spans)),
- member: f.fold_member(node.member),
- }
- }
-@@ -1327,7 +1308,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- let_token: Token![let](tokens_helper(f, &node.let_token.span)),
- pat: f.fold_pat(node.pat),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- expr: Box::new(f.fold_expr(*node.expr)),
- }
- }
-@@ -1384,7 +1365,7 @@ where
- ExprMethodCall {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- receiver: Box::new(f.fold_expr(*node.receiver)),
-- dot_token: Token ! [ . ](tokens_helper(f, &node.dot_token.spans)),
-+ dot_token: Token ! [.](tokens_helper(f, &node.dot_token.spans)),
- method: f.fold_ident(node.method),
- turbofish: (node.turbofish).map(|it| f.fold_method_turbofish(it)),
- paren_token: Paren(tokens_helper(f, &node.paren_token.span)),
-@@ -1432,7 +1413,7 @@ where
- {
- ExprReference {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
-- and_token: Token ! [ & ](tokens_helper(f, &node.and_token.spans)),
-+ and_token: Token ! [&](tokens_helper(f, &node.and_token.spans)),
- raw: node.raw,
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- expr: Box::new(f.fold_expr(*node.expr)),
-@@ -1447,7 +1428,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)),
- expr: Box::new(f.fold_expr(*node.expr)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- len: Box::new(f.fold_expr(*node.len)),
- }
- }
-@@ -1484,7 +1465,7 @@ where
- ExprTry {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- expr: Box::new(f.fold_expr(*node.expr)),
-- question_token: Token ! [ ? ](tokens_helper(f, &node.question_token.spans)),
-+ question_token: Token ! [?](tokens_helper(f, &node.question_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -1517,7 +1498,7 @@ where
- ExprType {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- expr: Box::new(f.fold_expr(*node.expr)),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
- }
- }
-@@ -1576,7 +1557,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- vis: f.fold_visibility(node.vis),
- ident: (node.ident).map(|it| f.fold_ident(it)),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- ty: f.fold_type(node.ty),
- }
- }
-@@ -1588,7 +1569,7 @@ where
- FieldPat {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- member: f.fold_member(node.member),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- pat: Box::new(f.fold_pat(*node.pat)),
- }
- }
-@@ -1600,7 +1581,7 @@ where
- FieldValue {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- member: f.fold_member(node.member),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- expr: f.fold_expr(node.expr),
- }
- }
-@@ -1681,7 +1662,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- vis: f.fold_visibility(node.vis),
- sig: f.fold_signature(node.sig),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -1692,7 +1673,7 @@ where
- ForeignItemMacro {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- mac: f.fold_macro(node.mac),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -1706,9 +1687,9 @@ where
- static_token: Token![static](tokens_helper(f, &node.static_token.span)),
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -1721,7 +1702,7 @@ where
- vis: f.fold_visibility(node.vis),
- type_token: Token![type](tokens_helper(f, &node.type_token.span)),
- ident: f.fold_ident(node.ident),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -1779,9 +1760,9 @@ where
- F: Fold + ?Sized,
- {
- Generics {
-- lt_token: (node.lt_token).map(|it| Token ! [ < ](tokens_helper(f, &it.spans))),
-+ lt_token: (node.lt_token).map(|it| Token ! [<](tokens_helper(f, &it.spans))),
- params: FoldHelper::lift(node.params, |it| f.fold_generic_param(it)),
-- gt_token: (node.gt_token).map(|it| Token ! [ > ](tokens_helper(f, &it.spans))),
-+ gt_token: (node.gt_token).map(|it| Token ! [>](tokens_helper(f, &it.spans))),
- where_clause: (node.where_clause).map(|it| f.fold_where_clause(it)),
- }
- }
-@@ -1819,11 +1800,11 @@ where
- defaultness: (node.defaultness).map(|it| Token![default](tokens_helper(f, &it.span))),
- const_token: Token![const](tokens_helper(f, &node.const_token.span)),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: f.fold_type(node.ty),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- expr: f.fold_expr(node.expr),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -1834,7 +1815,7 @@ where
- ImplItemMacro {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- mac: f.fold_macro(node.mac),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -1862,9 +1843,9 @@ where
- type_token: Token![type](tokens_helper(f, &node.type_token.span)),
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- ty: f.fold_type(node.ty),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -1913,11 +1894,11 @@ where
- vis: f.fold_visibility(node.vis),
- const_token: Token![const](tokens_helper(f, &node.const_token.span)),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- expr: Box::new(f.fold_expr(*node.expr)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -1952,7 +1933,7 @@ where
- f.fold_ident((it).1),
- )
- }),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2011,7 +1992,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- ident: (node.ident).map(|it| f.fold_ident(it)),
- mac: f.fold_macro(node.mac),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -2043,7 +2024,7 @@ where
- FoldHelper::lift((it).1, |it| f.fold_item(it)),
- )
- }),
-- semi: (node.semi).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi: (node.semi).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -2057,11 +2038,11 @@ where
- static_token: Token![static](tokens_helper(f, &node.static_token.span)),
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- expr: Box::new(f.fold_expr(*node.expr)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2076,7 +2057,7 @@ where
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
- fields: f.fold_fields(node.fields),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -2092,7 +2073,7 @@ where
- trait_token: Token![trait](tokens_helper(f, &node.trait_token.span)),
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- supertraits: FoldHelper::lift(node.supertraits, |it| f.fold_type_param_bound(it)),
- brace_token: Brace(tokens_helper(f, &node.brace_token.span)),
- items: FoldHelper::lift(node.items, |it| f.fold_trait_item(it)),
-@@ -2109,9 +2090,9 @@ where
- trait_token: Token![trait](tokens_helper(f, &node.trait_token.span)),
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2125,9 +2106,9 @@ where
- type_token: Token![type](tokens_helper(f, &node.type_token.span)),
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2153,9 +2134,9 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- vis: f.fold_visibility(node.vis),
- use_token: Token![use](tokens_helper(f, &node.use_token.span)),
-- leading_colon: (node.leading_colon).map(|it| Token ! [ :: ](tokens_helper(f, &it.spans))),
-+ leading_colon: (node.leading_colon).map(|it| Token ! [::](tokens_helper(f, &it.spans))),
- tree: f.fold_use_tree(node.tree),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2165,7 +2146,7 @@ where
- {
- Label {
- name: f.fold_lifetime(node.name),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- }
- }
- pub fn fold_lifetime<F>(f: &mut F, node: Lifetime) -> Lifetime
-@@ -2185,11 +2166,10 @@ where
- LifetimeDef {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- lifetime: f.fold_lifetime(node.lifetime),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_lifetime(it)),
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit<F>(f: &mut F, node: Lit) -> Lit
- where
- F: Fold + ?Sized,
-@@ -2205,7 +2185,6 @@ where
- Lit::Verbatim(_binding_0) => Lit::Verbatim(_binding_0),
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_bool<F>(f: &mut F, node: LitBool) -> LitBool
- where
- F: Fold + ?Sized,
-@@ -2215,7 +2194,6 @@ where
- span: f.fold_span(node.span),
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_byte<F>(f: &mut F, node: LitByte) -> LitByte
- where
- F: Fold + ?Sized,
-@@ -2225,7 +2203,6 @@ where
- node.set_span(span);
- node
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_byte_str<F>(f: &mut F, node: LitByteStr) -> LitByteStr
- where
- F: Fold + ?Sized,
-@@ -2235,7 +2212,6 @@ where
- node.set_span(span);
- node
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_char<F>(f: &mut F, node: LitChar) -> LitChar
- where
- F: Fold + ?Sized,
-@@ -2245,7 +2221,6 @@ where
- node.set_span(span);
- node
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_float<F>(f: &mut F, node: LitFloat) -> LitFloat
- where
- F: Fold + ?Sized,
-@@ -2255,7 +2230,6 @@ where
- node.set_span(span);
- node
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_int<F>(f: &mut F, node: LitInt) -> LitInt
- where
- F: Fold + ?Sized,
-@@ -2265,7 +2239,6 @@ where
- node.set_span(span);
- node
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn fold_lit_str<F>(f: &mut F, node: LitStr) -> LitStr
- where
- F: Fold + ?Sized,
-@@ -2286,11 +2259,11 @@ where
- pat: f.fold_pat(node.pat),
- init: (node.init).map(|it| {
- (
-- Token ! [ = ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [=](tokens_helper(f, &(it).0.spans)),
- Box::new(f.fold_expr(*(it).1)),
- )
- }),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -2361,7 +2334,7 @@ where
- {
- MetaNameValue {
- path: f.fold_path(node.path),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- lit: f.fold_lit(node.lit),
- }
- }
-@@ -2371,10 +2344,10 @@ where
- F: Fold + ?Sized,
- {
- MethodTurbofish {
-- colon2_token: Token ! [ :: ](tokens_helper(f, &node.colon2_token.spans)),
-- lt_token: Token ! [ < ](tokens_helper(f, &node.lt_token.spans)),
-+ colon2_token: Token ! [::](tokens_helper(f, &node.colon2_token.spans)),
-+ lt_token: Token ! [<](tokens_helper(f, &node.lt_token.spans)),
- args: FoldHelper::lift(node.args, |it| f.fold_generic_method_argument(it)),
-- gt_token: Token ! [ > ](tokens_helper(f, &node.gt_token.spans)),
-+ gt_token: Token ! [>](tokens_helper(f, &node.gt_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -2449,7 +2422,7 @@ where
- ident: f.fold_ident(node.ident),
- subpat: (node.subpat).map(|it| {
- (
-- Token ! [ @ ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [@](tokens_helper(f, &(it).0.spans)),
- Box::new(f.fold_pat(*(it).1)),
- )
- }),
-@@ -2482,7 +2455,7 @@ where
- {
- PatOr {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
-- leading_vert: (node.leading_vert).map(|it| Token ! [ | ](tokens_helper(f, &it.spans))),
-+ leading_vert: (node.leading_vert).map(|it| Token ! [|](tokens_helper(f, &it.spans))),
- cases: FoldHelper::lift(node.cases, |it| f.fold_pat(it)),
- }
- }
-@@ -2516,7 +2489,7 @@ where
- {
- PatReference {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
-- and_token: Token ! [ & ](tokens_helper(f, &node.and_token.spans)),
-+ and_token: Token ! [&](tokens_helper(f, &node.and_token.spans)),
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- pat: Box::new(f.fold_pat(*node.pat)),
- }
-@@ -2585,7 +2558,7 @@ where
- PatType {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- pat: Box::new(f.fold_pat(*node.pat)),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
- }
- }
-@@ -2605,7 +2578,7 @@ where
- F: Fold + ?Sized,
- {
- Path {
-- leading_colon: (node.leading_colon).map(|it| Token ! [ :: ](tokens_helper(f, &it.spans))),
-+ leading_colon: (node.leading_colon).map(|it| Token ! [::](tokens_helper(f, &it.spans))),
- segments: FoldHelper::lift(node.segments, |it| f.fold_path_segment(it)),
- }
- }
-@@ -2641,7 +2614,7 @@ where
- {
- PredicateEq {
- lhs_ty: f.fold_type(node.lhs_ty),
-- eq_token: Token ! [ = ](tokens_helper(f, &node.eq_token.spans)),
-+ eq_token: Token ! [=](tokens_helper(f, &node.eq_token.spans)),
- rhs_ty: f.fold_type(node.rhs_ty),
- }
- }
-@@ -2652,7 +2625,7 @@ where
- {
- PredicateLifetime {
- lifetime: f.fold_lifetime(node.lifetime),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_lifetime(it)),
- }
- }
-@@ -2664,7 +2637,7 @@ where
- PredicateType {
- lifetimes: (node.lifetimes).map(|it| f.fold_bound_lifetimes(it)),
- bounded_ty: f.fold_type(node.bounded_ty),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)),
- }
- }
-@@ -2674,11 +2647,11 @@ where
- F: Fold + ?Sized,
- {
- QSelf {
-- lt_token: Token ! [ < ](tokens_helper(f, &node.lt_token.spans)),
-+ lt_token: Token ! [<](tokens_helper(f, &node.lt_token.spans)),
- ty: Box::new(f.fold_type(*node.ty)),
- position: node.position,
- as_token: (node.as_token).map(|it| Token![as](tokens_helper(f, &it.span))),
-- gt_token: Token ! [ > ](tokens_helper(f, &node.gt_token.spans)),
-+ gt_token: Token ! [>](tokens_helper(f, &node.gt_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2691,7 +2664,7 @@ where
- RangeLimits::HalfOpen(Token![..](tokens_helper(f, &_binding_0.spans)))
- }
- RangeLimits::Closed(_binding_0) => {
-- RangeLimits::Closed(Token ! [ ..= ](tokens_helper(f, &_binding_0.spans)))
-+ RangeLimits::Closed(Token ! [..=](tokens_helper(f, &_binding_0.spans)))
- }
- }
- }
-@@ -2704,7 +2677,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- reference: (node.reference).map(|it| {
- (
-- Token ! [ & ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [&](tokens_helper(f, &(it).0.spans)),
- ((it).1).map(|it| f.fold_lifetime(it)),
- )
- }),
-@@ -2720,7 +2693,7 @@ where
- match node {
- ReturnType::Default => ReturnType::Default,
- ReturnType::Type(_binding_0, _binding_1) => ReturnType::Type(
-- Token ! [ -> ](tokens_helper(f, &_binding_0.spans)),
-+ Token ! [->](tokens_helper(f, &_binding_0.spans)),
- Box::new(f.fold_type(*_binding_1)),
- ),
- }
-@@ -2761,7 +2734,7 @@ where
- Stmt::Expr(_binding_0) => Stmt::Expr(f.fold_expr(_binding_0)),
- Stmt::Semi(_binding_0, _binding_1) => Stmt::Semi(
- f.fold_expr(_binding_0),
-- Token ! [ ; ](tokens_helper(f, &_binding_1.spans)),
-+ Token ! [;](tokens_helper(f, &_binding_1.spans)),
- ),
- }
- }
-@@ -2785,7 +2758,7 @@ where
- match node {
- TraitBoundModifier::None => TraitBoundModifier::None,
- TraitBoundModifier::Maybe(_binding_0) => {
-- TraitBoundModifier::Maybe(Token ! [ ? ](tokens_helper(f, &_binding_0.spans)))
-+ TraitBoundModifier::Maybe(Token ! [?](tokens_helper(f, &_binding_0.spans)))
- }
- }
- }
-@@ -2812,15 +2785,15 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- const_token: Token![const](tokens_helper(f, &node.const_token.span)),
- ident: f.fold_ident(node.ident),
-- colon_token: Token ! [ : ](tokens_helper(f, &node.colon_token.spans)),
-+ colon_token: Token ! [:](tokens_helper(f, &node.colon_token.spans)),
- ty: f.fold_type(node.ty),
- default: (node.default).map(|it| {
- (
-- Token ! [ = ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [=](tokens_helper(f, &(it).0.spans)),
- f.fold_expr((it).1),
- )
- }),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -2831,7 +2804,7 @@ where
- TraitItemMacro {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- mac: f.fold_macro(node.mac),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -2843,7 +2816,7 @@ where
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- sig: f.fold_signature(node.sig),
- default: (node.default).map(|it| f.fold_block(it)),
-- semi_token: (node.semi_token).map(|it| Token ! [ ; ](tokens_helper(f, &it.spans))),
-+ semi_token: (node.semi_token).map(|it| Token ! [;](tokens_helper(f, &it.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -2856,15 +2829,15 @@ where
- type_token: Token![type](tokens_helper(f, &node.type_token.span)),
- ident: f.fold_ident(node.ident),
- generics: f.fold_generics(node.generics),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)),
- default: (node.default).map(|it| {
- (
-- Token ! [ = ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [=](tokens_helper(f, &(it).0.spans)),
- f.fold_type((it).1),
- )
- }),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -2899,7 +2872,7 @@ where
- TypeArray {
- bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)),
- elem: Box::new(f.fold_type(*node.elem)),
-- semi_token: Token ! [ ; ](tokens_helper(f, &node.semi_token.spans)),
-+ semi_token: Token ! [;](tokens_helper(f, &node.semi_token.spans)),
- len: f.fold_expr(node.len),
- }
- }
-@@ -2974,9 +2947,9 @@ where
- TypeParam {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
- ident: f.fold_ident(node.ident),
-- colon_token: (node.colon_token).map(|it| Token ! [ : ](tokens_helper(f, &it.spans))),
-+ colon_token: (node.colon_token).map(|it| Token ! [:](tokens_helper(f, &it.spans))),
- bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)),
-- eq_token: (node.eq_token).map(|it| Token ! [ = ](tokens_helper(f, &it.spans))),
-+ eq_token: (node.eq_token).map(|it| Token ! [=](tokens_helper(f, &it.spans))),
- default: (node.default).map(|it| f.fold_type(it)),
- }
- }
-@@ -3018,7 +2991,7 @@ where
- F: Fold + ?Sized,
- {
- TypePtr {
-- star_token: Token ! [ * ](tokens_helper(f, &node.star_token.spans)),
-+ star_token: Token ! [*](tokens_helper(f, &node.star_token.spans)),
- const_token: (node.const_token).map(|it| Token![const](tokens_helper(f, &it.span))),
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- elem: Box::new(f.fold_type(*node.elem)),
-@@ -3030,7 +3003,7 @@ where
- F: Fold + ?Sized,
- {
- TypeReference {
-- and_token: Token ! [ & ](tokens_helper(f, &node.and_token.spans)),
-+ and_token: Token ! [&](tokens_helper(f, &node.and_token.spans)),
- lifetime: (node.lifetime).map(|it| f.fold_lifetime(it)),
- mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))),
- elem: Box::new(f.fold_type(*node.elem)),
-@@ -3072,9 +3045,9 @@ where
- F: Fold + ?Sized,
- {
- match node {
-- UnOp::Deref(_binding_0) => UnOp::Deref(Token ! [ * ](tokens_helper(f, &_binding_0.spans))),
-+ UnOp::Deref(_binding_0) => UnOp::Deref(Token ! [*](tokens_helper(f, &_binding_0.spans))),
- UnOp::Not(_binding_0) => UnOp::Not(Token![!](tokens_helper(f, &_binding_0.spans))),
-- UnOp::Neg(_binding_0) => UnOp::Neg(Token ! [ - ](tokens_helper(f, &_binding_0.spans))),
-+ UnOp::Neg(_binding_0) => UnOp::Neg(Token ! [-](tokens_helper(f, &_binding_0.spans))),
- }
- }
- #[cfg(feature = "full")]
-@@ -3083,7 +3056,7 @@ where
- F: Fold + ?Sized,
- {
- UseGlob {
-- star_token: Token ! [ * ](tokens_helper(f, &node.star_token.spans)),
-+ star_token: Token ! [*](tokens_helper(f, &node.star_token.spans)),
- }
- }
- #[cfg(feature = "full")]
-@@ -3112,7 +3085,7 @@ where
- {
- UsePath {
- ident: f.fold_ident(node.ident),
-- colon2_token: Token ! [ :: ](tokens_helper(f, &node.colon2_token.spans)),
-+ colon2_token: Token ! [::](tokens_helper(f, &node.colon2_token.spans)),
- tree: Box::new(f.fold_use_tree(*node.tree)),
- }
- }
-@@ -3147,7 +3120,7 @@ where
- {
- Variadic {
- attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)),
-- dots: Token ! [ ... ](tokens_helper(f, &node.dots.spans)),
-+ dots: Token ! [...](tokens_helper(f, &node.dots.spans)),
- }
- }
- #[cfg(any(feature = "derive", feature = "full"))]
-@@ -3161,7 +3134,7 @@ where
- fields: f.fold_fields(node.fields),
- discriminant: (node.discriminant).map(|it| {
- (
-- Token ! [ = ](tokens_helper(f, &(it).0.spans)),
-+ Token ! [=](tokens_helper(f, &(it).0.spans)),
- f.fold_expr((it).1),
- )
- }),
-diff --git a/third_party/rust/syn/src/gen/hash.rs b/third_party/rust/syn/src/gen/hash.rs
-new file mode 100644
-index 0000000000..9e9e84a7af
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/gen/hash.rs
-@@ -0,0 +1,2691 @@
-+// This file is @generated by syn-internal-codegen.
-+// It is not intended for manual editing.
-+
-+#[cfg(any(feature = "derive", feature = "full"))]
-+use crate::tt::TokenStreamHelper;
-+use crate::*;
-+use std::hash::{Hash, Hasher};
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Abi {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.name.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for AngleBracketedGenericArguments {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.colon2_token.hash(state);
-+ self.args.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Arm {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.pat.hash(state);
-+ self.guard.hash(state);
-+ self.body.hash(state);
-+ self.comma.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for AttrStyle {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ AttrStyle::Outer => {
-+ state.write_u8(0u8);
-+ }
-+ AttrStyle::Inner(_) => {
-+ state.write_u8(1u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Attribute {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.style.hash(state);
-+ self.path.hash(state);
-+ TokenStreamHelper(&self.tokens).hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for BareFnArg {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.name.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for BinOp {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ BinOp::Add(_) => {
-+ state.write_u8(0u8);
-+ }
-+ BinOp::Sub(_) => {
-+ state.write_u8(1u8);
-+ }
-+ BinOp::Mul(_) => {
-+ state.write_u8(2u8);
-+ }
-+ BinOp::Div(_) => {
-+ state.write_u8(3u8);
-+ }
-+ BinOp::Rem(_) => {
-+ state.write_u8(4u8);
-+ }
-+ BinOp::And(_) => {
-+ state.write_u8(5u8);
-+ }
-+ BinOp::Or(_) => {
-+ state.write_u8(6u8);
-+ }
-+ BinOp::BitXor(_) => {
-+ state.write_u8(7u8);
-+ }
-+ BinOp::BitAnd(_) => {
-+ state.write_u8(8u8);
-+ }
-+ BinOp::BitOr(_) => {
-+ state.write_u8(9u8);
-+ }
-+ BinOp::Shl(_) => {
-+ state.write_u8(10u8);
-+ }
-+ BinOp::Shr(_) => {
-+ state.write_u8(11u8);
-+ }
-+ BinOp::Eq(_) => {
-+ state.write_u8(12u8);
-+ }
-+ BinOp::Lt(_) => {
-+ state.write_u8(13u8);
-+ }
-+ BinOp::Le(_) => {
-+ state.write_u8(14u8);
-+ }
-+ BinOp::Ne(_) => {
-+ state.write_u8(15u8);
-+ }
-+ BinOp::Ge(_) => {
-+ state.write_u8(16u8);
-+ }
-+ BinOp::Gt(_) => {
-+ state.write_u8(17u8);
-+ }
-+ BinOp::AddEq(_) => {
-+ state.write_u8(18u8);
-+ }
-+ BinOp::SubEq(_) => {
-+ state.write_u8(19u8);
-+ }
-+ BinOp::MulEq(_) => {
-+ state.write_u8(20u8);
-+ }
-+ BinOp::DivEq(_) => {
-+ state.write_u8(21u8);
-+ }
-+ BinOp::RemEq(_) => {
-+ state.write_u8(22u8);
-+ }
-+ BinOp::BitXorEq(_) => {
-+ state.write_u8(23u8);
-+ }
-+ BinOp::BitAndEq(_) => {
-+ state.write_u8(24u8);
-+ }
-+ BinOp::BitOrEq(_) => {
-+ state.write_u8(25u8);
-+ }
-+ BinOp::ShlEq(_) => {
-+ state.write_u8(26u8);
-+ }
-+ BinOp::ShrEq(_) => {
-+ state.write_u8(27u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Binding {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Block {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.stmts.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for BoundLifetimes {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lifetimes.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ConstParam {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ self.eq_token.hash(state);
-+ self.default.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Constraint {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Hash for Data {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Data::Struct(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Data::Enum(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Data::Union(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Hash for DataEnum {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.variants.hash(state);
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Hash for DataStruct {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.fields.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Hash for DataUnion {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.fields.hash(state);
-+ }
-+}
-+#[cfg(feature = "derive")]
-+impl Hash for DeriveInput {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.data.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Expr {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ #[cfg(feature = "full")]
-+ Expr::Array(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Assign(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::AssignOp(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Async(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Await(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ Expr::Binary(v0) => {
-+ state.write_u8(5u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Block(v0) => {
-+ state.write_u8(6u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Box(v0) => {
-+ state.write_u8(7u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Break(v0) => {
-+ state.write_u8(8u8);
-+ v0.hash(state);
-+ }
-+ Expr::Call(v0) => {
-+ state.write_u8(9u8);
-+ v0.hash(state);
-+ }
-+ Expr::Cast(v0) => {
-+ state.write_u8(10u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Closure(v0) => {
-+ state.write_u8(11u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Continue(v0) => {
-+ state.write_u8(12u8);
-+ v0.hash(state);
-+ }
-+ Expr::Field(v0) => {
-+ state.write_u8(13u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::ForLoop(v0) => {
-+ state.write_u8(14u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Group(v0) => {
-+ state.write_u8(15u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::If(v0) => {
-+ state.write_u8(16u8);
-+ v0.hash(state);
-+ }
-+ Expr::Index(v0) => {
-+ state.write_u8(17u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Let(v0) => {
-+ state.write_u8(18u8);
-+ v0.hash(state);
-+ }
-+ Expr::Lit(v0) => {
-+ state.write_u8(19u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Loop(v0) => {
-+ state.write_u8(20u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Macro(v0) => {
-+ state.write_u8(21u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Match(v0) => {
-+ state.write_u8(22u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::MethodCall(v0) => {
-+ state.write_u8(23u8);
-+ v0.hash(state);
-+ }
-+ Expr::Paren(v0) => {
-+ state.write_u8(24u8);
-+ v0.hash(state);
-+ }
-+ Expr::Path(v0) => {
-+ state.write_u8(25u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Range(v0) => {
-+ state.write_u8(26u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Reference(v0) => {
-+ state.write_u8(27u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Repeat(v0) => {
-+ state.write_u8(28u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Return(v0) => {
-+ state.write_u8(29u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Struct(v0) => {
-+ state.write_u8(30u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Try(v0) => {
-+ state.write_u8(31u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::TryBlock(v0) => {
-+ state.write_u8(32u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Tuple(v0) => {
-+ state.write_u8(33u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Type(v0) => {
-+ state.write_u8(34u8);
-+ v0.hash(state);
-+ }
-+ Expr::Unary(v0) => {
-+ state.write_u8(35u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Unsafe(v0) => {
-+ state.write_u8(36u8);
-+ v0.hash(state);
-+ }
-+ Expr::Verbatim(v0) => {
-+ state.write_u8(37u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::While(v0) => {
-+ state.write_u8(38u8);
-+ v0.hash(state);
-+ }
-+ #[cfg(feature = "full")]
-+ Expr::Yield(v0) => {
-+ state.write_u8(39u8);
-+ v0.hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprArray {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.elems.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprAssign {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.left.hash(state);
-+ self.right.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprAssignOp {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.left.hash(state);
-+ self.op.hash(state);
-+ self.right.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprAsync {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.capture.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprAwait {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.base.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprBinary {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.left.hash(state);
-+ self.op.hash(state);
-+ self.right.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprBlock {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprBox {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprBreak {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprCall {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.func.hash(state);
-+ self.args.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprCast {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprClosure {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.asyncness.hash(state);
-+ self.movability.hash(state);
-+ self.capture.hash(state);
-+ self.inputs.hash(state);
-+ self.output.hash(state);
-+ self.body.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprContinue {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprField {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.base.hash(state);
-+ self.member.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprForLoop {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ self.pat.hash(state);
-+ self.expr.hash(state);
-+ self.body.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprGroup {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprIf {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.cond.hash(state);
-+ self.then_branch.hash(state);
-+ self.else_branch.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprIndex {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ self.index.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprLet {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.pat.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprLit {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.lit.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprLoop {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ self.body.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mac.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprMatch {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ self.arms.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprMethodCall {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.receiver.hash(state);
-+ self.method.hash(state);
-+ self.turbofish.hash(state);
-+ self.args.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprParen {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprPath {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.qself.hash(state);
-+ self.path.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprRange {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.from.hash(state);
-+ self.limits.hash(state);
-+ self.to.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprReference {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mutability.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprRepeat {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ self.len.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprReturn {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprStruct {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.path.hash(state);
-+ self.fields.hash(state);
-+ self.dot2_token.hash(state);
-+ self.rest.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprTry {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprTryBlock {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprTuple {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.elems.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ExprUnary {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.op.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprUnsafe {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprWhile {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.label.hash(state);
-+ self.cond.hash(state);
-+ self.body.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ExprYield {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Field {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.colon_token.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for FieldPat {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.member.hash(state);
-+ self.colon_token.hash(state);
-+ self.pat.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for FieldValue {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.member.hash(state);
-+ self.colon_token.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Fields {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Fields::Named(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Fields::Unnamed(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Fields::Unit => {
-+ state.write_u8(2u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for FieldsNamed {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.named.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for FieldsUnnamed {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.unnamed.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for File {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.shebang.hash(state);
-+ self.attrs.hash(state);
-+ self.items.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for FnArg {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ FnArg::Receiver(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ FnArg::Typed(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ForeignItem {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ ForeignItem::Fn(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ ForeignItem::Static(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ ForeignItem::Type(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ ForeignItem::Macro(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ ForeignItem::Verbatim(v0) => {
-+ state.write_u8(4u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ForeignItemFn {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.sig.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ForeignItemMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mac.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ForeignItemStatic {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.mutability.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ForeignItemType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for GenericArgument {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ GenericArgument::Lifetime(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ GenericArgument::Type(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ GenericArgument::Binding(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ GenericArgument::Constraint(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ GenericArgument::Const(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for GenericMethodArgument {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ GenericMethodArgument::Type(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ GenericMethodArgument::Const(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for GenericParam {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ GenericParam::Type(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ GenericParam::Lifetime(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ GenericParam::Const(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Generics {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lt_token.hash(state);
-+ self.params.hash(state);
-+ self.gt_token.hash(state);
-+ self.where_clause.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ImplItem {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ ImplItem::Const(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ ImplItem::Method(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ ImplItem::Type(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ ImplItem::Macro(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ ImplItem::Verbatim(v0) => {
-+ state.write_u8(4u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ImplItemConst {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.defaultness.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ImplItemMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mac.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ImplItemMethod {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.defaultness.hash(state);
-+ self.sig.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ImplItemType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.defaultness.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Item {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Item::Const(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Item::Enum(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Item::ExternCrate(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Item::Fn(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ Item::ForeignMod(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ Item::Impl(v0) => {
-+ state.write_u8(5u8);
-+ v0.hash(state);
-+ }
-+ Item::Macro(v0) => {
-+ state.write_u8(6u8);
-+ v0.hash(state);
-+ }
-+ Item::Macro2(v0) => {
-+ state.write_u8(7u8);
-+ v0.hash(state);
-+ }
-+ Item::Mod(v0) => {
-+ state.write_u8(8u8);
-+ v0.hash(state);
-+ }
-+ Item::Static(v0) => {
-+ state.write_u8(9u8);
-+ v0.hash(state);
-+ }
-+ Item::Struct(v0) => {
-+ state.write_u8(10u8);
-+ v0.hash(state);
-+ }
-+ Item::Trait(v0) => {
-+ state.write_u8(11u8);
-+ v0.hash(state);
-+ }
-+ Item::TraitAlias(v0) => {
-+ state.write_u8(12u8);
-+ v0.hash(state);
-+ }
-+ Item::Type(v0) => {
-+ state.write_u8(13u8);
-+ v0.hash(state);
-+ }
-+ Item::Union(v0) => {
-+ state.write_u8(14u8);
-+ v0.hash(state);
-+ }
-+ Item::Use(v0) => {
-+ state.write_u8(15u8);
-+ v0.hash(state);
-+ }
-+ Item::Verbatim(v0) => {
-+ state.write_u8(16u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemConst {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemEnum {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.variants.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemExternCrate {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.rename.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemFn {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.sig.hash(state);
-+ self.block.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemForeignMod {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.abi.hash(state);
-+ self.items.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemImpl {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.defaultness.hash(state);
-+ self.unsafety.hash(state);
-+ self.generics.hash(state);
-+ self.trait_.hash(state);
-+ self.self_ty.hash(state);
-+ self.items.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.mac.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemMacro2 {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ TokenStreamHelper(&self.rules).hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemMod {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.content.hash(state);
-+ self.semi.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemStatic {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.mutability.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemStruct {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.fields.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemTrait {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.unsafety.hash(state);
-+ self.auto_token.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.colon_token.hash(state);
-+ self.supertraits.hash(state);
-+ self.items.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemTraitAlias {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemUnion {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.fields.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for ItemUse {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.vis.hash(state);
-+ self.leading_colon.hash(state);
-+ self.tree.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Label {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.name.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for LifetimeDef {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.lifetime.hash(state);
-+ self.colon_token.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+impl Hash for Lit {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Lit::Str(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Lit::ByteStr(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Lit::Byte(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Lit::Char(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ Lit::Int(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ Lit::Float(v0) => {
-+ state.write_u8(5u8);
-+ v0.hash(state);
-+ }
-+ Lit::Bool(v0) => {
-+ state.write_u8(6u8);
-+ v0.hash(state);
-+ }
-+ Lit::Verbatim(v0) => {
-+ state.write_u8(7u8);
-+ v0.to_string().hash(state);
-+ }
-+ }
-+ }
-+}
-+impl Hash for LitBool {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.value.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Local {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.pat.hash(state);
-+ self.init.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Macro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.path.hash(state);
-+ self.delimiter.hash(state);
-+ TokenStreamHelper(&self.tokens).hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for MacroDelimiter {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ MacroDelimiter::Paren(_) => {
-+ state.write_u8(0u8);
-+ }
-+ MacroDelimiter::Brace(_) => {
-+ state.write_u8(1u8);
-+ }
-+ MacroDelimiter::Bracket(_) => {
-+ state.write_u8(2u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Meta {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Meta::Path(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Meta::List(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Meta::NameValue(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for MetaList {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.path.hash(state);
-+ self.nested.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for MetaNameValue {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.path.hash(state);
-+ self.lit.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for MethodTurbofish {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.args.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for NestedMeta {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ NestedMeta::Meta(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ NestedMeta::Lit(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ParenthesizedGenericArguments {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.inputs.hash(state);
-+ self.output.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Pat {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Pat::Box(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Pat::Ident(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Pat::Lit(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Pat::Macro(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ Pat::Or(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ Pat::Path(v0) => {
-+ state.write_u8(5u8);
-+ v0.hash(state);
-+ }
-+ Pat::Range(v0) => {
-+ state.write_u8(6u8);
-+ v0.hash(state);
-+ }
-+ Pat::Reference(v0) => {
-+ state.write_u8(7u8);
-+ v0.hash(state);
-+ }
-+ Pat::Rest(v0) => {
-+ state.write_u8(8u8);
-+ v0.hash(state);
-+ }
-+ Pat::Slice(v0) => {
-+ state.write_u8(9u8);
-+ v0.hash(state);
-+ }
-+ Pat::Struct(v0) => {
-+ state.write_u8(10u8);
-+ v0.hash(state);
-+ }
-+ Pat::Tuple(v0) => {
-+ state.write_u8(11u8);
-+ v0.hash(state);
-+ }
-+ Pat::TupleStruct(v0) => {
-+ state.write_u8(12u8);
-+ v0.hash(state);
-+ }
-+ Pat::Type(v0) => {
-+ state.write_u8(13u8);
-+ v0.hash(state);
-+ }
-+ Pat::Verbatim(v0) => {
-+ state.write_u8(14u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ Pat::Wild(v0) => {
-+ state.write_u8(15u8);
-+ v0.hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatBox {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.pat.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatIdent {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.by_ref.hash(state);
-+ self.mutability.hash(state);
-+ self.ident.hash(state);
-+ self.subpat.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatLit {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.expr.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mac.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatOr {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.leading_vert.hash(state);
-+ self.cases.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatPath {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.qself.hash(state);
-+ self.path.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatRange {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.lo.hash(state);
-+ self.limits.hash(state);
-+ self.hi.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatReference {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mutability.hash(state);
-+ self.pat.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatRest {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatSlice {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.elems.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatStruct {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.path.hash(state);
-+ self.fields.hash(state);
-+ self.dot2_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatTuple {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.elems.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatTupleStruct {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.path.hash(state);
-+ self.pat.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.pat.hash(state);
-+ self.ty.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for PatWild {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Path {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.leading_colon.hash(state);
-+ self.segments.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for PathArguments {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ PathArguments::None => {
-+ state.write_u8(0u8);
-+ }
-+ PathArguments::AngleBracketed(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ PathArguments::Parenthesized(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for PathSegment {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ self.arguments.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for PredicateEq {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lhs_ty.hash(state);
-+ self.rhs_ty.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for PredicateLifetime {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lifetime.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for PredicateType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lifetimes.hash(state);
-+ self.bounded_ty.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for QSelf {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ty.hash(state);
-+ self.position.hash(state);
-+ self.as_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for RangeLimits {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ RangeLimits::HalfOpen(_) => {
-+ state.write_u8(0u8);
-+ }
-+ RangeLimits::Closed(_) => {
-+ state.write_u8(1u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Receiver {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.reference.hash(state);
-+ self.mutability.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for ReturnType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ ReturnType::Default => {
-+ state.write_u8(0u8);
-+ }
-+ ReturnType::Type(_, v1) => {
-+ state.write_u8(1u8);
-+ v1.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Signature {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.constness.hash(state);
-+ self.asyncness.hash(state);
-+ self.unsafety.hash(state);
-+ self.abi.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.inputs.hash(state);
-+ self.variadic.hash(state);
-+ self.output.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for Stmt {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Stmt::Local(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Stmt::Item(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Stmt::Expr(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Stmt::Semi(v0, _) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TraitBound {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.paren_token.hash(state);
-+ self.modifier.hash(state);
-+ self.lifetimes.hash(state);
-+ self.path.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TraitBoundModifier {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ TraitBoundModifier::None => {
-+ state.write_u8(0u8);
-+ }
-+ TraitBoundModifier::Maybe(_) => {
-+ state.write_u8(1u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for TraitItem {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ TraitItem::Const(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ TraitItem::Method(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ TraitItem::Type(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ TraitItem::Macro(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ TraitItem::Verbatim(v0) => {
-+ state.write_u8(4u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for TraitItemConst {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.ty.hash(state);
-+ self.default.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for TraitItemMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.mac.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for TraitItemMethod {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.sig.hash(state);
-+ self.default.hash(state);
-+ self.semi_token.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for TraitItemType {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.generics.hash(state);
-+ self.colon_token.hash(state);
-+ self.bounds.hash(state);
-+ self.default.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Type {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Type::Array(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Type::BareFn(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Type::Group(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Type::ImplTrait(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ Type::Infer(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ Type::Macro(v0) => {
-+ state.write_u8(5u8);
-+ v0.hash(state);
-+ }
-+ Type::Never(v0) => {
-+ state.write_u8(6u8);
-+ v0.hash(state);
-+ }
-+ Type::Paren(v0) => {
-+ state.write_u8(7u8);
-+ v0.hash(state);
-+ }
-+ Type::Path(v0) => {
-+ state.write_u8(8u8);
-+ v0.hash(state);
-+ }
-+ Type::Ptr(v0) => {
-+ state.write_u8(9u8);
-+ v0.hash(state);
-+ }
-+ Type::Reference(v0) => {
-+ state.write_u8(10u8);
-+ v0.hash(state);
-+ }
-+ Type::Slice(v0) => {
-+ state.write_u8(11u8);
-+ v0.hash(state);
-+ }
-+ Type::TraitObject(v0) => {
-+ state.write_u8(12u8);
-+ v0.hash(state);
-+ }
-+ Type::Tuple(v0) => {
-+ state.write_u8(13u8);
-+ v0.hash(state);
-+ }
-+ Type::Verbatim(v0) => {
-+ state.write_u8(14u8);
-+ TokenStreamHelper(v0).hash(state);
-+ }
-+ _ => unreachable!(),
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeArray {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.elem.hash(state);
-+ self.len.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeBareFn {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lifetimes.hash(state);
-+ self.unsafety.hash(state);
-+ self.abi.hash(state);
-+ self.inputs.hash(state);
-+ self.variadic.hash(state);
-+ self.output.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeGroup {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.elem.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeImplTrait {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeInfer {
-+ fn hash<H>(&self, _state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeMacro {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.mac.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeNever {
-+ fn hash<H>(&self, _state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeParam {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.colon_token.hash(state);
-+ self.bounds.hash(state);
-+ self.eq_token.hash(state);
-+ self.default.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeParamBound {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ TypeParamBound::Trait(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ TypeParamBound::Lifetime(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeParen {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.elem.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypePath {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.qself.hash(state);
-+ self.path.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypePtr {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.const_token.hash(state);
-+ self.mutability.hash(state);
-+ self.elem.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeReference {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.lifetime.hash(state);
-+ self.mutability.hash(state);
-+ self.elem.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeSlice {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.elem.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeTraitObject {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.dyn_token.hash(state);
-+ self.bounds.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for TypeTuple {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.elems.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for UnOp {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ UnOp::Deref(_) => {
-+ state.write_u8(0u8);
-+ }
-+ UnOp::Not(_) => {
-+ state.write_u8(1u8);
-+ }
-+ UnOp::Neg(_) => {
-+ state.write_u8(2u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UseGlob {
-+ fn hash<H>(&self, _state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UseGroup {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.items.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UseName {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UsePath {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ self.tree.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UseRename {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.ident.hash(state);
-+ self.rename.hash(state);
-+ }
-+}
-+#[cfg(feature = "full")]
-+impl Hash for UseTree {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ UseTree::Path(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ UseTree::Name(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ UseTree::Rename(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ UseTree::Glob(v0) => {
-+ state.write_u8(3u8);
-+ v0.hash(state);
-+ }
-+ UseTree::Group(v0) => {
-+ state.write_u8(4u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Variadic {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Variant {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.attrs.hash(state);
-+ self.ident.hash(state);
-+ self.fields.hash(state);
-+ self.discriminant.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for VisCrate {
-+ fn hash<H>(&self, _state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for VisPublic {
-+ fn hash<H>(&self, _state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for VisRestricted {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.in_token.hash(state);
-+ self.path.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for Visibility {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ Visibility::Public(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ Visibility::Crate(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ Visibility::Restricted(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ Visibility::Inherited => {
-+ state.write_u8(3u8);
-+ }
-+ }
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for WhereClause {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ self.predicates.hash(state);
-+ }
-+}
-+#[cfg(any(feature = "derive", feature = "full"))]
-+impl Hash for WherePredicate {
-+ fn hash<H>(&self, state: &mut H)
-+ where
-+ H: Hasher,
-+ {
-+ match self {
-+ WherePredicate::Type(v0) => {
-+ state.write_u8(0u8);
-+ v0.hash(state);
-+ }
-+ WherePredicate::Lifetime(v0) => {
-+ state.write_u8(1u8);
-+ v0.hash(state);
-+ }
-+ WherePredicate::Eq(v0) => {
-+ state.write_u8(2u8);
-+ v0.hash(state);
-+ }
-+ }
-+ }
-+}
-diff --git a/third_party/rust/syn/src/gen/visit.rs b/third_party/rust/syn/src/gen/visit.rs
-index b667f530c3..24d34b7480 100644
---- mozilla-release/third_party/rust/syn/src/gen/visit.rs
-+++ mozilla-release/third_party/rust/syn/src/gen/visit.rs
-@@ -20,7 +20,6 @@ macro_rules! full {
- unreachable!()
- };
- }
--#[cfg(any(feature = "full", feature = "derive"))]
- macro_rules! skip {
- ($($tt:tt)*) => {};
- }
-@@ -30,7 +29,7 @@ macro_rules! skip {
- ///
- /// [module documentation]: self
- ///
--/// *This trait is available if Syn is built with the `"visit"` feature.*
-+/// *This trait is available only if Syn is built with the `"visit"` feature.*
- pub trait Visit<'ast> {
- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_abi(&mut self, i: &'ast Abi) {
-@@ -434,35 +433,27 @@ pub trait Visit<'ast> {
- fn visit_lifetime_def(&mut self, i: &'ast LifetimeDef) {
- visit_lifetime_def(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit(&mut self, i: &'ast Lit) {
- visit_lit(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_bool(&mut self, i: &'ast LitBool) {
- visit_lit_bool(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_byte(&mut self, i: &'ast LitByte) {
- visit_lit_byte(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_byte_str(&mut self, i: &'ast LitByteStr) {
- visit_lit_byte_str(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_char(&mut self, i: &'ast LitChar) {
- visit_lit_char(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_float(&mut self, i: &'ast LitFloat) {
- visit_lit_float(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_int(&mut self, i: &'ast LitInt) {
- visit_lit_int(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_str(&mut self, i: &'ast LitStr) {
- visit_lit_str(self, i)
- }
-@@ -2537,7 +2528,6 @@ where
- }
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit<'ast, V>(v: &mut V, node: &'ast Lit)
- where
- V: Visit<'ast> + ?Sized,
-@@ -2569,7 +2559,6 @@ where
- }
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_bool<'ast, V>(v: &mut V, node: &'ast LitBool)
- where
- V: Visit<'ast> + ?Sized,
-@@ -2577,37 +2566,31 @@ where
- skip!(node.value);
- v.visit_span(&node.span);
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_byte<'ast, V>(v: &mut V, node: &'ast LitByte)
- where
- V: Visit<'ast> + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_byte_str<'ast, V>(v: &mut V, node: &'ast LitByteStr)
- where
- V: Visit<'ast> + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_char<'ast, V>(v: &mut V, node: &'ast LitChar)
- where
- V: Visit<'ast> + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_float<'ast, V>(v: &mut V, node: &'ast LitFloat)
- where
- V: Visit<'ast> + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_int<'ast, V>(v: &mut V, node: &'ast LitInt)
- where
- V: Visit<'ast> + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_str<'ast, V>(v: &mut V, node: &'ast LitStr)
- where
- V: Visit<'ast> + ?Sized,
-diff --git a/third_party/rust/syn/src/gen/visit_mut.rs b/third_party/rust/syn/src/gen/visit_mut.rs
-index 5cddb827c6..5ce11f0b2e 100644
---- mozilla-release/third_party/rust/syn/src/gen/visit_mut.rs
-+++ mozilla-release/third_party/rust/syn/src/gen/visit_mut.rs
-@@ -20,7 +20,6 @@ macro_rules! full {
- unreachable!()
- };
- }
--#[cfg(any(feature = "full", feature = "derive"))]
- macro_rules! skip {
- ($($tt:tt)*) => {};
- }
-@@ -31,7 +30,7 @@ macro_rules! skip {
- ///
- /// [module documentation]: self
- ///
--/// *This trait is available if Syn is built with the `"visit-mut"` feature.*
-+/// *This trait is available only if Syn is built with the `"visit-mut"` feature.*
- pub trait VisitMut {
- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_abi_mut(&mut self, i: &mut Abi) {
-@@ -438,35 +437,27 @@ pub trait VisitMut {
- fn visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef) {
- visit_lifetime_def_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_mut(&mut self, i: &mut Lit) {
- visit_lit_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_bool_mut(&mut self, i: &mut LitBool) {
- visit_lit_bool_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_byte_mut(&mut self, i: &mut LitByte) {
- visit_lit_byte_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_byte_str_mut(&mut self, i: &mut LitByteStr) {
- visit_lit_byte_str_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_char_mut(&mut self, i: &mut LitChar) {
- visit_lit_char_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_float_mut(&mut self, i: &mut LitFloat) {
- visit_lit_float_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_int_mut(&mut self, i: &mut LitInt) {
- visit_lit_int_mut(self, i)
- }
-- #[cfg(any(feature = "derive", feature = "full"))]
- fn visit_lit_str_mut(&mut self, i: &mut LitStr) {
- visit_lit_str_mut(self, i)
- }
-@@ -2543,7 +2534,6 @@ where
- }
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_mut<V>(v: &mut V, node: &mut Lit)
- where
- V: VisitMut + ?Sized,
-@@ -2575,7 +2565,6 @@ where
- }
- }
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_bool_mut<V>(v: &mut V, node: &mut LitBool)
- where
- V: VisitMut + ?Sized,
-@@ -2583,37 +2572,31 @@ where
- skip!(node.value);
- v.visit_span_mut(&mut node.span);
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_byte_mut<V>(v: &mut V, node: &mut LitByte)
- where
- V: VisitMut + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_byte_str_mut<V>(v: &mut V, node: &mut LitByteStr)
- where
- V: VisitMut + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_char_mut<V>(v: &mut V, node: &mut LitChar)
- where
- V: VisitMut + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_float_mut<V>(v: &mut V, node: &mut LitFloat)
- where
- V: VisitMut + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_int_mut<V>(v: &mut V, node: &mut LitInt)
- where
- V: VisitMut + ?Sized,
- {
- }
--#[cfg(any(feature = "derive", feature = "full"))]
- pub fn visit_lit_str_mut<V>(v: &mut V, node: &mut LitStr)
- where
- V: VisitMut + ?Sized,
-diff --git a/third_party/rust/syn/src/generics.rs b/third_party/rust/syn/src/generics.rs
-index 95ab2e404a..05e8ef5cdf 100644
---- mozilla-release/third_party/rust/syn/src/generics.rs
-+++ mozilla-release/third_party/rust/syn/src/generics.rs
-@@ -1,13 +1,16 @@
- use super::*;
- use crate::punctuated::{Iter, IterMut, Punctuated};
-+#[cfg(all(feature = "printing", feature = "extra-traits"))]
-+use std::fmt::{self, Debug};
-+#[cfg(all(feature = "printing", feature = "extra-traits"))]
-+use std::hash::{Hash, Hasher};
-
- ast_struct! {
- /// Lifetimes and type parameters attached to a declaration of a function,
- /// enum, trait, etc.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- #[derive(Default)]
- pub struct Generics {
- pub lt_token: Option<Token![<]>,
- pub params: Punctuated<GenericParam, Token![,]>,
-@@ -20,7 +23,7 @@ ast_enum_of_structs! {
- /// A generic type parameter, lifetime, or const generic: `T: Into<String>`,
- /// `'a: 'b`, `const LEN: usize`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Syntax tree enum
-@@ -28,9 +31,6 @@ ast_enum_of_structs! {
- /// This type is a [syntax tree enum].
- ///
- /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums
-- //
-- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
-- // blocked on https://github.com/rust-lang/rust/issues/62833
- pub enum GenericParam {
- /// A generic type parameter: `T: Into<String>`.
- Type(TypeParam),
-@@ -46,7 +46,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A generic type parameter: `T: Into<String>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeParam {
- pub attrs: Vec<Attribute>,
-@@ -61,7 +61,7 @@ ast_struct! {
- ast_struct! {
- /// A lifetime definition: `'a: 'b + 'c + 'd`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct LifetimeDef {
- pub attrs: Vec<Attribute>,
-@@ -74,7 +74,7 @@ ast_struct! {
- ast_struct! {
- /// A const generic parameter: `const LENGTH: usize`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct ConstParam {
- pub attrs: Vec<Attribute>,
-@@ -87,6 +87,17 @@ ast_struct! {
- }
- }
-
-+impl Default for Generics {
-+ fn default() -> Self {
-+ Generics {
-+ lt_token: None,
-+ params: Punctuated::new(),
-+ gt_token: None,
-+ where_clause: None,
-+ }
-+ }
-+}
-+
- impl Generics {
- /// Returns an
- /// <code
-@@ -280,29 +291,23 @@ impl<'a> Iterator for ConstParamsMut<'a> {
-
- /// Returned by `Generics::split_for_impl`.
- ///
--/// *This type is available if Syn is built with the `"derive"` or `"full"`
-+/// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature and the `"printing"` feature.*
- #[cfg(feature = "printing")]
--#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- pub struct ImplGenerics<'a>(&'a Generics);
-
- /// Returned by `Generics::split_for_impl`.
- ///
--/// *This type is available if Syn is built with the `"derive"` or `"full"`
-+/// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature and the `"printing"` feature.*
- #[cfg(feature = "printing")]
--#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- pub struct TypeGenerics<'a>(&'a Generics);
-
- /// Returned by `TypeGenerics::as_turbofish`.
- ///
--/// *This type is available if Syn is built with the `"derive"` or `"full"`
-+/// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature and the `"printing"` feature.*
- #[cfg(feature = "printing")]
--#[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- pub struct Turbofish<'a>(&'a Generics);
-
- #[cfg(feature = "printing")]
-@@ -314,9 +319,8 @@ impl Generics {
- /// # use proc_macro2::{Span, Ident};
- /// # use quote::quote;
- /// #
-- /// # fn main() {
-- /// # let generics: syn::Generics = Default::default();
-- /// # let name = Ident::new("MyType", Span::call_site());
-+ /// # let generics: syn::Generics = Default::default();
-+ /// # let name = Ident::new("MyType", Span::call_site());
- /// #
- /// let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
- /// quote! {
-@@ -324,11 +328,10 @@ impl Generics {
- /// // ...
- /// }
- /// }
-- /// # ;
-- /// # }
-+ /// # ;
- /// ```
- ///
-- /// *This method is available if Syn is built with the `"derive"` or
-+ /// *This method is available only if Syn is built with the `"derive"` or
- /// `"full"` feature and the `"printing"` feature.*
- pub fn split_for_impl(&self) -> (ImplGenerics, TypeGenerics, Option<&WhereClause>) {
- (
-@@ -339,11 +342,57 @@ impl Generics {
- }
- }
-
-+#[cfg(feature = "printing")]
-+macro_rules! generics_wrapper_impls {
-+ ($ty:ident) => {
-+ #[cfg(feature = "clone-impls")]
-+ impl<'a> Clone for $ty<'a> {
-+ fn clone(&self) -> Self {
-+ $ty(self.0)
-+ }
-+ }
-+
-+ #[cfg(feature = "extra-traits")]
-+ impl<'a> Debug for $ty<'a> {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ formatter
-+ .debug_tuple(stringify!($ty))
-+ .field(self.0)
-+ .finish()
-+ }
-+ }
-+
-+ #[cfg(feature = "extra-traits")]
-+ impl<'a> Eq for $ty<'a> {}
-+
-+ #[cfg(feature = "extra-traits")]
-+ impl<'a> PartialEq for $ty<'a> {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.0 == other.0
-+ }
-+ }
-+
-+ #[cfg(feature = "extra-traits")]
-+ impl<'a> Hash for $ty<'a> {
-+ fn hash<H: Hasher>(&self, state: &mut H) {
-+ self.0.hash(state);
-+ }
-+ }
-+ };
-+}
-+
-+#[cfg(feature = "printing")]
-+generics_wrapper_impls!(ImplGenerics);
-+#[cfg(feature = "printing")]
-+generics_wrapper_impls!(TypeGenerics);
-+#[cfg(feature = "printing")]
-+generics_wrapper_impls!(Turbofish);
-+
- #[cfg(feature = "printing")]
- impl<'a> TypeGenerics<'a> {
- /// Turn a type's generics like `<X, Y>` into a turbofish like `::<X, Y>`.
- ///
-- /// *This method is available if Syn is built with the `"derive"` or
-+ /// *This method is available only if Syn is built with the `"derive"` or
- /// `"full"` feature and the `"printing"` feature.*
- pub fn as_turbofish(&self) -> Turbofish {
- Turbofish(self.0)
-@@ -353,9 +402,8 @@ impl<'a> TypeGenerics<'a> {
- ast_struct! {
- /// A set of bound lifetimes: `for<'a, 'b, 'c>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- #[derive(Default)]
- pub struct BoundLifetimes {
- pub for_token: Token![for],
- pub lt_token: Token![<],
-@@ -364,6 +412,17 @@ ast_struct! {
- }
- }
-
-+impl Default for BoundLifetimes {
-+ fn default() -> Self {
-+ BoundLifetimes {
-+ for_token: Default::default(),
-+ lt_token: Default::default(),
-+ lifetimes: Punctuated::new(),
-+ gt_token: Default::default(),
-+ }
-+ }
-+}
-+
- impl LifetimeDef {
- pub fn new(lifetime: Lifetime) -> Self {
- LifetimeDef {
-@@ -391,7 +450,7 @@ impl From<Ident> for TypeParam {
- ast_enum_of_structs! {
- /// A trait or lifetime used as a bound on a type parameter.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum TypeParamBound {
- Trait(TraitBound),
-@@ -402,7 +461,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A trait used as a bound on a type parameter.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct TraitBound {
- pub paren_token: Option<token::Paren>,
-@@ -418,9 +477,8 @@ ast_enum! {
- /// A modifier on a trait bound, currently only used for the `?` in
- /// `?Sized`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- #[cfg_attr(feature = "clone-impls", derive(Copy))]
- pub enum TraitBoundModifier {
- None,
- Maybe(Token![?]),
-@@ -431,7 +489,7 @@ ast_struct! {
- /// A `where` clause in a definition: `where T: Deserialize<'de>, D:
- /// 'static`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct WhereClause {
- pub where_token: Token![where],
-@@ -442,7 +500,7 @@ ast_struct! {
- ast_enum_of_structs! {
- /// A single predicate in a `where` clause: `T: Deserialize<'de>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Syntax tree enum
-@@ -450,9 +508,6 @@ ast_enum_of_structs! {
- /// This type is a [syntax tree enum].
- ///
- /// [syntax tree enum]: enum.Expr.html#syntax-tree-enums
-- //
-- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
-- // blocked on https://github.com/rust-lang/rust/issues/62833
- pub enum WherePredicate {
- /// A type predicate in a `where` clause: `for<'c> Foo<'c>: Trait<'c>`.
- Type(PredicateType),
-@@ -468,7 +523,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A type predicate in a `where` clause: `for<'c> Foo<'c>: Trait<'c>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct PredicateType {
- /// Any lifetimes from a `for` binding
-@@ -484,7 +539,7 @@ ast_struct! {
- ast_struct! {
- /// A lifetime predicate in a `where` clause: `'a: 'b + 'c`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct PredicateLifetime {
- pub lifetime: Lifetime,
-@@ -496,7 +551,7 @@ ast_struct! {
- ast_struct! {
- /// An equality predicate in a `where` clause (unsupported).
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct PredicateEq {
- pub lhs_ty: Type,
-@@ -521,7 +576,6 @@ pub mod parsing {
-
- let mut params = Punctuated::new();
- let mut allow_lifetime_param = true;
-- let mut allow_type_param = true;
- loop {
- if input.peek(Token![>]) {
- break;
-@@ -534,7 +588,7 @@ pub mod parsing {
- attrs,
- ..input.parse()?
- }));
-- } else if allow_type_param && lookahead.peek(Ident) {
-+ } else if lookahead.peek(Ident) {
- allow_lifetime_param = false;
- params.push_value(GenericParam::Type(TypeParam {
- attrs,
-@@ -542,7 +596,6 @@ pub mod parsing {
- }));
- } else if lookahead.peek(Token![const]) {
- allow_lifetime_param = false;
-- allow_type_param = false;
- params.push_value(GenericParam::Const(ConstParam {
- attrs,
- ..input.parse()?
-@@ -665,57 +718,53 @@ pub mod parsing {
-
- impl Parse for TypeParam {
- fn parse(input: ParseStream) -> Result<Self> {
-- let has_colon;
-- let has_default;
-- Ok(TypeParam {
-- attrs: input.call(Attribute::parse_outer)?,
-- ident: input.parse()?,
-- colon_token: {
-- if input.peek(Token![:]) {
-- has_colon = true;
-- Some(input.parse()?)
-- } else {
-- has_colon = false;
-- None
-- }
-- },
-- bounds: {
-- let mut bounds = Punctuated::new();
-- if has_colon {
-- loop {
-- if input.peek(Token![,])
-- || input.peek(Token![>])
-- || input.peek(Token![=])
-- {
-- break;
-- }
-- let value = input.parse()?;
-- bounds.push_value(value);
-- if !input.peek(Token![+]) {
-- break;
-- }
-- let punct = input.parse()?;
-- bounds.push_punct(punct);
-- }
-+ let attrs = input.call(Attribute::parse_outer)?;
-+ let ident: Ident = input.parse()?;
-+ let colon_token: Option<Token![:]> = input.parse()?;
-+
-+ let begin_bound = input.fork();
-+ let mut is_maybe_const = false;
-+ let mut bounds = Punctuated::new();
-+ if colon_token.is_some() {
-+ loop {
-+ if input.peek(Token![,]) || input.peek(Token![>]) || input.peek(Token![=]) {
-+ break;
- }
-- bounds
-- },
-- eq_token: {
-- if input.peek(Token![=]) {
-- has_default = true;
-- Some(input.parse()?)
-- } else {
-- has_default = false;
-- None
-+ if input.peek(Token![?]) && input.peek2(Token![const]) {
-+ input.parse::<Token![?]>()?;
-+ input.parse::<Token![const]>()?;
-+ is_maybe_const = true;
- }
-- },
-- default: {
-- if has_default {
-- Some(input.parse()?)
-- } else {
-- None
-+ let value: TypeParamBound = input.parse()?;
-+ bounds.push_value(value);
-+ if !input.peek(Token![+]) {
-+ break;
- }
-- },
-+ let punct: Token![+] = input.parse()?;
-+ bounds.push_punct(punct);
-+ }
-+ }
-+
-+ let mut eq_token: Option<Token![=]> = input.parse()?;
-+ let mut default = if eq_token.is_some() {
-+ Some(input.parse::<Type>()?)
-+ } else {
-+ None
-+ };
-+
-+ if is_maybe_const {
-+ bounds.clear();
-+ eq_token = None;
-+ default = Some(Type::Verbatim(verbatim::between(begin_bound, input)));
-+ }
-+
-+ Ok(TypeParam {
-+ attrs,
-+ ident,
-+ colon_token,
-+ bounds,
-+ eq_token,
-+ default,
- })
- }
- }
-@@ -898,6 +947,8 @@ mod printing {
- use super::*;
-
- use proc_macro2::TokenStream;
-+ #[cfg(feature = "full")]
-+ use proc_macro2::TokenTree;
- use quote::{ToTokens, TokenStreamExt};
-
- use crate::attr::FilterAttrs;
-@@ -1080,9 +1131,25 @@ mod printing {
- TokensOrDefault(&self.colon_token).to_tokens(tokens);
- self.bounds.to_tokens(tokens);
- }
-- if self.default.is_some() {
-+ if let Some(default) = &self.default {
-+ #[cfg(feature = "full")]
-+ {
-+ if self.eq_token.is_none() {
-+ if let Type::Verbatim(default) = default {
-+ let mut iter = default.clone().into_iter();
-+ match (iter.next(), iter.next()) {
-+ (Some(TokenTree::Punct(ref q)), Some(TokenTree::Ident(ref c)))
-+ if q.as_char() == '?' && c == "const" =>
-+ {
-+ return default.to_tokens(tokens);
-+ }
-+ _ => {}
-+ }
-+ }
-+ }
-+ }
- TokensOrDefault(&self.eq_token).to_tokens(tokens);
-- self.default.to_tokens(tokens);
-+ default.to_tokens(tokens);
- }
- }
- }
-@@ -1117,9 +1184,9 @@ mod printing {
- self.ident.to_tokens(tokens);
- self.colon_token.to_tokens(tokens);
- self.ty.to_tokens(tokens);
-- if self.default.is_some() {
-+ if let Some(default) = &self.default {
- TokensOrDefault(&self.eq_token).to_tokens(tokens);
-- self.default.to_tokens(tokens);
-+ default.to_tokens(tokens);
- }
- }
- }
-diff --git a/third_party/rust/syn/src/item.rs b/third_party/rust/syn/src/item.rs
-index ff4485ace9..0d8f7d3ddc 100644
---- mozilla-release/third_party/rust/syn/src/item.rs
-+++ mozilla-release/third_party/rust/syn/src/item.rs
-@@ -1,17 +1,15 @@
- use super::*;
--use crate::derive::{Data, DeriveInput};
-+use crate::derive::{Data, DataEnum, DataStruct, DataUnion, DeriveInput};
- use crate::punctuated::Punctuated;
- use proc_macro2::TokenStream;
-
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
--#[cfg(feature = "extra-traits")]
--use std::hash::{Hash, Hasher};
-+#[cfg(feature = "parsing")]
-+use std::mem;
-
- ast_enum_of_structs! {
- /// Things that can appear directly inside of a module or scope.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -21,7 +19,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum Item #manual_extra_traits {
-+ pub enum Item {
- /// A constant item: `const MAX: u16 = 65535`.
- Const(ItemConst),
-
-@@ -83,7 +81,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A constant item: `const MAX: u16 = 65535`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemConst {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -100,7 +98,7 @@ ast_struct! {
- ast_struct! {
- /// An enum definition: `enum Foo<A, B> { A(A), B(B) }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemEnum {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -115,7 +113,7 @@ ast_struct! {
- ast_struct! {
- /// An `extern crate` item: `extern crate serde`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemExternCrate {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -131,7 +129,7 @@ ast_struct! {
- /// A free-standing function: `fn process(n: usize) -> Result<()> { ...
- /// }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemFn {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -143,7 +141,7 @@ ast_struct! {
- ast_struct! {
- /// A block of foreign items: `extern "C" { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemForeignMod {
- pub attrs: Vec<Attribute>,
- pub abi: Abi,
-@@ -156,7 +154,7 @@ ast_struct! {
- /// An impl block providing trait or associated items: `impl<A> Trait
- /// for Data<A> { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemImpl {
- pub attrs: Vec<Attribute>,
- pub defaultness: Option<Token![default]>,
-@@ -175,7 +173,7 @@ ast_struct! {
- ast_struct! {
- /// A macro invocation, which includes `macro_rules!` definitions.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemMacro {
- pub attrs: Vec<Attribute>,
- /// The `example` in `macro_rules! example { ... }`.
-@@ -188,8 +186,8 @@ ast_struct! {
- ast_struct! {
- /// A 2.0-style declarative macro introduced by the `macro` keyword.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-- pub struct ItemMacro2 #manual_extra_traits {
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
-+ pub struct ItemMacro2 {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
- pub macro_token: Token![macro],
-@@ -201,7 +199,7 @@ ast_struct! {
- ast_struct! {
- /// A module or module declaration: `mod m` or `mod m { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemMod {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -215,7 +213,7 @@ ast_struct! {
- ast_struct! {
- /// A static item: `static BIKE: Shed = Shed(42)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemStatic {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -233,7 +231,7 @@ ast_struct! {
- ast_struct! {
- /// A struct definition: `struct Foo<A> { x: A }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemStruct {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -248,7 +246,7 @@ ast_struct! {
- ast_struct! {
- /// A trait definition: `pub trait Iterator { ... }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemTrait {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -267,7 +265,7 @@ ast_struct! {
- ast_struct! {
- /// A trait alias: `pub trait SharableIterator = Iterator + Sync`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemTraitAlias {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -283,7 +281,7 @@ ast_struct! {
- ast_struct! {
- /// A type alias: `type Result<T> = std::result::Result<T, MyError>`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemType {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -299,7 +297,7 @@ ast_struct! {
- ast_struct! {
- /// A union definition: `union Foo<A, B> { x: A, y: B }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemUnion {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -313,7 +311,7 @@ ast_struct! {
- ast_struct! {
- /// A use declaration: `use std::collections::HashMap`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ItemUse {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -324,145 +322,32 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Item {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Item {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (Item::Const(this), Item::Const(other)) => this == other,
-- (Item::Enum(this), Item::Enum(other)) => this == other,
-- (Item::ExternCrate(this), Item::ExternCrate(other)) => this == other,
-- (Item::Fn(this), Item::Fn(other)) => this == other,
-- (Item::ForeignMod(this), Item::ForeignMod(other)) => this == other,
-- (Item::Impl(this), Item::Impl(other)) => this == other,
-- (Item::Macro(this), Item::Macro(other)) => this == other,
-- (Item::Macro2(this), Item::Macro2(other)) => this == other,
-- (Item::Mod(this), Item::Mod(other)) => this == other,
-- (Item::Static(this), Item::Static(other)) => this == other,
-- (Item::Struct(this), Item::Struct(other)) => this == other,
-- (Item::Trait(this), Item::Trait(other)) => this == other,
-- (Item::TraitAlias(this), Item::TraitAlias(other)) => this == other,
-- (Item::Type(this), Item::Type(other)) => this == other,
-- (Item::Union(this), Item::Union(other)) => this == other,
-- (Item::Use(this), Item::Use(other)) => this == other,
-- (Item::Verbatim(this), Item::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Item {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-+impl Item {
-+ #[cfg(feature = "parsing")]
-+ pub(crate) fn replace_attrs(&mut self, new: Vec<Attribute>) -> Vec<Attribute> {
- match self {
-- Item::Const(item) => {
-- state.write_u8(0);
-- item.hash(state);
-- }
-- Item::Enum(item) => {
-- state.write_u8(1);
-- item.hash(state);
-- }
-- Item::ExternCrate(item) => {
-- state.write_u8(2);
-- item.hash(state);
-- }
-- Item::Fn(item) => {
-- state.write_u8(3);
-- item.hash(state);
-- }
-- Item::ForeignMod(item) => {
-- state.write_u8(4);
-- item.hash(state);
-- }
-- Item::Impl(item) => {
-- state.write_u8(5);
-- item.hash(state);
-- }
-- Item::Macro(item) => {
-- state.write_u8(6);
-- item.hash(state);
-- }
-- Item::Macro2(item) => {
-- state.write_u8(7);
-- item.hash(state);
-- }
-- Item::Mod(item) => {
-- state.write_u8(8);
-- item.hash(state);
-- }
-- Item::Static(item) => {
-- state.write_u8(9);
-- item.hash(state);
-- }
-- Item::Struct(item) => {
-- state.write_u8(10);
-- item.hash(state);
-- }
-- Item::Trait(item) => {
-- state.write_u8(11);
-- item.hash(state);
-- }
-- Item::TraitAlias(item) => {
-- state.write_u8(12);
-- item.hash(state);
-- }
-- Item::Type(item) => {
-- state.write_u8(13);
-- item.hash(state);
-- }
-- Item::Union(item) => {
-- state.write_u8(14);
-- item.hash(state);
-- }
-- Item::Use(item) => {
-- state.write_u8(15);
-- item.hash(state);
-- }
-- Item::Verbatim(item) => {
-- state.write_u8(16);
-- TokenStreamHelper(item).hash(state);
-- }
-+ Item::ExternCrate(ItemExternCrate { attrs, .. })
-+ | Item::Use(ItemUse { attrs, .. })
-+ | Item::Static(ItemStatic { attrs, .. })
-+ | Item::Const(ItemConst { attrs, .. })
-+ | Item::Fn(ItemFn { attrs, .. })
-+ | Item::Mod(ItemMod { attrs, .. })
-+ | Item::ForeignMod(ItemForeignMod { attrs, .. })
-+ | Item::Type(ItemType { attrs, .. })
-+ | Item::Struct(ItemStruct { attrs, .. })
-+ | Item::Enum(ItemEnum { attrs, .. })
-+ | Item::Union(ItemUnion { attrs, .. })
-+ | Item::Trait(ItemTrait { attrs, .. })
-+ | Item::TraitAlias(ItemTraitAlias { attrs, .. })
-+ | Item::Impl(ItemImpl { attrs, .. })
-+ | Item::Macro(ItemMacro { attrs, .. })
-+ | Item::Macro2(ItemMacro2 { attrs, .. }) => mem::replace(attrs, new),
-+ Item::Verbatim(_) => Vec::new(),
- Item::__Nonexhaustive => unreachable!(),
- }
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for ItemMacro2 {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for ItemMacro2 {
-- fn eq(&self, other: &Self) -> bool {
-- self.attrs == other.attrs
-- && self.vis == other.vis
-- && self.macro_token == other.macro_token
-- && self.ident == other.ident
-- && TokenStreamHelper(&self.rules) == TokenStreamHelper(&other.rules)
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for ItemMacro2 {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- self.attrs.hash(state);
-- self.vis.hash(state);
-- self.macro_token.hash(state);
-- self.ident.hash(state);
-- TokenStreamHelper(&self.rules).hash(state);
-- }
--}
--
- impl From<DeriveInput> for Item {
- fn from(input: DeriveInput) -> Item {
- match input.data {
-@@ -496,10 +381,57 @@ impl From<DeriveInput> for Item {
- }
- }
-
-+impl From<ItemStruct> for DeriveInput {
-+ fn from(input: ItemStruct) -> DeriveInput {
-+ DeriveInput {
-+ attrs: input.attrs,
-+ vis: input.vis,
-+ ident: input.ident,
-+ generics: input.generics,
-+ data: Data::Struct(DataStruct {
-+ struct_token: input.struct_token,
-+ fields: input.fields,
-+ semi_token: input.semi_token,
-+ }),
-+ }
-+ }
-+}
-+
-+impl From<ItemEnum> for DeriveInput {
-+ fn from(input: ItemEnum) -> DeriveInput {
-+ DeriveInput {
-+ attrs: input.attrs,
-+ vis: input.vis,
-+ ident: input.ident,
-+ generics: input.generics,
-+ data: Data::Enum(DataEnum {
-+ enum_token: input.enum_token,
-+ brace_token: input.brace_token,
-+ variants: input.variants,
-+ }),
-+ }
-+ }
-+}
-+
-+impl From<ItemUnion> for DeriveInput {
-+ fn from(input: ItemUnion) -> DeriveInput {
-+ DeriveInput {
-+ attrs: input.attrs,
-+ vis: input.vis,
-+ ident: input.ident,
-+ generics: input.generics,
-+ data: Data::Union(DataUnion {
-+ union_token: input.union_token,
-+ fields: input.fields,
-+ }),
-+ }
-+ }
-+}
-+
- ast_enum_of_structs! {
- /// A suffix of an import tree in a `use` item: `Type as Renamed` or `*`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -530,7 +462,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A path prefix of imports in a `use` item: `std::...`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct UsePath {
- pub ident: Ident,
- pub colon2_token: Token![::],
-@@ -541,7 +473,7 @@ ast_struct! {
- ast_struct! {
- /// An identifier imported by a `use` item: `HashMap`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct UseName {
- pub ident: Ident,
- }
-@@ -550,7 +482,7 @@ ast_struct! {
- ast_struct! {
- /// An renamed identifier imported by a `use` item: `HashMap as Map`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct UseRename {
- pub ident: Ident,
- pub as_token: Token![as],
-@@ -561,7 +493,7 @@ ast_struct! {
- ast_struct! {
- /// A glob import in a `use` item: `*`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct UseGlob {
- pub star_token: Token![*],
- }
-@@ -570,7 +502,7 @@ ast_struct! {
- ast_struct! {
- /// A braced group of imports in a `use` item: `{A, B, C}`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct UseGroup {
- pub brace_token: token::Brace,
- pub items: Punctuated<UseTree, Token![,]>,
-@@ -580,7 +512,7 @@ ast_struct! {
- ast_enum_of_structs! {
- /// An item within an `extern` block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -590,7 +522,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum ForeignItem #manual_extra_traits {
-+ pub enum ForeignItem {
- /// A foreign function in an `extern` block.
- Fn(ForeignItemFn),
-
-@@ -614,7 +546,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A foreign function in an `extern` block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ForeignItemFn {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -626,7 +558,7 @@ ast_struct! {
- ast_struct! {
- /// A foreign static item in an `extern` block: `static ext: u8`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ForeignItemStatic {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -642,7 +574,7 @@ ast_struct! {
- ast_struct! {
- /// A foreign type in an `extern` block: `type void`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ForeignItemType {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -655,7 +587,7 @@ ast_struct! {
- ast_struct! {
- /// A macro invocation within an extern block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ForeignItemMacro {
- pub attrs: Vec<Attribute>,
- pub mac: Macro,
-@@ -663,61 +595,10 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for ForeignItem {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for ForeignItem {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (ForeignItem::Fn(this), ForeignItem::Fn(other)) => this == other,
-- (ForeignItem::Static(this), ForeignItem::Static(other)) => this == other,
-- (ForeignItem::Type(this), ForeignItem::Type(other)) => this == other,
-- (ForeignItem::Macro(this), ForeignItem::Macro(other)) => this == other,
-- (ForeignItem::Verbatim(this), ForeignItem::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for ForeignItem {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- ForeignItem::Fn(item) => {
-- state.write_u8(0);
-- item.hash(state);
-- }
-- ForeignItem::Static(item) => {
-- state.write_u8(1);
-- item.hash(state);
-- }
-- ForeignItem::Type(item) => {
-- state.write_u8(2);
-- item.hash(state);
-- }
-- ForeignItem::Macro(item) => {
-- state.write_u8(3);
-- item.hash(state);
-- }
-- ForeignItem::Verbatim(item) => {
-- state.write_u8(4);
-- TokenStreamHelper(item).hash(state);
-- }
-- ForeignItem::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- ast_enum_of_structs! {
- /// An item declaration within the definition of a trait.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -727,7 +608,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum TraitItem #manual_extra_traits {
-+ pub enum TraitItem {
- /// An associated constant within the definition of a trait.
- Const(TraitItemConst),
-
-@@ -751,7 +632,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// An associated constant within the definition of a trait.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct TraitItemConst {
- pub attrs: Vec<Attribute>,
- pub const_token: Token![const],
-@@ -766,7 +647,7 @@ ast_struct! {
- ast_struct! {
- /// A trait method within the definition of a trait.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct TraitItemMethod {
- pub attrs: Vec<Attribute>,
- pub sig: Signature,
-@@ -778,7 +659,7 @@ ast_struct! {
- ast_struct! {
- /// An associated type within the definition of a trait.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct TraitItemType {
- pub attrs: Vec<Attribute>,
- pub type_token: Token![type],
-@@ -794,7 +675,7 @@ ast_struct! {
- ast_struct! {
- /// A macro invocation within the definition of a trait.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct TraitItemMacro {
- pub attrs: Vec<Attribute>,
- pub mac: Macro,
-@@ -802,61 +683,10 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for TraitItem {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for TraitItem {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (TraitItem::Const(this), TraitItem::Const(other)) => this == other,
-- (TraitItem::Method(this), TraitItem::Method(other)) => this == other,
-- (TraitItem::Type(this), TraitItem::Type(other)) => this == other,
-- (TraitItem::Macro(this), TraitItem::Macro(other)) => this == other,
-- (TraitItem::Verbatim(this), TraitItem::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for TraitItem {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- TraitItem::Const(item) => {
-- state.write_u8(0);
-- item.hash(state);
-- }
-- TraitItem::Method(item) => {
-- state.write_u8(1);
-- item.hash(state);
-- }
-- TraitItem::Type(item) => {
-- state.write_u8(2);
-- item.hash(state);
-- }
-- TraitItem::Macro(item) => {
-- state.write_u8(3);
-- item.hash(state);
-- }
-- TraitItem::Verbatim(item) => {
-- state.write_u8(4);
-- TokenStreamHelper(item).hash(state);
-- }
-- TraitItem::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- ast_enum_of_structs! {
- /// An item within an impl block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -866,7 +696,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum ImplItem #manual_extra_traits {
-+ pub enum ImplItem {
- /// An associated constant within an impl block.
- Const(ImplItemConst),
-
-@@ -890,7 +720,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// An associated constant within an impl block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ImplItemConst {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -908,7 +738,7 @@ ast_struct! {
- ast_struct! {
- /// A method within an impl block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ImplItemMethod {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -921,7 +751,7 @@ ast_struct! {
- ast_struct! {
- /// An associated type within an impl block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ImplItemType {
- pub attrs: Vec<Attribute>,
- pub vis: Visibility,
-@@ -938,7 +768,7 @@ ast_struct! {
- ast_struct! {
- /// A macro invocation within an impl block.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct ImplItemMacro {
- pub attrs: Vec<Attribute>,
- pub mac: Macro,
-@@ -946,62 +776,11 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for ImplItem {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for ImplItem {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (ImplItem::Const(this), ImplItem::Const(other)) => this == other,
-- (ImplItem::Method(this), ImplItem::Method(other)) => this == other,
-- (ImplItem::Type(this), ImplItem::Type(other)) => this == other,
-- (ImplItem::Macro(this), ImplItem::Macro(other)) => this == other,
-- (ImplItem::Verbatim(this), ImplItem::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for ImplItem {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- ImplItem::Const(item) => {
-- state.write_u8(0);
-- item.hash(state);
-- }
-- ImplItem::Method(item) => {
-- state.write_u8(1);
-- item.hash(state);
-- }
-- ImplItem::Type(item) => {
-- state.write_u8(2);
-- item.hash(state);
-- }
-- ImplItem::Macro(item) => {
-- state.write_u8(3);
-- item.hash(state);
-- }
-- ImplItem::Verbatim(item) => {
-- state.write_u8(4);
-- TokenStreamHelper(item).hash(state);
-- }
-- ImplItem::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- ast_struct! {
- /// A function signature in a trait or implementation: `unsafe fn
- /// initialize(&self)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Signature {
- pub constness: Option<Token![const]>,
- pub asyncness: Option<Token![async]>,
-@@ -1017,13 +796,34 @@ ast_struct! {
- }
- }
-
-+impl Signature {
-+ /// A method's `self` receiver, such as `&self` or `self: Box<Self>`.
-+ pub fn receiver(&self) -> Option<&FnArg> {
-+ let arg = self.inputs.first()?;
-+ match arg {
-+ FnArg::Receiver(_) => Some(arg),
-+ FnArg::Typed(PatType { pat, .. }) => {
-+ if let Pat::Ident(PatIdent { ident, .. }) = &**pat {
-+ if ident == "self" {
-+ return Some(arg);
-+ }
-+ }
-+ None
-+ }
-+ }
-+ }
-+}
-+
- ast_enum_of_structs! {
- /// An argument in a function signature: the `n: usize` in `fn f(n: usize)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub enum FnArg {
- /// The `self` argument of an associated method, whether taken by value
- /// or by reference.
-+ ///
-+ /// Note that `self` receivers with a specified type, such as `self:
-+ /// Box<Self>`, are parsed as a `FnArg::Typed`.
- Receiver(Receiver),
-
- /// A function argument accepted by pattern and type.
-@@ -1035,7 +835,10 @@ ast_struct! {
- /// The `self` argument of an associated method, whether taken by value
- /// or by reference.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// Note that `self` receivers with a specified type, such as `self:
-+ /// Box<Self>`, are parsed as a `FnArg::Typed`.
-+ ///
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Receiver {
- pub attrs: Vec<Attribute>,
- pub reference: Option<(Token![&], Option<Lifetime>)>,
-@@ -1056,7 +859,8 @@ pub mod parsing {
-
- use crate::ext::IdentExt;
- use crate::parse::discouraged::Speculative;
-- use crate::parse::{Parse, ParseStream, Result};
-+ use crate::parse::{Parse, ParseBuffer, ParseStream, Result};
-+ use crate::token::Brace;
- use proc_macro2::{Delimiter, Group, Punct, Spacing, TokenTree};
- use std::iter::{self, FromIterator};
-
-@@ -1064,18 +868,26 @@ pub mod parsing {
-
- impl Parse for Item {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let begin = input.fork();
- let mut attrs = input.call(Attribute::parse_outer)?;
- let ahead = input.fork();
- let vis: Visibility = ahead.parse()?;
-
- let lookahead = ahead.lookahead1();
-- let mut item = if lookahead.peek(Token![extern]) {
-+ let mut item = if lookahead.peek(Token![fn]) || peek_signature(&ahead) {
-+ let vis: Visibility = input.parse()?;
-+ let sig = parse_signature(input)?;
-+ if input.peek(Token![;]) {
-+ input.parse::<Token![;]>()?;
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ parse_rest_of_fn(input, Vec::new(), vis, sig).map(Item::Fn)
-+ }
-+ } else if lookahead.peek(Token![extern]) {
- ahead.parse::<Token![extern]>()?;
- let lookahead = ahead.lookahead1();
- if lookahead.peek(Token![crate]) {
- input.parse().map(Item::ExternCrate)
-- } else if lookahead.peek(Token![fn]) {
-- input.parse().map(Item::Fn)
- } else if lookahead.peek(token::Brace) {
- input.parse().map(Item::ForeignMod)
- } else if lookahead.peek(LitStr) {
-@@ -1083,8 +895,6 @@ pub mod parsing {
- let lookahead = ahead.lookahead1();
- if lookahead.peek(token::Brace) {
- input.parse().map(Item::ForeignMod)
-- } else if lookahead.peek(Token![fn]) {
-- input.parse().map(Item::Fn)
- } else {
- Err(lookahead.error())
- }
-@@ -1094,18 +904,61 @@ pub mod parsing {
- } else if lookahead.peek(Token![use]) {
- input.parse().map(Item::Use)
- } else if lookahead.peek(Token![static]) {
-- input.parse().map(Item::Static)
-+ let vis = input.parse()?;
-+ let static_token = input.parse()?;
-+ let mutability = input.parse()?;
-+ let ident = input.parse()?;
-+ let colon_token = input.parse()?;
-+ let ty = input.parse()?;
-+ if input.peek(Token![;]) {
-+ input.parse::<Token![;]>()?;
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(Item::Static(ItemStatic {
-+ attrs: Vec::new(),
-+ vis,
-+ static_token,
-+ mutability,
-+ ident,
-+ colon_token,
-+ ty,
-+ eq_token: input.parse()?,
-+ expr: input.parse()?,
-+ semi_token: input.parse()?,
-+ }))
-+ }
- } else if lookahead.peek(Token![const]) {
- ahead.parse::<Token![const]>()?;
- let lookahead = ahead.lookahead1();
- if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
-- input.parse().map(Item::Const)
-- } else if lookahead.peek(Token![unsafe])
-- || lookahead.peek(Token![async])
-- || lookahead.peek(Token![extern])
-- || lookahead.peek(Token![fn])
-- {
-- input.parse().map(Item::Fn)
-+ let vis = input.parse()?;
-+ let const_token = input.parse()?;
-+ let ident = {
-+ let lookahead = input.lookahead1();
-+ if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
-+ input.call(Ident::parse_any)?
-+ } else {
-+ return Err(lookahead.error());
-+ }
-+ };
-+ let colon_token = input.parse()?;
-+ let ty = input.parse()?;
-+ if input.peek(Token![;]) {
-+ input.parse::<Token![;]>()?;
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(Item::Const(ItemConst {
-+ attrs: Vec::new(),
-+ vis,
-+ const_token,
-+ ident,
-+ colon_token,
-+ ty,
-+ eq_token: input.parse()?,
-+ expr: input.parse()?,
-+ semi_token: input.parse()?,
-+ }))
-+ }
- } else {
- Err(lookahead.error())
- }
-@@ -1117,21 +970,19 @@ pub mod parsing {
- {
- input.parse().map(Item::Trait)
- } else if lookahead.peek(Token![impl]) {
-- input.parse().map(Item::Impl)
-- } else if lookahead.peek(Token![async])
-- || lookahead.peek(Token![extern])
-- || lookahead.peek(Token![fn])
-- {
-- input.parse().map(Item::Fn)
-+ let allow_const_impl = true;
-+ if let Some(item) = parse_impl(input, allow_const_impl)? {
-+ Ok(Item::Impl(item))
-+ } else {
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ }
- } else {
- Err(lookahead.error())
- }
-- } else if lookahead.peek(Token![async]) || lookahead.peek(Token![fn]) {
-- input.parse().map(Item::Fn)
- } else if lookahead.peek(Token![mod]) {
- input.parse().map(Item::Mod)
- } else if lookahead.peek(Token![type]) {
-- input.parse().map(Item::Type)
-+ parse_item_type(begin, input)
- } else if lookahead.peek(existential) {
- input.call(item_existential).map(Item::Verbatim)
- } else if lookahead.peek(Token![struct]) {
-@@ -1147,14 +998,18 @@ pub mod parsing {
- } else if lookahead.peek(Token![impl])
- || lookahead.peek(Token![default]) && !ahead.peek2(Token![!])
- {
-- input.parse().map(Item::Impl)
-+ let allow_const_impl = true;
-+ if let Some(item) = parse_impl(input, allow_const_impl)? {
-+ Ok(Item::Impl(item))
-+ } else {
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ }
- } else if lookahead.peek(Token![macro]) {
- input.parse().map(Item::Macro2)
- } else if vis.is_inherited()
- && (lookahead.peek(Ident)
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![super])
-- || lookahead.peek(Token![extern])
- || lookahead.peek(Token![crate])
- || lookahead.peek(Token![::]))
- {
-@@ -1163,32 +1018,64 @@ pub mod parsing {
- Err(lookahead.error())
- }?;
-
-- {
-- let item_attrs = match &mut item {
-- Item::ExternCrate(item) => &mut item.attrs,
-- Item::Use(item) => &mut item.attrs,
-- Item::Static(item) => &mut item.attrs,
-- Item::Const(item) => &mut item.attrs,
-- Item::Fn(item) => &mut item.attrs,
-- Item::Mod(item) => &mut item.attrs,
-- Item::ForeignMod(item) => &mut item.attrs,
-- Item::Type(item) => &mut item.attrs,
-- Item::Struct(item) => &mut item.attrs,
-- Item::Enum(item) => &mut item.attrs,
-- Item::Union(item) => &mut item.attrs,
-- Item::Trait(item) => &mut item.attrs,
-- Item::TraitAlias(item) => &mut item.attrs,
-- Item::Impl(item) => &mut item.attrs,
-- Item::Macro(item) => &mut item.attrs,
-- Item::Macro2(item) => &mut item.attrs,
-- Item::Verbatim(_) => return Ok(item),
-- Item::__Nonexhaustive => unreachable!(),
-- };
-- attrs.extend(item_attrs.drain(..));
-- *item_attrs = attrs;
-+ attrs.extend(item.replace_attrs(Vec::new()));
-+ item.replace_attrs(attrs);
-+ Ok(item)
-+ }
-+ }
-+
-+ struct FlexibleItemType {
-+ vis: Visibility,
-+ defaultness: Option<Token![default]>,
-+ type_token: Token![type],
-+ ident: Ident,
-+ generics: Generics,
-+ colon_token: Option<Token![:]>,
-+ bounds: Punctuated<TypeParamBound, Token![+]>,
-+ ty: Option<(Token![=], Type)>,
-+ semi_token: Token![;],
-+ }
-+
-+ impl Parse for FlexibleItemType {
-+ fn parse(input: ParseStream) -> Result<Self> {
-+ let vis: Visibility = input.parse()?;
-+ let defaultness: Option<Token![default]> = input.parse()?;
-+ let type_token: Token![type] = input.parse()?;
-+ let ident: Ident = input.parse()?;
-+ let mut generics: Generics = input.parse()?;
-+ let colon_token: Option<Token![:]> = input.parse()?;
-+ let mut bounds = Punctuated::new();
-+ if colon_token.is_some() {
-+ loop {
-+ bounds.push_value(input.parse::<TypeParamBound>()?);
-+ if input.peek(Token![where]) || input.peek(Token![=]) || input.peek(Token![;]) {
-+ break;
-+ }
-+ bounds.push_punct(input.parse::<Token![+]>()?);
-+ if input.peek(Token![where]) || input.peek(Token![=]) || input.peek(Token![;]) {
-+ break;
-+ }
-+ }
- }
-+ generics.where_clause = input.parse()?;
-+ let ty = if let Some(eq_token) = input.parse()? {
-+ Some((eq_token, input.parse::<Type>()?))
-+ } else {
-+ None
-+ };
-+ let semi_token: Token![;] = input.parse()?;
-
-- Ok(item)
-+ Ok(FlexibleItemType {
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds,
-+ ty,
-+ semi_token,
-+ })
- }
- }
-
-@@ -1310,7 +1197,6 @@ pub mod parsing {
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![super])
- || lookahead.peek(Token![crate])
-- || lookahead.peek(Token![extern])
- {
- let ident = input.call(Ident::parse_any)?;
- if input.peek(Token![::]) {
-@@ -1392,69 +1278,126 @@ pub mod parsing {
- }
- }
-
-- impl Parse for ItemFn {
-- fn parse(input: ParseStream) -> Result<Self> {
-- let outer_attrs = input.call(Attribute::parse_outer)?;
-- let vis: Visibility = input.parse()?;
-- let constness: Option<Token![const]> = input.parse()?;
-- let asyncness: Option<Token![async]> = input.parse()?;
-- let unsafety: Option<Token![unsafe]> = input.parse()?;
-- let abi: Option<Abi> = input.parse()?;
-- let fn_token: Token![fn] = input.parse()?;
-- let ident: Ident = input.parse()?;
-- let generics: Generics = input.parse()?;
-+ fn pop_variadic(args: &mut Punctuated<FnArg, Token![,]>) -> Option<Variadic> {
-+ let trailing_punct = args.trailing_punct();
-
-- let content;
-- let paren_token = parenthesized!(content in input);
-- let inputs = content.parse_terminated(FnArg::parse)?;
-- let variadic = inputs.last().as_ref().and_then(get_variadic);
--
-- fn get_variadic(input: &&FnArg) -> Option<Variadic> {
-- if let FnArg::Typed(PatType { ty, .. }) = input {
-- if let Type::Verbatim(tokens) = &**ty {
-- if let Ok(dots) = parse2(tokens.clone()) {
-- return Some(Variadic {
-- attrs: Vec::new(),
-- dots,
-- });
-- }
-- }
-- }
-- None
-+ let last = match args.last_mut()? {
-+ FnArg::Typed(last) => last,
-+ _ => return None,
-+ };
-+
-+ let ty = match last.ty.as_ref() {
-+ Type::Verbatim(ty) => ty,
-+ _ => return None,
-+ };
-+
-+ let mut variadic = Variadic {
-+ attrs: Vec::new(),
-+ dots: parse2(ty.clone()).ok()?,
-+ };
-+
-+ if let Pat::Verbatim(pat) = last.pat.as_ref() {
-+ if pat.to_string() == "..." && !trailing_punct {
-+ variadic.attrs = mem::replace(&mut last.attrs, Vec::new());
-+ args.pop();
- }
-+ }
-
-- let output: ReturnType = input.parse()?;
-- let where_clause: Option<WhereClause> = input.parse()?;
-+ Some(variadic)
-+ }
-
-- let content;
-- let brace_token = braced!(content in input);
-- let inner_attrs = content.call(Attribute::parse_inner)?;
-- let stmts = content.call(Block::parse_within)?;
-+ fn variadic_to_tokens(dots: &Token![...]) -> TokenStream {
-+ TokenStream::from_iter(vec![
-+ TokenTree::Punct({
-+ let mut dot = Punct::new('.', Spacing::Joint);
-+ dot.set_span(dots.spans[0]);
-+ dot
-+ }),
-+ TokenTree::Punct({
-+ let mut dot = Punct::new('.', Spacing::Joint);
-+ dot.set_span(dots.spans[1]);
-+ dot
-+ }),
-+ TokenTree::Punct({
-+ let mut dot = Punct::new('.', Spacing::Alone);
-+ dot.set_span(dots.spans[2]);
-+ dot
-+ }),
-+ ])
-+ }
-
-- Ok(ItemFn {
-- attrs: private::attrs(outer_attrs, inner_attrs),
-- vis,
-- sig: Signature {
-- constness,
-- asyncness,
-- unsafety,
-- abi,
-- fn_token,
-- ident,
-- paren_token,
-- inputs,
-- output,
-- variadic,
-- generics: Generics {
-- where_clause,
-- ..generics
-- },
-- },
-- block: Box::new(Block { brace_token, stmts }),
-- })
-+ fn peek_signature(input: ParseStream) -> bool {
-+ let fork = input.fork();
-+ fork.parse::<Option<Token![const]>>().is_ok()
-+ && fork.parse::<Option<Token![async]>>().is_ok()
-+ && fork.parse::<Option<Token![unsafe]>>().is_ok()
-+ && fork.parse::<Option<Abi>>().is_ok()
-+ && fork.peek(Token![fn])
-+ }
-+
-+ fn parse_signature(input: ParseStream) -> Result<Signature> {
-+ let constness: Option<Token![const]> = input.parse()?;
-+ let asyncness: Option<Token![async]> = input.parse()?;
-+ let unsafety: Option<Token![unsafe]> = input.parse()?;
-+ let abi: Option<Abi> = input.parse()?;
-+ let fn_token: Token![fn] = input.parse()?;
-+ let ident: Ident = input.parse()?;
-+ let generics: Generics = input.parse()?;
-+
-+ let content;
-+ let paren_token = parenthesized!(content in input);
-+ let mut inputs = parse_fn_args(&content)?;
-+ let variadic = pop_variadic(&mut inputs);
-+
-+ let output: ReturnType = input.parse()?;
-+ let where_clause: Option<WhereClause> = input.parse()?;
-+
-+ Ok(Signature {
-+ constness,
-+ asyncness,
-+ unsafety,
-+ abi,
-+ fn_token,
-+ ident,
-+ paren_token,
-+ inputs,
-+ output,
-+ variadic,
-+ generics: Generics {
-+ where_clause,
-+ ..generics
-+ },
-+ })
-+ }
-+
-+ impl Parse for ItemFn {
-+ fn parse(input: ParseStream) -> Result<Self> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
-+ let vis: Visibility = input.parse()?;
-+ let sig = parse_signature(input)?;
-+ parse_rest_of_fn(input, outer_attrs, vis, sig)
- }
- }
-
-+ fn parse_rest_of_fn(
-+ input: ParseStream,
-+ outer_attrs: Vec<Attribute>,
-+ vis: Visibility,
-+ sig: Signature,
-+ ) -> Result<ItemFn> {
-+ let content;
-+ let brace_token = braced!(content in input);
-+ let inner_attrs = content.call(Attribute::parse_inner)?;
-+ let stmts = content.call(Block::parse_within)?;
-+
-+ Ok(ItemFn {
-+ attrs: private::attrs(outer_attrs, inner_attrs),
-+ vis,
-+ sig,
-+ block: Box::new(Block { brace_token, stmts }),
-+ })
-+ }
-+
- impl Parse for FnArg {
- fn parse(input: ParseStream) -> Result<Self> {
- let attrs = input.call(Attribute::parse_outer)?;
-@@ -1491,26 +1434,79 @@ pub mod parsing {
- }
- }
-
-+ fn parse_fn_args(input: ParseStream) -> Result<Punctuated<FnArg, Token![,]>> {
-+ let mut args = Punctuated::new();
-+ let mut has_receiver = false;
-+
-+ while !input.is_empty() {
-+ let attrs = input.call(Attribute::parse_outer)?;
-+
-+ let arg = if let Some(dots) = input.parse::<Option<Token![...]>>()? {
-+ FnArg::Typed(PatType {
-+ attrs,
-+ pat: Box::new(Pat::Verbatim(variadic_to_tokens(&dots))),
-+ colon_token: Token![:](dots.spans[0]),
-+ ty: Box::new(Type::Verbatim(variadic_to_tokens(&dots))),
-+ })
-+ } else {
-+ let mut arg: FnArg = input.parse()?;
-+ match &mut arg {
-+ FnArg::Receiver(receiver) if has_receiver => {
-+ return Err(Error::new(
-+ receiver.self_token.span,
-+ "unexpected second method receiver",
-+ ));
-+ }
-+ FnArg::Receiver(receiver) if !args.is_empty() => {
-+ return Err(Error::new(
-+ receiver.self_token.span,
-+ "unexpected method receiver",
-+ ));
-+ }
-+ FnArg::Receiver(receiver) => {
-+ has_receiver = true;
-+ receiver.attrs = attrs;
-+ }
-+ FnArg::Typed(arg) => arg.attrs = attrs,
-+ }
-+ arg
-+ };
-+ args.push_value(arg);
-+
-+ if input.is_empty() {
-+ break;
-+ }
-+
-+ let comma: Token![,] = input.parse()?;
-+ args.push_punct(comma);
-+ }
-+
-+ Ok(args)
-+ }
-+
- fn fn_arg_typed(input: ParseStream) -> Result<PatType> {
-+ // Hack to parse pre-2018 syntax in
-+ // test/ui/rfc-2565-param-attrs/param-attrs-pretty.rs
-+ // because the rest of the test case is valuable.
-+ if input.peek(Ident) && input.peek2(Token![<]) {
-+ let span = input.fork().parse::<Ident>()?.span();
-+ return Ok(PatType {
-+ attrs: Vec::new(),
-+ pat: Box::new(Pat::Wild(PatWild {
-+ attrs: Vec::new(),
-+ underscore_token: Token![_](span),
-+ })),
-+ colon_token: Token![:](span),
-+ ty: input.parse()?,
-+ });
-+ }
-+
- Ok(PatType {
- attrs: Vec::new(),
-- pat: input.parse()?,
-+ pat: Box::new(pat::parsing::multi_pat(input)?),
- colon_token: input.parse()?,
- ty: Box::new(match input.parse::<Option<Token![...]>>()? {
-- Some(dot3) => {
-- let args = vec![
-- TokenTree::Punct(Punct::new('.', Spacing::Joint)),
-- TokenTree::Punct(Punct::new('.', Spacing::Joint)),
-- TokenTree::Punct(Punct::new('.', Spacing::Alone)),
-- ];
-- let tokens = TokenStream::from_iter(args.into_iter().zip(&dot3.spans).map(
-- |(mut arg, span)| {
-- arg.set_span(*span);
-- arg
-- },
-- ));
-- Type::Verbatim(tokens)
-- }
-+ Some(dot3) => Type::Verbatim(variadic_to_tokens(&dot3)),
- None => input.parse()?,
- }),
- })
-@@ -1581,22 +1577,60 @@ pub mod parsing {
-
- impl Parse for ForeignItem {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let begin = input.fork();
- let mut attrs = input.call(Attribute::parse_outer)?;
- let ahead = input.fork();
- let vis: Visibility = ahead.parse()?;
-
- let lookahead = ahead.lookahead1();
-- let mut item = if lookahead.peek(Token![fn]) {
-- input.parse().map(ForeignItem::Fn)
-+ let mut item = if lookahead.peek(Token![fn]) || peek_signature(&ahead) {
-+ let vis: Visibility = input.parse()?;
-+ let sig = parse_signature(input)?;
-+ if input.peek(token::Brace) {
-+ let content;
-+ braced!(content in input);
-+ content.call(Attribute::parse_inner)?;
-+ content.call(Block::parse_within)?;
-+
-+ Ok(ForeignItem::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(ForeignItem::Fn(ForeignItemFn {
-+ attrs: Vec::new(),
-+ vis,
-+ sig,
-+ semi_token: input.parse()?,
-+ }))
-+ }
- } else if lookahead.peek(Token![static]) {
-- input.parse().map(ForeignItem::Static)
-+ let vis = input.parse()?;
-+ let static_token = input.parse()?;
-+ let mutability = input.parse()?;
-+ let ident = input.parse()?;
-+ let colon_token = input.parse()?;
-+ let ty = input.parse()?;
-+ if input.peek(Token![=]) {
-+ input.parse::<Token![=]>()?;
-+ input.parse::<Expr>()?;
-+ input.parse::<Token![;]>()?;
-+ Ok(ForeignItem::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(ForeignItem::Static(ForeignItemStatic {
-+ attrs: Vec::new(),
-+ vis,
-+ static_token,
-+ mutability,
-+ ident,
-+ colon_token,
-+ ty,
-+ semi_token: input.parse()?,
-+ }))
-+ }
- } else if lookahead.peek(Token![type]) {
-- input.parse().map(ForeignItem::Type)
-+ parse_foreign_item_type(begin, input)
- } else if vis.is_inherited()
- && (lookahead.peek(Ident)
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![super])
-- || lookahead.peek(Token![extern])
- || lookahead.peek(Token![crate])
- || lookahead.peek(Token![::]))
- {
-@@ -1605,17 +1639,16 @@ pub mod parsing {
- Err(lookahead.error())
- }?;
-
-- {
-- let item_attrs = match &mut item {
-- ForeignItem::Fn(item) => &mut item.attrs,
-- ForeignItem::Static(item) => &mut item.attrs,
-- ForeignItem::Type(item) => &mut item.attrs,
-- ForeignItem::Macro(item) => &mut item.attrs,
-- ForeignItem::Verbatim(_) | ForeignItem::__Nonexhaustive => unreachable!(),
-- };
-- attrs.extend(item_attrs.drain(..));
-- *item_attrs = attrs;
-- }
-+ let item_attrs = match &mut item {
-+ ForeignItem::Fn(item) => &mut item.attrs,
-+ ForeignItem::Static(item) => &mut item.attrs,
-+ ForeignItem::Type(item) => &mut item.attrs,
-+ ForeignItem::Macro(item) => &mut item.attrs,
-+ ForeignItem::Verbatim(_) => return Ok(item),
-+ ForeignItem::__Nonexhaustive => unreachable!(),
-+ };
-+ attrs.extend(item_attrs.drain(..));
-+ *item_attrs = attrs;
-
- Ok(item)
- }
-@@ -1625,55 +1658,12 @@ pub mod parsing {
- fn parse(input: ParseStream) -> Result<Self> {
- let attrs = input.call(Attribute::parse_outer)?;
- let vis: Visibility = input.parse()?;
-- let fn_token: Token![fn] = input.parse()?;
-- let ident: Ident = input.parse()?;
-- let generics: Generics = input.parse()?;
--
-- let content;
-- let paren_token = parenthesized!(content in input);
-- let mut inputs = Punctuated::new();
-- let mut variadic = None;
-- while !content.is_empty() {
-- let attrs = content.call(Attribute::parse_outer)?;
--
-- if let Some(dots) = content.parse()? {
-- variadic = Some(Variadic { attrs, dots });
-- break;
-- }
--
-- let mut arg = content.call(fn_arg_typed)?;
-- arg.attrs = attrs;
-- inputs.push_value(FnArg::Typed(arg));
-- if content.is_empty() {
-- break;
-- }
--
-- inputs.push_punct(content.parse()?);
-- }
--
-- let output: ReturnType = input.parse()?;
-- let where_clause: Option<WhereClause> = input.parse()?;
-+ let sig = parse_signature(input)?;
- let semi_token: Token![;] = input.parse()?;
--
- Ok(ForeignItemFn {
- attrs,
- vis,
-- sig: Signature {
-- constness: None,
-- asyncness: None,
-- unsafety: None,
-- abi: None,
-- fn_token,
-- ident,
-- paren_token,
-- inputs,
-- output,
-- variadic,
-- generics: Generics {
-- where_clause,
-- ..generics
-- },
-- },
-+ sig,
- semi_token,
- })
- }
-@@ -1706,6 +1696,37 @@ pub mod parsing {
- }
- }
-
-+ fn parse_foreign_item_type(begin: ParseBuffer, input: ParseStream) -> Result<ForeignItem> {
-+ let FlexibleItemType {
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds: _,
-+ ty,
-+ semi_token,
-+ } = input.parse()?;
-+
-+ if defaultness.is_some()
-+ || generics.lt_token.is_some()
-+ || generics.where_clause.is_some()
-+ || colon_token.is_some()
-+ || ty.is_some()
-+ {
-+ Ok(ForeignItem::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(ForeignItem::Type(ForeignItemType {
-+ attrs: Vec::new(),
-+ vis,
-+ type_token,
-+ ident,
-+ semi_token,
-+ }))
-+ }
-+ }
-+
- impl Parse for ForeignItemMacro {
- fn parse(input: ParseStream) -> Result<Self> {
- let attrs = input.call(Attribute::parse_outer)?;
-@@ -1742,6 +1763,36 @@ pub mod parsing {
- }
- }
-
-+ fn parse_item_type(begin: ParseBuffer, input: ParseStream) -> Result<Item> {
-+ let FlexibleItemType {
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds: _,
-+ ty,
-+ semi_token,
-+ } = input.parse()?;
-+
-+ if defaultness.is_some() || colon_token.is_some() || ty.is_none() {
-+ Ok(Item::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ let (eq_token, ty) = ty.unwrap();
-+ Ok(Item::Type(ItemType {
-+ attrs: Vec::new(),
-+ vis,
-+ type_token,
-+ ident,
-+ generics,
-+ eq_token,
-+ ty: Box::new(ty),
-+ semi_token,
-+ }))
-+ }
-+ }
-+
- #[cfg(not(feature = "printing"))]
- fn item_existential(input: ParseStream) -> Result<TokenStream> {
- Err(input.error("existential type is not supported"))
-@@ -1887,7 +1938,7 @@ pub mod parsing {
-
- impl Parse for ItemTrait {
- fn parse(input: ParseStream) -> Result<Self> {
-- let attrs = input.call(Attribute::parse_outer)?;
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
- let vis: Visibility = input.parse()?;
- let unsafety: Option<Token![unsafe]> = input.parse()?;
- let auto_token: Option<Token![auto]> = input.parse()?;
-@@ -1896,7 +1947,7 @@ pub mod parsing {
- let generics: Generics = input.parse()?;
- parse_rest_of_trait(
- input,
-- attrs,
-+ outer_attrs,
- vis,
- unsafety,
- auto_token,
-@@ -1909,7 +1960,7 @@ pub mod parsing {
-
- fn parse_rest_of_trait(
- input: ParseStream,
-- attrs: Vec<Attribute>,
-+ outer_attrs: Vec<Attribute>,
- vis: Visibility,
- unsafety: Option<Token![unsafe]>,
- auto_token: Option<Token![auto]>,
-@@ -1937,13 +1988,14 @@ pub mod parsing {
-
- let content;
- let brace_token = braced!(content in input);
-+ let inner_attrs = content.call(Attribute::parse_inner)?;
- let mut items = Vec::new();
- while !content.is_empty() {
- items.push(content.parse()?);
- }
-
- Ok(ItemTrait {
-- attrs,
-+ attrs: private::attrs(outer_attrs, inner_attrs),
- vis,
- unsafety,
- auto_token,
-@@ -2014,14 +2066,19 @@ pub mod parsing {
-
- impl Parse for TraitItem {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let begin = input.fork();
- let mut attrs = input.call(Attribute::parse_outer)?;
-+ let vis: Visibility = input.parse()?;
-+ let defaultness: Option<Token![default]> = input.parse()?;
- let ahead = input.fork();
-
- let lookahead = ahead.lookahead1();
-- let mut item = if lookahead.peek(Token![const]) {
-+ let mut item = if lookahead.peek(Token![fn]) || peek_signature(&ahead) {
-+ input.parse().map(TraitItem::Method)
-+ } else if lookahead.peek(Token![const]) {
- ahead.parse::<Token![const]>()?;
- let lookahead = ahead.lookahead1();
-- if lookahead.peek(Ident) {
-+ if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
- input.parse().map(TraitItem::Const)
- } else if lookahead.peek(Token![async])
- || lookahead.peek(Token![unsafe])
-@@ -2032,18 +2089,11 @@ pub mod parsing {
- } else {
- Err(lookahead.error())
- }
-- } else if lookahead.peek(Token![async])
-- || lookahead.peek(Token![unsafe])
-- || lookahead.peek(Token![extern])
-- || lookahead.peek(Token![fn])
-- {
-- input.parse().map(TraitItem::Method)
- } else if lookahead.peek(Token![type]) {
-- input.parse().map(TraitItem::Type)
-+ parse_trait_item_type(begin.fork(), input)
- } else if lookahead.peek(Ident)
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![super])
-- || lookahead.peek(Token![extern])
- || lookahead.peek(Token![crate])
- || lookahead.peek(Token![::])
- {
-@@ -2052,18 +2102,20 @@ pub mod parsing {
- Err(lookahead.error())
- }?;
-
-- {
-- let item_attrs = match &mut item {
-- TraitItem::Const(item) => &mut item.attrs,
-- TraitItem::Method(item) => &mut item.attrs,
-- TraitItem::Type(item) => &mut item.attrs,
-- TraitItem::Macro(item) => &mut item.attrs,
-- TraitItem::Verbatim(_) | TraitItem::__Nonexhaustive => unreachable!(),
-- };
-- attrs.extend(item_attrs.drain(..));
-- *item_attrs = attrs;
-+ match (vis, defaultness) {
-+ (Visibility::Inherited, None) => {}
-+ _ => return Ok(TraitItem::Verbatim(verbatim::between(begin, input))),
- }
-
-+ let item_attrs = match &mut item {
-+ TraitItem::Const(item) => &mut item.attrs,
-+ TraitItem::Method(item) => &mut item.attrs,
-+ TraitItem::Type(item) => &mut item.attrs,
-+ TraitItem::Macro(item) => &mut item.attrs,
-+ TraitItem::Verbatim(_) | TraitItem::__Nonexhaustive => unreachable!(),
-+ };
-+ attrs.extend(item_attrs.drain(..));
-+ *item_attrs = attrs;
- Ok(item)
- }
- }
-@@ -2073,7 +2125,14 @@ pub mod parsing {
- Ok(TraitItemConst {
- attrs: input.call(Attribute::parse_outer)?,
- const_token: input.parse()?,
-- ident: input.parse()?,
-+ ident: {
-+ let lookahead = input.lookahead1();
-+ if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
-+ input.call(Ident::parse_any)?
-+ } else {
-+ return Err(lookahead.error());
-+ }
-+ },
- colon_token: input.parse()?,
- ty: input.parse()?,
- default: {
-@@ -2093,20 +2152,7 @@ pub mod parsing {
- impl Parse for TraitItemMethod {
- fn parse(input: ParseStream) -> Result<Self> {
- let outer_attrs = input.call(Attribute::parse_outer)?;
-- let constness: Option<Token![const]> = input.parse()?;
-- let asyncness: Option<Token![async]> = input.parse()?;
-- let unsafety: Option<Token![unsafe]> = input.parse()?;
-- let abi: Option<Abi> = input.parse()?;
-- let fn_token: Token![fn] = input.parse()?;
-- let ident: Ident = input.parse()?;
-- let generics: Generics = input.parse()?;
--
-- let content;
-- let paren_token = parenthesized!(content in input);
-- let inputs = content.parse_terminated(FnArg::parse)?;
--
-- let output: ReturnType = input.parse()?;
-- let where_clause: Option<WhereClause> = input.parse()?;
-+ let sig = parse_signature(input)?;
-
- let lookahead = input.lookahead1();
- let (brace_token, inner_attrs, stmts, semi_token) = if lookahead.peek(token::Brace) {
-@@ -2124,22 +2170,7 @@ pub mod parsing {
-
- Ok(TraitItemMethod {
- attrs: private::attrs(outer_attrs, inner_attrs),
-- sig: Signature {
-- constness,
-- asyncness,
-- unsafety,
-- abi,
-- fn_token,
-- ident,
-- paren_token,
-- inputs,
-- output,
-- variadic: None,
-- generics: Generics {
-- where_clause,
-- ..generics
-- },
-- },
-+ sig,
- default: brace_token.map(|brace_token| Block { brace_token, stmts }),
- semi_token,
- })
-@@ -2188,6 +2219,35 @@ pub mod parsing {
- }
- }
-
-+ fn parse_trait_item_type(begin: ParseBuffer, input: ParseStream) -> Result<TraitItem> {
-+ let FlexibleItemType {
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds,
-+ ty,
-+ semi_token,
-+ } = input.parse()?;
-+
-+ if defaultness.is_some() || vis.is_some() {
-+ Ok(TraitItem::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ Ok(TraitItem::Type(TraitItemType {
-+ attrs: Vec::new(),
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds,
-+ default: ty,
-+ semi_token,
-+ }))
-+ }
-+ }
-+
- impl Parse for TraitItemMacro {
- fn parse(input: ParseStream) -> Result<Self> {
- let attrs = input.call(Attribute::parse_outer)?;
-@@ -2207,52 +2267,67 @@ pub mod parsing {
-
- impl Parse for ItemImpl {
- fn parse(input: ParseStream) -> Result<Self> {
-- let outer_attrs = input.call(Attribute::parse_outer)?;
-- let defaultness: Option<Token![default]> = input.parse()?;
-- let unsafety: Option<Token![unsafe]> = input.parse()?;
-- let impl_token: Token![impl] = input.parse()?;
--
-- let has_generics = input.peek(Token![<])
-- && (input.peek2(Token![>])
-- || input.peek2(Token![#])
-- || (input.peek2(Ident) || input.peek2(Lifetime))
-- && (input.peek3(Token![:])
-- || input.peek3(Token![,])
-- || input.peek3(Token![>])));
-- let generics: Generics = if has_generics {
-- input.parse()?
-- } else {
-- Generics::default()
-- };
--
-- let trait_ = {
-- // TODO: optimize using advance_to
-- let ahead = input.fork();
-- if ahead.parse::<Option<Token![!]>>().is_ok()
-- && ahead.parse::<Path>().is_ok()
-- && ahead.parse::<Token![for]>().is_ok()
-- {
-- let polarity: Option<Token![!]> = input.parse()?;
-- let path: Path = input.parse()?;
-- let for_token: Token![for] = input.parse()?;
-- Some((polarity, path, for_token))
-- } else {
-- None
-- }
-- };
-- let self_ty: Type = input.parse()?;
-- let where_clause: Option<WhereClause> = input.parse()?;
-+ let allow_const_impl = false;
-+ parse_impl(input, allow_const_impl).map(Option::unwrap)
-+ }
-+ }
-+
-+ fn parse_impl(input: ParseStream, allow_const_impl: bool) -> Result<Option<ItemImpl>> {
-+ let outer_attrs = input.call(Attribute::parse_outer)?;
-+ let defaultness: Option<Token![default]> = input.parse()?;
-+ let unsafety: Option<Token![unsafe]> = input.parse()?;
-+ let impl_token: Token![impl] = input.parse()?;
-+
-+ let has_generics = input.peek(Token![<])
-+ && (input.peek2(Token![>])
-+ || input.peek2(Token![#])
-+ || (input.peek2(Ident) || input.peek2(Lifetime))
-+ && (input.peek3(Token![:])
-+ || input.peek3(Token![,])
-+ || input.peek3(Token![>]))
-+ || input.peek2(Token![const]));
-+ let generics: Generics = if has_generics {
-+ input.parse()?
-+ } else {
-+ Generics::default()
-+ };
-
-- let content;
-- let brace_token = braced!(content in input);
-- let inner_attrs = content.call(Attribute::parse_inner)?;
-+ let is_const_impl = allow_const_impl
-+ && (input.peek(Token![const]) || input.peek(Token![?]) && input.peek2(Token![const]));
-+ if is_const_impl {
-+ input.parse::<Option<Token![?]>>()?;
-+ input.parse::<Token![const]>()?;
-+ }
-
-- let mut items = Vec::new();
-- while !content.is_empty() {
-- items.push(content.parse()?);
-+ let trait_ = (|| -> Option<_> {
-+ let ahead = input.fork();
-+ let polarity: Option<Token![!]> = ahead.parse().ok()?;
-+ let mut path: Path = ahead.parse().ok()?;
-+ if path.segments.last().unwrap().arguments.is_empty() && ahead.peek(token::Paren) {
-+ let parenthesized = PathArguments::Parenthesized(ahead.parse().ok()?);
-+ path.segments.last_mut().unwrap().arguments = parenthesized;
- }
-+ let for_token: Token![for] = ahead.parse().ok()?;
-+ input.advance_to(&ahead);
-+ Some((polarity, path, for_token))
-+ })();
-+
-+ let self_ty: Type = input.parse()?;
-+ let where_clause: Option<WhereClause> = input.parse()?;
-+
-+ let content;
-+ let brace_token = braced!(content in input);
-+ let inner_attrs = content.call(Attribute::parse_inner)?;
-+
-+ let mut items = Vec::new();
-+ while !content.is_empty() {
-+ items.push(content.parse()?);
-+ }
-
-- Ok(ItemImpl {
-+ if is_const_impl {
-+ Ok(None)
-+ } else {
-+ Ok(Some(ItemImpl {
- attrs: private::attrs(outer_attrs, inner_attrs),
- defaultness,
- unsafety,
-@@ -2265,12 +2340,13 @@ pub mod parsing {
- self_ty: Box::new(self_ty),
- brace_token,
- items,
-- })
-+ }))
- }
- }
-
- impl Parse for ImplItem {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let begin = input.fork();
- let mut attrs = input.call(Attribute::parse_outer)?;
- let ahead = input.fork();
- let vis: Visibility = ahead.parse()?;
-@@ -2284,28 +2360,38 @@ pub mod parsing {
- None
- };
-
-- let mut item = if lookahead.peek(Token![const]) {
-- ahead.parse::<Token![const]>()?;
-+ let mut item = if lookahead.peek(Token![fn]) || peek_signature(&ahead) {
-+ input.parse().map(ImplItem::Method)
-+ } else if lookahead.peek(Token![const]) {
-+ let const_token: Token![const] = ahead.parse()?;
- let lookahead = ahead.lookahead1();
-- if lookahead.peek(Ident) {
-- input.parse().map(ImplItem::Const)
-- } else if lookahead.peek(Token![unsafe])
-- || lookahead.peek(Token![async])
-- || lookahead.peek(Token![extern])
-- || lookahead.peek(Token![fn])
-- {
-- input.parse().map(ImplItem::Method)
-+ if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
-+ input.advance_to(&ahead);
-+ let ident: Ident = input.call(Ident::parse_any)?;
-+ let colon_token: Token![:] = input.parse()?;
-+ let ty: Type = input.parse()?;
-+ if let Some(eq_token) = input.parse()? {
-+ return Ok(ImplItem::Const(ImplItemConst {
-+ attrs,
-+ vis,
-+ defaultness,
-+ const_token,
-+ ident,
-+ colon_token,
-+ ty,
-+ eq_token,
-+ expr: input.parse()?,
-+ semi_token: input.parse()?,
-+ }));
-+ } else {
-+ input.parse::<Token![;]>()?;
-+ return Ok(ImplItem::Verbatim(verbatim::between(begin, input)));
-+ }
- } else {
- Err(lookahead.error())
- }
-- } else if lookahead.peek(Token![unsafe])
-- || lookahead.peek(Token![async])
-- || lookahead.peek(Token![extern])
-- || lookahead.peek(Token![fn])
-- {
-- input.parse().map(ImplItem::Method)
- } else if lookahead.peek(Token![type]) {
-- input.parse().map(ImplItem::Type)
-+ parse_impl_item_type(begin, input)
- } else if vis.is_inherited() && defaultness.is_none() && lookahead.peek(existential) {
- input.call(item_existential).map(ImplItem::Verbatim)
- } else if vis.is_inherited()
-@@ -2313,7 +2399,6 @@ pub mod parsing {
- && (lookahead.peek(Ident)
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![super])
-- || lookahead.peek(Token![extern])
- || lookahead.peek(Token![crate])
- || lookahead.peek(Token![::]))
- {
-@@ -2346,7 +2431,14 @@ pub mod parsing {
- vis: input.parse()?,
- defaultness: input.parse()?,
- const_token: input.parse()?,
-- ident: input.parse()?,
-+ ident: {
-+ let lookahead = input.lookahead1();
-+ if lookahead.peek(Ident) || lookahead.peek(Token![_]) {
-+ input.call(Ident::parse_any)?
-+ } else {
-+ return Err(lookahead.error());
-+ }
-+ },
- colon_token: input.parse()?,
- ty: input.parse()?,
- eq_token: input.parse()?,
-@@ -2358,50 +2450,39 @@ pub mod parsing {
-
- impl Parse for ImplItemMethod {
- fn parse(input: ParseStream) -> Result<Self> {
-- let outer_attrs = input.call(Attribute::parse_outer)?;
-+ let mut attrs = input.call(Attribute::parse_outer)?;
- let vis: Visibility = input.parse()?;
- let defaultness: Option<Token![default]> = input.parse()?;
-- let constness: Option<Token![const]> = input.parse()?;
-- let asyncness: Option<Token![async]> = input.parse()?;
-- let unsafety: Option<Token![unsafe]> = input.parse()?;
-- let abi: Option<Abi> = input.parse()?;
-- let fn_token: Token![fn] = input.parse()?;
-- let ident: Ident = input.parse()?;
-- let generics: Generics = input.parse()?;
--
-- let content;
-- let paren_token = parenthesized!(content in input);
-- let inputs = content.parse_terminated(FnArg::parse)?;
--
-- let output: ReturnType = input.parse()?;
-- let where_clause: Option<WhereClause> = input.parse()?;
--
-- let content;
-- let brace_token = braced!(content in input);
-- let inner_attrs = content.call(Attribute::parse_inner)?;
-- let stmts = content.call(Block::parse_within)?;
-+ let sig = parse_signature(input)?;
-+
-+ let block = if let Some(semi) = input.parse::<Option<Token![;]>>()? {
-+ // Accept methods without a body in an impl block because
-+ // rustc's *parser* does not reject them (the compilation error
-+ // is emitted later than parsing) and it can be useful for macro
-+ // DSLs.
-+ let mut punct = Punct::new(';', Spacing::Alone);
-+ punct.set_span(semi.span);
-+ let tokens = TokenStream::from_iter(vec![TokenTree::Punct(punct)]);
-+ Block {
-+ brace_token: Brace::default(),
-+ stmts: vec![Stmt::Item(Item::Verbatim(tokens))],
-+ }
-+ } else {
-+ let content;
-+ let brace_token = braced!(content in input);
-+ attrs.extend(content.call(Attribute::parse_inner)?);
-+ Block {
-+ brace_token,
-+ stmts: content.call(Block::parse_within)?,
-+ }
-+ };
-
- Ok(ImplItemMethod {
-- attrs: private::attrs(outer_attrs, inner_attrs),
-+ attrs,
- vis,
- defaultness,
-- sig: Signature {
-- constness,
-- asyncness,
-- unsafety,
-- abi,
-- fn_token,
-- ident,
-- paren_token,
-- inputs,
-- output,
-- variadic: None,
-- generics: Generics {
-- where_clause,
-- ..generics
-- },
-- },
-- block: Block { brace_token, stmts },
-+ sig,
-+ block,
- })
- }
- }
-@@ -2426,6 +2507,37 @@ pub mod parsing {
- }
- }
-
-+ fn parse_impl_item_type(begin: ParseBuffer, input: ParseStream) -> Result<ImplItem> {
-+ let FlexibleItemType {
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ colon_token,
-+ bounds: _,
-+ ty,
-+ semi_token,
-+ } = input.parse()?;
-+
-+ if colon_token.is_some() || ty.is_none() {
-+ Ok(ImplItem::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ let (eq_token, ty) = ty.unwrap();
-+ Ok(ImplItem::Type(ImplItemType {
-+ attrs: Vec::new(),
-+ vis,
-+ defaultness,
-+ type_token,
-+ ident,
-+ generics,
-+ eq_token,
-+ ty,
-+ semi_token,
-+ }))
-+ }
-+ }
-+
- impl Parse for ImplItemMacro {
- fn parse(input: ParseStream) -> Result<Self> {
- let attrs = input.call(Attribute::parse_outer)?;
-@@ -2471,6 +2583,7 @@ mod printing {
-
- use crate::attr::FilterAttrs;
- use crate::print::TokensOrDefault;
-+ use crate::punctuated::Pair;
-
- impl ToTokens for ItemExternCrate {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-@@ -2835,6 +2948,14 @@ mod printing {
- self.vis.to_tokens(tokens);
- self.defaultness.to_tokens(tokens);
- self.sig.to_tokens(tokens);
-+ if self.block.stmts.len() == 1 {
-+ if let Stmt::Item(Item::Verbatim(verbatim)) = &self.block.stmts[0] {
-+ if verbatim.to_string() == ";" {
-+ verbatim.to_tokens(tokens);
-+ return;
-+ }
-+ }
-+ }
- self.block.brace_token.surround(tokens, |tokens| {
- tokens.append_all(self.attrs.inner());
- tokens.append_all(&self.block.stmts);
-@@ -2905,6 +3026,33 @@ mod printing {
- }
- }
-
-+ fn maybe_variadic_to_tokens(arg: &FnArg, tokens: &mut TokenStream) -> bool {
-+ let arg = match arg {
-+ FnArg::Typed(arg) => arg,
-+ FnArg::Receiver(receiver) => {
-+ receiver.to_tokens(tokens);
-+ return false;
-+ }
-+ };
-+
-+ match arg.ty.as_ref() {
-+ Type::Verbatim(ty) if ty.to_string() == "..." => {
-+ match arg.pat.as_ref() {
-+ Pat::Verbatim(pat) if pat.to_string() == "..." => {
-+ tokens.append_all(arg.attrs.outer());
-+ pat.to_tokens(tokens);
-+ }
-+ _ => arg.to_tokens(tokens),
-+ }
-+ true
-+ }
-+ _ => {
-+ arg.to_tokens(tokens);
-+ false
-+ }
-+ }
-+ }
-+
- impl ToTokens for Signature {
- fn to_tokens(&self, tokens: &mut TokenStream) {
- self.constness.to_tokens(tokens);
-@@ -2915,11 +3063,24 @@ mod printing {
- self.ident.to_tokens(tokens);
- self.generics.to_tokens(tokens);
- self.paren_token.surround(tokens, |tokens| {
-- self.inputs.to_tokens(tokens);
-- if self.variadic.is_some() && !self.inputs.empty_or_trailing() {
-- <Token![,]>::default().to_tokens(tokens);
-+ let mut last_is_variadic = false;
-+ for input in self.inputs.pairs() {
-+ match input {
-+ Pair::Punctuated(input, comma) => {
-+ maybe_variadic_to_tokens(input, tokens);
-+ comma.to_tokens(tokens);
-+ }
-+ Pair::End(input) => {
-+ last_is_variadic = maybe_variadic_to_tokens(input, tokens);
-+ }
-+ }
-+ }
-+ if self.variadic.is_some() && !last_is_variadic {
-+ if !self.inputs.empty_or_trailing() {
-+ <Token![,]>::default().to_tokens(tokens);
-+ }
-+ self.variadic.to_tokens(tokens);
- }
-- self.variadic.to_tokens(tokens);
- });
- self.output.to_tokens(tokens);
- self.generics.where_clause.to_tokens(tokens);
-diff --git a/third_party/rust/syn/src/keyword.rs b/third_party/rust/syn/src/keyword.rs
-deleted file mode 100644
-index e69de29bb2..0000000000
-diff --git a/third_party/rust/syn/src/lib.rs b/third_party/rust/syn/src/lib.rs
-index c8ada7e638..3da506731e 100644
---- mozilla-release/third_party/rust/syn/src/lib.rs
-+++ mozilla-release/third_party/rust/syn/src/lib.rs
-@@ -1,3 +1,11 @@
-+//! [![github]](https://github.com/dtolnay/syn)&ensp;[![crates-io]](https://crates.io/crates/syn)&ensp;[![docs-rs]](https://docs.rs/syn)
-+//!
-+//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github
-+//! [crates-io]: https://img.shields.io/badge/crates.io-fc8d62?style=for-the-badge&labelColor=555555&logo=rust
-+//! [docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge&labelColor=555555&logoColor=white&logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K
-+//!
-+//! <br>
-+//!
- //! Syn is a parsing library for parsing a stream of Rust tokens into a syntax
- //! tree of Rust source code.
- //!
-@@ -62,8 +70,8 @@
- //! ```
- //!
- //! ```
--//! extern crate proc_macro;
--//!
-+//! # extern crate proc_macro;
-+//! #
- //! use proc_macro::TokenStream;
- //! use quote::quote;
- //! use syn::{parse_macro_input, DeriveInput};
-@@ -242,35 +250,48 @@
- //! dynamic library libproc_macro from rustc toolchain.
-
- // Syn types in rustdoc of other crates get linked to here.
--#![doc(html_root_url = "https://docs.rs/syn/1.0.5")]
-+#![doc(html_root_url = "https://docs.rs/syn/1.0.40")]
- #![deny(clippy::all, clippy::pedantic)]
- // Ignored clippy lints.
- #![allow(
-- clippy::block_in_if_condition_stmt,
-+ clippy::blocks_in_if_conditions,
- clippy::cognitive_complexity,
- clippy::doc_markdown,
- clippy::eval_order_dependence,
- clippy::inherent_to_string,
- clippy::large_enum_variant,
-+ clippy::manual_non_exhaustive,
-+ clippy::match_like_matches_macro,
-+ clippy::match_on_vec_items,
-+ clippy::needless_doctest_main,
- clippy::needless_pass_by_value,
- clippy::never_loop,
- clippy::suspicious_op_assign_impl,
- clippy::too_many_arguments,
-- clippy::trivially_copy_pass_by_ref
-+ clippy::trivially_copy_pass_by_ref,
-+ clippy::unnecessary_unwrap
- )]
- // Ignored clippy_pedantic lints.
- #![allow(
- clippy::cast_possible_truncation,
-+ clippy::default_trait_access,
- clippy::empty_enum,
-+ clippy::expl_impl_clone_on_copy,
- clippy::if_not_else,
- clippy::items_after_statements,
-+ clippy::match_same_arms,
-+ clippy::missing_errors_doc,
- clippy::module_name_repetitions,
-+ clippy::must_use_candidate,
-+ clippy::option_if_let_else,
- clippy::shadow_unrelated,
- clippy::similar_names,
- clippy::single_match_else,
-+ clippy::too_many_lines,
- clippy::unseparated_literal_suffix,
- clippy::use_self,
-- clippy::used_underscore_binding
-+ clippy::used_underscore_binding,
-+ clippy::wildcard_imports
- )]
-
- #[cfg(all(
-@@ -284,7 +305,6 @@ extern crate unicode_xid;
- #[cfg(feature = "printing")]
- extern crate quote;
-
--#[cfg(any(feature = "full", feature = "derive"))]
- #[macro_use]
- mod macros;
-
-@@ -307,7 +327,6 @@ pub use crate::attr::{
- AttrStyle, Attribute, AttributeArgs, Meta, MetaList, MetaNameValue, NestedMeta,
- };
-
--#[cfg(any(feature = "full", feature = "derive"))]
- mod bigint;
-
- #[cfg(any(feature = "full", feature = "derive"))]
-@@ -364,9 +383,7 @@ pub use crate::file::File;
- mod lifetime;
- pub use crate::lifetime::Lifetime;
-
--#[cfg(any(feature = "full", feature = "derive"))]
- mod lit;
--#[cfg(any(feature = "full", feature = "derive"))]
- pub use crate::lit::{
- Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr, StrStyle,
- };
-@@ -441,6 +458,9 @@ pub mod parse_macro_input;
- #[cfg(all(feature = "parsing", feature = "printing"))]
- pub mod spanned;
-
-+#[cfg(all(feature = "parsing", feature = "full"))]
-+mod whitespace;
-+
- mod gen {
- /// Syntax tree traversal to walk a shared borrow of a syntax tree.
- ///
-@@ -482,7 +502,7 @@ mod gen {
- /// /* ... */
- /// ```
- ///
-- /// *This module is available if Syn is built with the `"visit"` feature.*
-+ /// *This module is available only if Syn is built with the `"visit"` feature.*
- ///
- /// <br>
- ///
-@@ -603,7 +623,7 @@ mod gen {
- /// /* ... */
- /// ```
- ///
-- /// *This module is available if Syn is built with the `"visit-mut"`
-+ /// *This module is available only if Syn is built with the `"visit-mut"`
- /// feature.*
- ///
- /// <br>
-@@ -702,7 +722,7 @@ mod gen {
- /// /* ... */
- /// ```
- ///
-- /// *This module is available if Syn is built with the `"fold"` feature.*
-+ /// *This module is available only if Syn is built with the `"fold"` feature.*
- ///
- /// <br>
- ///
-@@ -744,6 +764,22 @@ mod gen {
- #[rustfmt::skip]
- pub mod fold;
-
-+ #[cfg(feature = "clone-impls")]
-+ #[rustfmt::skip]
-+ mod clone;
-+
-+ #[cfg(feature = "extra-traits")]
-+ #[rustfmt::skip]
-+ mod eq;
-+
-+ #[cfg(feature = "extra-traits")]
-+ #[rustfmt::skip]
-+ mod hash;
-+
-+ #[cfg(feature = "extra-traits")]
-+ #[rustfmt::skip]
-+ mod debug;
-+
- #[cfg(any(feature = "full", feature = "derive"))]
- #[path = "../gen_helper.rs"]
- mod helper;
-@@ -757,6 +793,8 @@ pub mod export;
- mod custom_keyword;
- mod custom_punctuation;
- mod sealed;
-+mod span;
-+mod thread;
-
- #[cfg(feature = "parsing")]
- mod lookahead;
-@@ -764,13 +802,15 @@ mod lookahead;
- #[cfg(feature = "parsing")]
- pub mod parse;
-
--mod span;
-+#[cfg(feature = "full")]
-+mod reserved;
-+
-+#[cfg(all(any(feature = "full", feature = "derive"), feature = "parsing"))]
-+mod verbatim;
-
- #[cfg(all(any(feature = "full", feature = "derive"), feature = "printing"))]
- mod print;
-
--mod thread;
--
- ////////////////////////////////////////////////////////////////////////////////
-
- #[allow(dead_code, non_camel_case_types)]
-@@ -800,14 +840,14 @@ pub use crate::error::{Error, Result};
- ///
- /// [`syn::parse2`]: parse2
- ///
--/// *This function is available if Syn is built with both the `"parsing"` and
-+/// *This function is available only if Syn is built with both the `"parsing"` and
- /// `"proc-macro"` features.*
- ///
- /// # Examples
- ///
- /// ```
--/// extern crate proc_macro;
--///
-+/// # extern crate proc_macro;
-+/// #
- /// use proc_macro::TokenStream;
- /// use quote::quote;
- /// use syn::DeriveInput;
-@@ -847,7 +887,7 @@ pub fn parse<T: parse::Parse>(tokens: proc_macro::TokenStream) -> Result<T> {
- ///
- /// [`syn::parse`]: parse()
- ///
--/// *This function is available if Syn is built with the `"parsing"` feature.*
-+/// *This function is available only if Syn is built with the `"parsing"` feature.*
- #[cfg(feature = "parsing")]
- pub fn parse2<T: parse::Parse>(tokens: proc_macro2::TokenStream) -> Result<T> {
- parse::Parser::parse2(T::parse, tokens)
-@@ -855,7 +895,7 @@ pub fn parse2<T: parse::Parse>(tokens: proc_macro2::TokenStream) -> Result<T> {
-
- /// Parse a string of Rust code into the chosen syntax tree node.
- ///
--/// *This function is available if Syn is built with the `"parsing"` feature.*
-+/// *This function is available only if Syn is built with the `"parsing"` feature.*
- ///
- /// # Hygiene
- ///
-@@ -874,9 +914,7 @@ pub fn parse2<T: parse::Parse>(tokens: proc_macro2::TokenStream) -> Result<T> {
- /// Ok(())
- /// }
- /// #
--/// # fn main() {
--/// # run().unwrap();
--/// # }
-+/// # run().unwrap();
- /// ```
- #[cfg(feature = "parsing")]
- pub fn parse_str<T: parse::Parse>(s: &str) -> Result<T> {
-@@ -894,7 +932,7 @@ pub fn parse_str<T: parse::Parse>(s: &str) -> Result<T> {
- ///
- /// If present, either of these would be an error using `from_str`.
- ///
--/// *This function is available if Syn is built with the `"parsing"` and
-+/// *This function is available only if Syn is built with the `"parsing"` and
- /// `"full"` features.*
- ///
- /// # Examples
-@@ -918,9 +956,7 @@ pub fn parse_str<T: parse::Parse>(s: &str) -> Result<T> {
- /// Ok(())
- /// }
- /// #
--/// # fn main() {
--/// # run().unwrap();
--/// # }
-+/// # run().unwrap();
- /// ```
- #[cfg(all(feature = "parsing", feature = "full"))]
- pub fn parse_file(mut content: &str) -> Result<File> {
-@@ -931,13 +967,16 @@ pub fn parse_file(mut content: &str) -> Result<File> {
- }
-
- let mut shebang = None;
-- if content.starts_with("#!") && !content.starts_with("#![") {
-- if let Some(idx) = content.find('\n') {
-- shebang = Some(content[..idx].to_string());
-- content = &content[idx..];
-- } else {
-- shebang = Some(content.to_string());
-- content = "";
-+ if content.starts_with("#!") {
-+ let rest = whitespace::skip(&content[2..]);
-+ if !rest.starts_with('[') {
-+ if let Some(idx) = content.find('\n') {
-+ shebang = Some(content[..idx].to_string());
-+ content = &content[idx..];
-+ } else {
-+ shebang = Some(content.to_string());
-+ content = "";
-+ }
- }
- }
-
-diff --git a/third_party/rust/syn/src/lifetime.rs b/third_party/rust/syn/src/lifetime.rs
-index d51c48e827..959cc5f9c6 100644
---- mozilla-release/third_party/rust/syn/src/lifetime.rs
-+++ mozilla-release/third_party/rust/syn/src/lifetime.rs
-@@ -18,10 +18,8 @@ use crate::lookahead;
- /// - All following characters must be Unicode code points with the XID_Continue
- /// property.
- ///
--/// *This type is available if Syn is built with the `"derive"` or `"full"`
-+/// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
--#[cfg_attr(feature = "extra-traits", derive(Debug))]
--#[derive(Clone)]
- pub struct Lifetime {
- pub apostrophe: Span,
- pub ident: Ident,
-@@ -72,6 +70,15 @@ impl Display for Lifetime {
- }
- }
-
-+impl Clone for Lifetime {
-+ fn clone(&self) -> Self {
-+ Lifetime {
-+ apostrophe: self.apostrophe,
-+ ident: self.ident.clone(),
-+ }
-+ }
-+}
-+
- impl PartialEq for Lifetime {
- fn eq(&self, other: &Lifetime) -> bool {
- self.ident.eq(&other.ident)
-diff --git a/third_party/rust/syn/src/lit.rs b/third_party/rust/syn/src/lit.rs
-index f2209a2980..ee77e75bec 100644
---- mozilla-release/third_party/rust/syn/src/lit.rs
-+++ mozilla-release/third_party/rust/syn/src/lit.rs
-@@ -22,9 +22,6 @@ use crate::{Error, Result};
- ast_enum_of_structs! {
- /// A Rust literal such as a string or integer or boolean.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-- /// feature.*
-- ///
- /// # Syntax tree enum
- ///
- /// This type is a [syntax tree enum].
-@@ -33,7 +30,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum Lit #manual_extra_traits {
-+ pub enum Lit {
- /// A UTF-8 string literal: `"foo"`.
- Str(LitStr),
-
-@@ -64,61 +61,44 @@ ast_enum_of_structs! {
-
- ast_struct! {
- /// A UTF-8 string literal: `"foo"`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitStr #manual_extra_traits_debug {
-- repr: Box<LitStrRepr>,
-+ pub struct LitStr {
-+ repr: Box<LitRepr>,
- }
- }
-
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
--struct LitStrRepr {
-- token: Literal,
-- suffix: Box<str>,
--}
--
- ast_struct! {
- /// A byte string literal: `b"foo"`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitByteStr #manual_extra_traits_debug {
-- token: Literal,
-+ pub struct LitByteStr {
-+ repr: Box<LitRepr>,
- }
- }
-
- ast_struct! {
- /// A byte literal: `b'f'`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitByte #manual_extra_traits_debug {
-- token: Literal,
-+ pub struct LitByte {
-+ repr: Box<LitRepr>,
- }
- }
-
- ast_struct! {
- /// A character literal: `'a'`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitChar #manual_extra_traits_debug {
-- token: Literal,
-+ pub struct LitChar {
-+ repr: Box<LitRepr>,
- }
- }
-
-+struct LitRepr {
-+ token: Literal,
-+ suffix: Box<str>,
-+}
-+
- ast_struct! {
- /// An integer literal: `1` or `1u16`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitInt #manual_extra_traits_debug {
-+ pub struct LitInt {
- repr: Box<LitIntRepr>,
- }
- }
-
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- struct LitIntRepr {
- token: Literal,
- digits: Box<str>,
-@@ -129,15 +109,11 @@ ast_struct! {
- /// A floating point literal: `1f64` or `1.0e10f64`.
- ///
- /// Must be finite. May not be infinte or NaN.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitFloat #manual_extra_traits_debug {
-+ pub struct LitFloat {
- repr: Box<LitFloatRepr>,
- }
- }
-
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- struct LitFloatRepr {
- token: Literal,
- digits: Box<str>,
-@@ -146,92 +122,27 @@ struct LitFloatRepr {
-
- ast_struct! {
- /// A boolean literal: `true` or `false`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-- /// `"full"` feature.*
-- pub struct LitBool #manual_extra_traits_debug {
-+ pub struct LitBool {
- pub value: bool,
- pub span: Span,
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Lit {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Lit {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (Lit::Str(this), Lit::Str(other)) => this == other,
-- (Lit::ByteStr(this), Lit::ByteStr(other)) => this == other,
-- (Lit::Byte(this), Lit::Byte(other)) => this == other,
-- (Lit::Char(this), Lit::Char(other)) => this == other,
-- (Lit::Int(this), Lit::Int(other)) => this == other,
-- (Lit::Float(this), Lit::Float(other)) => this == other,
-- (Lit::Bool(this), Lit::Bool(other)) => this == other,
-- (Lit::Verbatim(this), Lit::Verbatim(other)) => this.to_string() == other.to_string(),
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Lit {
-- fn hash<H>(&self, hash: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- Lit::Str(lit) => {
-- hash.write_u8(0);
-- lit.hash(hash);
-- }
-- Lit::ByteStr(lit) => {
-- hash.write_u8(1);
-- lit.hash(hash);
-- }
-- Lit::Byte(lit) => {
-- hash.write_u8(2);
-- lit.hash(hash);
-- }
-- Lit::Char(lit) => {
-- hash.write_u8(3);
-- lit.hash(hash);
-- }
-- Lit::Int(lit) => {
-- hash.write_u8(4);
-- lit.hash(hash);
-- }
-- Lit::Float(lit) => {
-- hash.write_u8(5);
-- lit.hash(hash);
-- }
-- Lit::Bool(lit) => {
-- hash.write_u8(6);
-- lit.hash(hash);
-- }
-- Lit::Verbatim(lit) => {
-- hash.write_u8(7);
-- lit.to_string().hash(hash);
-- }
-- }
-- }
--}
--
- impl LitStr {
- pub fn new(value: &str, span: Span) -> Self {
-- let mut lit = Literal::string(value);
-- lit.set_span(span);
-+ let mut token = Literal::string(value);
-+ token.set_span(span);
- LitStr {
-- repr: Box::new(LitStrRepr {
-- token: lit,
-+ repr: Box::new(LitRepr {
-+ token,
- suffix: Box::<str>::default(),
- }),
- }
- }
-
- pub fn value(&self) -> String {
-- let (value, _) = value::parse_lit_str(&self.repr.token.to_string());
-+ let repr = self.repr.token.to_string();
-+ let (value, _suffix) = value::parse_lit_str(&repr);
- String::from(value)
- }
-
-@@ -311,7 +222,7 @@ impl LitStr {
- fn respan_token_tree(mut token: TokenTree, span: Span) -> TokenTree {
- match &mut token {
- TokenTree::Group(g) => {
-- let stream = respan_token_stream(g.stream().clone(), span);
-+ let stream = respan_token_stream(g.stream(), span);
- *g = Group::new(g.delimiter(), stream);
- g.set_span(span);
- }
-@@ -345,19 +256,30 @@ impl LitByteStr {
- pub fn new(value: &[u8], span: Span) -> Self {
- let mut token = Literal::byte_string(value);
- token.set_span(span);
-- LitByteStr { token }
-+ LitByteStr {
-+ repr: Box::new(LitRepr {
-+ token,
-+ suffix: Box::<str>::default(),
-+ }),
-+ }
- }
-
- pub fn value(&self) -> Vec<u8> {
-- value::parse_lit_byte_str(&self.token.to_string())
-+ let repr = self.repr.token.to_string();
-+ let (value, _suffix) = value::parse_lit_byte_str(&repr);
-+ value
- }
-
- pub fn span(&self) -> Span {
-- self.token.span()
-+ self.repr.token.span()
- }
-
- pub fn set_span(&mut self, span: Span) {
-- self.token.set_span(span)
-+ self.repr.token.set_span(span)
-+ }
-+
-+ pub fn suffix(&self) -> &str {
-+ &self.repr.suffix
- }
- }
-
-@@ -365,19 +287,30 @@ impl LitByte {
- pub fn new(value: u8, span: Span) -> Self {
- let mut token = Literal::u8_suffixed(value);
- token.set_span(span);
-- LitByte { token }
-+ LitByte {
-+ repr: Box::new(LitRepr {
-+ token,
-+ suffix: Box::<str>::default(),
-+ }),
-+ }
- }
-
- pub fn value(&self) -> u8 {
-- value::parse_lit_byte(&self.token.to_string())
-+ let repr = self.repr.token.to_string();
-+ let (value, _suffix) = value::parse_lit_byte(&repr);
-+ value
- }
-
- pub fn span(&self) -> Span {
-- self.token.span()
-+ self.repr.token.span()
- }
-
- pub fn set_span(&mut self, span: Span) {
-- self.token.set_span(span)
-+ self.repr.token.set_span(span)
-+ }
-+
-+ pub fn suffix(&self) -> &str {
-+ &self.repr.suffix
- }
- }
-
-@@ -385,36 +318,52 @@ impl LitChar {
- pub fn new(value: char, span: Span) -> Self {
- let mut token = Literal::character(value);
- token.set_span(span);
-- LitChar { token }
-+ LitChar {
-+ repr: Box::new(LitRepr {
-+ token,
-+ suffix: Box::<str>::default(),
-+ }),
-+ }
- }
-
- pub fn value(&self) -> char {
-- value::parse_lit_char(&self.token.to_string())
-+ let repr = self.repr.token.to_string();
-+ let (value, _suffix) = value::parse_lit_char(&repr);
-+ value
- }
-
- pub fn span(&self) -> Span {
-- self.token.span()
-+ self.repr.token.span()
- }
-
- pub fn set_span(&mut self, span: Span) {
-- self.token.set_span(span)
-+ self.repr.token.set_span(span)
-+ }
-+
-+ pub fn suffix(&self) -> &str {
-+ &self.repr.suffix
- }
- }
-
- impl LitInt {
- pub fn new(repr: &str, span: Span) -> Self {
-- if let Some((digits, suffix)) = value::parse_lit_int(repr) {
-- let mut token = value::to_literal(repr);
-- token.set_span(span);
-- LitInt {
-- repr: Box::new(LitIntRepr {
-- token,
-- digits,
-- suffix,
-- }),
-- }
-- } else {
-- panic!("Not an integer literal: `{}`", repr);
-+ let (digits, suffix) = match value::parse_lit_int(repr) {
-+ Some(parse) => parse,
-+ None => panic!("Not an integer literal: `{}`", repr),
-+ };
-+
-+ let mut token = match value::to_literal(repr, &digits, &suffix) {
-+ Some(token) => token,
-+ None => panic!("Unsupported integer literal: `{}`", repr),
-+ };
-+
-+ token.set_span(span);
-+ LitInt {
-+ repr: Box::new(LitIntRepr {
-+ token,
-+ digits,
-+ suffix,
-+ }),
- }
- }
-
-@@ -492,18 +441,23 @@ impl Display for LitInt {
-
- impl LitFloat {
- pub fn new(repr: &str, span: Span) -> Self {
-- if let Some((digits, suffix)) = value::parse_lit_float(repr) {
-- let mut token = value::to_literal(repr);
-- token.set_span(span);
-- LitFloat {
-- repr: Box::new(LitFloatRepr {
-- token,
-- digits,
-- suffix,
-- }),
-- }
-- } else {
-- panic!("Not a float literal: `{}`", repr);
-+ let (digits, suffix) = match value::parse_lit_float(repr) {
-+ Some(parse) => parse,
-+ None => panic!("Not a float literal: `{}`", repr),
-+ };
-+
-+ let mut token = match value::to_literal(repr, &digits, &suffix) {
-+ Some(token) => token,
-+ None => panic!("Unsupported float literal: `{}`", repr),
-+ };
-+
-+ token.set_span(span);
-+ LitFloat {
-+ repr: Box::new(LitFloatRepr {
-+ token,
-+ digits,
-+ suffix,
-+ }),
- }
- }
-
-@@ -575,7 +529,7 @@ mod debug_impls {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- formatter
- .debug_struct("LitByteStr")
-- .field("token", &format_args!("{}", self.token))
-+ .field("token", &format_args!("{}", self.repr.token))
- .finish()
- }
- }
-@@ -584,7 +538,7 @@ mod debug_impls {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- formatter
- .debug_struct("LitByte")
-- .field("token", &format_args!("{}", self.token))
-+ .field("token", &format_args!("{}", self.repr.token))
- .finish()
- }
- }
-@@ -593,7 +547,7 @@ mod debug_impls {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- formatter
- .debug_struct("LitChar")
-- .field("token", &format_args!("{}", self.token))
-+ .field("token", &format_args!("{}", self.repr.token))
- .finish()
- }
- }
-@@ -626,15 +580,53 @@ mod debug_impls {
- }
- }
-
-+#[cfg(feature = "clone-impls")]
-+impl Clone for LitRepr {
-+ fn clone(&self) -> Self {
-+ LitRepr {
-+ token: self.token.clone(),
-+ suffix: self.suffix.clone(),
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "clone-impls")]
-+impl Clone for LitIntRepr {
-+ fn clone(&self) -> Self {
-+ LitIntRepr {
-+ token: self.token.clone(),
-+ digits: self.digits.clone(),
-+ suffix: self.suffix.clone(),
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "clone-impls")]
-+impl Clone for LitFloatRepr {
-+ fn clone(&self) -> Self {
-+ LitFloatRepr {
-+ token: self.token.clone(),
-+ digits: self.digits.clone(),
-+ suffix: self.suffix.clone(),
-+ }
-+ }
-+}
-+
- macro_rules! lit_extra_traits {
-- ($ty:ident, $($field:ident).+) => {
-- #[cfg(feature = "extra-traits")]
-- impl Eq for $ty {}
-+ ($ty:ident) => {
-+ #[cfg(feature = "clone-impls")]
-+ impl Clone for $ty {
-+ fn clone(&self) -> Self {
-+ $ty {
-+ repr: self.repr.clone(),
-+ }
-+ }
-+ }
-
- #[cfg(feature = "extra-traits")]
- impl PartialEq for $ty {
- fn eq(&self, other: &Self) -> bool {
-- self.$($field).+.to_string() == other.$($field).+.to_string()
-+ self.repr.token.to_string() == other.repr.token.to_string()
- }
- }
-
-@@ -644,7 +636,7 @@ macro_rules! lit_extra_traits {
- where
- H: Hasher,
- {
-- self.$($field).+.to_string().hash(state);
-+ self.repr.token.to_string().hash(state);
- }
- }
-
-@@ -657,20 +649,23 @@ macro_rules! lit_extra_traits {
- };
- }
-
--lit_extra_traits!(LitStr, repr.token);
--lit_extra_traits!(LitByteStr, token);
--lit_extra_traits!(LitByte, token);
--lit_extra_traits!(LitChar, token);
--lit_extra_traits!(LitInt, repr.token);
--lit_extra_traits!(LitFloat, repr.token);
--lit_extra_traits!(LitBool, value);
-+lit_extra_traits!(LitStr);
-+lit_extra_traits!(LitByteStr);
-+lit_extra_traits!(LitByte);
-+lit_extra_traits!(LitChar);
-+lit_extra_traits!(LitInt);
-+lit_extra_traits!(LitFloat);
-+
-+#[cfg(feature = "parsing")]
-+#[doc(hidden)]
-+#[allow(non_snake_case)]
-+pub fn LitBool(marker: lookahead::TokenMarker) -> LitBool {
-+ match marker {}
-+}
-
- ast_enum! {
- /// The style of a string literal, either plain quoted or a raw string like
- /// `r##"data"##`.
-- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-- /// feature.*
- pub enum StrStyle #no_visit {
- /// An ordinary string like `"data"`.
- Cooked,
-@@ -691,7 +686,9 @@ pub fn Lit(marker: lookahead::TokenMarker) -> Lit {
- #[cfg(feature = "parsing")]
- pub mod parsing {
- use super::*;
-+ use crate::buffer::Cursor;
- use crate::parse::{Parse, ParseStream, Result};
-+ use proc_macro2::Punct;
-
- impl Parse for Lit {
- fn parse(input: ParseStream) -> Result<Self> {
-@@ -699,25 +696,73 @@ pub mod parsing {
- if let Some((lit, rest)) = cursor.literal() {
- return Ok((Lit::new(lit), rest));
- }
-- while let Some((ident, rest)) = cursor.ident() {
-- let value = if ident == "true" {
-- true
-- } else if ident == "false" {
-- false
-- } else {
-- break;
-- };
-- let lit_bool = LitBool {
-- value,
-- span: ident.span(),
-- };
-- return Ok((Lit::Bool(lit_bool), rest));
-+
-+ if let Some((ident, rest)) = cursor.ident() {
-+ let value = ident == "true";
-+ if value || ident == "false" {
-+ let lit_bool = LitBool {
-+ value,
-+ span: ident.span(),
-+ };
-+ return Ok((Lit::Bool(lit_bool), rest));
-+ }
- }
-+
-+ if let Some((punct, rest)) = cursor.punct() {
-+ if punct.as_char() == '-' {
-+ if let Some((lit, rest)) = parse_negative_lit(punct, rest) {
-+ return Ok((lit, rest));
-+ }
-+ }
-+ }
-+
- Err(cursor.error("expected literal"))
- })
- }
- }
-
-+ fn parse_negative_lit(neg: Punct, cursor: Cursor) -> Option<(Lit, Cursor)> {
-+ let (lit, rest) = cursor.literal()?;
-+
-+ let mut span = neg.span();
-+ span = span.join(lit.span()).unwrap_or(span);
-+
-+ let mut repr = lit.to_string();
-+ repr.insert(0, '-');
-+
-+ if !(repr.ends_with("f32") || repr.ends_with("f64")) {
-+ if let Some((digits, suffix)) = value::parse_lit_int(&repr) {
-+ if let Some(mut token) = value::to_literal(&repr, &digits, &suffix) {
-+ token.set_span(span);
-+ return Some((
-+ Lit::Int(LitInt {
-+ repr: Box::new(LitIntRepr {
-+ token,
-+ digits,
-+ suffix,
-+ }),
-+ }),
-+ rest,
-+ ));
-+ }
-+ }
-+ }
-+
-+ let (digits, suffix) = value::parse_lit_float(&repr)?;
-+ let mut token = value::to_literal(&repr, &digits, &suffix)?;
-+ token.set_span(span);
-+ Some((
-+ Lit::Float(LitFloat {
-+ repr: Box::new(LitFloatRepr {
-+ token,
-+ digits,
-+ suffix,
-+ }),
-+ }),
-+ rest,
-+ ))
-+ }
-+
- impl Parse for LitStr {
- fn parse(input: ParseStream) -> Result<Self> {
- let head = input.fork();
-@@ -803,19 +848,19 @@ mod printing {
-
- impl ToTokens for LitByteStr {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-- self.token.to_tokens(tokens);
-+ self.repr.token.to_tokens(tokens);
- }
- }
-
- impl ToTokens for LitByte {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-- self.token.to_tokens(tokens);
-+ self.repr.token.to_tokens(tokens);
- }
- }
-
- impl ToTokens for LitChar {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-- self.token.to_tokens(tokens);
-+ self.repr.token.to_tokens(tokens);
- }
- }
-
-@@ -855,20 +900,29 @@ mod value {
- b'"' | b'r' => {
- let (_, suffix) = parse_lit_str(&repr);
- return Lit::Str(LitStr {
-- repr: Box::new(LitStrRepr { token, suffix }),
-+ repr: Box::new(LitRepr { token, suffix }),
- });
- }
- b'b' => match byte(&repr, 1) {
- b'"' | b'r' => {
-- return Lit::ByteStr(LitByteStr { token });
-+ let (_, suffix) = parse_lit_byte_str(&repr);
-+ return Lit::ByteStr(LitByteStr {
-+ repr: Box::new(LitRepr { token, suffix }),
-+ });
- }
- b'\'' => {
-- return Lit::Byte(LitByte { token });
-+ let (_, suffix) = parse_lit_byte(&repr);
-+ return Lit::Byte(LitByte {
-+ repr: Box::new(LitRepr { token, suffix }),
-+ });
- }
- _ => {}
- },
- b'\'' => {
-- return Lit::Char(LitChar { token });
-+ let (_, suffix) = parse_lit_char(&repr);
-+ return Lit::Char(LitChar {
-+ repr: Box::new(LitRepr { token, suffix }),
-+ });
- }
- b'0'..=b'9' | b'-' => {
- if !(repr.ends_with("f32") || repr.ends_with("f64")) {
-@@ -905,6 +959,44 @@ mod value {
-
- panic!("Unrecognized literal: `{}`", repr);
- }
-+
-+ pub fn suffix(&self) -> &str {
-+ match self {
-+ Lit::Str(lit) => lit.suffix(),
-+ Lit::ByteStr(lit) => lit.suffix(),
-+ Lit::Byte(lit) => lit.suffix(),
-+ Lit::Char(lit) => lit.suffix(),
-+ Lit::Int(lit) => lit.suffix(),
-+ Lit::Float(lit) => lit.suffix(),
-+ Lit::Bool(_) | Lit::Verbatim(_) => "",
-+ }
-+ }
-+
-+ pub fn span(&self) -> Span {
-+ match self {
-+ Lit::Str(lit) => lit.span(),
-+ Lit::ByteStr(lit) => lit.span(),
-+ Lit::Byte(lit) => lit.span(),
-+ Lit::Char(lit) => lit.span(),
-+ Lit::Int(lit) => lit.span(),
-+ Lit::Float(lit) => lit.span(),
-+ Lit::Bool(lit) => lit.span,
-+ Lit::Verbatim(lit) => lit.span(),
-+ }
-+ }
-+
-+ pub fn set_span(&mut self, span: Span) {
-+ match self {
-+ Lit::Str(lit) => lit.set_span(span),
-+ Lit::ByteStr(lit) => lit.set_span(span),
-+ Lit::Byte(lit) => lit.set_span(span),
-+ Lit::Char(lit) => lit.set_span(span),
-+ Lit::Int(lit) => lit.set_span(span),
-+ Lit::Float(lit) => lit.set_span(span),
-+ Lit::Bool(lit) => lit.span = span,
-+ Lit::Verbatim(lit) => lit.set_span(span),
-+ }
-+ }
- }
-
- /// Get the byte at offset idx, or a default of `b'\0'` if we're looking
-@@ -1004,19 +1096,18 @@ mod value {
- pounds += 1;
- }
- assert_eq!(byte(s, pounds), b'"');
-- assert_eq!(byte(s, s.len() - pounds - 1), b'"');
-- for end in s[s.len() - pounds..].bytes() {
-+ let close = s.rfind('"').unwrap();
-+ for end in s[close + 1..close + 1 + pounds].bytes() {
- assert_eq!(end, b'#');
- }
-
-- let content = s[pounds + 1..s.len() - pounds - 1]
-- .to_owned()
-- .into_boxed_str();
-- let suffix = Box::<str>::default(); // todo
-+ let content = s[pounds + 1..close].to_owned().into_boxed_str();
-+ let suffix = s[close + 1 + pounds..].to_owned().into_boxed_str();
- (content, suffix)
- }
-
-- pub fn parse_lit_byte_str(s: &str) -> Vec<u8> {
-+ // Returns (content, suffix).
-+ pub fn parse_lit_byte_str(s: &str) -> (Vec<u8>, Box<str>) {
- assert_eq!(byte(s, 0), b'b');
- match byte(s, 1) {
- b'"' => parse_lit_byte_str_cooked(s),
-@@ -1028,25 +1119,25 @@ mod value {
- // Clippy false positive
- // https://github.com/rust-lang-nursery/rust-clippy/issues/2329
- #[allow(clippy::needless_continue)]
-- fn parse_lit_byte_str_cooked(mut s: &str) -> Vec<u8> {
-+ fn parse_lit_byte_str_cooked(mut s: &str) -> (Vec<u8>, Box<str>) {
- assert_eq!(byte(s, 0), b'b');
- assert_eq!(byte(s, 1), b'"');
- s = &s[2..];
-
- // We're going to want to have slices which don't respect codepoint boundaries.
-- let mut s = s.as_bytes();
-+ let mut v = s.as_bytes();
-
- let mut out = Vec::new();
- 'outer: loop {
-- let byte = match byte(s, 0) {
-+ let byte = match byte(v, 0) {
- b'"' => break,
- b'\\' => {
-- let b = byte(s, 1);
-- s = &s[2..];
-+ let b = byte(v, 1);
-+ v = &v[2..];
- match b {
- b'x' => {
-- let (b, rest) = backslash_x(s);
-- s = rest;
-+ let (b, rest) = backslash_x(v);
-+ v = rest;
- b
- }
- b'n' => b'\n',
-@@ -1057,10 +1148,10 @@ mod value {
- b'\'' => b'\'',
- b'"' => b'"',
- b'\r' | b'\n' => loop {
-- let byte = byte(s, 0);
-+ let byte = byte(v, 0);
- let ch = char::from_u32(u32::from(byte)).unwrap();
- if ch.is_whitespace() {
-- s = &s[1..];
-+ v = &v[1..];
- } else {
- continue 'outer;
- }
-@@ -1069,42 +1160,45 @@ mod value {
- }
- }
- b'\r' => {
-- assert_eq!(byte(s, 1), b'\n', "Bare CR not allowed in string");
-- s = &s[2..];
-+ assert_eq!(byte(v, 1), b'\n', "Bare CR not allowed in string");
-+ v = &v[2..];
- b'\n'
- }
- b => {
-- s = &s[1..];
-+ v = &v[1..];
- b
- }
- };
- out.push(byte);
- }
-
-- assert_eq!(s, b"\"");
-- out
-+ assert_eq!(byte(v, 0), b'"');
-+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str();
-+ (out, suffix)
- }
-
-- fn parse_lit_byte_str_raw(s: &str) -> Vec<u8> {
-+ fn parse_lit_byte_str_raw(s: &str) -> (Vec<u8>, Box<str>) {
- assert_eq!(byte(s, 0), b'b');
-- String::from(parse_lit_str_raw(&s[1..]).0).into_bytes()
-+ let (value, suffix) = parse_lit_str_raw(&s[1..]);
-+ (String::from(value).into_bytes(), suffix)
- }
-
-- pub fn parse_lit_byte(s: &str) -> u8 {
-+ // Returns (value, suffix).
-+ pub fn parse_lit_byte(s: &str) -> (u8, Box<str>) {
- assert_eq!(byte(s, 0), b'b');
- assert_eq!(byte(s, 1), b'\'');
-
- // We're going to want to have slices which don't respect codepoint boundaries.
-- let mut s = s[2..].as_bytes();
-+ let mut v = s[2..].as_bytes();
-
-- let b = match byte(s, 0) {
-+ let b = match byte(v, 0) {
- b'\\' => {
-- let b = byte(s, 1);
-- s = &s[2..];
-+ let b = byte(v, 1);
-+ v = &v[2..];
- match b {
- b'x' => {
-- let (b, rest) = backslash_x(s);
-- s = rest;
-+ let (b, rest) = backslash_x(v);
-+ v = rest;
- b
- }
- b'n' => b'\n',
-@@ -1118,16 +1212,18 @@ mod value {
- }
- }
- b => {
-- s = &s[1..];
-+ v = &v[1..];
- b
- }
- };
-
-- assert_eq!(byte(s, 0), b'\'');
-- b
-+ assert_eq!(byte(v, 0), b'\'');
-+ let suffix = s[s.len() - v.len() + 1..].to_owned().into_boxed_str();
-+ (b, suffix)
- }
-
-- pub fn parse_lit_char(mut s: &str) -> char {
-+ // Returns (value, suffix).
-+ pub fn parse_lit_char(mut s: &str) -> (char, Box<str>) {
- assert_eq!(byte(s, 0), b'\'');
- s = &s[1..];
-
-@@ -1163,8 +1259,9 @@ mod value {
- ch
- }
- };
-- assert_eq!(s, "\'", "Expected end of char literal");
-- ch
-+ assert_eq!(byte(s, 0), b'\'');
-+ let suffix = s[1..].to_owned().into_boxed_str();
-+ (ch, suffix)
- }
-
- fn backslash_x<S>(s: &S) -> (u8, &S)
-@@ -1334,7 +1431,11 @@ mod value {
- }
- b'e' | b'E' => {
- if has_e {
-- return None;
-+ if has_exponent {
-+ break;
-+ } else {
-+ return None;
-+ }
- }
- has_e = true;
- bytes[write] = b'e';
-@@ -1372,11 +1473,33 @@ mod value {
- }
- }
-
-- pub fn to_literal(s: &str) -> Literal {
-- let stream = s.parse::<TokenStream>().unwrap();
-- match stream.into_iter().next().unwrap() {
-- TokenTree::Literal(l) => l,
-- _ => unreachable!(),
-+ pub fn to_literal(repr: &str, digits: &str, suffix: &str) -> Option<Literal> {
-+ if repr.starts_with('-') {
-+ if suffix == "f64" {
-+ digits.parse().ok().map(Literal::f64_suffixed)
-+ } else if suffix == "f32" {
-+ digits.parse().ok().map(Literal::f32_suffixed)
-+ } else if suffix == "i64" {
-+ digits.parse().ok().map(Literal::i64_suffixed)
-+ } else if suffix == "i32" {
-+ digits.parse().ok().map(Literal::i32_suffixed)
-+ } else if suffix == "i16" {
-+ digits.parse().ok().map(Literal::i16_suffixed)
-+ } else if suffix == "i8" {
-+ digits.parse().ok().map(Literal::i8_suffixed)
-+ } else if !suffix.is_empty() {
-+ None
-+ } else if digits.contains('.') {
-+ digits.parse().ok().map(Literal::f64_unsuffixed)
-+ } else {
-+ digits.parse().ok().map(Literal::i64_unsuffixed)
-+ }
-+ } else {
-+ let stream = repr.parse::<TokenStream>().unwrap();
-+ match stream.into_iter().next().unwrap() {
-+ TokenTree::Literal(l) => Some(l),
-+ _ => unreachable!(),
-+ }
- }
- }
- }
-diff --git a/third_party/rust/syn/src/mac.rs b/third_party/rust/syn/src/mac.rs
-index 6c3dcae92a..de288a34e1 100644
---- mozilla-release/third_party/rust/syn/src/mac.rs
-+++ mozilla-release/third_party/rust/syn/src/mac.rs
-@@ -2,21 +2,17 @@ use super::*;
- use crate::token::{Brace, Bracket, Paren};
- use proc_macro2::TokenStream;
- #[cfg(feature = "parsing")]
--use proc_macro2::{Delimiter, Span, TokenTree};
-+use proc_macro2::{Delimiter, Group, Span, TokenTree};
-
- #[cfg(feature = "parsing")]
- use crate::parse::{Parse, ParseStream, Parser, Result};
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
--#[cfg(feature = "extra-traits")]
--use std::hash::{Hash, Hasher};
-
- ast_struct! {
- /// A macro invocation: `println!("{}", mac)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- pub struct Macro #manual_extra_traits {
-+ pub struct Macro {
- pub path: Path,
- pub bang_token: Token![!],
- pub delimiter: MacroDelimiter,
-@@ -27,7 +23,7 @@ ast_struct! {
- ast_enum! {
- /// A grouping token that surrounds a macro body: `m!(...)` or `m!{...}` or `m![...]`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum MacroDelimiter {
- Paren(Paren),
-@@ -36,39 +32,20 @@ ast_enum! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Macro {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Macro {
-- fn eq(&self, other: &Self) -> bool {
-- self.path == other.path
-- && self.bang_token == other.bang_token
-- && self.delimiter == other.delimiter
-- && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Macro {
-- fn hash<H>(&self, state: &mut H)
-- where
-- H: Hasher,
-- {
-- self.path.hash(state);
-- self.bang_token.hash(state);
-- self.delimiter.hash(state);
-- TokenStreamHelper(&self.tokens).hash(state);
-- }
--}
--
- #[cfg(feature = "parsing")]
--fn delimiter_span(delimiter: &MacroDelimiter) -> Span {
-- match delimiter {
-+fn delimiter_span_close(macro_delimiter: &MacroDelimiter) -> Span {
-+ let delimiter = match macro_delimiter {
-+ MacroDelimiter::Paren(_) => Delimiter::Parenthesis,
-+ MacroDelimiter::Brace(_) => Delimiter::Brace,
-+ MacroDelimiter::Bracket(_) => Delimiter::Bracket,
-+ };
-+ let mut group = Group::new(delimiter, TokenStream::new());
-+ group.set_span(match macro_delimiter {
- MacroDelimiter::Paren(token) => token.span,
- MacroDelimiter::Brace(token) => token.span,
- MacroDelimiter::Bracket(token) => token.span,
-- }
-+ });
-+ group.span_close()
- }
-
- impl Macro {
-@@ -163,9 +140,7 @@ impl Macro {
- /// given parser.
- #[cfg(feature = "parsing")]
- pub fn parse_body_with<F: Parser>(&self, parser: F) -> Result<F::Output> {
-- // TODO: see if we can get a group.span_close() span in here as the
-- // scope, rather than the span of the whole group.
-- let scope = delimiter_span(&self.delimiter);
-+ let scope = delimiter_span_close(&self.delimiter);
- crate::parse::parse_scoped(parser, scope, self.tokens.clone())
- }
- }
-diff --git a/third_party/rust/syn/src/macros.rs b/third_party/rust/syn/src/macros.rs
-index 9cac5c15df..8060224381 100644
---- mozilla-release/third_party/rust/syn/src/macros.rs
-+++ mozilla-release/third_party/rust/syn/src/macros.rs
-@@ -4,15 +4,11 @@ macro_rules! ast_struct {
- struct $name:ident #full $($rest:tt)*
- ) => {
- #[cfg(feature = "full")]
-- #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
- $($attrs_pub)* struct $name $($rest)*
-
- #[cfg(not(feature = "full"))]
-- #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
- $($attrs_pub)* struct $name {
-- _noconstruct: (),
-+ _noconstruct: ::std::marker::PhantomData<::proc_macro2::Span>,
- }
-
- #[cfg(all(not(feature = "full"), feature = "printing"))]
-@@ -23,29 +19,10 @@ macro_rules! ast_struct {
- }
- };
-
-- (
-- [$($attrs_pub:tt)*]
-- struct $name:ident #manual_extra_traits $($rest:tt)*
-- ) => {
-- #[cfg_attr(feature = "extra-traits", derive(Debug))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
-- $($attrs_pub)* struct $name $($rest)*
-- };
--
-- (
-- [$($attrs_pub:tt)*]
-- struct $name:ident #manual_extra_traits_debug $($rest:tt)*
-- ) => {
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
-- $($attrs_pub)* struct $name $($rest)*
-- };
--
- (
- [$($attrs_pub:tt)*]
- struct $name:ident $($rest:tt)*
- ) => {
-- #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
- $($attrs_pub)* struct $name $($rest)*
- };
-
-@@ -63,21 +40,10 @@ macro_rules! ast_enum {
- ast_enum!([$($attrs_pub)*] enum $name $($rest)*);
- );
-
-- (
-- [$($attrs_pub:tt)*]
-- enum $name:ident #manual_extra_traits $($rest:tt)*
-- ) => (
-- #[cfg_attr(feature = "extra-traits", derive(Debug))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
-- $($attrs_pub)* enum $name $($rest)*
-- );
--
- (
- [$($attrs_pub:tt)*]
- enum $name:ident $($rest:tt)*
- ) => (
-- #[cfg_attr(feature = "extra-traits", derive(Debug, Eq, PartialEq, Hash))]
-- #[cfg_attr(feature = "clone-impls", derive(Clone))]
- $($attrs_pub)* enum $name $($rest)*
- );
-
-@@ -120,15 +86,9 @@ macro_rules! ast_enum_of_structs_impl {
- check_keyword_matches!(pub $pub);
- check_keyword_matches!(enum $enum);
-
-- $(
-- $(
-- impl From<$member> for $name {
-- fn from(e: $member) -> $name {
-- $name::$variant(e)
-- }
-- }
-- )*
-- )*
-+ $($(
-+ ast_enum_from_struct!($name::$variant, $member);
-+ )*)*
-
- #[cfg(feature = "printing")]
- generate_to_tokens! {
-@@ -140,6 +100,19 @@ macro_rules! ast_enum_of_structs_impl {
- };
- }
-
-+macro_rules! ast_enum_from_struct {
-+ // No From<TokenStream> for verbatim variants.
-+ ($name:ident::Verbatim, $member:ident) => {};
-+
-+ ($name:ident::$variant:ident, $member:ident) => {
-+ impl From<$member> for $name {
-+ fn from(e: $member) -> $name {
-+ $name::$variant(e)
-+ }
-+ }
-+ };
-+}
-+
- #[cfg(feature = "printing")]
- macro_rules! generate_to_tokens {
- (do_not_generate_to_tokens $($foo:tt)*) => ();
-diff --git a/third_party/rust/syn/src/op.rs b/third_party/rust/syn/src/op.rs
-index 49fb853c79..d254673b40 100644
---- mozilla-release/third_party/rust/syn/src/op.rs
-+++ mozilla-release/third_party/rust/syn/src/op.rs
-@@ -1,9 +1,8 @@
- ast_enum! {
- /// A binary operator: `+`, `+=`, `&`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- #[cfg_attr(feature = "clone-impls", derive(Copy))]
- pub enum BinOp {
- /// The `+` operator (addition)
- Add(Token![+]),
-@@ -67,9 +66,8 @@ ast_enum! {
- ast_enum! {
- /// A unary operator: `*`, `!`, `-`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
-- #[cfg_attr(feature = "clone-impls", derive(Copy))]
- pub enum UnOp {
- /// The `*` operator for dereferencing
- Deref(Token![*]),
-diff --git a/third_party/rust/syn/src/parse.rs b/third_party/rust/syn/src/parse.rs
-index 7c7b194308..abb4c4c14f 100644
---- mozilla-release/third_party/rust/syn/src/parse.rs
-+++ mozilla-release/third_party/rust/syn/src/parse.rs
-@@ -26,8 +26,8 @@
- //! [`parse_macro_input!`]: ../macro.parse_macro_input.html
- //!
- //! ```
--//! extern crate proc_macro;
--//!
-+//! # extern crate proc_macro;
-+//! #
- //! use proc_macro::TokenStream;
- //! use syn::{braced, parse_macro_input, token, Field, Ident, Result, Token};
- //! use syn::parse::{Parse, ParseStream};
-@@ -109,9 +109,7 @@
- //! # Ok(())
- //! # }
- //! #
--//! # fn main() {
--//! # run_parser().unwrap();
--//! # }
-+//! # run_parser().unwrap();
- //! ```
- //!
- //! The [`parse_quote!`] macro also uses this approach.
-@@ -155,8 +153,8 @@
- //! [`Parser`]: trait.Parser.html
- //!
- //! ```
--//! extern crate proc_macro;
--//!
-+//! # extern crate proc_macro;
-+//! #
- //! use proc_macro::TokenStream;
- //! use syn::parse::Parser;
- //! use syn::punctuated::Punctuated;
-@@ -186,7 +184,7 @@
- //!
- //! ---
- //!
--//! *This module is available if Syn is built with the `"parsing"` feature.*
-+//! *This module is available only if Syn is built with the `"parsing"` feature.*
-
- #[path = "discouraged.rs"]
- pub mod discouraged;
-@@ -217,6 +215,11 @@ pub use crate::lookahead::{Lookahead1, Peek};
-
- /// Parsing interface implemented by all types that can be parsed in a default
- /// way from a token stream.
-+///
-+/// Refer to the [module documentation] for details about implementing and using
-+/// the `Parse` trait.
-+///
-+/// [module documentation]: self
- pub trait Parse: Sized {
- fn parse(input: ParseStream) -> Result<Self>;
- }
-@@ -263,13 +266,16 @@ pub struct ParseBuffer<'a> {
- // the cell.
- cell: Cell<Cursor<'static>>,
- marker: PhantomData<Cursor<'a>>,
-- unexpected: Rc<Cell<Option<Span>>>,
-+ unexpected: Cell<Option<Rc<Cell<Unexpected>>>>,
- }
-
- impl<'a> Drop for ParseBuffer<'a> {
- fn drop(&mut self) {
-- if !self.is_empty() && self.unexpected.get().is_none() {
-- self.unexpected.set(Some(self.cursor().span()));
-+ if let Some(unexpected_span) = span_of_unexpected_ignoring_nones(self.cursor()) {
-+ let (inner, old_span) = inner_unexpected(self);
-+ if old_span.is_none() {
-+ inner.set(Unexpected::Some(unexpected_span));
-+ }
- }
- }
- }
-@@ -324,15 +330,12 @@ impl<'a> Debug for ParseBuffer<'a> {
- /// # input.parse()
- /// # }
- /// #
--/// # fn main() {
--/// # use syn::parse::Parser;
--/// # let remainder = remainder_after_skipping_past_next_at
--/// # .parse_str("a @ b c")
--/// # .unwrap();
--/// # assert_eq!(remainder.to_string(), "b c");
--/// # }
-+/// # use syn::parse::Parser;
-+/// # let remainder = remainder_after_skipping_past_next_at
-+/// # .parse_str("a @ b c")
-+/// # .unwrap();
-+/// # assert_eq!(remainder.to_string(), "b c");
- /// ```
--#[derive(Copy, Clone)]
- pub struct StepCursor<'c, 'a> {
- scope: Span,
- // This field is covariant in 'c.
-@@ -356,6 +359,14 @@ impl<'c, 'a> Deref for StepCursor<'c, 'a> {
- }
- }
-
-+impl<'c, 'a> Copy for StepCursor<'c, 'a> {}
-+
-+impl<'c, 'a> Clone for StepCursor<'c, 'a> {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+}
-+
- impl<'c, 'a> StepCursor<'c, 'a> {
- /// Triggers an error at the current position of the parse stream.
- ///
-@@ -375,36 +386,81 @@ pub(crate) fn advance_step_cursor<'c, 'a>(proof: StepCursor<'c, 'a>, to: Cursor<
- unsafe { mem::transmute::<Cursor<'c>, Cursor<'a>>(to) }
- }
-
--fn skip(input: ParseStream) -> bool {
-- input
-- .step(|cursor| {
-- if let Some((_lifetime, rest)) = cursor.lifetime() {
-- Ok((true, rest))
-- } else if let Some((_token, rest)) = cursor.token_tree() {
-- Ok((true, rest))
-- } else {
-- Ok((false, *cursor))
-- }
-- })
-- .unwrap()
--}
--
- pub(crate) fn new_parse_buffer(
- scope: Span,
- cursor: Cursor,
-- unexpected: Rc<Cell<Option<Span>>>,
-+ unexpected: Rc<Cell<Unexpected>>,
- ) -> ParseBuffer {
- ParseBuffer {
- scope,
- // See comment on `cell` in the struct definition.
- cell: Cell::new(unsafe { mem::transmute::<Cursor, Cursor<'static>>(cursor) }),
- marker: PhantomData,
-- unexpected,
-+ unexpected: Cell::new(Some(unexpected)),
-+ }
-+}
-+
-+pub(crate) enum Unexpected {
-+ None,
-+ Some(Span),
-+ Chain(Rc<Cell<Unexpected>>),
-+}
-+
-+impl Default for Unexpected {
-+ fn default() -> Self {
-+ Unexpected::None
- }
- }
-
--pub(crate) fn get_unexpected(buffer: &ParseBuffer) -> Rc<Cell<Option<Span>>> {
-- buffer.unexpected.clone()
-+impl Clone for Unexpected {
-+ fn clone(&self) -> Self {
-+ match self {
-+ Unexpected::None => Unexpected::None,
-+ Unexpected::Some(span) => Unexpected::Some(*span),
-+ Unexpected::Chain(next) => Unexpected::Chain(next.clone()),
-+ }
-+ }
-+}
-+
-+// We call this on Cell<Unexpected> and Cell<Option<T>> where temporarily
-+// swapping in a None is cheap.
-+fn cell_clone<T: Default + Clone>(cell: &Cell<T>) -> T {
-+ let prev = cell.take();
-+ let ret = prev.clone();
-+ cell.set(prev);
-+ ret
-+}
-+
-+fn inner_unexpected(buffer: &ParseBuffer) -> (Rc<Cell<Unexpected>>, Option<Span>) {
-+ let mut unexpected = get_unexpected(buffer);
-+ loop {
-+ match cell_clone(&unexpected) {
-+ Unexpected::None => return (unexpected, None),
-+ Unexpected::Some(span) => return (unexpected, Some(span)),
-+ Unexpected::Chain(next) => unexpected = next,
-+ }
-+ }
-+}
-+
-+pub(crate) fn get_unexpected(buffer: &ParseBuffer) -> Rc<Cell<Unexpected>> {
-+ cell_clone(&buffer.unexpected).unwrap()
-+}
-+
-+fn span_of_unexpected_ignoring_nones(mut cursor: Cursor) -> Option<Span> {
-+ if cursor.eof() {
-+ return None;
-+ }
-+ while let Some((inner, _span, rest)) = cursor.group(Delimiter::None) {
-+ if let Some(unexpected) = span_of_unexpected_ignoring_nones(inner) {
-+ return Some(unexpected);
-+ }
-+ cursor = rest;
-+ }
-+ if cursor.eof() {
-+ None
-+ } else {
-+ Some(cursor.span())
-+ }
- }
-
- impl<'a> ParseBuffer<'a> {
-@@ -566,14 +622,17 @@ impl<'a> ParseBuffer<'a> {
- /// }
- /// ```
- pub fn peek2<T: Peek>(&self, token: T) -> bool {
-- let ahead = self.fork();
-- skip(&ahead) && ahead.peek(token)
-+ let _ = token;
-+ self.cursor().skip().map_or(false, T::Token::peek)
- }
-
- /// Looks at the third-next token in the parse stream.
- pub fn peek3<T: Peek>(&self, token: T) -> bool {
-- let ahead = self.fork();
-- skip(&ahead) && skip(&ahead) && ahead.peek(token)
-+ let _ = token;
-+ self.cursor()
-+ .skip()
-+ .and_then(Cursor::skip)
-+ .map_or(false, T::Token::peek)
- }
-
- /// Parses zero or more occurrences of `T` separated by punctuation of type
-@@ -615,12 +674,10 @@ impl<'a> ParseBuffer<'a> {
- /// }
- /// }
- /// #
-- /// # fn main() {
-- /// # let input = quote! {
-- /// # struct S(A, B);
-- /// # };
-- /// # syn::parse2::<TupleStruct>(input).unwrap();
-- /// # }
-+ /// # let input = quote! {
-+ /// # struct S(A, B);
-+ /// # };
-+ /// # syn::parse2::<TupleStruct>(input).unwrap();
- /// ```
- pub fn parse_terminated<T, P: Parse>(
- &self,
-@@ -847,8 +904,8 @@ impl<'a> ParseBuffer<'a> {
- cell: self.cell.clone(),
- marker: PhantomData,
- // Not the parent's unexpected. Nothing cares whether the clone
-- // parses all the way.
-- unexpected: Rc::new(Cell::new(None)),
-+ // parses all the way unless we `advance_to`.
-+ unexpected: Cell::new(Some(Rc::new(Cell::new(Unexpected::None)))),
- }
- }
-
-@@ -923,13 +980,11 @@ impl<'a> ParseBuffer<'a> {
- /// # input.parse()
- /// # }
- /// #
-- /// # fn main() {
-- /// # use syn::parse::Parser;
-- /// # let remainder = remainder_after_skipping_past_next_at
-- /// # .parse_str("a @ b c")
-- /// # .unwrap();
-- /// # assert_eq!(remainder.to_string(), "b c");
-- /// # }
-+ /// # use syn::parse::Parser;
-+ /// # let remainder = remainder_after_skipping_past_next_at
-+ /// # .parse_str("a @ b c")
-+ /// # .unwrap();
-+ /// # assert_eq!(remainder.to_string(), "b c");
- /// ```
- pub fn step<F, R>(&self, function: F) -> Result<R>
- where
-@@ -961,6 +1016,18 @@ impl<'a> ParseBuffer<'a> {
- Ok(node)
- }
-
-+ /// Returns the `Span` of the next token in the parse stream, or
-+ /// `Span::call_site()` if this parse stream has completely exhausted its
-+ /// input `TokenStream`.
-+ pub fn span(&self) -> Span {
-+ let cursor = self.cursor();
-+ if cursor.eof() {
-+ self.scope
-+ } else {
-+ crate::buffer::open_span_of_group(cursor)
-+ }
-+ }
-+
- /// Provides low-level access to the token representation underlying this
- /// parse stream.
- ///
-@@ -971,7 +1038,7 @@ impl<'a> ParseBuffer<'a> {
- }
-
- fn check_unexpected(&self) -> Result<()> {
-- match self.unexpected.get() {
-+ match inner_unexpected(self).1 {
- Some(span) => Err(Error::new(span, "unexpected token")),
- None => Ok(()),
- }
-@@ -1048,7 +1115,7 @@ impl Parse for Literal {
- ///
- /// [module documentation]: self
- ///
--/// *This trait is available if Syn is built with the `"parsing"` feature.*
-+/// *This trait is available only if Syn is built with the `"parsing"` feature.*
- pub trait Parser: Sized {
- type Output;
-
-@@ -1063,7 +1130,7 @@ pub trait Parser: Sized {
- /// This function will check that the input is fully parsed. If there are
- /// any unparsed tokens at the end of the stream, an error is returned.
- ///
-- /// *This method is available if Syn is built with both the `"parsing"` and
-+ /// *This method is available only if Syn is built with both the `"parsing"` and
- /// `"proc-macro"` features.*
- #[cfg(all(
- not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "wasi"))),
-@@ -1088,6 +1155,7 @@ pub trait Parser: Sized {
-
- // Not public API.
- #[doc(hidden)]
-+ #[cfg(any(feature = "full", feature = "derive"))]
- fn __parse_scoped(self, scope: Span, tokens: TokenStream) -> Result<Self::Output> {
- let _ = scope;
- self.parse2(tokens)
-@@ -1095,6 +1163,7 @@ pub trait Parser: Sized {
-
- // Not public API.
- #[doc(hidden)]
-+ #[cfg(any(feature = "full", feature = "derive"))]
- fn __parse_stream(self, input: ParseStream) -> Result<Self::Output> {
- input.parse().and_then(|tokens| self.parse2(tokens))
- }
-@@ -1103,7 +1172,7 @@ pub trait Parser: Sized {
- fn tokens_to_parse_buffer(tokens: &TokenBuffer) -> ParseBuffer {
- let scope = Span::call_site();
- let cursor = tokens.begin();
-- let unexpected = Rc::new(Cell::new(None));
-+ let unexpected = Rc::new(Cell::new(Unexpected::None));
- new_parse_buffer(scope, cursor, unexpected)
- }
-
-@@ -1118,38 +1187,42 @@ where
- let state = tokens_to_parse_buffer(&buf);
- let node = self(&state)?;
- state.check_unexpected()?;
-- if state.is_empty() {
-- Ok(node)
-+ if let Some(unexpected_span) = span_of_unexpected_ignoring_nones(state.cursor()) {
-+ Err(Error::new(unexpected_span, "unexpected token"))
- } else {
-- Err(state.error("unexpected token"))
-+ Ok(node)
- }
- }
-
- #[doc(hidden)]
-+ #[cfg(any(feature = "full", feature = "derive"))]
- fn __parse_scoped(self, scope: Span, tokens: TokenStream) -> Result<Self::Output> {
- let buf = TokenBuffer::new2(tokens);
- let cursor = buf.begin();
-- let unexpected = Rc::new(Cell::new(None));
-+ let unexpected = Rc::new(Cell::new(Unexpected::None));
- let state = new_parse_buffer(scope, cursor, unexpected);
- let node = self(&state)?;
- state.check_unexpected()?;
-- if state.is_empty() {
-- Ok(node)
-+ if let Some(unexpected_span) = span_of_unexpected_ignoring_nones(state.cursor()) {
-+ Err(Error::new(unexpected_span, "unexpected token"))
- } else {
-- Err(state.error("unexpected token"))
-+ Ok(node)
- }
- }
-
- #[doc(hidden)]
-+ #[cfg(any(feature = "full", feature = "derive"))]
- fn __parse_stream(self, input: ParseStream) -> Result<Self::Output> {
- self(input)
- }
- }
-
-+#[cfg(any(feature = "full", feature = "derive"))]
- pub(crate) fn parse_scoped<F: Parser>(f: F, scope: Span, tokens: TokenStream) -> Result<F::Output> {
- f.__parse_scoped(scope, tokens)
- }
-
-+#[cfg(any(feature = "full", feature = "derive"))]
- pub(crate) fn parse_stream<F: Parser>(f: F, input: ParseStream) -> Result<F::Output> {
- f.__parse_stream(input)
- }
-@@ -1160,8 +1233,8 @@ pub(crate) fn parse_stream<F: Parser>(f: F, input: ParseStream) -> Result<F::Out
- /// provided any attribute args.
- ///
- /// ```
--/// extern crate proc_macro;
--///
-+/// # extern crate proc_macro;
-+/// #
- /// use proc_macro::TokenStream;
- /// use syn::parse_macro_input;
- /// use syn::parse::Nothing;
-diff --git a/third_party/rust/syn/src/parse_macro_input.rs b/third_party/rust/syn/src/parse_macro_input.rs
-index d6e0725c17..c8fc1cea37 100644
---- mozilla-release/third_party/rust/syn/src/parse_macro_input.rs
-+++ mozilla-release/third_party/rust/syn/src/parse_macro_input.rs
-@@ -16,8 +16,8 @@
- /// #\[proc_macro_attribute\] attribute.
- ///
- /// ```
--/// extern crate proc_macro;
--///
-+/// # extern crate proc_macro;
-+/// #
- /// use proc_macro::TokenStream;
- /// use syn::{parse_macro_input, Result};
- /// use syn::parse::{Parse, ParseStream};
-@@ -43,7 +43,31 @@
- /// # "".parse().unwrap()
- /// }
- /// ```
--#[macro_export(local_inner_macros)]
-+///
-+/// <br>
-+///
-+/// # Expansion
-+///
-+/// `parse_macro_input!($variable as $Type)` expands to something like:
-+///
-+/// ```no_run
-+/// # extern crate proc_macro;
-+/// #
-+/// # macro_rules! doc_test {
-+/// # ($variable:ident as $Type:ty) => {
-+/// match syn::parse::<$Type>($variable) {
-+/// Ok(syntax_tree) => syntax_tree,
-+/// Err(err) => return proc_macro::TokenStream::from(err.to_compile_error()),
-+/// }
-+/// # };
-+/// # }
-+/// #
-+/// # fn test(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
-+/// # let _ = doc_test!(input as syn::Ident);
-+/// # proc_macro::TokenStream::new()
-+/// # }
-+/// ```
-+#[macro_export]
- macro_rules! parse_macro_input {
- ($tokenstream:ident as $ty:ty) => {
- match $crate::parse_macro_input::parse::<$ty>($tokenstream) {
-@@ -54,7 +78,7 @@ macro_rules! parse_macro_input {
- }
- };
- ($tokenstream:ident) => {
-- parse_macro_input!($tokenstream as _)
-+ $crate::parse_macro_input!($tokenstream as _)
- };
- }
-
-diff --git a/third_party/rust/syn/src/parse_quote.rs b/third_party/rust/syn/src/parse_quote.rs
-index 18a47b95c7..66aa818cd0 100644
---- mozilla-release/third_party/rust/syn/src/parse_quote.rs
-+++ mozilla-release/third_party/rust/syn/src/parse_quote.rs
-@@ -24,7 +24,7 @@
- /// }
- /// ```
- ///
--/// *This macro is available if Syn is built with the `"parsing"` feature,
-+/// *This macro is available only if Syn is built with the `"parsing"` feature,
- /// although interpolation of syntax tree nodes into the quoted tokens is only
- /// supported if Syn is built with the `"printing"` feature as well.*
- ///
-@@ -56,8 +56,10 @@
- /// or inner like `#![...]`
- /// - [`Punctuated<T, P>`] — parses zero or more `T` separated by punctuation
- /// `P` with optional trailing punctuation
-+/// - [`Vec<Stmt>`] — parses the same as `Block::parse_within`
- ///
- /// [`Punctuated<T, P>`]: punctuated::Punctuated
-+/// [`Vec<Stmt>`]: Block::parse_within
- ///
- /// # Panics
- ///
-@@ -67,7 +69,7 @@
- //
- // TODO: allow Punctuated to be inferred as intra doc link, currently blocked on
- // https://github.com/rust-lang/rust/issues/62834
--#[macro_export(local_inner_macros)]
-+#[macro_export]
- macro_rules! parse_quote {
- ($($tt:tt)*) => {
- $crate::parse_quote::parse(
-@@ -112,6 +114,8 @@ impl<T: Parse> ParseQuote for T {
- use crate::punctuated::Punctuated;
- #[cfg(any(feature = "full", feature = "derive"))]
- use crate::{attr, Attribute};
-+#[cfg(feature = "full")]
-+use crate::{Block, Stmt};
-
- #[cfg(any(feature = "full", feature = "derive"))]
- impl ParseQuote for Attribute {
-@@ -129,3 +133,10 @@ impl<T: Parse, P: Parse> ParseQuote for Punctuated<T, P> {
- Self::parse_terminated(input)
- }
- }
-+
-+#[cfg(feature = "full")]
-+impl ParseQuote for Vec<Stmt> {
-+ fn parse(input: ParseStream) -> Result<Self> {
-+ Block::parse_within(input)
-+ }
-+}
-diff --git a/third_party/rust/syn/src/pat.rs b/third_party/rust/syn/src/pat.rs
-index 9371e05493..e9576a2361 100644
---- mozilla-release/third_party/rust/syn/src/pat.rs
-+++ mozilla-release/third_party/rust/syn/src/pat.rs
-@@ -1,16 +1,12 @@
- use super::*;
- use crate::punctuated::Punctuated;
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
- use proc_macro2::TokenStream;
--#[cfg(feature = "extra-traits")]
--use std::hash::{Hash, Hasher};
-
- ast_enum_of_structs! {
- /// A pattern in a local binding, function signature, match expression, or
- /// various other places.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- ///
- /// # Syntax tree enum
- ///
-@@ -20,7 +16,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum Pat #manual_extra_traits {
-+ pub enum Pat {
- /// A box pattern: `box v`.
- Box(PatBox),
-
-@@ -86,7 +82,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A box pattern: `box v`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatBox {
- pub attrs: Vec<Attribute>,
- pub box_token: Token![box],
-@@ -97,7 +93,10 @@ ast_struct! {
- ast_struct! {
- /// A pattern that binds a new variable: `ref mut binding @ SUBPATTERN`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// It may also be a unit struct or struct variant (e.g. `None`), or a
-+ /// constant; these cannot be distinguished syntactically.
-+ ///
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatIdent {
- pub attrs: Vec<Attribute>,
- pub by_ref: Option<Token![ref]>,
-@@ -113,7 +112,7 @@ ast_struct! {
- /// This holds an `Expr` rather than a `Lit` because negative numbers
- /// are represented as an `Expr::Unary`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatLit {
- pub attrs: Vec<Attribute>,
- pub expr: Box<Expr>,
-@@ -123,7 +122,7 @@ ast_struct! {
- ast_struct! {
- /// A macro in pattern position.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatMacro {
- pub attrs: Vec<Attribute>,
- pub mac: Macro,
-@@ -133,7 +132,7 @@ ast_struct! {
- ast_struct! {
- /// A pattern that matches any one of a set of cases.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatOr {
- pub attrs: Vec<Attribute>,
- pub leading_vert: Option<Token![|]>,
-@@ -150,7 +149,7 @@ ast_struct! {
- /// `<A>::B::C` and `<A as Trait>::B::C` can only legally refer to
- /// associated constants.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatPath {
- pub attrs: Vec<Attribute>,
- pub qself: Option<QSelf>,
-@@ -161,7 +160,7 @@ ast_struct! {
- ast_struct! {
- /// A range pattern: `1..=2`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatRange {
- pub attrs: Vec<Attribute>,
- pub lo: Box<Expr>,
-@@ -173,7 +172,7 @@ ast_struct! {
- ast_struct! {
- /// A reference pattern: `&mut var`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatReference {
- pub attrs: Vec<Attribute>,
- pub and_token: Token![&],
-@@ -185,7 +184,7 @@ ast_struct! {
- ast_struct! {
- /// The dots in a tuple or slice pattern: `[0, 1, ..]`
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatRest {
- pub attrs: Vec<Attribute>,
- pub dot2_token: Token![..],
-@@ -195,7 +194,7 @@ ast_struct! {
- ast_struct! {
- /// A dynamically sized slice pattern: `[a, b, ref i @ .., y, z]`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatSlice {
- pub attrs: Vec<Attribute>,
- pub bracket_token: token::Bracket,
-@@ -206,7 +205,7 @@ ast_struct! {
- ast_struct! {
- /// A struct or struct variant pattern: `Variant { x, y, .. }`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatStruct {
- pub attrs: Vec<Attribute>,
- pub path: Path,
-@@ -219,7 +218,7 @@ ast_struct! {
- ast_struct! {
- /// A tuple pattern: `(a, b)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatTuple {
- pub attrs: Vec<Attribute>,
- pub paren_token: token::Paren,
-@@ -230,7 +229,7 @@ ast_struct! {
- ast_struct! {
- /// A tuple struct or tuple variant pattern: `Variant(x, y, .., z)`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatTupleStruct {
- pub attrs: Vec<Attribute>,
- pub path: Path,
-@@ -241,7 +240,7 @@ ast_struct! {
- ast_struct! {
- /// A type ascription pattern: `foo: f64`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatType {
- pub attrs: Vec<Attribute>,
- pub pat: Box<Pat>,
-@@ -253,7 +252,7 @@ ast_struct! {
- ast_struct! {
- /// A pattern that matches any value: `_`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct PatWild {
- pub attrs: Vec<Attribute>,
- pub underscore_token: Token![_],
-@@ -266,7 +265,7 @@ ast_struct! {
- /// Patterns like the fields of Foo `{ x, ref y, ref mut z }` are treated
- /// the same as `x: x, y: ref y, z: ref mut z` but there is no colon token.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct FieldPat {
- pub attrs: Vec<Attribute>,
- pub member: Member,
-@@ -275,122 +274,17 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Pat {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Pat {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (Pat::Box(this), Pat::Box(other)) => this == other,
-- (Pat::Ident(this), Pat::Ident(other)) => this == other,
-- (Pat::Lit(this), Pat::Lit(other)) => this == other,
-- (Pat::Macro(this), Pat::Macro(other)) => this == other,
-- (Pat::Or(this), Pat::Or(other)) => this == other,
-- (Pat::Path(this), Pat::Path(other)) => this == other,
-- (Pat::Range(this), Pat::Range(other)) => this == other,
-- (Pat::Reference(this), Pat::Reference(other)) => this == other,
-- (Pat::Rest(this), Pat::Rest(other)) => this == other,
-- (Pat::Slice(this), Pat::Slice(other)) => this == other,
-- (Pat::Struct(this), Pat::Struct(other)) => this == other,
-- (Pat::Tuple(this), Pat::Tuple(other)) => this == other,
-- (Pat::TupleStruct(this), Pat::TupleStruct(other)) => this == other,
-- (Pat::Type(this), Pat::Type(other)) => this == other,
-- (Pat::Verbatim(this), Pat::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- (Pat::Wild(this), Pat::Wild(other)) => this == other,
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Pat {
-- fn hash<H>(&self, hash: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- Pat::Box(pat) => {
-- hash.write_u8(0);
-- pat.hash(hash);
-- }
-- Pat::Ident(pat) => {
-- hash.write_u8(1);
-- pat.hash(hash);
-- }
-- Pat::Lit(pat) => {
-- hash.write_u8(2);
-- pat.hash(hash);
-- }
-- Pat::Macro(pat) => {
-- hash.write_u8(3);
-- pat.hash(hash);
-- }
-- Pat::Or(pat) => {
-- hash.write_u8(4);
-- pat.hash(hash);
-- }
-- Pat::Path(pat) => {
-- hash.write_u8(5);
-- pat.hash(hash);
-- }
-- Pat::Range(pat) => {
-- hash.write_u8(6);
-- pat.hash(hash);
-- }
-- Pat::Reference(pat) => {
-- hash.write_u8(7);
-- pat.hash(hash);
-- }
-- Pat::Rest(pat) => {
-- hash.write_u8(8);
-- pat.hash(hash);
-- }
-- Pat::Slice(pat) => {
-- hash.write_u8(9);
-- pat.hash(hash);
-- }
-- Pat::Struct(pat) => {
-- hash.write_u8(10);
-- pat.hash(hash);
-- }
-- Pat::Tuple(pat) => {
-- hash.write_u8(11);
-- pat.hash(hash);
-- }
-- Pat::TupleStruct(pat) => {
-- hash.write_u8(12);
-- pat.hash(hash);
-- }
-- Pat::Type(pat) => {
-- hash.write_u8(13);
-- pat.hash(hash);
-- }
-- Pat::Verbatim(pat) => {
-- hash.write_u8(14);
-- TokenStreamHelper(pat).hash(hash);
-- }
-- Pat::Wild(pat) => {
-- hash.write_u8(15);
-- pat.hash(hash);
-- }
-- Pat::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- #[cfg(feature = "parsing")]
--mod parsing {
-+pub mod parsing {
- use super::*;
-
- use crate::ext::IdentExt;
-- use crate::parse::{Parse, ParseStream, Result};
-+ use crate::parse::{Parse, ParseBuffer, ParseStream, Result};
- use crate::path;
-
- impl Parse for Pat {
- fn parse(input: ParseStream) -> Result<Self> {
-+ let begin = input.fork();
- let lookahead = input.lookahead1();
- if lookahead.peek(Ident)
- && ({
-@@ -411,7 +305,6 @@ mod parsing {
- || lookahead.peek(Token![<])
- || input.peek(Token![Self])
- || input.peek(Token![super])
-- || input.peek(Token![extern])
- || input.peek(Token![crate])
- {
- pat_path_or_macro_or_struct_or_range(input)
-@@ -434,7 +327,7 @@ mod parsing {
- } else if lookahead.peek(token::Bracket) {
- input.call(pat_slice).map(Pat::Slice)
- } else if lookahead.peek(Token![..]) && !input.peek(Token![...]) {
-- input.call(pat_rest).map(Pat::Rest)
-+ pat_range_half_open(input, begin)
- } else {
- Err(lookahead.error())
- }
-@@ -442,10 +335,11 @@ mod parsing {
- }
-
- fn pat_path_or_macro_or_struct_or_range(input: ParseStream) -> Result<Pat> {
-+ let begin = input.fork();
- let (qself, path) = path::parsing::qpath(input, true)?;
-
- if input.peek(Token![..]) {
-- return pat_range(input, qself, path).map(Pat::Range);
-+ return pat_range(input, begin, qself, path);
- }
-
- if qself.is_some() {
-@@ -487,7 +381,7 @@ mod parsing {
- } else if input.peek(token::Paren) {
- pat_tuple_struct(input, path).map(Pat::TupleStruct)
- } else if input.peek(Token![..]) {
-- pat_range(input, qself, path).map(Pat::Range)
-+ pat_range(input, begin, qself, path)
- } else {
- Ok(Pat::Path(PatPath {
- attrs: Vec::new(),
-@@ -546,7 +440,7 @@ mod parsing {
- while !content.is_empty() && !content.peek(Token![..]) {
- let value = content.call(field_pat)?;
- fields.push_value(value);
-- if !content.peek(Token![,]) {
-+ if content.is_empty() {
- break;
- }
- let punct: Token![,] = content.parse()?;
-@@ -578,6 +472,7 @@ mod parsing {
- }
-
- fn field_pat(input: ParseStream) -> Result<FieldPat> {
-+ let attrs = input.call(Attribute::parse_outer)?;
- let boxed: Option<Token![box]> = input.parse()?;
- let by_ref: Option<Token![ref]> = input.parse()?;
- let mutability: Option<Token![mut]> = input.parse()?;
-@@ -587,10 +482,10 @@ mod parsing {
- || member.is_unnamed()
- {
- return Ok(FieldPat {
-- attrs: Vec::new(),
-+ attrs,
- member,
- colon_token: input.parse()?,
-- pat: input.parse()?,
-+ pat: Box::new(multi_pat(input)?),
- });
- }
-
-@@ -610,30 +505,57 @@ mod parsing {
- if let Some(boxed) = boxed {
- pat = Pat::Box(PatBox {
- attrs: Vec::new(),
-- pat: Box::new(pat),
- box_token: boxed,
-+ pat: Box::new(pat),
- });
- }
-
- Ok(FieldPat {
-+ attrs,
- member: Member::Named(ident),
-- pat: Box::new(pat),
-- attrs: Vec::new(),
- colon_token: None,
-+ pat: Box::new(pat),
- })
- }
-
-- fn pat_range(input: ParseStream, qself: Option<QSelf>, path: Path) -> Result<PatRange> {
-- Ok(PatRange {
-- attrs: Vec::new(),
-- lo: Box::new(Expr::Path(ExprPath {
-+ fn pat_range(
-+ input: ParseStream,
-+ begin: ParseBuffer,
-+ qself: Option<QSelf>,
-+ path: Path,
-+ ) -> Result<Pat> {
-+ let limits: RangeLimits = input.parse()?;
-+ let hi = input.call(pat_lit_expr)?;
-+ if let Some(hi) = hi {
-+ Ok(Pat::Range(PatRange {
- attrs: Vec::new(),
-- qself,
-- path,
-- })),
-- limits: input.parse()?,
-- hi: input.call(pat_lit_expr)?,
-- })
-+ lo: Box::new(Expr::Path(ExprPath {
-+ attrs: Vec::new(),
-+ qself,
-+ path,
-+ })),
-+ limits,
-+ hi,
-+ }))
-+ } else {
-+ Ok(Pat::Verbatim(verbatim::between(begin, input)))
-+ }
-+ }
-+
-+ fn pat_range_half_open(input: ParseStream, begin: ParseBuffer) -> Result<Pat> {
-+ let limits: RangeLimits = input.parse()?;
-+ let hi = input.call(pat_lit_expr)?;
-+ if hi.is_some() {
-+ Ok(Pat::Verbatim(verbatim::between(begin, input)))
-+ } else {
-+ match limits {
-+ RangeLimits::HalfOpen(dot2_token) => Ok(Pat::Rest(PatRest {
-+ attrs: Vec::new(),
-+ dot2_token,
-+ })),
-+ RangeLimits::Closed(_) => Err(input.error("expected range upper bound")),
-+ }
-+ }
- }
-
- fn pat_tuple(input: ParseStream) -> Result<PatTuple> {
-@@ -642,7 +564,7 @@ mod parsing {
-
- let mut elems = Punctuated::new();
- while !content.is_empty() {
-- let value: Pat = content.parse()?;
-+ let value = multi_pat(&content)?;
- elems.push_value(value);
- if content.is_empty() {
- break;
-@@ -668,14 +590,21 @@ mod parsing {
- }
-
- fn pat_lit_or_range(input: ParseStream) -> Result<Pat> {
-- let lo = input.call(pat_lit_expr)?;
-+ let begin = input.fork();
-+ let lo = input.call(pat_lit_expr)?.unwrap();
- if input.peek(Token![..]) {
-- Ok(Pat::Range(PatRange {
-- attrs: Vec::new(),
-- lo,
-- limits: input.parse()?,
-- hi: input.call(pat_lit_expr)?,
-- }))
-+ let limits: RangeLimits = input.parse()?;
-+ let hi = input.call(pat_lit_expr)?;
-+ if let Some(hi) = hi {
-+ Ok(Pat::Range(PatRange {
-+ attrs: Vec::new(),
-+ lo,
-+ limits,
-+ hi,
-+ }))
-+ } else {
-+ Ok(Pat::Verbatim(verbatim::between(begin, input)))
-+ }
- } else {
- Ok(Pat::Lit(PatLit {
- attrs: Vec::new(),
-@@ -684,7 +613,17 @@ mod parsing {
- }
- }
-
-- fn pat_lit_expr(input: ParseStream) -> Result<Box<Expr>> {
-+ fn pat_lit_expr(input: ParseStream) -> Result<Option<Box<Expr>>> {
-+ if input.is_empty()
-+ || input.peek(Token![|])
-+ || input.peek(Token![=>])
-+ || input.peek(Token![:]) && !input.peek(Token![::])
-+ || input.peek(Token![,])
-+ || input.peek(Token![;])
-+ {
-+ return Ok(None);
-+ }
-+
- let neg: Option<Token![-]> = input.parse()?;
-
- let lookahead = input.lookahead1();
-@@ -696,7 +635,6 @@ mod parsing {
- || lookahead.peek(Token![self])
- || lookahead.peek(Token![Self])
- || lookahead.peek(Token![super])
-- || lookahead.peek(Token![extern])
- || lookahead.peek(Token![crate])
- {
- Expr::Path(input.parse()?)
-@@ -704,7 +642,7 @@ mod parsing {
- return Err(lookahead.error());
- };
-
-- Ok(Box::new(if let Some(neg) = neg {
-+ Ok(Some(Box::new(if let Some(neg) = neg {
- Expr::Unary(ExprUnary {
- attrs: Vec::new(),
- op: UnOp::Neg(neg),
-@@ -712,7 +650,7 @@ mod parsing {
- })
- } else {
- expr
-- }))
-+ })))
- }
-
- fn pat_slice(input: ParseStream) -> Result<PatSlice> {
-@@ -721,7 +659,7 @@ mod parsing {
-
- let mut elems = Punctuated::new();
- while !content.is_empty() {
-- let value: Pat = content.parse()?;
-+ let value = multi_pat(&content)?;
- elems.push_value(value);
- if content.is_empty() {
- break;
-@@ -737,11 +675,35 @@ mod parsing {
- })
- }
-
-- fn pat_rest(input: ParseStream) -> Result<PatRest> {
-- Ok(PatRest {
-- attrs: Vec::new(),
-- dot2_token: input.parse()?,
-- })
-+ pub fn multi_pat(input: ParseStream) -> Result<Pat> {
-+ multi_pat_impl(input, None)
-+ }
-+
-+ pub fn multi_pat_with_leading_vert(input: ParseStream) -> Result<Pat> {
-+ let leading_vert: Option<Token![|]> = input.parse()?;
-+ multi_pat_impl(input, leading_vert)
-+ }
-+
-+ fn multi_pat_impl(input: ParseStream, leading_vert: Option<Token![|]>) -> Result<Pat> {
-+ let mut pat: Pat = input.parse()?;
-+ if leading_vert.is_some()
-+ || input.peek(Token![|]) && !input.peek(Token![||]) && !input.peek(Token![|=])
-+ {
-+ let mut cases = Punctuated::new();
-+ cases.push_value(pat);
-+ while input.peek(Token![|]) && !input.peek(Token![||]) && !input.peek(Token![|=]) {
-+ let punct = input.parse()?;
-+ cases.push_punct(punct);
-+ let pat: Pat = input.parse()?;
-+ cases.push_value(pat);
-+ }
-+ pat = Pat::Or(PatOr {
-+ attrs: Vec::new(),
-+ leading_vert,
-+ cases,
-+ });
-+ }
-+ Ok(pat)
- }
- }
-
-@@ -756,12 +718,14 @@ mod printing {
-
- impl ToTokens for PatWild {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.underscore_token.to_tokens(tokens);
- }
- }
-
- impl ToTokens for PatIdent {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.by_ref.to_tokens(tokens);
- self.mutability.to_tokens(tokens);
- self.ident.to_tokens(tokens);
-@@ -774,6 +738,7 @@ mod printing {
-
- impl ToTokens for PatStruct {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.path.to_tokens(tokens);
- self.brace_token.surround(tokens, |tokens| {
- self.fields.to_tokens(tokens);
-@@ -788,6 +753,7 @@ mod printing {
-
- impl ToTokens for PatTupleStruct {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.path.to_tokens(tokens);
- self.pat.to_tokens(tokens);
- }
-@@ -804,12 +770,14 @@ mod printing {
-
- impl ToTokens for PatPath {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- private::print_path(tokens, &self.qself, &self.path);
- }
- }
-
- impl ToTokens for PatTuple {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.paren_token.surround(tokens, |tokens| {
- self.elems.to_tokens(tokens);
- });
-@@ -818,6 +786,7 @@ mod printing {
-
- impl ToTokens for PatBox {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.box_token.to_tokens(tokens);
- self.pat.to_tokens(tokens);
- }
-@@ -825,6 +794,7 @@ mod printing {
-
- impl ToTokens for PatReference {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.and_token.to_tokens(tokens);
- self.mutability.to_tokens(tokens);
- self.pat.to_tokens(tokens);
-@@ -833,18 +803,21 @@ mod printing {
-
- impl ToTokens for PatRest {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.dot2_token.to_tokens(tokens);
- }
- }
-
- impl ToTokens for PatLit {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.expr.to_tokens(tokens);
- }
- }
-
- impl ToTokens for PatRange {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.lo.to_tokens(tokens);
- match &self.limits {
- RangeLimits::HalfOpen(t) => t.to_tokens(tokens),
-@@ -856,6 +829,7 @@ mod printing {
-
- impl ToTokens for PatSlice {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.bracket_token.surround(tokens, |tokens| {
- self.elems.to_tokens(tokens);
- });
-@@ -864,12 +838,14 @@ mod printing {
-
- impl ToTokens for PatMacro {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.mac.to_tokens(tokens);
- }
- }
-
- impl ToTokens for PatOr {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- self.leading_vert.to_tokens(tokens);
- self.cases.to_tokens(tokens);
- }
-@@ -877,6 +853,7 @@ mod printing {
-
- impl ToTokens for FieldPat {
- fn to_tokens(&self, tokens: &mut TokenStream) {
-+ tokens.append_all(self.attrs.outer());
- if let Some(colon_token) = &self.colon_token {
- self.member.to_tokens(tokens);
- colon_token.to_tokens(tokens);
-diff --git a/third_party/rust/syn/src/path.rs b/third_party/rust/syn/src/path.rs
-index 8dda43ee67..15c0fcc664 100644
---- mozilla-release/third_party/rust/syn/src/path.rs
-+++ mozilla-release/third_party/rust/syn/src/path.rs
-@@ -2,9 +2,9 @@ use super::*;
- use crate::punctuated::Punctuated;
-
- ast_struct! {
-- /// A path at which a named item is exported: `std::collections::HashMap`.
-+ /// A path at which a named item is exported (e.g. `std::collections::HashMap`).
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Path {
- pub leading_colon: Option<Token![::]>,
-@@ -29,7 +29,7 @@ where
- ast_struct! {
- /// A segment of a path together with any path arguments on that segment.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct PathSegment {
- pub ident: Ident,
-@@ -52,7 +52,7 @@ where
- ast_enum! {
- /// Angle bracketed or parenthesized arguments of a path segment.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// ## Angle bracketed
-@@ -98,7 +98,7 @@ impl PathArguments {
- ast_enum! {
- /// An individual generic argument, like `'a`, `T`, or `Item = T`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum GenericArgument {
- /// A lifetime argument.
-@@ -122,7 +122,7 @@ ast_struct! {
- /// Angle bracketed arguments of a path segment: the `<K, V>` in `HashMap<K,
- /// V>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct AngleBracketedGenericArguments {
- pub colon2_token: Option<Token![::]>,
-@@ -135,7 +135,7 @@ ast_struct! {
- ast_struct! {
- /// A binding (equality constraint) on an associated type: `Item = u8`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Binding {
- pub ident: Ident,
-@@ -147,7 +147,7 @@ ast_struct! {
- ast_struct! {
- /// An associated type bound: `Iterator<Item: Display>`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Constraint {
- pub ident: Ident,
-@@ -160,7 +160,7 @@ ast_struct! {
- /// Arguments of a function path segment: the `(A, B) -> C` in `Fn(A,B) ->
- /// C`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct ParenthesizedGenericArguments {
- pub paren_token: token::Paren,
-@@ -189,7 +189,7 @@ ast_struct! {
- /// ty position = 0
- /// ```
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct QSelf {
- pub lt_token: Token![<],
-@@ -291,11 +291,7 @@ pub mod parsing {
-
- impl PathSegment {
- fn parse_helper(input: ParseStream, expr_style: bool) -> Result<Self> {
-- if input.peek(Token![super])
-- || input.peek(Token![self])
-- || input.peek(Token![crate])
-- || input.peek(Token![extern])
-- {
-+ if input.peek(Token![super]) || input.peek(Token![self]) || input.peek(Token![crate]) {
- let ident = input.call(Ident::parse_any)?;
- return Ok(PathSegment::from(ident));
- }
-@@ -358,7 +354,7 @@ pub mod parsing {
- impl Path {
- /// Parse a `Path` containing no path arguments on any of its segments.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- ///
- /// # Example
-@@ -400,7 +396,6 @@ pub mod parsing {
- && !input.peek(Token![self])
- && !input.peek(Token![Self])
- && !input.peek(Token![crate])
-- && !input.peek(Token![extern])
- {
- break;
- }
-@@ -433,7 +428,7 @@ pub mod parsing {
- /// path arguments, and
- /// - the ident of the first path segment is equal to the given one.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- ///
- /// # Example
-@@ -472,7 +467,7 @@ pub mod parsing {
- /// - the first path segment has no angle bracketed or parenthesized
- /// path arguments.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- pub fn get_ident(&self) -> Option<&Ident> {
- if self.leading_colon.is_none()
-diff --git a/third_party/rust/syn/src/punctuated.rs b/third_party/rust/syn/src/punctuated.rs
-index 38c7bf4e82..46c82a65b1 100644
---- mozilla-release/third_party/rust/syn/src/punctuated.rs
-+++ mozilla-release/third_party/rust/syn/src/punctuated.rs
-@@ -22,6 +22,8 @@
-
- #[cfg(feature = "extra-traits")]
- use std::fmt::{self, Debug};
-+#[cfg(feature = "extra-traits")]
-+use std::hash::{Hash, Hasher};
- #[cfg(any(feature = "full", feature = "derive"))]
- use std::iter;
- use std::iter::FromIterator;
-@@ -41,8 +43,6 @@ use crate::token::Token;
- /// Refer to the [module documentation] for details about punctuated sequences.
- ///
- /// [module documentation]: self
--#[cfg_attr(feature = "extra-traits", derive(Eq, PartialEq, Hash))]
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- pub struct Punctuated<T, P> {
- inner: Vec<(T, P)>,
- last: Option<Box<T>>,
-@@ -76,22 +76,19 @@ impl<T, P> Punctuated<T, P> {
- self.iter().next()
- }
-
-+ /// Mutably borrows the first element in this sequence.
-+ pub fn first_mut(&mut self) -> Option<&mut T> {
-+ self.iter_mut().next()
-+ }
-+
- /// Borrows the last element in this sequence.
- pub fn last(&self) -> Option<&T> {
-- if self.last.is_some() {
-- self.last.as_ref().map(Box::as_ref)
-- } else {
-- self.inner.last().map(|pair| &pair.0)
-- }
-+ self.iter().next_back()
- }
-
- /// Mutably borrows the last element in this sequence.
- pub fn last_mut(&mut self) -> Option<&mut T> {
-- if self.last.is_some() {
-- self.last.as_mut().map(Box::as_mut)
-- } else {
-- self.inner.last_mut().map(|pair| &mut pair.0)
-- }
-+ self.iter_mut().next_back()
- }
-
- /// Returns an iterator over borrowed syntax tree nodes of type `&T`.
-@@ -230,13 +227,19 @@ impl<T, P> Punctuated<T, P> {
- }
- }
-
-+ /// Clears the sequence of all values and punctuation, making it empty.
-+ pub fn clear(&mut self) {
-+ self.inner.clear();
-+ self.last = None;
-+ }
-+
- /// Parses zero or more occurrences of `T` separated by punctuation of type
- /// `P`, with optional trailing punctuation.
- ///
- /// Parsing continues until the end of this parse stream. The entire content
- /// of this parse stream must consist of `T` and `P`.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_terminated(input: ParseStream) -> Result<Self>
-@@ -256,7 +259,7 @@ impl<T, P> Punctuated<T, P> {
- ///
- /// [`parse_terminated`]: Punctuated::parse_terminated
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_terminated_with(
-@@ -292,7 +295,7 @@ impl<T, P> Punctuated<T, P> {
- /// is not followed by a `P`, even if there are remaining tokens in the
- /// stream.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_separated_nonempty(input: ParseStream) -> Result<Self>
-@@ -312,7 +315,7 @@ impl<T, P> Punctuated<T, P> {
- ///
- /// [`parse_separated_nonempty`]: Punctuated::parse_separated_nonempty
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- #[cfg(feature = "parsing")]
- pub fn parse_separated_nonempty_with(
-@@ -338,6 +341,53 @@ impl<T, P> Punctuated<T, P> {
- }
- }
-
-+#[cfg(feature = "clone-impls")]
-+impl<T, P> Clone for Punctuated<T, P>
-+where
-+ T: Clone,
-+ P: Clone,
-+{
-+ fn clone(&self) -> Self {
-+ Punctuated {
-+ inner: self.inner.clone(),
-+ last: self.last.clone(),
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "extra-traits")]
-+impl<T, P> Eq for Punctuated<T, P>
-+where
-+ T: Eq,
-+ P: Eq,
-+{
-+}
-+
-+#[cfg(feature = "extra-traits")]
-+impl<T, P> PartialEq for Punctuated<T, P>
-+where
-+ T: PartialEq,
-+ P: PartialEq,
-+{
-+ fn eq(&self, other: &Self) -> bool {
-+ let Punctuated { inner, last } = self;
-+ *inner == other.inner && *last == other.last
-+ }
-+}
-+
-+#[cfg(feature = "extra-traits")]
-+impl<T, P> Hash for Punctuated<T, P>
-+where
-+ T: Hash,
-+ P: Hash,
-+{
-+ fn hash<H: Hasher>(&self, state: &mut H) {
-+ let Punctuated { inner, last } = self;
-+ inner.hash(state);
-+ last.hash(state);
-+ }
-+}
-+
- #[cfg(feature = "extra-traits")]
- impl<T: Debug, P: Debug> Debug for Punctuated<T, P> {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-@@ -536,7 +586,6 @@ impl<'a, T, P> ExactSizeIterator for PairsMut<'a, T, P> {
- /// Refer to the [module documentation] for details about punctuated sequences.
- ///
- /// [module documentation]: self
--#[derive(Clone)]
- pub struct IntoPairs<T, P> {
- inner: vec::IntoIter<(T, P)>,
- last: option::IntoIter<T>,
-@@ -572,12 +621,24 @@ impl<T, P> ExactSizeIterator for IntoPairs<T, P> {
- }
- }
-
-+impl<T, P> Clone for IntoPairs<T, P>
-+where
-+ T: Clone,
-+ P: Clone,
-+{
-+ fn clone(&self) -> Self {
-+ IntoPairs {
-+ inner: self.inner.clone(),
-+ last: self.last.clone(),
-+ }
-+ }
-+}
-+
- /// An iterator over owned values of type `T`.
- ///
- /// Refer to the [module documentation] for details about punctuated sequences.
- ///
- /// [module documentation]: self
--#[derive(Clone)]
- pub struct IntoIter<T> {
- inner: vec::IntoIter<T>,
- }
-@@ -606,6 +667,17 @@ impl<T> ExactSizeIterator for IntoIter<T> {
- }
- }
-
-+impl<T> Clone for IntoIter<T>
-+where
-+ T: Clone,
-+{
-+ fn clone(&self) -> Self {
-+ IntoIter {
-+ inner: self.inner.clone(),
-+ }
-+ }
-+}
-+
- /// An iterator over borrowed values of type `&T`.
- ///
- /// Refer to the [module documentation] for details about punctuated sequences.
-@@ -799,7 +871,6 @@ impl<'a, T: 'a, I: 'a> IterMutTrait<'a, T> for I where
- /// Refer to the [module documentation] for details about punctuated sequences.
- ///
- /// [module documentation]: self
--#[cfg_attr(feature = "clone-impls", derive(Clone))]
- pub enum Pair<T, P> {
- Punctuated(T, P),
- End(T),
-@@ -856,6 +927,20 @@ impl<T, P> Pair<T, P> {
- }
- }
-
-+#[cfg(feature = "clone-impls")]
-+impl<T, P> Clone for Pair<T, P>
-+where
-+ T: Clone,
-+ P: Clone,
-+{
-+ fn clone(&self) -> Self {
-+ match self {
-+ Pair::Punctuated(t, p) => Pair::Punctuated(t.clone(), p.clone()),
-+ Pair::End(t) => Pair::End(t.clone()),
-+ }
-+ }
-+}
-+
- impl<T, P> Index<usize> for Punctuated<T, P> {
- type Output = T;
-
-diff --git a/third_party/rust/syn/src/reserved.rs b/third_party/rust/syn/src/reserved.rs
-new file mode 100644
-index 0000000000..ccfb8b5ad0
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/reserved.rs
-@@ -0,0 +1,42 @@
-+// Type for a syntax tree node that is reserved for future use.
-+//
-+// For example ExprReference contains a field `raw` of type Reserved. If `&raw
-+// place` syntax becomes a thing as per https://github.com/rust-lang/rfcs/pull/2582,
-+// we can backward compatibly change `raw`'s type to Option<Token![raw]> without
-+// the possibility of breaking any code.
-+
-+use proc_macro2::Span;
-+use std::marker::PhantomData;
-+
-+#[cfg(feature = "extra-traits")]
-+use std::fmt::{self, Debug};
-+
-+ast_struct! {
-+ pub struct Reserved {
-+ _private: PhantomData<Span>,
-+ }
-+}
-+
-+impl Default for Reserved {
-+ fn default() -> Self {
-+ Reserved {
-+ _private: PhantomData,
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "clone-impls")]
-+impl Clone for Reserved {
-+ fn clone(&self) -> Self {
-+ Reserved {
-+ _private: self._private,
-+ }
-+ }
-+}
-+
-+#[cfg(feature = "extra-traits")]
-+impl Debug for Reserved {
-+ fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-+ formatter.debug_struct("Reserved").finish()
-+ }
-+}
-diff --git a/third_party/rust/syn/src/spanned.rs b/third_party/rust/syn/src/spanned.rs
-index 71ffe26b81..01591cedcb 100644
---- mozilla-release/third_party/rust/syn/src/spanned.rs
-+++ mozilla-release/third_party/rust/syn/src/spanned.rs
-@@ -1,7 +1,7 @@
- //! A trait that can provide the `Span` of the complete contents of a syntax
- //! tree node.
- //!
--//! *This module is available if Syn is built with both the `"parsing"` and
-+//! *This module is available only if Syn is built with both the `"parsing"` and
- //! `"printing"` features.*
- //!
- //! <br>
-@@ -97,7 +97,7 @@ use quote::spanned::Spanned as ToTokens;
- ///
- /// [module documentation]: self
- ///
--/// *This trait is available if Syn is built with both the `"parsing"` and
-+/// *This trait is available only if Syn is built with both the `"parsing"` and
- /// `"printing"` features.*
- pub trait Spanned {
- /// Returns a `Span` covering the complete contents of this syntax tree
-diff --git a/third_party/rust/syn/src/stmt.rs b/third_party/rust/syn/src/stmt.rs
-index e4277fdbaa..b06e843d75 100644
---- mozilla-release/third_party/rust/syn/src/stmt.rs
-+++ mozilla-release/third_party/rust/syn/src/stmt.rs
-@@ -3,7 +3,7 @@ use super::*;
- ast_struct! {
- /// A braced block containing Rust statements.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Block {
- pub brace_token: token::Brace,
- /// Statements in a block
-@@ -14,7 +14,7 @@ ast_struct! {
- ast_enum! {
- /// A statement, usually ending in a semicolon.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub enum Stmt {
- /// A local (let) binding.
- Local(Local),
-@@ -33,7 +33,7 @@ ast_enum! {
- ast_struct! {
- /// A local `let` binding: `let x: u64 = s.parse()?`.
- ///
-- /// *This type is available if Syn is built with the `"full"` feature.*
-+ /// *This type is available only if Syn is built with the `"full"` feature.*
- pub struct Local {
- pub attrs: Vec<Attribute>,
- pub let_token: Token![let],
-@@ -47,14 +47,15 @@ ast_struct! {
- pub mod parsing {
- use super::*;
-
-+ use crate::parse::discouraged::Speculative;
- use crate::parse::{Parse, ParseStream, Result};
-- use crate::punctuated::Punctuated;
-+ use proc_macro2::TokenStream;
-
- impl Block {
- /// Parse the body of a block as zero or more statements, possibly
- /// including one trailing expression.
- ///
-- /// *This function is available if Syn is built with the `"parsing"`
-+ /// *This function is available only if Syn is built with the `"parsing"`
- /// feature.*
- ///
- /// # Example
-@@ -106,8 +107,8 @@ pub mod parsing {
- pub fn parse_within(input: ParseStream) -> Result<Vec<Stmt>> {
- let mut stmts = Vec::new();
- loop {
-- while input.peek(Token![;]) {
-- input.parse::<Token![;]>()?;
-+ while let Some(semi) = input.parse::<Option<Token![;]>>()? {
-+ stmts.push(Stmt::Semi(Expr::Verbatim(TokenStream::new()), semi));
- }
- if input.is_empty() {
- break;
-@@ -146,55 +147,55 @@ pub mod parsing {
- }
-
- fn parse_stmt(input: ParseStream, allow_nosemi: bool) -> Result<Stmt> {
-- // TODO: optimize using advance_to
-+ let mut attrs = input.call(Attribute::parse_outer)?;
-+
-+ // brace-style macros; paren and bracket macros get parsed as
-+ // expression statements.
- let ahead = input.fork();
-- ahead.call(Attribute::parse_outer)?;
-+ if let Ok(path) = ahead.call(Path::parse_mod_style) {
-+ if ahead.peek(Token![!]) && (ahead.peek2(token::Brace) || ahead.peek2(Ident)) {
-+ input.advance_to(&ahead);
-+ return stmt_mac(input, attrs, path);
-+ }
-+ }
-
-- if {
-- let ahead = ahead.fork();
-- // Only parse braces here; paren and bracket will get parsed as
-- // expression statements
-- ahead.call(Path::parse_mod_style).is_ok()
-- && ahead.parse::<Token![!]>().is_ok()
-- && (ahead.peek(token::Brace) || ahead.peek(Ident))
-- } {
-- stmt_mac(input)
-- } else if ahead.peek(Token![let]) {
-- stmt_local(input).map(Stmt::Local)
-- } else if ahead.peek(Token![pub])
-- || ahead.peek(Token![crate]) && !ahead.peek2(Token![::])
-- || ahead.peek(Token![extern]) && !ahead.peek2(Token![::])
-- || ahead.peek(Token![use])
-- || ahead.peek(Token![static]) && (ahead.peek2(Token![mut]) || ahead.peek2(Ident))
-- || ahead.peek(Token![const])
-- || ahead.peek(Token![unsafe]) && !ahead.peek2(token::Brace)
-- || ahead.peek(Token![async])
-- && (ahead.peek2(Token![unsafe])
-- || ahead.peek2(Token![extern])
-- || ahead.peek2(Token![fn]))
-- || ahead.peek(Token![fn])
-- || ahead.peek(Token![mod])
-- || ahead.peek(Token![type])
-- || ahead.peek(item::parsing::existential) && ahead.peek2(Token![type])
-- || ahead.peek(Token![struct])
-- || ahead.peek(Token![enum])
-- || ahead.peek(Token![union]) && ahead.peek2(Ident)
-- || ahead.peek(Token![auto]) && ahead.peek2(Token![trait])
-- || ahead.peek(Token![trait])
-- || ahead.peek(Token![default])
-- && (ahead.peek2(Token![unsafe]) || ahead.peek2(Token![impl]))
-- || ahead.peek(Token![impl])
-- || ahead.peek(Token![macro])
-+ if input.peek(Token![let]) {
-+ stmt_local(input, attrs).map(Stmt::Local)
-+ } else if input.peek(Token![pub])
-+ || input.peek(Token![crate]) && !input.peek2(Token![::])
-+ || input.peek(Token![extern])
-+ || input.peek(Token![use])
-+ || input.peek(Token![static]) && (input.peek2(Token![mut]) || input.peek2(Ident))
-+ || input.peek(Token![const])
-+ || input.peek(Token![unsafe]) && !input.peek2(token::Brace)
-+ || input.peek(Token![async])
-+ && (input.peek2(Token![unsafe])
-+ || input.peek2(Token![extern])
-+ || input.peek2(Token![fn]))
-+ || input.peek(Token![fn])
-+ || input.peek(Token![mod])
-+ || input.peek(Token![type])
-+ || input.peek(item::parsing::existential) && input.peek2(Token![type])
-+ || input.peek(Token![struct])
-+ || input.peek(Token![enum])
-+ || input.peek(Token![union]) && input.peek2(Ident)
-+ || input.peek(Token![auto]) && input.peek2(Token![trait])
-+ || input.peek(Token![trait])
-+ || input.peek(Token![default])
-+ && (input.peek2(Token![unsafe]) || input.peek2(Token![impl]))
-+ || input.peek(Token![impl])
-+ || input.peek(Token![macro])
- {
-- input.parse().map(Stmt::Item)
-+ let mut item: Item = input.parse()?;
-+ attrs.extend(item.replace_attrs(Vec::new()));
-+ item.replace_attrs(attrs);
-+ Ok(Stmt::Item(item))
- } else {
-- stmt_expr(input, allow_nosemi)
-+ stmt_expr(input, allow_nosemi, attrs)
- }
- }
-
-- fn stmt_mac(input: ParseStream) -> Result<Stmt> {
-- let attrs = input.call(Attribute::parse_outer)?;
-- let path = input.call(Path::parse_mod_style)?;
-+ fn stmt_mac(input: ParseStream, attrs: Vec<Attribute>, path: Path) -> Result<Stmt> {
- let bang_token: Token![!] = input.parse()?;
- let ident: Option<Ident> = input.parse()?;
- let (delimiter, tokens) = mac::parse_delimiter(input)?;
-@@ -213,33 +214,12 @@ pub mod parsing {
- })))
- }
-
-- fn stmt_local(input: ParseStream) -> Result<Local> {
-+ fn stmt_local(input: ParseStream, attrs: Vec<Attribute>) -> Result<Local> {
- Ok(Local {
-- attrs: input.call(Attribute::parse_outer)?,
-+ attrs,
- let_token: input.parse()?,
- pat: {
-- let leading_vert: Option<Token![|]> = input.parse()?;
-- let mut pat: Pat = input.parse()?;
-- if leading_vert.is_some()
-- || input.peek(Token![|]) && !input.peek(Token![||]) && !input.peek(Token![|=])
-- {
-- let mut cases = Punctuated::new();
-- cases.push_value(pat);
-- while input.peek(Token![|])
-- && !input.peek(Token![||])
-- && !input.peek(Token![|=])
-- {
-- let punct = input.parse()?;
-- cases.push_punct(punct);
-- let pat: Pat = input.parse()?;
-- cases.push_value(pat);
-- }
-- pat = Pat::Or(PatOr {
-- attrs: Vec::new(),
-- leading_vert,
-- cases,
-- });
-- }
-+ let mut pat: Pat = pat::parsing::multi_pat_with_leading_vert(input)?;
- if input.peek(Token![:]) {
- let colon_token: Token![:] = input.parse()?;
- let ty: Type = input.parse()?;
-@@ -265,12 +245,19 @@ pub mod parsing {
- })
- }
-
-- fn stmt_expr(input: ParseStream, allow_nosemi: bool) -> Result<Stmt> {
-- let mut attrs = input.call(Attribute::parse_outer)?;
-+ fn stmt_expr(
-+ input: ParseStream,
-+ allow_nosemi: bool,
-+ mut attrs: Vec<Attribute>,
-+ ) -> Result<Stmt> {
- let mut e = expr::parsing::expr_early(input)?;
-
-- attrs.extend(e.replace_attrs(Vec::new()));
-- e.replace_attrs(attrs);
-+ let mut attr_target = &mut e;
-+ while let Expr::Binary(e) = attr_target {
-+ attr_target = &mut e.left;
-+ }
-+ attrs.extend(attr_target.replace_attrs(Vec::new()));
-+ attr_target.replace_attrs(attrs);
-
- if input.peek(Token![;]) {
- return Ok(Stmt::Semi(e, input.parse()?));
-diff --git a/third_party/rust/syn/src/token.rs b/third_party/rust/syn/src/token.rs
-index 0b8c18192f..8539378c5e 100644
---- mozilla-release/third_party/rust/syn/src/token.rs
-+++ mozilla-release/third_party/rust/syn/src/token.rs
-@@ -88,7 +88,6 @@
- //! [Printing]: https://docs.rs/quote/1.0/quote/trait.ToTokens.html
- //! [`Span`]: https://docs.rs/proc-macro2/1.0/proc_macro2/struct.Span.html
-
--use std;
- #[cfg(feature = "extra-traits")]
- use std::cmp;
- #[cfg(feature = "extra-traits")]
-@@ -97,13 +96,13 @@ use std::fmt::{self, Debug};
- use std::hash::{Hash, Hasher};
- use std::ops::{Deref, DerefMut};
-
--#[cfg(feature = "parsing")]
--use proc_macro2::Delimiter;
- #[cfg(any(feature = "parsing", feature = "printing"))]
- use proc_macro2::Ident;
- use proc_macro2::Span;
- #[cfg(feature = "printing")]
- use proc_macro2::TokenStream;
-+#[cfg(feature = "parsing")]
-+use proc_macro2::{Delimiter, Literal, Punct, TokenTree};
- #[cfg(feature = "printing")]
- use quote::{ToTokens, TokenStreamExt};
-
-@@ -112,10 +111,8 @@ use self::private::WithSpan;
- use crate::buffer::Cursor;
- #[cfg(feature = "parsing")]
- use crate::error::Result;
--#[cfg(any(feature = "full", feature = "derive"))]
- #[cfg(feature = "parsing")]
- use crate::lifetime::Lifetime;
--#[cfg(any(feature = "full", feature = "derive"))]
- #[cfg(feature = "parsing")]
- use crate::lit::{Lit, LitBool, LitByte, LitByteStr, LitChar, LitFloat, LitInt, LitStr};
- #[cfg(feature = "parsing")]
-@@ -155,21 +152,20 @@ mod private {
- #[cfg(feature = "parsing")]
- impl private::Sealed for Ident {}
-
--#[cfg(any(feature = "full", feature = "derive"))]
- #[cfg(feature = "parsing")]
- fn peek_impl(cursor: Cursor, peek: fn(ParseStream) -> bool) -> bool {
-+ use crate::parse::Unexpected;
- use std::cell::Cell;
- use std::rc::Rc;
-
- let scope = Span::call_site();
-- let unexpected = Rc::new(Cell::new(None));
-+ let unexpected = Rc::new(Cell::new(Unexpected::None));
- let buffer = crate::parse::new_parse_buffer(scope, cursor, unexpected);
- peek(&buffer)
- }
-
--#[cfg(any(feature = "full", feature = "derive"))]
- macro_rules! impl_token {
-- ($name:ident $display:expr) => {
-+ ($display:tt $name:ty) => {
- #[cfg(feature = "parsing")]
- impl Token for $name {
- fn peek(cursor: Cursor) -> bool {
-@@ -189,24 +185,38 @@ macro_rules! impl_token {
- };
- }
-
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(Lifetime "lifetime");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(Lit "literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitStr "string literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitByteStr "byte string literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitByte "byte literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitChar "character literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitInt "integer literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitFloat "floating point literal");
--#[cfg(any(feature = "full", feature = "derive"))]
--impl_token!(LitBool "boolean literal");
-+impl_token!("lifetime" Lifetime);
-+impl_token!("literal" Lit);
-+impl_token!("string literal" LitStr);
-+impl_token!("byte string literal" LitByteStr);
-+impl_token!("byte literal" LitByte);
-+impl_token!("character literal" LitChar);
-+impl_token!("integer literal" LitInt);
-+impl_token!("floating point literal" LitFloat);
-+impl_token!("boolean literal" LitBool);
-+impl_token!("group token" proc_macro2::Group);
-+
-+macro_rules! impl_low_level_token {
-+ ($display:tt $ty:ident $get:ident) => {
-+ #[cfg(feature = "parsing")]
-+ impl Token for $ty {
-+ fn peek(cursor: Cursor) -> bool {
-+ cursor.$get().is_some()
-+ }
-+
-+ fn display() -> &'static str {
-+ $display
-+ }
-+ }
-+
-+ #[cfg(feature = "parsing")]
-+ impl private::Sealed for $ty {}
-+ };
-+}
-+
-+impl_low_level_token!("punctuation token" Punct punct);
-+impl_low_level_token!("literal" Literal literal);
-+impl_low_level_token!("token" TokenTree token_tree);
-
- // Not public API.
- #[doc(hidden)]
-@@ -233,7 +243,6 @@ impl<T: CustomToken> Token for T {
- macro_rules! define_keywords {
- ($($token:tt pub struct $name:ident #[$doc:meta])*) => {
- $(
-- #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))]
- #[$doc]
- ///
- /// Don't try to remember the name of this type &mdash; use the
-@@ -260,6 +269,16 @@ macro_rules! define_keywords {
- }
- }
-
-+ #[cfg(feature = "clone-impls")]
-+ impl Copy for $name {}
-+
-+ #[cfg(feature = "clone-impls")]
-+ impl Clone for $name {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
-+
- #[cfg(feature = "extra-traits")]
- impl Debug for $name {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-@@ -338,7 +357,6 @@ macro_rules! impl_deref_if_len_is_1 {
- macro_rules! define_punctuation_structs {
- ($($token:tt pub struct $name:ident/$len:tt #[$doc:meta])*) => {
- $(
-- #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))]
- #[repr(C)]
- #[$doc]
- ///
-@@ -366,6 +384,16 @@ macro_rules! define_punctuation_structs {
- }
- }
-
-+ #[cfg(feature = "clone-impls")]
-+ impl Copy for $name {}
-+
-+ #[cfg(feature = "clone-impls")]
-+ impl Clone for $name {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
-+
- #[cfg(feature = "extra-traits")]
- impl Debug for $name {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-@@ -436,7 +464,6 @@ macro_rules! define_punctuation {
- macro_rules! define_delimiters {
- ($($token:tt pub struct $name:ident #[$doc:meta])*) => {
- $(
-- #[cfg_attr(feature = "clone-impls", derive(Copy, Clone))]
- #[$doc]
- pub struct $name {
- pub span: Span,
-@@ -458,6 +485,16 @@ macro_rules! define_delimiters {
- }
- }
-
-+ #[cfg(feature = "clone-impls")]
-+ impl Copy for $name {}
-+
-+ #[cfg(feature = "clone-impls")]
-+ impl Clone for $name {
-+ fn clone(&self) -> Self {
-+ *self
-+ }
-+ }
-+
- #[cfg(feature = "extra-traits")]
- impl Debug for $name {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-@@ -855,7 +892,7 @@ pub mod parsing {
- }
-
- pub fn punct<S: FromSpans>(input: ParseStream, token: &str) -> Result<S> {
-- let mut spans = [input.cursor().span(); 3];
-+ let mut spans = [input.span(); 3];
- punct_helper(input, token, &mut spans)?;
- Ok(S::from_spans(&spans))
- }
-diff --git a/third_party/rust/syn/src/tt.rs b/third_party/rust/syn/src/tt.rs
-index f860eebb4f..8dba0627cd 100644
---- mozilla-release/third_party/rust/syn/src/tt.rs
-+++ mozilla-release/third_party/rust/syn/src/tt.rs
-@@ -18,8 +18,8 @@ impl<'a> PartialEq for TokenTreeHelper<'a> {
- _ => return false,
- }
-
-- let s1 = g1.stream().clone().into_iter();
-- let mut s2 = g2.stream().clone().into_iter();
-+ let s1 = g1.stream().into_iter();
-+ let mut s2 = g2.stream().into_iter();
-
- for item1 in s1 {
- let item2 = match s2.next() {
-@@ -60,7 +60,7 @@ impl<'a> Hash for TokenTreeHelper<'a> {
- Delimiter::None => 3u8.hash(h),
- }
-
-- for item in g.stream().clone() {
-+ for item in g.stream() {
- TokenTreeHelper(&item).hash(h);
- }
- 0xffu8.hash(h); // terminator w/ a variant we don't normally hash
-diff --git a/third_party/rust/syn/src/ty.rs b/third_party/rust/syn/src/ty.rs
-index 4ee59bda2a..fd7c97eab7 100644
---- mozilla-release/third_party/rust/syn/src/ty.rs
-+++ mozilla-release/third_party/rust/syn/src/ty.rs
-@@ -1,15 +1,11 @@
- use super::*;
- use crate::punctuated::Punctuated;
--#[cfg(feature = "extra-traits")]
--use crate::tt::TokenStreamHelper;
- use proc_macro2::TokenStream;
--#[cfg(feature = "extra-traits")]
--use std::hash::{Hash, Hasher};
-
- ast_enum_of_structs! {
- /// The possible types that a Rust value could have.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- ///
- /// # Syntax tree enum
-@@ -20,7 +16,7 @@ ast_enum_of_structs! {
- //
- // TODO: change syntax-tree-enum link to an intra rustdoc link, currently
- // blocked on https://github.com/rust-lang/rust/issues/62833
-- pub enum Type #manual_extra_traits {
-+ pub enum Type {
- /// A fixed size array type: `[T; n]`.
- Array(TypeArray),
-
-@@ -77,7 +73,7 @@ ast_enum_of_structs! {
- ast_struct! {
- /// A fixed size array type: `[T; n]`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeArray {
- pub bracket_token: token::Bracket,
-@@ -90,7 +86,7 @@ ast_struct! {
- ast_struct! {
- /// A bare function type: `fn(usize) -> bool`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeBareFn {
- pub lifetimes: Option<BoundLifetimes>,
-@@ -107,7 +103,7 @@ ast_struct! {
- ast_struct! {
- /// A type contained within invisible delimiters.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeGroup {
- pub group_token: token::Group,
-@@ -119,7 +115,7 @@ ast_struct! {
- /// An `impl Bound1 + Bound2 + Bound3` type where `Bound` is a trait or
- /// a lifetime.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeImplTrait {
- pub impl_token: Token![impl],
-@@ -130,7 +126,7 @@ ast_struct! {
- ast_struct! {
- /// Indication that a type should be inferred by the compiler: `_`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeInfer {
- pub underscore_token: Token![_],
-@@ -140,7 +136,7 @@ ast_struct! {
- ast_struct! {
- /// A macro in the type position.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeMacro {
- pub mac: Macro,
-@@ -150,7 +146,7 @@ ast_struct! {
- ast_struct! {
- /// The never type: `!`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeNever {
- pub bang_token: Token![!],
-@@ -160,7 +156,7 @@ ast_struct! {
- ast_struct! {
- /// A parenthesized type equivalent to the inner type.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeParen {
- pub paren_token: token::Paren,
-@@ -172,7 +168,7 @@ ast_struct! {
- /// A path like `std::slice::Iter`, optionally qualified with a
- /// self-type as in `<Vec<T> as SomeTrait>::Associated`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypePath {
- pub qself: Option<QSelf>,
-@@ -183,7 +179,7 @@ ast_struct! {
- ast_struct! {
- /// A raw pointer type: `*const T` or `*mut T`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypePtr {
- pub star_token: Token![*],
-@@ -196,7 +192,7 @@ ast_struct! {
- ast_struct! {
- /// A reference type: `&'a T` or `&'a mut T`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeReference {
- pub and_token: Token![&],
-@@ -209,7 +205,7 @@ ast_struct! {
- ast_struct! {
- /// A dynamically sized slice type: `[T]`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeSlice {
- pub bracket_token: token::Bracket,
-@@ -221,7 +217,7 @@ ast_struct! {
- /// A trait object type `Bound1 + Bound2 + Bound3` where `Bound` is a
- /// trait or a lifetime.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeTraitObject {
- pub dyn_token: Option<Token![dyn]>,
-@@ -232,7 +228,7 @@ ast_struct! {
- ast_struct! {
- /// A tuple type: `(A, B, C, String)`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or
-+ /// *This type is available only if Syn is built with the `"derive"` or
- /// `"full"` feature.*
- pub struct TypeTuple {
- pub paren_token: token::Paren,
-@@ -240,111 +236,10 @@ ast_struct! {
- }
- }
-
--#[cfg(feature = "extra-traits")]
--impl Eq for Type {}
--
--#[cfg(feature = "extra-traits")]
--impl PartialEq for Type {
-- fn eq(&self, other: &Self) -> bool {
-- match (self, other) {
-- (Type::Array(this), Type::Array(other)) => this == other,
-- (Type::BareFn(this), Type::BareFn(other)) => this == other,
-- (Type::Group(this), Type::Group(other)) => this == other,
-- (Type::ImplTrait(this), Type::ImplTrait(other)) => this == other,
-- (Type::Infer(this), Type::Infer(other)) => this == other,
-- (Type::Macro(this), Type::Macro(other)) => this == other,
-- (Type::Never(this), Type::Never(other)) => this == other,
-- (Type::Paren(this), Type::Paren(other)) => this == other,
-- (Type::Path(this), Type::Path(other)) => this == other,
-- (Type::Ptr(this), Type::Ptr(other)) => this == other,
-- (Type::Reference(this), Type::Reference(other)) => this == other,
-- (Type::Slice(this), Type::Slice(other)) => this == other,
-- (Type::TraitObject(this), Type::TraitObject(other)) => this == other,
-- (Type::Tuple(this), Type::Tuple(other)) => this == other,
-- (Type::Verbatim(this), Type::Verbatim(other)) => {
-- TokenStreamHelper(this) == TokenStreamHelper(other)
-- }
-- _ => false,
-- }
-- }
--}
--
--#[cfg(feature = "extra-traits")]
--impl Hash for Type {
-- fn hash<H>(&self, hash: &mut H)
-- where
-- H: Hasher,
-- {
-- match self {
-- Type::Array(ty) => {
-- hash.write_u8(0);
-- ty.hash(hash);
-- }
-- Type::BareFn(ty) => {
-- hash.write_u8(1);
-- ty.hash(hash);
-- }
-- Type::Group(ty) => {
-- hash.write_u8(2);
-- ty.hash(hash);
-- }
-- Type::ImplTrait(ty) => {
-- hash.write_u8(3);
-- ty.hash(hash);
-- }
-- Type::Infer(ty) => {
-- hash.write_u8(4);
-- ty.hash(hash);
-- }
-- Type::Macro(ty) => {
-- hash.write_u8(5);
-- ty.hash(hash);
-- }
-- Type::Never(ty) => {
-- hash.write_u8(6);
-- ty.hash(hash);
-- }
-- Type::Paren(ty) => {
-- hash.write_u8(7);
-- ty.hash(hash);
-- }
-- Type::Path(ty) => {
-- hash.write_u8(8);
-- ty.hash(hash);
-- }
-- Type::Ptr(ty) => {
-- hash.write_u8(9);
-- ty.hash(hash);
-- }
-- Type::Reference(ty) => {
-- hash.write_u8(10);
-- ty.hash(hash);
-- }
-- Type::Slice(ty) => {
-- hash.write_u8(11);
-- ty.hash(hash);
-- }
-- Type::TraitObject(ty) => {
-- hash.write_u8(12);
-- ty.hash(hash);
-- }
-- Type::Tuple(ty) => {
-- hash.write_u8(13);
-- ty.hash(hash);
-- }
-- Type::Verbatim(ty) => {
-- hash.write_u8(14);
-- TokenStreamHelper(ty).hash(hash);
-- }
-- Type::__Nonexhaustive => unreachable!(),
-- }
-- }
--}
--
- ast_struct! {
- /// The binary interface of a function: `extern "C"`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Abi {
- pub extern_token: Token![extern],
-@@ -355,7 +250,7 @@ ast_struct! {
- ast_struct! {
- /// An argument in a function type: the `usize` in `fn(usize) -> bool`.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct BareFnArg {
- pub attrs: Vec<Attribute>,
-@@ -377,7 +272,7 @@ ast_struct! {
- /// }
- /// ```
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub struct Variadic {
- pub attrs: Vec<Attribute>,
-@@ -388,7 +283,7 @@ ast_struct! {
- ast_enum! {
- /// Return type of a function signature.
- ///
-- /// *This type is available if Syn is built with the `"derive"` or `"full"`
-+ /// *This type is available only if Syn is built with the `"derive"` or `"full"`
- /// feature.*
- pub enum ReturnType {
- /// Return type is not specified.
-@@ -407,10 +302,13 @@ pub mod parsing {
- use crate::ext::IdentExt;
- use crate::parse::{Parse, ParseStream, Result};
- use crate::path;
-+ use proc_macro2::{Punct, Spacing, TokenTree};
-+ use std::iter::FromIterator;
-
- impl Parse for Type {
- fn parse(input: ParseStream) -> Result<Self> {
-- ambig_ty(input, true)
-+ let allow_plus = true;
-+ ambig_ty(input, allow_plus)
- }
- }
-
-@@ -421,15 +319,17 @@ pub mod parsing {
- ///
- /// This parser does not allow a `+`, while the default parser does.
- pub fn without_plus(input: ParseStream) -> Result<Self> {
-- ambig_ty(input, false)
-+ let allow_plus = false;
-+ ambig_ty(input, allow_plus)
- }
- }
-
- fn ambig_ty(input: ParseStream, allow_plus: bool) -> Result<Type> {
-- if input.peek(token::Group) {
-+ if input.peek(token::Group) && !input.peek2(Token![::]) && !input.peek2(Token![<]) {
- return input.parse().map(Type::Group);
- }
-
-+ let begin = input.fork();
- let mut lifetimes = None::<BoundLifetimes>;
- let mut lookahead = input.lookahead1();
- if lookahead.peek(Token![for]) {
-@@ -524,7 +424,7 @@ pub mod parsing {
- ..trait_bound
- })
- }
-- other => other,
-+ other @ TypeParamBound::Lifetime(_) => other,
- }
- }
- _ => break,
-@@ -549,17 +449,20 @@ pub mod parsing {
- }))
- } else if lookahead.peek(Token![fn])
- || lookahead.peek(Token![unsafe])
-- || lookahead.peek(Token![extern]) && !input.peek2(Token![::])
-+ || lookahead.peek(Token![extern])
- {
-- let mut bare_fn: TypeBareFn = input.parse()?;
-- bare_fn.lifetimes = lifetimes;
-- Ok(Type::BareFn(bare_fn))
-+ let allow_mut_self = true;
-+ if let Some(mut bare_fn) = parse_bare_fn(input, allow_mut_self)? {
-+ bare_fn.lifetimes = lifetimes;
-+ Ok(Type::BareFn(bare_fn))
-+ } else {
-+ Ok(Type::Verbatim(verbatim::between(begin, input)))
-+ }
- } else if lookahead.peek(Ident)
- || input.peek(Token![super])
- || input.peek(Token![self])
- || input.peek(Token![Self])
- || input.peek(Token![crate])
-- || input.peek(Token![extern])
- || lookahead.peek(Token![::])
- || lookahead.peek(Token![<])
- {
-@@ -722,38 +625,58 @@ pub mod parsing {
-
- impl Parse for TypeBareFn {
- fn parse(input: ParseStream) -> Result<Self> {
-- let args;
-- let allow_variadic;
-- Ok(TypeBareFn {
-- lifetimes: input.parse()?,
-- unsafety: input.parse()?,
-- abi: input.parse()?,
-- fn_token: input.parse()?,
-- paren_token: parenthesized!(args in input),
-- inputs: {
-- let mut inputs = Punctuated::new();
-- while !args.is_empty() && !args.peek(Token![...]) {
-- inputs.push_value(args.parse()?);
-- if args.is_empty() {
-- break;
-- }
-- inputs.push_punct(args.parse()?);
-- }
-- allow_variadic = inputs.empty_or_trailing();
-- inputs
-- },
-- variadic: {
-- if allow_variadic && args.peek(Token![...]) {
-- Some(Variadic {
-- attrs: Vec::new(),
-+ let allow_mut_self = false;
-+ parse_bare_fn(input, allow_mut_self).map(Option::unwrap)
-+ }
-+ }
-+
-+ fn parse_bare_fn(input: ParseStream, allow_mut_self: bool) -> Result<Option<TypeBareFn>> {
-+ let args;
-+ let mut variadic = None;
-+ let mut has_mut_self = false;
-+
-+ let bare_fn = TypeBareFn {
-+ lifetimes: input.parse()?,
-+ unsafety: input.parse()?,
-+ abi: input.parse()?,
-+ fn_token: input.parse()?,
-+ paren_token: parenthesized!(args in input),
-+ inputs: {
-+ let mut inputs = Punctuated::new();
-+
-+ while !args.is_empty() {
-+ let attrs = args.call(Attribute::parse_outer)?;
-+
-+ if inputs.empty_or_trailing() && args.peek(Token![...]) {
-+ variadic = Some(Variadic {
-+ attrs,
- dots: args.parse()?,
-- })
-+ });
-+ break;
-+ }
-+
-+ if let Some(arg) = parse_bare_fn_arg(&args, allow_mut_self)? {
-+ inputs.push_value(BareFnArg { attrs, ..arg });
- } else {
-- None
-+ has_mut_self = true;
- }
-- },
-- output: input.call(ReturnType::without_plus)?,
-- })
-+ if args.is_empty() {
-+ break;
-+ }
-+
-+ inputs.push_punct(args.parse()?);
-+ }
-+
-+ inputs
-+ },
-+ variadic,
-+ output: input.call(ReturnType::without_plus)?,
-+ };
-+
-+ if has_mut_self {
-+ Ok(None)
-+ } else {
-+ Ok(Some(bare_fn))
- }
- }
-
-@@ -776,9 +699,27 @@ pub mod parsing {
- impl Parse for TypeTuple {
- fn parse(input: ParseStream) -> Result<Self> {
- let content;
-+ let paren_token = parenthesized!(content in input);
-+
-+ if content.is_empty() {
-+ return Ok(TypeTuple {
-+ paren_token,
-+ elems: Punctuated::new(),
-+ });
-+ }
-+
-+ let first: Type = content.parse()?;
- Ok(TypeTuple {
-- paren_token: parenthesized!(content in input),
-- elems: content.parse_terminated(Type::parse)?,
-+ paren_token,
-+ elems: {
-+ let mut elems = Punctuated::new();
-+ elems.push_value(first);
-+ elems.push_punct(content.parse()?);
-+ let rest: Punctuated<Type, Token![,]> =
-+ content.parse_terminated(Parse::parse)?;
-+ elems.extend(rest);
-+ elems
-+ },
- })
- }
- }
-@@ -807,9 +748,11 @@ pub mod parsing {
-
- impl ReturnType {
- pub fn without_plus(input: ParseStream) -> Result<Self> {
-- Self::parse(input, false)
-+ let allow_plus = false;
-+ Self::parse(input, allow_plus)
- }
-
-+ #[doc(hidden)]
- pub fn parse(input: ParseStream, allow_plus: bool) -> Result<Self> {
- if input.peek(Token![->]) {
- let arrow = input.parse()?;
-@@ -844,10 +787,12 @@ pub mod parsing {
-
- impl TypeTraitObject {
- pub fn without_plus(input: ParseStream) -> Result<Self> {
-- Self::parse(input, false)
-+ let allow_plus = false;
-+ Self::parse(input, allow_plus)
- }
-
- // Only allow multiple trait references if allow_plus is true.
-+ #[doc(hidden)]
- pub fn parse(input: ParseStream, allow_plus: bool) -> Result<Self> {
- Ok(TypeTraitObject {
- dyn_token: input.parse()?,
-@@ -910,7 +855,8 @@ pub mod parsing {
-
- impl Parse for TypeParen {
- fn parse(input: ParseStream) -> Result<Self> {
-- Self::parse(input, false)
-+ let allow_plus = false;
-+ Self::parse(input, allow_plus)
- }
- }
-
-@@ -926,22 +872,72 @@ pub mod parsing {
-
- impl Parse for BareFnArg {
- fn parse(input: ParseStream) -> Result<Self> {
-- Ok(BareFnArg {
-- attrs: input.call(Attribute::parse_outer)?,
-- name: {
-- if (input.peek(Ident) || input.peek(Token![_]))
-- && input.peek2(Token![:])
-- && !input.peek2(Token![::])
-- {
-- let name = input.call(Ident::parse_any)?;
-- let colon: Token![:] = input.parse()?;
-- Some((name, colon))
-- } else {
-- None
-- }
-- },
-- ty: input.parse()?,
-- })
-+ let allow_mut_self = false;
-+ parse_bare_fn_arg(input, allow_mut_self).map(Option::unwrap)
-+ }
-+ }
-+
-+ fn parse_bare_fn_arg(
-+ input: ParseStream,
-+ mut allow_mut_self: bool,
-+ ) -> Result<Option<BareFnArg>> {
-+ let mut has_mut_self = false;
-+ let arg = BareFnArg {
-+ attrs: input.call(Attribute::parse_outer)?,
-+ name: {
-+ if (input.peek(Ident) || input.peek(Token![_]) || input.peek(Token![self]))
-+ && input.peek2(Token![:])
-+ && !input.peek2(Token![::])
-+ {
-+ let name = input.call(Ident::parse_any)?;
-+ let colon: Token![:] = input.parse()?;
-+ Some((name, colon))
-+ } else if allow_mut_self
-+ && input.peek(Token![mut])
-+ && input.peek2(Token![self])
-+ && input.peek3(Token![:])
-+ && !input.peek3(Token![::])
-+ {
-+ has_mut_self = true;
-+ allow_mut_self = false;
-+ input.parse::<Token![mut]>()?;
-+ input.parse::<Token![self]>()?;
-+ input.parse::<Token![:]>()?;
-+ None
-+ } else {
-+ None
-+ }
-+ },
-+ ty: if !has_mut_self && input.peek(Token![...]) {
-+ let dot3 = input.parse::<Token![...]>()?;
-+ let args = vec![
-+ TokenTree::Punct(Punct::new('.', Spacing::Joint)),
-+ TokenTree::Punct(Punct::new('.', Spacing::Joint)),
-+ TokenTree::Punct(Punct::new('.', Spacing::Alone)),
-+ ];
-+ let tokens = TokenStream::from_iter(args.into_iter().zip(&dot3.spans).map(
-+ |(mut arg, span)| {
-+ arg.set_span(*span);
-+ arg
-+ },
-+ ));
-+ Type::Verbatim(tokens)
-+ } else if allow_mut_self && input.peek(Token![mut]) && input.peek2(Token![self]) {
-+ has_mut_self = true;
-+ input.parse::<Token![mut]>()?;
-+ Type::Path(TypePath {
-+ qself: None,
-+ path: input.parse::<Token![self]>()?.into(),
-+ })
-+ } else {
-+ input.parse()?
-+ },
-+ };
-+
-+ if has_mut_self {
-+ Ok(None)
-+ } else {
-+ Ok(Some(arg))
- }
- }
-
-diff --git a/third_party/rust/syn/src/verbatim.rs b/third_party/rust/syn/src/verbatim.rs
-new file mode 100644
-index 0000000000..0686352f7a
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/verbatim.rs
-@@ -0,0 +1,15 @@
-+use crate::parse::{ParseBuffer, ParseStream};
-+use proc_macro2::TokenStream;
-+use std::iter;
-+
-+pub fn between<'a>(begin: ParseBuffer<'a>, end: ParseStream<'a>) -> TokenStream {
-+ let end = end.cursor();
-+ let mut cursor = begin.cursor();
-+ let mut tokens = TokenStream::new();
-+ while cursor != end {
-+ let (tt, next) = cursor.token_tree().unwrap();
-+ tokens.extend(iter::once(tt));
-+ cursor = next;
-+ }
-+ tokens
-+}
-diff --git a/third_party/rust/syn/src/whitespace.rs b/third_party/rust/syn/src/whitespace.rs
-new file mode 100644
-index 0000000000..7be082e1a2
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/src/whitespace.rs
-@@ -0,0 +1,65 @@
-+pub fn skip(mut s: &str) -> &str {
-+ 'skip: while !s.is_empty() {
-+ let byte = s.as_bytes()[0];
-+ if byte == b'/' {
-+ if s.starts_with("//")
-+ && (!s.starts_with("///") || s.starts_with("////"))
-+ && !s.starts_with("//!")
-+ {
-+ if let Some(i) = s.find('\n') {
-+ s = &s[i + 1..];
-+ continue;
-+ } else {
-+ return "";
-+ }
-+ } else if s.starts_with("/**/") {
-+ s = &s[4..];
-+ continue;
-+ } else if s.starts_with("/*")
-+ && (!s.starts_with("/**") || s.starts_with("/***"))
-+ && !s.starts_with("/*!")
-+ {
-+ let mut depth = 0;
-+ let bytes = s.as_bytes();
-+ let mut i = 0;
-+ let upper = bytes.len() - 1;
-+ while i < upper {
-+ if bytes[i] == b'/' && bytes[i + 1] == b'*' {
-+ depth += 1;
-+ i += 1; // eat '*'
-+ } else if bytes[i] == b'*' && bytes[i + 1] == b'/' {
-+ depth -= 1;
-+ if depth == 0 {
-+ s = &s[i + 2..];
-+ continue 'skip;
-+ }
-+ i += 1; // eat '/'
-+ }
-+ i += 1;
-+ }
-+ return s;
-+ }
-+ }
-+ match byte {
-+ b' ' | 0x09..=0x0d => {
-+ s = &s[1..];
-+ continue;
-+ }
-+ b if b <= 0x7f => {}
-+ _ => {
-+ let ch = s.chars().next().unwrap();
-+ if is_whitespace(ch) {
-+ s = &s[ch.len_utf8()..];
-+ continue;
-+ }
-+ }
-+ }
-+ return s;
-+ }
-+ s
-+}
-+
-+fn is_whitespace(ch: char) -> bool {
-+ // Rust treats left-to-right mark and right-to-left mark as whitespace
-+ ch.is_whitespace() || ch == '\u{200e}' || ch == '\u{200f}'
-+}
-diff --git a/third_party/rust/syn/tests/clone.sh b/third_party/rust/syn/tests/clone.sh
-deleted file mode 100755
-index 8e0863cba6..0000000000
---- mozilla-release/third_party/rust/syn/tests/clone.sh
-+++ mozilla-release//dev/null
-@@ -1,16 +0,0 @@
--#!/bin/bash
--
--REV=4560cb830fce63fcffdc4558f4281aaac6a3a1ba
--
--set -euo pipefail
--cd "$(dirname "${BASH_SOURCE[0]}")"
--mkdir -p rust
--touch rust/COMMIT
--
--if [ "$(cat rust/COMMIT)" != "$REV" ]; then
-- rm -rf rust
-- mkdir rust
-- curl -L "https://github.com/rust-lang/rust/archive/${REV}.tar.gz" \
-- | tar xz --directory rust --strip-components 1
-- echo "$REV" > rust/COMMIT
--fi
-diff --git a/third_party/rust/syn/tests/common/eq.rs b/third_party/rust/syn/tests/common/eq.rs
-index 13a6c36ae5..7589a07573 100644
---- mozilla-release/third_party/rust/syn/tests/common/eq.rs
-+++ mozilla-release/third_party/rust/syn/tests/common/eq.rs
-@@ -1,36 +1,35 @@
-+extern crate rustc_ast;
- extern crate rustc_data_structures;
-+extern crate rustc_span;
- extern crate rustc_target;
--extern crate syntax;
--extern crate syntax_pos;
-
- use std::mem;
-
--use self::rustc_data_structures::sync::Lrc;
--use self::rustc_data_structures::thin_vec::ThinVec;
--use self::rustc_target::abi::FloatTy;
--use self::rustc_target::spec::abi::Abi;
--use self::syntax::ast::{
-- AngleBracketedArgs, AnonConst, Arg, Arm, AsmDialect, AssocTyConstraint, AssocTyConstraintKind,
-- AttrId, AttrStyle, Attribute, BareFnTy, BinOpKind, BindingMode, Block, BlockCheckMode,
-- CaptureBy, Constness, Crate, CrateSugar, Defaultness, EnumDef, Expr, ExprKind, Field, FieldPat,
-- FnDecl, FnHeader, ForeignItem, ForeignItemKind, ForeignMod, FunctionRetTy, GenericArg,
-- GenericArgs, GenericBound, GenericParam, GenericParamKind, Generics, GlobalAsm, Ident,
-- ImplItem, ImplItemKind, ImplPolarity, InlineAsm, InlineAsmOutput, IntTy, IsAsync, IsAuto, Item,
-- ItemKind, Label, Lifetime, Lit, LitIntType, LitKind, Local, Mac, MacDelimiter, MacStmtStyle,
-- MacroDef, MethodSig, Mod, Movability, MutTy, Mutability, NodeId, ParenthesizedArgs, Pat,
-- PatKind, Path, PathSegment, PolyTraitRef, QSelf, RangeEnd, RangeLimits, RangeSyntax, Stmt,
-- StmtKind, StrStyle, StructField, TraitBoundModifier, TraitItem, TraitItemKind,
-- TraitObjectSyntax, TraitRef, Ty, TyKind, UintTy, UnOp, UnsafeSource, Unsafety, UseTree,
-- UseTreeKind, Variant, VariantData, VisibilityKind, WhereBoundPredicate, WhereClause,
-- WhereEqPredicate, WherePredicate, WhereRegionPredicate,
-+use rustc_ast::ast::{
-+ AngleBracketedArg, AngleBracketedArgs, AnonConst, Arm, AssocItemKind, AssocTyConstraint,
-+ AssocTyConstraintKind, Async, AttrId, AttrItem, AttrKind, AttrStyle, Attribute, BareFnTy,
-+ BinOpKind, BindingMode, Block, BlockCheckMode, BorrowKind, CaptureBy, Const, Crate, CrateSugar,
-+ Defaultness, EnumDef, Expr, ExprKind, Extern, Field, FieldPat, FloatTy, FnDecl, FnHeader,
-+ FnRetTy, FnSig, ForeignItemKind, ForeignMod, GenericArg, GenericArgs, GenericBound,
-+ GenericParam, GenericParamKind, Generics, GlobalAsm, ImplPolarity, InlineAsm, InlineAsmOperand,
-+ InlineAsmOptions, InlineAsmRegOrRegClass, InlineAsmTemplatePiece, IntTy, IsAuto, Item,
-+ ItemKind, Label, Lifetime, Lit, LitFloatType, LitIntType, LitKind, LlvmAsmDialect,
-+ LlvmInlineAsm, LlvmInlineAsmOutput, Local, MacArgs, MacCall, MacCallStmt, MacDelimiter,
-+ MacStmtStyle, MacroDef, Mod, Movability, MutTy, Mutability, NodeId, Param, ParenthesizedArgs,
-+ Pat, PatKind, Path, PathSegment, PolyTraitRef, QSelf, RangeEnd, RangeLimits, RangeSyntax, Stmt,
-+ StmtKind, StrLit, StrStyle, StructField, TraitBoundModifier, TraitObjectSyntax, TraitRef, Ty,
-+ TyKind, UintTy, UnOp, Unsafe, UnsafeSource, UseTree, UseTreeKind, Variant, VariantData,
-+ VisibilityKind, WhereBoundPredicate, WhereClause, WhereEqPredicate, WherePredicate,
-+ WhereRegionPredicate,
- };
--use self::syntax::parse::lexer::comments;
--use self::syntax::parse::token::{self, DelimToken, Token, TokenKind};
--use self::syntax::ptr::P;
--use self::syntax::source_map::Spanned;
--use self::syntax::symbol::{sym, Symbol};
--use self::syntax::tokenstream::{DelimSpan, TokenStream, TokenTree};
--use self::syntax_pos::{Span, SyntaxContext, DUMMY_SP};
-+use rustc_ast::ptr::P;
-+use rustc_ast::token::{self, CommentKind, DelimToken, Token, TokenKind};
-+use rustc_ast::tokenstream::{DelimSpan, TokenStream, TokenTree};
-+use rustc_data_structures::sync::Lrc;
-+use rustc_data_structures::thin_vec::ThinVec;
-+use rustc_span::source_map::Spanned;
-+use rustc_span::symbol::Ident;
-+use rustc_span::{Span, Symbol, SyntaxContext};
-
- pub trait SpanlessEq {
- fn eq(&self, other: &Self) -> bool;
-@@ -86,14 +85,6 @@ impl<A: SpanlessEq, B: SpanlessEq> SpanlessEq for (A, B) {
- }
- }
-
--impl<A: SpanlessEq, B: SpanlessEq, C: SpanlessEq> SpanlessEq for (A, B, C) {
-- fn eq(&self, other: &Self) -> bool {
-- SpanlessEq::eq(&self.0, &other.0)
-- && SpanlessEq::eq(&self.1, &other.1)
-- && SpanlessEq::eq(&self.2, &other.2)
-- }
--}
--
- macro_rules! spanless_eq_true {
- ($name:ident) => {
- impl SpanlessEq for $name {
-@@ -126,17 +117,19 @@ spanless_eq_partial_eq!(u16);
- spanless_eq_partial_eq!(u128);
- spanless_eq_partial_eq!(usize);
- spanless_eq_partial_eq!(char);
-+spanless_eq_partial_eq!(String);
- spanless_eq_partial_eq!(Symbol);
--spanless_eq_partial_eq!(Abi);
-+spanless_eq_partial_eq!(CommentKind);
- spanless_eq_partial_eq!(DelimToken);
-+spanless_eq_partial_eq!(InlineAsmOptions);
-
- macro_rules! spanless_eq_struct {
- {
-- $name:ident;
-+ $name:ident $(<$param:ident>)?;
- $([$field:ident $other:ident])*
- $(![$ignore:ident])*
- } => {
-- impl SpanlessEq for $name {
-+ impl $(<$param: SpanlessEq>)* SpanlessEq for $name $(<$param>)* {
- fn eq(&self, other: &Self) -> bool {
- let $name { $($field,)* $($ignore: _,)* } = self;
- let $name { $($field: $other,)* $($ignore: _,)* } = other;
-@@ -146,14 +139,14 @@ macro_rules! spanless_eq_struct {
- };
-
- {
-- $name:ident;
-+ $name:ident $(<$param:ident>)?;
- $([$field:ident $other:ident])*
- $next:ident
- $($rest:ident)*
- $(!$ignore:ident)*
- } => {
- spanless_eq_struct! {
-- $name;
-+ $name $(<$param>)*;
- $([$field $other])*
- [$next other]
- $($rest)*
-@@ -162,14 +155,14 @@ macro_rules! spanless_eq_struct {
- };
-
- {
-- $name:ident;
-+ $name:ident $(<$param:ident>)?;
- $([$field:ident $other:ident])*
- $(![$ignore:ident])*
- !$next:ident
- $(!$rest:ident)*
- } => {
- spanless_eq_struct! {
-- $name;
-+ $name $(<$param>)*;
- $([$field $other])*
- $(![$ignore])*
- ![$next]
-@@ -263,119 +256,131 @@ macro_rules! spanless_eq_enum {
- };
- }
-
--spanless_eq_struct!(AngleBracketedArgs; span args constraints);
-+spanless_eq_struct!(AngleBracketedArgs; span args);
- spanless_eq_struct!(AnonConst; id value);
--spanless_eq_struct!(Arg; attrs ty pat id span);
--spanless_eq_struct!(Arm; attrs pats guard body span id);
-+spanless_eq_struct!(Arm; attrs pat guard body span id is_placeholder);
- spanless_eq_struct!(AssocTyConstraint; id ident kind span);
--spanless_eq_struct!(Attribute; id style path tokens span !is_sugared_doc);
--spanless_eq_struct!(BareFnTy; unsafety abi generic_params decl);
-+spanless_eq_struct!(AttrItem; path args);
-+spanless_eq_struct!(Attribute; kind id style span);
-+spanless_eq_struct!(BareFnTy; unsafety ext generic_params decl);
- spanless_eq_struct!(Block; stmts id rules span);
--spanless_eq_struct!(Crate; module attrs span);
-+spanless_eq_struct!(Crate; module attrs span proc_macros);
- spanless_eq_struct!(EnumDef; variants);
--spanless_eq_struct!(Expr; id node span attrs);
--spanless_eq_struct!(Field; ident expr span is_shorthand attrs id);
--spanless_eq_struct!(FieldPat; ident pat is_shorthand attrs id span);
--spanless_eq_struct!(FnDecl; inputs output c_variadic);
--spanless_eq_struct!(FnHeader; constness asyncness unsafety abi);
--spanless_eq_struct!(ForeignItem; ident attrs node id span vis);
-+spanless_eq_struct!(Expr; id kind span attrs !tokens);
-+spanless_eq_struct!(Field; attrs id span ident expr is_shorthand is_placeholder);
-+spanless_eq_struct!(FieldPat; ident pat is_shorthand attrs id span is_placeholder);
-+spanless_eq_struct!(FnDecl; inputs output);
-+spanless_eq_struct!(FnHeader; constness asyncness unsafety ext);
-+spanless_eq_struct!(FnSig; header decl span);
- spanless_eq_struct!(ForeignMod; abi items);
--spanless_eq_struct!(GenericParam; id ident attrs bounds kind);
-+spanless_eq_struct!(GenericParam; id ident attrs bounds is_placeholder kind);
- spanless_eq_struct!(Generics; params where_clause span);
- spanless_eq_struct!(GlobalAsm; asm);
--spanless_eq_struct!(ImplItem; id ident vis defaultness attrs generics node span !tokens);
--spanless_eq_struct!(InlineAsm; asm asm_str_style outputs inputs clobbers volatile alignstack dialect);
--spanless_eq_struct!(InlineAsmOutput; constraint expr is_rw is_indirect);
--spanless_eq_struct!(Item; ident attrs id node vis span !tokens);
-+spanless_eq_struct!(InlineAsm; template operands options line_spans);
-+spanless_eq_struct!(Item<K>; attrs id span vis ident kind !tokens);
- spanless_eq_struct!(Label; ident);
- spanless_eq_struct!(Lifetime; id ident);
--spanless_eq_struct!(Lit; token node span);
-+spanless_eq_struct!(Lit; token kind span);
-+spanless_eq_struct!(LlvmInlineAsm; asm asm_str_style outputs inputs clobbers volatile alignstack dialect);
-+spanless_eq_struct!(LlvmInlineAsmOutput; constraint expr is_rw is_indirect);
- spanless_eq_struct!(Local; pat ty init id span attrs);
--spanless_eq_struct!(Mac; path delim tts span prior_type_ascription);
--spanless_eq_struct!(MacroDef; tokens legacy);
--spanless_eq_struct!(MethodSig; header decl);
-+spanless_eq_struct!(MacCall; path args prior_type_ascription);
-+spanless_eq_struct!(MacCallStmt; mac style attrs);
-+spanless_eq_struct!(MacroDef; body macro_rules);
- spanless_eq_struct!(Mod; inner items inline);
- spanless_eq_struct!(MutTy; ty mutbl);
-+spanless_eq_struct!(Param; attrs ty pat id span is_placeholder);
- spanless_eq_struct!(ParenthesizedArgs; span inputs output);
--spanless_eq_struct!(Pat; id node span);
-+spanless_eq_struct!(Pat; id kind span tokens);
- spanless_eq_struct!(Path; span segments);
- spanless_eq_struct!(PathSegment; ident id args);
- spanless_eq_struct!(PolyTraitRef; bound_generic_params trait_ref span);
- spanless_eq_struct!(QSelf; ty path_span position);
--spanless_eq_struct!(Stmt; id node span);
--spanless_eq_struct!(StructField; span ident vis id ty attrs);
-+spanless_eq_struct!(Stmt; id kind span);
-+spanless_eq_struct!(StrLit; style symbol suffix span symbol_unescaped);
-+spanless_eq_struct!(StructField; attrs id span vis ident ty is_placeholder);
- spanless_eq_struct!(Token; kind span);
--spanless_eq_struct!(TraitItem; id ident attrs generics node span !tokens);
- spanless_eq_struct!(TraitRef; path ref_id);
--spanless_eq_struct!(Ty; id node span);
-+spanless_eq_struct!(Ty; id kind span);
- spanless_eq_struct!(UseTree; prefix kind span);
--spanless_eq_struct!(Variant; ident attrs id data disr_expr span);
-+spanless_eq_struct!(Variant; attrs id span vis ident data disr_expr is_placeholder);
- spanless_eq_struct!(WhereBoundPredicate; span bound_generic_params bounded_ty bounds);
--spanless_eq_struct!(WhereClause; predicates span);
-+spanless_eq_struct!(WhereClause; has_where_token predicates span);
- spanless_eq_struct!(WhereEqPredicate; id span lhs_ty rhs_ty);
- spanless_eq_struct!(WhereRegionPredicate; span lifetime bounds);
--spanless_eq_enum!(AsmDialect; Att Intel);
-+spanless_eq_enum!(AngleBracketedArg; Arg(0) Constraint(0));
-+spanless_eq_enum!(AssocItemKind; Const(0 1 2) Fn(0 1 2 3) TyAlias(0 1 2 3) MacCall(0));
- spanless_eq_enum!(AssocTyConstraintKind; Equality(ty) Bound(bounds));
-+spanless_eq_enum!(Async; Yes(span closure_id return_impl_trait_id) No);
-+spanless_eq_enum!(AttrKind; Normal(0) DocComment(0 1));
- spanless_eq_enum!(AttrStyle; Outer Inner);
- spanless_eq_enum!(BinOpKind; Add Sub Mul Div Rem And Or BitXor BitAnd BitOr Shl Shr Eq Lt Le Ne Ge Gt);
- spanless_eq_enum!(BindingMode; ByRef(0) ByValue(0));
- spanless_eq_enum!(BlockCheckMode; Default Unsafe(0));
-+spanless_eq_enum!(BorrowKind; Ref Raw);
- spanless_eq_enum!(CaptureBy; Value Ref);
--spanless_eq_enum!(Constness; Const NotConst);
-+spanless_eq_enum!(Const; Yes(0) No);
- spanless_eq_enum!(CrateSugar; PubCrate JustCrate);
--spanless_eq_enum!(Defaultness; Default Final);
-+spanless_eq_enum!(Defaultness; Default(0) Final);
-+spanless_eq_enum!(Extern; None Implicit Explicit(0));
- spanless_eq_enum!(FloatTy; F32 F64);
--spanless_eq_enum!(ForeignItemKind; Fn(0 1) Static(0 1) Ty Macro(0));
--spanless_eq_enum!(FunctionRetTy; Default(0) Ty(0));
-+spanless_eq_enum!(FnRetTy; Default(0) Ty(0));
-+spanless_eq_enum!(ForeignItemKind; Static(0 1 2) Fn(0 1 2 3) TyAlias(0 1 2 3) MacCall(0));
- spanless_eq_enum!(GenericArg; Lifetime(0) Type(0) Const(0));
- spanless_eq_enum!(GenericArgs; AngleBracketed(0) Parenthesized(0));
- spanless_eq_enum!(GenericBound; Trait(0 1) Outlives(0));
--spanless_eq_enum!(GenericParamKind; Lifetime Type(default) Const(ty));
--spanless_eq_enum!(ImplItemKind; Const(0 1) Method(0 1) TyAlias(0) OpaqueTy(0) Macro(0));
--spanless_eq_enum!(ImplPolarity; Positive Negative);
-+spanless_eq_enum!(GenericParamKind; Lifetime Type(default) Const(ty kw_span));
-+spanless_eq_enum!(ImplPolarity; Positive Negative(0));
-+spanless_eq_enum!(InlineAsmRegOrRegClass; Reg(0) RegClass(0));
-+spanless_eq_enum!(InlineAsmTemplatePiece; String(0) Placeholder(operand_idx modifier span));
- spanless_eq_enum!(IntTy; Isize I8 I16 I32 I64 I128);
--spanless_eq_enum!(IsAsync; Async(closure_id return_impl_trait_id) NotAsync);
- spanless_eq_enum!(IsAuto; Yes No);
-+spanless_eq_enum!(LitFloatType; Suffixed(0) Unsuffixed);
- spanless_eq_enum!(LitIntType; Signed(0) Unsigned(0) Unsuffixed);
-+spanless_eq_enum!(LlvmAsmDialect; Att Intel);
-+spanless_eq_enum!(MacArgs; Empty Delimited(0 1 2) Eq(0 1));
- spanless_eq_enum!(MacDelimiter; Parenthesis Bracket Brace);
- spanless_eq_enum!(MacStmtStyle; Semicolon Braces NoBraces);
- spanless_eq_enum!(Movability; Static Movable);
--spanless_eq_enum!(Mutability; Mutable Immutable);
-+spanless_eq_enum!(Mutability; Mut Not);
- spanless_eq_enum!(RangeEnd; Included(0) Excluded);
- spanless_eq_enum!(RangeLimits; HalfOpen Closed);
--spanless_eq_enum!(StmtKind; Local(0) Item(0) Expr(0) Semi(0) Mac(0));
-+spanless_eq_enum!(StmtKind; Local(0) Item(0) Expr(0) Semi(0) Empty MacCall(0));
- spanless_eq_enum!(StrStyle; Cooked Raw(0));
- spanless_eq_enum!(TokenTree; Token(0) Delimited(0 1 2));
--spanless_eq_enum!(TraitBoundModifier; None Maybe);
--spanless_eq_enum!(TraitItemKind; Const(0 1) Method(0 1) Type(0 1) Macro(0));
-+spanless_eq_enum!(TraitBoundModifier; None Maybe MaybeConst MaybeConstMaybe);
- spanless_eq_enum!(TraitObjectSyntax; Dyn None);
- spanless_eq_enum!(UintTy; Usize U8 U16 U32 U64 U128);
- spanless_eq_enum!(UnOp; Deref Not Neg);
-+spanless_eq_enum!(Unsafe; Yes(0) No);
- spanless_eq_enum!(UnsafeSource; CompilerGenerated UserProvided);
--spanless_eq_enum!(Unsafety; Unsafe Normal);
- spanless_eq_enum!(UseTreeKind; Simple(0 1 2) Nested(0) Glob);
- spanless_eq_enum!(VariantData; Struct(0 1) Tuple(0 1) Unit(0));
- spanless_eq_enum!(VisibilityKind; Public Crate(0) Restricted(path id) Inherited);
- spanless_eq_enum!(WherePredicate; BoundPredicate(0) RegionPredicate(0) EqPredicate(0));
--spanless_eq_enum!(ExprKind; Box(0) Array(0) Call(0 1) MethodCall(0 1) Tup(0)
-+spanless_eq_enum!(ExprKind; Box(0) Array(0) Call(0 1) MethodCall(0 1 2) Tup(0)
- Binary(0 1 2) Unary(0 1) Lit(0) Cast(0 1) Type(0 1) Let(0 1) If(0 1 2)
- While(0 1 2) ForLoop(0 1 2 3) Loop(0 1) Match(0 1) Closure(0 1 2 3 4 5)
-- Block(0 1) Async(0 1 2) Await(0) TryBlock(0) Assign(0 1) AssignOp(0 1 2)
-- Field(0 1) Index(0 1) Range(0 1 2) Path(0 1) AddrOf(0 1) Break(0 1)
-- Continue(0) Ret(0) InlineAsm(0) Mac(0) Struct(0 1 2) Repeat(0 1) Paren(0)
-- Try(0) Yield(0) Err);
--spanless_eq_enum!(ItemKind; ExternCrate(0) Use(0) Static(0 1 2) Const(0 1)
-- Fn(0 1 2 3) Mod(0) ForeignMod(0) GlobalAsm(0) TyAlias(0 1) OpaqueTy(0 1)
-- Enum(0 1) Struct(0 1) Union(0 1) Trait(0 1 2 3 4) TraitAlias(0 1)
-- Impl(0 1 2 3 4 5 6) Mac(0) MacroDef(0));
-+ Block(0 1) Async(0 1 2) Await(0) TryBlock(0) Assign(0 1 2) AssignOp(0 1 2)
-+ Field(0 1) Index(0 1) Range(0 1 2) Path(0 1) AddrOf(0 1 2) Break(0 1)
-+ Continue(0) Ret(0) InlineAsm(0) LlvmInlineAsm(0) MacCall(0) Struct(0 1 2)
-+ Repeat(0 1) Paren(0) Try(0) Yield(0) Err);
-+spanless_eq_enum!(InlineAsmOperand; In(reg expr) Out(reg late expr)
-+ InOut(reg late expr) SplitInOut(reg late in_expr out_expr) Const(expr)
-+ Sym(expr));
-+spanless_eq_enum!(ItemKind; ExternCrate(0) Use(0) Static(0 1 2) Const(0 1 2)
-+ Fn(0 1 2 3) Mod(0) ForeignMod(0) GlobalAsm(0) TyAlias(0 1 2 3) Enum(0 1)
-+ Struct(0 1) Union(0 1) Trait(0 1 2 3 4) TraitAlias(0 1)
-+ Impl(unsafety polarity defaultness constness generics of_trait self_ty items)
-+ MacCall(0) MacroDef(0));
- spanless_eq_enum!(LitKind; Str(0 1) ByteStr(0) Byte(0) Char(0) Int(0 1)
-- Float(0 1) FloatUnsuffixed(0) Bool(0) Err(0));
-+ Float(0 1) Bool(0) Err(0));
- spanless_eq_enum!(PatKind; Wild Ident(0 1 2) Struct(0 1 2) TupleStruct(0 1)
- Or(0) Path(0 1) Tuple(0) Box(0) Ref(0 1) Lit(0) Range(0 1 2) Slice(0) Rest
-- Paren(0) Mac(0));
-+ Paren(0) MacCall(0));
- spanless_eq_enum!(TyKind; Slice(0) Array(0 1) Ptr(0) Rptr(0 1) BareFn(0) Never
- Tup(0) Path(0 1) TraitObject(0 1) ImplTrait(0 1) Paren(0) Typeof(0) Infer
-- ImplicitSelf Mac(0) Err CVarArgs);
-+ ImplicitSelf MacCall(0) Err CVarArgs);
-
- impl SpanlessEq for Ident {
- fn eq(&self, other: &Self) -> bool {
-@@ -414,44 +419,20 @@ impl SpanlessEq for TokenKind {
-
- impl SpanlessEq for TokenStream {
- fn eq(&self, other: &Self) -> bool {
-- SpanlessEq::eq(&expand_tts(self), &expand_tts(other))
-- }
--}
--
--fn expand_tts(tts: &TokenStream) -> Vec<TokenTree> {
-- let mut tokens = Vec::new();
-- for tt in tts.clone().into_trees() {
-- let c = match tt {
-- TokenTree::Token(Token {
-- kind: TokenKind::DocComment(c),
-- ..
-- }) => c,
-- _ => {
-- tokens.push(tt);
-- continue;
-+ let mut this = self.clone().into_trees();
-+ let mut other = other.clone().into_trees();
-+ loop {
-+ let this = match this.next() {
-+ None => return other.next().is_none(),
-+ Some(val) => val,
-+ };
-+ let other = match other.next() {
-+ None => return false,
-+ Some(val) => val,
-+ };
-+ if !SpanlessEq::eq(&this, &other) {
-+ return false;
- }
-- };
-- let contents = comments::strip_doc_comment_decoration(&c.as_str());
-- let style = comments::doc_comment_style(&c.as_str());
-- tokens.push(TokenTree::token(TokenKind::Pound, DUMMY_SP));
-- if style == AttrStyle::Inner {
-- tokens.push(TokenTree::token(TokenKind::Not, DUMMY_SP));
- }
-- let lit = token::Lit {
-- kind: token::LitKind::Str,
-- symbol: Symbol::intern(&contents),
-- suffix: None,
-- };
-- let tts = vec![
-- TokenTree::token(TokenKind::Ident(sym::doc, false), DUMMY_SP),
-- TokenTree::token(TokenKind::Eq, DUMMY_SP),
-- TokenTree::token(TokenKind::Literal(lit), DUMMY_SP),
-- ];
-- tokens.push(TokenTree::Delimited(
-- DelimSpan::dummy(),
-- DelimToken::Bracket,
-- tts.into_iter().collect::<TokenStream>().into(),
-- ));
- }
-- tokens
- }
-diff --git a/third_party/rust/syn/tests/common/mod.rs b/third_party/rust/syn/tests/common/mod.rs
-index 8b784beed7..a1cc80a16f 100644
---- mozilla-release/third_party/rust/syn/tests/common/mod.rs
-+++ mozilla-release/third_party/rust/syn/tests/common/mod.rs
-@@ -1,5 +1,6 @@
- #![allow(dead_code)]
-
-+use rayon::ThreadPoolBuilder;
- use std::env;
-
- pub mod eq;
-@@ -12,3 +13,15 @@ pub fn abort_after() -> usize {
- Err(_) => usize::max_value(),
- }
- }
-+
-+/// Configure Rayon threadpool.
-+pub fn rayon_init() {
-+ let stack_size = match env::var("RUST_MIN_STACK") {
-+ Ok(s) => s.parse().expect("failed to parse RUST_MIN_STACK"),
-+ Err(_) => 20 * 1024 * 1024,
-+ };
-+ ThreadPoolBuilder::new()
-+ .stack_size(stack_size)
-+ .build_global()
-+ .unwrap();
-+}
-diff --git a/third_party/rust/syn/tests/common/parse.rs b/third_party/rust/syn/tests/common/parse.rs
-index 41d192f6fb..192828fedd 100644
---- mozilla-release/third_party/rust/syn/tests/common/parse.rs
-+++ mozilla-release/third_party/rust/syn/tests/common/parse.rs
-@@ -1,20 +1,20 @@
--extern crate proc_macro2;
--extern crate syn;
--extern crate syntax;
--extern crate syntax_pos;
-+extern crate rustc_ast;
-+extern crate rustc_expand;
-+extern crate rustc_parse as parse;
-+extern crate rustc_session;
-+extern crate rustc_span;
-
--use self::syntax::ast;
--use self::syntax::parse::{self, ParseSess};
--use self::syntax::ptr::P;
--use self::syntax::source_map::FilePathMapping;
--use self::syntax_pos::FileName;
-+use rustc_ast::ast;
-+use rustc_ast::ptr::P;
-+use rustc_session::parse::ParseSess;
-+use rustc_span::source_map::FilePathMapping;
-+use rustc_span::FileName;
-
- use std::panic;
-
--pub fn libsyntax_expr(input: &str) -> Option<P<ast::Expr>> {
-+pub fn librustc_expr(input: &str) -> Option<P<ast::Expr>> {
- match panic::catch_unwind(|| {
- let sess = ParseSess::new(FilePathMapping::empty());
-- sess.span_diagnostic.set_continue_after_error(false);
- let e = parse::new_parser_from_source_str(
- &sess,
- FileName::Custom("test_precedence".to_string()),
-@@ -32,7 +32,7 @@ pub fn libsyntax_expr(input: &str) -> Option<P<ast::Expr>> {
- Ok(Some(e)) => Some(e),
- Ok(None) => None,
- Err(_) => {
-- errorf!("libsyntax panicked\n");
-+ errorf!("librustc panicked\n");
- None
- }
- }
-diff --git a/third_party/rust/syn/tests/debug/gen.rs b/third_party/rust/syn/tests/debug/gen.rs
-index 8450c09ecf..85a1a39079 100644
---- mozilla-release/third_party/rust/syn/tests/debug/gen.rs
-+++ mozilla-release/third_party/rust/syn/tests/debug/gen.rs
-@@ -2,7 +2,7 @@
- // It is not intended for manual editing.
-
- use super::{Lite, RefCast};
--use std::fmt::{self, Debug};
-+use std::fmt::{self, Debug, Display};
- impl Debug for Lite<syn::Abi> {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- let _val = &self.value;
-@@ -1039,9 +1039,9 @@ impl Debug for Lite<syn::Expr> {
- }
- syn::Expr::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- syn::Expr::While(_val) => {
-@@ -2116,9 +2116,9 @@ impl Debug for Lite<syn::ForeignItem> {
- }
- syn::ForeignItem::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- _ => unreachable!(),
-@@ -2432,9 +2432,9 @@ impl Debug for Lite<syn::ImplItem> {
- }
- syn::ImplItem::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- _ => unreachable!(),
-@@ -2940,9 +2940,9 @@ impl Debug for Lite<syn::Item> {
- }
- syn::Item::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- _ => unreachable!(),
-@@ -3437,9 +3437,9 @@ impl Debug for Lite<syn::Lit> {
- }
- syn::Lit::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- }
-@@ -3878,9 +3878,9 @@ impl Debug for Lite<syn::Pat> {
- }
- syn::Pat::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- syn::Pat::Wild(_val) => {
-@@ -4674,9 +4674,9 @@ impl Debug for Lite<syn::TraitItem> {
- }
- syn::TraitItem::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- _ => unreachable!(),
-@@ -5040,9 +5040,9 @@ impl Debug for Lite<syn::Type> {
- }
- syn::Type::Verbatim(_val) => {
- formatter.write_str("Verbatim")?;
-- formatter.write_str("(")?;
-- Debug::fmt(Lite(_val), formatter)?;
-- formatter.write_str(")")?;
-+ formatter.write_str("(`")?;
-+ Display::fmt(_val, formatter)?;
-+ formatter.write_str("`)")?;
- Ok(())
- }
- _ => unreachable!(),
-diff --git a/third_party/rust/syn/tests/debug/mod.rs b/third_party/rust/syn/tests/debug/mod.rs
-index c1180532ec..cefebacef7 100644
---- mozilla-release/third_party/rust/syn/tests/debug/mod.rs
-+++ mozilla-release/third_party/rust/syn/tests/debug/mod.rs
-@@ -1,10 +1,7 @@
--extern crate proc_macro2;
--extern crate ref_cast;
--
- mod gen;
-
--use self::proc_macro2::{Ident, Literal, TokenStream};
--use self::ref_cast::RefCast;
-+use proc_macro2::{Ident, Literal, TokenStream};
-+use ref_cast::RefCast;
- use std::fmt::{self, Debug};
- use std::ops::Deref;
- use syn::punctuated::Punctuated;
-@@ -66,7 +63,15 @@ impl Debug for Lite<Literal> {
-
- impl Debug for Lite<TokenStream> {
- fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
-- write!(formatter, "`{}`", self.value)
-+ let string = self.value.to_string();
-+ if string.len() <= 80 {
-+ write!(formatter, "TokenStream(`{}`)", self.value)
-+ } else {
-+ formatter
-+ .debug_tuple("TokenStream")
-+ .field(&format_args!("`{}`", string))
-+ .finish()
-+ }
- }
- }
-
-diff --git a/third_party/rust/syn/tests/features/error.rs b/third_party/rust/syn/tests/features/error.rs
-deleted file mode 100644
-index 10ac88965d..0000000000
---- mozilla-release/third_party/rust/syn/tests/features/error.rs
-+++ mozilla-release//dev/null
-@@ -1 +0,0 @@
--"Hello! You want: cargo test --release --all-features"
-diff --git a/third_party/rust/syn/tests/features/mod.rs b/third_party/rust/syn/tests/features/mod.rs
-deleted file mode 100644
-index 83fbe13e7e..0000000000
---- mozilla-release/third_party/rust/syn/tests/features/mod.rs
-+++ mozilla-release//dev/null
-@@ -1,22 +0,0 @@
--#[allow(unused_macros)]
--macro_rules! hide_from_rustfmt {
-- ($mod:item) => {
-- $mod
-- };
--}
--
--#[cfg(not(all(
-- feature = "derive",
-- feature = "full",
-- feature = "parsing",
-- feature = "printing",
-- feature = "visit",
-- feature = "visit-mut",
-- feature = "fold",
-- feature = "clone-impls",
-- feature = "extra-traits",
-- feature = "proc-macro",
--)))]
--hide_from_rustfmt! {
-- mod error;
--}
-diff --git a/third_party/rust/syn/tests/macros/mod.rs b/third_party/rust/syn/tests/macros/mod.rs
-index c72fd01058..3994615fc4 100644
---- mozilla-release/third_party/rust/syn/tests/macros/mod.rs
-+++ mozilla-release/third_party/rust/syn/tests/macros/mod.rs
-@@ -1,5 +1,3 @@
--extern crate proc_macro2;
--
- #[path = "../debug/mod.rs"]
- pub mod debug;
-
-@@ -42,18 +40,18 @@ macro_rules! snapshot_impl {
- (($expr:ident) as $t:ty, @$snapshot:literal) => {
- let $expr = crate::macros::Tokens::parse::<$t>($expr).unwrap();
- let debug = crate::macros::debug::Lite(&$expr);
-- insta::assert_debug_snapshot_matches!(debug, @$snapshot);
-+ insta::assert_debug_snapshot!(debug, @$snapshot);
- };
- (($($expr:tt)*) as $t:ty, @$snapshot:literal) => {{
- let syntax_tree = crate::macros::Tokens::parse::<$t>($($expr)*).unwrap();
- let debug = crate::macros::debug::Lite(&syntax_tree);
-- insta::assert_debug_snapshot_matches!(debug, @$snapshot);
-+ insta::assert_debug_snapshot!(debug, @$snapshot);
- syntax_tree
- }};
- (($($expr:tt)*) , @$snapshot:literal) => {{
- let syntax_tree = $($expr)*;
- let debug = crate::macros::debug::Lite(&syntax_tree);
-- insta::assert_debug_snapshot_matches!(debug, @$snapshot);
-+ insta::assert_debug_snapshot!(debug, @$snapshot);
- syntax_tree
- }};
- (($($expr:tt)*) $next:tt $($rest:tt)*) => {
-diff --git a/third_party/rust/syn/tests/repo/mod.rs b/third_party/rust/syn/tests/repo/mod.rs
-index c22cb03758..1d3e1f0e74 100644
---- mozilla-release/third_party/rust/syn/tests/repo/mod.rs
-+++ mozilla-release/third_party/rust/syn/tests/repo/mod.rs
-@@ -1,8 +1,37 @@
--extern crate walkdir;
-+mod progress;
-
--use std::process::Command;
-+use self::progress::Progress;
-+use anyhow::Result;
-+use flate2::read::GzDecoder;
-+use std::fs;
-+use std::path::Path;
-+use tar::Archive;
-+use walkdir::DirEntry;
-
--use self::walkdir::DirEntry;
-+const REVISION: &str = "792c645ca7d11a8d254df307d019c5bf01445c37";
-+
-+#[rustfmt::skip]
-+static EXCLUDE: &[&str] = &[
-+ // Compile-fail expr parameter in const generic position: f::<1 + 2>()
-+ "test/ui/const-generics/const-expression-parameter.rs",
-+
-+ // Deprecated anonymous parameter syntax in traits
-+ "test/ui/issues/issue-13105.rs",
-+ "test/ui/issues/issue-13775.rs",
-+ "test/ui/issues/issue-34074.rs",
-+ "test/ui/proc-macro/trait-fn-args-2015.rs",
-+
-+ // Not actually test cases
-+ "test/rustdoc-ui/test-compile-fail2.rs",
-+ "test/rustdoc-ui/test-compile-fail3.rs",
-+ "test/ui/include-single-expr-helper.rs",
-+ "test/ui/include-single-expr-helper-1.rs",
-+ "test/ui/issues/auxiliary/issue-21146-inc.rs",
-+ "test/ui/json-bom-plus-crlf-multifile-aux.rs",
-+ "test/ui/lint/expansion-time-include.rs",
-+ "test/ui/macros/auxiliary/macro-comma-support.rs",
-+ "test/ui/macros/auxiliary/macro-include-items-expr.rs",
-+];
-
- pub fn base_dir_filter(entry: &DirEntry) -> bool {
- let path = entry.path();
-@@ -12,49 +41,95 @@ pub fn base_dir_filter(entry: &DirEntry) -> bool {
- if path.extension().map(|e| e != "rs").unwrap_or(true) {
- return false;
- }
-- let path_string = path.to_string_lossy();
-- let path_string = if cfg!(windows) {
-- path_string.replace('\\', "/").into()
-+
-+ let mut path_string = path.to_string_lossy();
-+ if cfg!(windows) {
-+ path_string = path_string.replace('\\', "/").into();
-+ }
-+ let path = if let Some(path) = path_string.strip_prefix("tests/rust/src/") {
-+ path
-+ } else if let Some(path) = path_string.strip_prefix("tests/rust/library/") {
-+ path
- } else {
-- path_string
-+ panic!("unexpected path in Rust dist: {}", path_string);
- };
-+
- // TODO assert that parsing fails on the parse-fail cases
-- if path_string.starts_with("tests/rust/src/test/parse-fail")
-- || path_string.starts_with("tests/rust/src/test/compile-fail")
-- || path_string.starts_with("tests/rust/src/test/rustfix")
-+ if path.starts_with("test/parse-fail")
-+ || path.starts_with("test/compile-fail")
-+ || path.starts_with("test/rustfix")
- {
- return false;
- }
-
-- if path_string.starts_with("tests/rust/src/test/ui") {
-- let stderr_path = path.with_extension("stderr");
-+ if path.starts_with("test/ui") {
-+ let stderr_path = entry.path().with_extension("stderr");
- if stderr_path.exists() {
- // Expected to fail in some way
- return false;
- }
- }
-
-- match path_string.as_ref() {
-- // Deprecated placement syntax
-- "tests/rust/src/test/ui/obsolete-in-place/bad.rs" |
-- // Deprecated anonymous parameter syntax in traits
-- "tests/rust/src/test/ui/error-codes/e0119/auxiliary/issue-23563-a.rs" |
-- "tests/rust/src/test/ui/issues/issue-13105.rs" |
-- "tests/rust/src/test/ui/issues/issue-13775.rs" |
-- "tests/rust/src/test/ui/issues/issue-34074.rs" |
-- // Deprecated await macro syntax
-- "tests/rust/src/test/ui/async-await/await-macro.rs" |
-- // 2015-style dyn that libsyntax rejects
-- "tests/rust/src/test/ui/dyn-keyword/dyn-2015-no-warnings-without-lints.rs" |
-- // not actually test cases
-- "tests/rust/src/test/ui/macros/auxiliary/macro-comma-support.rs" |
-- "tests/rust/src/test/ui/macros/auxiliary/macro-include-items-expr.rs" |
-- "tests/rust/src/test/ui/issues/auxiliary/issue-21146-inc.rs" => false,
-- _ => true,
-+ !EXCLUDE.contains(&path)
-+}
-+
-+#[allow(dead_code)]
-+pub fn edition(path: &Path) -> &'static str {
-+ if path.ends_with("dyn-2015-no-warnings-without-lints.rs") {
-+ "2015"
-+ } else {
-+ "2018"
- }
- }
-
- pub fn clone_rust() {
-- let result = Command::new("tests/clone.sh").status().unwrap();
-- assert!(result.success());
-+ let needs_clone = match fs::read_to_string("tests/rust/COMMIT") {
-+ Err(_) => true,
-+ Ok(contents) => contents.trim() != REVISION,
-+ };
-+ if needs_clone {
-+ download_and_unpack().unwrap();
-+ }
-+ let mut missing = String::new();
-+ let test_src = Path::new("tests/rust/src");
-+ for exclude in EXCLUDE {
-+ if !test_src.join(exclude).exists() {
-+ missing += "\ntests/rust/src/";
-+ missing += exclude;
-+ }
-+ }
-+ if !missing.is_empty() {
-+ panic!("excluded test file does not exist:{}\n", missing);
-+ }
-+}
-+
-+fn download_and_unpack() -> Result<()> {
-+ let url = format!(
-+ "https://github.com/rust-lang/rust/archive/{}.tar.gz",
-+ REVISION
-+ );
-+ let response = reqwest::blocking::get(&url)?.error_for_status()?;
-+ let progress = Progress::new(response);
-+ let decoder = GzDecoder::new(progress);
-+ let mut archive = Archive::new(decoder);
-+ let prefix = format!("rust-{}", REVISION);
-+
-+ let tests_rust = Path::new("tests/rust");
-+ if tests_rust.exists() {
-+ fs::remove_dir_all(tests_rust)?;
-+ }
-+
-+ for entry in archive.entries()? {
-+ let mut entry = entry?;
-+ let path = entry.path()?;
-+ if path == Path::new("pax_global_header") {
-+ continue;
-+ }
-+ let relative = path.strip_prefix(&prefix)?;
-+ let out = tests_rust.join(relative);
-+ entry.unpack(&out)?;
-+ }
-+
-+ fs::write("tests/rust/COMMIT", REVISION)?;
-+ Ok(())
- }
-diff --git a/third_party/rust/syn/tests/repo/progress.rs b/third_party/rust/syn/tests/repo/progress.rs
-new file mode 100644
-index 0000000000..28c8a44b12
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/repo/progress.rs
-@@ -0,0 +1,37 @@
-+use std::io::{Read, Result};
-+use std::time::{Duration, Instant};
-+
-+pub struct Progress<R> {
-+ bytes: usize,
-+ tick: Instant,
-+ stream: R,
-+}
-+
-+impl<R> Progress<R> {
-+ pub fn new(stream: R) -> Self {
-+ Progress {
-+ bytes: 0,
-+ tick: Instant::now() + Duration::from_millis(2000),
-+ stream,
-+ }
-+ }
-+}
-+
-+impl<R: Read> Read for Progress<R> {
-+ fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
-+ let num = self.stream.read(buf)?;
-+ self.bytes += num;
-+ let now = Instant::now();
-+ if now > self.tick {
-+ self.tick = now + Duration::from_millis(500);
-+ errorf!("downloading... {} bytes\n", self.bytes);
-+ }
-+ Ok(num)
-+ }
-+}
-+
-+impl<R> Drop for Progress<R> {
-+ fn drop(&mut self) {
-+ errorf!("done ({} bytes)\n", self.bytes);
-+ }
-+}
-diff --git a/third_party/rust/syn/tests/test_asyncness.rs b/third_party/rust/syn/tests/test_asyncness.rs
-index f868fbcc20..0efef5976f 100644
---- mozilla-release/third_party/rust/syn/tests/test_asyncness.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_asyncness.rs
-@@ -1,7 +1,3 @@
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -12,16 +8,16 @@ fn test_async_fn() {
- let input = "async fn process() {}";
-
- snapshot!(input as Item, @r###"
-- â‹®Item::Fn {
-- â‹® vis: Inherited,
-- â‹® sig: Signature {
-- â‹® asyncness: Some,
-- â‹® ident: "process",
-- â‹® generics: Generics,
-- â‹® output: Default,
-- â‹® },
-- â‹® block: Block,
-- â‹®}
-+ Item::Fn {
-+ vis: Inherited,
-+ sig: Signature {
-+ asyncness: Some,
-+ ident: "process",
-+ generics: Generics,
-+ output: Default,
-+ },
-+ block: Block,
-+ }
- "###);
- }
-
-@@ -30,12 +26,12 @@ fn test_async_closure() {
- let input = "async || {}";
-
- snapshot!(input as Expr, @r###"
-- â‹®Expr::Closure {
-- â‹® asyncness: Some,
-- â‹® output: Default,
-- â‹® body: Expr::Block {
-- â‹® block: Block,
-- â‹® },
-- â‹®}
-+ Expr::Closure {
-+ asyncness: Some,
-+ output: Default,
-+ body: Expr::Block {
-+ block: Block,
-+ },
-+ }
- "###);
- }
-diff --git a/third_party/rust/syn/tests/test_attribute.rs b/third_party/rust/syn/tests/test_attribute.rs
-index aff6294fc3..c26bd090ec 100644
---- mozilla-release/third_party/rust/syn/tests/test_attribute.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_attribute.rs
-@@ -1,7 +1,3 @@
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -13,14 +9,14 @@ fn test_meta_item_word() {
- let meta = test("#[foo]");
-
- snapshot!(meta, @r###"
-- â‹®Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹®})
-+ Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ })
- "###);
- }
-
-@@ -29,17 +25,17 @@ fn test_meta_item_name_value() {
- let meta = test("#[foo = 5]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
- }
-
-@@ -48,37 +44,37 @@ fn test_meta_item_bool_value() {
- let meta = test("#[foo = true]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: Lit::Bool {
-- â‹® value: true,
-- â‹® },
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: Lit::Bool {
-+ value: true,
-+ },
-+ }
- "###);
-
- let meta = test("#[foo = false]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: Lit::Bool {
-- â‹® value: false,
-- â‹® },
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: Lit::Bool {
-+ value: false,
-+ },
-+ }
- "###);
- }
-
-@@ -87,19 +83,19 @@ fn test_meta_item_list_lit() {
- let meta = test("#[foo(5)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Lit(5),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Lit(5),
-+ ],
-+ }
- "###);
- }
-
-@@ -108,26 +104,26 @@ fn test_meta_item_list_word() {
- let meta = test("#[foo(bar)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "bar",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "bar",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ ],
-+ }
- "###);
- }
-
-@@ -136,29 +132,29 @@ fn test_meta_item_list_name_value() {
- let meta = test("#[foo(bar = 5)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "bar",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹® }),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "bar",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }),
-+ ],
-+ }
- "###);
- }
-
-@@ -167,31 +163,31 @@ fn test_meta_item_list_bool_value() {
- let meta = test("#[foo(bar = true)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "bar",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: Lit::Bool {
-- â‹® value: true,
-- â‹® },
-- â‹® }),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "bar",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: Lit::Bool {
-+ value: true,
-+ },
-+ }),
-+ ],
-+ }
- "###);
- }
-
-@@ -200,68 +196,68 @@ fn test_meta_item_multiple() {
- let meta = test("#[foo(word, name = 5, list(name2 = 6), word2)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹® }),
-- â‹® Meta(Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "list",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 6,
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }),
-+ Meta(Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "list",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name2",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 6,
-+ }),
-+ ],
-+ }),
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word2",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ ],
-+ }
- "###);
- }
-
-@@ -270,21 +266,63 @@ fn test_bool_lit() {
- let meta = test("#[foo(true)]");
-
- snapshot!(meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Lit(Lit::Bool {
-- â‹® value: true,
-- â‹® }),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Lit(Lit::Bool {
-+ value: true,
-+ }),
-+ ],
-+ }
-+ "###);
-+}
-+
-+#[test]
-+fn test_negative_lit() {
-+ let meta = test("#[form(min = -1, max = 200)]");
-+
-+ snapshot!(meta, @r###"
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "form",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "min",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: -1,
-+ }),
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "max",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 200,
-+ }),
-+ ],
-+ }
- "###);
- }
-
-diff --git a/third_party/rust/syn/tests/test_derive_input.rs b/third_party/rust/syn/tests/test_derive_input.rs
-index de68240166..bf1ebdb67d 100644
---- mozilla-release/third_party/rust/syn/tests/test_derive_input.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_derive_input.rs
-@@ -1,8 +1,3 @@
--extern crate quote;
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -16,15 +11,15 @@ fn test_unit() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "Unit",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "Unit",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -39,105 +34,105 @@ fn test_struct() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "derive",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: `( Debug , Clone )`,
-- â‹® },
-- â‹® ],
-- â‹® vis: Visibility::Public,
-- â‹® ident: "Item",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Fields::Named {
-- â‹® named: [
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ident: Some("ident"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Ident",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ident: Some("attrs"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Vec",
-- â‹® arguments: PathArguments::AngleBracketed {
-- â‹® args: [
-- â‹® Type(Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Attribute",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® }),
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "derive",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(`(Debug , Clone)`),
-+ },
-+ ],
-+ vis: Visibility::Public,
-+ ident: "Item",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Named {
-+ named: [
-+ Field {
-+ vis: Visibility::Public,
-+ ident: Some("ident"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Ident",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ Field {
-+ vis: Visibility::Public,
-+ ident: Some("attrs"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Vec",
-+ arguments: PathArguments::AngleBracketed {
-+ args: [
-+ Type(Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Attribute",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }),
-+ ],
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ }
- "###);
-
- snapshot!(input.attrs[0].parse_meta().unwrap(), @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "derive",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Debug",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Clone",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "derive",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Debug",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Clone",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ ],
-+ }
- "###);
- }
-
-@@ -151,46 +146,46 @@ fn test_union() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "MaybeUninit",
-- â‹® generics: Generics {
-- â‹® lt_token: Some,
-- â‹® params: [
-- â‹® Type(TypeParam {
-- â‹® ident: "T",
-- â‹® }),
-- â‹® ],
-- â‹® gt_token: Some,
-- â‹® },
-- â‹® data: Data::Union {
-- â‹® fields: FieldsNamed {
-- â‹® named: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ident: Some("uninit"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Tuple,
-- â‹® },
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ident: Some("value"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "T",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "MaybeUninit",
-+ generics: Generics {
-+ lt_token: Some,
-+ params: [
-+ Type(TypeParam {
-+ ident: "T",
-+ }),
-+ ],
-+ gt_token: Some,
-+ },
-+ data: Data::Union {
-+ fields: FieldsNamed {
-+ named: [
-+ Field {
-+ vis: Inherited,
-+ ident: Some("uninit"),
-+ colon_token: Some,
-+ ty: Type::Tuple,
-+ },
-+ Field {
-+ vis: Inherited,
-+ ident: Some("value"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "T",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ }
- "###);
- }
-
-@@ -212,118 +207,118 @@ fn test_enum() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "doc",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: `= r" See the std::result module documentation for details."`,
-- â‹® },
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "must_use",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: ``,
-- â‹® },
-- â‹® ],
-- â‹® vis: Visibility::Public,
-- â‹® ident: "Result",
-- â‹® generics: Generics {
-- â‹® lt_token: Some,
-- â‹® params: [
-- â‹® Type(TypeParam {
-- â‹® ident: "T",
-- â‹® }),
-- â‹® Type(TypeParam {
-- â‹® ident: "E",
-- â‹® }),
-- â‹® ],
-- â‹® gt_token: Some,
-- â‹® },
-- â‹® data: Data::Enum {
-- â‹® variants: [
-- â‹® Variant {
-- â‹® ident: "Ok",
-- â‹® fields: Fields::Unnamed {
-- â‹® unnamed: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "T",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® Variant {
-- â‹® ident: "Err",
-- â‹® fields: Fields::Unnamed {
-- â‹® unnamed: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "E",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® Variant {
-- â‹® ident: "Surprise",
-- â‹® fields: Unit,
-- â‹® discriminant: Some(Expr::Lit {
-- â‹® lit: 0isize,
-- â‹® }),
-- â‹® },
-- â‹® Variant {
-- â‹® ident: "ProcMacroHack",
-- â‹® fields: Unit,
-- â‹® discriminant: Some(Expr::Field {
-- â‹® base: Expr::Tuple {
-- â‹® elems: [
-- â‹® Expr::Lit {
-- â‹® lit: 0,
-- â‹® },
-- â‹® Expr::Lit {
-- â‹® lit: "data",
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® member: Unnamed(Index {
-- â‹® index: 0,
-- â‹® }),
-- â‹® }),
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "doc",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(`= r" See the std::result module documentation for details."`),
-+ },
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "must_use",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ vis: Visibility::Public,
-+ ident: "Result",
-+ generics: Generics {
-+ lt_token: Some,
-+ params: [
-+ Type(TypeParam {
-+ ident: "T",
-+ }),
-+ Type(TypeParam {
-+ ident: "E",
-+ }),
-+ ],
-+ gt_token: Some,
-+ },
-+ data: Data::Enum {
-+ variants: [
-+ Variant {
-+ ident: "Ok",
-+ fields: Fields::Unnamed {
-+ unnamed: [
-+ Field {
-+ vis: Inherited,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "T",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ Variant {
-+ ident: "Err",
-+ fields: Fields::Unnamed {
-+ unnamed: [
-+ Field {
-+ vis: Inherited,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "E",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ Variant {
-+ ident: "Surprise",
-+ fields: Unit,
-+ discriminant: Some(Expr::Lit {
-+ lit: 0isize,
-+ }),
-+ },
-+ Variant {
-+ ident: "ProcMacroHack",
-+ fields: Unit,
-+ discriminant: Some(Expr::Field {
-+ base: Expr::Tuple {
-+ elems: [
-+ Expr::Lit {
-+ lit: 0,
-+ },
-+ Expr::Lit {
-+ lit: "data",
-+ },
-+ ],
-+ },
-+ member: Unnamed(Index {
-+ index: 0,
-+ }),
-+ }),
-+ },
-+ ],
-+ },
-+ }
- "###);
-
- let meta_items: Vec<_> = input
-@@ -333,27 +328,27 @@ fn test_enum() {
- .collect();
-
- snapshot!(meta_items, @r###"
-- â‹®[
-- â‹® Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "doc",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: " See the std::result module documentation for details.",
-- â‹® },
-- â‹® Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "must_use",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® }),
-- â‹®]
-+ [
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "doc",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: " See the std::result module documentation for details.",
-+ },
-+ Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "must_use",
-+ arguments: None,
-+ },
-+ ],
-+ }),
-+ ]
- "###);
- }
-
-@@ -366,34 +361,34 @@ fn test_attr_with_path() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® leading_colon: Some,
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "attr_args",
-- â‹® arguments: None,
-- â‹® },
-- â‹® PathSegment {
-- â‹® ident: "identity",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: `fn main ( ) { assert_eq ! ( foo ( ) , "Hello, world!" ) ; }`,
-- â‹® },
-- â‹® ],
-- â‹® vis: Inherited,
-- â‹® ident: "Dummy",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ leading_colon: Some,
-+ segments: [
-+ PathSegment {
-+ ident: "attr_args",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "identity",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(`fn main () { assert_eq ! (foo () , "Hello, world!") ; }`),
-+ },
-+ ],
-+ vis: Inherited,
-+ ident: "Dummy",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- assert!(input.attrs[0].parse_meta().is_err());
-@@ -407,29 +402,29 @@ fn test_attr_with_non_mod_style_path() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "inert",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: `< T >`,
-- â‹® },
-- â‹® ],
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "inert",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(`< T >`),
-+ },
-+ ],
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- assert!(input.attrs[0].parse_meta().is_err());
-@@ -443,48 +438,48 @@ fn test_attr_with_mod_style_path_with_self() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® PathSegment {
-- â‹® ident: "self",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: ``,
-- â‹® },
-- â‹® ],
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "self",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- snapshot!(input.attrs[0].parse_meta().unwrap(), @r###"
-- â‹®Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® PathSegment {
-- â‹® ident: "self",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹®})
-+ Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "self",
-+ arguments: None,
-+ },
-+ ],
-+ })
- "###);
- }
-
-@@ -496,55 +491,55 @@ fn test_pub_restricted() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Visibility::Restricted {
-- â‹® in_token: Some,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "m",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ident: "Z",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Fields::Unnamed {
-- â‹® unnamed: [
-- â‹® Field {
-- â‹® vis: Visibility::Restricted {
-- â‹® in_token: Some,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "m",
-- â‹® arguments: None,
-- â‹® },
-- â‹® PathSegment {
-- â‹® ident: "n",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "u8",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Visibility::Restricted {
-+ in_token: Some,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "m",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ident: "Z",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Unnamed {
-+ unnamed: [
-+ Field {
-+ vis: Visibility::Restricted {
-+ in_token: Some,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "m",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "n",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "u8",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -555,15 +550,15 @@ fn test_vis_crate() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Visibility::Crate,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Visibility::Crate,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -574,24 +569,24 @@ fn test_pub_restricted_crate() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Visibility::Restricted {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "crate",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Visibility::Restricted {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "crate",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -602,24 +597,24 @@ fn test_pub_restricted_super() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Visibility::Restricted {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "super",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Visibility::Restricted {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "super",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -630,25 +625,25 @@ fn test_pub_restricted_in_super() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Visibility::Restricted {
-- â‹® in_token: Some,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "super",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Visibility::Restricted {
-+ in_token: Some,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "super",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-
-@@ -659,15 +654,15 @@ fn test_fields_on_unit_struct() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- let data = match input.data {
-@@ -688,47 +683,47 @@ fn test_fields_on_named_struct() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Fields::Named {
-- â‹® named: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ident: Some("foo"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "i32",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ident: Some("bar"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "String",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Named {
-+ named: [
-+ Field {
-+ vis: Inherited,
-+ ident: Some("foo"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "i32",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ Field {
-+ vis: Visibility::Public,
-+ ident: Some("bar"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "String",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ },
-+ }
- "###);
-
- let data = match input.data {
-@@ -737,38 +732,38 @@ fn test_fields_on_named_struct() {
- };
-
- snapshot!(data.fields.into_iter().collect::<Vec<_>>(), @r###"
-- â‹®[
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ident: Some("foo"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "i32",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ident: Some("bar"),
-- â‹® colon_token: Some,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "String",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹®]
-+ [
-+ Field {
-+ vis: Inherited,
-+ ident: Some("foo"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "i32",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ Field {
-+ vis: Visibility::Public,
-+ ident: Some("bar"),
-+ colon_token: Some,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "String",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ]
- "###);
- }
-
-@@ -779,44 +774,44 @@ fn test_fields_on_tuple_struct() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Fields::Unnamed {
-- â‹® unnamed: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "i32",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "String",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Unnamed {
-+ unnamed: [
-+ Field {
-+ vis: Inherited,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "i32",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ Field {
-+ vis: Visibility::Public,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "String",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- let data = match input.data {
-@@ -825,34 +820,34 @@ fn test_fields_on_tuple_struct() {
- };
-
- snapshot!(data.fields.iter().collect::<Vec<_>>(), @r###"
-- â‹®[
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "i32",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® Field {
-- â‹® vis: Visibility::Public,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "String",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹®]
-+ [
-+ Field {
-+ vis: Inherited,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "i32",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ Field {
-+ vis: Visibility::Public,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "String",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ]
- "###);
- }
-
-@@ -864,34 +859,34 @@ fn test_ambiguous_crate() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics,
-- â‹® data: Data::Struct {
-- â‹® fields: Fields::Unnamed {
-- â‹® unnamed: [
-- â‹® Field {
-- â‹® vis: Inherited,
-- â‹® ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "crate",
-- â‹® arguments: None,
-- â‹® },
-- â‹® PathSegment {
-- â‹® ident: "X",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Unnamed {
-+ unnamed: [
-+ Field {
-+ vis: Inherited,
-+ ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "crate",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "X",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ },
-+ semi_token: Some,
-+ },
-+ }
- "###);
- }
-diff --git a/third_party/rust/syn/tests/test_expr.rs b/third_party/rust/syn/tests/test_expr.rs
-index c8a11cec2c..b2b65a254f 100644
---- mozilla-release/third_party/rust/syn/tests/test_expr.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_expr.rs
-@@ -1,40 +1,302 @@
--extern crate proc_macro2;
--extern crate syn;
--
- #[macro_use]
- mod macros;
-
--use std::str::FromStr;
--
--use proc_macro2::TokenStream;
-+use proc_macro2::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream, TokenTree};
-+use quote::quote;
-+use std::iter::FromIterator;
- use syn::{Expr, ExprRange};
-
- #[test]
- fn test_expr_parse() {
-- let code = "..100u32";
-- let tt = TokenStream::from_str(code).unwrap();
-- let expr: Expr = syn::parse2(tt.clone()).unwrap();
-- let expr_range: ExprRange = syn::parse2(tt).unwrap();
-- assert_eq!(expr, Expr::Range(expr_range));
-+ let tokens = quote!(..100u32);
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Range {
-+ limits: HalfOpen,
-+ to: Some(Expr::Lit {
-+ lit: 100u32,
-+ }),
-+ }
-+ "###);
-+
-+ let tokens = quote!(..100u32);
-+ snapshot!(tokens as ExprRange, @r###"
-+ ExprRange {
-+ limits: HalfOpen,
-+ to: Some(Expr::Lit {
-+ lit: 100u32,
-+ }),
-+ }
-+ "###);
- }
-
- #[test]
- fn test_await() {
- // Must not parse as Expr::Field.
-- let expr = syn::parse_str::<Expr>("fut.await").unwrap();
--
-- snapshot!(expr, @r###"
-- â‹®Expr::Await {
-- â‹® base: Expr::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "fut",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹®}
-+ let tokens = quote!(fut.await);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Await {
-+ base: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "fut",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ }
-+ "###);
-+}
-+
-+#[rustfmt::skip]
-+#[test]
-+fn test_tuple_multi_index() {
-+ for &input in &[
-+ "tuple.0.0",
-+ "tuple .0.0",
-+ "tuple. 0.0",
-+ "tuple.0 .0",
-+ "tuple.0. 0",
-+ "tuple . 0 . 0",
-+ ] {
-+ snapshot!(input as Expr, @r###"
-+ Expr::Field {
-+ base: Expr::Field {
-+ base: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "tuple",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ member: Unnamed(Index {
-+ index: 0,
-+ }),
-+ },
-+ member: Unnamed(Index {
-+ index: 0,
-+ }),
-+ }
-+ "###);
-+ }
-+
-+ for tokens in vec![
-+ quote!(tuple.0.0),
-+ quote!(tuple .0.0),
-+ quote!(tuple. 0.0),
-+ quote!(tuple.0 .0),
-+ quote!(tuple.0. 0),
-+ quote!(tuple . 0 . 0),
-+ ] {
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Field {
-+ base: Expr::Field {
-+ base: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "tuple",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ member: Unnamed(Index {
-+ index: 0,
-+ }),
-+ },
-+ member: Unnamed(Index {
-+ index: 0,
-+ }),
-+ }
-+ "###);
-+ }
-+}
-+
-+#[test]
-+fn test_macro_variable_func() {
-+ // mimics the token stream corresponding to `$fn()`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { f })),
-+ TokenTree::Group(Group::new(Delimiter::Parenthesis, TokenStream::new())),
-+ ]);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Call {
-+ func: Expr::Group {
-+ expr: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "f",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ }
-+ "###);
-+
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Punct(Punct::new('#', Spacing::Alone)),
-+ TokenTree::Group(Group::new(Delimiter::Bracket, quote! { outside })),
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { #[inside] f })),
-+ TokenTree::Group(Group::new(Delimiter::Parenthesis, TokenStream::new())),
-+ ]);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Call {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "outside",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ func: Expr::Group {
-+ expr: Expr::Path {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "inside",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "f",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ }
-+ "###);
-+}
-+
-+#[test]
-+fn test_macro_variable_macro() {
-+ // mimics the token stream corresponding to `$macro!()`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { m })),
-+ TokenTree::Punct(Punct::new('!', Spacing::Alone)),
-+ TokenTree::Group(Group::new(Delimiter::Parenthesis, TokenStream::new())),
-+ ]);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Macro {
-+ mac: Macro {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "m",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ delimiter: Paren,
-+ tokens: TokenStream(``),
-+ },
-+ }
-+ "###);
-+}
-+
-+#[test]
-+fn test_macro_variable_struct() {
-+ // mimics the token stream corresponding to `$struct {}`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { S })),
-+ TokenTree::Group(Group::new(Delimiter::Brace, TokenStream::new())),
-+ ]);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Struct {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "S",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }
-+ "###);
-+}
-+
-+#[test]
-+fn test_macro_variable_match_arm() {
-+ // mimics the token stream corresponding to `match v { _ => $expr }`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Ident(Ident::new("match", Span::call_site())),
-+ TokenTree::Ident(Ident::new("v", Span::call_site())),
-+ TokenTree::Group(Group::new(
-+ Delimiter::Brace,
-+ TokenStream::from_iter(vec![
-+ TokenTree::Punct(Punct::new('_', Spacing::Alone)),
-+ TokenTree::Punct(Punct::new('=', Spacing::Joint)),
-+ TokenTree::Punct(Punct::new('>', Spacing::Alone)),
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { #[a] () })),
-+ ]),
-+ )),
-+ ]);
-+
-+ snapshot!(tokens as Expr, @r###"
-+ Expr::Match {
-+ expr: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "v",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ arms: [
-+ Arm {
-+ pat: Pat::Wild,
-+ body: Expr::Group {
-+ expr: Expr::Tuple {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "a",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ },
-+ },
-+ },
-+ ],
-+ }
- "###);
- }
-diff --git a/third_party/rust/syn/tests/test_generics.rs b/third_party/rust/syn/tests/test_generics.rs
-index 55c79e066b..b29434a147 100644
---- mozilla-release/third_party/rust/syn/tests/test_generics.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_generics.rs
-@@ -1,8 +1,3 @@
--extern crate quote;
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -16,90 +11,90 @@ fn test_split_for_impl() {
- };
-
- snapshot!(input as DeriveInput, @r###"
-- â‹®DeriveInput {
-- â‹® vis: Inherited,
-- â‹® ident: "S",
-- â‹® generics: Generics {
-- â‹® lt_token: Some,
-- â‹® params: [
-- â‹® Lifetime(LifetimeDef {
-- â‹® lifetime: Lifetime {
-- â‹® ident: "a",
-- â‹® },
-- â‹® }),
-- â‹® Lifetime(LifetimeDef {
-- â‹® lifetime: Lifetime {
-- â‹® ident: "b",
-- â‹® },
-- â‹® colon_token: Some,
-- â‹® bounds: [
-- â‹® Lifetime {
-- â‹® ident: "a",
-- â‹® },
-- â‹® ],
-- â‹® }),
-- â‹® Type(TypeParam {
-- â‹® attrs: [
-- â‹® Attribute {
-- â‹® style: Outer,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "may_dangle",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® tokens: ``,
-- â‹® },
-- â‹® ],
-- â‹® ident: "T",
-- â‹® colon_token: Some,
-- â‹® bounds: [
-- â‹® Lifetime(Lifetime {
-- â‹® ident: "a",
-- â‹® }),
-- â‹® ],
-- â‹® eq_token: Some,
-- â‹® default: Some(Type::Tuple),
-- â‹® }),
-- â‹® ],
-- â‹® gt_token: Some,
-- â‹® where_clause: Some(WhereClause {
-- â‹® predicates: [
-- â‹® Type(PredicateType {
-- â‹® bounded_ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "T",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® bounds: [
-- â‹® Trait(TraitBound {
-- â‹® modifier: None,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Debug",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® },
-- â‹® data: Data::Struct {
-- â‹® fields: Unit,
-- â‹® semi_token: Some,
-- â‹® },
-- â‹®}
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics {
-+ lt_token: Some,
-+ params: [
-+ Lifetime(LifetimeDef {
-+ lifetime: Lifetime {
-+ ident: "a",
-+ },
-+ }),
-+ Lifetime(LifetimeDef {
-+ lifetime: Lifetime {
-+ ident: "b",
-+ },
-+ colon_token: Some,
-+ bounds: [
-+ Lifetime {
-+ ident: "a",
-+ },
-+ ],
-+ }),
-+ Type(TypeParam {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "may_dangle",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ ident: "T",
-+ colon_token: Some,
-+ bounds: [
-+ Lifetime(Lifetime {
-+ ident: "a",
-+ }),
-+ ],
-+ eq_token: Some,
-+ default: Some(Type::Tuple),
-+ }),
-+ ],
-+ gt_token: Some,
-+ where_clause: Some(WhereClause {
-+ predicates: [
-+ Type(PredicateType {
-+ bounded_ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "T",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ bounds: [
-+ Trait(TraitBound {
-+ modifier: None,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Debug",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }),
-+ ],
-+ }),
-+ ],
-+ }),
-+ },
-+ data: Data::Struct {
-+ fields: Unit,
-+ semi_token: Some,
-+ },
-+ }
- "###);
-
- let generics = input.generics;
-@@ -131,46 +126,46 @@ fn test_split_for_impl() {
- fn test_ty_param_bound() {
- let tokens = quote!('a);
- snapshot!(tokens as TypeParamBound, @r###"
-- â‹®Lifetime(Lifetime {
-- â‹® ident: "a",
-- â‹®})
-+ Lifetime(Lifetime {
-+ ident: "a",
-+ })
- "###);
-
- let tokens = quote!('_);
- snapshot!(tokens as TypeParamBound, @r###"
-- â‹®Lifetime(Lifetime {
-- â‹® ident: "_",
-- â‹®})
-+ Lifetime(Lifetime {
-+ ident: "_",
-+ })
- "###);
-
- let tokens = quote!(Debug);
- snapshot!(tokens as TypeParamBound, @r###"
-- â‹®Trait(TraitBound {
-- â‹® modifier: None,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Debug",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹®})
-+ Trait(TraitBound {
-+ modifier: None,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Debug",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ })
- "###);
-
- let tokens = quote!(?Sized);
- snapshot!(tokens as TypeParamBound, @r###"
-- â‹®Trait(TraitBound {
-- â‹® modifier: Maybe,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Sized",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹®})
-+ Trait(TraitBound {
-+ modifier: Maybe,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Sized",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ })
- "###);
- }
-
-@@ -187,76 +182,76 @@ fn test_fn_precedence_in_where_clause() {
- };
-
- snapshot!(input as ItemFn, @r###"
-- â‹®ItemFn {
-- â‹® vis: Inherited,
-- â‹® sig: Signature {
-- â‹® ident: "f",
-- â‹® generics: Generics {
-- â‹® lt_token: Some,
-- â‹® params: [
-- â‹® Type(TypeParam {
-- â‹® ident: "G",
-- â‹® }),
-- â‹® ],
-- â‹® gt_token: Some,
-- â‹® where_clause: Some(WhereClause {
-- â‹® predicates: [
-- â‹® Type(PredicateType {
-- â‹® bounded_ty: Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "G",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® bounds: [
-- â‹® Trait(TraitBound {
-- â‹® modifier: None,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "FnOnce",
-- â‹® arguments: PathArguments::Parenthesized {
-- â‹® output: Type(
-- â‹® Type::Path {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "i32",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® },
-- â‹® ),
-- â‹® },
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® }),
-- â‹® Trait(TraitBound {
-- â‹® modifier: None,
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "Send",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® },
-- â‹® output: Default,
-- â‹® },
-- â‹® block: Block,
-- â‹®}
-+ ItemFn {
-+ vis: Inherited,
-+ sig: Signature {
-+ ident: "f",
-+ generics: Generics {
-+ lt_token: Some,
-+ params: [
-+ Type(TypeParam {
-+ ident: "G",
-+ }),
-+ ],
-+ gt_token: Some,
-+ where_clause: Some(WhereClause {
-+ predicates: [
-+ Type(PredicateType {
-+ bounded_ty: Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "G",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ bounds: [
-+ Trait(TraitBound {
-+ modifier: None,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "FnOnce",
-+ arguments: PathArguments::Parenthesized {
-+ output: Type(
-+ Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "i32",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ ),
-+ },
-+ },
-+ ],
-+ },
-+ }),
-+ Trait(TraitBound {
-+ modifier: None,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "Send",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }),
-+ ],
-+ }),
-+ ],
-+ }),
-+ },
-+ output: Default,
-+ },
-+ block: Block,
-+ }
- "###);
-
- let where_clause = input.sig.generics.where_clause.as_ref().unwrap();
-@@ -270,7 +265,7 @@ fn test_fn_precedence_in_where_clause() {
- assert_eq!(predicate.bounds.len(), 2, "{:#?}", predicate.bounds);
-
- let first_bound = &predicate.bounds[0];
-- assert_eq!(quote!(#first_bound).to_string(), "FnOnce ( ) -> i32");
-+ assert_eq!(quote!(#first_bound).to_string(), "FnOnce () -> i32");
-
- let second_bound = &predicate.bounds[1];
- assert_eq!(quote!(#second_bound).to_string(), "Send");
-diff --git a/third_party/rust/syn/tests/test_grouping.rs b/third_party/rust/syn/tests/test_grouping.rs
-index 1558a47b4b..a0fe716390 100644
---- mozilla-release/third_party/rust/syn/tests/test_grouping.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_grouping.rs
-@@ -1,8 +1,3 @@
--extern crate proc_macro2;
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -28,31 +23,31 @@ fn test_grouping() {
- TokenTree::Literal(Literal::i32_suffixed(4)),
- ]);
-
-- assert_eq!(tokens.to_string(), "1i32 + 2i32 + 3i32 * 4i32");
-+ assert_eq!(tokens.to_string(), "1i32 + 2i32 + 3i32 * 4i32");
-
- snapshot!(tokens as Expr, @r###"
-- â‹®Expr::Binary {
-- â‹® left: Expr::Lit {
-- â‹® lit: 1i32,
-- â‹® },
-- â‹® op: Add,
-- â‹® right: Expr::Binary {
-- â‹® left: Expr::Group {
-- â‹® expr: Expr::Binary {
-- â‹® left: Expr::Lit {
-- â‹® lit: 2i32,
-- â‹® },
-- â‹® op: Add,
-- â‹® right: Expr::Lit {
-- â‹® lit: 3i32,
-- â‹® },
-- â‹® },
-- â‹® },
-- â‹® op: Mul,
-- â‹® right: Expr::Lit {
-- â‹® lit: 4i32,
-- â‹® },
-- â‹® },
-- â‹®}
-+ Expr::Binary {
-+ left: Expr::Lit {
-+ lit: 1i32,
-+ },
-+ op: Add,
-+ right: Expr::Binary {
-+ left: Expr::Group {
-+ expr: Expr::Binary {
-+ left: Expr::Lit {
-+ lit: 2i32,
-+ },
-+ op: Add,
-+ right: Expr::Lit {
-+ lit: 3i32,
-+ },
-+ },
-+ },
-+ op: Mul,
-+ right: Expr::Lit {
-+ lit: 4i32,
-+ },
-+ },
-+ }
- "###);
- }
-diff --git a/third_party/rust/syn/tests/test_ident.rs b/third_party/rust/syn/tests/test_ident.rs
-index bec00a70c9..ee01bfcc9f 100644
---- mozilla-release/third_party/rust/syn/tests/test_ident.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_ident.rs
-@@ -1,8 +1,3 @@
--extern crate proc_macro2;
--extern crate syn;
--
--mod features;
--
- use proc_macro2::{Ident, Span, TokenStream};
- use std::str::FromStr;
- use syn::Result;
-diff --git a/third_party/rust/syn/tests/test_item.rs b/third_party/rust/syn/tests/test_item.rs
-new file mode 100644
-index 0000000000..74ac4baec6
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_item.rs
-@@ -0,0 +1,45 @@
-+#[macro_use]
-+mod macros;
-+
-+use proc_macro2::{Delimiter, Group, Ident, Span, TokenStream, TokenTree};
-+use quote::quote;
-+use std::iter::FromIterator;
-+use syn::Item;
-+
-+#[test]
-+fn test_macro_variable_attr() {
-+ // mimics the token stream corresponding to `$attr fn f() {}`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { #[test] })),
-+ TokenTree::Ident(Ident::new("fn", Span::call_site())),
-+ TokenTree::Ident(Ident::new("f", Span::call_site())),
-+ TokenTree::Group(Group::new(Delimiter::Parenthesis, TokenStream::new())),
-+ TokenTree::Group(Group::new(Delimiter::Brace, TokenStream::new())),
-+ ]);
-+
-+ snapshot!(tokens as Item, @r###"
-+ Item::Fn {
-+ attrs: [
-+ Attribute {
-+ style: Outer,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "test",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(``),
-+ },
-+ ],
-+ vis: Inherited,
-+ sig: Signature {
-+ ident: "f",
-+ generics: Generics,
-+ output: Default,
-+ },
-+ block: Block,
-+ }
-+ "###);
-+}
-diff --git a/third_party/rust/syn/tests/test_iterators.rs b/third_party/rust/syn/tests/test_iterators.rs
-index 1cf7157e6f..2c8359c157 100644
---- mozilla-release/third_party/rust/syn/tests/test_iterators.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_iterators.rs
-@@ -1,10 +1,5 @@
- use syn::punctuated::{Pair, Punctuated};
--
--extern crate quote;
--#[macro_use]
--extern crate syn;
--
--mod features;
-+use syn::Token;
-
- #[macro_use]
- mod macros;
-diff --git a/third_party/rust/syn/tests/test_lit.rs b/third_party/rust/syn/tests/test_lit.rs
-index 1e8f49d19b..e995f2287f 100644
---- mozilla-release/third_party/rust/syn/tests/test_lit.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_lit.rs
-@@ -1,13 +1,11 @@
--extern crate proc_macro2;
--extern crate quote;
--extern crate syn;
-+#[macro_use]
-+mod macros;
-
--mod features;
--
--use proc_macro2::{TokenStream, TokenTree};
-+use proc_macro2::{Delimiter, Group, Literal, Span, TokenStream, TokenTree};
- use quote::ToTokens;
-+use std::iter::FromIterator;
- use std::str::FromStr;
--use syn::Lit;
-+use syn::{Lit, LitFloat, LitInt};
-
- fn lit(s: &str) -> Lit {
- match TokenStream::from_str(s)
-@@ -50,6 +48,9 @@ fn strings() {
- "contains\nnewlinesescaped newlines",
- );
- test_string("r\"raw\nstring\\\nhere\"", "raw\nstring\\\nhere");
-+ test_string("\"...\"q", "...");
-+ test_string("r\"...\"q", "...");
-+ test_string("r##\"...\"##q", "...");
- }
-
- #[test]
-@@ -79,6 +80,9 @@ fn byte_strings() {
- b"contains\nnewlinesescaped newlines",
- );
- test_byte_string("br\"raw\nstring\\\nhere\"", b"raw\nstring\\\nhere");
-+ test_byte_string("b\"...\"q", b"...");
-+ test_byte_string("br\"...\"q", b"...");
-+ test_byte_string("br##\"...\"##q", b"...");
- }
-
- #[test]
-@@ -100,6 +104,7 @@ fn bytes() {
- test_byte("b'\\t'", b'\t');
- test_byte("b'\\''", b'\'');
- test_byte("b'\"'", b'"');
-+ test_byte("b'a'q", b'a');
- }
-
- #[test]
-@@ -125,6 +130,7 @@ fn chars() {
- test_char("'\\''", '\'');
- test_char("'\"'", '"');
- test_char("'\\u{1F415}'", '\u{1F415}');
-+ test_char("'a'q", 'a');
- }
-
- #[test]
-@@ -185,4 +191,59 @@ fn floats() {
- test_float("5.5e12", 5.5e12, "");
- test_float("1.0__3e-12", 1.03e-12, "");
- test_float("1.03e+12", 1.03e12, "");
-+ test_float("9e99e99", 9e99, "e99");
-+}
-+
-+#[test]
-+fn negative() {
-+ let span = Span::call_site();
-+ assert_eq!("-1", LitInt::new("-1", span).to_string());
-+ assert_eq!("-1i8", LitInt::new("-1i8", span).to_string());
-+ assert_eq!("-1i16", LitInt::new("-1i16", span).to_string());
-+ assert_eq!("-1i32", LitInt::new("-1i32", span).to_string());
-+ assert_eq!("-1i64", LitInt::new("-1i64", span).to_string());
-+ assert_eq!("-1.5", LitFloat::new("-1.5", span).to_string());
-+ assert_eq!("-1.5f32", LitFloat::new("-1.5f32", span).to_string());
-+ assert_eq!("-1.5f64", LitFloat::new("-1.5f64", span).to_string());
-+}
-+
-+#[test]
-+fn suffix() {
-+ fn get_suffix(token: &str) -> String {
-+ let lit = syn::parse_str::<Lit>(token).unwrap();
-+ match lit {
-+ Lit::Str(lit) => lit.suffix().to_owned(),
-+ Lit::ByteStr(lit) => lit.suffix().to_owned(),
-+ Lit::Byte(lit) => lit.suffix().to_owned(),
-+ Lit::Char(lit) => lit.suffix().to_owned(),
-+ Lit::Int(lit) => lit.suffix().to_owned(),
-+ Lit::Float(lit) => lit.suffix().to_owned(),
-+ _ => unimplemented!(),
-+ }
-+ }
-+
-+ assert_eq!(get_suffix("\"\"s"), "s");
-+ assert_eq!(get_suffix("r\"\"r"), "r");
-+ assert_eq!(get_suffix("b\"\"b"), "b");
-+ assert_eq!(get_suffix("br\"\"br"), "br");
-+ assert_eq!(get_suffix("r#\"\"#r"), "r");
-+ assert_eq!(get_suffix("'c'c"), "c");
-+ assert_eq!(get_suffix("b'b'b"), "b");
-+ assert_eq!(get_suffix("1i32"), "i32");
-+ assert_eq!(get_suffix("1_i32"), "i32");
-+ assert_eq!(get_suffix("1.0f32"), "f32");
-+ assert_eq!(get_suffix("1.0_f32"), "f32");
-+}
-+
-+#[test]
-+fn test_deep_group_empty() {
-+ let tokens = TokenStream::from_iter(vec![TokenTree::Group(Group::new(
-+ Delimiter::None,
-+ TokenStream::from_iter(vec![TokenTree::Group(Group::new(
-+ Delimiter::None,
-+ TokenStream::from_iter(vec![TokenTree::Literal(Literal::string("hi"))]),
-+ ))]),
-+ ))]);
-+
-+ snapshot!(tokens as Lit, @r#""hi""# );
- }
-diff --git a/third_party/rust/syn/tests/test_meta.rs b/third_party/rust/syn/tests/test_meta.rs
-index 547472d6f4..d37dda948a 100644
---- mozilla-release/third_party/rust/syn/tests/test_meta.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_meta.rs
-@@ -1,7 +1,3 @@
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -12,14 +8,14 @@ fn test_parse_meta_item_word() {
- let input = "hello";
-
- snapshot!(input as Meta, @r###"
-- â‹®Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "hello",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹®})
-+ Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "hello",
-+ arguments: None,
-+ },
-+ ],
-+ })
- "###);
- }
-
-@@ -29,31 +25,31 @@ fn test_parse_meta_name_value() {
- let (inner, meta) = (input, input);
-
- snapshot!(inner as MetaNameValue, @r###"
-- â‹®MetaNameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ MetaNameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- snapshot!(meta as Meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- assert_eq!(meta, inner.into());
-@@ -65,31 +61,31 @@ fn test_parse_meta_name_value_with_keyword() {
- let (inner, meta) = (input, input);
-
- snapshot!(inner as MetaNameValue, @r###"
-- â‹®MetaNameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "static",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ MetaNameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "static",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- snapshot!(meta as Meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "static",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "static",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- assert_eq!(meta, inner.into());
-@@ -101,31 +97,31 @@ fn test_parse_meta_name_value_with_bool() {
- let (inner, meta) = (input, input);
-
- snapshot!(inner as MetaNameValue, @r###"
-- â‹®MetaNameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "true",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ MetaNameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "true",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- snapshot!(meta as Meta, @r###"
-- â‹®Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "true",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹®}
-+ Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "true",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }
- "###);
-
- assert_eq!(meta, inner.into());
-@@ -137,35 +133,35 @@ fn test_parse_meta_item_list_lit() {
- let (inner, meta) = (input, input);
-
- snapshot!(inner as MetaList, @r###"
-- â‹®MetaList {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Lit(5),
-- â‹® ],
-- â‹®}
-+ MetaList {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Lit(5),
-+ ],
-+ }
- "###);
-
- snapshot!(meta as Meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Lit(5),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Lit(5),
-+ ],
-+ }
- "###);
-
- assert_eq!(meta, inner.into());
-@@ -177,133 +173,133 @@ fn test_parse_meta_item_multiple() {
- let (inner, meta) = (input, input);
-
- snapshot!(inner as MetaList, @r###"
-- â‹®MetaList {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹® }),
-- â‹® Meta(Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "list",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 6,
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® ],
-- â‹®}
-+ MetaList {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }),
-+ Meta(Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "list",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name2",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 6,
-+ }),
-+ ],
-+ }),
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word2",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ ],
-+ }
- "###);
-
- snapshot!(meta as Meta, @r###"
-- â‹®Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "foo",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 5,
-- â‹® }),
-- â‹® Meta(Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "list",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 6,
-- â‹® }),
-- â‹® ],
-- â‹® }),
-- â‹® Meta(Path(Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "word2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® })),
-- â‹® ],
-- â‹®}
-+ Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "foo",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 5,
-+ }),
-+ Meta(Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "list",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name2",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 6,
-+ }),
-+ ],
-+ }),
-+ Meta(Path(Path {
-+ segments: [
-+ PathSegment {
-+ ident: "word2",
-+ arguments: None,
-+ },
-+ ],
-+ })),
-+ ],
-+ }
- "###);
-
- assert_eq!(meta, inner.into());
-@@ -316,28 +312,28 @@ fn test_parse_nested_meta() {
-
- let input = "list(name2 = 6)";
- snapshot!(input as NestedMeta, @r###"
-- â‹®Meta(Meta::List {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "list",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® nested: [
-- â‹® Meta(Meta::NameValue {
-- â‹® path: Path {
-- â‹® segments: [
-- â‹® PathSegment {
-- â‹® ident: "name2",
-- â‹® arguments: None,
-- â‹® },
-- â‹® ],
-- â‹® },
-- â‹® lit: 6,
-- â‹® }),
-- â‹® ],
-- â‹®})
-+ Meta(Meta::List {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "list",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ nested: [
-+ Meta(Meta::NameValue {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "name2",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ lit: 6,
-+ }),
-+ ],
-+ })
- "###);
- }
-diff --git a/third_party/rust/syn/tests/test_parse_buffer.rs b/third_party/rust/syn/tests/test_parse_buffer.rs
-index f09495187f..57a3c7c38c 100644
---- mozilla-release/third_party/rust/syn/tests/test_parse_buffer.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_parse_buffer.rs
-@@ -1,7 +1,7 @@
--#[macro_use]
--extern crate syn;
--
-+use proc_macro2::{Delimiter, Group, Punct, Spacing, TokenStream, TokenTree};
-+use std::iter::FromIterator;
- use syn::parse::{discouraged::Speculative, Parse, ParseStream, Parser, Result};
-+use syn::{parenthesized, Token};
-
- #[test]
- #[should_panic(expected = "Fork was not derived from the advancing parse stream")]
-@@ -53,3 +53,38 @@ fn smuggled_speculative_cursor_into_brackets() {
-
- syn::parse_str::<BreakRules>("()").unwrap();
- }
-+
-+#[test]
-+fn trailing_empty_none_group() {
-+ fn parse(input: ParseStream) -> Result<()> {
-+ input.parse::<Token![+]>()?;
-+
-+ let content;
-+ parenthesized!(content in input);
-+ content.parse::<Token![+]>()?;
-+
-+ Ok(())
-+ }
-+
-+ // `+ ( + <Ø Ø> ) <Ø <Ø Ø> Ø>`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Punct(Punct::new('+', Spacing::Alone)),
-+ TokenTree::Group(Group::new(
-+ Delimiter::Parenthesis,
-+ TokenStream::from_iter(vec![
-+ TokenTree::Punct(Punct::new('+', Spacing::Alone)),
-+ TokenTree::Group(Group::new(Delimiter::None, TokenStream::new())),
-+ ]),
-+ )),
-+ TokenTree::Group(Group::new(Delimiter::None, TokenStream::new())),
-+ TokenTree::Group(Group::new(
-+ Delimiter::None,
-+ TokenStream::from_iter(vec![TokenTree::Group(Group::new(
-+ Delimiter::None,
-+ TokenStream::new(),
-+ ))]),
-+ )),
-+ ]);
-+
-+ parse.parse2(tokens).unwrap();
-+}
-diff --git a/third_party/rust/syn/tests/test_parse_stream.rs b/third_party/rust/syn/tests/test_parse_stream.rs
-new file mode 100644
-index 0000000000..76bd065777
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_parse_stream.rs
-@@ -0,0 +1,12 @@
-+use syn::ext::IdentExt;
-+use syn::parse::ParseStream;
-+use syn::{Ident, Token};
-+
-+#[test]
-+fn test_peek() {
-+ let _ = |input: ParseStream| {
-+ let _ = input.peek(Ident);
-+ let _ = input.peek(Ident::peek_any);
-+ let _ = input.peek(Token![::]);
-+ };
-+}
-diff --git a/third_party/rust/syn/tests/test_pat.rs b/third_party/rust/syn/tests/test_pat.rs
-index 1343aa646f..73388dd79d 100644
---- mozilla-release/third_party/rust/syn/tests/test_pat.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_pat.rs
-@@ -1,10 +1,5 @@
--extern crate quote;
--extern crate syn;
--
--mod features;
--
- use quote::quote;
--use syn::Pat;
-+use syn::{Item, Pat, Stmt};
-
- #[test]
- fn test_pat_ident() {
-@@ -21,3 +16,23 @@ fn test_pat_path() {
- value => panic!("expected PatPath, got {:?}", value),
- }
- }
-+
-+#[test]
-+fn test_leading_vert() {
-+ // https://github.com/rust-lang/rust/blob/1.43.0/src/test/ui/or-patterns/remove-leading-vert.rs
-+
-+ syn::parse_str::<Item>("fn f() {}").unwrap();
-+ syn::parse_str::<Item>("fn fun1(| A: E) {}").unwrap_err();
-+ syn::parse_str::<Item>("fn fun2(|| A: E) {}").unwrap_err();
-+
-+ syn::parse_str::<Stmt>("let | () = ();").unwrap();
-+ syn::parse_str::<Stmt>("let (| A): E;").unwrap_err();
-+ syn::parse_str::<Stmt>("let (|| A): (E);").unwrap_err();
-+ syn::parse_str::<Stmt>("let (| A,): (E,);").unwrap_err();
-+ syn::parse_str::<Stmt>("let [| A]: [E; 1];").unwrap_err();
-+ syn::parse_str::<Stmt>("let [|| A]: [E; 1];").unwrap_err();
-+ syn::parse_str::<Stmt>("let TS(| A): TS;").unwrap_err();
-+ syn::parse_str::<Stmt>("let TS(|| A): TS;").unwrap_err();
-+ syn::parse_str::<Stmt>("let NS { f: | A }: NS;").unwrap_err();
-+ syn::parse_str::<Stmt>("let NS { f: || A }: NS;").unwrap_err();
-+}
-diff --git a/third_party/rust/syn/tests/test_path.rs b/third_party/rust/syn/tests/test_path.rs
-new file mode 100644
-index 0000000000..2ce12066f5
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_path.rs
-@@ -0,0 +1,52 @@
-+#[macro_use]
-+mod macros;
-+
-+use proc_macro2::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream, TokenTree};
-+use quote::quote;
-+use std::iter::FromIterator;
-+use syn::{Expr, Type};
-+
-+#[test]
-+fn parse_interpolated_leading_component() {
-+ // mimics the token stream corresponding to `$mod::rest`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { first })),
-+ TokenTree::Punct(Punct::new(':', Spacing::Joint)),
-+ TokenTree::Punct(Punct::new(':', Spacing::Alone)),
-+ TokenTree::Ident(Ident::new("rest", Span::call_site())),
-+ ]);
-+
-+ snapshot!(tokens.clone() as Expr, @r###"
-+ Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "first",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "rest",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }
-+ "###);
-+
-+ snapshot!(tokens as Type, @r###"
-+ Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "first",
-+ arguments: None,
-+ },
-+ PathSegment {
-+ ident: "rest",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }
-+ "###);
-+}
-diff --git a/third_party/rust/syn/tests/test_precedence.rs b/third_party/rust/syn/tests/test_precedence.rs
-index 53ee66e372..a586b3fe48 100644
---- mozilla-release/third_party/rust/syn/tests/test_precedence.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_precedence.rs
-@@ -4,35 +4,26 @@
-
- //! The tests in this module do the following:
- //!
--//! 1. Parse a given expression in both `syn` and `libsyntax`.
-+//! 1. Parse a given expression in both `syn` and `librustc`.
- //! 2. Fold over the expression adding brackets around each subexpression (with
--//! some complications - see the `syn_brackets` and `libsyntax_brackets`
-+//! some complications - see the `syn_brackets` and `librustc_brackets`
- //! methods).
- //! 3. Serialize the `syn` expression back into a string, and re-parse it with
--//! `libsyntax`.
-+//! `librustc`.
- //! 4. Respan all of the expressions, replacing the spans with the default
- //! spans.
- //! 5. Compare the expressions with one another, if they are not equal fail.
-
--extern crate quote;
--extern crate rayon;
--extern crate regex;
-+extern crate rustc_ast;
- extern crate rustc_data_structures;
--extern crate smallvec;
--extern crate syn;
--extern crate syntax;
--extern crate syntax_pos;
--extern crate walkdir;
--
--mod features;
-+extern crate rustc_span;
-
- use quote::quote;
- use rayon::iter::{IntoParallelIterator, ParallelIterator};
- use regex::Regex;
--use smallvec::smallvec;
--use syntax::ast;
--use syntax::ptr::P;
--use syntax_pos::edition::Edition;
-+use rustc_ast::ast;
-+use rustc_ast::ptr::P;
-+use rustc_span::edition::Edition;
- use walkdir::{DirEntry, WalkDir};
-
- use std::fs::File;
-@@ -73,7 +64,7 @@ fn test_simple_precedence() {
- continue;
- };
-
-- let pf = match test_expressions(vec![expr]) {
-+ let pf = match test_expressions(Edition::Edition2018, vec![expr]) {
- (1, 0) => "passed",
- (0, 1) => {
- failed += 1;
-@@ -91,8 +82,8 @@ fn test_simple_precedence() {
-
- /// Test expressions from rustc, like in `test_round_trip`.
- #[test]
--#[cfg_attr(target_os = "windows", ignore = "requires nix .sh")]
- fn test_rustc_precedence() {
-+ common::rayon_init();
- repo::clone_rust();
- let abort_after = common::abort_after();
- if abort_after == 0 {
-@@ -118,15 +109,6 @@ fn test_rustc_precedence() {
- return;
- }
-
-- // Our version of `libsyntax` can't parse this tests
-- if path
-- .to_str()
-- .unwrap()
-- .ends_with("optional_comma_in_match_arm.rs")
-- {
-- return;
-- }
--
- let mut file = File::open(path).unwrap();
- let mut content = String::new();
- file.read_to_string(&mut content).unwrap();
-@@ -134,8 +116,9 @@ fn test_rustc_precedence() {
-
- let (l_passed, l_failed) = match syn::parse_file(&content) {
- Ok(file) => {
-+ let edition = repo::edition(path).parse().unwrap();
- let exprs = collect_exprs(file);
-- test_expressions(exprs)
-+ test_expressions(edition, exprs)
- }
- Err(msg) => {
- errorf!("syn failed to parse\n{:?}\n", msg);
-@@ -169,36 +152,36 @@ fn test_rustc_precedence() {
- }
- }
-
--fn test_expressions(exprs: Vec<syn::Expr>) -> (usize, usize) {
-+fn test_expressions(edition: Edition, exprs: Vec<syn::Expr>) -> (usize, usize) {
- let mut passed = 0;
- let mut failed = 0;
-
-- syntax::with_globals(Edition::Edition2018, || {
-+ rustc_span::with_session_globals(edition, || {
- for expr in exprs {
- let raw = quote!(#expr).to_string();
-
-- let libsyntax_ast = if let Some(e) = libsyntax_parse_and_rewrite(&raw) {
-+ let librustc_ast = if let Some(e) = librustc_parse_and_rewrite(&raw) {
- e
- } else {
- failed += 1;
-- errorf!("\nFAIL - libsyntax failed to parse raw\n");
-+ errorf!("\nFAIL - librustc failed to parse raw\n");
- continue;
- };
-
- let syn_expr = syn_brackets(expr);
-- let syn_ast = if let Some(e) = parse::libsyntax_expr(&quote!(#syn_expr).to_string()) {
-+ let syn_ast = if let Some(e) = parse::librustc_expr(&quote!(#syn_expr).to_string()) {
- e
- } else {
- failed += 1;
-- errorf!("\nFAIL - libsyntax failed to parse bracketed\n");
-+ errorf!("\nFAIL - librustc failed to parse bracketed\n");
- continue;
- };
-
-- if SpanlessEq::eq(&syn_ast, &libsyntax_ast) {
-+ if SpanlessEq::eq(&syn_ast, &librustc_ast) {
- passed += 1;
- } else {
- failed += 1;
-- errorf!("\nFAIL\n{:?}\n!=\n{:?}\n", syn_ast, libsyntax_ast);
-+ errorf!("\nFAIL\n{:?}\n!=\n{:?}\n", syn_ast, librustc_ast);
- }
- }
- });
-@@ -206,54 +189,106 @@ fn test_expressions(exprs: Vec<syn::Expr>) -> (usize, usize) {
- (passed, failed)
- }
-
--fn libsyntax_parse_and_rewrite(input: &str) -> Option<P<ast::Expr>> {
-- parse::libsyntax_expr(input).and_then(libsyntax_brackets)
-+fn librustc_parse_and_rewrite(input: &str) -> Option<P<ast::Expr>> {
-+ parse::librustc_expr(input).and_then(librustc_brackets)
- }
-
- /// Wrap every expression which is not already wrapped in parens with parens, to
- /// reveal the precidence of the parsed expressions, and produce a stringified
- /// form of the resulting expression.
- ///
--/// This method operates on libsyntax objects.
--fn libsyntax_brackets(mut libsyntax_expr: P<ast::Expr>) -> Option<P<ast::Expr>> {
-+/// This method operates on librustc objects.
-+fn librustc_brackets(mut librustc_expr: P<ast::Expr>) -> Option<P<ast::Expr>> {
-+ use rustc_ast::ast::{
-+ Block, BorrowKind, Expr, ExprKind, Field, GenericArg, MacCall, Pat, Stmt, StmtKind, Ty,
-+ };
-+ use rustc_ast::mut_visit::{noop_visit_generic_arg, MutVisitor};
-+ use rustc_data_structures::map_in_place::MapInPlace;
- use rustc_data_structures::thin_vec::ThinVec;
-- use smallvec::SmallVec;
-+ use rustc_span::DUMMY_SP;
- use std::mem;
-- use syntax::ast::{Expr, ExprKind, Field, Mac, Pat, Stmt, StmtKind, Ty};
-- use syntax::mut_visit::{noop_visit_expr, MutVisitor};
-- use syntax_pos::DUMMY_SP;
-
- struct BracketsVisitor {
- failed: bool,
- };
-
-+ fn flat_map_field<T: MutVisitor>(mut f: Field, vis: &mut T) -> Vec<Field> {
-+ if f.is_shorthand {
-+ noop_visit_expr(&mut f.expr, vis);
-+ } else {
-+ vis.visit_expr(&mut f.expr);
-+ }
-+ vec![f]
-+ }
-+
-+ fn flat_map_stmt<T: MutVisitor>(stmt: Stmt, vis: &mut T) -> Vec<Stmt> {
-+ let kind = match stmt.kind {
-+ // Don't wrap toplevel expressions in statements.
-+ StmtKind::Expr(mut e) => {
-+ noop_visit_expr(&mut e, vis);
-+ StmtKind::Expr(e)
-+ }
-+ StmtKind::Semi(mut e) => {
-+ noop_visit_expr(&mut e, vis);
-+ StmtKind::Semi(e)
-+ }
-+ s => s,
-+ };
-+
-+ vec![Stmt { kind, ..stmt }]
-+ }
-+
-+ fn noop_visit_expr<T: MutVisitor>(e: &mut Expr, vis: &mut T) {
-+ use rustc_ast::mut_visit::{noop_visit_expr, visit_opt, visit_thin_attrs};
-+ match &mut e.kind {
-+ ExprKind::AddrOf(BorrowKind::Raw, ..) => {}
-+ ExprKind::Struct(path, fields, expr) => {
-+ vis.visit_path(path);
-+ fields.flat_map_in_place(|field| flat_map_field(field, vis));
-+ visit_opt(expr, |expr| vis.visit_expr(expr));
-+ vis.visit_id(&mut e.id);
-+ vis.visit_span(&mut e.span);
-+ visit_thin_attrs(&mut e.attrs, vis);
-+ }
-+ _ => noop_visit_expr(e, vis),
-+ }
-+ }
-+
- impl MutVisitor for BracketsVisitor {
- fn visit_expr(&mut self, e: &mut P<Expr>) {
- noop_visit_expr(e, self);
-- match e.node {
-+ match e.kind {
- ExprKind::If(..) | ExprKind::Block(..) | ExprKind::Let(..) => {}
- _ => {
- let inner = mem::replace(
- e,
- P(Expr {
- id: ast::DUMMY_NODE_ID,
-- node: ExprKind::Err,
-+ kind: ExprKind::Err,
- span: DUMMY_SP,
- attrs: ThinVec::new(),
-+ tokens: None,
- }),
- );
-- e.node = ExprKind::Paren(inner);
-+ e.kind = ExprKind::Paren(inner);
- }
- }
- }
-
-- fn flat_map_field(&mut self, mut f: Field) -> SmallVec<[Field; 1]> {
-- if f.is_shorthand {
-- noop_visit_expr(&mut f.expr, self);
-- } else {
-- self.visit_expr(&mut f.expr);
-+ fn visit_generic_arg(&mut self, arg: &mut GenericArg) {
-+ match arg {
-+ // Don't wrap const generic arg as that's invalid syntax.
-+ GenericArg::Const(arg) => noop_visit_expr(&mut arg.value, self),
-+ _ => noop_visit_generic_arg(arg, self),
- }
-- SmallVec::from([f])
-+ }
-+
-+ fn visit_block(&mut self, block: &mut P<Block>) {
-+ self.visit_id(&mut block.id);
-+ block
-+ .stmts
-+ .flat_map_in_place(|stmt| flat_map_stmt(stmt, self));
-+ self.visit_span(&mut block.span);
- }
-
- // We don't want to look at expressions that might appear in patterns or
-@@ -267,25 +302,8 @@ fn libsyntax_brackets(mut libsyntax_expr: P<ast::Expr>) -> Option<P<ast::Expr>>
- let _ = ty;
- }
-
-- fn flat_map_stmt(&mut self, stmt: Stmt) -> SmallVec<[Stmt; 1]> {
-- let node = match stmt.node {
-- // Don't wrap toplevel expressions in statements.
-- StmtKind::Expr(mut e) => {
-- noop_visit_expr(&mut e, self);
-- StmtKind::Expr(e)
-- }
-- StmtKind::Semi(mut e) => {
-- noop_visit_expr(&mut e, self);
-- StmtKind::Semi(e)
-- }
-- s => s,
-- };
--
-- smallvec![Stmt { node, ..stmt }]
-- }
--
-- fn visit_mac(&mut self, mac: &mut Mac) {
-- // By default when folding over macros, libsyntax panics. This is
-+ fn visit_mac(&mut self, mac: &mut MacCall) {
-+ // By default when folding over macros, librustc panics. This is
- // because it's usually not what you want, you want to run after
- // macro expansion. We do want to do that (syn doesn't do macro
- // expansion), so we implement visit_mac to just return the macro
-@@ -295,11 +313,11 @@ fn libsyntax_brackets(mut libsyntax_expr: P<ast::Expr>) -> Option<P<ast::Expr>>
- }
-
- let mut folder = BracketsVisitor { failed: false };
-- folder.visit_expr(&mut libsyntax_expr);
-+ folder.visit_expr(&mut librustc_expr);
- if folder.failed {
- None
- } else {
-- Some(libsyntax_expr)
-+ Some(librustc_expr)
- }
- }
-
-@@ -318,14 +336,33 @@ fn syn_brackets(syn_expr: syn::Expr) -> syn::Expr {
- Expr::If(..) | Expr::Unsafe(..) | Expr::Block(..) | Expr::Let(..) => {
- fold_expr(self, expr)
- }
-- node => Expr::Paren(ExprParen {
-+ _ => Expr::Paren(ExprParen {
- attrs: Vec::new(),
-- expr: Box::new(fold_expr(self, node)),
-+ expr: Box::new(fold_expr(self, expr)),
- paren_token: token::Paren::default(),
- }),
- }
- }
-
-+ fn fold_generic_argument(&mut self, arg: GenericArgument) -> GenericArgument {
-+ match arg {
-+ // Don't wrap const generic arg as that's invalid syntax.
-+ GenericArgument::Const(a) => GenericArgument::Const(fold_expr(self, a)),
-+ _ => fold_generic_argument(self, arg),
-+ }
-+ }
-+
-+ fn fold_generic_method_argument(
-+ &mut self,
-+ arg: GenericMethodArgument,
-+ ) -> GenericMethodArgument {
-+ match arg {
-+ // Don't wrap const generic arg as that's invalid syntax.
-+ GenericMethodArgument::Const(a) => GenericMethodArgument::Const(fold_expr(self, a)),
-+ _ => fold_generic_method_argument(self, arg),
-+ }
-+ }
-+
- fn fold_stmt(&mut self, stmt: Stmt) -> Stmt {
- match stmt {
- // Don't wrap toplevel expressions in statements.
-@@ -360,7 +397,10 @@ fn collect_exprs(file: syn::File) -> Vec<syn::Expr> {
- struct CollectExprs(Vec<Expr>);
- impl Fold for CollectExprs {
- fn fold_expr(&mut self, expr: Expr) -> Expr {
-- self.0.push(expr);
-+ match expr {
-+ Expr::Verbatim(tokens) if tokens.is_empty() => {}
-+ _ => self.0.push(expr),
-+ }
-
- Expr::Tuple(ExprTuple {
- attrs: vec![],
-diff --git a/third_party/rust/syn/tests/test_receiver.rs b/third_party/rust/syn/tests/test_receiver.rs
-new file mode 100644
-index 0000000000..923df96ba9
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_receiver.rs
-@@ -0,0 +1,127 @@
-+use syn::{parse_quote, FnArg, Receiver, TraitItemMethod};
-+
-+#[test]
-+fn test_by_value() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn by_value(self: Self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_by_mut_value() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn by_mut(mut self: Self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_by_ref() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn by_ref(self: &Self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_by_box() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn by_box(self: Box<Self>);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_by_pin() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn by_pin(self: Pin<Self>);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_explicit_type() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn explicit_type(self: Pin<MyType>);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Typed(_)) => (),
-+ value => panic!("expected FnArg::Typed, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_value_shorthand() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn value_shorthand(self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Receiver(Receiver {
-+ reference: None,
-+ mutability: None,
-+ ..
-+ })) => (),
-+ value => panic!("expected FnArg::Receiver without ref/mut, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_mut_value_shorthand() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn mut_value_shorthand(mut self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Receiver(Receiver {
-+ reference: None,
-+ mutability: Some(_),
-+ ..
-+ })) => (),
-+ value => panic!("expected FnArg::Receiver with mut, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_ref_shorthand() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn ref_shorthand(&self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Receiver(Receiver {
-+ reference: Some(_),
-+ mutability: None,
-+ ..
-+ })) => (),
-+ value => panic!("expected FnArg::Receiver with ref, got {:?}", value),
-+ }
-+}
-+
-+#[test]
-+fn test_ref_mut_shorthand() {
-+ let TraitItemMethod { sig, .. } = parse_quote! {
-+ fn ref_mut_shorthand(&mut self);
-+ };
-+ match sig.receiver() {
-+ Some(FnArg::Receiver(Receiver {
-+ reference: Some(_),
-+ mutability: Some(_),
-+ ..
-+ })) => (),
-+ value => panic!("expected FnArg::Receiver with ref+mut, got {:?}", value),
-+ }
-+}
-diff --git a/third_party/rust/syn/tests/test_round_trip.rs b/third_party/rust/syn/tests/test_round_trip.rs
-index 2fc9cecd86..260dd0c3d9 100644
---- mozilla-release/third_party/rust/syn/tests/test_round_trip.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_round_trip.rs
-@@ -2,22 +2,20 @@
- #![recursion_limit = "1024"]
- #![feature(rustc_private)]
-
--extern crate quote;
--extern crate rayon;
--extern crate syn;
--extern crate syntax;
--extern crate syntax_pos;
--extern crate walkdir;
--
--mod features;
-+extern crate rustc_ast;
-+extern crate rustc_errors;
-+extern crate rustc_expand;
-+extern crate rustc_parse as parse;
-+extern crate rustc_session;
-+extern crate rustc_span;
-
- use quote::quote;
- use rayon::iter::{IntoParallelIterator, ParallelIterator};
--use syntax::ast;
--use syntax::parse::{self, PResult, ParseSess};
--use syntax::source_map::FilePathMapping;
--use syntax_pos::edition::Edition;
--use syntax_pos::FileName;
-+use rustc_ast::ast;
-+use rustc_errors::PResult;
-+use rustc_session::parse::ParseSess;
-+use rustc_span::source_map::FilePathMapping;
-+use rustc_span::FileName;
- use walkdir::{DirEntry, WalkDir};
-
- use std::fs::File;
-@@ -38,8 +36,8 @@ mod repo;
- use common::eq::SpanlessEq;
-
- #[test]
--#[cfg_attr(target_os = "windows", ignore = "requires nix .sh")]
- fn test_round_trip() {
-+ common::rayon_init();
- repo::clone_rust();
- let abort_after = common::abort_after();
- if abort_after == 0 {
-@@ -78,11 +76,12 @@ fn test_round_trip() {
- }
- };
- let back = quote!(#krate).to_string();
-+ let edition = repo::edition(path).parse().unwrap();
-
- let equal = panic::catch_unwind(|| {
-- syntax::with_globals(Edition::Edition2018, || {
-+ rustc_span::with_session_globals(edition, || {
- let sess = ParseSess::new(FilePathMapping::empty());
-- let before = match libsyntax_parse(content, &sess) {
-+ let before = match librustc_parse(content, &sess) {
- Ok(before) => before,
- Err(mut diagnostic) => {
- diagnostic.cancel();
-@@ -93,7 +92,7 @@ fn test_round_trip() {
- errorf!("=== {}: ignore\n", path.display());
- } else {
- errorf!(
-- "=== {}: ignore - libsyntax failed to parse original content: {}\n",
-+ "=== {}: ignore - librustc failed to parse original content: {}\n",
- path.display(),
- diagnostic.message()
- );
-@@ -101,10 +100,10 @@ fn test_round_trip() {
- return true;
- }
- };
-- let after = match libsyntax_parse(back, &sess) {
-+ let after = match librustc_parse(back, &sess) {
- Ok(after) => after,
- Err(mut diagnostic) => {
-- errorf!("=== {}: libsyntax failed to parse", path.display());
-+ errorf!("=== {}: librustc failed to parse", path.display());
- diagnostic.emit();
- return false;
- }
-@@ -130,7 +129,7 @@ fn test_round_trip() {
- })
- });
- match equal {
-- Err(_) => errorf!("=== {}: ignoring libsyntax panic\n", path.display()),
-+ Err(_) => errorf!("=== {}: ignoring librustc panic\n", path.display()),
- Ok(true) => {}
- Ok(false) => {
- let prev_failed = failed.fetch_add(1, Ordering::SeqCst);
-@@ -147,7 +146,7 @@ fn test_round_trip() {
- }
- }
-
--fn libsyntax_parse(content: String, sess: &ParseSess) -> PResult<ast::Crate> {
-+fn librustc_parse(content: String, sess: &ParseSess) -> PResult<ast::Crate> {
- let name = FileName::Custom("test_round_trip".to_string());
- parse::parse_crate_from_source_str(name, content, sess)
- }
-diff --git a/third_party/rust/syn/tests/test_shebang.rs b/third_party/rust/syn/tests/test_shebang.rs
-new file mode 100644
-index 0000000000..dc26b9aab3
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_shebang.rs
-@@ -0,0 +1,59 @@
-+#[macro_use]
-+mod macros;
-+
-+#[test]
-+fn test_basic() {
-+ let content = "#!/usr/bin/env rustx\nfn main() {}";
-+ let file = syn::parse_file(content).unwrap();
-+ snapshot!(file, @r###"
-+ File {
-+ shebang: Some("#!/usr/bin/env rustx"),
-+ items: [
-+ Item::Fn {
-+ vis: Inherited,
-+ sig: Signature {
-+ ident: "main",
-+ generics: Generics,
-+ output: Default,
-+ },
-+ block: Block,
-+ },
-+ ],
-+ }
-+ "###);
-+}
-+
-+#[test]
-+fn test_comment() {
-+ let content = "#!//am/i/a/comment\n[allow(dead_code)] fn main() {}";
-+ let file = syn::parse_file(content).unwrap();
-+ snapshot!(file, @r###"
-+ File {
-+ attrs: [
-+ Attribute {
-+ style: Inner,
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "allow",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ tokens: TokenStream(`(dead_code)`),
-+ },
-+ ],
-+ items: [
-+ Item::Fn {
-+ vis: Inherited,
-+ sig: Signature {
-+ ident: "main",
-+ generics: Generics,
-+ output: Default,
-+ },
-+ block: Block,
-+ },
-+ ],
-+ }
-+ "###);
-+}
-diff --git a/third_party/rust/syn/tests/test_should_parse.rs b/third_party/rust/syn/tests/test_should_parse.rs
-index aadf42e3af..180d859916 100644
---- mozilla-release/third_party/rust/syn/tests/test_should_parse.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_should_parse.rs
-@@ -1,7 +1,3 @@
--extern crate syn;
--
--mod features;
--
- macro_rules! should_parse {
- ($name:ident, { $($in:tt)* }) => {
- #[test]
-diff --git a/third_party/rust/syn/tests/test_size.rs b/third_party/rust/syn/tests/test_size.rs
-index 386d4df889..01e8401158 100644
---- mozilla-release/third_party/rust/syn/tests/test_size.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_size.rs
-@@ -1,7 +1,5 @@
- #![cfg(target_pointer_width = "64")]
-
--mod features;
--
- use std::mem;
- use syn::*;
-
-diff --git a/third_party/rust/syn/tests/test_stmt.rs b/third_party/rust/syn/tests/test_stmt.rs
-new file mode 100644
-index 0000000000..d68b47fd2f
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_stmt.rs
-@@ -0,0 +1,44 @@
-+#[macro_use]
-+mod macros;
-+
-+use syn::Stmt;
-+
-+#[test]
-+fn test_raw_operator() {
-+ let stmt = syn::parse_str::<Stmt>("let _ = &raw const x;").unwrap();
-+
-+ snapshot!(stmt, @r###"
-+ Local(Local {
-+ pat: Pat::Wild,
-+ init: Some(Verbatim(`& raw const x`)),
-+ })
-+ "###);
-+}
-+
-+#[test]
-+fn test_raw_variable() {
-+ let stmt = syn::parse_str::<Stmt>("let _ = &raw;").unwrap();
-+
-+ snapshot!(stmt, @r###"
-+ Local(Local {
-+ pat: Pat::Wild,
-+ init: Some(Expr::Reference {
-+ expr: Expr::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "raw",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ },
-+ }),
-+ })
-+ "###);
-+}
-+
-+#[test]
-+fn test_raw_invalid() {
-+ assert!(syn::parse_str::<Stmt>("let _ = &raw x;").is_err());
-+}
-diff --git a/third_party/rust/syn/tests/test_token_trees.rs b/third_party/rust/syn/tests/test_token_trees.rs
-index 70a9a72aab..5b00448af8 100644
---- mozilla-release/third_party/rust/syn/tests/test_token_trees.rs
-+++ mozilla-release/third_party/rust/syn/tests/test_token_trees.rs
-@@ -1,9 +1,3 @@
--extern crate proc_macro2;
--extern crate quote;
--extern crate syn;
--
--mod features;
--
- #[macro_use]
- mod macros;
-
-@@ -21,7 +15,11 @@ fn test_struct() {
- }
- ";
-
-- snapshot!(input as TokenStream, @"`# [ derive ( Debug , Clone ) ] pub struct Item { pub ident : Ident , pub attrs : Vec < Attribute >, }`");
-+ snapshot!(input as TokenStream, @r###"
-+ TokenStream(
-+ `# [derive (Debug , Clone)] pub struct Item { pub ident : Ident , pub attrs : Vec < Attribute >, }`,
-+ )
-+ "###);
- }
-
- #[test]
-diff --git a/third_party/rust/syn/tests/test_ty.rs b/third_party/rust/syn/tests/test_ty.rs
-new file mode 100644
-index 0000000000..9cbdcd6b99
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_ty.rs
-@@ -0,0 +1,53 @@
-+#[macro_use]
-+mod macros;
-+
-+use proc_macro2::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream, TokenTree};
-+use quote::quote;
-+use std::iter::FromIterator;
-+use syn::Type;
-+
-+#[test]
-+fn test_mut_self() {
-+ syn::parse_str::<Type>("fn(mut self)").unwrap();
-+ syn::parse_str::<Type>("fn(mut self: ())").unwrap();
-+ syn::parse_str::<Type>("fn(mut self: ...)").unwrap_err();
-+ syn::parse_str::<Type>("fn(mut self: mut self)").unwrap_err();
-+ syn::parse_str::<Type>("fn(mut self::T)").unwrap_err();
-+}
-+
-+#[test]
-+fn test_macro_variable_type() {
-+ // mimics the token stream corresponding to `$ty<T>`
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, quote! { ty })),
-+ TokenTree::Punct(Punct::new('<', Spacing::Alone)),
-+ TokenTree::Ident(Ident::new("T", Span::call_site())),
-+ TokenTree::Punct(Punct::new('>', Spacing::Alone)),
-+ ]);
-+
-+ snapshot!(tokens as Type, @r###"
-+ Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "ty",
-+ arguments: PathArguments::AngleBracketed {
-+ args: [
-+ Type(Type::Path {
-+ path: Path {
-+ segments: [
-+ PathSegment {
-+ ident: "T",
-+ arguments: None,
-+ },
-+ ],
-+ },
-+ }),
-+ ],
-+ },
-+ },
-+ ],
-+ },
-+ }
-+ "###);
-+}
-diff --git a/third_party/rust/syn/tests/test_visibility.rs b/third_party/rust/syn/tests/test_visibility.rs
-new file mode 100644
-index 0000000000..c3d0ac7a5b
---- /dev/null
-+++ mozilla-release/third_party/rust/syn/tests/test_visibility.rs
-@@ -0,0 +1,145 @@
-+#[macro_use]
-+mod macros;
-+
-+use proc_macro2::{Delimiter, Group, Ident, Punct, Spacing, Span, TokenStream, TokenTree};
-+use std::iter::FromIterator;
-+use syn::parse::{Parse, ParseStream};
-+use syn::{DeriveInput, Result, Visibility};
-+
-+#[derive(Debug)]
-+struct VisRest {
-+ vis: Visibility,
-+ rest: TokenStream,
-+}
-+
-+impl Parse for VisRest {
-+ fn parse(input: ParseStream) -> Result<Self> {
-+ Ok(VisRest {
-+ vis: input.parse()?,
-+ rest: input.parse()?,
-+ })
-+ }
-+}
-+
-+macro_rules! assert_vis_parse {
-+ ($input:expr, Ok($p:pat)) => {
-+ assert_vis_parse!($input, Ok($p) + "");
-+ };
-+
-+ ($input:expr, Ok($p:pat) + $rest:expr) => {
-+ let expected = $rest.parse::<TokenStream>().unwrap();
-+ let parse: VisRest = syn::parse_str($input).unwrap();
-+
-+ match parse.vis {
-+ $p => {}
-+ _ => panic!("Expected {}, got {:?}", stringify!($p), parse.vis),
-+ }
-+
-+ // NOTE: Round-trips through `to_string` to avoid potential whitespace
-+ // diffs.
-+ assert_eq!(parse.rest.to_string(), expected.to_string());
-+ };
-+
-+ ($input:expr, Err) => {
-+ syn::parse2::<VisRest>($input.parse().unwrap()).unwrap_err();
-+ };
-+}
-+
-+#[test]
-+fn test_pub() {
-+ assert_vis_parse!("pub", Ok(Visibility::Public(_)));
-+}
-+
-+#[test]
-+fn test_crate() {
-+ assert_vis_parse!("crate", Ok(Visibility::Crate(_)));
-+}
-+
-+#[test]
-+fn test_inherited() {
-+ assert_vis_parse!("", Ok(Visibility::Inherited));
-+}
-+
-+#[test]
-+fn test_in() {
-+ assert_vis_parse!("pub(in foo::bar)", Ok(Visibility::Restricted(_)));
-+}
-+
-+#[test]
-+fn test_pub_crate() {
-+ assert_vis_parse!("pub(crate)", Ok(Visibility::Restricted(_)));
-+}
-+
-+#[test]
-+fn test_pub_self() {
-+ assert_vis_parse!("pub(self)", Ok(Visibility::Restricted(_)));
-+}
-+
-+#[test]
-+fn test_pub_super() {
-+ assert_vis_parse!("pub(super)", Ok(Visibility::Restricted(_)));
-+}
-+
-+#[test]
-+fn test_missing_in() {
-+ assert_vis_parse!("pub(foo::bar)", Ok(Visibility::Public(_)) + "(foo::bar)");
-+}
-+
-+#[test]
-+fn test_missing_in_path() {
-+ assert_vis_parse!("pub(in)", Err);
-+}
-+
-+#[test]
-+fn test_crate_path() {
-+ assert_vis_parse!("pub(crate::A, crate::B)", Ok(Visibility::Public(_)) + "(crate::A, crate::B)");
-+}
-+
-+#[test]
-+fn test_junk_after_in() {
-+ assert_vis_parse!("pub(in some::path @@garbage)", Err);
-+}
-+
-+#[test]
-+fn test_empty_group_vis() {
-+ // mimics `struct S { $vis $field: () }` where $vis is empty
-+ let tokens = TokenStream::from_iter(vec![
-+ TokenTree::Ident(Ident::new("struct", Span::call_site())),
-+ TokenTree::Ident(Ident::new("S", Span::call_site())),
-+ TokenTree::Group(Group::new(
-+ Delimiter::Brace,
-+ TokenStream::from_iter(vec![
-+ TokenTree::Group(Group::new(Delimiter::None, TokenStream::new())),
-+ TokenTree::Group(Group::new(
-+ Delimiter::None,
-+ TokenStream::from_iter(vec![TokenTree::Ident(Ident::new(
-+ "f",
-+ Span::call_site(),
-+ ))]),
-+ )),
-+ TokenTree::Punct(Punct::new(':', Spacing::Alone)),
-+ TokenTree::Group(Group::new(Delimiter::Parenthesis, TokenStream::new())),
-+ ]),
-+ )),
-+ ]);
-+
-+ snapshot!(tokens as DeriveInput, @r###"
-+ DeriveInput {
-+ vis: Inherited,
-+ ident: "S",
-+ generics: Generics,
-+ data: Data::Struct {
-+ fields: Fields::Named {
-+ named: [
-+ Field {
-+ vis: Inherited,
-+ ident: Some("f"),
-+ colon_token: Some,
-+ ty: Type::Tuple,
-+ },
-+ ],
-+ },
-+ },
-+ }
-+ "###);
-+}
-diff --git a/third_party/rust/syn/tests/zzz_stable.rs b/third_party/rust/syn/tests/zzz_stable.rs
-index a81b3df4d0..a1a670d9ed 100644
---- mozilla-release/third_party/rust/syn/tests/zzz_stable.rs
-+++ mozilla-release/third_party/rust/syn/tests/zzz_stable.rs
-@@ -1,7 +1,5 @@
- #![cfg(syn_disable_nightly_tests)]
-
--extern crate termcolor;
--
- use std::io::{self, Write};
- use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
-
-@@ -10,7 +8,7 @@ const MSG: &str = "\
- ‖ WARNING:
- ‖ This is not a nightly compiler so not all tests were able to
- ‖ run. Syn includes tests that compare Syn's parser against the
--‖ compiler's parser, which requires access to unstable libsyntax
-+‖ compiler's parser, which requires access to unstable librustc
- ‖ data structures and a nightly compiler.
- ‖
- ";
---
-2.28.0
-
diff --git a/www/cliqz/files/patch-bug1667736 b/www/cliqz/files/patch-bug1667736
deleted file mode 100644
index c620b437c0ad..000000000000
--- a/www/cliqz/files/patch-bug1667736
+++ /dev/null
@@ -1,106 +0,0 @@
-2 errors:
-error[E0432]: unresolved import `crate::arch::x86_64::_mm_movemask_pi8`
-https://github.com/rust-lang/packed_simd/pull/290
-
-unresolved import `crate::arch::x86_64::__m64`
-https://github.com/rust-lang/packed_simd/pull/292/commits/57d96e45916066fa9b5cdf2bc695e190207e78af
-
-From 950903a66950eaff745b0a029f2051d305df1c22 Mon Sep 17 00:00:00 2001
-From: Justus K <justus.k@protonmail.com>
-Date: Tue, 22 Sep 2020 15:36:03 +0200
-Subject: [PATCH] Remove `x86_m8x8_sse_impl` macro
-
----
- src/codegen/reductions/mask/x86/sse.rs | 32 --------------------------
- 1 file changed, 32 deletions(-)
-
-diff --git a/src/codegen/reductions/mask/x86/sse.rs b/src/codegen/reductions/mask/x86/sse.rs
-index 7482f943..eb1ef7fa 100644
---- mozilla-release/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs
-+++ mozilla-release/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs
-@@ -34,35 +34,3 @@ macro_rules! x86_m32x4_sse_impl {
- }
- };
- }
--
--macro_rules! x86_m8x8_sse_impl {
-- ($id:ident) => {
-- impl All for $id {
-- #[inline]
-- #[target_feature(enable = "sse")]
-- unsafe fn all(self) -> bool {
-- #[cfg(target_arch = "x86")]
-- use crate::arch::x86::_mm_movemask_pi8;
-- #[cfg(target_arch = "x86_64")]
-- use crate::arch::x86_64::_mm_movemask_pi8;
-- // _mm_movemask_pi8(a) creates an 8bit mask containing the most
-- // significant bit of each byte of `a`. If all bits are set,
-- // then all 8 lanes of the mask are true.
-- _mm_movemask_pi8(crate::mem::transmute(self))
-- == u8::max_value() as i32
-- }
-- }
-- impl Any for $id {
-- #[inline]
-- #[target_feature(enable = "sse")]
-- unsafe fn any(self) -> bool {
-- #[cfg(target_arch = "x86")]
-- use crate::arch::x86::_mm_movemask_pi8;
-- #[cfg(target_arch = "x86_64")]
-- use crate::arch::x86_64::_mm_movemask_pi8;
--
-- _mm_movemask_pi8(crate::mem::transmute(self)) != 0
-- }
-- }
-- };
--}
---- mozilla-release/third_party/rust/packed_simd/src/lib.rs.orig 2019-02-05 21:18:53.000000000 +0100
-+++ mozilla-release/third_party/rust/packed_simd/src/lib.rs 2020-11-18 15:06:43.736722000 +0100
-@@ -210,7 +210,6 @@
- core_intrinsics,
- stmt_expr_attributes,
- align_offset,
-- mmx_target_feature,
- crate_visibility_modifier,
- custom_inner_attributes
- )]
-diff --git a/src/codegen/reductions/mask/x86.rs b/src/codegen/reductions/mask/x86.rs
-index 2ae4ed81..bcfb1a6e 100644
---- mozilla-release/third_party/rust/packed_simd/src/codegen/reductions/mask/x86.rs
-+++ mozilla-release/third_party/rust/packed_simd/src/codegen/reductions/mask/x86.rs
-@@ -19,13 +19,7 @@ mod avx2;
- /// x86 64-bit m8x8 implementation
- macro_rules! x86_m8x8_impl {
- ($id:ident) => {
-- cfg_if! {
-- if #[cfg(all(target_arch = "x86_64", target_feature = "sse"))] {
-- x86_m8x8_sse_impl!($id);
-- } else {
-- fallback_impl!($id);
-- }
-- }
-+ fallback_impl!($id);
- };
- }
-
-From 57d96e45916066fa9b5cdf2bc695e190207e78af Mon Sep 17 00:00:00 2001
-From: Jubilee Young <workingjubilee@gmail.com>
-Date: Wed, 23 Sep 2020 12:23:29 -0700
-Subject: [PATCH] Remove __m64 type
-
----
- src/api/into_bits/arch_specific.rs | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/api/into_bits/arch_specific.rs b/src/api/into_bits/arch_specific.rs
-index 6cc2fa37..7b560107 100644
---- mozilla-release/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs
-+++ mozilla-release/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs
-@@ -84,7 +84,6 @@ macro_rules! impl_arch {
- // FIXME: 64-bit single element types
- // FIXME: arm/aarch float16x4_t missing
- impl_arch!(
-- [x86["x86"]: __m64], [x86_64["x86_64"]: __m64],
- [arm["arm"]: int8x8_t, uint8x8_t, poly8x8_t, int16x4_t, uint16x4_t,
- poly16x4_t, int32x2_t, uint32x2_t, float32x2_t, int64x1_t,
- uint64x1_t],
diff --git a/www/cliqz/files/patch-cliqz__env.sh b/www/cliqz/files/patch-cliqz__env.sh
deleted file mode 100644
index 7b3c4f2c6d8c..000000000000
--- a/www/cliqz/files/patch-cliqz__env.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-Commented out the various wget(1) to prevent http traffic during build
-phase.
-
---- cliqz_env.sh.orig 2020-07-17 14:00:07 UTC
-+++ cliqz_env.sh
-@@ -109,9 +109,9 @@ export S3_BUCKET=repository.cliqz.com
- export S3_BUCKET_SERVICE=cliqz-browser-data
-
- # check CQZ_BUILD_ID and try to obtain, if not specified
--if [ -z $CQZ_BUILD_ID ]; then
-- export CQZ_BUILD_ID="`wget -qO- https://$S3_BUCKET/dist/$CQZ_RELEASE_CHANNEL/$CQZ_VERSION/lastbuildid`"
--fi
-+#if [ -z $CQZ_BUILD_ID ]; then
-+# export CQZ_BUILD_ID="`wget -qO- https://$S3_BUCKET/dist/$CQZ_RELEASE_CHANNEL/$CQZ_VERSION/lastbuildid`"
-+#fi
-
- if [ -z $CQZ_BUILD_ID ]; then
- echo "CQZ_BUILD_ID not specified and can not be obtain from "$S3_BUCKET
-@@ -134,7 +134,7 @@ OBJ_DIR=$MOZ_OBJDIR
- SRC_BASE=mozilla-release
-
- # automatic forget tab - start
--wget -O mozilla-release/browser/adult-domains.bin https://s3.amazonaws.com/cdn.cliqz.com/browser-f/APT/adult-domains.bin
-+#wget -O mozilla-release/browser/adult-domains.bin https://s3.amazonaws.com/cdn.cliqz.com/browser-f/APT/adult-domains.bin
- export CQZ_ADULT_DOMAINS_BF="adult-domains.bin"
- # automatic forget tab - end
-
diff --git a/www/cliqz/files/patch-mozilla-release_config_rules.mk b/www/cliqz/files/patch-mozilla-release_config_rules.mk
deleted file mode 100644
index 834205ca5b53..000000000000
--- a/www/cliqz/files/patch-mozilla-release_config_rules.mk
+++ /dev/null
@@ -1,34 +0,0 @@
---- mozilla-release/config/rules.mk.orig 2020-02-19 14:20:43 UTC
-+++ mozilla-release/config/rules.mk
-@@ -914,27 +914,27 @@ $(EXTENSIONS_PATH):
- CLIQZ_XPI_PATH = $(EXTENSIONS_PATH)/cliqz@cliqz.com.xpi
- $(CLIQZ_XPI_PATH): $(EXTENSIONS_PATH)
- echo CLIQZ_XPI_PATH in `pwd`
-- wget --output-document $(CLIQZ_XPI_PATH) $(CLIQZ_EXT_URL)
-+# wget --output-document $(CLIQZ_XPI_PATH) $(CLIQZ_EXT_URL)
-
- HTTPSE_XPI_PATH = $(EXTENSIONS_PATH)/https-everywhere@cliqz.com.xpi
- $(HTTPSE_XPI_PATH): $(EXTENSIONS_PATH)
- ifdef HTTPSE_EXT_URL
- echo HTTPSE_XPI_PATH in `pwd`
-- wget --output-document $(HTTPSE_XPI_PATH) $(HTTPSE_EXT_URL)
-+# wget --output-document $(HTTPSE_XPI_PATH) $(HTTPSE_EXT_URL)
- endif
-
- CONSENTRICK_XPI_PATH = $(EXTENSIONS_PATH)/gdprtool@cliqz.com.xpi
- $(CONSENTRICK_XPI_PATH): $(EXTENSIONS_PATH)
- ifdef CONSENTRICK_EXT_URL
- echo CONSENTRICK_XPI_PATH in `pwd`
-- wget --output-document $(CONSENTRICK_XPI_PATH) $(CONSENTRICK_EXT_URL)
-+# wget --output-document $(CONSENTRICK_XPI_PATH) $(CONSENTRICK_EXT_URL)
- endif
-
- DAT_XPI_PATH = $(EXTENSIONS_PATH)/dat@cliqz.com.xpi
- $(DAT_XPI_PATH): $(EXTENSIONS_PATH)
- ifdef DAT_EXT_URL
- echo DAT_XPI_PATH in `pwd`
-- wget --output-document $(DAT_XPI_PATH) $(DAT_EXT_URL)
-+# wget --output-document $(DAT_XPI_PATH) $(DAT_EXT_URL)
- endif
-
- CLIQZ_CFG = $(DIST_RESPATH)/cliqz.cfg
diff --git a/www/cliqz/files/patch-mozilla-release_gfx_skia_skia_src_core_SkCpu.cpp b/www/cliqz/files/patch-mozilla-release_gfx_skia_skia_src_core_SkCpu.cpp
deleted file mode 100644
index fc34ba26ca59..000000000000
--- a/www/cliqz/files/patch-mozilla-release_gfx_skia_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-Regressed by https://svnweb.freebsd.org/changeset/base/324815
-
-gfx/skia/skia/src/core/SkCpu.cpp:81:27: error: use of undeclared identifier 'getauxval'
- uint32_t hwcaps = getauxval(AT_HWCAP);
- ^
-
---- mozilla-release/gfx/skia/skia/src/core/SkCpu.cpp.orig 2020-01-21 09:54:20 UTC
-+++ mozilla-release/gfx/skia/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/www/cliqz/pkg-descr b/www/cliqz/pkg-descr
deleted file mode 100644
index 154c3bc0c55c..000000000000
--- a/www/cliqz/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Cliqz develops novel Internet browsers that incorporate proprietary
-features such as search and anti-tracking. Cliqz desktop browser is
-based on Mozilla Firefox.
-
-WWW: https://cliqz.com/en/desktop
diff --git a/www/cliqz/pkg-plist b/www/cliqz/pkg-plist
deleted file mode 100644
index d52351180cdb..000000000000
--- a/www/cliqz/pkg-plist
+++ /dev/null
@@ -1,45 +0,0 @@
-bin/cliqz
-lib/cliqz/application.ini
-lib/cliqz/browser/adult-domains.bin
-lib/cliqz/browser/chrome/icons/default/default128.png
-lib/cliqz/browser/chrome/icons/default/default16.png
-lib/cliqz/browser/chrome/icons/default/default32.png
-lib/cliqz/browser/chrome/icons/default/default48.png
-lib/cliqz/browser/chrome/icons/default/default64.png
-lib/cliqz/browser/features/cliqz@cliqz.com.xpi
-lib/cliqz/browser/features/gdprtool@cliqz.com.xpi
-lib/cliqz/browser/features/https-everywhere@cliqz.com.xpi
-lib/cliqz/browser/omni.ja
-lib/cliqz/cliqz
-lib/cliqz/cliqz-bin
-lib/cliqz/defaults/pref/channel-prefs.js
-lib/cliqz/dependentlibs.list
-lib/cliqz/fonts/TwemojiMozilla.ttf
-lib/cliqz/gmp-clearkey/0.1/libclearkey.so
-lib/cliqz/gmp-clearkey/0.1/manifest.json
-lib/cliqz/gtk2/libmozgtk.so
-lib/cliqz/libfreebl3.so
-lib/cliqz/liblgpllibs.so
-lib/cliqz/libmozavcodec.so
-lib/cliqz/libmozavutil.so
-lib/cliqz/libmozgtk.so
-lib/cliqz/libmozsqlite3.so
-%%WAYLAND%%lib/cliqz/libmozwayland.so
-lib/cliqz/libnspr4.so
-lib/cliqz/libnss3.so
-lib/cliqz/libnssckbi.so
-lib/cliqz/libnssutil3.so
-lib/cliqz/libplc4.so
-lib/cliqz/libplds4.so
-lib/cliqz/libsmime3.so
-lib/cliqz/libsoftokn3.so
-lib/cliqz/libssl3.so
-lib/cliqz/libxul.so
-lib/cliqz/omni.ja
-lib/cliqz/pingsender
-lib/cliqz/platform.ini
-lib/cliqz/plugin-container
-lib/cliqz/precomplete
-lib/cliqz/removed-files
-share/applications/cliqz.desktop
-share/pixmaps/cliqz.png
diff --git a/www/iridium/Makefile b/www/iridium/Makefile
deleted file mode 100644
index 1de2a2d34b49..000000000000
--- a/www/iridium/Makefile
+++ /dev/null
@@ -1,270 +0,0 @@
-# Created by: Carlos J. Puga Medina <cpm@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= iridium
-PORTVERSION= 2020.04.81
-PORTREVISION= 1
-CATEGORIES= www
-MASTER_SITES= https://downloads.iridiumbrowser.de/source/
-PKGNAMESUFFIX= -browser
-DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}
-
-MAINTAINER= chromium@FreeBSD.org
-COMMENT= Iridium browser
-
-LICENSE= BSD3CLAUSE LGPL21 MPL11
-LICENSE_COMB= multi
-
-BUILD_DEPENDS= gperf:devel/gperf \
- yasm:devel/yasm \
- ffmpeg>=3.2.2,1:multimedia/ffmpeg \
- bash:shells/bash \
- flock:sysutils/flock \
- node:www/node \
- ${LOCALBASE}/bin/ar:devel/binutils \
- ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
- ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \
- ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}
-
-LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
- libatspi.so:accessibility/at-spi2-core \
- libspeechd.so:accessibility/speech-dispatcher \
- libsnappy.so:archivers/snappy \
- libFLAC.so:audio/flac \
- libopus.so:audio/opus \
- libspeex.so:audio/speex \
- libdbus-1.so:devel/dbus \
- libdbus-glib-1.so:devel/dbus-glib \
- libicuuc.so:devel/icu \
- libjsoncpp.so:devel/jsoncpp \
- libpci.so:devel/libpci \
- libnspr4.so:devel/nspr \
- libre2.so:devel/re2 \
- libcairo.so:graphics/cairo \
- libdrm.so:graphics/libdrm \
- libexif.so:graphics/libexif \
- libpng.so:graphics/png \
- libwebp.so:graphics/webp \
- libavcodec.so:multimedia/ffmpeg \
- libopenh264.so:multimedia/openh264 \
- libfreetype.so:print/freetype2 \
- libharfbuzz.so:print/harfbuzz \
- libharfbuzz-icu.so:print/harfbuzz-icu \
- libgcrypt.so:security/libgcrypt \
- libsecret-1.so:security/libsecret \
- libnss3.so:security/nss \
- libexpat.so:textproc/expat2 \
- libfontconfig.so:x11-fonts/fontconfig
-
-RUN_DEPENDS= xdg-open:devel/xdg-utils \
- noto-basic>0:x11-fonts/noto-basic
-
-ONLY_FOR_ARCHS= amd64 i386
-
-USES= bison cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \
- ninja perl5 pkgconfig python:2.7,build shebangfix tar:xz xorg
-USE_GL= gbm gl
-USE_LDCONFIG= ${DATADIR}
-USE_PERL5= build
-USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \
- xorgproto xrandr xrender xscrnsaver xtst
-USE_GNOME= atk dconf glib20 gtk30 libxml2 libxslt
-MAKE_ARGS= -C out/${BUILDTYPE}
-BINARY_ALIAS= python=${PYTHON_CMD}
-DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
-ALL_TARGET= chrome
-INSTALLS_ICONS= yes
-
-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang
-
-# Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables.
-# Some parts don't have use_system_* flag, and can be turned on/off by using
-# replace_gn_files.py script, some parts just turned on/off for target host
-# OS "target_os == is_bsd", like libusb, libpci.
-GN_ARGS+= clang_use_chrome_plugins=false \
- enable_hangout_services_extension=false \
- 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}"
-# TODO: investigate building with these options:
-# use_system_minigbm
-GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
-
-SUB_FILES= iridium-browser.desktop iridium
-SUB_LIST+= COMMENT="${COMMENT}"
-
-OPTIONS_DEFINE= CODECS CUPS DEBUG KERBEROS
-CODECS_DESC= Compile and enable patented codecs like H.264
-OPTIONS_GROUP= AUDIO
-OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO
-
-OPTIONS_DEFAULT= ALSA CODECS CUPS KERBEROS
-OPTIONS_SUB= yes
-
-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \
- alsa-lib>=1.1.1_1:audio/alsa-lib
-ALSA_VARS= GN_ARGS+=use_alsa=true
-ALSA_VARS_OFF= GN_ARGS+=use_alsa=false
-
-CODECS_VARS= GN_ARGS+=ffmpeg_branding="Chrome" \
- GN_ARGS+=proprietary_codecs=true
-CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \
- GN_ARGS+=proprietary_codecs=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=Debug \
- GN_ARGS+=is_debug=true \
- GN_ARGS+=is_component_build=false \
- GN_ARGS+=symbol_level=1 \
- GN_BOOTSTRAP_FLAGS+=--debug \
- WANTSPACE="lots of free diskspace (~ 13GB)"
-DEBUG_VARS_OFF= BUILDTYPE=Release \
- GN_ARGS+=blink_symbol_level=0 \
- GN_ARGS+=is_debug=false \
- GN_ARGS+=is_official_build=true \
- GN_ARGS+=symbol_level=0 \
- WANTSPACE="a fair amount of free diskspace (~ 6.5GB)"
-
-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
-
-# With SNDIO=on we exclude audio_manager_linux from the build (see
-# media/audio/BUILD.gn) and use audio_manager_openbsd which does not
-# support falling back to ALSA. In theory it supports falling back to
-# PulseAudio, but this is untested.
-SNDIO_PREVENTS= ALSA PULSEAUDIO
-SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
-SNDIO_VARS= GN_ARGS+=use_sndio=true
-SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false
-
-# Make better javascript with java
-JAVA_BUILD= yes
-JAVA_VERSION= 1.8
-USE_JAVA= yes
-
-# Allow relocations against read-only segments (override lld default)
-LDFLAGS_i386= -Wl,-znotext
-
-# TODO: -isystem, would be just as ugly as this approach, but more reliably
-# build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set.
-MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
- CPLUS_INCLUDE_PATH=${LOCALBASE}/include
-
-pre-everything::
- @${ECHO_MSG}
- @${ECHO_MSG} "To build Iridium, you should have around 2GB of memory"
- @${ECHO_MSG} "and ${WANTSPACE}."
- @${ECHO_MSG}
-
-post-patch:
- @${REINPLACE_CMD} -e 's|@@PACKAGE@@|iridium|' \
- -e 's|@@MENUNAME@@|Iridium Web Browser|' \
- ${WRKSRC}/chrome/app/resources/manpage.1.in
-
-post-patch-SNDIO-on:
- @${MKDIR} ${WRKSRC}/media/audio/sndio ${WRKSRC}/media/audio/openbsd
- @${CP} ${FILESDIR}/sndio_output.* ${WRKSRC}/media/audio/sndio
- @${CP} ${FILESDIR}/sndio_input.* ${WRKSRC}/media/audio/sndio
- @${CP} ${FILESDIR}/audio_manager_openbsd.* ${WRKSRC}/media/audio/openbsd
-
-pre-configure:
- # We used to remove bundled libraries to be sure that iridium uses
- # system libraries and not shippen 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 libwebp libxml libxslt openh264 opus snappy yasm || ${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/${BUILDTYPE}/gn \
- gen --args='${GN_ARGS}' out/${BUILDTYPE}
-
- # 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
-
-do-install:
- @${MKDIR} ${STAGEDIR}${DATADIR}
- ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \
- ${STAGEDIR}${MANPREFIX}/man/man1/iridium.1
- ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png
-.for s in 22 24 48 64 128 256
- @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps
- ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \
- ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/iridium.png
-.endfor
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR}
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR}
-
-.for d in protoc mksnapshot
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR}
-.endfor
-.for d in icudtl.dat snapshot_blob.bin v8_context_snapshot.bin
- ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR}
-.endfor
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \
- ${STAGEDIR}${DATADIR}/iridium
- cd ${WRKSRC}/out/${BUILDTYPE} && \
- ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR}
- @${MKDIR} ${STAGEDIR}${DESKTOPDIR}
- ${INSTALL_DATA} ${WRKDIR}/iridium-browser.desktop \
- ${STAGEDIR}${DESKTOPDIR}
- ${INSTALL_SCRIPT} ${WRKDIR}/iridium ${STAGEDIR}${PREFIX}/bin
-
- # ANGLE, EGL, Vk
-.for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
-.endfor
-
- # SwiftShader
- @${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR}
-.for g in libEGL.so libGLESv2.so
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \
- ${STAGEDIR}${DATADIR}/swiftshader
-.endfor
-
-post-install-DEBUG-on:
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so \
- ${STAGEDIR}${DATADIR}
- ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \
- ${STAGEDIR}${DATADIR}
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \
- ${STAGEDIR}${DATADIR}
-
-.include <bsd.port.mk>
diff --git a/www/iridium/distinfo b/www/iridium/distinfo
deleted file mode 100644
index c3950662e4b2..000000000000
--- a/www/iridium/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1586612680
-SHA256 (iridium-browser-2020.04.81.tar.xz) = b9283170001db5f93d9edec61d1abfd2ad66918c266b2cf88cb448470811ab91
-SIZE (iridium-browser-2020.04.81.tar.xz) = 854266540
diff --git a/www/iridium/files/audio_manager_openbsd.cc b/www/iridium/files/audio_manager_openbsd.cc
deleted file mode 100644
index ee293b9d3791..000000000000
--- a/www/iridium/files/audio_manager_openbsd.cc
+++ /dev/null
@@ -1,177 +0,0 @@
-// 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.
-
-#include "base/metrics/histogram_macros.h"
-#include "base/memory/ptr_util.h"
-
-#include "media/audio/openbsd/audio_manager_openbsd.h"
-
-#include "media/audio/audio_device_description.h"
-#include "media/audio/audio_output_dispatcher.h"
-#if defined(USE_SNDIO)
-#include "media/audio/sndio/sndio_input.h"
-#include "media/audio/sndio/sndio_output.h"
-#else
-#include "media/audio/fake_audio_manager.h"
-#endif
-#include "media/base/limits.h"
-#include "media/base/media_switches.h"
-
-namespace media {
-
-enum OpenBSDAudioIO {
- kPulse,
- kSndio,
- kAudioIOMax = kSndio
-};
-
-#if defined(USE_SNDIO)
-// Maximum number of output streams that can be open simultaneously.
-static const int kMaxOutputStreams = 4;
-
-// Default sample rate for input and output streams.
-static const int kDefaultSampleRate = 48000;
-
-void AddDefaultDevice(AudioDeviceNames* device_names) {
- DCHECK(device_names->empty());
- device_names->push_front(AudioDeviceName::CreateDefault());
-}
-
-bool AudioManagerOpenBSD::HasAudioOutputDevices() {
- return true;
-}
-
-bool AudioManagerOpenBSD::HasAudioInputDevices() {
- return true;
-}
-
-void AudioManagerOpenBSD::GetAudioInputDeviceNames(
- AudioDeviceNames* device_names) {
- DCHECK(device_names->empty());
- AddDefaultDevice(device_names);
-}
-
-void AudioManagerOpenBSD::GetAudioOutputDeviceNames(
- AudioDeviceNames* device_names) {
- AddDefaultDevice(device_names);
-}
-
-#if defined(USE_SNDIO)
-const char* AudioManagerOpenBSD::GetName() {
- return "SNDIO";
-}
-#endif
-
-AudioParameters AudioManagerOpenBSD::GetInputStreamParameters(
- const std::string& device_id) {
- static const int kDefaultInputBufferSize = 1024;
-
- int user_buffer_size = GetUserBufferSize();
- int buffer_size = user_buffer_size ?
- user_buffer_size : kDefaultInputBufferSize;
-
- return AudioParameters(
- AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO,
- kDefaultSampleRate, buffer_size);
-}
-
-AudioManagerOpenBSD::AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory)
- : AudioManagerBase(std::move(audio_thread),
- audio_log_factory) {
- DLOG(WARNING) << "AudioManagerOpenBSD";
- SetMaxOutputStreamsAllowed(kMaxOutputStreams);
-}
-
-AudioManagerOpenBSD::~AudioManagerOpenBSD() {
- Shutdown();
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeLinearOutputStream(
- const AudioParameters& params,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
- return MakeOutputStream(params);
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeLowLatencyOutputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
- return MakeOutputStream(params);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeLinearInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
- return MakeInputStream(params);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeLowLatencyInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) {
- DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
- return MakeInputStream(params);
-}
-
-AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters(
- const std::string& output_device_id,
- const AudioParameters& input_params) {
- // TODO(tommi): Support |output_device_id|.
- DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!";
- static const int kDefaultOutputBufferSize = 2048;
-
- ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO;
- int sample_rate = kDefaultSampleRate;
- int buffer_size = kDefaultOutputBufferSize;
- if (input_params.IsValid()) {
- sample_rate = input_params.sample_rate();
- channel_layout = input_params.channel_layout();
- buffer_size = std::min(buffer_size, input_params.frames_per_buffer());
- }
-
- int user_buffer_size = GetUserBufferSize();
- if (user_buffer_size)
- buffer_size = user_buffer_size;
-
- return AudioParameters(
- AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
- sample_rate, buffer_size);
-}
-
-AudioInputStream* AudioManagerOpenBSD::MakeInputStream(
- const AudioParameters& params) {
- DLOG(WARNING) << "MakeInputStream";
- return new SndioAudioInputStream(this,
- AudioDeviceDescription::kDefaultDeviceId, params);
-}
-
-AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream(
- const AudioParameters& params) {
- DLOG(WARNING) << "MakeOutputStream";
- return new SndioAudioOutputStream(params, this);
-}
-#endif
-
-std::unique_ptr<media::AudioManager> CreateAudioManager(
- std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory) {
- DLOG(WARNING) << "CreateAudioManager";
-#if defined(USE_SNDIO)
- UMA_HISTOGRAM_ENUMERATION("Media.OpenBSDAudioIO", kSndio, kAudioIOMax + 1);
- return std::make_unique<AudioManagerOpenBSD>(std::move(audio_thread),
- audio_log_factory);
-#else
- return std::make_unique<FakeAudioManager>(std::move(audio_thread),
- audio_log_factory);
-#endif
-
-}
-
-} // namespace media
diff --git a/www/iridium/files/audio_manager_openbsd.h b/www/iridium/files/audio_manager_openbsd.h
deleted file mode 100644
index 8c99db966d65..000000000000
--- a/www/iridium/files/audio_manager_openbsd.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// 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.
-
-#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
-#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
-
-#include <set>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "base/threading/thread.h"
-#include "media/audio/audio_manager_base.h"
-
-namespace media {
-
-class MEDIA_EXPORT AudioManagerOpenBSD : public AudioManagerBase {
- public:
- AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread,
- AudioLogFactory* audio_log_factory);
- ~AudioManagerOpenBSD() override;
-
- // Implementation of AudioManager.
- bool HasAudioOutputDevices() override;
- bool HasAudioInputDevices() override;
- void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override;
- void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override;
- AudioParameters GetInputStreamParameters(
- const std::string& device_id) override;
- const char* GetName() override;
-
- // Implementation of AudioManagerBase.
- AudioOutputStream* MakeLinearOutputStream(
- const AudioParameters& params,
- const LogCallback& log_callback) override;
- AudioOutputStream* MakeLowLatencyOutputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
- AudioInputStream* MakeLinearInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
- AudioInputStream* MakeLowLatencyInputStream(
- const AudioParameters& params,
- const std::string& device_id,
- const LogCallback& log_callback) override;
-
- protected:
- AudioParameters GetPreferredOutputStreamParameters(
- const std::string& output_device_id,
- const AudioParameters& input_params) override;
-
- private:
- // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream.
- AudioOutputStream* MakeOutputStream(const AudioParameters& params);
- AudioInputStream* MakeInputStream(const AudioParameters& params);
-
- DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_
diff --git a/www/iridium/files/extra-patch-clang b/www/iridium/files/extra-patch-clang
deleted file mode 100644
index 887a416b5f2d..000000000000
--- a/www/iridium/files/extra-patch-clang
+++ /dev/null
@@ -1,40 +0,0 @@
---- base/strings/safe_sprintf_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/strings/safe_sprintf_unittest.cc
-@@ -730,6 +730,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) {
- }
-
- TEST(SafeSPrintfTest, EmitNULL) {
-+/* Avoid compiler error: http://pastebin.com/1edWUE84
- char buf[40];
- #if defined(__GNUC__)
- #pragma GCC diagnostic push
-@@ -741,6 +742,7 @@ TEST(SafeSPrintfTest, EmitNULL) {
- EXPECT_EQ("0x0", std::string(buf));
- EXPECT_EQ(6, SafeSPrintf(buf, "%s", NULL));
- EXPECT_EQ("<NULL>", std::string(buf));
-+*/
- #if defined(__GCC__)
- #pragma GCC diagnostic pop
- #endif
---- base/threading/thread_local_storage_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/threading/thread_local_storage_unittest.cc
-@@ -86,7 +86,7 @@ class ThreadLocalStorageRunner : public DelegateSimple
- void ThreadLocalStorageCleanup(void *value) {
- int *ptr = reinterpret_cast<int*>(value);
- // Destructors should never be called with a NULL.
-- ASSERT_NE(reinterpret_cast<int*>(NULL), ptr);
-+ ASSERT_NE(static_cast<int*>(NULL), ptr);
- if (*ptr == kFinalTlsValue)
- return; // We've been called enough times.
- ASSERT_LT(kFinalTlsValue, *ptr);
---- media/audio/audio_output_proxy_unittest.cc.orig 2019-03-11 22:00:59 UTC
-+++ media/audio/audio_output_proxy_unittest.cc
-@@ -410,7 +410,7 @@ class AudioOutputProxyTest : public testing::Test {
- // |stream| is closed at this point. Start() should reopen it again.
- EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _))
- .Times(2)
-- .WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL)));
-+ .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL)));
-
- EXPECT_CALL(callback_, OnError()).Times(2);
-
diff --git a/www/iridium/files/iridium-browser.desktop.in b/www/iridium/files/iridium-browser.desktop.in
deleted file mode 100644
index cb92990ad825..000000000000
--- a/www/iridium/files/iridium-browser.desktop.in
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Application
-Version=1.0
-Encoding=UTF-8
-Name=Iridium
-Comment=%%COMMENT%%
-Icon=iridium
-Exec=iridium %U
-Categories=Application;Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
-StartupNotify=true
diff --git a/www/iridium/files/iridium.in b/www/iridium/files/iridium.in
deleted file mode 100644
index 0237611bb622..000000000000
--- a/www/iridium/files/iridium.in
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-SYSCTL=kern.ipc.shm_allow_removed
-if [ "`/sbin/sysctl -n $SYSCTL`" = 0 ] ; then
- cat << EOMSG
-For correct operation, shared memory support has to be enabled
-in Iridium by performing the following command as root :
-
-sysctl $SYSCTL=1
-
-To preserve this setting across reboots, append the following
-to /etc/sysctl.conf :
-
-$SYSCTL=1
-EOMSG
- exit 1
-fi
-ulimit -c 0
-exec %%PREFIX%%/share/iridium/iridium ${1+"$@"}
diff --git a/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h
deleted file mode 100644
index a3130315b68e..000000000000
--- a/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2020-04-03 04:13:08 UTC
-+++ third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -16,7 +16,7 @@
- #if defined(OS_ANDROID)
- #include <sys/prctl.h>
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/resource.h>
-
- #include <algorithm>
diff --git a/www/iridium/files/patch-BUILD.gn b/www/iridium/files/patch-BUILD.gn
deleted file mode 100644
index 0af06e81260e..000000000000
--- a/www/iridium/files/patch-BUILD.gn
+++ /dev/null
@@ -1,95 +0,0 @@
---- BUILD.gn.orig 2020-03-16 18:40:27 UTC
-+++ BUILD.gn
-@@ -418,7 +418,7 @@ group("gn_all") {
- ]
- }
-
-- if (is_linux || is_android) {
-+ if ((is_linux && !is_bsd) || is_android) {
- deps += [
- "//third_party/breakpad:breakpad_unittests",
- "//third_party/breakpad:core-2-minidump",
-@@ -459,8 +459,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",
- ]
-
-@@ -515,10 +513,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",
-@@ -575,10 +569,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) {
-@@ -652,7 +642,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)" ]
- }
-
-@@ -794,7 +784,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_desktop_linux && use_ozone) {
- deps += [ "//chrome/browser/vr/testapp:vr_testapp" ]
-@@ -934,7 +923,6 @@ if (is_chromeos) {
- "//ppapi/examples/video_decode",
- "//sandbox/linux:chrome_sandbox",
- "//sandbox/linux:sandbox_linux_unittests",
-- "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
-
- # Blocked on https://github.com/catapult-project/catapult/issues/2297
- #"//third_party/catapult/telemetry:bitmaptools",
-@@ -1092,7 +1080,7 @@ if (!is_ios) {
- ]
- }
-
-- if (!is_win && !is_android) {
-+ if (!is_win && !is_android && !is_bsd) {
- data_deps +=
- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
- }
-@@ -1101,7 +1089,7 @@ if (!is_ios) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
- }
-
-@@ -1231,9 +1219,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/www/iridium/files/patch-apps_app__restore__service__browsertest.cc b/www/iridium/files/patch-apps_app__restore__service__browsertest.cc
deleted file mode 100644
index dc9a47b7323a..000000000000
--- a/www/iridium/files/patch-apps_app__restore__service__browsertest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- apps/app_restore_service_browsertest.cc.orig 2020-03-23 15:18:04 UTC
-+++ apps/app_restore_service_browsertest.cc
-@@ -147,7 +147,7 @@ IN_PROC_BROWSER_TEST_F(PlatformAppBrowserTest, FileAcc
- }
-
- // Flaky: crbug.com/269613
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- #define MAYBE_FileAccessIsRestored DISABLED_FileAccessIsRestored
- #else
- #define MAYBE_FileAccessIsRestored FileAccessIsRestored
diff --git a/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc
deleted file mode 100644
index 8f6bd623a3b3..000000000000
--- a/www/iridium/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 2019-06-04 18:55:14 UTC
-+++ apps/ui/views/app_window_frame_view.cc
-@@ -125,7 +125,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/www/iridium/files/patch-ash_display_mirror__window__controller.cc b/www/iridium/files/patch-ash_display_mirror__window__controller.cc
deleted file mode 100644
index d5bf99f6dba3..000000000000
--- a/www/iridium/files/patch-ash_display_mirror__window__controller.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- ash/display/mirror_window_controller.cc.orig 2020-03-16 18:40:27 UTC
-+++ ash/display/mirror_window_controller.cc
-@@ -276,7 +276,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/www/iridium/files/patch-base_BUILD.gn b/www/iridium/files/patch-base_BUILD.gn
deleted file mode 100644
index 30f1110ebaff..000000000000
--- a/www/iridium/files/patch-base_BUILD.gn
+++ /dev/null
@@ -1,98 +0,0 @@
---- base/BUILD.gn.orig 2020-03-16 18:40:27 UTC
-+++ base/BUILD.gn
-@@ -912,7 +912,7 @@ jumbo_component("base") {
- "timer/hi_res_timer_manager_posix.cc",
- ]
-
-- if (!is_nacl && !is_mac && !is_ios) {
-+ if (!is_nacl && !is_mac && !is_ios && !is_bsd) {
- sources += [
- "profiler/stack_copier_signal.cc",
- "profiler/stack_copier_signal.h",
-@@ -921,6 +921,12 @@ jumbo_component("base") {
- "profiler/thread_delegate_posix.h",
- ]
- }
-+
-+ if (is_bsd) {
-+ sources += [
-+ "profiler/stack_sampler_posix.cc",
-+ ]
-+ }
- }
-
- if (is_win) {
-@@ -1305,7 +1311,7 @@ jumbo_component("base") {
- # Needed for <atomic> if using newer C++ library than sysroot, except if
- # building inside the cros_sdk environment - use host_toolchain as a
- # more robust check for this.
-- if (!use_sysroot && (is_android || (is_linux && !is_chromecast)) &&
-+ if (!use_sysroot && (is_android || (is_linux && !is_chromecast) && !is_clang) &&
- host_toolchain != "//build/toolchain/cros:host") {
- libs += [ "atomic" ]
- }
-@@ -1331,7 +1337,7 @@ jumbo_component("base") {
- "allocator/allocator_shim_override_glibc_weak_symbols.h",
- ]
- deps += [ "//base/allocator:tcmalloc" ]
-- } else if (is_linux && use_allocator == "none") {
-+ } else if ((is_linux && !is_bsd) && use_allocator == "none") {
- sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
- } else if (is_android && use_allocator == "none") {
- sources += [
-@@ -1930,6 +1936,33 @@ jumbo_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 -= [
-@@ -2880,7 +2913,7 @@ test("base_unittests") {
- "posix/unix_domain_socket_unittest.cc",
- "task/thread_pool/task_tracker_posix_unittest.cc",
- ]
-- if (!is_nacl && !is_mac && !is_ios) {
-+ if (!is_nacl && !is_mac && !is_ios && !is_bsd) {
- sources += [ "profiler/stack_copier_signal_unittest.cc" ]
- }
- }
-@@ -3068,6 +3101,12 @@ test("base_unittests") {
-
- manifest = "//build/config/fuchsia/tests.cmx"
- }
-+
-+ if (is_bsd) {
-+ sources -= [
-+ "debug/proc_maps_linux_unittest.cc",
-+ ]
-+ }
-
- if (!is_fuchsia && !is_ios) {
- sources += [ "files/file_locking_unittest.cc" ]
diff --git a/www/iridium/files/patch-base_allocator_allocator__shim.cc b/www/iridium/files/patch-base_allocator_allocator__shim.cc
deleted file mode 100644
index 208a8d93617a..000000000000
--- a/www/iridium/files/patch-base_allocator_allocator__shim.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/allocator/allocator_shim.cc.orig 2019-10-21 19:06:18 UTC
-+++ base/allocator/allocator_shim.cc
-@@ -71,7 +71,7 @@ inline const base::allocator::AllocatorDispatch* GetCh
- // Unfortunately due to that bug NoBarrier_Load() is mistakenly fully
- // barriered on Linux+Clang, and that causes visible perf regressons.
- return reinterpret_cast<const base::allocator::AllocatorDispatch*>(
--#if defined(OS_LINUX) && defined(__clang__)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(__clang__)
- *static_cast<const volatile base::subtle::AtomicWord*>(&g_chain_head)
- #else
- base::subtle::NoBarrier_Load(&g_chain_head)
diff --git a/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
deleted file mode 100644
index c7b4ac21c804..000000000000
--- a/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc
+++ /dev/null
@@ -1,76 +0,0 @@
---- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig 2020-02-03 21:52:37 UTC
-+++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc
-@@ -6,18 +6,28 @@
- #include "base/compiler_specific.h"
-
- #include <dlfcn.h>
--#include <malloc.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <malloc_np.h>
-
- // This translation unit defines a default dispatch for the allocator shim which
- // routes allocations to libc functions.
--// The code here is strongly inspired from tcmalloc's libc_override_glibc.h.
-+// The code here is strongly inspired from tcmalloc's override_glibc.h.
-
- extern "C" {
--void* __libc_malloc(size_t size);
--void* __libc_calloc(size_t n, size_t size);
--void* __libc_realloc(void* address, size_t size);
--void* __libc_memalign(size_t alignment, size_t size);
--void __libc_free(void* ptr);
-+void* __malloc(size_t size);
-+void* __calloc(size_t n, size_t size);
-+void* __realloc(void* address, size_t len);
-+void* __memalign(size_t alignment, size_t size) {
-+ void *ret;
-+ if (__posix_memalign(&ret, alignment, size) != 0) {
-+ return nullptr;
-+ } else {
-+ return ret;
-+ }
-+}
-+int __posix_memalign(void **ptr, size_t alignment, size_t size);
-+void __free(void* ptr);
- } // extern "C"
-
- namespace {
-@@ -25,32 +35,32 @@ namespace {
- using base::allocator::AllocatorDispatch;
-
- void* GlibcMalloc(const AllocatorDispatch*, size_t size, void* context) {
-- return __libc_malloc(size);
-+ return __malloc(size);
- }
-
- void* GlibcCalloc(const AllocatorDispatch*,
- size_t n,
- size_t size,
- void* context) {
-- return __libc_calloc(n, size);
-+ return __calloc(n, size);
- }
-
- void* GlibcRealloc(const AllocatorDispatch*,
- void* address,
- size_t size,
- void* context) {
-- return __libc_realloc(address, size);
-+ return __realloc(address, size);
- }
-
- void* GlibcMemalign(const AllocatorDispatch*,
- size_t alignment,
- size_t size,
- void* context) {
-- return __libc_memalign(alignment, size);
-+ return __memalign(alignment, size);
- }
-
- void GlibcFree(const AllocatorDispatch*, void* address, void* context) {
-- __libc_free(address);
-+ __free(address);
- }
-
- NO_SANITIZE("cfi-icall")
diff --git a/www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h
deleted file mode 100644
index fc9a47bd3daf..000000000000
--- a/www/iridium/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 2019-03-11 22:00:51 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/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc b/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc
deleted file mode 100644
index 1f7664842a07..000000000000
--- a/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc
+++ /dev/null
@@ -1,45 +0,0 @@
---- base/allocator/allocator_shim_unittest.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/allocator/allocator_shim_unittest.cc
-@@ -348,7 +348,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(aligned_allocs_intercepted_by_size[61], 1u);
- #endif // !OS_WIN
-
--#if !defined(OS_WIN) && !defined(OS_MACOSX)
-+#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)
- void* memalign_ptr = memalign(128, 53);
- ASSERT_NE(nullptr, memalign_ptr);
- ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(memalign_ptr) % 128);
-@@ -361,7 +361,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) {
- ASSERT_GE(aligned_allocs_intercepted_by_alignment[kPageSize], 1u);
- // pvalloc rounds the size up to the next page.
- ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u);
--#endif // !OS_WIN && !OS_MACOSX
-+#endif // !OS_WIN && !OS_MACOSX && !OS_BSD
-
- char* realloc_ptr = static_cast<char*>(malloc(10));
- strcpy(realloc_ptr, "foobar");
-@@ -377,13 +377,13 @@ 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_MACOSX)
-+#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)
- free(memalign_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
-
- free(pvalloc_ptr);
- ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
--#endif // !OS_WIN && !OS_MACOSX
-+#endif // !OS_WIN && !OS_MACOSX && !OS_BSD
-
- #if !defined(OS_WIN)
- free(posix_memalign_ptr);
-@@ -550,7 +550,7 @@ static size_t GetAllocatedSize(void* ptr) {
- static size_t GetAllocatedSize(void* ptr) {
- return malloc_size(ptr);
- }
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- static size_t GetAllocatedSize(void* ptr) {
- return malloc_usable_size(ptr);
- }
diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h
deleted file mode 100644
index fbd28e22abe2..000000000000
--- a/www/iridium/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 2019-10-21 19:06:18 UTC
-+++ base/allocator/partition_allocator/page_allocator_internals_posix.h
-@@ -19,7 +19,7 @@
- #if defined(OS_ANDROID)
- #include <sys/prctl.h>
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_BSD) || defined(OS_LINUX)
- #include <sys/resource.h>
-
- #include <algorithm>
diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
deleted file mode 100644
index 12143fe54c50..000000000000
--- a/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2020-03-23 15:20:45 UTC
-+++ base/allocator/partition_allocator/partition_alloc_unittest.cc
-@@ -314,9 +314,13 @@ void FreeFullPage(PartitionPage* page) {
- }
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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, kSystemPageSize, &ret));
- return in_core == (ret & 1);
- }
diff --git a/www/iridium/files/patch-base_base__switches.cc b/www/iridium/files/patch-base_base__switches.cc
deleted file mode 100644
index 92ed9217882d..000000000000
--- a/www/iridium/files/patch-base_base__switches.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/base_switches.cc.orig 2019-10-21 19:06: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)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || 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
-@@ -138,7 +138,7 @@ const char kEnableCrashReporterForTesting[] =
- const char kEnableReachedCodeProfiler[] = "enable-reached-code-profiler";
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Controls whether or not retired instruction counts are surfaced for threads
- // in trace events on Linux.
- //
diff --git a/www/iridium/files/patch-base_base__switches.h b/www/iridium/files/patch-base_base__switches.h
deleted file mode 100644
index f2be6f05c697..000000000000
--- a/www/iridium/files/patch-base_base__switches.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/base_switches.h.orig 2019-10-21 19:06:18 UTC
-+++ base/base_switches.h
-@@ -38,7 +38,7 @@ extern const char kDisableHighResTimer[];
- extern const char kDisableUsbKeyboardDetect[];
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- extern const char kDisableDevShmUsage[];
- #endif
-
-@@ -51,7 +51,7 @@ extern const char kEnableReachedCodeProfiler[];
- extern const char kOrderfileMemoryOptimization[];
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- extern const char kEnableThreadInstructionCount[];
- #endif
-
diff --git a/www/iridium/files/patch-base_cpu.cc b/www/iridium/files/patch-base_cpu.cc
deleted file mode 100644
index 231561a3a542..000000000000
--- a/www/iridium/files/patch-base_cpu.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/cpu.cc.orig 2019-10-21 19:06:18 UTC
-+++ base/cpu.cc
-@@ -14,7 +14,7 @@
-
- #include "base/stl_util.h"
-
--#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))
- #include "base/files/file_util.h"
- #endif
-
-@@ -135,7 +135,7 @@ uint64_t xgetbv(uint32_t xcr) {
-
- #endif // ARCH_CPU_X86_FAMILY
-
--#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))
- std::string* CpuInfoBrand() {
- static std::string* brand = []() {
- // This function finds the value from /proc/cpuinfo under the key "model
-@@ -165,7 +165,7 @@ std::string* CpuInfoBrand() {
- return brand;
- }
- #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) ||
-- // defined(OS_LINUX))
-+ // defined(OS_LINUX) || defined(OS_BSD))
-
- } // namespace
-
-@@ -287,7 +287,7 @@ void CPU::Initialize() {
- }
- }
- #elif defined(ARCH_CPU_ARM_FAMILY)
--#if (defined(OS_ANDROID) || defined(OS_LINUX))
-+#if (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD))
- cpu_brand_ = *CpuInfoBrand();
- #elif defined(OS_WIN)
- // Windows makes high-resolution thread timing information available in
diff --git a/www/iridium/files/patch-base_debug_debugger__posix.cc b/www/iridium/files/patch-base_debug_debugger__posix.cc
deleted file mode 100644
index 62317b93a5a1..000000000000
--- a/www/iridium/files/patch-base_debug_debugger__posix.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- base/debug/debugger_posix.cc.orig 2019-09-09 21:55:05 UTC
-+++ base/debug/debugger_posix.cc
-@@ -90,7 +90,7 @@ bool BeingDebugged() {
- KERN_PROC,
- KERN_PROC_PID,
- getpid()
--#if defined(OS_OPENBSD)
-+#if defined(OS_BSD)
- , sizeof(struct kinfo_proc),
- 0
- #endif
-@@ -98,33 +98,35 @@ bool BeingDebugged() {
-
- // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and
- // binary interfaces may change.
-- struct kinfo_proc info;
-- size_t info_size = sizeof(info);
-+ struct kinfo_proc *info;
-+ size_t info_size;
-
--#if defined(OS_OPENBSD)
- if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0)
- return -1;
-
-+ info = (struct kinfo_proc *)malloc(info_size);
- mib[5] = (info_size / sizeof(struct kinfo_proc));
--#endif
-
-- int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0);
-+ int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0);
- DCHECK_EQ(sysctl_result, 0);
- if (sysctl_result != 0) {
- is_set = true;
- being_debugged = false;
-- return being_debugged;
-+ goto out;
- }
-
- // This process is being debugged if the P_TRACED flag is set.
- is_set = true;
- #if defined(OS_FREEBSD)
-- being_debugged = (info.ki_flag & P_TRACED) != 0;
-+ being_debugged = (info->ki_flag & P_TRACED) != 0;
- #elif defined(OS_BSD)
-- being_debugged = (info.p_flag & P_TRACED) != 0;
-+ being_debugged = (info->p_flag & P_TRACED) != 0;
- #else
-- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
-+ being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0;
- #endif
-+
-+out:
-+ free(info);
- return being_debugged;
- }
-
diff --git a/www/iridium/files/patch-base_debug_elf__reader.cc b/www/iridium/files/patch-base_debug_elf__reader.cc
deleted file mode 100644
index 8eca61e3c66e..000000000000
--- a/www/iridium/files/patch-base_debug_elf__reader.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- base/debug/elf_reader.cc.orig 2020-02-24 18:39:05 UTC
-+++ base/debug/elf_reader.cc
-@@ -35,7 +35,9 @@ using Nhdr = Elf64_Nhdr;
- using Word = Elf64_Word;
- #endif
-
-+#if !defined(OS_BSD)
- constexpr char kGnuNoteName[] = "GNU";
-+#endif
-
- // Returns a pointer to the header of the ELF binary mapped into memory,
- // or a null pointer if the header is invalid.
-@@ -98,6 +100,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
- bool found = false;
- while (current_section < section_end) {
- current_note = reinterpret_cast<const Nhdr*>(current_section);
-+#if !defined(OS_BSD)
- if (current_note->n_type == NT_GNU_BUILD_ID) {
- StringPiece note_name(current_section + sizeof(Nhdr),
- current_note->n_namesz);
-@@ -107,6 +110,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base,
- break;
- }
- }
-+#endif
-
- size_t section_size = bits::Align(current_note->n_namesz, 4) +
- bits::Align(current_note->n_descsz, 4) +
diff --git a/www/iridium/files/patch-base_debug_proc__maps__linux.cc b/www/iridium/files/patch-base_debug_proc__maps__linux.cc
deleted file mode 100644
index 21024cb210a8..000000000000
--- a/www/iridium/files/patch-base_debug_proc__maps__linux.cc
+++ /dev/null
@@ -1,141 +0,0 @@
---- base/debug/proc_maps_linux.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/debug/proc_maps_linux.cc
-@@ -12,7 +12,7 @@
- #include "base/strings/string_split.h"
- #include "build/build_config.h"
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_ANDROID)
- #include <inttypes.h>
- #endif
-
-@@ -28,6 +28,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) {
-@@ -43,15 +48,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();
-@@ -65,7 +71,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;
- }
-@@ -76,6 +82,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.
- //
-@@ -86,6 +93,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;
-@@ -114,10 +122,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:
- //
-@@ -133,6 +163,7 @@ bool ParseProcMaps(const std::string& input,
- DPLOG(WARNING) << "sscanf failed for line: " << line;
- return false;
- }
-+#endif
-
- region.permissions = 0;
-
-@@ -151,14 +182,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/www/iridium/files/patch-base_debug_stack__trace.cc b/www/iridium/files/patch-base_debug_stack__trace.cc
deleted file mode 100644
index 8d2156f365ff..000000000000
--- a/www/iridium/files/patch-base_debug_stack__trace.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/debug/stack_trace.cc.orig 2019-03-17 21:37:51 UTC
-+++ base/debug/stack_trace.cc
-@@ -14,7 +14,7 @@
-
- #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <pthread.h>
- #include "base/process/process_handle.h"
- #include "base/threading/platform_thread.h"
diff --git a/www/iridium/files/patch-base_debug_stack__trace.h b/www/iridium/files/patch-base_debug_stack__trace.h
deleted file mode 100644
index 6b4e63dd1e32..000000000000
--- a/www/iridium/files/patch-base_debug_stack__trace.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- base/debug/stack_trace.h.orig 2019-09-09 21:55:05 UTC
-+++ base/debug/stack_trace.h
-@@ -19,6 +19,7 @@
- #if !defined(OS_NACL)
- #include <signal.h>
- #endif
-+#include <sys/stdint.h>
- #include <unistd.h>
- #endif
-
diff --git a/www/iridium/files/patch-base_debug_stack__trace__posix.cc b/www/iridium/files/patch-base_debug_stack__trace__posix.cc
deleted file mode 100644
index f3b967c844e2..000000000000
--- a/www/iridium/files/patch-base_debug_stack__trace__posix.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- base/debug/stack_trace_posix.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/debug/stack_trace_posix.cc
-@@ -35,7 +35,7 @@
- #include <AvailabilityMacros.h>
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-base_debug_stack__trace__unittest.cc b/www/iridium/files/patch-base_debug_stack__trace__unittest.cc
deleted file mode 100644
index 933a8e8ce401..000000000000
--- a/www/iridium/files/patch-base_debug_stack__trace__unittest.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- base/debug/stack_trace_unittest.cc.orig 2020-03-23 14:01:09 UTC
-+++ base/debug/stack_trace_unittest.cc
-@@ -86,6 +86,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::Test::Run()".
-@@ -103,9 +104,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) {
-@@ -119,7 +121,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/www/iridium/files/patch-base_files_file__path__unittest.cc b/www/iridium/files/patch-base_files_file__path__unittest.cc
deleted file mode 100644
index 26521d022831..000000000000
--- a/www/iridium/files/patch-base_files_file__path__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/files/file_path_unittest.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/files/file_path_unittest.cc
-@@ -1149,7 +1149,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe)
- "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" },
- };
-
--#if !defined(SYSTEM_NATIVE_UTF8) && defined(OS_LINUX)
-+#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_BSD))
- ScopedLocale locale("en_US.UTF-8");
- #endif
-
diff --git a/www/iridium/files/patch-base_files_file__path__watcher.cc b/www/iridium/files/patch-base_files_file__path__watcher.cc
deleted file mode 100644
index 87abcb7fbda1..000000000000
--- a/www/iridium/files/patch-base_files_file__path__watcher.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- base/files/file_path_watcher.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/files/file_path_watcher.cc
-@@ -20,10 +20,10 @@ FilePathWatcher::~FilePathWatcher() {
- // static
- bool FilePathWatcher::RecursiveWatchAvailable() {
- #if (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_WIN) || \
-- defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX)
-+ (defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_ANDROID) || defined(OS_AIX)
- return true;
- #else
-- // FSEvents isn't available on iOS.
-+ // FSEvents isn't available on iOS and the kqueue watcher.
- return false;
- #endif
- }
diff --git a/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h b/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h
deleted file mode 100644
index d5712de7a389..000000000000
--- a/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- base/files/file_path_watcher_kqueue.h.orig 2019-03-11 22:00:51 UTC
-+++ base/files/file_path_watcher_kqueue.h
-@@ -5,6 +5,10 @@
- #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_
- #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_
-
-+#ifdef __FreeBSD__
-+#include <sys/stdint.h>
-+#include <sys/types.h>
-+#endif
- #include <sys/event.h>
-
- #include <memory>
diff --git a/www/iridium/files/patch-base_files_file__path__watcher__stub.cc b/www/iridium/files/patch-base_files_file__path__watcher__stub.cc
deleted file mode 100644
index fc76cd1b16b3..000000000000
--- a/www/iridium/files/patch-base_files_file__path__watcher__stub.cc
+++ /dev/null
@@ -1,53 +0,0 @@
---- base/files/file_path_watcher_stub.cc.orig 2020-03-16 18:39:41 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/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc b/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc
deleted file mode 100644
index 5e7e385e5e23..000000000000
--- a/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc
+++ /dev/null
@@ -1,41 +0,0 @@
---- base/files/file_path_watcher_unittest.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/files/file_path_watcher_unittest.cc
-@@ -435,7 +435,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
- VLOG(1) << "Waiting for file1 creation";
- ASSERT_TRUE(WaitForEvents());
-
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !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";
-@@ -808,7 +808,7 @@ enum Permission {
- Execute
- };
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) {
- struct stat stat_buf;
-
-@@ -837,9 +837,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi
- }
- return chmod(path.value().c_str(), stat_buf.st_mode) == 0;
- }
--#endif // defined(OS_MACOSX)
-+#endif // defined(OS_MACOSX) || defined(OS_BSD)
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // Linux implementation of FilePathWatcher doesn't catch attribute changes.
- // http://crbug.com/78043
- // Windows implementation of FilePathWatcher catches attribute changes that
-@@ -874,7 +874,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
- ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true));
- }
-
--#endif // OS_MACOSX
-+#endif // OS_MACOSX || OS_BSD
- } // namespace
-
- } // namespace base
diff --git a/www/iridium/files/patch-base_files_file__util.h b/www/iridium/files/patch-base_files_file__util.h
deleted file mode 100644
index 65171a867e06..000000000000
--- a/www/iridium/files/patch-base_files_file__util.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/files/file_util.h.orig 2020-03-16 18:39:41 UTC
-+++ base/files/file_util.h
-@@ -519,7 +519,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_AIX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-base_files_file__util__posix.cc b/www/iridium/files/patch-base_files_file__util__posix.cc
deleted file mode 100644
index 4342a618c454..000000000000
--- a/www/iridium/files/patch-base_files_file__util__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/files/file_util_posix.cc.orig 2020-02-03 21:52:37 UTC
-+++ base/files/file_util_posix.cc
-@@ -411,7 +411,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd,
- }
-
- bool CreateLocalNonBlockingPipe(int fds[2]) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
- #else
- int raw_fds[2];
diff --git a/www/iridium/files/patch-base_files_file__util__unittest.cc b/www/iridium/files/patch-base_files_file__util__unittest.cc
deleted file mode 100644
index 5ddff833acb1..000000000000
--- a/www/iridium/files/patch-base_files_file__util__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/files/file_util_unittest.cc.orig 2020-03-23 13:34:59 UTC
-+++ base/files/file_util_unittest.cc
-@@ -3434,7 +3434,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) {
- }
- #endif // defined(OS_WIN)
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) {
- FilePath file_path("/proc/cpuinfo");
- std::string data = "temp";
-@@ -3452,7 +3452,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste
-
- EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4));
- }
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
-
- TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) {
- std::string data(kLargeFileSize, 'c');
diff --git a/www/iridium/files/patch-base_files_scoped__file.cc b/www/iridium/files/patch-base_files_scoped__file.cc
deleted file mode 100644
index 84ba47ff6aeb..000000000000
--- a/www/iridium/files/patch-base_files_scoped__file.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/files/scoped_file.cc.orig 2019-07-29 18:17:43 UTC
-+++ 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)
- // 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/www/iridium/files/patch-base_i18n_icu__util.cc b/www/iridium/files/patch-base_i18n_icu__util.cc
deleted file mode 100644
index 34f2453a25de..000000000000
--- a/www/iridium/files/patch-base_i18n_icu__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/i18n/icu_util.cc.orig 2020-03-16 18:40:27 UTC
-+++ base/i18n/icu_util.cc
-@@ -46,7 +46,7 @@
- #endif
-
- #if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \
-- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST))
-+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- #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) && !BUILDFLAG(IS_CHROMECAST)
-+#elif (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD)
- // To respond to the timezone change properly, the default timezone
- // cache in ICU has to be populated on starting up.
- // See TimeZoneMonitorLinux::NotifyClientsFromImpl().
diff --git a/www/iridium/files/patch-base_linux__util.cc b/www/iridium/files/patch-base_linux__util.cc
deleted file mode 100644
index 216208c37181..000000000000
--- a/www/iridium/files/patch-base_linux__util.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/linux_util.cc.orig 2019-12-16 21:50:40 UTC
-+++ base/linux_util.cc
-@@ -144,6 +144,8 @@ char g_linux_distro[kDistroSize] =
- "CrOS";
- #elif defined(OS_ANDROID)
- "Android";
-+#elif defined(OS_BSD)
-+ "BSD";
- #else // if defined(OS_LINUX)
- "Unknown";
- #endif
-@@ -164,7 +166,7 @@ BASE_EXPORT std::string GetKeyValueFromOSReleaseFileFo
- }
-
- std::string GetLinuxDistro() {
--#if defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD)
- return g_linux_distro;
- #elif defined(OS_LINUX)
- LinuxDistroHelper* distro_state_singleton = LinuxDistroHelper::GetInstance();
diff --git a/www/iridium/files/patch-base_logging__unittest.cc b/www/iridium/files/patch-base_logging__unittest.cc
deleted file mode 100644
index 2e9496b55220..000000000000
--- a/www/iridium/files/patch-base_logging__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/logging_unittest.cc.orig 2019-12-16 21:51:21 UTC
-+++ base/logging_unittest.cc
-@@ -591,7 +591,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_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- crash_addr = reinterpret_cast<uintptr_t>(info->si_addr);
- #else // OS_POSIX && !OS_MACOSX
- ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr);
diff --git a/www/iridium/files/patch-base_memory_discardable__memory.cc b/www/iridium/files/patch-base_memory_discardable__memory.cc
deleted file mode 100644
index b50f404a2764..000000000000
--- a/www/iridium/files/patch-base_memory_discardable__memory.cc
+++ /dev/null
@@ -1,63 +0,0 @@
---- base/memory/discardable_memory.cc.orig 2020-02-07 10:23:12 UTC
-+++ base/memory/discardable_memory.cc
-@@ -23,7 +23,7 @@ const base::Feature kMadvFreeDiscardableMemory{
- "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT};
- #endif // defined(OS_POSIX)
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- const base::Feature kDiscardableMemoryBackingTrial{
- "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT};
-
-@@ -41,13 +41,13 @@ const base::FeatureParam<DiscardableMemoryTrialGroup>
- DiscardableMemoryTrialGroup::kEmulatedSharedMemory,
- &kDiscardableMemoryBackingParamOptions};
-
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- } // namespace features
-
- namespace {
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- DiscardableMemoryBacking GetBackingForFieldTrial() {
- DiscardableMemoryTrialGroup trial_group =
-@@ -61,11 +61,11 @@ DiscardableMemoryBacking GetBackingForFieldTrial() {
- }
- NOTREACHED();
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- } // namespace
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- // Probe capabilities of this device to determine whether we should participate
- // in the discardable memory backing trial.
-@@ -87,18 +87,18 @@ DiscardableMemoryTrialGroup GetDiscardableMemoryBackin
- DCHECK(DiscardableMemoryBackingFieldTrialIsEnabled());
- return features::kDiscardableMemoryBackingParam.Get();
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- DiscardableMemory::DiscardableMemory() = default;
-
- DiscardableMemory::~DiscardableMemory() = default;
-
- DiscardableMemoryBacking GetDiscardableMemoryBacking() {
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- if (DiscardableMemoryBackingFieldTrialIsEnabled()) {
- return GetBackingForFieldTrial();
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- if (ashmem_device_is_supported())
diff --git a/www/iridium/files/patch-base_memory_discardable__memory__internal.h b/www/iridium/files/patch-base_memory_discardable__memory__internal.h
deleted file mode 100644
index c8225e74d049..000000000000
--- a/www/iridium/files/patch-base_memory_discardable__memory__internal.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- base/memory/discardable_memory_internal.h.orig 2020-02-07 10:22:39 UTC
-+++ base/memory/discardable_memory_internal.h
-@@ -10,7 +10,7 @@
- #include "base/metrics/field_trial_params.h"
- #include "build/build_config.h"
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- namespace base {
-
-@@ -47,6 +47,6 @@ GetDiscardableMemoryBackingFieldTrialGroup();
-
- } // namespace base
-
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #endif // BASE_MEMORY_DISCARDABLE_MEMORY_INTERNAL_H_
diff --git a/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc
deleted file mode 100644
index 5368440e775b..000000000000
--- a/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/memory/madv_free_discardable_memory_posix.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/memory/madv_free_discardable_memory_posix.cc
-@@ -282,7 +282,7 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT
-
- bool MadvFreeDiscardableMemoryPosix::IsResident() const {
- DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_);
--#ifdef OS_MACOSX
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- std::vector<char> vec(allocated_pages_);
- #else
- std::vector<unsigned char> vec(allocated_pages_);
diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region.h b/www/iridium/files/patch-base_memory_platform__shared__memory__region.h
deleted file mode 100644
index 477b8029c4a6..000000000000
--- a/www/iridium/files/patch-base_memory_platform__shared__memory__region.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- base/memory/platform_shared_memory_region.h.orig 2020-02-03 21:52:37 UTC
-+++ base/memory/platform_shared_memory_region.h
-@@ -27,7 +27,7 @@
- #include "base/files/scoped_file.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- namespace content {
- class SandboxIPCHandler;
- }
-@@ -121,7 +121,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
- kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE
- };
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Structure to limit access to executable region creation.
- struct ExecutableRegion {
- private:
-@@ -266,7 +266,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion {
- CheckPlatformHandlePermissionsCorrespondToMode);
- static PlatformSharedMemoryRegion Create(Mode mode,
- size_t size
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- bool executable = false
- #endif
diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc
deleted file mode 100644
index c5f57c29c6bc..000000000000
--- a/www/iridium/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 2020-02-03 21:52:37 UTC
-+++ base/memory/platform_shared_memory_region_posix.cc
-@@ -75,7 +75,7 @@ FDPair ScopedFDPair::get() const {
- return {fd.get(), readonly_fd.get()};
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) {
- PlatformSharedMemoryRegion region =
-@@ -84,7 +84,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion:
- return region.PassPlatformHandle().fd;
- return ScopedFD();
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // static
- PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take(
-@@ -209,7 +209,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o
- // static
- PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode,
- size_t size
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- bool executable
- #endif
-@@ -240,7 +240,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion:
- // flag.
- FilePath directory;
- if (!GetShmemTempDir(
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- executable,
- #else
- false /* executable */,
diff --git a/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc b/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc
deleted file mode 100644
index b2525b4381ee..000000000000
--- a/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/memory/shared_memory_region_unittest.cc.orig 2020-03-23 16:31:23 UTC
-+++ base/memory/shared_memory_region_unittest.cc
-@@ -188,10 +188,13 @@ TYPED_TEST(SharedMemoryRegionTest, MapAtNotAlignedOffs
- std::tie(region, rw_mapping) = CreateMappedRegion<TypeParam>(kDataSize);
- ASSERT_TRUE(region.IsValid());
- ASSERT_TRUE(rw_mapping.IsValid());
-+#if !defined(OS_BSD)
-+ // On FreeBSD, mmap() does not require an aligned offset
- off_t offset = kDataSize / 2;
- typename TypeParam::MappingType mapping =
- region.MapAt(offset, kDataSize - offset);
- EXPECT_FALSE(mapping.IsValid());
-+#endif
- }
-
- TYPED_TEST(SharedMemoryRegionTest, MapZeroBytesFails) {
diff --git a/www/iridium/files/patch-base_native__library__posix.cc b/www/iridium/files/patch-base_native__library__posix.cc
deleted file mode 100644
index ba6a16756b10..000000000000
--- a/www/iridium/files/patch-base_native__library__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/native_library_posix.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/native_library_posix.cc
-@@ -29,7 +29,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP
- // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892,
- // and http://crbug.com/40794.
- int flags = RTLD_LAZY;
--#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND)
-+#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND) || defined(OS_BSD)
- // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires
- // further investigation, as it might vary across versions. Crash here to
- // warn developers that they're trying to rely on uncertain behavior.
diff --git a/www/iridium/files/patch-base_native__library__unittest.cc b/www/iridium/files/patch-base_native__library__unittest.cc
deleted file mode 100644
index f76c5f8fd986..000000000000
--- a/www/iridium/files/patch-base_native__library__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/native_library_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/native_library_unittest.cc
-@@ -120,7 +120,7 @@ TEST(NativeLibraryTest, LoadLibrary) {
- // Android dlopen() requires further investigation, as it might vary across
- // versions with respect to symbol resolution scope.
- // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255
--#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \
-+#if !defined(OS_ANDROID) && !defined(OS_BSD) && !defined(THREAD_SANITIZER) && \
- !defined(MEMORY_SANITIZER)
-
- // Verifies that the |prefer_own_symbols| option satisfies its guarantee that
diff --git a/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h b/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h
deleted file mode 100644
index c088ad9451d0..000000000000
--- a/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/numerics/safe_math_shared_impl.h.orig 2019-09-09 21:55:05 UTC
-+++ base/numerics/safe_math_shared_impl.h
-@@ -23,8 +23,7 @@
- // Where available use builtin math overflow support on Clang and GCC.
- #elif !defined(__native_client__) && \
- ((defined(__clang__) && \
-- ((__clang_major__ > 3) || \
-- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \
-+ (__clang_major__ > 6)) || \
- (defined(__GNUC__) && __GNUC__ >= 5))
- #include "base/numerics/safe_math_clang_gcc_impl.h"
- #define BASE_HAS_OPTIMIZED_SAFE_MATH (1)
diff --git a/www/iridium/files/patch-base_path__service__unittest.cc b/www/iridium/files/patch-base_path__service__unittest.cc
deleted file mode 100644
index 20ffac278abc..000000000000
--- a/www/iridium/files/patch-base_path__service__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/path_service_unittest.cc.orig 2020-03-23 15:23:42 UTC
-+++ base/path_service_unittest.cc
-@@ -36,7 +36,7 @@ bool ReturnsValidPath(int dir_type) {
- if (dir_type == DIR_CACHE)
- check_path_exists = false;
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop),
- // but it doesn't exist.
- if (dir_type == DIR_USER_DESKTOP)
diff --git a/www/iridium/files/patch-base_posix_can__lower__nice__to.cc b/www/iridium/files/patch-base_posix_can__lower__nice__to.cc
deleted file mode 100644
index 3b13c89d4813..000000000000
--- a/www/iridium/files/patch-base_posix_can__lower__nice__to.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/posix/can_lower_nice_to.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/posix/can_lower_nice_to.cc
-@@ -31,6 +31,9 @@ bool CanLowerNiceTo(int nice_value) {
- if (geteuid() == 0)
- return true;
-
-+#if defined(OS_BSD)
-+ return false;
-+#else
- // 2. Skip checking the CAP_SYS_NICE permission because it would require
- // libcap.so.
-
-@@ -54,6 +57,7 @@ bool CanLowerNiceTo(int nice_value) {
- // And lowering niceness to |nice_value| is allowed if it is greater than or
- // equal to the limit:
- return nice_value >= lowest_nice_allowed;
-+#endif
- }
-
- } // namespace internal
diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket.cc b/www/iridium/files/patch-base_posix_unix__domain__socket.cc
deleted file mode 100644
index 8820cb063006..000000000000
--- a/www/iridium/files/patch-base_posix_unix__domain__socket.cc
+++ /dev/null
@@ -1,49 +0,0 @@
---- base/posix/unix_domain_socket.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/posix/unix_domain_socket.cc
-@@ -5,7 +5,10 @@
- #include "base/posix/unix_domain_socket.h"
-
- #include <errno.h>
-+#include <sys/param.h>
- #include <sys/socket.h>
-+#include <sys/types.h>
-+#include <sys/ucred.h>
- #if !defined(OS_NACL_NONSFI)
- #include <sys/un.h>
- #endif
-@@ -28,6 +31,14 @@ namespace base {
-
- const size_t UnixDomainSocket::kMaxFileDescriptors = 16;
-
-+#ifndef SCM_CREDENTIALS
-+# define SCM_CREDENTIALS 0x9001
-+#endif
-+
-+#ifndef SO_PASSCRED
-+# define SO_PASSCRED 0x9002
-+#endif
-+
- #if !defined(OS_NACL_NONSFI)
- bool CreateSocketPair(ScopedFD* one, ScopedFD* two) {
- int raw_socks[2];
-@@ -150,7 +161,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- #if !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX)
- // The PNaCl toolchain for Non-SFI binary build and macOS do not support
- // ucred. macOS supports xucred, but this structure is insufficient.
-- + CMSG_SPACE(sizeof(struct ucred))
-+ + CMSG_SPACE(sizeof(struct cmsgcred))
- #endif // OS_NACL_NONSFI or OS_MACOSX
- ;
- char control_buffer[kControlBufferSize];
-@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd,
- // SCM_CREDENTIALS.
- if (cmsg->cmsg_level == SOL_SOCKET &&
- cmsg->cmsg_type == SCM_CREDENTIALS) {
-- DCHECK_EQ(payload_len, sizeof(struct ucred));
-+ DCHECK_EQ(payload_len, sizeof(struct cmsgcred));
- DCHECK_EQ(pid, -1);
-- pid = reinterpret_cast<struct ucred*>(CMSG_DATA(cmsg))->pid;
-+ pid = getpid();
- }
- #endif // !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX)
- }
diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc
deleted file mode 100644
index 0336334a6583..000000000000
--- a/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- base/posix/unix_domain_socket_unittest.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/posix/unix_domain_socket_unittest.cc
-@@ -8,6 +8,9 @@
- #include <stdint.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#if defined(OS_BSD)
-+#include <signal.h>
-+#endif
- #include <unistd.h>
-
- #include "base/bind.h"
diff --git a/www/iridium/files/patch-base_process_internal__linux.cc b/www/iridium/files/patch-base_process_internal__linux.cc
deleted file mode 100644
index abfff7cd44ce..000000000000
--- a/www/iridium/files/patch-base_process_internal__linux.cc
+++ /dev/null
@@ -1,97 +0,0 @@
---- base/process/internal_linux.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/process/internal_linux.cc
-@@ -29,7 +29,11 @@ namespace internal {
-
- const char kProcDir[] = "/proc";
-
-+#if defined(OS_BSD)
-+const char kStatFile[] = "status";
-+#else
- const char kStatFile[] = "stat";
-+#endif
-
- FilePath GetProcPidDir(pid_t pid) {
- return FilePath(kProcDir).Append(NumberToString(pid));
-@@ -64,6 +68,7 @@ bool ReadProcFile(const FilePath& file, std::string* b
- DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII();
- return false;
- }
-+
- return !buffer->empty();
- }
-
-@@ -79,6 +84,22 @@ bool ParseProcStats(const std::string& stats_data,
- if (stats_data.empty())
- return false;
-
-+#if defined(OS_BSD)
-+ proc_stats->clear();
-+
-+ std::vector<std::string> other_stats = SplitString(
-+ stats_data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
-+
-+ for (const auto& i : other_stats) {
-+ auto pos = i.find(',');
-+
-+ if (pos == std::string::npos) {
-+ proc_stats->push_back(i);
-+ } else {
-+ proc_stats->push_back(i.substr(0, pos));
-+ }
-+ }
-+#else
- // The stat file is formatted as:
- // pid (process name) data1 data2 .... dataN
- // Look for the closing paren by scanning backwards, to avoid being fooled by
-@@ -108,6 +129,7 @@ bool ParseProcStats(const std::string& stats_data,
- base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
- for (const auto& i : other_stats)
- proc_stats->push_back(i);
-+#endif
- return true;
- }
-
-@@ -155,7 +177,11 @@ int64_t ReadProcStatsAndGetFieldAsInt64(pid_t pid, Pro
- }
-
- int64_t ReadProcSelfStatsAndGetFieldAsInt64(ProcStatsFields field_num) {
-+#if defined(OS_BSD)
-+ FilePath stat_file = FilePath(kProcDir).Append("curproc").Append(kStatFile);
-+#else
- FilePath stat_file = FilePath(kProcDir).Append("self").Append(kStatFile);
-+#endif
- return ReadStatFileAndGetFieldAsInt64(stat_file, field_num);
- }
-
-@@ -171,6 +197,9 @@ size_t ReadProcStatsAndGetFieldAsSizeT(pid_t pid,
- }
-
- Time GetBootTime() {
-+#if defined(OS_BSD)
-+ return Time();
-+#else
- FilePath path("/proc/stat");
- std::string contents;
- if (!ReadProcFile(path, &contents))
-@@ -184,9 +213,13 @@ Time GetBootTime() {
- if (!StringToInt(btime_it->second, &btime))
- return Time();
- return Time::FromTimeT(btime);
-+#endif
- }
-
- TimeDelta GetUserCpuTimeSinceBoot() {
-+#if defined(OS_BSD)
-+ return TimeDelta();
-+#else
- FilePath path("/proc/stat");
- std::string contents;
- if (!ReadProcFile(path, &contents))
-@@ -210,6 +243,7 @@ TimeDelta GetUserCpuTimeSinceBoot() {
- return TimeDelta();
-
- return ClockTicksToTimeDelta(user + nice);
-+#endif
- }
-
- TimeDelta ClockTicksToTimeDelta(int clock_ticks) {
diff --git a/www/iridium/files/patch-base_process_internal__linux.h b/www/iridium/files/patch-base_process_internal__linux.h
deleted file mode 100644
index bfa9c8630afd..000000000000
--- a/www/iridium/files/patch-base_process_internal__linux.h
+++ /dev/null
@@ -1,34 +0,0 @@
---- base/process/internal_linux.h.orig 2020-03-16 18:39:41 UTC
-+++ base/process/internal_linux.h
-@@ -14,6 +14,8 @@
-
- #include "base/files/file_path.h"
-
-+#include <unistd.h> /* pid_t */
-+
- namespace base {
-
- class Time;
-@@ -50,6 +52,14 @@ bool ParseProcStats(const std::string& stats_data,
- // If the ordering ever changes, carefully review functions that use these
- // values.
- enum ProcStatsFields {
-+#if defined(OS_BSD)
-+ VM_COMM = 0, // Command name.
-+ VM_PPID = 2, // Parent process id.
-+ VM_PGRP = 3, // Process group id.
-+ VM_STARTTIME = 7, // The process start time.
-+ VM_UTIME = 8, // The user time.
-+ VM_STIME = 9, // The system time
-+#else
- VM_COMM = 1, // Filename of executable, without parentheses.
- VM_STATE = 2, // Letter indicating the state of the process.
- VM_PPID = 3, // PID of the parent.
-@@ -62,6 +72,7 @@ enum ProcStatsFields {
- VM_STARTTIME = 21, // The time the process started in clock ticks.
- VM_VSIZE = 22, // Virtual memory size in bytes.
- VM_RSS = 23, // Resident Set Size in pages.
-+#endif
- };
-
- // Reads the |field_num|th field from |proc_stats|. Returns 0 on failure.
diff --git a/www/iridium/files/patch-base_process_kill.h b/www/iridium/files/patch-base_process_kill.h
deleted file mode 100644
index 2e871559c90e..000000000000
--- a/www/iridium/files/patch-base_process_kill.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/process/kill.h.orig 2019-12-16 21:50:40 UTC
-+++ base/process/kill.h
-@@ -118,11 +118,11 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro
- BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus(
- ProcessHandle handle, int* exit_code);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Spawns a thread to wait asynchronously for the child |process| to exit
- // and then reaps it.
- BASE_EXPORT void EnsureProcessGetsReaped(Process process);
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- #endif // defined(OS_POSIX)
-
- // Registers |process| to be asynchronously monitored for termination, forcibly
diff --git a/www/iridium/files/patch-base_process_kill__posix.cc b/www/iridium/files/patch-base_process_kill__posix.cc
deleted file mode 100644
index 69e4dbc6c05e..000000000000
--- a/www/iridium/files/patch-base_process_kill__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/process/kill_posix.cc.orig 2019-06-04 18:55:15 UTC
-+++ base/process/kill_posix.cc
-@@ -168,7 +168,7 @@ void EnsureProcessTerminated(Process process) {
- 0, new BackgroundReaper(std::move(process), TimeDelta::FromSeconds(2)));
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void EnsureProcessGetsReaped(Process process) {
- DCHECK(!process.is_current());
-
-@@ -179,7 +179,7 @@ void EnsureProcessGetsReaped(Process process) {
- PlatformThread::CreateNonJoinable(
- 0, new BackgroundReaper(std::move(process), TimeDelta()));
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #endif // !defined(OS_MACOSX)
- #endif // !defined(OS_NACL_NONSFI)
diff --git a/www/iridium/files/patch-base_process_launch.cc b/www/iridium/files/patch-base_process_launch.cc
deleted file mode 100644
index bd174cd496bc..000000000000
--- a/www/iridium/files/patch-base_process_launch.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/launch.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/process/launch.cc
-@@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = default;
-
- LaunchOptions LaunchOptionsForTest() {
- LaunchOptions options;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // To prevent accidental privilege sharing to an untrusted child, processes
- // are started with PR_SET_NO_NEW_PRIVS. Do not set that here, since this
- // new child will be used for testing only.
diff --git a/www/iridium/files/patch-base_process_launch.h b/www/iridium/files/patch-base_process_launch.h
deleted file mode 100644
index 75708ea5561e..000000000000
--- a/www/iridium/files/patch-base_process_launch.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/process/launch.h.orig 2020-02-03 21:52:37 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)
-+#if defined(OS_LINUX) || 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)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_MACOSX) && !defined(OS_IOS)
- // Mach ports that will be accessible to the child process. These are not
diff --git a/www/iridium/files/patch-base_process_launch__posix.cc b/www/iridium/files/patch-base_process_launch__posix.cc
deleted file mode 100644
index ce6054a8ff79..000000000000
--- a/www/iridium/files/patch-base_process_launch__posix.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- base/process/launch_posix.cc.orig 2019-06-04 18:55:15 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 {
diff --git a/www/iridium/files/patch-base_process_memory.cc b/www/iridium/files/patch-base_process_memory.cc
deleted file mode 100644
index ff61c2e5408b..000000000000
--- a/www/iridium/files/patch-base_process_memory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/process/memory.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/process/memory.cc
-@@ -42,7 +42,7 @@ void OnNoMemoryInternal(size_t size) {
- } // namespace internal
-
- // Defined in memory_win.cc for Windows.
--#if !defined(OS_WIN)
-+#if !defined(OS_WIN) && !defined(OS_BSD)
-
- namespace {
-
-@@ -61,7 +61,7 @@ void TerminateBecauseOutOfMemory(size_t size) {
- #endif // !defined(OS_WIN)
-
- // Defined in memory_mac.mm for Mac.
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
-
- bool UncheckedCalloc(size_t num_items, size_t size, void** result) {
- const size_t alloc_size = num_items * size;
diff --git a/www/iridium/files/patch-base_process_memory.h b/www/iridium/files/patch-base_process_memory.h
deleted file mode 100644
index 007e8593b35d..000000000000
--- a/www/iridium/files/patch-base_process_memory.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/memory.h.orig 2019-10-21 19:06:18 UTC
-+++ base/process/memory.h
-@@ -24,7 +24,7 @@ BASE_EXPORT void EnableTerminationOnOutOfMemory();
- // Crash reporting classifies such crashes as OOM.
- BASE_EXPORT void TerminateBecauseOutOfMemory(size_t size);
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD)
- BASE_EXPORT extern size_t g_oom_size;
-
- // The maximum allowed value for the OOM score.
diff --git a/www/iridium/files/patch-base_process_memory__unittest.cc b/www/iridium/files/patch-base_process_memory__unittest.cc
deleted file mode 100644
index 82dcfd37c1c7..000000000000
--- a/www/iridium/files/patch-base_process_memory__unittest.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- base/process/memory_unittest.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/process/memory_unittest.cc
-@@ -106,7 +106,7 @@ TEST(MemoryTest, AllocatorShimWorking) {
- // OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan
- // configurations: only test the real allocator.
- // Windows only supports these tests with the allocator shim in place.
--#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
-+#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \
- !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
-
- namespace {
-@@ -589,5 +589,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) {
- EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_));
- EXPECT_TRUE(value_ == nullptr);
- }
--#endif // !defined(OS_OPENBSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) &&
-+#endif // !defined(OS_BSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) &&
- // !defined(MEMORY_TOOL_REPLACES_ALLOCATOR)
diff --git a/www/iridium/files/patch-base_process_process__handle.cc b/www/iridium/files/patch-base_process_process__handle.cc
deleted file mode 100644
index 13812613f73f..000000000000
--- a/www/iridium/files/patch-base_process_process__handle.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/process_handle.cc.orig 2019-10-21 19:06:18 UTC
-+++ base/process/process_handle.cc
-@@ -28,7 +28,7 @@ UniqueProcId GetUniqueIdForProcess() {
- : UniqueProcId(GetCurrentProcId());
- }
-
--#if defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
-
- void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) {
- DCHECK(pid_outside_of_namespace != kNullProcessId);
diff --git a/www/iridium/files/patch-base_process_process__handle.h b/www/iridium/files/patch-base_process_process__handle.h
deleted file mode 100644
index 502beff310e6..000000000000
--- a/www/iridium/files/patch-base_process_process__handle.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/process_handle.h.orig 2019-10-21 19:06:18 UTC
-+++ base/process/process_handle.h
-@@ -103,7 +103,7 @@ BASE_EXPORT ProcessId GetCurrentProcId();
- // processes may be reused.
- BASE_EXPORT UniqueProcId GetUniqueIdForProcess();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // When a process is started in a different PID namespace from the browser
- // process, this function must be called with the process's PID in the browser's
- // PID namespace in order to initialize its unique ID. Not thread safe.
diff --git a/www/iridium/files/patch-base_process_process__handle__freebsd.cc b/www/iridium/files/patch-base_process_process__handle__freebsd.cc
deleted file mode 100644
index 13a07c3075fd..000000000000
--- a/www/iridium/files/patch-base_process_process__handle__freebsd.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- base/process/process_handle_freebsd.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/process/process_handle_freebsd.cc
-@@ -16,10 +16,13 @@ namespace base {
-
- ProcessId GetParentProcessId(ProcessHandle process) {
- struct kinfo_proc info;
-- size_t length;
-+ size_t length = sizeof(struct kinfo_proc);
- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process };
-
- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0)
-+ return -1;
-+
-+ if (length < sizeof(struct kinfo_proc))
- return -1;
-
- return info.ki_ppid;
diff --git a/www/iridium/files/patch-base_process_process__iterator__freebsd.cc b/www/iridium/files/patch-base_process_process__iterator__freebsd.cc
deleted file mode 100644
index a89546ccb49d..000000000000
--- a/www/iridium/files/patch-base_process_process__iterator__freebsd.cc
+++ /dev/null
@@ -1,44 +0,0 @@
---- base/process/process_iterator_freebsd.cc.orig 2019-03-11 22:00:51 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/www/iridium/files/patch-base_process_process__linux.cc b/www/iridium/files/patch-base_process_process__linux.cc
deleted file mode 100644
index 2ec55582fbfa..000000000000
--- a/www/iridium/files/patch-base_process_process__linux.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- base/process/process_linux.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/process/process_linux.cc
-@@ -79,6 +79,9 @@ Time Process::CreationTime() const {
- internal::VM_STARTTIME)
- : internal::ReadProcStatsAndGetFieldAsInt64(
- Pid(), internal::VM_STARTTIME);
-+#if defined(OS_BSD)
-+ return Time::FromTimeT(start_ticks);
-+#else
- if (!start_ticks)
- return Time();
- TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks);
-@@ -86,8 +89,10 @@ Time Process::CreationTime() const {
- 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)
-@@ -139,6 +144,7 @@ bool Process::SetProcessBackgrounded(bool background)
- DPCHECK(result == 0);
- return result == 0;
- }
-+#endif // !defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) {
diff --git a/www/iridium/files/patch-base_process_process__metrics.cc b/www/iridium/files/patch-base_process_process__metrics.cc
deleted file mode 100644
index 8e47c5106248..000000000000
--- a/www/iridium/files/patch-base_process_process__metrics.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- base/process/process_metrics.cc.orig 2019-07-24 18:58:02 UTC
-+++ base/process/process_metrics.cc
-@@ -57,7 +57,7 @@ SystemMetrics SystemMetrics::Sample() {
- SystemMetrics system_metrics;
-
- system_metrics.committed_memory_ = GetSystemCommitCharge();
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- GetSystemMemoryInfo(&system_metrics.memory_info_);
- GetVmStatInfo(&system_metrics.vmstat_info_);
- GetSystemDiskInfo(&system_metrics.disk_info_);
-@@ -75,7 +75,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_ANDROID)
-+#if defined(OS_LINUX) || 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());
-@@ -126,7 +126,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage(
- }
- #endif
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- int ProcessMetrics::CalculateIdleWakeupsPerSecond(
- uint64_t absolute_idle_wakeups) {
- return CalculateEventsPerSecond(absolute_idle_wakeups,
-@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() {
- NOTIMPLEMENTED(); // http://crbug.com/120488
- return 0;
- }
--#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
-
- #if defined(OS_MACOSX)
- int ProcessMetrics::CalculatePackageIdleWakeupsPerSecond(
diff --git a/www/iridium/files/patch-base_process_process__metrics.h b/www/iridium/files/patch-base_process_process__metrics.h
deleted file mode 100644
index 420d563e5b29..000000000000
--- a/www/iridium/files/patch-base_process_process__metrics.h
+++ /dev/null
@@ -1,131 +0,0 @@
---- base/process/process_metrics.h.orig 2019-10-21 19:06:18 UTC
-+++ base/process/process_metrics.h
-@@ -41,7 +41,7 @@ namespace base {
- // Full declaration is in process_metrics_iocounters.h.
- struct IoCounters;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || 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.
- //
-@@ -51,7 +51,7 @@ struct PageFaultCounts {
- int64_t minor;
- int64_t major;
- };
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Convert a POSIX timeval to microseconds.
- BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv);
-@@ -92,7 +92,7 @@ class BASE_EXPORT ProcessMetrics {
- // convenience wrapper for CreateProcessMetrics().
- static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics();
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || 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;
-@@ -172,14 +172,14 @@ class BASE_EXPORT ProcessMetrics {
- int GetOpenFdSoftLimit() const;
- #endif // defined(OS_POSIX)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || 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_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Returns total memory usage of malloc.
- size_t GetMallocUsage();
-@@ -191,7 +191,7 @@ class BASE_EXPORT ProcessMetrics {
- ProcessMetrics(ProcessHandle process, PortProvider* port_provider);
- #endif // !defined(OS_MACOSX) || defined(OS_IOS)
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups);
- #endif
- #if defined(OS_MACOSX)
-@@ -220,7 +220,7 @@ class BASE_EXPORT ProcessMetrics {
- // Number of bytes transferred to/from disk in bytes.
- uint64_t last_cumulative_disk_usage_ = 0;
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- // Same thing for idle wakeups.
- TimeTicks last_idle_wakeups_time_;
- uint64_t last_absolute_idle_wakeups_;
-@@ -271,7 +271,7 @@ BASE_EXPORT size_t GetHandleLimit();
- BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors);
- #endif // defined(OS_POSIX)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA)
- // Data about system-wide memory consumption. Values are in KB. Available on
- // Windows, Mac, Linux, Android and Chrome OS.
-@@ -305,7 +305,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int avail_phys = 0;
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD)
- // This provides an estimate of available memory as described here:
- // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
- // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always
-@@ -319,7 +319,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int swap_free = 0;
- #endif
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- int buffers = 0;
- int cached = 0;
-@@ -329,7 +329,7 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- int inactive_file = 0;
- int dirty = 0;
- int reclaimable = 0;
--#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) ||
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) ||
- // defined(OS_FUCHSIA)
-
- #if defined(OS_CHROMEOS)
-@@ -355,10 +355,10 @@ struct BASE_EXPORT SystemMemoryInfoKB {
- // Exposed for memory debugging widget.
- BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo);
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- // defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD)
- // Parse the data found in /proc/<pid>/stat and return the sum of the
- // CPU-related ticks. Returns -1 on parse error.
- // Exposed for testing.
-@@ -431,7 +431,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_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // Data from files in directory /sys/block/zram0 about ZRAM usage.
-@@ -526,7 +526,7 @@ class BASE_EXPORT SystemMetrics {
- FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics);
-
- size_t committed_memory_;
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- SystemMemoryInfoKB memory_info_;
- VmStatInfo vmstat_info_;
- SystemDiskInfo disk_info_;
diff --git a/www/iridium/files/patch-base_process_process__metrics__freebsd.cc b/www/iridium/files/patch-base_process_process__metrics__freebsd.cc
deleted file mode 100644
index 1dc5323f3252..000000000000
--- a/www/iridium/files/patch-base_process_process__metrics__freebsd.cc
+++ /dev/null
@@ -1,259 +0,0 @@
---- base/process/process_metrics_freebsd.cc.orig 2019-07-24 18:58:02 UTC
-+++ base/process/process_metrics_freebsd.cc
-@@ -5,6 +5,7 @@
- #include "base/process/process_metrics.h"
-
- #include <stddef.h>
-+#include <sys/types.h>
- #include <sys/sysctl.h>
- #include <sys/user.h>
- #include <unistd.h>
-@@ -14,11 +15,29 @@
- #include "base/process/process_metrics_iocounters.h"
- #include "base/stl_util.h"
-
-+#include <unistd.h> /* getpagesize() */
-+#include <fcntl.h> /* O_RDONLY */
-+#include <kvm.h>
-+#include <libutil.h>
-+
- namespace base {
-+namespace {
-
-+int GetPageShift() {
-+ int pagesize = getpagesize();
-+ int pageshift = 0;
-+
-+ while (pagesize > 1) {
-+ pageshift++;
-+ pagesize >>= 1;
-+ }
-+
-+ return pageshift;
-+}
-+}
-+
- ProcessMetrics::ProcessMetrics(ProcessHandle process)
-- : process_(process),
-- last_cpu_(0) {}
-+ : process_(process) {}
-
- // static
- std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics(
-@@ -69,4 +88,216 @@ size_t GetSystemCommitCharge() {
- return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
- }
-
-+int GetNumberOfThreads(ProcessHandle process) {
-+ // Taken from FreeBSD top (usr.bin/top/machine.c)
-+
-+ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open");
-+ if (kd == NULL)
-+ return 0;
-+
-+ struct kinfo_proc* pbase;
-+ int nproc;
-+ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc);
-+ if (pbase == NULL)
-+ return 0;
-+
-+ if (kvm_close(kd) == -1)
-+ return 0;
-+
-+ return nproc;
-+}
-+
-+bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) {
-+ unsigned int mem_total, mem_free, swap_total, swap_used;
-+ size_t length;
-+ int pagesizeKB;
-+
-+ pagesizeKB = getpagesize() / 1024;
-+
-+ length = sizeof(mem_total);
-+ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total,
-+ &length, NULL, 0) != 0 || length != sizeof(mem_total))
-+ return false;
-+
-+ length = sizeof(mem_free);
-+ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0)
-+ != 0 || length != sizeof(mem_free))
-+ return false;
-+
-+ length = sizeof(swap_total);
-+ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0)
-+ != 0 || length != sizeof(swap_total))
-+ return false;
-+
-+ length = sizeof(swap_used);
-+ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0)
-+ != 0 || length != sizeof(swap_used))
-+ return false;
-+
-+ meminfo->total = mem_total * pagesizeKB;
-+ meminfo->free = mem_free * pagesizeKB;
-+ meminfo->swap_total = swap_total * pagesizeKB;
-+ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB;
-+
-+ return true;
-+}
-+
-+int ProcessMetrics::GetOpenFdCount() const {
-+ struct kinfo_file * kif;
-+ int cnt;
-+
-+ if ((kif = kinfo_getfile(process_, &cnt)) == NULL)
-+ return -1;
-+
-+ free(kif);
-+
-+ return cnt;
-+}
-+
-+int ProcessMetrics::GetOpenFdSoftLimit() const {
-+ size_t length;
-+ int total_count = 0;
-+ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC };
-+
-+ length = sizeof(total_count);
-+
-+ if (sysctl(mib, base::size(mib), &total_count, &length, NULL, 0) < 0) {
-+ total_count = -1;
-+ }
-+
-+ return total_count;
-+}
-+
-+size_t ProcessMetrics::GetResidentSetSize() const {
-+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
-+
-+ if (kd == nullptr)
-+ return 0;
-+
-+ struct kinfo_proc *pp;
-+ int nproc;
-+
-+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
-+ kvm_close(kd);
-+ return 0;
-+ }
-+
-+ size_t rss;
-+
-+ if (nproc > 0) {
-+ rss = pp->ki_rssize << GetPageShift();
-+ } else {
-+ rss = 0;
-+ }
-+
-+ kvm_close(kd);
-+ return rss;
-+}
-+
-+uint64_t ProcessMetrics::GetVmSwapBytes() const {
-+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open");
-+
-+ if (kd == nullptr)
-+ return 0;
-+
-+ struct kinfo_proc *pp;
-+ int nproc;
-+
-+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) {
-+ kvm_close(kd);
-+ return 0;
-+ }
-+
-+ size_t swrss;
-+
-+ if (nproc > 0) {
-+ swrss = pp->ki_swrss > pp->ki_rssize
-+ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift()
-+ : 0;
-+ } else {
-+ swrss = 0;
-+ }
-+
-+ kvm_close(kd);
-+ return swrss;
-+}
-+
-+int ProcessMetrics::GetIdleWakeupsPerSecond() {
-+ NOTIMPLEMENTED();
-+ return 0;
-+}
-+
-+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) {
-+ NOTIMPLEMENTED();
-+ return false;
-+}
-+
-+bool GetVmStatInfo(VmStatInfo* vmstat) {
-+ NOTIMPLEMENTED();
-+ return false;
-+}
-+
-+SystemDiskInfo::SystemDiskInfo() {
-+ reads = 0;
-+ reads_merged = 0;
-+ sectors_read = 0;
-+ read_time = 0;
-+ writes = 0;
-+ writes_merged = 0;
-+ sectors_written = 0;
-+ write_time = 0;
-+ io = 0;
-+ io_time = 0;
-+ weighted_io_time = 0;
-+}
-+
-+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default;
-+
-+std::unique_ptr<Value> SystemDiskInfo::ToValue() const {
-+ auto res = std::make_unique<DictionaryValue>();
-+
-+ // Write out uint64_t variables as doubles.
-+ // Note: this may discard some precision, but for JS there's no other option.
-+ res->SetDouble("reads", static_cast<double>(reads));
-+ res->SetDouble("reads_merged", static_cast<double>(reads_merged));
-+ res->SetDouble("sectors_read", static_cast<double>(sectors_read));
-+ res->SetDouble("read_time", static_cast<double>(read_time));
-+ res->SetDouble("writes", static_cast<double>(writes));
-+ res->SetDouble("writes_merged", static_cast<double>(writes_merged));
-+ res->SetDouble("sectors_written", static_cast<double>(sectors_written));
-+ res->SetDouble("write_time", static_cast<double>(write_time));
-+ res->SetDouble("io", static_cast<double>(io));
-+ res->SetDouble("io_time", static_cast<double>(io_time));
-+ res->SetDouble("weighted_io_time", static_cast<double>(weighted_io_time));
-+
-+ return std::move(res);
-+}
-+
-+std::unique_ptr<DictionaryValue> SystemMemoryInfoKB::ToValue() const {
-+ auto res = std::make_unique<DictionaryValue>();
-+ res->SetIntKey("total", total);
-+ res->SetIntKey("free", free);
-+ res->SetIntKey("available", available);
-+ res->SetIntKey("buffers", buffers);
-+ res->SetIntKey("cached", cached);
-+ res->SetIntKey("active_anon", active_anon);
-+ res->SetIntKey("inactive_anon", inactive_anon);
-+ res->SetIntKey("active_file", active_file);
-+ res->SetIntKey("inactive_file", inactive_file);
-+ res->SetIntKey("swap_total", swap_total);
-+ res->SetIntKey("swap_free", swap_free);
-+ res->SetIntKey("swap_used", swap_total - swap_free);
-+ res->SetIntKey("dirty", dirty);
-+ res->SetIntKey("reclaimable", reclaimable);
-+
-+ return res;
-+}
-+
-+std::unique_ptr<DictionaryValue> VmStatInfo::ToValue() const {
-+ auto res = std::make_unique<DictionaryValue>();
-+ res->SetIntKey("pswpin", pswpin);
-+ res->SetIntKey("pswpout", pswpout);
-+ res->SetIntKey("pgmajfault", pgmajfault);
-+ return res;
-+}
- } // namespace base
diff --git a/www/iridium/files/patch-base_process_process__metrics__posix.cc b/www/iridium/files/patch-base_process_process__metrics__posix.cc
deleted file mode 100644
index e909eeec959b..000000000000
--- a/www/iridium/files/patch-base_process_process__metrics__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/process/process_metrics_posix.cc.orig 2019-10-21 19:06:18 UTC
-+++ base/process/process_metrics_posix.cc
-@@ -20,6 +20,8 @@
-
- #if defined(OS_MACOSX)
- #include <malloc/malloc.h>
-+#elif defined(OS_FREEBSD)
-+#include <stdlib.h>
- #else
- #include <malloc.h>
- #endif
-@@ -117,7 +119,7 @@ size_t ProcessMetrics::GetMallocUsage() {
- #else
- return minfo.hblkhd + minfo.arena;
- #endif
--#elif defined(OS_FUCHSIA)
-+#elif defined(OS_FUCHSIA) || defined(OS_BSD)
- // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
- return 0;
- #endif
diff --git a/www/iridium/files/patch-base_process_process__unittest.cc b/www/iridium/files/patch-base_process_process__unittest.cc
deleted file mode 100644
index 3e5aac5b4da7..000000000000
--- a/www/iridium/files/patch-base_process_process__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/process/process_unittest.cc.orig 2019-03-18 19:16:37 UTC
-+++ base/process/process_unittest.cc
-@@ -148,7 +148,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)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-base_process_process__util__unittest.cc b/www/iridium/files/patch-base_process_process__util__unittest.cc
deleted file mode 100644
index e6378dd51b22..000000000000
--- a/www/iridium/files/patch-base_process_process__util__unittest.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/process/process_util_unittest.cc.orig 2020-03-23 15:26:12 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- options.clone_flags = clone_flags;
- #else
- CHECK_EQ(0, clone_flags);
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid());
- write_pipe.Close();
diff --git a/www/iridium/files/patch-base_profiler_register__context.h b/www/iridium/files/patch-base_profiler_register__context.h
deleted file mode 100644
index ea2c126353b4..000000000000
--- a/www/iridium/files/patch-base_profiler_register__context.h
+++ /dev/null
@@ -1,60 +0,0 @@
---- base/profiler/register_context.h.orig 2020-03-16 18:39:41 UTC
-+++ base/profiler/register_context.h
-@@ -17,7 +17,7 @@
- #include <windows.h>
- #elif defined(OS_MACOSX)
- #include <mach/machine/thread_status.h>
--#elif defined(OS_ANDROID) || defined(OS_LINUX)
-+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/ucontext.h>
- #endif
-
-@@ -165,6 +165,48 @@ inline uintptr_t& RegisterContextInstructionPointer(mc
- }
-
- #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS)
-+
-+#elif defined(OS_FREEBSD)
-+
-+using RegisterContext = mcontext_t;
-+
-+#if defined(ARCH_CPU_X86_64)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rsp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rbp);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_rip);
-+}
-+#elif defined(ARCH_CPU_X86)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_esp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_ebp);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_eip);
-+}
-+#elif defined(ARCH_CPU_ARM64)
-+inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_sp);
-+}
-+
-+inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_x[29]);
-+}
-+
-+inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) {
-+ return AsUintPtr(&context->mc_gpregs.gp_elr);
-+}
-+#endif
-
- #else // #if defined(OS_WIN)
-
diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc
deleted file mode 100644
index 96db1204abdd..000000000000
--- a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/profiler/sampling_profiler_thread_token.cc.orig 2020-02-07 10:24:19 UTC
-+++ base/profiler/sampling_profiler_thread_token.cc
-@@ -7,7 +7,7 @@
- namespace base {
-
- SamplingProfilerThreadToken GetSamplingProfilerCurrentThreadToken() {
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- return {PlatformThread::CurrentId(), pthread_self()};
- #else
- return {PlatformThread::CurrentId()};
diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h
deleted file mode 100644
index 589e083be74d..000000000000
--- a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/profiler/sampling_profiler_thread_token.h.orig 2020-02-07 10:24:33 UTC
-+++ base/profiler/sampling_profiler_thread_token.h
-@@ -9,7 +9,7 @@
- #include "base/threading/platform_thread.h"
- #include "build/build_config.h"
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- #include <pthread.h>
- #endif
-
-@@ -21,7 +21,7 @@ namespace base {
- // functions used to obtain the stack base address.
- struct SamplingProfilerThreadToken {
- PlatformThreadId id;
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- pthread_t pthread_id;
- #endif
- };
diff --git a/www/iridium/files/patch-base_profiler_stack__copier__signal.cc b/www/iridium/files/patch-base_profiler_stack__copier__signal.cc
deleted file mode 100644
index b9e757471f17..000000000000
--- a/www/iridium/files/patch-base_profiler_stack__copier__signal.cc
+++ /dev/null
@@ -1,63 +0,0 @@
---- base/profiler/stack_copier_signal.cc.orig 2020-04-10 00:33:01 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:
-@@ -214,11 +230,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/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
deleted file mode 100644
index 686f7e90afb3..000000000000
--- a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2019-07-24 18:58:02 UTC
-+++ base/profiler/stack_sampling_profiler_unittest.cc
-@@ -41,7 +41,7 @@
- #include <intrin.h>
- #include <malloc.h>
- #include <windows.h>
--#else
-+#elif !defined(OS_BSD)
- #include <alloca.h>
- #endif
-
diff --git a/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc b/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc
deleted file mode 100644
index a2f162e586fe..000000000000
--- a/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc
+++ /dev/null
@@ -1,50 +0,0 @@
---- base/profiler/thread_delegate_posix.cc.orig 2020-04-10 00:37:03 UTC
-+++ base/profiler/thread_delegate_posix.cc
-@@ -4,6 +4,10 @@
-
- #include <pthread.h>
-
-+#if defined(OS_FREEBSD)
-+#include <pthread_np.h>
-+#endif
-+
- #include "base/process/process_handle.h"
- #include "base/profiler/thread_delegate_posix.h"
- #include "base/stl_util.h"
-@@ -17,7 +21,12 @@ namespace {
- uintptr_t GetThreadStackBaseAddressImpl(
- SamplingProfilerThreadToken thread_token) {
- pthread_attr_t attr;
-+#if defined(OS_FREEBSDD)
-+ pthread_attr_init(&attr);
-+ pthread_attr_get_np(thread_token.pthread_id, &attr);
-+#elif defined(OS_LINUX)
- pthread_getattr_np(thread_token.pthread_id, &attr);
-+#endif
- // See crbug.com/617730 for limitations of this approach on Linux.
- void* address;
- size_t size;
-@@ -103,6 +112,15 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist
- return {
- // Return the set of callee-save registers per the x86-64 System V ABI
- // section 3.2.1, plus the stack pointer.
-+#if defined(OS_FREEBSD)
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbp),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbx),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r12),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r13),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r14),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_r15),
-+ reinterpret_cast<uintptr_t*>(&thread_context->mc_rsp),
-+#else
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBP]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBX]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R12]),
-@@ -110,6 +128,7 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R14]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R15]),
- reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RSP]),
-+#endif
- };
- #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS)
- // Unimplemented for other architectures.
diff --git a/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
deleted file mode 100644
index 44e3b0aae8ef..000000000000
--- a/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2019-09-09 21:55:05 UTC
-+++ base/sampling_heap_profiler/sampling_heap_profiler.cc
-@@ -29,6 +29,10 @@
- #include <sys/prctl.h>
- #endif
-
-+#if defined(OS_BSD)
-+#include <pthread_np.h>
-+#endif
-+
- #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \
- defined(OFFICIAL_BUILD)
- #include "base/trace_event/cfi_backtrace_android.h"
-@@ -64,6 +68,10 @@ const char* GetAndLeakThreadName() {
- #elif defined(OS_MACOSX)
- int err = pthread_getname_np(pthread_self(), name, kBufferLen);
- if (err == 0 && *name != '\0')
-+ 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_ANDROID)
-
diff --git a/www/iridium/files/patch-base_security__unittest.cc b/www/iridium/files/patch-base_security__unittest.cc
deleted file mode 100644
index c46d71f83add..000000000000
--- a/www/iridium/files/patch-base_security__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/security_unittest.cc.orig 2019-04-30 22:22:28 UTC
-+++ base/security_unittest.cc
-@@ -60,7 +60,7 @@ NOINLINE Type HideValueFromCompiler(volatile Type valu
- // FAILS_ is too clunky.
- void OverflowTestsSoftExpectTrue(bool overflow_detected) {
- if (!overflow_detected) {
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_NACL)
- // Sadly, on Linux, Android, and OSX we don't have a good story yet. Don't
- // fail the test, but report.
- printf("Platform has overflow: %s\n",
diff --git a/www/iridium/files/patch-base_synchronization_lock__impl.h b/www/iridium/files/patch-base_synchronization_lock__impl.h
deleted file mode 100644
index fb3737a27ea9..000000000000
--- a/www/iridium/files/patch-base_synchronization_lock__impl.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- base/synchronization/lock_impl.h.orig 2020-03-08 08:35:16 UTC
-+++ base/synchronization/lock_impl.h
-@@ -67,10 +67,13 @@ void LockImpl::Unlock() {
- ::ReleaseSRWLockExclusive(reinterpret_cast<PSRWLOCK>(&native_handle_));
- }
- #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
- void LockImpl::Unlock() {
- int rv = pthread_mutex_unlock(&native_handle_);
- DCHECK_EQ(rv, 0) << ". " << strerror(rv);
- }
-+#pragma GCC diagnostic pop
- #endif
-
- // This is an implementation used for AutoLock templated on the lock type.
diff --git a/www/iridium/files/patch-base_syslog__logging.cc b/www/iridium/files/patch-base_syslog__logging.cc
deleted file mode 100644
index d719219ca50b..000000000000
--- a/www/iridium/files/patch-base_syslog__logging.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/syslog_logging.cc.orig 2019-10-21 19:06:18 UTC
-+++ base/syslog_logging.cc
-@@ -14,7 +14,7 @@
- #include "base/debug/stack_trace.h"
- #include "base/strings/string_util.h"
- #include "base/win/win_util.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // <syslog.h> defines LOG_INFO, LOG_WARNING macros that could conflict with
- // base::LOG_INFO, base::LOG_WARNING.
- #include <syslog.h>
-@@ -113,7 +113,7 @@ EventLogMessage::~EventLogMessage() {
-
- if (user_sid != nullptr)
- ::LocalFree(user_sid);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- const char kEventSource[] = "chrome";
- openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER);
- // We can't use the defined names for the logging severity from syslog.h
diff --git a/www/iridium/files/patch-base_system_sys__info.h b/www/iridium/files/patch-base_system_sys__info.h
deleted file mode 100644
index 2159a51c6b6f..000000000000
--- a/www/iridium/files/patch-base_system_sys__info.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/system/sys_info.h.orig 2020-03-16 18:39:41 UTC
-+++ base/system/sys_info.h
-@@ -194,6 +194,8 @@ class BASE_EXPORT SysInfo {
- // On Desktop this returns true when memory <= 512MB.
- static bool IsLowEndDevice();
-
-+ static uint64_t MaxSharedMemorySize();
-+
- private:
- FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory);
- FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo);
-@@ -203,7 +205,7 @@ class BASE_EXPORT SysInfo {
- static bool IsLowEndDeviceImpl();
- static HardwareInfo GetHardwareInfoSync();
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD)
- static int64_t AmountOfAvailablePhysicalMemory(
- const SystemMemoryInfoKB& meminfo);
- #endif
diff --git a/www/iridium/files/patch-base_system_sys__info__freebsd.cc b/www/iridium/files/patch-base_system_sys__info__freebsd.cc
deleted file mode 100644
index 12994422dc08..000000000000
--- a/www/iridium/files/patch-base_system_sys__info__freebsd.cc
+++ /dev/null
@@ -1,67 +0,0 @@
---- base/system/sys_info_freebsd.cc.orig 2019-12-16 21:50:40 UTC
-+++ base/system/sys_info_freebsd.cc
-@@ -13,26 +13,59 @@
- namespace base {
-
- int64_t SysInfo::AmountOfPhysicalMemoryImpl() {
-- int pages, page_size;
-+ int pages, page_size, r = 0;
- size_t size = sizeof(pages);
-- sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0);
-- sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
-- if (pages == -1 || page_size == -1) {
-+ if(r == 0)
-+ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0);
-+ if(r == 0)
-+ r =sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
-+ if(r == -1) {
- NOTREACHED();
- return 0;
- }
- return static_cast<int64_t>(pages) * page_size;
- }
-
-+int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() {
-+ int page_size, r = 0;
-+ unsigned pgfree, pginact, pgcache;
-+ size_t size = sizeof(page_size);
-+ size_t szpg = sizeof(pgfree);
-+ if(r == 0)
-+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
-+ if(r == 0)
-+ r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0);
-+ if(r == 0)
-+ r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0);
-+ if(r == 0)
-+ r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0);
-+ if(r == -1) {
-+ NOTREACHED();
-+ return 0;
-+ }
-+ return static_cast<int64_t>((pgfree + pginact + pgcache) * page_size);
-+}
-+
- // static
-+std::string SysInfo::CPUModelName() {
-+ int mib[] = { CTL_HW, HW_MODEL };
-+ char name[256];
-+ size_t size = base::size(name);
-+ if (sysctl(mib, base::size(mib), &name, &size, NULL, 0) == 0)
-+ return name;
-+ return std::string();
-+}
-+
-+// static
- uint64_t SysInfo::MaxSharedMemorySize() {
- size_t limit;
- size_t size = sizeof(limit);
-+
- if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) {
- NOTREACHED();
- return 0;
- }
-+
- return static_cast<uint64_t>(limit);
- }
--
- } // namespace base
diff --git a/www/iridium/files/patch-base_system_sys__info__posix.cc b/www/iridium/files/patch-base_system_sys__info__posix.cc
deleted file mode 100644
index 5b79b03dce8a..000000000000
--- a/www/iridium/files/patch-base_system_sys__info__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/system/sys_info_posix.cc.orig 2019-09-09 21:55:05 UTC
-+++ base/system/sys_info_posix.cc
-@@ -220,6 +220,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/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc
deleted file mode 100644
index 92b120193ada..000000000000
--- a/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/task/thread_pool/environment_config_unittest.cc.orig 2019-07-29 13:26:54 UTC
-+++ base/task/thread_pool/environment_config_unittest.cc
-@@ -14,7 +14,7 @@ namespace internal {
- TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPriorityForWorker) {
- #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_IOS)
- EXPECT_TRUE(CanUseBackgroundPriorityForWorkerThread());
--#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- defined(OS_CHROMEOS) || defined(OS_NACL)
- EXPECT_FALSE(CanUseBackgroundPriorityForWorkerThread());
- #else
diff --git a/www/iridium/files/patch-base_test_fontconfig__util__linux.cc b/www/iridium/files/patch-base_test_fontconfig__util__linux.cc
deleted file mode 100644
index eb6ff5024c46..000000000000
--- a/www/iridium/files/patch-base_test_fontconfig__util__linux.cc
+++ /dev/null
@@ -1,406 +0,0 @@
---- base/test/fontconfig_util_linux.cc.orig 2020-02-03 21:52:37 UTC
-+++ base/test/fontconfig_util_linux.cc
-@@ -6,22 +6,397 @@
-
- #include <fontconfig/fontconfig.h>
-
--#include <memory>
--
- #include "base/base_paths.h"
- #include "base/environment.h"
- #include "base/files/file_path.h"
-+#include "base/files/file_util.h"
- #include "base/logging.h"
-+#include "base/macros.h"
- #include "base/path_service.h"
-+#include "base/strings/string_util.h"
-
- namespace base {
-
-+namespace {
-+
-+const char kFontsConfTemplate[] = R"(<?xml version="1.0"?>
-+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-+<fontconfig>
-+
-+ <!-- Cache location. -->
-+ <cachedir>$1</cachedir>
-+
-+ <!-- GCS-synced fonts. -->
-+ <dir>$2</dir>
-+
-+ <!-- Default properties. -->
-+ <match target="font">
-+ <edit name="embeddedbitmap" mode="append_last">
-+ <bool>false</bool>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Times</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>sans</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>DejaVu Sans</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>sans serif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ </match>
-+
-+ <!-- Some layout tests specify Helvetica as a family and we need to make sure
-+ that we don't fallback to Tinos for them -->
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Helvetica</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>sans-serif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>serif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>mono</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Cousine</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>monospace</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Cousine</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Courier</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Cousine</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>cursive</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Comic Sans MS</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>fantasy</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Impact</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Monaco</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Arial</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Courier New</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Cousine</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Georgia</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Gelasio</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Times New Roman</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test qual="any" name="family">
-+ <string>Verdana</string>
-+ </test>
-+ <!-- NOT metrically compatible! -->
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ </match>
-+
-+ <!-- TODO(thomasanderson): Move these configs to be test-specific. -->
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>NonAntiAliasedSans</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="antialias" mode="assign">
-+ <bool>false</bool>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>SlightHintedGeorgia</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Gelasio</string>
-+ </edit>
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintslight</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>NonHintedSans</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <!-- These deliberately contradict each other. The 'hinting' preference
-+ should take priority -->
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintfull</const>
-+ </edit>
-+ <edit name="hinting" mode="assign">
-+ <bool>false</bool>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>AutohintedSerif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="autohint" mode="assign">
-+ <bool>true</bool>
-+ </edit>
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintmedium</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>HintedSerif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="autohint" mode="assign">
-+ <bool>false</bool>
-+ </edit>
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintmedium</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>FullAndAutoHintedSerif</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="autohint" mode="assign">
-+ <bool>true</bool>
-+ </edit>
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintfull</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>SubpixelEnabledArial</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="rgba" mode="assign">
-+ <const>rgb</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>SubpixelDisabledArial</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Arimo</string>
-+ </edit>
-+ <edit name="rgba" mode="assign">
-+ <const>none</const>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <!-- FontConfig doesn't currently provide a well-defined way to turn on
-+ subpixel positioning. This is just an arbitrary pattern to use after
-+ turning subpixel positioning on globally to ensure that we don't have
-+ issues with our style getting cached for other tests. -->
-+ <test name="family" compare="eq">
-+ <string>SubpixelPositioning</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <!-- See comments above -->
-+ <test name="family" compare="eq">
-+ <string>SubpixelPositioningAhem</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>ahem</string>
-+ </edit>
-+ </match>
-+
-+ <match target="pattern">
-+ <test name="family" compare="eq">
-+ <string>SlightHintedTimesNewRoman</string>
-+ </test>
-+ <edit name="family" mode="assign">
-+ <string>Tinos</string>
-+ </edit>
-+ <edit name="hintstyle" mode="assign">
-+ <const>hintslight</const>
-+ </edit>
-+ </match>
-+
-+ <!-- When we encounter a character that the current font doesn't
-+ support, gfx::GetFallbackFontForChar() returns the first font
-+ that does have a glyph for the character. The list of fonts is
-+ sorted by a pattern that includes the current locale, but doesn't
-+ include a font family (which means that the fallback font depends
-+ on the locale but not on the current font).
-+
-+ DejaVu Sans is commonly the only font that supports some
-+ characters, such as "⇧", and even when other candidates are
-+ available, DejaVu Sans is commonly first among them, because of
-+ the way Fontconfig is ordinarily configured. For example, the
-+ configuration in the Fonconfig source lists DejaVu Sans under the
-+ sans-serif generic family, and appends sans-serif to patterns
-+ that don't already include a generic family (such as the pattern
-+ in gfx::GetFallbackFontForChar()).
-+
-+ To get the same fallback font in the layout tests, we could
-+ duplicate this configuration here, or more directly, simply
-+ append DejaVu Sans to all patterns. -->
-+ <match target="pattern">
-+ <edit name="family" mode="append_last">
-+ <string>DejaVu Sans</string>
-+ </edit>
-+ </match>
-+
-+</fontconfig>
-+)";
-+
-+} // namespace
-+
- void SetUpFontconfig() {
-- FilePath dir_module;
-- CHECK(PathService::Get(DIR_MODULE, &dir_module));
-+ std::unique_ptr<Environment> env = Environment::Create();
-+ if (!env->HasVar("FONTCONFIG_FILE")) {
-+ // fonts.conf must be generated on-the-fly since it contains absolute paths
-+ // which may be different if
-+ // 1. The user moves/renames their build directory (or any parent dirs).
-+ // 2. The build directory is mapped on a swarming bot at a location
-+ // different from the one the buildbot used.
-+ FilePath dir_module;
-+ PathService::Get(DIR_MODULE, &dir_module);
-+ FilePath font_cache = dir_module.Append("fontconfig_caches");
-+ FilePath test_fonts = dir_module.Append("test_fonts");
-+ std::string fonts_conf = ReplaceStringPlaceholders(
-+ kFontsConfTemplate, {font_cache.value(), test_fonts.value()}, nullptr);
-
-- std::unique_ptr<Environment> env(Environment::Create());
-- CHECK(env->SetVar("FONTCONFIG_SYSROOT", dir_module.value().c_str()));
-+ // Write the data to a different file and then atomically rename it to
-+ // fonts.conf. This avoids the file being in a bad state when different
-+ // parallel tests call this function at the same time.
-+ FilePath fonts_conf_file_temp;
-+ if(!CreateTemporaryFileInDir(dir_module, &fonts_conf_file_temp))
-+ CHECK(CreateTemporaryFile(&fonts_conf_file_temp));
-+ CHECK(
-+ WriteFile(fonts_conf_file_temp, fonts_conf.c_str(), fonts_conf.size()));
-+ FilePath fonts_conf_file = dir_module.Append("fonts.conf");
-+ if (ReplaceFile(fonts_conf_file_temp, fonts_conf_file, nullptr))
-+ env->SetVar("FONTCONFIG_FILE", fonts_conf_file.value());
-+ else
-+ env->SetVar("FONTCONFIG_FILE", fonts_conf_file_temp.value());
-+ }
- }
-
- } // namespace base
diff --git a/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc b/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc
deleted file mode 100644
index 60cb0527b5f4..000000000000
--- a/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- base/test/generate_fontconfig_caches.cc.orig 2019-12-16 21:51:21 UTC
-+++ base/test/generate_fontconfig_caches.cc
-@@ -59,7 +59,14 @@ int main() {
- FcFini();
-
- // Check existence of intended fontconfig cache file.
-+#if defined(OS_BSD)
-+ // Our version of fontconfig is too old to respect .uuid files in font directories,
-+ // so we check for the CACHEDIR.TAG file instead
- CHECK(base::PathExists(
-+ fontconfig_caches.Append("CACHEDIR.TAG")));
-+#else
-+ CHECK(base::PathExists(
- fontconfig_caches.Append(base::StrCat({uuid, "-le64.cache-7"}))));
-+#endif
- return 0;
- }
diff --git a/www/iridium/files/patch-base_test_launcher_test__launcher.cc b/www/iridium/files/patch-base_test_launcher_test__launcher.cc
deleted file mode 100644
index 4ec5e581d6b6..000000000000
--- a/www/iridium/files/patch-base_test_launcher_test__launcher.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- base/test/launcher/test_launcher.cc.orig 2020-03-16 18:40:27 UTC
-+++ base/test/launcher/test_launcher.cc
-@@ -55,6 +55,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"
-@@ -551,7 +552,7 @@ ChildProcessResults DoLaunchChildTestProcess(
- #if !defined(OS_FUCHSIA)
- options.new_process_group = true;
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- options.kill_on_parent_death = true;
- #endif
-
diff --git a/www/iridium/files/patch-base_test_test__file__util__posix.cc b/www/iridium/files/patch-base_test_test__file__util__posix.cc
deleted file mode 100644
index a65fcc61d56b..000000000000
--- a/www/iridium/files/patch-base_test_test__file__util__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/test/test_file_util_posix.cc.orig 2020-02-03 21:52:37 UTC
-+++ base/test/test_file_util_posix.cc
-@@ -84,7 +84,7 @@ void SyncPageCacheToDisk() {
- sync();
- }
-
--#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- bool EvictFileFromSystemCache(const FilePath& file) {
- // There doesn't seem to be a POSIX way to cool the disk cache.
- NOTIMPLEMENTED();
diff --git a/www/iridium/files/patch-base_test_test__suite.cc b/www/iridium/files/patch-base_test_test__suite.cc
deleted file mode 100644
index 74f7f01726cc..000000000000
--- a/www/iridium/files/patch-base_test_test__suite.cc
+++ /dev/null
@@ -1,37 +0,0 @@
---- base/test/test_suite.cc.orig 2020-03-23 15:30:45 UTC
-+++ base/test/test_suite.cc
-@@ -68,7 +68,7 @@
- #include "base/test/test_support_ios.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/test/fontconfig_util_linux.h"
- #endif
-
-@@ -384,14 +384,14 @@ void TestSuite::PreInitialize() {
- testing::GTEST_FLAG(catch_exceptions) = false;
- #endif
- EnableTerminationOnHeapCorruption();
--#if defined(OS_LINUX) && defined(USE_AURA)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_AURA)
- // When calling native char conversion functions (e.g wrctomb) we need to
- // have the locale set. In the absence of such a call the "C" locale is the
- // default. In the gtk code (below) gtk_init() implicitly sets a locale.
- setlocale(LC_ALL, "");
- // We still need number to string conversions to be locale insensitive.
- setlocale(LC_NUMERIC, "C");
--#endif // defined(OS_LINUX) && defined(USE_AURA)
-+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_AURA)
-
- // On Android, AtExitManager is created in
- // testing/android/native_test_wrapper.cc before main() is called.
-@@ -620,7 +620,7 @@ void TestSuite::Initialize() {
- // TODO(jshin): Should we set the locale via an OS X locale API here?
- i18n::SetICUDefaultLocale("en_US");
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SetUpFontconfig();
- #endif
-
diff --git a/www/iridium/files/patch-base_third__party_libevent_BUILD.gn b/www/iridium/files/patch-base_third__party_libevent_BUILD.gn
deleted file mode 100644
index 67042d6ca3e5..000000000000
--- a/www/iridium/files/patch-base_third__party_libevent_BUILD.gn
+++ /dev/null
@@ -1,24 +0,0 @@
---- base/third_party/libevent/BUILD.gn.orig 2019-03-11 22:00:51 UTC
-+++ base/third_party/libevent/BUILD.gn
-@@ -43,13 +43,20 @@ static_library("libevent") {
- "mac/event-config.h",
- ]
- include_dirs = [ "mac" ]
-- } else if (is_linux) {
-+ } else if (is_linux && !is_bsd) {
- sources += [
- "epoll.c",
- "linux/config.h",
- "linux/event-config.h",
- ]
- include_dirs = [ "linux" ]
-+ } else if (is_bsd) {
-+ sources += [
-+ "kqueue.c",
-+ "freebsd/config.h",
-+ "freebsd/event-config.h",
-+ ]
-+ include_dirs = [ "freebsd" ]
- } else if (is_android) {
- sources += [
- "android/config.h",
diff --git a/www/iridium/files/patch-base_threading_platform__thread.h b/www/iridium/files/patch-base_threading_platform__thread.h
deleted file mode 100644
index 0ff2fc68f36a..000000000000
--- a/www/iridium/files/patch-base_threading_platform__thread.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/threading/platform_thread.h.orig 2019-10-21 19:06:18 UTC
-+++ base/threading/platform_thread.h
-@@ -221,7 +221,7 @@ class BASE_EXPORT PlatformThread {
-
- static ThreadPriority GetCurrentThreadPriority();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-base_threading_platform__thread__linux.cc b/www/iridium/files/patch-base_threading_platform__thread__linux.cc
deleted file mode 100644
index 78123188b58a..000000000000
--- a/www/iridium/files/patch-base_threading_platform__thread__linux.cc
+++ /dev/null
@@ -1,30 +0,0 @@
---- base/threading/platform_thread_linux.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/threading/platform_thread_linux.cc
-@@ -18,7 +18,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>
-@@ -99,7 +101,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;
-@@ -141,7 +143,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/www/iridium/files/patch-base_threading_platform__thread__posix.cc b/www/iridium/files/patch-base_threading_platform__thread__posix.cc
deleted file mode 100644
index e2681e175e63..000000000000
--- a/www/iridium/files/patch-base_threading_platform__thread__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/threading/platform_thread_posix.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/threading/platform_thread_posix.cc
-@@ -66,7 +66,7 @@ void* ThreadFunc(void* params) {
- if (!thread_params->joinable)
- base::ThreadRestrictions::SetSingletonAllowed(false);
-
--#if !defined(OS_NACL)
-+#if !defined(OS_NACL) && !defined(OS_BSD)
- // Threads on linux/android may inherit their priority from the thread
- // where they were created. This explicitly sets the priority of all new
- // threads.
diff --git a/www/iridium/files/patch-base_threading_platform__thread__unittest.cc b/www/iridium/files/patch-base_threading_platform__thread__unittest.cc
deleted file mode 100644
index b998b2d83f2c..000000000000
--- a/www/iridium/files/patch-base_threading_platform__thread__unittest.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- base/threading/platform_thread_unittest.cc.orig 2020-03-23 15:31:47 UTC
-+++ base/threading/platform_thread_unittest.cc
-@@ -302,7 +302,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)
-+#if defined(OS_LINUX) || 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;
-@@ -398,7 +398,7 @@ 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(THREAD_SANITIZER)) || \
-+ ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(THREAD_SANITIZER)) || \
- (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER))
- EXPECT_EQ(0u, stack_size);
- #else
diff --git a/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc b/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc
deleted file mode 100644
index bdafc95fd2e2..000000000000
--- a/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- base/threading/thread_task_runner_handle.cc.orig 2019-12-16 21:50:40 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/lazy_instance.h"
- #include "base/logging.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/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc
deleted file mode 100644
index fef6ba833abf..000000000000
--- a/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- base/trace_event/malloc_dump_provider.cc.orig 2020-03-16 18:39:41 UTC
-+++ base/trace_event/malloc_dump_provider.cc
-@@ -17,6 +17,8 @@
-
- #if defined(OS_MACOSX)
- #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/www/iridium/files/patch-base_trace__event_process__memory__dump.cc b/www/iridium/files/patch-base_trace__event_process__memory__dump.cc
deleted file mode 100644
index 6624e1d04af6..000000000000
--- a/www/iridium/files/patch-base_trace__event_process__memory__dump.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/trace_event/process_memory_dump.cc.orig 2019-03-11 22:00:51 UTC
-+++ base/trace_event/process_memory_dump.cc
-@@ -94,7 +94,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_MACOSX)
-+#elif defined(OS_MACOSX) || 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/www/iridium/files/patch-base_trace__event_process__memory__dump.h b/www/iridium/files/patch-base_trace__event_process__memory__dump.h
deleted file mode 100644
index 1ae1b93e6409..000000000000
--- a/www/iridium/files/patch-base_trace__event_process__memory__dump.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- base/trace_event/process_memory_dump.h.orig 2019-03-11 22:00:51 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/www/iridium/files/patch-build_config_BUILD.gn b/www/iridium/files/patch-build_config_BUILD.gn
deleted file mode 100644
index 5eadb70887bf..000000000000
--- a/www/iridium/files/patch-build_config_BUILD.gn
+++ /dev/null
@@ -1,30 +0,0 @@
---- build/config/BUILD.gn.orig 2020-03-16 18:40:27 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 && current_cpu == "x64" && enable_iterator_debugging) {
-+ } else if ((is_linux || 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) {
- libs = [
-- "dl",
- "pthread",
-- "rt",
- ]
- }
- }
-@@ -315,7 +313,7 @@ config("executable_config") {
- "//build/config/ios:ios_dynamic_flags",
- "//build/config/ios:ios_executable_flags",
- ]
-- } else if (is_linux || is_android || current_os == "aix") {
-+ } else if (is_linux || is_bsd || is_android || current_os == "aix") {
- configs += [ "//build/config/gcc:executable_config" ]
- if (is_chromecast) {
- configs += [ "//build/config/chromecast:executable_config" ]
diff --git a/www/iridium/files/patch-build_config_BUILDCONFIG.gn b/www/iridium/files/patch-build_config_BUILDCONFIG.gn
deleted file mode 100644
index 7c6d307fbd22..000000000000
--- a/www/iridium/files/patch-build_config_BUILDCONFIG.gn
+++ /dev/null
@@ -1,48 +0,0 @@
---- build/config/BUILDCONFIG.gn.orig 2019-06-04 18:55:15 UTC
-+++ build/config/BUILDCONFIG.gn
-@@ -131,10 +131,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")
-@@ -186,8 +186,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"
-@@ -224,7 +224,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 @@ is_android = current_os == "android"
- is_chromeos = current_os == "chromeos"
- is_fuchsia = current_os == "fuchsia"
- is_ios = current_os == "ios"
--is_linux = current_os == "chromeos" || current_os == "linux"
-+is_linux = current_os == "chromeos" || current_os == "linux" || current_os == "freebsd"
- is_mac = current_os == "mac"
- is_nacl = current_os == "nacl"
- is_win = current_os == "win" || current_os == "winuwp"
-+is_bsd = current_os == "freebsd"
-
- is_posix = !is_win && !is_fuchsia
-
diff --git a/www/iridium/files/patch-build_config_compiler_BUILD.gn b/www/iridium/files/patch-build_config_compiler_BUILD.gn
deleted file mode 100644
index 76e9706a7967..000000000000
--- a/www/iridium/files/patch-build_config_compiler_BUILD.gn
+++ /dev/null
@@ -1,92 +0,0 @@
---- build/config/compiler/BUILD.gn.orig 2020-03-16 18:40:27 UTC
-+++ build/config/compiler/BUILD.gn
-@@ -137,7 +137,7 @@ declare_args() {
- # TODO(vitalybuka):
- # 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel.
- # 'use_xcode_clang' may call old clang.
-- init_stack_vars = !is_android && !use_xcode_clang && !is_official_build
-+ init_stack_vars = !is_android && !use_xcode_clang && !is_official_build && !is_bsd
- }
-
- declare_args() {
-@@ -298,7 +298,7 @@ config("compiler") {
-
- # Linker warnings.
- if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") &&
-- !is_mac && !is_ios && current_os != "aix") {
-+ !is_mac && !is_ios && current_os != "aix" && !is_bsd) {
- # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580
- ldflags += [ "-Wl,--fatal-warnings" ]
- }
-@@ -393,7 +393,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",
-@@ -486,7 +486,7 @@ config("compiler") {
- }
- }
-
-- if (is_clang && !is_nacl && !use_xcode_clang) {
-+ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) {
- cflags += [ "-fcrash-diagnostics-dir=" +
- rebase_path("//tools/clang/crashreports", root_build_dir) ]
-
-@@ -767,7 +767,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" ]
- }
-@@ -1118,7 +1118,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,." ]
- }
-@@ -1507,7 +1507,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 += [
-@@ -1741,7 +1741,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_mac && !is_ios) || is_fuchsia) {
-+ if ((is_posix && !is_nacl && !is_mac && !is_ios && !is_bsd) || is_fuchsia) {
- arflags = [ "-T" ]
- } else if (is_win && use_lld) {
- arflags = [ "/llvmlibthin" ]
-@@ -2334,7 +2334,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" ]
- }
-
- if (use_debug_fission && !is_nacl && !is_android) {
-@@ -2355,7 +2355,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_mac && !is_ios && !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/www/iridium/files/patch-build_config_compiler_compiler.gni b/www/iridium/files/patch-build_config_compiler_compiler.gni
deleted file mode 100644
index 5826499ed89a..000000000000
--- a/www/iridium/files/patch-build_config_compiler_compiler.gni
+++ /dev/null
@@ -1,20 +0,0 @@
---- build/config/compiler/compiler.gni.orig 2020-03-16 18:40:27 UTC
-+++ build/config/compiler/compiler.gni
-@@ -47,7 +47,7 @@ declare_args() {
- # only two architectures that are currently checked in). Turn this off when
- # you are using a custom toolchain and need to control -B in cflags.
- linux_use_bundled_binutils =
-- linux_use_bundled_binutils_override && is_linux &&
-+ linux_use_bundled_binutils_override && (is_linux && !is_bsd) &&
- (current_cpu == "x64" || current_cpu == "x86")
- binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin",
- root_build_dir)
-@@ -200,7 +200,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/www/iridium/files/patch-build_config_features.gni b/www/iridium/files/patch-build_config_features.gni
deleted file mode 100644
index c98a61186fa9..000000000000
--- a/www/iridium/files/patch-build_config_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/features.gni.orig 2019-10-21 19:06:18 UTC
-+++ build/config/features.gni
-@@ -26,7 +26,7 @@ declare_args() {
- proprietary_codecs = is_chrome_branded || is_chromecast
-
- # libudev usage. This currently only affects the content layer.
-- use_udev = is_linux && !is_chromecast
-+ use_udev = is_linux && !is_chromecast && !is_bsd
-
- use_dbus = is_linux && !is_chromecast
-
diff --git a/www/iridium/files/patch-build_config_freetype_freetype.gni b/www/iridium/files/patch-build_config_freetype_freetype.gni
deleted file mode 100644
index 17bed01510f8..000000000000
--- a/www/iridium/files/patch-build_config_freetype_freetype.gni
+++ /dev/null
@@ -1,9 +0,0 @@
---- build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 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/www/iridium/files/patch-build_config_linux_BUILD.gn b/www/iridium/files/patch-build_config_linux_BUILD.gn
deleted file mode 100644
index 94faef049b08..000000000000
--- a/www/iridium/files/patch-build_config_linux_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/config/linux/BUILD.gn.orig 2019-03-11 22:00:52 UTC
-+++ build/config/linux/BUILD.gn
-@@ -28,7 +28,7 @@ config("runtime_library") {
- }
-
- if ((!is_chromeos || 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/www/iridium/files/patch-build_config_linux_pkg-config.py b/www/iridium/files/patch-build_config_linux_pkg-config.py
deleted file mode 100644
index 8a2865a024c0..000000000000
--- a/www/iridium/files/patch-build_config_linux_pkg-config.py
+++ /dev/null
@@ -1,26 +0,0 @@
---- build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC
-+++ build/config/linux/pkg-config.py
-@@ -59,8 +59,12 @@ def SetConfigPath(options):
- print("You must specify an architecture via -a if using a sysroot.")
- sys.exit(1)
-
-- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig'
-- libdir += ':' + sysroot + '/usr/share/pkgconfig'
-+ if "linux" in sys.platform:
-+ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig'
-+ libdir += ':' + sysroot + '/usr/share/pkgconfig'
-+ elif "bsd" in sys.platform:
-+ libdir = sysroot + '/libdata/pkgconfig'
-+ libdir += ':' + '/usr/libdata/pkgconfig'
- os.environ['PKG_CONFIG_LIBDIR'] = libdir
- return libdir
-
-@@ -109,7 +113,7 @@ def main():
- # If this is run on non-Linux platforms, just return nothing and indicate
- # success. This allows us to "kind of emulate" a Linux build from other
- # platforms.
-- if "linux" not in sys.platform:
-+ if "bsd" not in sys.platform:
- print("[[],[],[],[],[]]")
- return 0
-
diff --git a/www/iridium/files/patch-build_config_sysroot.gni b/www/iridium/files/patch-build_config_sysroot.gni
deleted file mode 100644
index 83a58cad544a..000000000000
--- a/www/iridium/files/patch-build_config_sysroot.gni
+++ /dev/null
@@ -1,15 +0,0 @@
---- build/config/sysroot.gni.orig 2019-03-11 22:00:52 UTC
-+++ build/config/sysroot.gni
-@@ -15,9 +15,10 @@ declare_args() {
- # The absolute path to directory containing linux sysroot images
- target_sysroot_dir = "//build/linux"
-
-- use_sysroot = current_cpu == "x86" || current_cpu == "x64" ||
-+ use_sysroot = !is_bsd && (
-+ current_cpu == "x86" || current_cpu == "x64" ||
- current_cpu == "arm" || current_cpu == "arm64" ||
-- current_cpu == "mipsel" || current_cpu == "mips64el"
-+ current_cpu == "mipsel" || current_cpu == "mips64el")
- }
-
- if (current_os == target_os && current_cpu == target_cpu &&
diff --git a/www/iridium/files/patch-build_detect__host__arch.py b/www/iridium/files/patch-build_detect__host__arch.py
deleted file mode 100644
index 588896662607..000000000000
--- a/www/iridium/files/patch-build_detect__host__arch.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC
-+++ build/detect_host_arch.py
-@@ -21,6 +21,8 @@ def HostArch():
- host_arch = 'ia32'
- elif host_arch in ['x86_64', 'amd64']:
- host_arch = 'x64'
-+ elif host_arch.startswith('arm64'):
-+ host_arch = 'arm64'
- elif host_arch.startswith('arm'):
- host_arch = 'arm'
- elif host_arch.startswith('aarch64'):
diff --git a/www/iridium/files/patch-build_gn__run__binary.py b/www/iridium/files/patch-build_gn__run__binary.py
deleted file mode 100644
index d9e733834b4a..000000000000
--- a/www/iridium/files/patch-build_gn__run__binary.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC
-+++ build/gn_run_binary.py
-@@ -24,7 +24,7 @@ if not os.path.isabs(path):
- # The rest of the arguments are passed directly to the executable.
- args = [path] + sys.argv[2:]
-
--ret = subprocess.call(args)
-+ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"})
- if ret != 0:
- if ret <= -100:
- # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/www/iridium/files/patch-build_linux_chrome.map b/www/iridium/files/patch-build_linux_chrome.map
deleted file mode 100644
index 7465bc9773c5..000000000000
--- a/www/iridium/files/patch-build_linux_chrome.map
+++ /dev/null
@@ -1,29 +0,0 @@
---- build/linux/chrome.map.orig 2019-03-11 22:00:52 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/www/iridium/files/patch-build_linux_libpci_BUILD.gn b/www/iridium/files/patch-build_linux_libpci_BUILD.gn
deleted file mode 100644
index 86373b5ebf39..000000000000
--- a/www/iridium/files/patch-build_linux_libpci_BUILD.gn
+++ /dev/null
@@ -1,53 +0,0 @@
---- build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC
-+++ build/linux/libpci/BUILD.gn
-@@ -3,20 +3,36 @@
- # found in the LICENSE file.
-
- import("//tools/generate_library_loader/generate_library_loader.gni")
-+import("//build/config/linux/pkg_config.gni")
-
--# This generates a target named "libpci".
--generate_library_loader("libpci") {
-- name = "LibPciLoader"
-- output_h = "libpci.h"
-- output_cc = "libpci_loader.cc"
-- header = "<pci/pci.h>"
-+declare_args() {
-+ use_system_libpci = is_bsd
-+}
-
-- functions = [
-- "pci_alloc",
-- "pci_init",
-- "pci_cleanup",
-- "pci_scan_bus",
-- "pci_fill_info",
-- "pci_lookup_name",
-- ]
-+if (use_system_libpci) {
-+ pkg_config("system_libpci") {
-+ packages = [ "libpci" ]
-+ }
-+
-+ source_set("libpci") {
-+ public_configs = [ ":system_libpci" ]
-+ }
-+
-+} else {
-+ # This generates a target named "libpci".
-+ generate_library_loader("libpci") {
-+ name = "LibPciLoader"
-+ output_h = "libpci.h"
-+ output_cc = "libpci_loader.cc"
-+ header = "<pci/pci.h>"
-+
-+ functions = [
-+ "pci_alloc",
-+ "pci_init",
-+ "pci_cleanup",
-+ "pci_scan_bus",
-+ "pci_fill_info",
-+ "pci_lookup_name",
-+ ]
-+ }
- }
diff --git a/www/iridium/files/patch-build_linux_unbundle_libusb.gn b/www/iridium/files/patch-build_linux_unbundle_libusb.gn
deleted file mode 100644
index 1cc0b00012c6..000000000000
--- a/www/iridium/files/patch-build_linux_unbundle_libusb.gn
+++ /dev/null
@@ -1,27 +0,0 @@
---- build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC
-+++ build/linux/unbundle/libusb.gn
-@@ -0,0 +1,24 @@
-+# Copyright 2016 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.
-+
-+import("//build/config/linux/pkg_config.gni")
-+import("//build/shim_headers.gni")
-+
-+pkg_config("system_libusb") {
-+ packages = [ "libusb-1.0" ]
-+}
-+
-+shim_headers("libusb_shim") {
-+ root_path = "src/libusb"
-+ headers = [
-+ "libusb.h",
-+ ]
-+}
-+
-+source_set("libusb") {
-+ deps = [
-+ ":libusb_shim",
-+ ]
-+ public_configs = [ ":system_libusb" ]
-+}
diff --git a/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py b/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py
deleted file mode 100644
index ca2d4fd5e12e..000000000000
--- a/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- build/linux/unbundle/replace_gn_files.py.orig 2019-03-11 22:00:52 UTC
-+++ build/linux/unbundle/replace_gn_files.py
-@@ -27,6 +27,7 @@ REPLACEMENTS = {
- 'libevent': 'base/third_party/libevent/BUILD.gn',
- 'libjpeg': 'third_party/libjpeg.gni',
- 'libpng': 'third_party/libpng/BUILD.gn',
-+ 'libusb': 'third_party/libusb/BUILD.gn',
- 'libvpx': 'third_party/libvpx/BUILD.gn',
- 'libwebp': 'third_party/libwebp/BUILD.gn',
- 'libxml': 'third_party/libxml/BUILD.gn',
diff --git a/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni b/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni
deleted file mode 100644
index 4d315485b923..000000000000
--- a/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni
+++ /dev/null
@@ -1,45 +0,0 @@
---- build/toolchain/gcc_toolchain.gni.orig 2020-03-16 18:40:27 UTC
-+++ build/toolchain/gcc_toolchain.gni
-@@ -36,6 +36,11 @@ if (is_linux && target_os == "android") {
- enable_resource_whitelist_generation = false
- }
-
-+declare_args() {
-+ extra_cxxflags = ""
-+ extra_ldflags = ""
-+}
-+
- # This template defines a toolchain for something that works like gcc
- # (including clang).
- #
-@@ -577,13 +582,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/www/iridium/files/patch-build_toolchain_get__concurrent__links.py b/www/iridium/files/patch-build_toolchain_get__concurrent__links.py
deleted file mode 100644
index 45bc3d0a520e..000000000000
--- a/www/iridium/files/patch-build_toolchain_get__concurrent__links.py
+++ /dev/null
@@ -1,17 +0,0 @@
---- build/toolchain/get_concurrent_links.py.orig 2019-06-04 18:55:15 UTC
-+++ build/toolchain/get_concurrent_links.py
-@@ -48,6 +48,14 @@ def _GetTotalMemoryInBytes():
- return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
- except Exception:
- return 0
-+ elif sys.platform.startswith('freebsd'):
-+ try:
-+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem']))
-+ # With -fuse-lld it doesn't take a lot of ram, feel free to change that
-+ # 1 * ... to needed amount
-+ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB
-+ except Exception:
-+ return 1
- # TODO(scottmg): Implement this for other platforms.
- return 0
-
diff --git a/www/iridium/files/patch-build_toolchain_linux_BUILD.gn b/www/iridium/files/patch-build_toolchain_linux_BUILD.gn
deleted file mode 100644
index 29b9160f7b07..000000000000
--- a/www/iridium/files/patch-build_toolchain_linux_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- build/toolchain/linux/BUILD.gn.orig 2019-04-30 22:22:28 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/www/iridium/files/patch-cc_BUILD.gn b/www/iridium/files/patch-cc_BUILD.gn
deleted file mode 100644
index f2e64c64d738..000000000000
--- a/www/iridium/files/patch-cc_BUILD.gn
+++ /dev/null
@@ -1,19 +0,0 @@
---- cc/BUILD.gn.orig 2020-03-16 18:40:27 UTC
-+++ cc/BUILD.gn
-@@ -582,7 +582,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" ]
- }
- }
-@@ -788,7 +788,6 @@ cc_test("cc_unittests") {
- ]
- data_deps = [
- "//testing/buildbot/filters:cc_unittests_filters",
-- "//third_party/mesa_headers",
- ]
-
- if (enable_vulkan) {
diff --git a/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc
deleted file mode 100644
index b412aea9e22b..000000000000
--- a/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- cc/layers/scrollbar_layer_impl_base.cc.orig 2019-12-16 21:50:40 UTC
-+++ cc/layers/scrollbar_layer_impl_base.cc
-@@ -220,8 +220,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect
- int thumb_offset = TrackStart();
- if (maximum > 0) {
- float ratio = clamped_current_pos / maximum;
-- float max_offset = track_length - thumb_length;
-- thumb_offset += static_cast<int>(ratio * max_offset);
-+ float _max_offset = track_length - thumb_length;
-+ thumb_offset += static_cast<int>(ratio * _max_offset);
- }
-
- float thumb_thickness_adjustment =
diff --git a/www/iridium/files/patch-cc_trees_property__tree.cc b/www/iridium/files/patch-cc_trees_property__tree.cc
deleted file mode 100644
index d8e7bed84ae0..000000000000
--- a/www/iridium/files/patch-cc_trees_property__tree.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- cc/trees/property_tree.cc.orig 2020-03-16 18:40:27 UTC
-+++ cc/trees/property_tree.cc
-@@ -1237,13 +1237,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/www/iridium/files/patch-chrome_app_chrome__command__ids.h b/www/iridium/files/patch-chrome_app_chrome__command__ids.h
deleted file mode 100644
index 983a9acf8891..000000000000
--- a/www/iridium/files/patch-chrome_app_chrome__command__ids.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/chrome_command_ids.h.orig 2020-02-03 21:53:28 UTC
-+++ chrome/app/chrome_command_ids.h
-@@ -62,7 +62,7 @@
- #define IDC_VISIT_DESKTOP_OF_LRU_USER_2 34049
- #define IDC_VISIT_DESKTOP_OF_LRU_USER_3 34050
-
--#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/www/iridium/files/patch-chrome_app_chrome__main.cc b/www/iridium/files/patch-chrome_app_chrome__main.cc
deleted file mode 100644
index 28a06a8d2f72..000000000000
--- a/www/iridium/files/patch-chrome_app_chrome__main.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- chrome/app/chrome_main.cc.orig 2020-04-10 00:39:09 UTC
-+++ chrome/app/chrome_main.cc
-@@ -118,11 +118,11 @@ int ChromeMain(int argc, const char** argv) {
- MainThreadStackSamplingProfiler scoped_sampling_profiler;
-
- // Chrome-specific process modes.
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- if (command_line->HasSwitch(switches::kHeadless)) {
- return headless::HeadlessShellMain(params);
- }
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
-
- #if !defined(CHROME_MULTIPLE_DLL_CHILD)
- net::trace_urlreq_cb = &trace_url_request;
diff --git a/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc b/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc
deleted file mode 100644
index 88a9416974a2..000000000000
--- a/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc
+++ /dev/null
@@ -1,159 +0,0 @@
---- chrome/app/chrome_main_delegate.cc.orig 2020-03-16 18:40:27 UTC
-+++ chrome/app/chrome_main_delegate.cc
-@@ -100,7 +100,7 @@
- #include "chrome/app/shutdown_signal_handlers_posix.h"
- #endif
-
--#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX)
-+#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD)
- #include "components/nacl/common/nacl_paths.h"
- #include "components/nacl/zygote/nacl_fork_delegate_linux.h"
- #endif
-@@ -142,12 +142,12 @@
- #include "v8/include/v8.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/environment.h"
- #endif
-
- #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) || \
-- defined(OS_LINUX)
-+ defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/policy/policy_path_parser.h"
- #include "components/crash/content/app/crashpad.h"
- #endif
-@@ -246,7 +246,7 @@ bool UseHooks() {
-
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- void AdjustLinuxOOMScore(const std::string& process_type) {
- // Browsers and zygotes should still be killable, but killed last.
- const int kZygoteScore = 0;
-@@ -305,13 +305,13 @@ void AdjustLinuxOOMScore(const std::string& process_ty
- if (score > -1)
- base::AdjustOOMScore(base::GetCurrentProcId(), score);
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) && !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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // The zygote process opens the resources for the renderers.
- process_type == service_manager::switches::kZygoteProcess ||
- #endif
-@@ -350,7 +350,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) ||
-@@ -360,7 +360,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_MACOSX) && !defined(OS_ANDROID)
- void SIGTERMProfilingShutdown(int signal) {
-@@ -414,7 +414,7 @@ void InitializeUserDataDir(base::CommandLine* command_
- std::string process_type =
- command_line->GetSwitchValueASCII(switches::kProcessType);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -426,7 +426,7 @@ void InitializeUserDataDir(base::CommandLine* command_
- user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string);
- }
- }
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
- #if defined(OS_MACOSX)
- policy::path_parser::CheckUserDataDirPolicy(&user_data_dir);
- #endif // OS_MAC
-@@ -483,7 +483,7 @@ void InitLogging(const std::string& process_type) {
- void RecordMainStartupMetrics(base::TimeTicks exe_entry_point_ticks) {
- if (!exe_entry_point_ticks.is_null())
- startup_metric_utils::RecordExeMainEntryPointTicks(exe_entry_point_ticks);
--#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // Record the startup process creation time on supported platforms.
- startup_metric_utils::RecordStartupProcessCreationTime(
- base::Process::Current().CreationTime());
-@@ -688,7 +688,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
-@@ -712,7 +712,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi
- #if defined(OS_CHROMEOS)
- chromeos::RegisterPathProvider();
- #endif
--#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX)
-+#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD)
- nacl::RegisterPathProvider();
- #endif
-
-@@ -904,7 +904,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- #if defined(OS_WIN)
- child_process_logging::Init();
- #endif
--#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;
-@@ -1028,7 +1028,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- InitializePDF();
- #endif
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- // Zygote needs to call InitCrashReporter() in RunZygote().
- if (process_type != service_manager::switches::kZygoteProcess) {
- #if defined(OS_ANDROID)
-@@ -1049,7 +1049,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
- }
- #endif // defined(OS_ANDROID)
- }
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
-
- // After all the platform Breakpads have been initialized, store the command
- // line for crash reporting.
-@@ -1059,7 +1059,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)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- AdjustLinuxOOMScore(process_type);
- #endif
- #if defined(OS_WIN)
-@@ -1105,7 +1105,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(CHROME_MULTIPLE_DLL_BROWSER) && \
-- !defined(OS_LINUX)
-+ !defined(OS_LINUX) && !defined(OS_BSD)
- {switches::kNaClLoaderProcess, NaClMain},
- #else
- {"<invalid>", NULL}, // To avoid constant array of size 0
diff --git a/www/iridium/files/patch-chrome_app_chromium__strings.grd b/www/iridium/files/patch-chrome_app_chromium__strings.grd
deleted file mode 100644
index f2fafb3fc1d4..000000000000
--- a/www/iridium/files/patch-chrome_app_chromium__strings.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/chromium_strings.grd.orig 2020-04-10 00:39:12 UTC
-+++ chrome/app/chromium_strings.grd
-@@ -649,7 +649,7 @@ The browser 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 the browser to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>.
- </message>
-@@ -750,7 +750,7 @@ The browser 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 browsr process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). The browser 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 the browser.
- </message>
-@@ -964,7 +964,7 @@ The browser 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 the browser to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph>
- </message>
diff --git a/www/iridium/files/patch-chrome_app_generated__resources.grd b/www/iridium/files/patch-chrome_app_generated__resources.grd
deleted file mode 100644
index fcae380a37c1..000000000000
--- a/www/iridium/files/patch-chrome_app_generated__resources.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/generated_resources.grd.orig 2020-03-16 18:40:27 UTC
-+++ chrome/app/generated_resources.grd
-@@ -5141,7 +5141,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>
-@@ -6861,7 +6861,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>
-@@ -7822,7 +7822,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/www/iridium/files/patch-chrome_app_google__chrome__strings.grd b/www/iridium/files/patch-chrome_app_google__chrome__strings.grd
deleted file mode 100644
index 47ad7a871540..000000000000
--- a/www/iridium/files/patch-chrome_app_google__chrome__strings.grd
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/app/google_chrome_strings.grd.orig 2020-03-16 18:40:27 UTC
-+++ chrome/app/google_chrome_strings.grd
-@@ -661,7 +661,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>
-@@ -762,7 +762,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>
-@@ -991,7 +991,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/www/iridium/files/patch-chrome_app_settings__strings.grdp b/www/iridium/files/patch-chrome_app_settings__strings.grdp
deleted file mode 100644
index 18bd3350bdf8..000000000000
--- a/www/iridium/files/patch-chrome_app_settings__strings.grdp
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/app/settings_strings.grdp.orig 2020-03-16 18:40:29 UTC
-+++ chrome/app/settings_strings.grdp
-@@ -811,7 +811,7 @@
- Themes
- </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>
-@@ -825,7 +825,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/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
deleted file mode 100644
index 3678715840b5..000000000000
--- a/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- chrome/app/shutdown_signal_handlers_posix.cc.orig 2019-04-30 22:22:32 UTC
-+++ chrome/app/shutdown_signal_handlers_posix.cc
-@@ -186,12 +186,18 @@ void InstallShutdownSignalHandlers(
- g_pipe_pid = getpid();
- g_shutdown_pipe_read_fd = pipefd[0];
- g_shutdown_pipe_write_fd = pipefd[1];
-+#if defined(OS_BSD)
-+ // PTHREAD_STACK_MIN causes chromium to crash under FreeBSD,
-+ // we request the default pthread stack size by specifying 0 here.
-+ const size_t kShutdownDetectorThreadStackSize = 0;
-+#else
- #if !defined(ADDRESS_SANITIZER)
- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
- #else
- // ASan instrumentation bloats the stack frames, so we need to increase the
- // stack size to avoid hitting the guard page.
- const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4;
-+#endif
- #endif
- ShutdownDetector* detector = new ShutdownDetector(
- g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner);
diff --git a/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
deleted file mode 100644
index 34bf723d2edc..000000000000
--- a/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/theme/chrome_unscaled_resources.grd.orig 2020-02-03 21:53:28 UTC
-+++ chrome/app/theme/chrome_unscaled_resources.grd
-@@ -18,7 +18,7 @@
- <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/product_logo_64.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/product_logo_128.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_256" file="google_chrome/product_logo_256.png" type="BINDATA" />
-- <if expr="is_linux">
-+ <if expr="is_posix">
- <include name="IDR_PRODUCT_LOGO_128_BETA" file="google_chrome/product_logo_128_beta.png" type="BINDATA" />
- <include name="IDR_PRODUCT_LOGO_128_DEV" file="google_chrome/product_logo_128_dev.png" type="BINDATA" />
- </if>
diff --git a/www/iridium/files/patch-chrome_app_theme_theme__resources.grd b/www/iridium/files/patch-chrome_app_theme_theme__resources.grd
deleted file mode 100644
index a6e63ac69942..000000000000
--- a/www/iridium/files/patch-chrome_app_theme_theme__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/app/theme/theme_resources.grd.orig 2019-10-30 15:46:23 UTC
-+++ chrome/app/theme/theme_resources.grd
-@@ -25,7 +25,7 @@
- <!-- KEEP THESE IN ALPHABETICAL ORDER! DO NOT ADD TO RANDOM PLACES JUST
- BECAUSE YOUR RESOURCES ARE FUNCTIONALLY RELATED OR FALL UNDER THE
- SAME CONDITIONALS. -->
-- <if expr="is_linux or is_win or chromeos">
-+ <if expr="is_posix or is_win or chromeos">
- <structure type="chrome_scaled_image" name="IDR_ACCESSIBILITY_CAPTIONS_PREVIEW_BACKGROUND" file="common/captions-preview-bg.png" />
- </if>
- <if expr="toolkit_views and not is_macosx">
diff --git a/www/iridium/files/patch-chrome_browser_about__flags.cc b/www/iridium/files/patch-chrome_browser_about__flags.cc
deleted file mode 100644
index aec113703d20..000000000000
--- a/www/iridium/files/patch-chrome_browser_about__flags.cc
+++ /dev/null
@@ -1,205 +0,0 @@
---- chrome/browser/about_flags.cc.orig 2020-04-03 04:11:28 UTC
-+++ chrome/browser/about_flags.cc
-@@ -170,7 +170,7 @@
- #include "ui/gl/gl_switches.h"
- #include "ui/native_theme/native_theme_features.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/allocator/buildflags.h"
- #endif
-
-@@ -834,7 +834,7 @@ const FeatureEntry::Choice kMemlogSamplingRateChoices[
- heap_profiling::kMemlogSamplingRate5MB},
- };
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = {
- {"DocumentUseServerScore", "true"},
- {"DocumentUseClientScore", "false"},
-@@ -872,7 +872,7 @@ const FeatureEntry::FeatureVariation kOmniboxDocumentP
- base::size(kOmniboxDocumentProviderClientScoring), nullptr},
- {"server and client scores", kOmniboxDocumentProviderServerAndClientScoring,
- base::size(kOmniboxDocumentProviderServerAndClientScoring), nullptr}};
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
-
- const FeatureEntry::FeatureParam kOmniboxOnFocusSuggestionsParamSERP[] = {
- {"ZeroSuggestVariant:6:*", "RemoteSendUrl"}};
-@@ -994,14 +994,14 @@ const FeatureEntry::FeatureVariation kOmniboxMaxURLMat
- {"6 matches", kOmniboxMaxURLMatches6, base::size(kOmniboxMaxURLMatches6),
- nullptr}};
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const FeatureEntry::FeatureParam kTranslateBubbleUITab[] = {
- {language::kTranslateUIBubbleKey, language::kTranslateUIBubbleTabValue}};
-
- const FeatureEntry::FeatureVariation kTranslateBubbleUIVariations[] = {
- {"Tab", kTranslateBubbleUITab, base::size(kTranslateBubbleUITab), nullptr}};
--#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS
-+#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS || OS_BSD
-
- const FeatureEntry::FeatureParam kMarkHttpAsDangerous[] = {
- {security_state::features::kMarkHttpAsFeatureParameterName,
-@@ -2031,13 +2031,13 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kCloudPrintXpsDescription, kOsWin,
- SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps)},
- #endif // OS_WIN
--#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,
-@@ -2074,14 +2074,14 @@ const FeatureEntry kFeatureEntries[] = {
- "OverrideTranslateTriggerInIndia")},
- #endif // OS_ANDROID
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"translate-ui-bubble-options", flag_descriptions::kTranslateBubbleUIName,
- flag_descriptions::kTranslateBubbleUIDescription, kOsDesktop,
- FEATURE_WITH_PARAMS_VALUE_TYPE(language::kUseButtonTranslateBubbleUi,
- kTranslateBubbleUIVariations,
- "UseButtonTranslateBubbleUI")},
--#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS
-+#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS || OS_BSD
-
- #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) && !defined(OS_CHROMEOS)
- {"enable-native-notifications",
-@@ -2159,13 +2159,13 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kTerminalSystemAppSplitsDescription, kOsCrOS,
- FEATURE_VALUE_TYPE(features::kTerminalSystemAppSplits)},
- #endif // OS_CHROMEOS
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- #if BUILDFLAG(USE_TCMALLOC)
- {"dynamic-tcmalloc-tuning", flag_descriptions::kDynamicTcmallocName,
- flag_descriptions::kDynamicTcmallocDescription, kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(performance_manager::features::kDynamicTcmallocTuning)},
- #endif // BUILDFLAG(USE_TCMALLOC)
--#endif // OS_CHROMEOS || OS_LINUX
-+#endif // OS_CHROMEOS || OS_LINUX || defined(OS_BSD)
- #if defined(OS_ANDROID)
- {"enable-credit-card-assist", flag_descriptions::kCreditCardAssistName,
- flag_descriptions::kCreditCardAssistDescription, kOsAndroid,
-@@ -2239,7 +2239,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kEnableLitePageServerPreviewsDescription, kOsAndroid,
- FEATURE_VALUE_TYPE(previews::features::kLitePageServerPreviews)},
- #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,
- SINGLE_VALUE_TYPE(
-@@ -2907,7 +2907,7 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(
- omnibox::kHistoryQuickProviderAllowMidwordContinuations)},
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- {"omnibox-experimental-keyword-mode",
- flag_descriptions::kOmniboxExperimentalKeywordModeName,
- flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop,
-@@ -2956,7 +2956,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kOmniboxAutocompleteTitlesName,
- flag_descriptions::kOmniboxAutocompleteTitlesDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(omnibox::kAutocompleteTitles)},
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
-
- {"enable-speculative-service-worker-start-on-query-input",
- flag_descriptions::kSpeculativeServiceWorkerStartOnQueryInputName,
-@@ -3182,13 +3182,13 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kClickToOpenPDFDescription, kOsAll,
- FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)},
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- {"direct-manipulation-stylus",
- flag_descriptions::kDirectManipulationStylusName,
- flag_descriptions::kDirectManipulationStylusDescription,
- kOsWin | kOsMac | kOsLinux,
- FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)},
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if !defined(OS_ANDROID)
- {"ntp-confirm-suggestion-removals",
-@@ -3850,12 +3850,12 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(kClickToCallDetectionV2)},
- #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"remote-copy-receiver", flag_descriptions::kRemoteCopyReceiverName,
- flag_descriptions::kRemoteCopyReceiverDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(kRemoteCopyReceiver)},
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"shared-clipboard-receiver",
-@@ -3899,7 +3899,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kSharingUseDeviceInfoDescription, kOsAll,
- FEATURE_VALUE_TYPE(kSharingUseDeviceInfo)},
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"sharing-peer-connection-receiver",
- flag_descriptions::kSharingPeerConnectionReceiverName,
-@@ -3910,7 +3910,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kSharingPeerConnectionSenderName,
- flag_descriptions::kSharingPeerConnectionSenderDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(kSharingPeerConnectionSender)},
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"sharing-qr-code-generator",
-@@ -3985,13 +3985,13 @@ const FeatureEntry kFeatureEntries[] = {
- FEATURE_VALUE_TYPE(printing::features::kEnableCustomMacPaperSizes)},
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- {"enable-reopen-tab-in-product-help",
- flag_descriptions::kReopenTabInProductHelpName,
- flag_descriptions::kReopenTabInProductHelpDescription, kOsDesktop,
- FEATURE_VALUE_TYPE(feature_engagement::kIPHReopenTabFeature)},
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- {"enable-audio-focus-enforcement",
-@@ -4436,7 +4436,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kEnableSyncUSSNigoriDescription, kOsAll,
- FEATURE_VALUE_TYPE(switches::kSyncUSSNigori)},
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- {"global-media-controls", flag_descriptions::kGlobalMediaControlsName,
- flag_descriptions::kGlobalMediaControlsDescription,
- kOsWin | kOsMac | kOsLinux,
-@@ -4453,7 +4453,7 @@ const FeatureEntry kFeatureEntries[] = {
- flag_descriptions::kGlobalMediaControlsPictureInPictureDescription,
- kOsWin | kOsMac | kOsLinux | kOsCrOS,
- FEATURE_VALUE_TYPE(media::kGlobalMediaControlsPictureInPicture)},
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN)
- {"win-use-native-spellchecker",
diff --git a/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc
deleted file mode 100644
index fb5b5d6cd963..000000000000
--- a/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/after_startup_task_utils.cc.orig 2020-03-16 18:39:43 UTC
-+++ chrome/browser/after_startup_task_utils.cc
-@@ -33,7 +33,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
-
-@@ -120,7 +120,7 @@ void QueueTask(std::unique_ptr<AfterStartupTask> queue
-
- void SetBrowserStartupIsComplete() {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
--#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // Process::Current().CreationTime() is not available on all platforms.
- const base::Time process_creation_time =
- base::Process::Current().CreationTime();
-@@ -128,7 +128,7 @@ void SetBrowserStartupIsComplete() {
- UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime",
- base::Time::Now() - process_creation_time);
- }
--#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount",
- g_after_startup_tasks.Get().size());
- g_startup_complete_flag.Get().Set();
-@@ -137,7 +137,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/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc b/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
deleted file mode 100644
index 7482f7147a70..000000000000
--- a/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc
+++ /dev/null
@@ -1,70 +0,0 @@
---- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2019-04-30 22:22:32 UTC
-+++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc
-@@ -4,6 +4,11 @@
-
- #include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h"
-
-+#if defined(OS_FREEBSD)
-+#include <sys/types.h>
-+#include <net/if_dl.h>
-+#endif
-+
- #include <ifaddrs.h>
- #include <net/if.h>
- #include <stddef.h>
-@@ -106,9 +111,36 @@ class MacAddressProcessor {
- const char* const prefixes[],
- size_t prefixes_count) {
- const int MAC_LENGTH = 6;
-+#if defined(OS_FREEBSD)
-+ struct ifaddrs *ifap, *ifinfo;
-+#else
- struct ifreq ifinfo;
-+#endif
-
- memset(&ifinfo, 0, sizeof(ifinfo));
-+
-+#if defined(OS_FREEBSD)
-+ int result = getifaddrs(&ifap);
-+
-+ if (result != 0)
-+ return true;
-+
-+ result = 1; // no MAC found yet
-+
-+ for (ifinfo = ifap; ifinfo != NULL; ifinfo = ifinfo->ifa_next) {
-+ struct sockaddr* sa = ifinfo->ifa_addr;
-+ if (sa->sa_family == AF_LINK &&
-+ !strncmp(ifinfo->ifa_name, ifaddr->ifa_name,
-+ sizeof(ifinfo->ifa_name) - 1)) {
-+ result = 0;
-+ break;
-+ }
-+ }
-+
-+ char mac_address[6];
-+
-+ strncpy(mac_address, (const char*)LLADDR((struct sockaddr_dl*)ifinfo->ifa_addr), sizeof(mac_address));
-+#else
- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
-
- int sd = socket(AF_INET, SOCK_DGRAM, 0);
-@@ -120,11 +152,18 @@ class MacAddressProcessor {
-
- const char* mac_address =
- static_cast<const char*>(ifinfo.ifr_hwaddr.sa_data);
-+#endif
-+
- if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH))
- return true;
-
-+#if defined(OS_FREEBSD)
-+ if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count))
-+ return true;
-+#else
- if (!IsValidPrefix(ifinfo.ifr_name, prefixes, prefixes_count))
- return true;
-+#endif
-
- // Got one!
- found_mac_address_ =
diff --git a/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
deleted file mode 100644
index 6c2491941fb1..000000000000
--- a/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2020-04-10 00:39:09 UTC
-+++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc
-@@ -60,12 +60,12 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch
- return metrics::OmniboxInputType::QUERY;
-
- case ExternalProtocolHandler::UNKNOWN: {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
- return metrics::OmniboxInputType::EMPTY;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- // If block state is unknown, check if there is an application registered
- // for the url scheme.
- GURL url(scheme + "://");
diff --git a/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc
deleted file mode 100644
index 3aa2fe1a3c84..000000000000
--- a/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/background/background_mode_manager.cc.orig 2020-02-03 21:52:39 UTC
-+++ chrome/browser/background/background_mode_manager.cc
-@@ -797,7 +797,7 @@ gfx::ImageSkia GetStatusTrayIcon() {
- return gfx::ImageSkia();
-
- return family->CreateExact(size).AsImageSkia();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
- IDR_PRODUCT_LOGO_128);
- #elif defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc b/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc
deleted file mode 100644
index de595924ceb4..000000000000
--- a/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/background/background_mode_optimizer.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/background/background_mode_optimizer.cc
-@@ -30,10 +30,10 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod
- switches::kKeepAliveForTest))
- return nullptr;
-
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart))
- return base::WrapUnique(new BackgroundModeOptimizer());
--#endif // defined(OS_WIN) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
-
- return nullptr;
- }
diff --git a/www/iridium/files/patch-chrome_browser_browser__resources.grd b/www/iridium/files/patch-chrome_browser_browser__resources.grd
deleted file mode 100644
index 021a83b1c450..000000000000
--- a/www/iridium/files/patch-chrome_browser_browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/browser_resources.grd.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/browser_resources.grd
-@@ -54,7 +54,7 @@
- <include name="IDR_DISCARDS_MOJO_PUBLIC_BASE_PROCESS_ID_MOJOM_LITE_JS" file="${root_gen_dir}\mojo\public\mojom\base\process_id.mojom-lite.js" compress="gzip" use_base_dir="false" type="BINDATA" />
- <include name="IDR_DISCARDS_SORTED_TABLE_BEHAVIOR_JS" file="resources\discards\sorted_table_behavior.js" compress="gzip" 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" compress="gzip" use_base_dir="false" type="BINDATA" />
- <include name="IDR_BROWSER_SWITCH_PROXY_JS" file="resources\browser_switch\browser_switch_proxy.js" compress="gzip" type="BINDATA" />
- <include name="IDR_BROWSER_SWITCH_HTML" file="resources\browser_switch\browser_switch.html" compress="gzip" allowexternalscript="true" type="BINDATA" />
diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
deleted file mode 100644
index 80a27c8a8950..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/chrome_browser_interface_binders.cc.orig 2020-03-17 09:35:03 UTC
-+++ chrome/browser/chrome_browser_interface_binders.cc
-@@ -97,7 +97,7 @@
- #include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || 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"
-@@ -471,7 +471,7 @@ void PopulateChromeWebUIFrameBinders(
- map);
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider,
- DiscardsUI>(map);
diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc
deleted file mode 100644
index 51bb283f651b..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc
+++ /dev/null
@@ -1,66 +0,0 @@
---- chrome/browser/chrome_browser_main.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/chrome_browser_main.cc
-@@ -224,9 +224,9 @@
- #include "components/arc/metrics/stability_metrics_manager.h"
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include "chrome/browser/first_run/upgrade_util_linux.h"
--#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
-
- #if defined(OS_LINUX)
- #include "components/crash/content/app/breakpad_linux.h"
-@@ -265,7 +265,7 @@
- #endif // defined(OS_WIN)
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/profiles/profile_activity_metrics_recorder.h"
- #endif
-@@ -1068,7 +1068,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs);
- }
-
--#if defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || 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 .
-@@ -1077,7 +1077,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- &user_native_messaging_dir));
- if (!base::PathExists(user_native_messaging_dir))
- base::CreateDirectory(user_native_messaging_dir);
--#endif // defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- }
- #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-
-@@ -1116,7 +1116,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
- }
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD))
- metrics::DesktopSessionDurationTracker::Initialize();
- ProfileActivityMetricsRecorder::Initialize();
- #endif
-@@ -1269,6 +1269,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());
- base::PostTask(
-@@ -1277,6 +1278,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/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc
deleted file mode 100644
index f7f343f3e0b5..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/chrome_browser_main_linux.cc.orig 2019-12-16 21:50:42 UTC
-+++ chrome/browser/chrome_browser_main_linux.cc
-@@ -81,14 +81,16 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() {
- void ChromeBrowserMainPartsLinux::PostProfileInit() {
- ChromeBrowserMainPartsPosix::PostProfileInit();
-
-+#if !defined(OS_BSD)
- bool enabled = (crash_reporter::IsCrashpadEnabled() &&
- crash_reporter::GetUploadsEnabled()) ||
- breakpad::IsCrashReporterEnabled();
- g_browser_process->metrics_service()->RecordBreakpadRegistration(enabled);
-+#endif
- }
-
- void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
--#if !defined(OS_CHROMEOS)
-+#if !defined(OS_CHROMEOS) && !defined(OS_BSD)
- bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
- #endif
-
-@@ -96,7 +98,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/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc
deleted file mode 100644
index d217745edf63..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/chrome_browser_main_posix.cc.orig 2019-06-04 18:55:16 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:
-@@ -166,7 +166,7 @@ void ChromeBrowserMainPartsPosix::PostMainMessageLoopS
- void ChromeBrowserMainPartsPosix::ShowMissingLocaleMessageBox() {
- #if defined(OS_CHROMEOS)
- NOTREACHED(); // Should not ever happen on ChromeOS.
--#elif defined(OS_MACOSX)
-+#elif defined(OS_MACOSX) || defined(OS_BSD)
- // Not called on Mac because we load the locale files differently.
- NOTREACHED();
- #elif defined(USE_AURA)
diff --git a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc
deleted file mode 100644
index 270f07c28cd5..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc
+++ /dev/null
@@ -1,115 +0,0 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/chrome_content_browser_client.cc
-@@ -390,7 +390,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"
-@@ -444,7 +444,7 @@
- #endif // !defined(OS_ANDROID)
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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"
- #include "services/service_manager/sandbox/features.h"
- #endif
-@@ -477,7 +477,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)
- #if defined(USE_X11)
- #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux_x11.h"
- #else
-@@ -820,11 +820,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)) {
-@@ -1269,7 +1271,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)
-@@ -1295,7 +1297,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)
- #if defined(USE_X11)
- main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinuxX11());
- #else
-@@ -2020,7 +2022,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
-@@ -2288,7 +2290,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin
- StackSamplingConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
- process_type, command_line);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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(service_manager::switches::kNoSandbox)) {
-@@ -3564,7 +3566,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst
- }
- }
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
-@@ -3696,7 +3698,7 @@ void ChromeContentBrowserClient::BindCredentialManager
- }
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool ShouldEnableAudioSandbox(const policy::PolicyMap& policies) {
- const base::Value* audio_sandbox_enabled_policy_value =
- policies.GetValue(policy::key::kAudioSandboxEnabled);
-@@ -3714,7 +3716,7 @@ bool ShouldEnableAudioSandbox(const policy::PolicyMap&
-
- void ChromeContentBrowserClient::WillStartServiceManager() {
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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();
-@@ -3999,7 +4001,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati
- }
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- MaybeAddThrottle(&throttles,
- browser_switcher::BrowserSwitcherNavigationThrottle::
- MaybeCreateThrottleFor(handle));
diff --git a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h
deleted file mode 100644
index c8b5fce3597e..000000000000
--- a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/browser/chrome_content_browser_client.h.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/chrome_content_browser_client.h
-@@ -364,12 +364,12 @@ class ChromeContentBrowserClient : public content::Con
- void OverridePageVisibilityState(
- content::RenderFrameHost* render_frame_host,
- content::PageVisibilityState* visibility_state) override;
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- void GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
- content::PosixFileDescriptorInfo* mappings) override;
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- #if defined(OS_WIN)
- bool PreSpawnRenderer(sandbox::TargetPolicy* policy,
- RendererSpawnFlags flags) override;
diff --git a/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc
deleted file mode 100644
index 740824d61e61..000000000000
--- a/www/iridium/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 2019-12-31 13:55:02 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/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc
deleted file mode 100644
index 0f0d4137c678..000000000000
--- a/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc.orig 2019-12-31 13:56:21 UTC
-+++ chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc
-@@ -42,6 +42,9 @@ CrashUploadListCrashpad::CrashUploadListCrashpad() = d
- CrashUploadListCrashpad::~CrashUploadListCrashpad() = default;
-
- std::vector<UploadList::UploadInfo> CrashUploadListCrashpad::LoadUploadList() {
-+#if defined(OS_BSD)
-+ return std::vector<UploadInfo>();
-+#else
- std::vector<crash_reporter::Report> reports;
- crash_reporter::GetReports(&reports);
-
-@@ -53,13 +56,18 @@ std::vector<UploadList::UploadInfo> CrashUploadListCra
- ReportUploadStateToUploadInfoState(report.state)));
- }
- return uploads;
-+#endif
- }
-
- void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin,
- const base::Time& end) {
-+#if !defined(OS_BSD)
- crash_reporter::ClearReportsBetween(begin, end);
-+#endif
- }
-
- void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) {
-+#if !defined(OS_BSD)
- crash_reporter::RequestSingleCrashUpload(local_id);
-+#endif
- }
diff --git a/www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc
deleted file mode 100644
index b1db05585e76..000000000000
--- a/www/iridium/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 2020-02-03 21:52:39 UTC
-+++ chrome/browser/custom_handlers/protocol_handler_registry.cc
-@@ -42,7 +42,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)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-chrome_browser_defaults.cc b/www/iridium/files/patch-chrome_browser_defaults.cc
deleted file mode 100644
index 4cf8684d29d3..000000000000
--- a/www/iridium/files/patch-chrome_browser_defaults.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/defaults.cc.orig 2019-03-11 22:00:53 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/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd b/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd
deleted file mode 100644
index 3a56c04bdb97..000000000000
--- a/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/dev_ui_browser_resources.grd.orig 2020-03-17 09:36:38 UTC
-+++ chrome/browser/dev_ui_browser_resources.grd
-@@ -55,7 +55,7 @@ This file specifies browser resources for developer-fa
- <include name="IDR_PREDICTORS_HTML" file="resources\predictors\predictors.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" compress="gzip" />
- <include name="IDR_PREDICTORS_JS" file="resources\predictors\predictors.js" flattenhtml="true" type="BINDATA" compress="gzip" />
-
-- <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" compress="gzip" />
- <include name="IDR_SANDBOX_INTERNALS_JS" file="resources\sandbox_internals\sandbox_internals.js" type="BINDATA" compress="gzip" />
- </if>
diff --git a/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
deleted file mode 100644
index d53ca3e6d56b..000000000000
--- a/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2020-02-03 21:53:29 UTC
-+++ chrome/browser/devtools/devtools_eye_dropper.cc
-@@ -164,7 +164,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const float kCursorSize = 63;
- const float kDiameter = 63;
- const float kHotspotOffset = 32;
diff --git a/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
deleted file mode 100644
index e77c2c353dd8..000000000000
--- a/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/diagnostics/diagnostics_writer.h.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/diagnostics/diagnostics_writer.h
-@@ -15,6 +15,8 @@ namespace diagnostics {
- // Console base class used internally.
- class SimpleConsole;
-
-+#undef MACHINE
-+
- class DiagnosticsWriter : public DiagnosticsModel::Observer {
- public:
- // The type of formatting done by this writer.
diff --git a/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc
deleted file mode 100644
index e44deb129a08..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -1249,7 +1249,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
- target_info->is_filetype_handled_safely)
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (item->GetOriginalMimeType() == "application/x-x509-user-cert")
- DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
- #endif
-@@ -1273,7 +1273,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe
-
- bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile(
- const base::FilePath& path) {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) {
- return !download_prefs_->ShouldOpenPdfInSystemReader();
- }
diff --git a/www/iridium/files/patch-chrome_browser_download_download__commands.cc b/www/iridium/files/patch-chrome_browser_download_download__commands.cc
deleted file mode 100644
index 7de89e40fd17..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__commands.cc
+++ /dev/null
@@ -1,35 +0,0 @@
---- chrome/browser/download/download_commands.cc.orig 2019-12-16 21:50:42 UTC
-+++ chrome/browser/download/download_commands.cc
-@@ -26,7 +26,7 @@
- #include "net/base/url_util.h"
- #include "ui/base/clipboard/scoped_clipboard_writer.h"
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- #include "chrome/browser/ui/browser.h"
- #include "chrome/browser/ui/browser_finder.h"
- #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
-@@ -153,7 +153,7 @@ void DownloadCommands::ExecuteCommand(Command command)
- model_->ExecuteCommand(this, command);
- }
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- Browser* DownloadCommands::GetBrowser() const {
- chrome::ScopedTabbedBrowserDisplayer browser_displayer(model_->profile());
-@@ -176,12 +176,12 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons
- return IsDownloadPdf() &&
- (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date
- : true);
--#elif defined(OS_MACOSX) || defined(OS_LINUX)
-+#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- return IsDownloadPdf();
- #endif
- }
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- void DownloadCommands::CopyFileAsImageToClipboard() {
- if (model_->GetState() != download::DownloadItem::COMPLETE ||
diff --git a/www/iridium/files/patch-chrome_browser_download_download__commands.h b/www/iridium/files/patch-chrome_browser_download_download__commands.h
deleted file mode 100644
index 126f0123875b..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__commands.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/download/download_commands.h.orig 2020-03-16 18:39:43 UTC
-+++ chrome/browser/download/download_commands.h
-@@ -48,7 +48,7 @@ class DownloadCommands {
- bool IsCommandVisible(Command command) const;
- void ExecuteCommand(Command command);
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- bool IsDownloadPdf() const;
- bool CanOpenPdfInSystemViewer() const;
- Browser* GetBrowser() const;
diff --git a/www/iridium/files/patch-chrome_browser_download_download__item__model.cc b/www/iridium/files/patch-chrome_browser_download_download__item__model.cc
deleted file mode 100644
index 4b367d9bc2e5..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__item__model.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/download/download_item_model.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/download/download_item_model.cc
-@@ -592,7 +592,7 @@ bool DownloadItemModel::IsCommandChecked(
- return download_->GetOpenWhenComplete() ||
- download_crx_util::IsExtensionDownload(*download_);
- case DownloadCommands::ALWAYS_OPEN_TYPE:
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (download_commands->CanOpenPdfInSystemViewer()) {
- DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
- return prefs->ShouldOpenPdfInSystemReader();
-@@ -632,7 +632,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand
- bool is_checked = IsCommandChecked(download_commands,
- DownloadCommands::ALWAYS_OPEN_TYPE);
- DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile());
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (download_commands->CanOpenPdfInSystemViewer()) {
- prefs->SetShouldOpenPdfInSystemReader(!is_checked);
- SetShouldPreferOpeningInBrowser(is_checked);
diff --git a/www/iridium/files/patch-chrome_browser_download_download__prefs.cc b/www/iridium/files/patch-chrome_browser_download_download__prefs.cc
deleted file mode 100644
index ddf30c396fc6..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__prefs.cc
+++ /dev/null
@@ -1,65 +0,0 @@
---- chrome/browser/download/download_prefs.cc.orig 2020-02-03 21:52:39 UTC
-+++ chrome/browser/download/download_prefs.cc
-@@ -63,7 +63,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::FilePath home_dir = base::GetHomeDir();
- if (download_path == home_dir) {
- return true;
-@@ -159,7 +159,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi
- GetDefaultDownloadDirectoryForProfile()));
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- should_open_pdf_in_system_reader_ =
- prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader);
- #endif
-@@ -261,7 +261,7 @@ void DownloadPrefs::RegisterProfilePrefs(
- default_download_path);
- registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory,
- default_download_path);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false);
- #endif
- #if defined(OS_ANDROID)
-@@ -360,7 +360,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const {
- }
-
- bool DownloadPrefs::IsAutoOpenUsed() const {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (ShouldOpenPdfInSystemReader())
- return true;
- #endif
-@@ -374,7 +374,7 @@ bool DownloadPrefs::IsAutoOpenEnabledBasedOnExtension(
- return false;
- DCHECK(extension[0] == base::FilePath::kExtensionSeparator);
- extension.erase(0, 1);
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (base::FilePath::CompareEqualIgnoreCase(extension,
- FILE_PATH_LITERAL("pdf")) &&
- ShouldOpenPdfInSystemReader())
-@@ -411,7 +411,7 @@ void DownloadPrefs::DisableAutoOpenBasedOnExtension(
- SaveAutoOpenState();
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) {
- if (should_open_pdf_in_system_reader_ == should_open)
- return;
-@@ -432,7 +432,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons
- #endif
-
- void DownloadPrefs::ResetAutoOpen() {
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- SetShouldOpenPdfInSystemReader(false);
- #endif
- auto_open_.clear();
diff --git a/www/iridium/files/patch-chrome_browser_download_download__prefs.h b/www/iridium/files/patch-chrome_browser_download_download__prefs.h
deleted file mode 100644
index 702f54b47279..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__prefs.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/download/download_prefs.h.orig 2019-06-04 18:55:17 UTC
-+++ chrome/browser/download/download_prefs.h
-@@ -102,7 +102,7 @@ class DownloadPrefs {
- // Disables auto-open based on file extension.
- void DisableAutoOpenBasedOnExtension(const base::FilePath& file_name);
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- // Store the user preference to disk. If |should_open| is true, also disable
- // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin.
- void SetShouldOpenPdfInSystemReader(bool should_open);
-@@ -150,7 +150,7 @@ class DownloadPrefs {
- AutoOpenCompareFunctor> AutoOpenSet;
- AutoOpenSet auto_open_;
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- bool should_open_pdf_in_system_reader_;
- #endif
-
diff --git a/www/iridium/files/patch-chrome_browser_download_download__query.cc b/www/iridium/files/patch-chrome_browser_download_download__query.cc
deleted file mode 100644
index be6e0537adfc..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__query.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/browser/download/download_query.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/download/download_query.cc
-@@ -27,7 +27,11 @@
- #include "components/download/public/common/download_item.h"
- #include "components/url_formatter/url_formatter.h"
- #include "content/public/browser/content_browser_client.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "url/gurl.h"
-
- using download::DownloadDangerType;
diff --git a/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc b/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc
deleted file mode 100644
index 71f0ca430012..000000000000
--- a/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/download/download_shelf_context_menu.cc.orig 2020-03-16 18:39:43 UTC
-+++ chrome/browser/download/download_shelf_context_menu.cc
-@@ -147,7 +147,7 @@ base::string16 DownloadShelfContextMenu::GetLabelForCo
- : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
- break;
- }
--#elif defined(OS_MACOSX) || defined(OS_LINUX)
-+#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- if (can_open_pdf_in_system_viewer) {
- id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS;
- break;
diff --git a/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn b/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn
deleted file mode 100644
index 4309d41da843..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/extensions/BUILD.gn.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/extensions/BUILD.gn
-@@ -1175,6 +1175,12 @@ jumbo_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/www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc
deleted file mode 100644
index 9d31ad4054df..000000000000
--- a/www/iridium/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 2019-12-16 21:50:42 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/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc
deleted file mode 100644
index 591517203deb..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher.cc.orig 2020-03-17 09:37:45 UTC
-+++ chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher.cc
-@@ -11,7 +11,7 @@
- #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_mac.h"
- #elif defined(OS_WIN)
- #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_win.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.h"
- #endif
-
-@@ -58,7 +58,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::
- return std::make_unique<DeviceInfoFetcherMac>();
- #elif defined(OS_WIN)
- return std::make_unique<DeviceInfoFetcherWin>();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return std::make_unique<DeviceInfoFetcherLinux>();
- #else
- return std::make_unique<StubDeviceFetcher>();
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc
deleted file mode 100644
index 8620f64e57fd..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc
+++ /dev/null
@@ -1,40 +0,0 @@
---- chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.cc.orig 2020-03-18 08:39:42 UTC
-+++ chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.cc
-@@ -8,7 +8,9 @@
- #include <gio/gio.h>
- #endif // defined(USE_GIO)
- #include <sys/stat.h>
-+#if !defined(OS_BSD)
- #include <sys/sysmacros.h>
-+#endif
-
- #include <string>
-
-@@ -90,6 +92,7 @@ enterprise_reporting_private::SettingValue GetScreenlo
- // Implements the logic from the native host installation script. First find the
- // root device identifier, then locate its parent and get its type.
- enterprise_reporting_private::SettingValue GetDiskEncrypted() {
-+#if !defined(OS_BSD)
- struct stat info;
- // First figure out the device identifier.
- stat("/", &info);
-@@ -109,6 +112,7 @@ enterprise_reporting_private::SettingValue GetDiskEncr
- return is_encrypted ? enterprise_reporting_private::SETTING_VALUE_ENABLED
- : enterprise_reporting_private::SETTING_VALUE_DISABLED;
- }
-+#endif
- return enterprise_reporting_private::SETTING_VALUE_UNKNOWN;
- }
-
-@@ -120,7 +124,11 @@ DeviceInfoFetcherLinux::~DeviceInfoFetcherLinux() = de
-
- DeviceInfo DeviceInfoFetcherLinux::Fetch() {
- DeviceInfo device_info;
-+#if defined(OS_FREEBSD)
-+ device_info.os_name = "freebsd";
-+#else
- device_info.os_name = "linux";
-+#endif
- device_info.os_version = GetOsVersion();
- device_info.device_host_name = GetDeviceHostName();
- device_info.device_model = GetDeviceModel();
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc b/www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc
deleted file mode 100644
index 8a3736baf4ee..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_erp_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 2020-04-03 04:11:29 UTC
-+++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc
-@@ -39,7 +39,7 @@
- #include "base/win/registry.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/environment.h"
- #include "base/nix/xdg_util.h"
- #endif
-@@ -382,7 +382,7 @@ base::FilePath GetEndpointVerificationDir() {
- return *GetEndpointVerificationDirOverride();
- #if defined(OS_WIN)
- if (!base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path))
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- std::unique_ptr<base::Environment> env(base::Environment::Create());
- path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar,
- base::nix::kDotConfigDir);
-@@ -393,7 +393,7 @@ base::FilePath GetEndpointVerificationDir() {
- if (true)
- #endif
- return path;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- path = path.AppendASCII("google");
- #else
- path = path.AppendASCII("Google");
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
deleted file mode 100644
index 0b5c1a821007..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2019-04-30 22:22:33 UTC
-+++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc
-@@ -21,6 +21,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL
-
- void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-+#if !defined(OS_BSD)
- if (g_test_device_list.Get().get() != nullptr) {
- base::ThreadTaskRunnerHandle::Get()->PostTask(
- FROM_HERE,
-@@ -34,6 +35,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis
- base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
- base::BindOnce(&RemovableStorageProvider::PopulateDeviceList),
- std::move(callback));
-+#else
-+ NOTIMPLEMENTED();
-+#endif
- }
-
- // static
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h b/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
deleted file mode 100644
index 1cb62fbbfdce..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/extensions/api/input_ime/input_ime_api.h.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/extensions/api/input_ime/input_ime_api.h
-@@ -31,7 +31,7 @@
-
- #if defined(OS_CHROMEOS)
- #include "chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.h"
--#elif defined(OS_LINUX) || defined(OS_WIN)
-+#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- #include "chrome/browser/extensions/api/input_ime/input_ime_api_nonchromeos.h"
- #endif // defined(OS_CHROMEOS)
-
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc
deleted file mode 100644
index d8b93a7a1069..000000000000
--- a/www/iridium/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 2019-04-30 22:22:33 UTC
-+++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
-@@ -299,6 +299,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/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc
deleted file mode 100644
index 40176332dcff..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/extensions/api/settings_private/prefs_util.cc
-@@ -160,7 +160,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist
- (*s_whitelist)[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_whitelist)[::prefs::kUseCustomChromeFrame] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
- #endif
-@@ -170,7 +170,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist
- // Appearance settings.
- (*s_whitelist)[::prefs::kCurrentThemeID] =
- settings_api::PrefType::PREF_TYPE_STRING;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- (*s_whitelist)[::prefs::kUsesSystemTheme] =
- settings_api::PrefType::PREF_TYPE_BOOLEAN;
- #endif
diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
deleted file mode 100644
index 7440fdc3cc94..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2019-10-21 19:06:21 UTC
-+++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc
-@@ -29,7 +29,7 @@
- #include "extensions/browser/process_manager.h"
- #include "extensions/common/error_utils.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "extensions/common/permissions/permissions_data.h"
- #endif
-
-@@ -38,7 +38,7 @@ namespace {
- bool CanEnableAudioDebugRecordingsFromExtension(
- const extensions::Extension* extension) {
- bool enabled_by_permissions = false;
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- if (extension) {
- enabled_by_permissions =
- extension->permissions_data()->active_permissions().HasAPIPermission(
-@@ -557,7 +557,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi
- }
-
- bool WebrtcLoggingPrivateGetLogsDirectoryFunction::RunAsync() {
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object,
- // this function shouldn't be called by a component extension on behalf of
- // some web code. It returns a DirectoryEntry for use directly in the calling
-@@ -580,11 +580,11 @@ bool WebrtcLoggingPrivateGetLogsDirectoryFunction::Run
- &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback,
- this));
- return true;
--#else // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- SetError("Not supported on the current OS");
- SendResponse(false);
- return false;
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- }
-
- void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback(
diff --git a/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
deleted file mode 100644
index fbddcf6c422b..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2020-02-03 21:52:39 UTC
-+++ chrome/browser/extensions/browser_context_keyed_service_factories.cc
-@@ -52,7 +52,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
-
-@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- extensions::IdentityAPI::GetFactoryInstance();
- extensions::InstallTrackerFactory::GetInstance();
- extensions::InstallVerifierFactory::GetInstance();
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- extensions::InputImeAPI::GetFactoryInstance();
- #endif
- extensions::LanguageSettingsPrivateDelegateFactory::GetInstance();
diff --git a/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc
deleted file mode 100644
index 8c813c1db5c8..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/extensions/external_provider_impl.cc.orig 2020-03-16 18:39:44 UTC
-+++ chrome/browser/extensions/external_provider_impl.cc
-@@ -760,7 +760,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>(
-@@ -787,7 +787,7 @@ void ExternalProviderImpl::CreateExternalProviders(
- bundled_extension_creation_flags));
-
- // Define a per-user source of external extensions.
--#if defined(OS_MACOSX) || (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING))
-+#if defined(OS_MACOSX) || ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING))
- provider_list->push_back(std::make_unique<ExternalProviderImpl>(
- service,
- base::MakeRefCounted<ExternalPrefLoader>(
diff --git a/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc b/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc
deleted file mode 100644
index 831136e37584..000000000000
--- a/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- chrome/browser/extensions/install_signer.cc.orig 2020-03-16 18:39:44 UTC
-+++ chrome/browser/extensions/install_signer.cc
-@@ -294,13 +294,13 @@ void LogRequestStartHistograms() {
- DCHECK(g_single_thread_checker.Get().CalledOnValidThread());
-
- // Process::Current().CreationTime is only defined on some platforms.
--#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- const base::Time process_creation_time =
- base::Process::Current().CreationTime();
- UMA_HISTOGRAM_COUNTS_1M(
- "ExtensionInstallSigner.UptimeAtTimeOfRequest",
- (base::Time::Now() - process_creation_time).InSeconds());
--#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
-
- base::TimeDelta delta;
- base::TimeTicks now = base::TimeTicks::Now();
diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h
deleted file mode 100644
index c079a7eac3e3..000000000000
--- a/www/iridium/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 2019-07-29 18:50:26 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_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- class Profile;
-
diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h
deleted file mode 100644
index 5b60fc717be9..000000000000
--- a/www/iridium/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 2019-07-29 18:50:45 UTC
-+++ chrome/browser/first_run/first_run_internal.h
-@@ -64,13 +64,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel
- bool force_first_run,
- bool no_first_run);
-
--#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_MACOSX) || (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_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#endif // defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
-
- } // namespace internal
- } // namespace first_run
diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc
deleted file mode 100644
index 1a28c1282fc1..000000000000
--- a/www/iridium/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 2020-04-10 00:39:11 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 !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
-@@ -100,7 +100,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/www/iridium/files/patch-chrome_browser_flag__descriptions.cc b/www/iridium/files/patch-chrome_browser_flag__descriptions.cc
deleted file mode 100644
index 1a6b198aa788..000000000000
--- a/www/iridium/files/patch-chrome_browser_flag__descriptions.cc
+++ /dev/null
@@ -1,65 +0,0 @@
---- chrome/browser/flag_descriptions.cc.orig 2020-04-10 00:39:02 UTC
-+++ chrome/browser/flag_descriptions.cc
-@@ -3651,7 +3651,7 @@ const char kZeroStateFilesDescription[] =
-
- #endif // 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";
-@@ -3660,7 +3660,7 @@ const char kDynamicTcmallocDescription[] =
- "utilization.";
- #endif // BUILDFLAG(USE_TCMALLOC)
-
--#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
-
- // All views-based platforms --------------------------------------------------
-
-@@ -3685,13 +3685,13 @@ const char kReopenTabInProductHelpDescription[] =
-
- // 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 BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
-@@ -3708,7 +3708,7 @@ const char kClickToCallDetectionV2Description[] =
-
- #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
-
- const char kRemoteCopyReceiverName[] =
-@@ -3717,16 +3717,16 @@ const char kRemoteCopyReceiverDescription[] =
- "Enables the remote copy feature to handle messages by writing content to "
- "the clipboard and showing a notification to the user.";
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- 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_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-
diff --git a/www/iridium/files/patch-chrome_browser_flag__descriptions.h b/www/iridium/files/patch-chrome_browser_flag__descriptions.h
deleted file mode 100644
index ad2ca09a3baa..000000000000
--- a/www/iridium/files/patch-chrome_browser_flag__descriptions.h
+++ /dev/null
@@ -1,72 +0,0 @@
---- chrome/browser/flag_descriptions.h.orig 2020-04-10 00:39:02 UTC
-+++ chrome/browser/flag_descriptions.h
-@@ -21,9 +21,9 @@
- #include "ui/android/buildflags.h"
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/allocator/buildflags.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || 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
-@@ -2132,14 +2132,14 @@ extern const char kZeroStateFilesDescription[];
-
- #endif // #if 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)
-
- // All views-based platforms --------------------------------------------------
-
-@@ -2158,12 +2158,12 @@ extern const char kReopenTabInProductHelpDescription[]
-
- // 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 BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
-@@ -2175,21 +2175,21 @@ extern const char kClickToCallDetectionV2Description[]
-
- #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
-
- extern const char kRemoteCopyReceiverName[];
- extern const char kRemoteCopyReceiverDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- extern const char kDirectManipulationStylusName[];
- extern const char kDirectManipulationStylusDescription[];
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-
diff --git a/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc
deleted file mode 100644
index 93a3d5742fd1..000000000000
--- a/www/iridium/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 2019-04-30 22:22:34 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/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc
deleted file mode 100644
index 922d7c8beb61..000000000000
--- a/www/iridium/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 2019-04-30 22:22:34 UTC
-+++ chrome/browser/media_galleries/media_file_system_registry.cc
-@@ -732,7 +732,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/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
deleted file mode 100644
index c131ed5d1aa8..000000000000
--- a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc
-@@ -10,6 +10,7 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
- #include <sys/types.h>
-+#include <sys/time.h>
-
- #include <algorithm>
-
-@@ -19,7 +20,7 @@
- #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h"
- #include "net/base/net_errors.h"
-
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- #include <netpacket/packet.h>
- #else
- #include <net/if_dl.h>
-@@ -28,7 +29,7 @@
- namespace media_router {
- namespace {
-
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- using sll = struct sockaddr_ll;
- #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype)
- #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen)
diff --git a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
deleted file mode 100644
index 23a0d4544e24..000000000000
--- a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc
-@@ -9,8 +9,6 @@
- #include <sys/socket.h>
- #include <sys/types.h>
-
--#include <linux/wireless.h>
--
- #include "base/files/scoped_file.h"
- #include "base/logging.h"
- #include "net/base/network_interfaces_linux.h"
-@@ -20,6 +18,7 @@ namespace media_router {
- bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) {
- DCHECK(ssid_out);
-
-+#if !defined(OS_BSD)
- base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0));
- if (!ioctl_socket.is_valid()) {
- // AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there
-@@ -41,6 +40,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std:
- ssid_out->assign(ssid);
- return true;
- }
-+#endif
- return false;
- }
-
diff --git a/www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc b/www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc
deleted file mode 100644
index 9b007ae67c87..000000000000
--- a/www/iridium/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 2019-09-09 21:55:09 UTC
-+++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc
-@@ -112,6 +112,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute(
- bool incognito,
- 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/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc
deleted file mode 100644
index 76fb8bab73c0..000000000000
--- a/www/iridium/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 2020-02-03 21:52:40 UTC
-+++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc
-@@ -38,7 +38,7 @@ constexpr size_t kExpectedMimeOverheadBytes = 1000; /
- const char kProduct[] = "Chrome";
- #elif defined(OS_MACOSX)
- const char kProduct[] = "Chrome_Mac";
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- const char kProduct[] = "Chrome_Linux";
- #elif defined(OS_ANDROID)
- const char kProduct[] = "Chrome_Android";
diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc
deleted file mode 100644
index c1ca8fcabf4e..000000000000
--- a/www/iridium/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 2019-10-21 19:06:22 UTC
-+++ chrome/browser/media/webrtc/webrtc_log_uploader.cc
-@@ -358,6 +358,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/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
deleted file mode 100644
index 981d24078676..000000000000
--- a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc
+++ /dev/null
@@ -1,33 +0,0 @@
---- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2020-03-16 18:39:44 UTC
-+++ chrome/browser/media/webrtc/webrtc_logging_controller.cc
-@@ -24,10 +24,10 @@
- #include "content/public/browser/render_process_host.h"
- #include "services/service_manager/public/cpp/connector.h"
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #include "content/public/browser/child_process_security_policy.h"
- #include "storage/browser/file_system/isolated_context.h"
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- using webrtc_event_logging::WebRtcEventLogManager;
-
-@@ -270,7 +270,7 @@ void WebRtcLoggingController::StartEventLogging(
- web_app_id, callback);
- }
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- void WebRtcLoggingController::GetLogsDirectory(
- const LogsDirectoryCallback& callback,
- const LogsDirectoryErrorCallback& error_callback) {
-@@ -315,7 +315,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess
- base::SequencedTaskRunnerHandle::Get()->PostTask(
- FROM_HERE, base::BindOnce(callback, file_system.id(), registered_name));
- }
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- void WebRtcLoggingController::OnRtpPacket(
- std::unique_ptr<uint8_t[]> packet_header,
diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
deleted file mode 100644
index e3ef33fc829f..000000000000
--- a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h
+++ /dev/null
@@ -1,36 +0,0 @@
---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2019-10-30 15:50:11 UTC
-+++ chrome/browser/media/webrtc/webrtc_logging_controller.h
-@@ -129,13 +129,13 @@ class WebRtcLoggingController
- size_t web_app_id,
- const StartEventLoggingCallback& callback);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Ensures that the WebRTC Logs directory exists and then grants render
- // process access to the 'WebRTC Logs' directory, and invokes |callback| with
- // the ids necessary to create a DirectoryEntry object.
- void GetLogsDirectory(const LogsDirectoryCallback& callback,
- const LogsDirectoryErrorCallback& error_callback);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // chrome::mojom::WebRtcLoggingClient methods:
- void OnAddMessages(
-@@ -188,7 +188,7 @@ class WebRtcLoggingController
- bool success,
- const std::string& error_message);
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Grants the render process access to the 'WebRTC Logs' directory, and
- // invokes |callback| with the ids necessary to create a DirectoryEntry
- // object. If the |logs_path| couldn't be created or found, |error_callback|
-@@ -197,7 +197,7 @@ class WebRtcLoggingController
- const LogsDirectoryCallback& callback,
- const LogsDirectoryErrorCallback& error_callback,
- const base::FilePath& logs_path);
--#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- static base::FilePath GetLogDirectoryAndEnsureExists(
- const base::FilePath& browser_context_directory_path);
diff --git a/www/iridium/files/patch-chrome_browser_memory__details.cc b/www/iridium/files/patch-chrome_browser_memory__details.cc
deleted file mode 100644
index 2c4302248909..000000000000
--- a/www/iridium/files/patch-chrome_browser_memory__details.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/memory_details.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/memory_details.cc
-@@ -38,7 +38,7 @@
- #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- #include "services/service_manager/zygote/zygote_host_linux.h"
- #endif
-
-@@ -336,7 +336,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() {
- process.titles.push_back(title);
- }
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- if (service_manager::ZygoteHost::GetInstance()->IsZygotePid(process.pid)) {
- process.process_type = content::PROCESS_TYPE_ZYGOTE;
- }
diff --git a/www/iridium/files/patch-chrome_browser_memory__details__linux.cc b/www/iridium/files/patch-chrome_browser_memory__details__linux.cc
deleted file mode 100644
index 1112bd81ffcc..000000000000
--- a/www/iridium/files/patch-chrome_browser_memory__details__linux.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/browser/memory_details_linux.cc.orig 2019-03-11 22:00:53 UTC
-+++ chrome/browser/memory_details_linux.cc
-@@ -72,8 +72,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/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc b/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc
deleted file mode 100644
index 3bb3c96f9188..000000000000
--- a/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/browser/metrics/bluetooth_available_utility.cc.orig 2019-06-04 18:55:17 UTC
-+++ chrome/browser/metrics/bluetooth_available_utility.cc
-@@ -76,8 +76,10 @@ void ReportBluetoothAvailability() {
- return;
- }
-
-+#if !defined(OS_BSD)
- device::BluetoothAdapterFactory::Get().GetAdapter(
- base::BindOnce(&OnGetAdapter));
-+#endif
- }
-
- } // namespace bluetooth_utility
diff --git a/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc
deleted file mode 100644
index dd487ab9da88..000000000000
--- a/www/iridium/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 2019-09-09 21:55:09 UTC
-+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -47,7 +47,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"
-@@ -55,7 +57,7 @@
- #if defined(USE_X11)
- #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/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc
deleted file mode 100644
index a1c3fbc542a8..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/metrics/chrome_metrics_service_client.cc
-@@ -718,11 +718,11 @@ void ChromeMetricsServiceClient::RegisterMetricsServic
- #endif // defined(OS_WIN)
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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_MACOSX) || \
-- // (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);
-@@ -980,7 +980,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve
- }
- #endif
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc
deleted file mode 100644
index 7994a85f8cec..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/metrics/process_memory_metrics_emitter.cc
-@@ -438,7 +438,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
-
- builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / 1024);
- builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / 1024);
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb /
- 1024);
- #endif
-@@ -461,7 +461,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".SharedMemoryFootprint",
- pmd.os_dump().shared_footprint_kb / 1024);
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) +
- process_name + ".PrivateSwapFootprint",
- pmd.os_dump().private_footprint_swap_kb / 1024);
diff --git a/www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc b/www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc
deleted file mode 100644
index 21db21328ad3..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc
-@@ -144,7 +144,7 @@ const struct {
- {base::DIR_APP_DATA, nullptr, true},
- {base::DIR_HOME, FILE_PATH_LITERAL("Library"), true},
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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"), true},
diff --git a/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc
deleted file mode 100644
index aace9f122f49..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/net/system_network_context_manager.cc
-@@ -79,11 +79,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 defined(OS_WIN) || defined(OS_MACOSX)
- #include "content/public/common/network_service_util.h"
-@@ -160,10 +160,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut
- auth_dynamic_params->enable_negotiate_port =
- local_state->GetBoolean(prefs::kEnableAuthNegotiatePort);
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- auth_dynamic_params->delegate_by_kdc_policy =
- local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy);
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- auth_dynamic_params->ntlm_v2_enabled =
-@@ -429,10 +429,10 @@ SystemNetworkContextManager::SystemNetworkContextManag
- pref_change_registrar_.Add(prefs::kEnableAuthNegotiatePort,
- auth_pref_callback);
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy,
- auth_pref_callback);
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback);
-@@ -485,10 +485,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe
- registry->RegisterStringPref(prefs::kAuthServerWhitelist, std::string());
- registry->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist,
- std::string());
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy,
- false);
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- registry->RegisterBooleanPref(
-@@ -610,7 +610,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea
- insecure_stub_resolver_enabled, secure_dns_mode,
- std::move(dns_over_https_servers));
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- const base::CommandLine& command_line =
- *base::CommandLine::ForCurrentProcess();
-
diff --git a/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
deleted file mode 100644
index 7688028b44a2..000000000000
--- a/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/notifications/notification_display_service_impl.cc
-@@ -33,7 +33,7 @@
- #include "chrome/browser/notifications/notification_platform_bridge_message_center.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
- #endif
-
-@@ -122,7 +122,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer
- AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT,
- std::make_unique<PersistentNotificationHandler>());
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- AddNotificationHandler(
- NotificationHandler::Type::SEND_TAB_TO_SELF,
- std::make_unique<send_tab_to_self::DesktopNotificationHandler>(
diff --git a/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc
deleted file mode 100644
index b9786e7622f2..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -88,7 +88,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/www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc b/www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc
deleted file mode 100644
index 889049cf9109..000000000000
--- a/www/iridium/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 2019-10-21 19:06:22 UTC
-+++ chrome/browser/password_manager/password_store_factory.cc
-@@ -181,7 +181,7 @@ PasswordStoreFactory::BuildServiceInstanceFor(
- base::TimeDelta::FromSeconds(20));
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
deleted file mode 100644
index 98bd40401783..000000000000
--- a/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/performance_monitor/process_metrics_history.cc.orig 2019-10-21 19:06:22 UTC
-+++ chrome/browser/performance_monitor/process_metrics_history.cc
-@@ -47,7 +47,7 @@ void ProcessMetricsHistory::SampleMetrics() {
- #if defined(OS_WIN)
- disk_usage_ = process_metrics_->GetDiskUsageBytesPerSecond();
- #endif
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- idle_wakeups_ = process_metrics_->GetIdleWakeupsPerSecond();
- #endif
- #if defined(OS_MACOSX)
-@@ -88,7 +88,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() {
- kDiskUsageHistogramMin, kDiskUsageHistogramMax,
- kDiskUsageHistogramBucketCount);
- #endif
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- UMA_HISTOGRAM_COUNTS_10000(
- "PerformanceMonitor.IdleWakeups.BrowserProcess", idle_wakeups_);
- #endif
-@@ -109,7 +109,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() {
- UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.RendererProcess",
- true);
- }
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- UMA_HISTOGRAM_COUNTS_10000(
- "PerformanceMonitor.IdleWakeups.RendererProcess", idle_wakeups_);
- #endif
-@@ -129,7 +129,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() {
- kHistogramBucketCount);
- if (cpu_usage_ > kHighCPUUtilizationThreshold)
- UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.GPUProcess", true);
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- UMA_HISTOGRAM_COUNTS_10000("PerformanceMonitor.IdleWakeups.GPUProcess",
- idle_wakeups_);
- #endif
diff --git a/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h
deleted file mode 100644
index cb195b6b0cf5..000000000000
--- a/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/performance_monitor/process_metrics_history.h.orig 2019-06-04 18:55:17 UTC
-+++ chrome/browser/performance_monitor/process_metrics_history.h
-@@ -72,7 +72,7 @@ class ProcessMetricsHistory {
- uint64_t disk_usage_ = 0;
- #endif
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
- int idle_wakeups_ = 0;
- #endif
- #if defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc b/www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc
deleted file mode 100644
index c45a5b0d8d92..000000000000
--- a/www/iridium/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 2020-02-03 21:52:40 UTC
-+++ chrome/browser/plugins/plugin_info_host_impl.cc
-@@ -382,7 +382,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (cus_plugin_info->version != base::Version("0")) {
- output->status = chrome::mojom::PluginStatus::kRestartRequired;
- }
diff --git a/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc b/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc
deleted file mode 100644
index 35342997a152..000000000000
--- a/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/plugins/plugins_resource_service.cc.orig 2020-02-03 21:52:40 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_MACOSX)
- filename = "plugins_mac.json";
diff --git a/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
deleted file mode 100644
index b79d0d1d66d8..000000000000
--- a/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2019-09-16 07:21:37 UTC
-+++ chrome/browser/policy/browser_signin_policy_handler.cc
-@@ -39,7 +39,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c
- }
- switch (static_cast<BrowserSigninMode>(int_value)) {
- case BrowserSigninMode::kForced:
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true));
- #endif
- FALLTHROUGH;
diff --git a/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
deleted file mode 100644
index 8f82b5f2a44d..000000000000
--- a/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -118,7 +118,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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
-
-@@ -355,11 +355,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- { key::kWebComponentsV0Enabled,
- prefs::kWebComponentsV0Enabled,
- base::Value::Type::BOOLEAN },
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- { key::kAuthNegotiateDelegateByKdcPolicy,
- prefs::kAuthNegotiateDelegateByKdcPolicy,
- base::Value::Type::BOOLEAN },
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- #if defined(OS_POSIX)
- { key::kNtlmV2Enabled,
- prefs::kNtlmV2Enabled,
-@@ -1163,7 +1163,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox,
- base::Value::Type::BOOLEAN },
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- { key::kAlternativeBrowserPath,
- browser_switcher::prefs::kAlternativeBrowserPath,
- base::Value::Type::STRING },
-@@ -1203,7 +1203,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] =
- browser_switcher::prefs::kChromeParameters,
- base::Value::Type::LIST },
- #endif
--#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
- { key::kBrowserGuestModeEnforced,
- prefs::kBrowserGuestModeEnforced,
- base::Value::Type::BOOLEAN },
diff --git a/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc b/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc
deleted file mode 100644
index 816eeffdc37e..000000000000
--- a/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/policy/policy_prefs_browsertest.cc.orig 2020-02-03 21:52:40 UTC
-+++ chrome/browser/policy/policy_prefs_browsertest.cc
-@@ -250,6 +250,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/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc
deleted file mode 100644
index 7f9fbfc4cd49..000000000000
--- a/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/prefs/browser_prefs.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/prefs/browser_prefs.cc
-@@ -360,7 +360,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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
-
-@@ -1022,7 +1022,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
- #endif
-
diff --git a/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc b/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc
deleted file mode 100644
index 0fc02f402f9c..000000000000
--- a/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/prefs/pref_service_incognito_whitelist.cc.orig 2019-12-16 21:50:42 UTC
-+++ chrome/browser/prefs/pref_service_incognito_whitelist.cc
-@@ -187,7 +187,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/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc b/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc
deleted file mode 100644
index f8a7db8e85a3..000000000000
--- a/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- chrome/browser/process_singleton_posix.cc.orig 2019-10-21 19:06:22 UTC
-+++ chrome/browser/process_singleton_posix.cc
-@@ -95,11 +95,11 @@
- #include "net/base/network_interfaces.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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
-
-@@ -296,7 +296,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo
- if (g_disable_prompt)
- return g_user_opted_unlock_in_use_profile;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::string16 relaunch_button_text = l10n_util::GetStringUTF16(
- IDS_PROFILE_IN_USE_LINUX_RELAUNCH);
- return ShowProcessSingletonDialog(error, relaunch_button_text);
-@@ -872,7 +872,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/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc
deleted file mode 100644
index a2ac58994f69..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -295,7 +295,7 @@ void ChromeBrowserMainExtraPartsProfiles::
- if (base::FeatureList::IsEnabled(media::kUseMediaHistoryStore))
- media_history::MediaHistoryKeyedServiceFactory::GetInstance();
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance();
- #endif
- ModelTypeStoreServiceFactory::GetInstance();
diff --git a/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
deleted file mode 100644
index 48f0d0c5ddd2..000000000000
--- a/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/profiles/profile_attributes_entry.cc.orig 2020-03-16 18:39:44 UTC
-+++ chrome/browser/profiles/profile_attributes_entry.cc
-@@ -108,7 +108,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac
- if (is_force_signin_enabled_) {
- if (!IsAuthenticated())
- is_force_signin_profile_locked_ = true;
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- } else if (IsSigninRequired()) {
- // Profiles that require signin in the absence of an enterprise policy are
- // left-overs from legacy supervised users. Just unlock them, so users can
diff --git a/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
deleted file mode 100644
index 4a46416a7065..000000000000
--- a/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
-@@ -1702,7 +1702,7 @@ void RenderViewContextMenu::AppendEditableItems() {
- // 'Undo' and 'Redo' for text input with no suggestions and no text selected.
- // We make an exception for OS X as context clicking will select the closest
- // word. In this case both items are always shown.
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO,
- IDS_CONTENT_CONTEXT_UNDO);
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO,
-@@ -1744,7 +1744,7 @@ void RenderViewContextMenu::AppendLanguageSettings() {
- if (!use_spelling)
- return;
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS,
- IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS);
- #else
-@@ -2083,7 +2083,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id)
- case IDC_CHECK_SPELLING_WHILE_TYPING:
- return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable);
-
--#if !defined(OS_MACOSX) && defined(OS_POSIX)
-+#if !defined(OS_MACOSX) && !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/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc
deleted file mode 100644
index db4c5e81a31d..000000000000
--- a/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/renderer_preferences_util.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/renderer_preferences_util.cc
-@@ -31,7 +31,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"
-@@ -146,7 +146,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()) {
-@@ -165,7 +165,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_BSD)
- content::UpdateFontRendererPreferencesFromSystemSettings(prefs);
- #endif
-
diff --git a/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py b/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
deleted file mode 100644
index de779e766d99..000000000000
--- a/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py
+++ /dev/null
@@ -1,19 +0,0 @@
---- chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig 2019-03-11 22:00:54 UTC
-+++ chrome/browser/resources/safe_browsing/gen_file_type_proto.py
-@@ -31,6 +31,7 @@ def PlatformTypes():
- "android": download_file_types_pb2.DownloadFileType.PLATFORM_ANDROID,
- "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS,
- "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX,
-+ "bsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX,
- "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC,
- "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS,
- }
-@@ -169,7 +170,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera
- 'Outfile must have a %d for version and %s for platform.')
- parser.add_option('-t', '--type',
- help='The platform type. One of android, chromeos, ' +
-- 'linux, mac, win')
-+ 'linux, bsd, mac, win')
-
- def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command):
- if opts.type is not None:
diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js
deleted file mode 100644
index 6512d38fe080..000000000000
--- a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js.orig 2019-10-21 19:06:23 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js
-@@ -19,7 +19,7 @@ cr.define('settings', function() {
-
- useDefaultTheme() {}
-
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- useSystemTheme() {}
-
- // </if>
-@@ -59,7 +59,7 @@ cr.define('settings', function() {
- chrome.send('useDefaultTheme');
- }
-
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- /** @override */
- useSystemTheme() {
- chrome.send('useSystemTheme');
diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html
deleted file mode 100644
index 1470f1f0d2c0..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.html
-@@ -49,7 +49,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_">
-@@ -57,7 +57,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_)]]"
-@@ -120,7 +120,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">
- <settings-toggle-button
- class$="[[getFirst_(pageVisibility.bookmarksBar)]]"
- pref="{{prefs.browser.custom_chrome_frame}}"
diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js
deleted file mode 100644
index a080e83db65c..000000000000
--- a/www/iridium/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 2020-03-16 18:40:29 UTC
-+++ chrome/browser/resources/settings/appearance_page/appearance_page.js
-@@ -104,7 +104,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>
-@@ -190,7 +190,7 @@ Polymer({
- this.appearanceBrowserProxy_.useDefaultTheme();
- },
-
-- // <if expr="is_linux and not chromeos">
-+ // <if expr="is_bsd and not chromeos">
- /**
- * @param {boolean} useSystemTheme
- * @private
-@@ -267,10 +267,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/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
deleted file mode 100644
index 2d242ce878e6..000000000000
--- a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig 2019-06-04 18:55:18 UTC
-+++ chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc
-@@ -8,7 +8,12 @@
-
- #include "base/hash/hash.h"
- #include "base/logging.h"
-+//XXX(rene) needs shim headers?
-+#if defined(USE_SYSTEM_PROTOBUF)
-+#include <google/protobuf/message_lite.h>
-+#else
- #include "third_party/protobuf/src/google/protobuf/message_lite.h"
-+#endif
-
- namespace safe_browsing {
-
diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc
deleted file mode 100644
index 0690a0795218..000000000000
--- a/www/iridium/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 2020-04-10 00:39:09 UTC
-+++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
-@@ -674,7 +674,7 @@ void IncidentReportingService::OnEnvironmentDataCollec
- environment_collection_pending_ = false;
-
- // Process::Current().CreationTime() is missing on some platforms.
--#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- base::TimeDelta uptime =
- first_incident_time_ - base::Process::Current().CreationTime();
- environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds());
diff --git a/www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc b/www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc
deleted file mode 100644
index bf751427bd2a..000000000000
--- a/www/iridium/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 2019-12-16 21:50:43 UTC
-+++ chrome/browser/search/search_suggest/search_suggest_service.cc
-@@ -20,7 +20,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/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
deleted file mode 100644
index f8a2b34d89f3..000000000000
--- a/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2019-06-07 20:47:39 UTC
-+++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc
-@@ -11,7 +11,7 @@
- #include "chrome/browser/profiles/profile.h"
- #include "chrome/browser/send_tab_to_self/receiving_ui_handler.h"
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h"
- #endif
-
-@@ -32,7 +32,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry
- // Instantiates all the handlers relevant to this platform.
- void ReceivingUiHandlerRegistry::InstantiatePlatformSpecificHandlers(
- Profile* profile) {
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- applicable_handlers_.push_back(
- std::make_unique<send_tab_to_self::DesktopNotificationHandler>(profile));
- #elif defined(OS_ANDROID)
diff --git a/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
deleted file mode 100644
index d20b30112256..000000000000
--- a/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2019-07-29 18:57:56 UTC
-+++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc
-@@ -41,7 +41,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa
- void SendTabToSelfClientService::EntriesAddedRemotely(
- const std::vector<const SendTabToSelfEntry*>& new_entries) {
- for (const std::unique_ptr<ReceivingUiHandler>& handler : GetHandlers()) {
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- // Only respond to notifications corresponding to this service's profile
- // for these OSes; mobile does not have a Profile.
- // Cast note: on desktop, handlers are guaranteed to be the derived class
diff --git a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc
deleted file mode 100644
index e1b209c81c94..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/browser/sharing/shared_clipboard/feature_flags.cc.orig 2020-02-07 12:34:27 UTC
-+++ chrome/browser/sharing/shared_clipboard/feature_flags.cc
-@@ -10,12 +10,12 @@ const base::Feature kSharedClipboardReceiver{"SharedCl
- const base::Feature kSharedClipboardUI{"SharedClipboardUI",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const base::Feature kRemoteCopyReceiver{"RemoteCopyReceiver",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
- const base::FeatureParam<std::string> kRemoteCopyAllowedOrigins = {
- &kRemoteCopyReceiver, "RemoteCopyAllowedOrigins", ""};
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
diff --git a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h
deleted file mode 100644
index 6a0e3079731b..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- chrome/browser/sharing/shared_clipboard/feature_flags.h.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/sharing/shared_clipboard/feature_flags.h
-@@ -17,14 +17,14 @@ extern const base::Feature kSharedClipboardReceiver;
- // Feature to allow shared clipboard gets processed.
- extern const base::Feature kSharedClipboardUI;
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Feature to enable handling remote copy messages.
- extern const base::Feature kRemoteCopyReceiver;
-
- // List of allowed origins to fetch images from, comma separated.
- extern const base::FeatureParam<std::string> kRemoteCopyAllowedOrigins;
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #endif // CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_FEATURE_FLAGS_H_
diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
deleted file mode 100644
index 0c3723e85860..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- chrome/browser/sharing/sharing_device_registration.cc.orig 2020-03-26 18:39:48 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_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- return base::FeatureList::IsEnabled(kRemoteCopyReceiver);
- #endif
-@@ -334,10 +334,10 @@ bool SharingDeviceRegistration::IsRemoteCopySupported(
- }
-
- bool SharingDeviceRegistration::IsPeerConnectionSupported() const {
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- return base::FeatureList::IsEnabled(kSharingPeerConnectionReceiver);
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- return false;
diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc
deleted file mode 100644
index a9744c4a6a8d..000000000000
--- a/www/iridium/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 2020-03-16 18:39:44 UTC
-+++ chrome/browser/sharing/sharing_handler_registry_impl.cc
-@@ -24,10 +24,10 @@
- #include "chrome/browser/sharing/webrtc/webrtc_message_handler.h"
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || 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_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- SharingHandlerRegistryImpl::SharingHandlerRegistryImpl(
-@@ -73,14 +73,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl
- {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage});
- }
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || 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_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if !defined(OS_ANDROID)
diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc
deleted file mode 100644
index 7e096df1b053..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/sharing/sharing_service.cc.orig 2020-03-30 09:34:43 UTC
-+++ chrome/browser/sharing/sharing_service.cc
-@@ -30,7 +30,7 @@ namespace {
- SharingMessageSender::DelegateType GetSendDelegateType(
- const syncer::DeviceInfo& device,
- const chrome_browser_sharing::SharingMessage& message) {
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Messages other than SharedClipboard are always sent via FCM.
- if (message.payload_case() !=
-@@ -56,7 +56,7 @@ SharingMessageSender::DelegateType GetSendDelegateType
- // logic once we wrap up the experiment and e.g. only send messages over a
- // certain size via WebRTC.
- return SharingMessageSender::DelegateType::kWebRtc;
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- // defined(OS_CHROMEOS)
-
- // Only FCM is supported for non desktop OS.
diff --git a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc
deleted file mode 100644
index cfac06c08d3d..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- chrome/browser/sharing/webrtc/webrtc_flags.cc.orig 2020-03-30 09:35:30 UTC
-+++ chrome/browser/sharing/webrtc/webrtc_flags.cc
-@@ -4,12 +4,12 @@
-
- #include "chrome/browser/sharing/webrtc/webrtc_flags.h"
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const base::Feature kSharingPeerConnectionReceiver{
- "SharingPeerConnectionReceiver", base::FEATURE_DISABLED_BY_DEFAULT};
-
- const base::Feature kSharingPeerConnectionSender{
- "SharingPeerConnectionSender", base::FEATURE_ENABLED_BY_DEFAULT};
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
diff --git a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h
deleted file mode 100644
index fdec699052e2..000000000000
--- a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- chrome/browser/sharing/webrtc/webrtc_flags.h.orig 2020-03-30 09:35:47 UTC
-+++ chrome/browser/sharing/webrtc/webrtc_flags.h
-@@ -8,14 +8,14 @@
- #include "base/feature_list.h"
- #include "build/build_config.h"
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // Feature flag to enable receiving PeerConnection requests.
- extern const base::Feature kSharingPeerConnectionReceiver;
-
- // Feature flag to enable sending SharingMessage using PeerConnection.
- extern const base::Feature kSharingPeerConnectionSender;
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #endif // CHROME_BROWSER_SHARING_WEBRTC_WEBRTC_FLAGS_H_
diff --git a/www/iridium/files/patch-chrome_browser_signin_signin__util.cc b/www/iridium/files/patch-chrome_browser_signin_signin__util.cc
deleted file mode 100644
index 4c230f4f53f2..000000000000
--- a/www/iridium/files/patch-chrome_browser_signin_signin__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/signin/signin_util.cc.orig 2019-12-16 21:50:43 UTC
-+++ chrome/browser/signin/signin_util.cc
-@@ -34,7 +34,7 @@
- #include "google_apis/gaia/gaia_auth_util.h"
- #include "ui/base/l10n/l10n_util.h"
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- #include "chrome/browser/ui/browser_finder.h"
- #include "chrome/browser/ui/browser_list.h"
- #include "chrome/browser/ui/browser_list_observer.h"
diff --git a/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc b/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc
deleted file mode 100644
index 50ed28cdeb0a..000000000000
--- a/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ssl/ssl_error_controller_client.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/ssl/ssl_error_controller_client.cc
-@@ -79,7 +79,7 @@ void LaunchDateAndTimeSettingsImpl() {
- #if defined(OS_ANDROID)
- chrome::android::OpenDateAndTimeSettings();
-
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- struct ClockCommand {
- const char* const pathname;
- const char* const argument;
-@@ -205,7 +205,7 @@ void SSLErrorControllerClient::Proceed() {
- }
-
- bool SSLErrorControllerClient::CanLaunchDateAndTimeSettings() {
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \
- defined(OS_WIN)
- return true;
- #else
diff --git a/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc
deleted file mode 100644
index 155f4fdf474c..000000000000
--- a/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/sync/chrome_sync_client.cc.orig 2020-03-16 18:40:29 UTC
-+++ chrome/browser/sync/chrome_sync_client.cc
-@@ -442,7 +442,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
- }
- #endif // defined(OS_CHROMEOS)
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- // Dictionary sync is enabled by default.
- if (!disabled_types.Has(syncer::DICTIONARY)) {
- controllers.push_back(
-@@ -450,7 +450,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy
- syncer::DICTIONARY, model_type_store_factory,
- GetSyncableServiceForType(syncer::DICTIONARY), dump_stack));
- }
--#endif // defined(OS_LINUX) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- if (arc::IsArcAllowedForProfile(profile_) &&
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc
deleted file mode 100644
index 1e077a7ff46c..000000000000
--- a/www/iridium/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 2019-09-09 21:55:10 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- REFRESH_TYPE_FD_COUNT |
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- open_fd_count_(-1),
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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::Bind(&TaskGroup::OnIdleWakeupsRefreshDone,
- weak_ptr_factory_.GetWeakPtr()),
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- base::Bind(&TaskGroup::OnOpenFdCountRefreshDone,
- weak_ptr_factory_.GetWeakPtr()),
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- base::Bind(&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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- void TaskGroup::OnCpuRefreshDone(double cpu_usage) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h
deleted file mode 100644
index 3b055c6018f5..000000000000
--- a/www/iridium/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 2019-10-21 19:06:23 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- int open_fd_count() const { return open_fd_count_; }
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- void OnOpenFdCountRefreshDone(int open_fd_count);
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- // The number of file descriptors currently open by the process.
- int open_fd_count_;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- int idle_wakeups_per_second_;
- bool gpu_memory_has_duplicates_;
- bool is_backgrounded_;
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc
deleted file mode 100644
index 0727f82f22b9..000000000000
--- a/www/iridium/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 2020-03-16 18:39:45 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const OnOpenFdCountCallback& on_open_fd_count,
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- on_open_fd_count_callback_(on_open_fd_count),
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || 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_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- int TaskGroupSampler::RefreshOpenFdCount() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
-
- return process_metrics_->GetOpenFdCount();
- }
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- bool TaskGroupSampler::RefreshProcessPriority() {
- DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence());
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
deleted file mode 100644
index ee309764291e..000000000000
--- a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h
+++ /dev/null
@@ -1,50 +0,0 @@
---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2019-06-04 18:55:18 UTC
-+++ chrome/browser/task_manager/sampling/task_group_sampler.h
-@@ -32,9 +32,9 @@ class TaskGroupSampler : public base::RefCountedThread
- using OnCpuRefreshCallback = base::Callback<void(double)>;
- using OnSwappedMemRefreshCallback = base::Callback<void(int64_t)>;
- using OnIdleWakeupsCallback = base::Callback<void(int)>;
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- using OnOpenFdCountCallback = base::Callback<void(int)>;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- using OnProcessPriorityCallback = base::Callback<void(bool)>;
-
- TaskGroupSampler(
-@@ -43,9 +43,9 @@ class TaskGroupSampler : public base::RefCountedThread
- const OnCpuRefreshCallback& on_cpu_refresh,
- const OnSwappedMemRefreshCallback& on_memory_refresh,
- const OnIdleWakeupsCallback& on_idle_wakeups,
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const OnOpenFdCountCallback& on_open_fd_count,
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const OnProcessPriorityCallback& on_process_priority);
-
- // Refreshes the expensive process' stats (CPU usage, memory usage, and idle
-@@ -60,9 +60,9 @@ class TaskGroupSampler : public base::RefCountedThread
- double RefreshCpuUsage();
- int64_t RefreshSwappedMem();
- int RefreshIdleWakeupsPerSecond();
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- int RefreshOpenFdCount();
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- bool RefreshProcessPriority();
-
- // The process that holds the handle that we own so that we can use it for
-@@ -84,9 +84,9 @@ class TaskGroupSampler : public base::RefCountedThread
- const OnCpuRefreshCallback on_cpu_refresh_callback_;
- const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_;
- const OnIdleWakeupsCallback on_idle_wakeups_callback_;
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const OnOpenFdCountCallback on_open_fd_count_callback_;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const OnProcessPriorityCallback on_process_priority_callback_;
-
- // To assert we're running on the correct thread.
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc
deleted file mode 100644
index cb287277caa7..000000000000
--- a/www/iridium/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 2019-10-21 19:06:23 UTC
-+++ chrome/browser/task_manager/sampling/task_manager_impl.cc
-@@ -219,11 +219,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id,
- }
-
- int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const {
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- return GetTaskGroupByTaskId(task_id)->open_fd_count();
- #else
- return -1;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- }
-
- bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const {
diff --git a/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h
deleted file mode 100644
index ee059c93979b..000000000000
--- a/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- chrome/browser/task_manager/task_manager_observer.h.orig 2019-03-11 22:00:54 UTC
-+++ chrome/browser/task_manager/task_manager_observer.h
-@@ -43,11 +43,11 @@ enum RefreshType {
- // or backgrounded.
- REFRESH_TYPE_PRIORITY = 1 << 13,
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- // For observers interested in getting the number of open file descriptors of
- // processes.
- REFRESH_TYPE_FD_COUNT = 1 << 14,
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- REFRESH_TYPE_KEEPALIVE_COUNT = 1 << 15,
- REFRESH_TYPE_MEMORY_FOOTPRINT = 1 << 16,
diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc
deleted file mode 100644
index cf606ad8b2ce..000000000000
--- a/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- chrome/browser/themes/theme_service_factory.cc.orig 2020-03-16 18:39:45 UTC
-+++ chrome/browser/themes/theme_service_factory.cc
-@@ -23,7 +23,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
-@@ -78,7 +78,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
-
-@@ -90,7 +90,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/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc b/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc
deleted file mode 100644
index 9e2f7535e762..000000000000
--- a/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/tracing/crash_service_uploader.cc.orig 2020-03-16 18:40:29 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/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc
deleted file mode 100644
index 1ee7f7ff4e27..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/browser/ui/browser_command_controller.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/browser_command_controller.cc
-@@ -82,7 +82,7 @@
- #include "chrome/browser/ui/browser_commands_chromeos.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-
-@@ -252,7 +252,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 =
-@@ -476,7 +476,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;
-@@ -961,7 +961,7 @@ void BrowserCommandController::InitCommandState() {
- command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true);
- command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, 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/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc b/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc
deleted file mode 100644
index c393ceb5d02d..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/browser_view_prefs.cc.orig 2019-03-11 22:00:54 UTC
-+++ chrome/browser/ui/browser_view_prefs.cc
-@@ -34,7 +34,7 @@ void RegisterBrowserViewLocalPrefs(PrefRegistrySimple*
-
- void RegisterBrowserViewProfilePrefs(
- user_prefs::PrefRegistrySyncable* registry) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- bool custom_frame_pref_default = false;
- #if defined(USE_X11)
- custom_frame_pref_default = ui::GetCustomFramePrefDefault();
-@@ -45,7 +45,7 @@ void RegisterBrowserViewProfilePrefs(
- #endif
- registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame,
- custom_frame_pref_default);
--#endif // OS_LINUX && !OS_CHROMEOS
-+#endif // (OS_LINUX && !OS_CHROMEOS) || defined(OS_BSD)
- }
-
- void MigrateBrowserTabStripPrefs(PrefService* prefs) {
diff --git a/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
deleted file mode 100644
index c3704c9ebe7d..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig 2019-03-11 22:00:54 UTC
-+++ chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc
-@@ -16,7 +16,7 @@
-
- // NOTE(koz): Linux doesn't use the thick shadowed border, so we add padding
- // here.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const int ExclusiveAccessBubble::kPaddingPx = 8;
- #else
- const int ExclusiveAccessBubble::kPaddingPx = 15;
diff --git a/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc b/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc
deleted file mode 100644
index 6d796805d2fa..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/gtk/print_dialog_gtk.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/gtk/print_dialog_gtk.cc
-@@ -336,7 +336,7 @@ void PrintDialogGtk::ShowDialog(
- // Since we only generate PDF, only show printers that support PDF.
- // TODO(thestig) Add more capabilities to support?
- GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>(
-- GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
-+ GTK_PRINT_CAPABILITY_GENERATE_PS | GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET |
- GTK_PRINT_CAPABILITY_COPIES | GTK_PRINT_CAPABILITY_COLLATE |
- GTK_PRINT_CAPABILITY_REVERSE);
- gtk_print_unix_dialog_set_manual_capabilities(GTK_PRINT_UNIX_DIALOG(dialog_),
diff --git a/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc b/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
deleted file mode 100644
index fd379c49386c..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/input_method/input_method_engine_base.cc.orig 2020-02-03 21:53:29 UTC
-+++ chrome/browser/ui/input_method/input_method_engine_base.cc
-@@ -31,7 +31,7 @@
- #include "ui/base/ime/chromeos/ime_keymap.h"
- #elif defined(OS_WIN)
- #include "ui/events/keycodes/keyboard_codes_win.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/events/keycodes/keyboard_codes_posix.h"
- #endif
-
diff --git a/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc b/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc
deleted file mode 100644
index d03e6c550af9..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/sad_tab.cc.orig 2020-03-16 18:39:45 UTC
-+++ chrome/browser/ui/sad_tab.cc
-@@ -188,7 +188,7 @@ std::vector<int> SadTab::GetSubMessages() {
- // Only show Incognito suggestion if not already in Incognito mode.
- if (!web_contents_->GetBrowserContext()->IsOffTheRecord())
- message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO);
--#if defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- // Note: on macOS, Linux and ChromeOS, the first bullet is either one of
- // IDS_SAD_TAB_RELOAD_CLOSE_TABS or IDS_SAD_TAB_RELOAD_CLOSE_NOTABS
- // followed by one of the above suggestions.
diff --git a/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc
deleted file mode 100644
index e40b9803cffb..000000000000
--- a/www/iridium/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 2020-02-03 21:53:29 UTC
-+++ chrome/browser/ui/startup/bad_flags_prompt.cc
-@@ -87,7 +87,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/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
deleted file mode 100644
index b3cf9e596cbe..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2020-02-03 21:52:41 UTC
-+++ chrome/browser/ui/startup/startup_browser_creator.cc
-@@ -82,7 +82,7 @@
- #include "chrome/browser/ui/user_manager.h"
- #endif
-
--#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX)
-+#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck
- #endif
-
-@@ -291,7 +291,7 @@ bool IsSilentLaunchEnabled(const base::CommandLine& co
- // 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_WIN) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
- PrefService* service = g_browser_process->local_state();
- DCHECK(service);
-
-@@ -662,8 +662,10 @@ bool StartupBrowserCreator::ProcessCmdLineImpl(
- }
- #endif // OS_CHROMEOS
-
-+#if 0 /* XXX */
- #if defined(TOOLKIT_VIEWS) && defined(USE_X11)
- ui::TouchFactory::SetTouchDeviceListFromCommandLine();
-+#endif
- #endif
-
- #if defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc
deleted file mode 100644
index 053ec7216342..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- chrome/browser/ui/tab_helpers.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/tab_helpers.cc
-@@ -132,7 +132,7 @@
- #include "components/zoom/zoom_controller.h"
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
- #include "chrome/browser/ui/hats/hats_helper.h"
- #endif
-@@ -347,11 +347,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- if (base::FeatureList::IsEnabled(
- features::kHappinessTrackingSurveysForDesktop) ||
- base::FeatureList::IsEnabled(
diff --git a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc
deleted file mode 100644
index a5abcc83206d..000000000000
--- a/www/iridium/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 2019-03-11 22:00:54 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || 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_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || 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/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
deleted file mode 100644
index 0f8d7e671406..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc
+++ /dev/null
@@ -1,50 +0,0 @@
---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2019-12-16 21:50:43 UTC
-+++ chrome/browser/ui/task_manager/task_manager_table_model.cc
-@@ -450,13 +450,13 @@ base::string16 TaskManagerTableModel::GetText(int row,
- ? stringifier_->backgrounded_string()
- : stringifier_->foregrounded_string();
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
- const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]);
- return fd_count >= 0 ? base::FormatNumber(fd_count)
- : stringifier_->n_a_string();
- }
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- case IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN: {
- return stringifier_->GetKeepaliveCountText(
-@@ -616,7 +616,7 @@ int TaskManagerTableModel::CompareValues(int row1,
- return BooleanCompare(is_proc1_bg, is_proc2_bg);
- }
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: {
- const int proc1_fd_count =
- observed_task_manager()->GetOpenFdCount(tasks_[row1]);
-@@ -624,7 +624,7 @@ int TaskManagerTableModel::CompareValues(int row1,
- observed_task_manager()->GetOpenFdCount(tasks_[row2]);
- return ValueCompare(proc1_fd_count, proc2_fd_count);
- }
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- default:
- NOTREACHED();
-@@ -790,11 +790,11 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col
- type = REFRESH_TYPE_KEEPALIVE_COUNT;
- break;
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN:
- type = REFRESH_TYPE_FD_COUNT;
- break;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
-
- default:
- NOTREACHED();
diff --git a/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc
deleted file mode 100644
index f348ce9eaf16..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/toolbar/app_menu_model.cc
-@@ -684,7 +684,7 @@ bool AppMenuModel::IsCommandIdVisible(int command_id)
- return app_menu_icon_controller_->GetTypeAndSeverity().type ==
- AppMenuIconController::IconType::UPGRADE_NOTIFICATION;
- }
--#if !defined(OS_LINUX) || defined(USE_AURA)
-+#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA)
- case IDC_BOOKMARK_THIS_TAB:
- return !chrome::ShouldRemoveBookmarkThisTabUI(browser_->profile());
- case IDC_BOOKMARK_ALL_TABS:
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc
deleted file mode 100644
index 5b89c27e8d36..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- chrome/browser/ui/views/accelerator_table.cc.orig 2019-09-09 21:55:11 UTC
-+++ chrome/browser/ui/views/accelerator_table.cc
-@@ -51,7 +51,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},
-@@ -81,7 +81,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},
-@@ -99,7 +99,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},
-@@ -125,14 +125,14 @@ const AcceleratorMapping kAcceleratorMap[] = {
- IDC_SHOW_AVATAR_MENU},
-
- // Platform-specific key maps.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_CHROMEOS)
- // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash.
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc
deleted file mode 100644
index 47a25b7a998d..000000000000
--- a/www/iridium/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 2020-02-03 21:52:41 UTC
-+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc
-@@ -33,7 +33,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>
-@@ -43,7 +43,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.
-@@ -105,7 +105,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit(
- devtools_server_->tracing_agent());
- }
-
--#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.
-@@ -136,7 +136,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/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h
deleted file mode 100644
index 59453a839cab..000000000000
--- a/www/iridium/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 2019-06-04 18:55:18 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/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc
deleted file mode 100644
index 2e9f1501f8a7..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/views/download/download_item_view.cc.orig 2020-03-17 09:40:34 UTC
-+++ chrome/browser/ui/views/download/download_item_view.cc
-@@ -234,7 +234,7 @@ DownloadItemView::DownloadItemView(DownloadUIModel::Do
- open_button_ = AddChildView(std::move(open_button));
-
- int file_name_style = views::style::STYLE_PRIMARY;
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- if (base::FeatureList::IsEnabled(safe_browsing::kUseNewDownloadWarnings))
- file_name_style = STYLE_EMPHASIZED;
- #endif
-@@ -1633,7 +1633,7 @@ void DownloadItemView::StyleFilenameInLabel(views::Sty
- if (!base::FeatureList::IsEnabled(safe_browsing::kUseNewDownloadWarnings))
- return;
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- base::string16 filename = ElidedFilename();
- size_t file_name_position = label->GetText().find(filename);
- if (file_name_position != std::string::npos) {
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
deleted file mode 100644
index d2029ff732a8..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/browser/ui/views/first_run_dialog.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/views/first_run_dialog.cc
-@@ -114,8 +114,10 @@ void FirstRunDialog::Done() {
- bool FirstRunDialog::Accept() {
- GetWidget()->Hide();
-
-+#if !defined(OS_BSD)
- ChangeMetricsReportingStateWithReply(report_crashes_->GetChecked(),
- base::Bind(&InitCrashReporterIfEnabled));
-+#endif
-
- if (make_default_->GetChecked())
- shell_integration::SetAsDefaultBrowser();
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
deleted file mode 100644
index c1d853c940c7..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2019-10-21 19:06:24 UTC
-+++ chrome/browser/ui/views/frame/browser_frame.cc
-@@ -46,7 +46,7 @@
- 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;
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc
deleted file mode 100644
index cca78f0e9ece..000000000000
--- a/www/iridium/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 2019-03-11 22:00:54 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_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include "ui/views/linux_ui/linux_ui.h"
- #endif
-
-@@ -32,7 +32,7 @@ OpaqueBrowserFrameView* CreateOpaqueBrowserFrameView(
- BrowserView* browser_view) {
- #if BUILDFLAG(ENABLE_NATIVE_WINDOW_NAV_BUTTONS)
- std::unique_ptr<views::NavButtonProvider> nav_button_provider;
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- if (ThemeServiceFactory::GetForProfile(browser_view->browser()->profile())
- ->UsingSystemTheme() &&
- views::LinuxUI::instance()) {
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
deleted file mode 100644
index b69b8869760f..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/frame/browser_view.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/views/frame/browser_view.cc
-@@ -1633,7 +1633,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/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc
deleted file mode 100644
index 9429876dcf27..000000000000
--- a/www/iridium/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 2020-03-16 18:39:45 UTC
-+++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc
-@@ -48,7 +48,7 @@
- #include "ui/views/window/vector_icons/vector_icons.h"
- #include "ui/views/window/window_shape.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/views/controls/menu/menu_runner.h"
- #endif
-
-@@ -349,7 +349,7 @@ void OpaqueBrowserFrameView::ButtonPressed(views::Butt
- } else if (sender == close_button_) {
- frame()->CloseWithReason(views::Widget::ClosedReason::kCloseButtonClicked);
- } else if (sender == window_icon_) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // TODO(pbos): Figure out / document why this is Linux only. This needs a
- // comment.
- views::MenuRunner menu_runner(frame()->GetSystemMenuModel(),
-@@ -478,7 +478,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;
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
deleted file mode 100644
index 0586d8bb467d..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc.orig 2019-04-30 22:22:36 UTC
-+++ chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
-
- // static
- std::unique_ptr<OpaqueBrowserFrameViewPlatformSpecific>
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc
deleted file mode 100644
index dc06c4f10c39..000000000000
--- a/www/iridium/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 2020-02-03 21:52:41 UTC
-+++ chrome/browser/ui/views/frame/system_menu_model_builder.cc
-@@ -62,7 +62,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);
-@@ -75,7 +75,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);
-@@ -113,7 +113,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/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc
deleted file mode 100644
index 0e2672a7af5f..000000000000
--- a/www/iridium/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 2019-06-04 18:55:18 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/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc
deleted file mode 100644
index 45d717c16389..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/views/hung_renderer_view.cc
-@@ -417,7 +417,7 @@ bool HungRendererDialogView::Cancel() {
- content::RenderProcessHost* rph =
- hung_pages_table_model_->GetRenderWidgetHost()->GetProcess();
- if (rph) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc
deleted file mode 100644
index 98e130553ec0..000000000000
--- a/www/iridium/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 2019-12-16 21:51:24 UTC
-+++ chrome/browser/ui/views/tabs/new_tab_button.cc
-@@ -84,7 +84,7 @@ class NewTabButton::HighlightPathGenerator
- NewTabButton::NewTabButton(TabStrip* tab_strip, views::ButtonListener* listener)
- : views::ImageButton(listener), tab_strip_(tab_strip) {
- set_animate_on_state_change(true);
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- set_triggerable_event_flags(triggerable_event_flags() |
- ui::EF_MIDDLE_MOUSE_BUTTON);
- #endif
diff --git a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc
deleted file mode 100644
index beabaf0792a0..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/ui/views/tabs/tab.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/views/tabs/tab.cc
-@@ -584,7 +584,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent&
- if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled())
- return;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc
deleted file mode 100644
index 166112807cf0..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/views/tabs/tab_drag_controller.cc
-@@ -450,7 +450,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)
-+#if defined(OS_LINUX) || 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.
-@@ -2082,7 +2082,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/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc
deleted file mode 100644
index 473b7690ddfc..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/about_ui.cc.orig 2020-02-03 21:52:41 UTC
-+++ chrome/browser/ui/webui/about_ui.cc
-@@ -561,7 +561,7 @@ std::string ChromeURLs() {
- return html;
- }
-
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- std::string AboutLinuxProxyConfig() {
- std::string data;
- AppendHeader(&data, 0,
-@@ -617,7 +617,7 @@ void AboutUIHTMLSource::StartDataRequest(
- response =
- ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr);
- }
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) {
- response = AboutLinuxProxyConfig();
- #endif
diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
deleted file mode 100644
index 6fed2b7df1f6..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc
+++ /dev/null
@@ -1,55 +0,0 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
-@@ -224,11 +224,11 @@
- #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- #include "chrome/browser/ui/webui/discards/discards_ui.h"
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h"
- #endif
-
-@@ -337,7 +337,7 @@ bool IsAboutUI(const GURL& url) {
- #if !defined(OS_ANDROID)
- || url.host_piece() == chrome::kChromeUITermsHost
- #endif
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost
- #endif
- #if defined(OS_CHROMEOS)
-@@ -669,7 +669,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- if (url.host_piece() == chrome::kChromeUINaClHost)
- return &NewWebUI<NaClUI>;
- #endif
--#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
-+#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) || defined(OS_BSD)
- if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost)
- return &NewWebUI<ConstrainedWebDialogUI>;
- #endif
-@@ -717,17 +717,17 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we
- return &NewWebUI<CastUI>;
- }
- #endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- if (url.host_piece() == chrome::kChromeUISandboxHost) {
- return &NewWebUI<SandboxInternalsUI>;
- }
- #endif
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- if (url.host_piece() == chrome::kChromeUIDiscardsHost)
- return &NewWebUI<DiscardsUI>;
- #endif
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc
deleted file mode 100644
index bf333383f3f1..000000000000
--- a/www/iridium/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 2019-10-21 19:06:24 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/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h
deleted file mode 100644
index 79f7e3050fff..000000000000
--- a/www/iridium/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 2019-03-11 22:00:54 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/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
deleted file mode 100644
index 8df5419b8753..000000000000
--- a/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -333,7 +333,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
- {"enterCustomWebAddress", IDS_SETTINGS_ENTER_CUSTOM_WEB_ADDRESS},
- {"homeButtonDisabled", IDS_SETTINGS_HOME_BUTTON_DISABLED},
- {"themes", IDS_SETTINGS_THEMES},
--#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},
-@@ -348,7 +348,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht
- {"changeHomePage", IDS_SETTINGS_CHANGE_HOME_PAGE},
- {"themesGalleryUrl", IDS_THEMES_GALLERY_URL},
- {"chooseFromWebStore", IDS_SETTINGS_WEB_STORE},
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS},
- #endif
- #if defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc
deleted file mode 100644
index abc103c98166..000000000000
--- a/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/browser/web_applications/components/web_app_file_handler_registration.cc.orig 2020-02-07 12:36:50 UTC
-+++ chrome/browser/web_applications/components/web_app_file_handler_registration.cc
-@@ -15,7 +15,7 @@ namespace web_app {
- //
- // Note: Because OS_LINUX includes OS_CHROMEOS be sure to use the stub on
- // OS_CHROMEOS.
--#if !defined(OS_WIN) && !(defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if !defined(OS_WIN) && !((defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS))
- bool ShouldRegisterFileHandlersWithOs() {
- return false;
- }
diff --git a/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc
deleted file mode 100644
index 934359b14459..000000000000
--- a/www/iridium/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 2020-03-17 09:41:50 UTC
-+++ chrome/browser/web_applications/components/web_app_shortcut.cc
-@@ -35,7 +35,7 @@ namespace {
- const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512};
- const size_t kNumDesiredIconSizesForShortcut =
- base::size(kDesiredIconSizesForShortcut);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || 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/www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc b/www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc
deleted file mode 100644
index 9b0d271a91c7..000000000000
--- a/www/iridium/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 2019-10-30 15:54:13 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/www/iridium/files/patch-chrome_common_BUILD.gn b/www/iridium/files/patch-chrome_common_BUILD.gn
deleted file mode 100644
index bf1e0b6e0415..000000000000
--- a/www/iridium/files/patch-chrome_common_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/common/BUILD.gn.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/BUILD.gn
-@@ -272,6 +272,10 @@ static_library("common") {
- public_deps += [ "//ppapi/shared_impl" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [ "component_flash_hint_file_linux.cc" ]
-+ }
-+
- if (enable_extensions) {
- sources += [
- "cast_messages.cc",
diff --git a/www/iridium/files/patch-chrome_common_channel__info.h b/www/iridium/files/patch-chrome_common_channel__info.h
deleted file mode 100644
index b290d11bd40c..000000000000
--- a/www/iridium/files/patch-chrome_common_channel__info.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/channel_info.h.orig 2019-12-17 19:22:25 UTC
-+++ chrome/common/channel_info.h
-@@ -55,7 +55,7 @@ version_info::Channel GetChannelByName(const std::stri
- 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/www/iridium/files/patch-chrome_common_channel__info__posix.cc b/www/iridium/files/patch-chrome_common_channel__info__posix.cc
deleted file mode 100644
index 11726bed5663..000000000000
--- a/www/iridium/files/patch-chrome_common_channel__info__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/common/channel_info_posix.cc.orig 2020-02-03 21:52:41 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)
- version_info::Channel product_channel(GetChannel());
-@@ -89,7 +89,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/www/iridium/files/patch-chrome_common_chrome__features.cc b/www/iridium/files/patch-chrome_common_chrome__features.cc
deleted file mode 100644
index 4591e746fab7..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__features.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- chrome/common/chrome_features.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/chrome_features.cc
-@@ -86,13 +86,13 @@ const base::Feature kAsyncDns {
- #endif
- };
-
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || 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)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
-
- // Once the user declines a notification permission prompt in a WebContents,
- // automatically dismiss subsequent prompts in the same WebContents, from any
diff --git a/www/iridium/files/patch-chrome_common_chrome__features.h b/www/iridium/files/patch-chrome_common_chrome__features.h
deleted file mode 100644
index d23bca53bf82..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__features.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- chrome/common/chrome_features.h.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/chrome_features.h
-@@ -68,10 +68,10 @@ extern const base::Feature kAppServiceShelf;
-
- COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns;
-
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kBackgroundModeAllowRestart;
--#endif // defined(OS_WIN) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
-
- COMPONENT_EXPORT(CHROME_FEATURES)
- extern const base::Feature kBlockRepeatedNotificationPermissionPrompts;
diff --git a/www/iridium/files/patch-chrome_common_chrome__paths.cc b/www/iridium/files/patch-chrome_common_chrome__paths.cc
deleted file mode 100644
index 8f8695168ae5..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__paths.cc
+++ /dev/null
@@ -1,111 +0,0 @@
---- chrome/common/chrome_paths.cc.orig 2020-02-03 21:52:41 UTC
-+++ chrome/common/chrome_paths.cc
-@@ -51,21 +51,21 @@ const base::FilePath::CharType kPepperFlashSystemBaseD
- FILE_PATH_LITERAL("Internet Plug-Ins/PepperFlashPlayer");
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions");
-+ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions");
- #else
-- FILE_PATH_LITERAL("/usr/share/chromium/extensions");
-+ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions");
- #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)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_LINUX) && BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
- // The name of the hint file that tells the latest component updated Widevine
-@@ -204,7 +204,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
- break;
- case chrome::DIR_DEFAULT_DOWNLOADS_SAFE:
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- if (!GetUserDownloadsDirectorySafe(&cur))
- return false;
- break;
-@@ -495,6 +495,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
-@@ -502,7 +505,7 @@ bool PathProvider(int key, base::FilePath* result) {
- }
- #endif
- #if defined(OS_CHROMEOS) || \
-- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX)
-+ ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX)
- case chrome::DIR_USER_EXTERNAL_EXTENSIONS: {
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
- return false;
-@@ -510,7 +513,7 @@ bool PathProvider(int key, base::FilePath* result) {
- break;
- }
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
- cur = base::FilePath(kFilepathSinglePrefExtensions);
- break;
-@@ -545,7 +548,7 @@ bool PathProvider(int key, base::FilePath* result) {
- #endif
- break;
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- case chrome::DIR_NATIVE_MESSAGING:
- #if defined(OS_MACOSX)
- #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-@@ -559,6 +562,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"));
-@@ -571,7 +577,7 @@ bool PathProvider(int key, base::FilePath* result) {
- return false;
- cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts"));
- break;
--#endif // defined(OS_LINUX) || defined(OS_MACOSX)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- #if !defined(OS_ANDROID)
- case chrome::DIR_GLOBAL_GCM_STORE:
- if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur))
-@@ -579,7 +585,7 @@ bool PathProvider(int key, base::FilePath* result) {
- cur = cur.Append(kGCMStoreDirname);
- break;
- #endif // !defined(OS_ANDROID)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- case chrome::FILE_COMPONENT_FLASH_HINT:
- if (!base::PathService::Get(
- chrome::DIR_COMPONENT_UPDATED_PEPPER_FLASH_PLUGIN, &cur)) {
-@@ -587,7 +593,7 @@ bool PathProvider(int key, base::FilePath* result) {
- }
- cur = cur.Append(kComponentUpdatedFlashHint);
- break;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- case chrome::FILE_CHROME_OS_COMPONENT_FLASH:
- cur = base::FilePath(kChromeOSComponentFlash);
diff --git a/www/iridium/files/patch-chrome_common_chrome__paths.h b/www/iridium/files/patch-chrome_common_chrome__paths.h
deleted file mode 100644
index 703fb6677e76..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__paths.h
+++ /dev/null
@@ -1,42 +0,0 @@
---- chrome/common/chrome_paths.h.orig 2019-12-16 21:50:44 UTC
-+++ chrome/common/chrome_paths.h
-@@ -53,7 +53,7 @@ enum {
- // contains subdirectories.
- #endif
- #if defined(OS_CHROMEOS) || \
-- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX)
-+ ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX)
- 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
-@@ -61,7 +61,7 @@ enum {
- // create it.
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension'
- // definition manifest files that
- // describe extensions which are to be
-@@ -122,7 +122,7 @@ enum {
- DIR_SUPERVISED_USER_INSTALLED_WHITELISTS, // Directory where sanitized
- // supervised user whitelists are
- // installed.
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || 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
-@@ -137,10 +137,10 @@ enum {
- DIR_GEN_TEST_DATA, // Directory where generated test data resides.
- DIR_TEST_DATA, // Directory where unit test data resides.
- DIR_TEST_TOOLS, // Directory where unit test tools reside.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- FILE_COMPONENT_FLASH_HINT, // A file in a known location that points to
- // the component updated flash plugin.
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- #if defined(OS_CHROMEOS)
- FILE_CHROME_OS_COMPONENT_FLASH, // The location of component updated Flash on
- // Chrome OS.
diff --git a/www/iridium/files/patch-chrome_common_chrome__paths__internal.h b/www/iridium/files/patch-chrome_common_chrome__paths__internal.h
deleted file mode 100644
index 9bf429302cd3..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__paths__internal.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/chrome_paths_internal.h.orig 2019-07-24 18:58:13 UTC
-+++ chrome/common/chrome_paths_internal.h
-@@ -45,7 +45,7 @@ void GetUserCacheDirectory(const base::FilePath& profi
- // Get the path to the user's documents directory.
- bool GetUserDocumentsDirectory(base::FilePath* result);
-
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- // Gets the path to a safe default download directory for a user.
- bool GetUserDownloadsDirectorySafe(base::FilePath* result);
- #endif
diff --git a/www/iridium/files/patch-chrome_common_chrome__switches.cc b/www/iridium/files/patch-chrome_common_chrome__switches.cc
deleted file mode 100644
index 0cf96df2deef..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/chrome_switches.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/chrome_switches.cc
-@@ -846,7 +846,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n
- const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon";
-
- // Causes the browser to launch directly in guest mode.
diff --git a/www/iridium/files/patch-chrome_common_chrome__switches.h b/www/iridium/files/patch-chrome_common_chrome__switches.h
deleted file mode 100644
index 957faae8a127..000000000000
--- a/www/iridium/files/patch-chrome_common_chrome__switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/chrome_switches.h.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/chrome_switches.h
-@@ -261,7 +261,7 @@ extern const char kAllowNaClFileHandleAPI[];
- extern const char kAllowNaClSocketAPI[];
- #endif
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD)
- extern const char kEnableNewAppMenuIcon[];
- extern const char kGuest[];
- #endif
diff --git a/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni b/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni
deleted file mode 100644
index 52d07bac4945..000000000000
--- a/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/extensions/api/api_sources.gni.orig 2020-02-03 21:52:41 UTC
-+++ chrome/common/extensions/api/api_sources.gni
-@@ -113,7 +113,7 @@ if (is_chromeos) {
- if (use_cups) {
- schema_sources_ += [ "printing.idl" ]
- }
--} else if (is_linux || is_win) {
-+} else if (is_linux || is_bsd || is_win) {
- schema_sources_ += [ "input_ime.json" ]
- }
-
diff --git a/www/iridium/files/patch-chrome_common_extensions_command.cc b/www/iridium/files/patch-chrome_common_extensions_command.cc
deleted file mode 100644
index d69c38703319..000000000000
--- a/www/iridium/files/patch-chrome_common_extensions_command.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/extensions/command.cc.orig 2019-04-30 22:22:37 UTC
-+++ chrome/common/extensions/command.cc
-@@ -300,7 +300,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/www/iridium/files/patch-chrome_common_features.gni b/www/iridium/files/patch-chrome_common_features.gni
deleted file mode 100644
index 5af21971a15e..000000000000
--- a/www/iridium/files/patch-chrome_common_features.gni
+++ /dev/null
@@ -1,14 +0,0 @@
---- chrome/common/features.gni.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/features.gni
-@@ -49,9 +49,9 @@ declare_args() {
- (is_desktop_linux && use_dbus) || is_chromeos
-
- enable_one_click_signin =
-- is_win || is_mac || (is_linux && !is_chromeos && !is_chromecast)
-+ is_win || is_mac || is_bsd || (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/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc
deleted file mode 100644
index 0f28ca47dca6..000000000000
--- a/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/media/cdm_host_file_path.cc.orig 2020-03-17 09:44:41 UTC
-+++ chrome/common/media/cdm_host_file_path.cc
-@@ -98,7 +98,7 @@ void AddCdmHostFilePaths(
- cdm_host_file_paths->emplace_back(chrome_framework_path,
- chrome_framework_sig_path);
-
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
-
- base::FilePath chrome_exe_dir;
- if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir))
diff --git a/www/iridium/files/patch-chrome_common_pref__names.cc b/www/iridium/files/patch-chrome_common_pref__names.cc
deleted file mode 100644
index edf68e0cec56..000000000000
--- a/www/iridium/files/patch-chrome_common_pref__names.cc
+++ /dev/null
@@ -1,44 +0,0 @@
---- chrome/common/pref_names.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/pref_names.cc
-@@ -1059,7 +1059,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
-@@ -1193,7 +1193,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";
-@@ -1621,7 +1621,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_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- const char kOpenPdfDownloadInSystemReader[] =
- "download.open_pdf_in_system_reader";
- #endif
-@@ -1917,12 +1917,12 @@ const char kGloballyScopeHTTPAuthCacheEnabled[] =
- const char kAmbientAuthenticationInPrivateModesEnabled[] =
- "auth.ambient_auth_in_private_modes";
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected
- // along with kAuthNegotiateDelegateWhitelist.
- const char kAuthNegotiateDelegateByKdcPolicy[] =
- "auth.negotiate_delegate_by_kdc_policy";
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- // Boolean that specifies whether NTLMv2 is enabled.
diff --git a/www/iridium/files/patch-chrome_common_pref__names.h b/www/iridium/files/patch-chrome_common_pref__names.h
deleted file mode 100644
index 7f7af0082f1f..000000000000
--- a/www/iridium/files/patch-chrome_common_pref__names.h
+++ /dev/null
@@ -1,41 +0,0 @@
---- chrome/common/pref_names.h.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/pref_names.h
-@@ -334,7 +334,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[];
-@@ -365,7 +365,7 @@ extern const char kDefaultBrowserSettingEnabled[];
- #if defined(OS_MACOSX)
- 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)
-@@ -532,7 +532,7 @@ extern const char kAppWindowPlacement[];
- extern const char kDownloadDefaultDirectory[];
- extern const char kDownloadExtensionsToOpen[];
- extern const char kDownloadDirUpgraded[];
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- extern const char kOpenPdfDownloadInSystemReader[];
- #endif
- #if defined(OS_ANDROID)
-@@ -744,9 +744,9 @@ extern const char kAllowCrossOriginAuthPrompt[];
- extern const char kGloballyScopeHTTPAuthCacheEnabled[];
- extern const char kAmbientAuthenticationInPrivateModesEnabled[];
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- extern const char kAuthNegotiateDelegateByKdcPolicy[];
--#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS)
-+#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- extern const char kNtlmV2Enabled[];
diff --git a/www/iridium/files/patch-chrome_common_webui__url__constants.cc b/www/iridium/files/patch-chrome_common_webui__url__constants.cc
deleted file mode 100644
index c9a01fc94ffe..000000000000
--- a/www/iridium/files/patch-chrome_common_webui__url__constants.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- chrome/common/webui_url_constants.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/webui_url_constants.cc
-@@ -321,7 +321,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
- const char kChromeUICastHost[] = "cast";
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- const char kChromeUIDiscardsHost[] = "discards";
- const char kChromeUIDiscardsURL[] = "chrome://discards/";
- const char kChromeUIHatsHost[] = "hats";
-@@ -332,17 +332,17 @@ const char kChromeUIHatsURL[] = "chrome://hats/";
- const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- const char kChromeUISandboxHost[] = "sandbox";
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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(TOOLKIT_VIEWS)) || defined(USE_AURA)
-+#if ((defined(OS_LINUX) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
- const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog";
- #endif
-
-@@ -608,13 +608,13 @@ const char* const kChromeHostURLs[] = {
- kChromeUIInternetDetailDialogHost,
- kChromeUIAssistantOptInHost,
- #endif
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- kChromeUIDiscardsHost,
- #endif
- #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
- kChromeUILinuxProxyConfigHost,
- #endif
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- kChromeUISandboxHost,
- #endif
- #if defined(OS_WIN)
diff --git a/www/iridium/files/patch-chrome_common_webui__url__constants.h b/www/iridium/files/patch-chrome_common_webui__url__constants.h
deleted file mode 100644
index dc27881da387..000000000000
--- a/www/iridium/files/patch-chrome_common_webui__url__constants.h
+++ /dev/null
@@ -1,32 +0,0 @@
---- chrome/common/webui_url_constants.h.orig 2020-03-16 18:40:30 UTC
-+++ chrome/common/webui_url_constants.h
-@@ -275,7 +275,7 @@ bool IsSystemWebUIHost(base::StringPiece host);
- extern const char kChromeUICastHost[];
- #endif
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- extern const char kChromeUIDiscardsHost[];
- extern const char kChromeUIDiscardsURL[];
- extern const char kChromeUIHatsHost[];
-@@ -287,17 +287,17 @@ extern const char kChromeUIHatsURL[];
- extern const char kChromeUILinuxProxyConfigHost[];
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- extern const char kChromeUISandboxHost[];
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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(TOOLKIT_VIEWS)) || defined(USE_AURA)
-+#if ((defined(OS_LINUX) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA)
- extern const char kChromeUITabModalConfirmDialogHost[];
- #endif
-
diff --git a/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc
deleted file mode 100644
index e6be28220164..000000000000
--- a/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/renderer/chrome_content_renderer_client.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/renderer/chrome_content_renderer_client.cc
-@@ -1053,7 +1053,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
- }
-
- case chrome::mojom::PluginStatus::kRestartRequired: {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- placeholder =
- create_blocked_plugin(IDR_BLOCKED_PLUGIN_HTML,
- l10n_util::GetStringFUTF16(
diff --git a/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc
deleted file mode 100644
index d77103710996..000000000000
--- a/www/iridium/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 2019-03-11 22:00:54 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_OPENBSD)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (font_file_.IsValid()) {
- result = content::GetFontTable(font_file_.GetPlatformFile(), table,
- 0 /* offset */,
diff --git a/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
deleted file mode 100644
index 6acbcf8fc2d9..000000000000
--- a/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2019-03-11 22:00:54 UTC
-+++ chrome/renderer/pepper/pepper_flash_font_file_host.h
-@@ -14,7 +14,7 @@
- #include "ppapi/c/private/pp_private_font_charset.h"
- #include "ppapi/host/resource_host.h"
-
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/file.h"
- #elif defined(OS_WIN)
- #include "third_party/skia/include/core/SkRefCnt.h"
-@@ -50,7 +50,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re
- uint32_t table);
- bool GetFontData(uint32_t table, void* buffer, size_t* length);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::File font_file_;
- #elif defined(OS_WIN)
- sk_sp<SkTypeface> typeface_;
diff --git a/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc b/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc
deleted file mode 100644
index 8624cc6a5068..000000000000
--- a/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/service/cloud_print/print_system.cc.orig 2019-03-11 22:00:54 UTC
-+++ chrome/service/cloud_print/print_system.cc
-@@ -36,7 +36,7 @@ std::string PrintSystem::GenerateProxyId() {
- return base::GenerateGUID();
- }
-
--#if defined(OS_LINUX) && !defined(USE_CUPS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(USE_CUPS)
- scoped_refptr<PrintSystem> PrintSystem::CreateInstance(
- const base::DictionaryValue*) {
- return nullptr;
diff --git a/www/iridium/files/patch-chrome_test_BUILD.gn b/www/iridium/files/patch-chrome_test_BUILD.gn
deleted file mode 100644
index 67e371b45b43..000000000000
--- a/www/iridium/files/patch-chrome_test_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/BUILD.gn.orig 2020-03-16 18:40:30 UTC
-+++ chrome/test/BUILD.gn
-@@ -6042,7 +6042,7 @@ test("chrome_app_unittests") {
- "//components/safe_browsing:buildflags",
- "//components/tracing",
- ]
-- 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/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc b/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc
deleted file mode 100644
index d09f2d1d0fd1..000000000000
--- a/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/test/base/chrome_test_launcher.cc.orig 2020-04-06 07:46:40 UTC
-+++ chrome/test/base/chrome_test_launcher.cc
-@@ -59,7 +59,7 @@
- #endif
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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 "testing/gtest/include/gtest/gtest.h"
- #endif
-@@ -221,7 +221,7 @@ int LaunchChromeTests(size_t parallel_jobs,
- }
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc b/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc
deleted file mode 100644
index f4de4bb39b0c..000000000000
--- a/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc
+++ /dev/null
@@ -1,40 +0,0 @@
---- chrome/test/base/in_process_browser_test.cc.orig 2020-04-03 04:11:30 UTC
-+++ chrome/test/base/in_process_browser_test.cc
-@@ -77,6 +77,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"
-@@ -104,7 +108,7 @@
- #include "ui/events/test/event_generator.h"
- #endif // defined(OS_CHROMEOS)
-
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX)
-+#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "ui/views/test/test_desktop_screen_x11.h"
- #endif
-
-@@ -253,7 +257,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_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- OSCryptMocker::SetUp();
- #endif
-
-@@ -308,7 +312,7 @@ void InProcessBrowserTest::TearDown() {
- com_initializer_.reset();
- #endif
- BrowserTestBase::TearDown();
--#if defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- OSCryptMocker::TearDown();
- #endif
-
diff --git a/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc b/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc
deleted file mode 100644
index f80c31dcc8d4..000000000000
--- a/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- chrome/test/base/interactive_ui_tests_main.cc.orig 2020-04-06 07:47:38 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/ozone/public/ozone_platform.h"
- #endif
- #if defined(USE_X11)
-@@ -54,11 +54,11 @@ class InteractiveUITestSuite : public ChromeTestSuite
- com_initializer_.reset(new base::win::ScopedCOMInitializer());
- ui_controls::InstallUIControlsAura(
- aura::test::CreateUIControlsAura(nullptr));
--#elif defined(USE_OZONE) && defined(OS_LINUX)
-+#elif defined(USE_OZONE) && (defined(OS_LINUX) || defined(OS_BSD))
- ui::OzonePlatform::InitParams params;
- params.single_process = true;
- ui::OzonePlatform::InitializeForUI(params);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- ui_controls::InstallUIControlsAura(
- views::test::CreateUIControlsDesktopAura());
- #else
diff --git a/www/iridium/files/patch-chrome_test_base_test__browser__window.h b/www/iridium/files/patch-chrome_test_base_test__browser__window.h
deleted file mode 100644
index 842f9dd09dd2..000000000000
--- a/www/iridium/files/patch-chrome_test_base_test__browser__window.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/test/base/test_browser_window.h.orig 2020-04-06 07:48:42 UTC
-+++ chrome/test/base/test_browser_window.h
-@@ -178,7 +178,7 @@ class TestBrowserWindow : public BrowserWindow {
- bool is_source_keyboard) override {}
-
- #if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || \
-- defined(OS_LINUX)
-+ defined(OS_LINUX) || defined(OS_BSD)
- void ShowHatsBubble(const std::string& site_id) override {}
- #endif
-
diff --git a/www/iridium/files/patch-chrome_test_base_testing__browser__process.h b/www/iridium/files/patch-chrome_test_base_testing__browser__process.h
deleted file mode 100644
index 97a81118bddd..000000000000
--- a/www/iridium/files/patch-chrome_test_base_testing__browser__process.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/test/base/testing_browser_process.h.orig 2019-09-09 21:55:11 UTC
-+++ chrome/test/base/testing_browser_process.h
-@@ -116,8 +116,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/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
deleted file mode 100644
index 79b4cc08b788..000000000000
--- a/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- chrome/test/chromedriver/chrome_launcher.cc.orig 2020-03-16 18:40:30 UTC
-+++ chrome/test/chromedriver/chrome_launcher.cc
-@@ -69,6 +69,10 @@
- #include "chrome/test/chromedriver/keycode_text_conversion.h"
- #endif
-
-+#if defined(OS_BSD)
-+#include <sys/wait.h>
-+#endif
-+
- namespace {
-
- const char* const kCommonSwitches[] = {
diff --git a/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
deleted file mode 100644
index 1aa645203816..000000000000
--- a/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2020-02-24 18:39:10 UTC
-+++ chrome/test/chromedriver/chrome/chrome_finder.cc
-@@ -50,7 +50,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l
- installation_locations[i].Append(L"Chromium\\Application"));
- }
- }
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- void GetApplicationDirs(std::vector<base::FilePath>* locations) {
- // TODO: Respect users' PATH variables.
- // Until then, we use an approximation of the most common defaults.
-@@ -136,7 +136,7 @@ bool FindChrome(base::FilePath* browser_exe) {
- #if defined(OS_WIN) || defined(OS_MACOSX)
- base::FilePath(chrome::kBrowserProcessExecutablePath),
- base::FilePath(chrome::kBrowserProcessExecutablePathChromium)
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- base::FilePath("google-chrome"),
- base::FilePath(chrome::kBrowserProcessExecutablePath),
- base::FilePath(chrome::kBrowserProcessExecutablePathChromium),
diff --git a/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
deleted file mode 100644
index 81970dcbbec1..000000000000
--- a/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2020-03-23 14:46:39 UTC
-+++ chrome/test/chromedriver/key_converter_unittest.cc
-@@ -278,7 +278,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- ->Generate(&key_events);
- builder.Generate(&key_events);
- builder.SetKeyCode(ui::VKEY_TAB);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- builder.SetText("\t", "\t")->Generate(&key_events);
- #else
- builder.SetText(std::string(), std::string());
-@@ -286,7 +286,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- key_events.push_back(builder.SetType(kKeyUpEventType)->Build());
- #endif
- builder.SetKeyCode(ui::VKEY_BACK);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- builder.SetText("\b", "\b")->Generate(&key_events);
- #else
- builder.SetText(std::string(), std::string());
-@@ -297,7 +297,7 @@ TEST(KeyConverter, AllShorthandKeys) {
- CheckEventsReleaseModifiers("\n\r\n\t\b ", key_events);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Fails on bots: crbug.com/174962
- #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols
- #else
-@@ -354,7 +354,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) {
- TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) {
- ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US);
- const char kTextForKeys[] = {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0,
- #else
- 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0,
diff --git a/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc
deleted file mode 100644
index 06032792b186..000000000000
--- a/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- chromecast/browser/cast_browser_main_parts.cc.orig 2020-03-16 18:40:30 UTC
-+++ chromecast/browser/cast_browser_main_parts.cc
-@@ -74,7 +74,7 @@
- #include "ui/base/ui_base_switches.h"
- #include "ui/gl/gl_switches.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <fontconfig/fontconfig.h>
- #include <signal.h>
- #include <sys/prctl.h>
-@@ -263,7 +263,7 @@ class CastViewsDelegate : public views::ViewsDelegate
-
- #endif // defined(USE_AURA)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-
- base::FilePath GetApplicationFontsDir() {
- std::unique_ptr<base::Environment> env(base::Environment::Create());
-@@ -279,7 +279,7 @@ base::FilePath GetApplicationFontsDir() {
- }
- }
-
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- } // namespace
-
-@@ -308,7 +308,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {cc::switches::kDisableThreadedAnimation, ""},
- #endif // defined(OS_ANDROID)
- #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -318,7 +318,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = {
- {switches::kEnableHardwareOverlays, "cast"},
- #endif
- #endif
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || 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.
-@@ -459,7 +459,7 @@ void CastBrowserMainParts::ToolkitInitialized() {
- views_delegate_ = std::make_unique<CastViewsDelegate>();
- #endif // defined(USE_AURA)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)) {
diff --git a/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc
deleted file mode 100644
index ceca4fa67274..000000000000
--- a/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/browser/cast_content_browser_client.cc.orig 2020-03-16 18:40:30 UTC
-+++ chromecast/browser/cast_content_browser_client.cc
-@@ -448,7 +448,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS
- switches::kAudioOutputChannels));
- }
- } else if (process_type == switches::kGpuProcess) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
diff --git a/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn b/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn
deleted file mode 100644
index e3c84406e9bf..000000000000
--- a/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/browser/metrics/BUILD.gn.orig 2019-07-24 18:58:17 UTC
-+++ chromecast/browser/metrics/BUILD.gn
-@@ -32,7 +32,7 @@ cast_source_set("metrics") {
- "//third_party/metrics_proto",
- ]
-
-- if (is_linux) {
-+ if (is_linux || is_bsd) {
- sources += [
- "external_metrics.cc",
- "external_metrics.h",
diff --git a/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc b/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc
deleted file mode 100644
index 2c4456163b65..000000000000
--- a/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- chromecast/browser/tts/tts_controller_impl.cc.orig 2019-03-11 22:00:56 UTC
-+++ chromecast/browser/tts/tts_controller_impl.cc
-@@ -390,7 +390,11 @@ int TtsControllerImpl::QueueSize() {
- }
-
- TtsPlatformImpl* TtsControllerImpl::GetPlatformImpl() {
-+#if defined(OS_BSD)
-+ return NULL;
-+#else
- return platform_impl_.get();
-+#endif // defined(OS_BSD)
- }
-
- std::string TtsControllerImpl::GetApplicationLocale() const {
diff --git a/www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc
deleted file mode 100644
index 381734887dcb..000000000000
--- a/www/iridium/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 2020-02-03 21:52:43 UTC
-+++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc
-@@ -7,7 +7,7 @@
- #include <map>
- #include <utility>
-
--#if OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/stat.h>
- #endif
-
-@@ -393,7 +393,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri
- named_channel.TakeServerEndpoint();
- DCHECK(server_endpoint.is_valid());
-
--#if OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- chmod(broker_path.c_str(), 0770);
- #endif
-
diff --git a/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc b/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc
deleted file mode 100644
index d141e1f0a1cb..000000000000
--- a/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- chromecast/media/base/monotonic_clock.cc.orig 2019-10-30 15:55:35 UTC
-+++ chromecast/media/base/monotonic_clock.cc
-@@ -9,9 +9,9 @@
- #include "base/time/time.h"
- #include "build/build_config.h"
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- #include "chromecast/media/base/buildflags.h"
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_FUCHSIA)
- #include <zircon/syscalls.h>
-@@ -20,7 +20,7 @@
- namespace chromecast {
- namespace media {
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- int64_t MonotonicClockNow() {
- timespec now = {0, 0};
- #if BUILDFLAG(MEDIA_CLOCK_MONOTONIC_RAW)
diff --git a/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc b/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
deleted file mode 100644
index 079d79856b84..000000000000
--- a/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- chromecast/renderer/cast_content_renderer_client.cc.orig 2020-03-17 09:46:13 UTC
-+++ chromecast/renderer/cast_content_renderer_client.cc
-@@ -208,7 +208,7 @@ void CastContentRendererClient::RenderFrameCreated(
- dispatcher->OnRenderFrameCreated(render_frame);
- #endif
-
--#if defined(OS_LINUX) && defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE)
- // JsChannelBindings destroys itself when the RenderFrame is destroyed.
- JsChannelBindings::Create(render_frame);
- #endif
diff --git a/www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc
deleted file mode 100644
index f9da88b9683c..000000000000
--- a/www/iridium/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 2019-12-16 21:50:45 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/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc b/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc
deleted file mode 100644
index 294953ed5551..000000000000
--- a/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill/core/browser/autofill_experiments.cc.orig 2019-12-16 21:50:45 UTC
-+++ components/autofill/core/browser/autofill_experiments.cc
-@@ -233,7 +233,7 @@ bool IsAutofillNoLocalSaveOnUploadSuccessExperimentEna
- }
-
- bool OfferStoreUnmaskedCards(bool is_off_the_record) {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- // The checkbox can be forced on with a flag, but by default we don't store
- // on Linux due to lack of system keychain integration. See crbug.com/162735
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc
deleted file mode 100644
index 25ba63628ba8..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 UTC
-+++ components/autofill/core/browser/autofill_external_delegate.cc
-@@ -118,7 +118,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_MACOSX) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- if (base::FeatureList::IsEnabled(
- features::kAutofillEnableHideSuggestionsUI)) {
diff --git a/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc
deleted file mode 100644
index 76d3e7dee3ed..000000000000
--- a/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- components/autofill/core/browser/personal_data_manager.cc.orig 2020-03-16 18:40:30 UTC
-+++ components/autofill/core/browser/personal_data_manager.cc
-@@ -1856,10 +1856,10 @@ bool PersonalDataManager::IsServerCard(const CreditCar
-
- bool PersonalDataManager::ShouldShowCardsFromAccountOption() const {
- // The feature is only for Linux, Windows and Mac.
--#if (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX)) || \
-+#if (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)) || \
- defined(OS_CHROMEOS)
- return false;
--#endif // (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX)) ||
-+#endif // (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)) ||
- // defined(OS_CHROMEOS)
-
- // This option should only be shown for users that have not enabled the Sync
diff --git a/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc
deleted file mode 100644
index 016f6de85d3c..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 UTC
-+++ components/autofill/core/common/autofill_payments_features.cc
-@@ -122,7 +122,7 @@ const base::Feature kAutofillUpstreamEditableExpiratio
-
- bool ShouldShowImprovedUserConsentForCreditCardSave() {
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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;
- #endif
diff --git a/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc
deleted file mode 100644
index f4cdea27b407..000000000000
--- a/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/autofill/core/common/autofill_util.cc.orig 2019-09-09 21:55:14 UTC
-+++ components/autofill/core/common/autofill_util.cc
-@@ -213,7 +213,7 @@ bool SanitizedFieldIsEmpty(const base::string16& value
- }
-
- bool ShouldAutoselectFirstSuggestionOnArrowDown() {
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- return true;
- #else
- return false;
diff --git a/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc
deleted file mode 100644
index 3c85edbf2e08..000000000000
--- a/www/iridium/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 2019-03-11 22:00:56 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_MACOSX) && !defined(OS_IOS)
diff --git a/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc b/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc
deleted file mode 100644
index 871d1f936cc4..000000000000
--- a/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- components/cookie_config/cookie_store_util.cc.orig 2019-03-11 22:00:56 UTC
-+++ components/cookie_config/cookie_store_util.cc
-@@ -11,7 +11,7 @@
-
- namespace cookie_config {
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- namespace {
-
- // Use the operating system's mechanisms to encrypt cookies before writing
-@@ -63,10 +63,10 @@ base::LazyInstance<CookieOSCryptoDelegate>::Destructor
- net::CookieCryptoDelegate* GetCookieCryptoDelegate() {
- return g_cookie_crypto_delegate.Pointer();
- }
--#else // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#else // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- net::CookieCryptoDelegate* GetCookieCryptoDelegate() {
- return NULL;
- }
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- } // namespace cookie_config
diff --git a/www/iridium/files/patch-components_crash_content_app_BUILD.gn b/www/iridium/files/patch-components_crash_content_app_BUILD.gn
deleted file mode 100644
index 2d01264b0bad..000000000000
--- a/www/iridium/files/patch-components_crash_content_app_BUILD.gn
+++ /dev/null
@@ -1,52 +0,0 @@
---- components/crash/content/app/BUILD.gn.orig 2020-03-16 18:40:30 UTC
-+++ components/crash/content/app/BUILD.gn
-@@ -49,17 +49,20 @@ static_library("app") {
- "crashpad_win.cc",
- ]
-
-- if (is_mac || is_win || is_android || is_linux) {
-+ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) {
- sources += [ "crashpad.cc" ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [
- "breakpad_linux.cc",
- "breakpad_linux.h",
- "breakpad_linux_impl.h",
- ]
- }
-+ if (is_bsd) {
-+ sources -= [ "crashpad_linux.cc" ]
-+ }
-
- defines = [ "CRASH_IMPLEMENTATION" ]
-
-@@ -69,7 +72,7 @@ static_library("app") {
- "//build:branding_buildflags",
- ]
-
-- if (is_mac || is_win || is_android || is_linux) {
-+ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) {
- deps += [
- "//third_party/crashpad/crashpad/client",
- "//third_party/crashpad/crashpad/util",
-@@ -95,7 +98,7 @@ static_library("app") {
- ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- deps += [ "//third_party/breakpad:client" ]
- }
-
-@@ -126,7 +129,7 @@ static_library("app") {
- libs = [ "log" ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- data_deps = [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ]
- }
- }
diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad.cc b/www/iridium/files/patch-components_crash_content_app_crashpad.cc
deleted file mode 100644
index f709f5f3087d..000000000000
--- a/www/iridium/files/patch-components_crash_content_app_crashpad.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- components/crash/content/app/crashpad.cc.orig 2019-04-30 22:22:41 UTC
-+++ components/crash/content/app/crashpad.cc
-@@ -104,6 +104,12 @@ void InitializeCrashpadImpl(bool initial_client,
- const base::FilePath& exe_path,
- const std::vector<std::string>& initial_arguments,
- bool embedded_handler) {
-+
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return;
-+#endif
-+
- static bool initialized = false;
- DCHECK(!initialized);
- initialized = true;
-@@ -124,7 +130,7 @@ void InitializeCrashpadImpl(bool initial_client,
- DCHECK(browser_process || process_type == "Chrome Installer" ||
- process_type == "notification-helper" ||
- process_type == "GCPW Installer" || process_type == "GCPW DLL");
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- DCHECK(browser_process);
- #else
- #error Port.
-@@ -192,7 +198,7 @@ void InitializeCrashpadImpl(bool initial_client,
- // other "main, first process" to initialize things. There is no "relauncher"
- // on Windows, so this is synonymous with initial_client.
- const bool should_initialize_database_and_set_upload_policy = initial_client;
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- const bool should_initialize_database_and_set_upload_policy = browser_process;
- #endif
- if (should_initialize_database_and_set_upload_policy) {
-@@ -272,7 +278,9 @@ bool GetUploadsEnabled() {
-
- #if !defined(OS_ANDROID)
- void DumpWithoutCrashing() {
-+#if !defined(OS_BSD)
- CRASHPAD_SIMULATE_CRASH();
-+#endif
- }
- #endif
-
diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad.h b/www/iridium/files/patch-components_crash_content_app_crashpad.h
deleted file mode 100644
index caf10f1a4f6a..000000000000
--- a/www/iridium/files/patch-components_crash_content_app_crashpad.h
+++ /dev/null
@@ -1,66 +0,0 @@
---- components/crash/content/app/crashpad.h.orig 2019-12-19 16:46:22 UTC
-+++ components/crash/content/app/crashpad.h
-@@ -22,7 +22,7 @@
- #include <windows.h>
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <signal.h>
- #endif
-
-@@ -37,7 +37,7 @@ class CrashReportDatabase;
-
- namespace crash_reporter {
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // TODO(jperaza): Remove kEnableCrashpad and IsCrashpadEnabled() when Crashpad
- // is fully enabled on Linux.
- extern const char kEnableCrashpad[];
-@@ -146,11 +146,11 @@ void RequestSingleCrashUpload(const std::string& local
-
- void DumpWithoutCrashing();
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // Logs message and immediately crashes the current process without triggering a
- // crash dump.
- void CrashWithoutDumping(const std::string& message);
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- // Returns the Crashpad database path, only valid in the browser.
- base::FilePath GetCrashpadDatabasePath();
-@@ -188,7 +188,7 @@ bool DumpWithoutCrashingForClient(CrashReporterClient*
- void WhitelistMemoryRange(void* begin, size_t size);
- #endif // OS_ANDROID
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Install a handler that gets a chance to handle faults before Crashpad. This
- // is used by V8 for trap-based bounds checks.
- void SetFirstChanceExceptionHandler(bool (*handler)(int, siginfo_t*, void*));
-@@ -196,7 +196,7 @@ void SetFirstChanceExceptionHandler(bool (*handler)(in
- // Gets the socket and process ID of the Crashpad handler connected to this
- // process, valid if this function returns `true`.
- bool GetHandlerSocket(int* sock, pid_t* pid);
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
-
- namespace internal {
-
-@@ -212,11 +212,11 @@ DWORD WINAPI DumpProcessForHungInputThread(void* param
-
- #endif // defined(OS_WIN)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // Starts the handler process with an initial client connected on fd.
- // Returns `true` on success.
- bool StartHandlerForClient(int fd);
--#endif // OS_LINUX || OS_ANDROID
-+#endif // OS_LINUX || OS_ANDROID || OS_BSD
-
- // The platform-specific portion of InitializeCrashpad(). On Windows, if
- // |user_data_dir| is non-empty, the user data directory will be passed to the
diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc b/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc
deleted file mode 100644
index 20d5d6295eb7..000000000000
--- a/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- components/crash/content/app/crashpad_linux.cc.orig 2020-03-16 18:39:48 UTC
-+++ components/crash/content/app/crashpad_linux.cc
-@@ -5,7 +5,9 @@
- #include "components/crash/content/app/crashpad.h"
-
- #include <pthread.h>
-+#if !defined(OS_BSD)
- #include <sys/prctl.h>
-+#endif
-
- #include <limits>
-
-@@ -67,9 +69,11 @@ void SetPtracerAtFork() {
- if (!GetHandlerSocket(nullptr, &pid)) {
- return;
- }
-+#if !defined(OS_BSD)
- if (pid > 0 && prctl(PR_SET_PTRACER, pid, 0, 0, 0) != 0) {
- PLOG(ERROR) << "prctl";
- }
-+#endif
- }
-
- namespace internal {
diff --git a/www/iridium/files/patch-components_crash_content_browser_BUILD.gn b/www/iridium/files/patch-components_crash_content_browser_BUILD.gn
deleted file mode 100644
index 6c5e78455e0f..000000000000
--- a/www/iridium/files/patch-components_crash_content_browser_BUILD.gn
+++ /dev/null
@@ -1,27 +0,0 @@
---- components/crash/content/browser/BUILD.gn.orig 2019-03-11 22:00:56 UTC
-+++ components/crash/content/browser/BUILD.gn
-@@ -28,7 +28,7 @@ source_set("browser") {
- "//content/public/common",
- ]
-
-- if (is_linux || is_android) {
-+ if ((is_linux && !is_bsd) || is_android) {
- set_sources_assignment_filter([])
-
- # Want this file on both Linux and Android.
-@@ -42,13 +42,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/www/iridium/files/patch-components_crash_core_common_BUILD.gn b/www/iridium/files/patch-components_crash_core_common_BUILD.gn
deleted file mode 100644
index b7c5ab969a32..000000000000
--- a/www/iridium/files/patch-components_crash_core_common_BUILD.gn
+++ /dev/null
@@ -1,31 +0,0 @@
---- components/crash/core/common/BUILD.gn.orig 2020-03-16 18:39:48 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") {
-@@ -104,7 +104,9 @@ target(crash_key_target_type, "crash_key_lib") {
- ]
- }
-
-- deps += [ "//third_party/breakpad:client" ]
-+ if (!is_bsd) {
-+ deps += [ "//third_party/breakpad:client" ]
-+ }
- if (use_combined_annotations) {
- public_deps += [ "//third_party/crashpad/crashpad/client" ]
- }
-@@ -167,7 +169,7 @@ source_set("unit_tests") {
- sources += [ "objc_zombie_unittest.mm" ]
- }
-
-- if (!is_mac && !is_ios && !is_win && !is_fuchsia && !is_android) {
-+ if (!is_mac && !is_ios && !is_win && !is_fuchsia && !is_android && !is_bsd) {
- include_dirs = [ "//third_party/breakpad/breakpad/src/" ]
- sources += [ "crash_key_breakpad_unittest.cc" ]
- }
diff --git a/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc
deleted file mode 100644
index def54d6eaffa..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/file_path.h"
- #include "base/files/file_util.h"
- #include "base/metrics/histogram_macros.h"
-@@ -182,7 +182,7 @@ int64_t GetDefaultMemoryLimit() {
- max_default_memory_limit /= 8;
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::FilePath shmem_dir;
- if (base::GetShmemTempDir(false, &shmem_dir)) {
- int64_t shmem_dir_amount_of_free_space =
diff --git a/www/iridium/files/patch-components_download_internal_common_base__file.cc b/www/iridium/files/patch-components_download_internal_common_base__file.cc
deleted file mode 100644
index dbb0a0dd18dd..000000000000
--- a/www/iridium/files/patch-components_download_internal_common_base__file.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/download/internal/common/base_file.cc.orig 2019-12-16 21:50:45 UTC
-+++ components/download/internal/common/base_file.cc
-@@ -603,7 +603,7 @@ GURL GetEffectiveAuthorityURL(const GURL& source_url,
-
- } // namespace
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
- const std::string& client_guid,
-@@ -621,7 +621,7 @@ DownloadInterruptReason BaseFile::AnnotateWithSourceIn
-
- return QuarantineFileResultToReason(result);
- }
--#else // !OS_WIN && !OS_MACOSX && !OS_LINUX
-+#else // !OS_WIN && !OS_MACOSX && !OS_LINUX && !OS_BSD
- DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync(
- const std::string& client_guid,
- const GURL& source_url,
diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc
deleted file mode 100644
index ea4af4e91c50..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- components/feature_engagement/public/event_constants.cc.orig 2020-02-03 21:52:44 UTC
-+++ components/feature_engagement/public/event_constants.cc
-@@ -12,12 +12,12 @@ namespace feature_engagement {
- namespace events {
-
- #if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- const char kNewTabOpened[] = "new_tab_opened";
- #endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) ||
-- // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const char kReopenTabConditionsMet[] = "reopen_tab_conditions_met";
- const char kTabReopened[] = "tab_reopened";
-@@ -42,7 +42,7 @@ const char kIncognitoWindowOpened[] = "incognito_windo
- const char kIncognitoWindowSessionTimeMet[] =
- "incognito_window_session_time_met";
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_IOS)
diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.h b/www/iridium/files/patch-components_feature__engagement_public_event__constants.h
deleted file mode 100644
index 96b274df41fb..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_event__constants.h
+++ /dev/null
@@ -1,30 +0,0 @@
---- components/feature_engagement/public/event_constants.h.orig 2020-02-03 21:52:44 UTC
-+++ components/feature_engagement/public/event_constants.h
-@@ -14,15 +14,15 @@ namespace events {
-
- // Desktop and IOS.
- #if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \
-- defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- // The user has explicitly opened a new tab via an entry point from inside of
- // Chrome.
- extern const char kNewTabOpened[];
- #endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) ||
-- // defined(OS_LINUX) || defined(OS_CHROMEOS)
-+ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
-
- // Desktop
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- // All conditions for reopen closed tab IPH were met. Since this IPH needs to
- // track user events (opening/closing tabs, focusing the omnibox, etc) on the
-@@ -80,7 +80,7 @@ extern const char kIncognitoWindowOpened[];
- extern const char kIncognitoWindowSessionTimeMet[];
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
-
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_IOS)
diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc
deleted file mode 100644
index 699be09ed7b4..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_constants.cc.orig 2020-02-03 21:53:30 UTC
-+++ components/feature_engagement/public/feature_constants.cc
-@@ -14,7 +14,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode",
- const base::Feature kIPHDummyFeature{"IPH_Dummy",
- base::FEATURE_DISABLED_BY_DEFAULT};
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- const base::Feature kIPHFocusModeFeature{"IPH_FocusMode",
- base::FEATURE_DISABLED_BY_DEFAULT};
-@@ -33,7 +33,7 @@ const base::Feature kIPHIncognitoWindowFeature{
- const base::Feature kIPHNewTabFeature{"IPH_NewTab",
- base::FEATURE_DISABLED_BY_DEFAULT};
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- #if defined(OS_ANDROID)
diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h
deleted file mode 100644
index 415b6f1d8c71..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_constants.h.orig 2020-02-03 21:53:30 UTC
-+++ components/feature_engagement/public/feature_constants.h
-@@ -17,7 +17,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_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- extern const base::Feature kIPHFocusModeFeature;
- extern const base::Feature kIPHGlobalMediaControlsFeature;
-@@ -29,7 +29,7 @@ extern const base::Feature kIPHBookmarkFeature;
- extern const base::Feature kIPHIncognitoWindowFeature;
- extern const base::Feature kIPHNewTabFeature;
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IPH)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || 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/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc
deleted file mode 100644
index 6bfd36f75f8d..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/feature_engagement/public/feature_list.cc.orig 2020-03-16 18:39:48 UTC
-+++ components/feature_engagement/public/feature_list.cc
-@@ -58,7 +58,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHBadgedReadingListFeature,
- &kIPHBadgedTranslateManualTriggerFeature,
- #endif // defined(OS_IOS)
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- &kIPHFocusModeFeature,
- &kIPHGlobalMediaControlsFeature,
-@@ -69,7 +69,7 @@ const base::Feature* const kAllFeatures[] = {
- &kIPHIncognitoWindowFeature,
- &kIPHNewTabFeature,
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- };
- } // namespace
diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__list.h b/www/iridium/files/patch-components_feature__engagement_public_feature__list.h
deleted file mode 100644
index 246d10568f99..000000000000
--- a/www/iridium/files/patch-components_feature__engagement_public_feature__list.h
+++ /dev/null
@@ -1,38 +0,0 @@
---- components/feature_engagement/public/feature_list.h.orig 2020-03-16 18:39:48 UTC
-+++ components/feature_engagement/public/feature_list.h
-@@ -111,7 +111,7 @@ DEFINE_VARIATION_PARAM(kIPHBadgedTranslateManualTrigge
- "IPH_BadgedTranslateManualTrigger");
- #endif // defined(OS_IOS)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode");
- DEFINE_VARIATION_PARAM(kIPHGlobalMediaControls, "IPH_GlobalMediaControls");
-@@ -122,7 +122,7 @@ DEFINE_VARIATION_PARAM(kIPHBookmarkFeature, "IPH_Bookm
- DEFINE_VARIATION_PARAM(kIPHIncognitoWindowFeature, "IPH_IncognitoWindow");
- DEFINE_VARIATION_PARAM(kIPHNewTabFeature, "IPH_NewTab");
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
-
- } // namespace
-@@ -172,7 +172,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHNewIncognitoTabTipFeature),
- VARIATION_ENTRY(kIPHBadgedReadingListFeature),
- VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature),
--#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_CHROMEOS)
- VARIATION_ENTRY(kIPHFocusModeFeature),
- VARIATION_ENTRY(kIPHGlobalMediaControls),
-@@ -183,7 +183,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
- VARIATION_ENTRY(kIPHIncognitoWindowFeature),
- VARIATION_ENTRY(kIPHNewTabFeature),
- #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP)
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ||
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) ||
- // defined(OS_CHROMEOS)
- };
-
diff --git a/www/iridium/files/patch-components_feedback_anonymizer__tool.cc b/www/iridium/files/patch-components_feedback_anonymizer__tool.cc
deleted file mode 100644
index ec853d75bd26..000000000000
--- a/www/iridium/files/patch-components_feedback_anonymizer__tool.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/feedback/anonymizer_tool.cc.orig 2020-03-16 18:40:30 UTC
-+++ components/feedback/anonymizer_tool.cc
-@@ -15,7 +15,11 @@
- #include "base/threading/thread_restrictions.h"
- #include "content/public/browser/browser_thread.h"
- #include "net/base/ip_address.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using re2::RE2;
-
diff --git a/www/iridium/files/patch-components_flags__ui_flags__state.cc b/www/iridium/files/patch-components_flags__ui_flags__state.cc
deleted file mode 100644
index fdaa3f2f453c..000000000000
--- a/www/iridium/files/patch-components_flags__ui_flags__state.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/flags_ui/flags_state.cc.orig 2020-02-03 21:53:30 UTC
-+++ components/flags_ui/flags_state.cc
-@@ -693,7 +693,7 @@ int FlagsState::GetCurrentPlatform() {
- return kOsWin;
- #elif defined(OS_CHROMEOS) // Needs to be before the OS_LINUX check.
- 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/www/iridium/files/patch-components_gcm__driver_gcm__client.h b/www/iridium/files/patch-components_gcm__driver_gcm__client.h
deleted file mode 100644
index d40f905a889e..000000000000
--- a/www/iridium/files/patch-components_gcm__driver_gcm__client.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- components/gcm_driver/gcm_client.h.orig 2020-02-03 21:53:30 UTC
-+++ components/gcm_driver/gcm_client.h
-@@ -87,6 +87,7 @@ class GCMClient {
- PLATFORM_CROS,
- PLATFORM_IOS,
- PLATFORM_ANDROID,
-+ PLATFORM_BSD,
- PLATFORM_UNSPECIFIED
- };
-
diff --git a/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc b/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc
deleted file mode 100644
index 52e43837a5bd..000000000000
--- a/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- components/gcm_driver/gcm_client_impl.cc.orig 2020-02-03 21:53:30 UTC
-+++ components/gcm_driver/gcm_client_impl.cc
-@@ -135,6 +135,9 @@ void ToCheckinProtoVersion(
- case GCMClient::PLATFORM_CROS:
- platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_CROS;
- break;
-+ case GCMClient::PLATFORM_BSD:
-+ platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX;
-+ break;
- case GCMClient::PLATFORM_UNSPECIFIED:
- // For unknown platform, return as LINUX.
- platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX;
diff --git a/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc b/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
deleted file mode 100644
index bbf7cb18c4a1..000000000000
--- a/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/keyed_service/core/dependency_graph_unittest.cc.orig 2019-03-11 22:00:56 UTC
-+++ components/keyed_service/core/dependency_graph_unittest.cc
-@@ -9,7 +9,11 @@
- #include "components/keyed_service/core/dependency_graph.h"
- #include "components/keyed_service/core/dependency_node.h"
- #include "testing/gtest/include/gtest/gtest.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace {
-
diff --git a/www/iridium/files/patch-components_metrics_BUILD.gn b/www/iridium/files/patch-components_metrics_BUILD.gn
deleted file mode 100644
index b89758947847..000000000000
--- a/www/iridium/files/patch-components_metrics_BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/metrics/BUILD.gn.orig 2020-03-16 18:40:30 UTC
-+++ components/metrics/BUILD.gn
-@@ -173,6 +173,11 @@ jumbo_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/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc b/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc
deleted file mode 100644
index 7e51eab82bdb..000000000000
--- a/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/metrics/drive_metrics_provider_linux.cc.orig 2019-03-11 22:00:56 UTC
-+++ components/metrics/drive_metrics_provider_linux.cc
-@@ -4,7 +4,13 @@
-
- #include "components/metrics/drive_metrics_provider.h"
-
-+#if defined(OS_BSD)
-+#include <sys/types.h>
-+#define MAJOR(dev) major(dev)
-+#define MINOR(dev) minor(dev)
-+#else
- #include <linux/kdev_t.h> // For MAJOR()/MINOR().
-+#endif
- #include <sys/stat.h>
- #include <string>
-
diff --git a/www/iridium/files/patch-components_metrics_metrics__log.cc b/www/iridium/files/patch-components_metrics_metrics__log.cc
deleted file mode 100644
index 22cb98c234a2..000000000000
--- a/www/iridium/files/patch-components_metrics_metrics__log.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/metrics/metrics_log.cc.orig 2019-10-21 19:06:29 UTC
-+++ components/metrics/metrics_log.cc
-@@ -202,7 +202,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/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc b/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc
deleted file mode 100644
index 1cb338f7464b..000000000000
--- a/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/metrics/system_memory_stats_recorder_linux.cc.orig 2019-09-09 21:55:14 UTC
-+++ components/metrics/system_memory_stats_recorder_linux.cc
-@@ -30,6 +30,7 @@ namespace metrics {
- UMA_HISTOGRAM_LINEAR(name, sample, 2500, 50)
-
- void RecordMemoryStats(RecordMemoryStatsType type) {
-+#if !defined(OS_FREEBSD)
- base::SystemMemoryInfoKB memory;
- if (!base::GetSystemMemoryInfo(&memory))
- return;
-@@ -81,6 +82,7 @@ void RecordMemoryStats(RecordMemoryStatsType type) {
- break;
- }
- }
-+#endif // !defined(OS_FREEBSD)
- }
-
- } // namespace metrics
diff --git a/www/iridium/files/patch-components_neterror_resources_neterror.js b/www/iridium/files/patch-components_neterror_resources_neterror.js
deleted file mode 100644
index 07a9dedb488d..000000000000
--- a/www/iridium/files/patch-components_neterror_resources_neterror.js
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/neterror/resources/neterror.js.orig 2020-02-03 21:53:30 UTC
-+++ components/neterror/resources/neterror.js
-@@ -201,7 +201,7 @@ function setUpCachedButton(buttonStrings) {
- }
-
- 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/www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc
deleted file mode 100644
index 658b31ad44fb..000000000000
--- a/www/iridium/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 2020-03-16 18:40:30 UTC
-+++ components/network_session_configurator/browser/network_session_configurator.cc
-@@ -718,7 +718,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/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp b/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp
deleted file mode 100644
index 015ca5836d21..000000000000
--- a/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp
+++ /dev/null
@@ -1,47 +0,0 @@
---- components/new_or_sad_tab_strings.grdp.orig 2020-03-16 18:40:30 UTC
-+++ components/new_or_sad_tab_strings.grdp
-@@ -51,7 +51,7 @@
- Open page in a new Incognito window (⇧⌘N)
- </message>
- </if>
-- <if expr="is_win or is_linux or chromeos">
-+ <if expr="is_win or is_posix or chromeos">
- <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode.">
- Open page in a new Incognito window (Ctrl-Shift-N)
- </message>
-@@ -66,7 +66,7 @@
- Close other tabs or apps
- </message>
- </if>
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer.">
- Close other tabs or programs
- </message>
-@@ -76,7 +76,7 @@
- Close other apps
- </message>
- </if>
-- <if expr="is_linux and not chromeos">
-+ <if expr="is_posix and not chromeos">
- <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other programs running on their computer (Linux).">
- Close other programs
- </message>
-@@ -91,7 +91,7 @@
- Restart Chromium
- </message>
- </if>
-- <if expr="is_win or is_linux or is_macosx or chromeos">
-+ <if expr="is_win or is_posix or is_macosx or chromeos">
- <message name="IDS_SAD_TAB_RELOAD_RESTART_DEVICE" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart their computer.">
- Restart your computer
- </message>
-@@ -106,7 +106,7 @@
- Learn more
- </message>
- </if>
-- <if expr="is_win or is_linux or is_macosx or chromeos">
-+ <if expr="is_win or is_posix or is_macosx or chromeos">
- <message name="IDS_SAD_TAB_ERROR_CODE" desc="The message displayed on the crashed web page indicating the type of the crash.">
- Error code: <ph name="ERROR_CODE">$1<ex>STATUS_ACCESS_VIOLATION</ex></ph>
- </message>
diff --git a/www/iridium/files/patch-components_os__crypt_os__crypt.h b/www/iridium/files/patch-components_os__crypt_os__crypt.h
deleted file mode 100644
index f9e601a9a454..000000000000
--- a/www/iridium/files/patch-components_os__crypt_os__crypt.h
+++ /dev/null
@@ -1,48 +0,0 @@
---- components/os_crypt/os_crypt.h.orig 2020-02-03 21:53: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_MACOSX) && !defined(OS_IOS))
- 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_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+#if defined(OS_MACOSX) || (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/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc b/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc
deleted file mode 100644
index d8cbdaad386c..000000000000
--- a/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/os_crypt/os_crypt_unittest.cc.orig 2019-03-11 22:00:56 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/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc b/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc
deleted file mode 100644
index 0f704d529edf..000000000000
--- a/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/plugins/renderer/plugin_placeholder.cc.orig 2019-03-11 22:00:56 UTC
-+++ components/plugins/renderer/plugin_placeholder.cc
-@@ -17,7 +17,11 @@
- #include "third_party/blink/public/web/web_plugin_container.h"
- #include "third_party/blink/public/web/web_script_source.h"
- #include "third_party/blink/public/web/web_serialized_script_value.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif // defined(OS_BSD)
-
- namespace plugins {
-
diff --git a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
deleted file mode 100644
index 06a59baab59d..000000000000
--- a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc
+++ /dev/null
@@ -1,73 +0,0 @@
---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2020-02-03 21:52:44 UTC
-+++ components/policy/core/common/cloud/cloud_policy_util.cc
-@@ -16,7 +16,7 @@
- #include <wincred.h>
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
- #include <pwd.h>
- #include <sys/types.h>
- #include <unistd.h>
-@@ -31,7 +31,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
-
-@@ -60,7 +60,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
-
-@@ -69,11 +69,24 @@ namespace policy {
- namespace em = enterprise_management;
-
- std::string GetMachineName() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS))
- char hostname[HOST_NAME_MAX];
- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success.
- return hostname;
- return std::string();
-+#elif defined(OS_BSD)
-+ long host_name_max = sysconf(_SC_HOST_NAME_MAX);
-+ if (host_name_max != -1) {
-+ char *hostname = new char[host_name_max + 1]();
-+ std::string hostname_r;
-+
-+ if (gethostname(hostname, host_name_max) == 0)
-+ hostname_r = hostname;
-+
-+ delete[] hostname;
-+ return hostname_r;
-+ }
-+ return std::string();
- #elif defined(OS_MACOSX)
- // TODO(crbug.com/1024115): Find a different replacement for -[NSHost
- // currentHost] on iOS.
-@@ -123,7 +136,7 @@ std::string GetMachineName() {
- }
-
- std::string GetOSVersion() {
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- return base::SysInfo::OperatingSystemVersion();
- #elif defined(OS_WIN)
- base::win::OSInfo::VersionNumber version_number =
-@@ -146,7 +159,7 @@ std::string GetOSArchitecture() {
- }
-
- std::string GetOSUsername() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD)
- struct passwd* creds = getpwuid(getuid());
- if (!creds || !creds->pw_name)
- return std::string();
diff --git a/www/iridium/files/patch-components_policy_core_common_schema.cc b/www/iridium/files/patch-components_policy_core_common_schema.cc
deleted file mode 100644
index 084085fb3d9f..000000000000
--- a/www/iridium/files/patch-components_policy_core_common_schema.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/policy/core/common/schema.cc.orig 2019-03-11 22:00:56 UTC
-+++ components/policy/core/common/schema.cc
-@@ -23,7 +23,11 @@
- #include "base/strings/stringprintf.h"
- #include "components/policy/core/common/json_schema_constants.h"
- #include "components/policy/core/common/schema_internal.h"
-+#if defined(OS_FREEBSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace schema = json_schema_constants;
-
diff --git a/www/iridium/files/patch-components_policy_resources_policy__templates.json b/www/iridium/files/patch-components_policy_resources_policy__templates.json
deleted file mode 100644
index 5eca40e4b2ae..000000000000
--- a/www/iridium/files/patch-components_policy_resources_policy__templates.json
+++ /dev/null
@@ -1,83 +0,0 @@
---- components/policy/resources/policy_templates.json.orig 2020-03-16 18:40:31 UTC
-+++ components/policy/resources/policy_templates.json
-@@ -1088,7 +1088,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,
-@@ -1118,7 +1118,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,
-@@ -1145,7 +1145,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,
-@@ -1944,7 +1944,7 @@
- 'owners': ['jamiewalch@chromium.org', 'rkjnsn@chromium.org'],
- 'type': 'main',
- 'schema': { 'type': 'boolean' },
-- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-'],
-+ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-', 'chrome.freebsd:25-'],
- 'features': {
- 'dynamic_refresh': True,
- 'per_profile': False,
-@@ -3807,7 +3807,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,
-@@ -3861,7 +3861,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,
-@@ -7329,7 +7329,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,
-@@ -8621,7 +8621,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,
-@@ -9297,7 +9297,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/www/iridium/files/patch-components_policy_tools_generate__policy__source.py b/www/iridium/files/patch-components_policy_tools_generate__policy__source.py
deleted file mode 100644
index 0274c627676a..000000000000
--- a/www/iridium/files/patch-components_policy_tools_generate__policy__source.py
+++ /dev/null
@@ -1,19 +0,0 @@
---- components/policy/tools/generate_policy_source.py.orig 2020-02-03 21:53:30 UTC
-+++ components/policy/tools/generate_policy_source.py
-@@ -97,6 +97,7 @@ class PolicyDetails:
- 'chrome.linux',
- 'chrome.mac',
- 'chrome.fuchsia',
-+ 'chrome.freebsd',
- 'chrome.*',
- 'chrome.win7',
- ]:
-@@ -119,7 +120,7 @@ class PolicyDetails:
- if platform.startswith('chrome.'):
- platform_sub = platform[7:]
- if platform_sub == '*':
-- self.platforms.extend(['win', 'mac', 'linux', 'fuchsia'])
-+ self.platforms.extend(['win', 'mac', 'linux', 'fuchsia', 'freebsd'])
- elif platform_sub == 'win7':
- self.platforms.append('win')
- else:
diff --git a/www/iridium/files/patch-components_previews_core_previews__features.cc b/www/iridium/files/patch-components_previews_core_previews__features.cc
deleted file mode 100644
index fabf0b3025ea..000000000000
--- a/www/iridium/files/patch-components_previews_core_previews__features.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- components/previews/core/previews_features.cc.orig 2019-03-11 22:00:57 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)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || 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)
-+#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- base::FEATURE_DISABLED_BY_DEFAULT
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- };
-
- // Enables the Offline previews on android slow connections.
diff --git a/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc b/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
deleted file mode 100644
index b9eaf2aa1e95..000000000000
--- a/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/security_interstitials/content/captive_portal_blocking_page.cc.orig 2020-03-16 18:39:49 UTC
-+++ components/security_interstitials/content/captive_portal_blocking_page.cc
-@@ -106,7 +106,7 @@ std::string CaptivePortalBlockingPage::GetWiFiSSID() c
- wifi_service->GetConnectedNetworkSSID(&ssid, &error);
- if (!error.empty())
- return std::string();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- ssid = net::GetWifiSSID();
- #elif defined(OS_ANDROID)
- ssid = net::android::GetWifiSSID();
diff --git a/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc
deleted file mode 100644
index f6e9116c28d0..000000000000
--- a/www/iridium/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 2020-02-24 18:39:14 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)
-+#elif defined(OS_LINUX) || 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)
-+#elif defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h
deleted file mode 100644
index d84c48a27037..000000000000
--- a/www/iridium/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 2020-02-26 13:13:33 UTC
-+++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h
-@@ -19,7 +19,7 @@
- #include "mojo/public/cpp/bindings/pending_receiver.h"
- #include "mojo/public/cpp/bindings/receiver.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #include "third_party/skia/include/core/SkRefCnt.h"
- #endif
-@@ -68,7 +68,7 @@ class PaintPreviewCompositorCollectionImpl
- std::unique_ptr<PaintPreviewCompositorImpl>>
- compositors_;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/iridium/files/patch-components_storage__monitor_BUILD.gn b/www/iridium/files/patch-components_storage__monitor_BUILD.gn
deleted file mode 100644
index 3d90d22d647b..000000000000
--- a/www/iridium/files/patch-components_storage__monitor_BUILD.gn
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/storage_monitor/BUILD.gn.orig 2019-10-21 19:06:30 UTC
-+++ components/storage_monitor/BUILD.gn
-@@ -81,6 +81,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/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc
deleted file mode 100644
index 055ef8ce5281..000000000000
--- a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/storage_monitor/removable_device_constants.cc.orig 2019-03-11 22:00:57 UTC
-+++ components/storage_monitor/removable_device_constants.cc
-@@ -10,7 +10,7 @@ namespace storage_monitor {
- const char kFSUniqueIdPrefix[] = "UUID:";
- const char kVendorModelSerialPrefix[] = "VendorModelSerial:";
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const char kVendorModelVolumeStoragePrefix[] = "VendorModelVolumeStorage:";
- #endif
-
diff --git a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h
deleted file mode 100644
index 6417016c4b7e..000000000000
--- a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/storage_monitor/removable_device_constants.h.orig 2019-03-11 22:00:57 UTC
-+++ components/storage_monitor/removable_device_constants.h
-@@ -15,7 +15,7 @@ namespace storage_monitor {
- extern const char kFSUniqueIdPrefix[];
- extern const char kVendorModelSerialPrefix[];
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- extern const char kVendorModelVolumeStoragePrefix[];
- #endif
-
diff --git a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
deleted file mode 100644
index 5565618b98b3..000000000000
--- a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc
+++ /dev/null
@@ -1,57 +0,0 @@
---- components/storage_monitor/storage_monitor_freebsd.cc.orig 2019-03-17 01:47:13 UTC
-+++ components/storage_monitor/storage_monitor_freebsd.cc
-@@ -0,0 +1,54 @@
-+// 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.
-+
-+// StorageMonitorFreeBSD implementation.
-+
-+#include "components/storage_monitor/storage_monitor_freebsd.h"
-+
-+#include <stdio.h>
-+
-+#include <list>
-+
-+#include "base/bind.h"
-+#include "base/metrics/histogram.h"
-+#include "base/process/kill.h"
-+#include "base/process/launch.h"
-+#include "base/stl_util.h"
-+#include "base/strings/string_number_conversions.h"
-+#include "base/strings/string_util.h"
-+#include "base/strings/utf_string_conversions.h"
-+#include "components/storage_monitor/media_storage_util.h"
-+#include "components/storage_monitor/removable_device_constants.h"
-+#include "components/storage_monitor/storage_info.h"
-+
-+using content::BrowserThread;
-+
-+namespace storage_monitor {
-+
-+namespace {
-+
-+} // namespace
-+
-+StorageMonitorFreeBSD::StorageMonitorFreeBSD() {
-+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-+}
-+
-+StorageMonitorFreeBSD::~StorageMonitorFreeBSD() {
-+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
-+}
-+
-+void StorageMonitorFreeBSD::Init() {
-+}
-+
-+bool StorageMonitorFreeBSD::GetStorageInfoForPath(
-+ const base::FilePath& path,
-+ StorageInfo* device_info) const {
-+ return false; // TODO
-+}
-+
-+StorageMonitor* StorageMonitor::CreateInternal() {
-+ return new StorageMonitorFreeBSD();
-+}
-+
-+} // namespace storage_monitor
diff --git a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h
deleted file mode 100644
index 258c90fede4d..000000000000
--- a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h
+++ /dev/null
@@ -1,48 +0,0 @@
---- components/storage_monitor/storage_monitor_freebsd.h.orig 2019-03-17 01:47:13 UTC
-+++ components/storage_monitor/storage_monitor_freebsd.h
-@@ -0,0 +1,45 @@
-+// 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.
-+
-+// StorageMonitorFreeBSD processes mount point change events, notifies listeners
-+// about the addition and deletion of media devices, and answers queries about
-+// mounted devices.
-+// StorageMonitorFreeBSD lives on the UI thread, and uses ???
-+// the FILE thread to get mount point change events.
-+
-+#ifndef COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
-+#define COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
-+
-+#include <map>
-+#include <string>
-+
-+#include "base/compiler_specific.h"
-+#include "base/files/file_path.h"
-+#include "base/files/file_path_watcher.h"
-+#include "base/memory/weak_ptr.h"
-+#include "components/storage_monitor/storage_monitor.h"
-+#include "content/public/browser/browser_thread.h"
-+
-+namespace storage_monitor {
-+
-+class StorageMonitorFreeBSD : public StorageMonitor {
-+ public:
-+ // Should only be called by browser start up code.
-+ // Use StorageMonitor::GetInstance() instead.
-+ explicit StorageMonitorFreeBSD();
-+ virtual ~StorageMonitorFreeBSD();
-+
-+ // Must be called for StorageMonitorFreeBSD to work.
-+ virtual void Init() override;
-+ private:
-+ // StorageMonitor implementation.
-+ virtual bool GetStorageInfoForPath(const base::FilePath& path,
-+ StorageInfo* device_info) const override;
-+
-+ DISALLOW_COPY_AND_ASSIGN(StorageMonitorFreeBSD);
-+};
-+
-+} // namespace storage_monitor
-+
-+#endif // COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_
diff --git a/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc b/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc
deleted file mode 100644
index c075e1c2a99c..000000000000
--- a/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/sync_device_info/device_info_sync_bridge.cc.orig 2020-03-16 18:40:31 UTC
-+++ components/sync_device_info/device_info_sync_bridge.cc
-@@ -456,11 +456,13 @@ void DeviceInfoSyncBridge::OnStoreCreated(
- return;
- }
-
-+#if !defined(OS_BSD)
- store_ = std::move(store);
-
- base::SysInfo::GetHardwareInfo(
- base::BindOnce(&DeviceInfoSyncBridge::OnHardwareInfoRetrieved,
- weak_ptr_factory_.GetWeakPtr()));
-+#endif
- }
-
- void DeviceInfoSyncBridge::OnHardwareInfoRetrieved(
diff --git a/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc
deleted file mode 100644
index 19d4b54c7495..000000000000
--- a/www/iridium/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 2019-12-31 14:40:27 UTC
-+++ components/sync_device_info/local_device_info_util.cc
-@@ -19,7 +19,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/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc
deleted file mode 100644
index 5c9398a7ea7c..000000000000
--- a/www/iridium/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 2020-02-24 18:39:14 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/www/iridium/files/patch-components_update__client_update__query__params.cc b/www/iridium/files/patch-components_update__client_update__query__params.cc
deleted file mode 100644
index 7da3a9299fb1..000000000000
--- a/www/iridium/files/patch-components_update__client_update__query__params.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/update_client/update_query_params.cc.orig 2019-10-21 19:06:31 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/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc
deleted file mode 100644
index 5b6a93f948a3..000000000000
--- a/www/iridium/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 2020-03-17 09:48:11 UTC
-+++ components/url_formatter/spoof_checks/idn_spoof_checker.cc
-@@ -262,7 +262,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- "[ทนบพรหเà¹à¹à¸”ลปฟม]",
- #else
- "[บพเà¹à¹]",
diff --git a/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc b/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc
deleted file mode 100644
index 33f3999ba526..000000000000
--- a/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- components/url_matcher/regex_set_matcher.cc.orig 2019-03-11 22:00:57 UTC
-+++ components/url_matcher/regex_set_matcher.cc
-@@ -11,8 +11,13 @@
- #include "base/logging.h"
- #include "base/strings/string_util.h"
- #include "components/url_matcher/substring_set_matcher.h"
-+#if defined(OS_BSD)
-+#include <re2/filtered_re2.h>
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/filtered_re2.h"
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace url_matcher {
-
diff --git a/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc b/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc
deleted file mode 100644
index 533e9439604e..000000000000
--- a/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/url_matcher/url_matcher_factory.cc.orig 2019-03-11 22:00:57 UTC
-+++ components/url_matcher/url_matcher_factory.cc
-@@ -16,7 +16,11 @@
- #include "base/values.h"
- #include "components/url_matcher/url_matcher_constants.h"
- #include "components/url_matcher/url_matcher_helpers.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace url_matcher {
-
diff --git a/www/iridium/files/patch-components_viz_common_features.cc b/www/iridium/files/patch-components_viz_common_features.cc
deleted file mode 100644
index ad1c4166adfc..000000000000
--- a/www/iridium/files/patch-components_viz_common_features.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- components/viz/common/features.cc.orig 2020-03-17 09:49:01 UTC
-+++ components/viz/common/features.cc
-@@ -17,7 +17,7 @@
- namespace features {
-
- // Use Skia's readback API instead of GLRendererCopier.
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- const base::Feature kUseSkiaForGLReadback{"UseSkiaForGLReadback",
- base::FEATURE_ENABLED_BY_DEFAULT};
- #else
-@@ -26,7 +26,7 @@ const base::Feature kUseSkiaForGLReadback{"UseSkiaForG
- #endif
-
- // Use the SkiaRenderer.
--#if defined(OS_LINUX) && !(defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMECAST))
-+#if (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/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc b/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc
deleted file mode 100644
index ea33615fe7e0..000000000000
--- a/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/common/gpu/dawn_context_provider.cc.orig 2020-02-26 13:14:08 UTC
-+++ components/viz/common/gpu/dawn_context_provider.cc
-@@ -17,7 +17,7 @@ namespace {
- dawn_native::BackendType GetDefaultBackendType() {
- #if defined(OS_WIN)
- return dawn_native::BackendType::D3D12;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return dawn_native::BackendType::Vulkan;
- #else
- NOTREACHED();
diff --git a/www/iridium/files/patch-components_viz_host_host__display__client.cc b/www/iridium/files/patch-components_viz_host_host__display__client.cc
deleted file mode 100644
index bdfec86f1ddf..000000000000
--- a/www/iridium/files/patch-components_viz_host_host__display__client.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/host/host_display_client.cc.orig 2020-02-03 21:52:45 UTC
-+++ components/viz/host/host_display_client.cc
-@@ -56,7 +56,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/www/iridium/files/patch-components_viz_host_host__display__client.h b/www/iridium/files/patch-components_viz_host_host__display__client.h
deleted file mode 100644
index 4b57c1bf5f23..000000000000
--- a/www/iridium/files/patch-components_viz_host_host__display__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/host/host_display_client.h.orig 2020-02-03 21:52:45 UTC
-+++ components/viz/host/host_display_client.h
-@@ -43,7 +43,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom
- mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) override;
- #endif
-
--#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/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc
deleted file mode 100644
index 7b27a7dd14d1..000000000000
--- a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/service/display_embedder/skia_output_device_dawn.cc.orig 2020-02-26 13:15:08 UTC
-+++ components/viz/service/display_embedder/skia_output_device_dawn.cc
-@@ -10,7 +10,7 @@
-
- #if defined(OS_WIN)
- #include <dawn_native/D3D12Backend.h>
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include <dawn_native/VulkanBackend.h>
- #endif
-
diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
deleted file mode 100644
index a3cbc1921992..000000000000
--- a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2020-03-17 09:50:06 UTC
-+++ components/viz/service/display_embedder/skia_output_surface_impl.cc
-@@ -224,7 +224,7 @@ void SkiaOutputSurfaceImpl::Reshape(const gfx::Size& s
- if (characterization_.isValid()) {
- // TODO(vasilyt): We temporary keep old code for linux to not interferee
- // with M81. Remove this after.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<SkColorSpace> sk_color_space = color_space.ToSkColorSpace();
- if (!SkColorSpace::Equals(characterization_.colorSpace(),
- sk_color_space.get())) {
diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc
deleted file mode 100644
index a31cdeada8fc..000000000000
--- a/www/iridium/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 2020-02-03 21:53:31 UTC
-+++ components/viz/service/display_embedder/software_output_surface.cc
-@@ -118,7 +118,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
-@@ -147,7 +147,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/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h
deleted file mode 100644
index 78a386e1b26f..000000000000
--- a/www/iridium/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 2020-03-16 18:40:31 UTC
-+++ components/viz/service/display_embedder/software_output_surface.h
-@@ -50,7 +50,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
-@@ -72,7 +72,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/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc
deleted file mode 100644
index f52c82d287af..000000000000
--- a/www/iridium/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 2020-03-16 18:40:31 UTC
-+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -49,7 +49,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);
-@@ -418,7 +418,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/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h
deleted file mode 100644
index 0cd42362caa3..000000000000
--- a/www/iridium/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 2020-03-16 18:40:31 UTC
-+++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h
-@@ -149,7 +149,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/www/iridium/files/patch-components_viz_test_fake__output__surface.cc b/www/iridium/files/patch-components_viz_test_fake__output__surface.cc
deleted file mode 100644
index 59a258fd3b15..000000000000
--- a/www/iridium/files/patch-components_viz_test_fake__output__surface.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.cc.orig 2020-04-06 07:59:49 UTC
-+++ components/viz/test/fake_output_surface.cc
-@@ -114,7 +114,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/www/iridium/files/patch-components_viz_test_fake__output__surface.h b/www/iridium/files/patch-components_viz_test_fake__output__surface.h
deleted file mode 100644
index 5da27a2de0cd..000000000000
--- a/www/iridium/files/patch-components_viz_test_fake__output__surface.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/fake_output_surface.h.orig 2020-04-06 08:00:10 UTC
-+++ components/viz/test/fake_output_surface.h
-@@ -84,7 +84,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/www/iridium/files/patch-components_viz_test_mock__display__client.h b/www/iridium/files/patch-components_viz_test_mock__display__client.h
deleted file mode 100644
index 43940cf13781..000000000000
--- a/www/iridium/files/patch-components_viz_test_mock__display__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- components/viz/test/mock_display_client.h.orig 2020-04-06 08:00:42 UTC
-+++ components/viz/test/mock_display_client.h
-@@ -35,7 +35,7 @@ class MockDisplayClient : public mojom::DisplayClient
- MOCK_METHOD1(OnContextCreationResult, void(gpu::ContextResult));
- 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/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc b/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc
deleted file mode 100644
index cc741c7d273f..000000000000
--- a/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- components/webcrypto/algorithms/test_helpers.cc.orig 2019-03-11 22:00:57 UTC
-+++ components/webcrypto/algorithms/test_helpers.cc
-@@ -25,7 +25,11 @@
- #include "components/webcrypto/status.h"
- #include "third_party/blink/public/platform/web_crypto_algorithm_params.h"
- #include "third_party/blink/public/platform/web_crypto_key_algorithm.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace webcrypto {
-
diff --git a/www/iridium/files/patch-content_app_content__main__runner__impl.cc b/www/iridium/files/patch-content_app_content__main__runner__impl.cc
deleted file mode 100644
index dc4a030d4d3f..000000000000
--- a/www/iridium/files/patch-content_app_content__main__runner__impl.cc
+++ /dev/null
@@ -1,73 +0,0 @@
---- content/app/content_main_runner_impl.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/app/content_main_runner_impl.cc
-@@ -101,17 +101,17 @@
- #include "base/posix/global_descriptors.h"
- #include "content/public/common/content_descriptors.h"
-
--#if !defined(OS_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- #include "services/service_manager/zygote/common/zygote_fork_delegate_linux.h"
- #endif
--#if !defined(OS_MACOSX) && !defined(OS_ANDROID)
-+#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- #include "sandbox/linux/services/libc_interceptor.h"
- #include "services/service_manager/zygote/zygote_main.h"
- #endif
-
- #endif // OS_POSIX || OS_FUCHSIA
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/native_library.h"
- #include "base/rand_util.h"
- #include "services/service_manager/zygote/common/common_sandbox_support_linux.h"
-@@ -132,7 +132,7 @@
- #include "content/public/common/content_client.h"
- #endif
-
--#endif // OS_LINUX
-+#endif // OS_LINUX || defined(OS_BSD)
-
- #if !defined(CHROME_MULTIPLE_DLL_BROWSER)
- #include "content/child/field_trial.h"
-@@ -298,7 +298,7 @@ void InitializeZygoteSandboxForBrowserProcess(
- }
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-
- #if BUILDFLAG(ENABLE_PLUGINS)
- // Loads the (native) libraries but does not initialize them (i.e., does not
-@@ -395,7 +395,7 @@ void PreSandboxInit() {
- }
- #endif // BUILDFLAG(USE_ZYGOTE_HANDLE)
-
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
-
- } // namespace
-
-@@ -462,7 +462,7 @@ int RunZygote(ContentMainDelegate* delegate) {
- delegate->ZygoteStarting(&zygote_fork_delegates);
- media::InitializeMediaLibrary();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- PreSandboxInit();
- #endif
-
-@@ -622,11 +622,11 @@ int ContentMainRunnerImpl::Initialize(const ContentMai
- base::GlobalDescriptors::kBaseDescriptor);
- #endif // !OS_ANDROID
-
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX)
- g_fds->Set(service_manager::kCrashDumpSignal,
- service_manager::kCrashDumpSignal +
- base::GlobalDescriptors::kBaseDescriptor);
--#endif // OS_LINUX || OS_OPENBSD
-+#endif // OS_LINUX
-
- #endif // !OS_WIN
-
diff --git a/www/iridium/files/patch-content_browser_browser__main__loop.cc b/www/iridium/files/patch-content_browser_browser__main__loop.cc
deleted file mode 100644
index d390038358d3..000000000000
--- a/www/iridium/files/patch-content_browser_browser__main__loop.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- content/browser/browser_main_loop.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/browser_main_loop.cc
-@@ -242,6 +242,13 @@
- #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h"
- #endif
-
-+#if defined(OS_BSD)
-+#include "content/browser/sandbox_host_linux.h"
-+#include "services/service_manager/zygote/common/common_sandbox_support_linux.h"
-+#include "content/public/common/common_sandbox_support_linux.h"
-+#include "services/service_manager/sandbox/sandbox.h"
-+#endif
-+
- // One of the linux specific headers defines this as a macro.
- #ifdef DestroyAll
- #undef DestroyAll
-@@ -613,6 +620,11 @@ int BrowserMainLoop::EarlyInitialization() {
- // by now since a thread to start the ServiceManager has been created
- // before the browser main loop starts.
- DCHECK(SandboxHostLinux::GetInstance()->IsInitialized());
-+#elif defined(OS_BSD)
-+ SandboxHostLinux::GetInstance()->Init();
-+ base::FileHandleMappingVector fds_to_map;
-+ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket();
-+ fds_to_map.push_back(std::make_pair(sfd, service_manager::GetSandboxFD()));
- #endif
-
- #if defined(USE_X11)
-@@ -658,7 +670,7 @@ int BrowserMainLoop::EarlyInitialization() {
- }
- #endif // !defined(OS_MACOSX)
-
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \
-+#if defined(OS_MACOSX) || 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.
-@@ -668,7 +680,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_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) ||
-+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ||
- // defined(OS_ANDROID)
-
- #if defined(OS_WIN)
diff --git a/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc
deleted file mode 100644
index 49d1b92ec5ea..000000000000
--- a/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc
+++ /dev/null
@@ -1,76 +0,0 @@
---- content/browser/child_process_launcher_helper_linux.cc.orig 2020-02-03 21:52:45 UTC
-+++ content/browser/child_process_launcher_helper_linux.cc
-@@ -17,7 +17,9 @@
- #include "content/public/common/sandboxed_process_launcher_delegate.h"
- #include "services/service_manager/sandbox/linux/sandbox_linux.h"
- #include "services/service_manager/zygote/common/common_sandbox_support_linux.h"
-+#if !defined(OS_BSD)
- #include "services/service_manager/zygote/common/zygote_handle.h"
-+#endif
- #include "services/service_manager/zygote/host/zygote_communication_linux.h"
- #include "services/service_manager/zygote/host/zygote_host_impl_linux.h"
-
-@@ -68,6 +70,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
- int* launch_result) {
- *is_synchronous_launch = true;
-
-+#if !defined(OS_BSD)
- service_manager::ZygoteHandle zygote_handle =
- base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote)
- ? nullptr
-@@ -81,7 +84,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
- GetProcessType());
- *launch_result = LAUNCH_RESULT_SUCCESS;
-
--#if !defined(OS_OPENBSD)
- if (handle) {
- // This is just a starting score for a renderer or extension (the
- // only types of processes that will be started this way). It will
-@@ -92,13 +94,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr
- service_manager::ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(
- handle, kLowestRendererOomScore);
- }
--#endif
-
- Process process;
- process.process = base::Process(handle);
- process.zygote = zygote_handle;
- return process;
- }
-+#endif
-
- Process process;
- process.process = base::LaunchProcess(*command_line(), options);
-@@ -116,10 +118,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper
- const ChildProcessLauncherHelper::Process& process,
- bool known_dead) {
- ChildProcessTerminationInfo info;
-+#if !defined(OS_BSD)
- if (process.zygote) {
- info.status = process.zygote->GetTerminationStatus(
- process.process.Handle(), known_dead, &info.exit_code);
- } else if (known_dead) {
-+#else
-+ if (known_dead) {
-+#endif
- info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(),
- &info.exit_code);
- } else {
-@@ -143,13 +149,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer
- DCHECK(CurrentlyOnProcessLauncherTaskRunner());
- process.process.Terminate(service_manager::RESULT_CODE_NORMAL_EXIT, false);
- // On POSIX, we must additionally reap the child.
-+#if !defined(OS_BSD)
- if (process.zygote) {
- // If the renderer was created via a zygote, we have to proxy the reaping
- // through the zygote process.
- process.zygote->EnsureProcessTerminated(process.process.Handle());
- } else {
-+#endif
- base::EnsureProcessTerminated(std::move(process.process));
-+#if !defined(OS_BSD)
- }
-+#endif
- }
-
- void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
diff --git a/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc
deleted file mode 100644
index 3751c782527d..000000000000
--- a/www/iridium/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 2019-12-16 21:51:26 UTC
-+++ content/browser/devtools/protocol/system_info_handler.cc
-@@ -48,7 +48,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.
- // Windows builds need more time -- see Issue 873112 and 1004472.
--#if (defined(OS_LINUX) && !defined(NDEBUG))
-+#if ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(NDEBUG))
- const int kGPUInfoWatchdogTimeoutMs = 20000;
- #elif defined(OS_WIN)
- const int kGPUInfoWatchdogTimeoutMs = 30000;
diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc
deleted file mode 100644
index 78851da5e325..000000000000
--- a/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/gpu/gpu_process_host.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/gpu/gpu_process_host.cc
-@@ -1086,7 +1086,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-content_browser_media_media__internals.cc b/www/iridium/files/patch-content_browser_media_media__internals.cc
deleted file mode 100644
index 1e117219d0e9..000000000000
--- a/www/iridium/files/patch-content_browser_media_media__internals.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/media/media_internals.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/media/media_internals.cc
-@@ -531,7 +531,7 @@ void MediaInternals::UpdateVideoCaptureDeviceCapabilit
- device_dict->SetString("id", descriptor.device_id);
- device_dict->SetString("name", descriptor.GetNameAndModel());
- device_dict->Set("formats", std::move(format_list));
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_ANDROID)
- device_dict->SetString("captureApi", descriptor.GetCaptureApiTypeString());
- #endif
diff --git a/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc b/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
deleted file mode 100644
index ff345048baf2..000000000000
--- a/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2019-03-11 22:00:57 UTC
-+++ content/browser/memory/swap_metrics_driver_impl_linux.cc
-@@ -43,6 +43,7 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu
-
- SwapMetricsDriver::SwapMetricsUpdateResult
- SwapMetricsDriverImplLinux::UpdateMetricsInternal(base::TimeDelta interval) {
-+#if !defined(OS_BSD)
- base::VmStatInfo vmstat;
- if (!base::GetVmStatInfo(&vmstat)) {
- return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed;
-@@ -55,12 +56,15 @@ SwapMetricsDriverImplLinux::UpdateMetricsInternal(base
-
- if (interval.is_zero())
- return SwapMetricsDriver::SwapMetricsUpdateResult::
-- kSwapMetricsUpdateSuccess;
-+ kSwapMetricsUpdateSuccess;
-
- delegate_->OnSwapInCount(in_counts, interval);
- delegate_->OnSwapOutCount(out_counts, interval);
-
- return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateSuccess;
-+#else
-+ return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed;
-+#endif
- }
-
- } // namespace content
diff --git a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc
deleted file mode 100644
index dd7271ca2db7..000000000000
--- a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/ppapi_plugin_process_host.cc.orig 2020-02-03 21:53:31 UTC
-+++ content/browser/ppapi_plugin_process_host.cc
-@@ -365,7 +365,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn
- base::CommandLine::StringType plugin_launcher =
- browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF :
- ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc
deleted file mode 100644
index 41c5edc15175..000000000000
--- a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2019-12-17 19:34:30 UTC
-+++ content/browser/ppapi_plugin_process_host_receiver_bindings.cc
-@@ -8,7 +8,7 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
- #include "content/browser/font_service.h" // nogncheck
- #endif
-@@ -17,7 +17,7 @@ namespace content {
-
- void PpapiPluginProcessHost::BindHostReceiver(
- mojo::GenericPendingReceiver receiver) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>())
- ConnectToFontService(std::move(font_receiver));
- #endif
diff --git a/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
deleted file mode 100644
index 3d6112bc698b..000000000000
--- a/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/renderer_host/input/input_device_change_observer.cc.orig 2019-09-09 21:55:16 UTC
-+++ content/browser/renderer_host/input/input_device_change_observer.cc
-@@ -10,7 +10,7 @@
-
- #if defined(OS_WIN)
- #include "ui/events/devices/input_device_observer_win.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/events/devices/device_data_manager.h"
- #elif defined(OS_ANDROID)
- #include "ui/events/devices/input_device_observer_android.h"
-@@ -22,7 +22,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R
- render_view_host_impl_ = rvhi;
- #if defined(OS_WIN)
- ui::InputDeviceObserverWin::GetInstance()->AddObserver(this);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- ui::DeviceDataManager::GetInstance()->AddObserver(this);
- #elif defined(OS_ANDROID)
- ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this);
-@@ -32,7 +32,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R
- InputDeviceChangeObserver::~InputDeviceChangeObserver() {
- #if defined(OS_WIN)
- ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- ui::DeviceDataManager::GetInstance()->RemoveObserver(this);
- #elif defined(OS_ANDROID)
- ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this);
diff --git a/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc
deleted file mode 100644
index 7e10ee7c69a9..000000000000
--- a/www/iridium/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 2020-03-16 18:40:31 UTC
-+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc
-@@ -433,7 +433,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)
-+#if defined(OS_WIN) || defined(OS_LINUX) || 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) {
-@@ -454,7 +454,7 @@ void PepperFileIOHost::OnLocalFileOpened(
- #endif
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- void PepperFileIOHost::OnLocalFileQuarantined(
- ppapi::host::ReplyMessageContext reply_context,
- const base::FilePath& path,
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc
deleted file mode 100644
index 91932a38a5e5..000000000000
--- a/www/iridium/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 2019-12-16 21:50:47 UTC
-+++ content/browser/renderer_host/render_message_filter.cc
-@@ -70,7 +70,7 @@
- #if defined(OS_MACOSX)
- #include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/linux_util.h"
- #include "base/threading/platform_thread.h"
- #endif
-@@ -149,7 +149,7 @@ void RenderMessageFilter::CreateFullscreenWidget(
- std::move(callback).Run(route_id);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void RenderMessageFilter::SetThreadPriorityOnFileThread(
- base::PlatformThreadId ns_tid,
- base::ThreadPriority priority) {
-@@ -170,7 +170,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea
- }
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void RenderMessageFilter::SetThreadPriority(int32_t ns_tid,
- base::ThreadPriority priority) {
- constexpr base::TaskTraits kTraits = {
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h
deleted file mode 100644
index f50e2f2912d6..000000000000
--- a/www/iridium/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 2019-12-16 21:50:47 UTC
-+++ content/browser/renderer_host/render_message_filter.h
-@@ -87,14 +87,14 @@ class CONTENT_EXPORT RenderMessageFilter
- mojo::PendingRemote<mojom::Widget> widget,
- CreateFullscreenWidgetCallback callback) override;
- void HasGpuProcess(HasGpuProcessCallback callback) override;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid,
- base::ThreadPriority priority);
- #endif
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
deleted file mode 100644
index f27d90720f9b..000000000000
--- a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- content/browser/renderer_host/render_process_host_impl.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/renderer_host/render_process_host_impl.cc
-@@ -241,7 +241,7 @@
- #include "content/browser/gpu/gpu_data_manager_impl.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/resource.h>
- #include <sys/time.h>
-
-@@ -1176,7 +1176,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- struct rlimit limit;
- if (getrlimit(RLIMIT_NPROC, &limit) != 0)
- return kUnknownPlatformProcessLimit;
-@@ -1187,7 +1187,7 @@ size_t GetPlatformProcessLimit() {
- #else
- // TODO(https://crbug.com/104689): Implement on other platforms.
- return kUnknownPlatformProcessLimit;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
- #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-
-@@ -1256,7 +1256,7 @@ class RenderProcessHostImpl::IOThreadHostImpl
- return;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
- ConnectToFontService(std::move(font_receiver));
- return;
-@@ -1651,7 +1651,7 @@ bool RenderProcessHostImpl::Init() {
- renderer_prefix =
- browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF
- : ChildProcessHost::CHILD_NORMAL;
- #elif defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h
deleted file mode 100644
index 616427da0032..000000000000
--- a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- content/browser/renderer_host/render_process_host_impl.h.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/renderer_host/render_process_host_impl.h
-@@ -458,10 +458,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
- is_for_guests_only_ = is_for_guests_only;
- }
-
--#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
- // Launch the zygote early in the browser startup.
- static void EarlyZygoteLaunch();
--#endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD)
-
- // Called when a video capture stream or an audio stream is added or removed
- // and used to determine if the process should be backgrounded or not.
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc
deleted file mode 100644
index 06332b50ef27..000000000000
--- a/www/iridium/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 2020-03-16 18:40:31 UTC
-+++ content/browser/renderer_host/render_view_host_impl.cc
-@@ -206,7 +206,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)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- prefs->system_font_family_name = gfx::Font().GetFontName();
- #endif
- }
diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
deleted file mode 100644
index 99de1314b9ec..000000000000
--- a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2020-03-16 18:40:31 UTC
-+++ content/browser/renderer_host/render_widget_host_view_aura.cc
-@@ -115,7 +115,7 @@
- #include "content/browser/accessibility/browser_accessibility_auralinux.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
- #endif
-@@ -2171,7 +2171,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();
- #endif
- return false;
-@@ -2340,7 +2340,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/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc
deleted file mode 100644
index 7321b9e2f949..000000000000
--- a/www/iridium/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 2020-02-03 21:53:31 UTC
-+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
-@@ -611,7 +611,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)
-+#if defined(OS_WIN) || defined(OS_LINUX) || 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/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc
deleted file mode 100644
index 68b512d069c4..000000000000
--- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/scheduler/responsiveness/jank_monitor.cc.orig 2020-02-03 21:53:31 UTC
-+++ content/browser/scheduler/responsiveness/jank_monitor.cc
-@@ -321,7 +321,7 @@ void JankMonitor::ThreadExecutionState::DidRunTaskOrEv
- // 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/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
deleted file mode 100644
index 906761601b4b..000000000000
--- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2019-03-11 22:00:58 UTC
-+++ content/browser/scheduler/responsiveness/native_event_observer.cc
-@@ -15,7 +15,7 @@
-
- #include "ui/events/platform/platform_event_source.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/aura/env.h"
- #include "ui/events/event.h"
- #endif
-@@ -39,7 +39,7 @@ NativeEventObserver::~NativeEventObserver() {
- DeregisterObserver();
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void NativeEventObserver::RegisterObserver() {
- aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this);
- }
-@@ -61,7 +61,7 @@ void NativeEventObserver::OnWindowEventDispatcherFinis
- did_run_event_callback_.Run(info.unique_id);
- events_being_processed_.pop_back();
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- void NativeEventObserver::RegisterObserver() {
diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
deleted file mode 100644
index 03b31b8d904e..000000000000
--- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h
+++ /dev/null
@@ -1,47 +0,0 @@
---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2019-03-11 22:00:58 UTC
-+++ content/browser/scheduler/responsiveness/native_event_observer.h
-@@ -14,7 +14,7 @@
- #include "content/public/browser/native_event_processor_observer_mac.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/aura/window_event_dispatcher_observer.h"
- #endif
-
-@@ -39,7 +39,7 @@ namespace responsiveness {
- class CONTENT_EXPORT NativeEventObserver
- #if defined(OS_MACOSX)
- : public NativeEventProcessorObserver
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- : public aura::WindowEventDispatcherObserver
- #elif defined(OS_WIN)
- : public base::MessagePumpForUI::Observer
-@@ -56,7 +56,7 @@ class CONTENT_EXPORT NativeEventObserver
- NativeEventObserver(WillRunEventCallback will_run_event_callback,
- DidRunEventCallback did_run_event_callback);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ~NativeEventObserver() override;
- #else
- virtual ~NativeEventObserver();
-@@ -68,7 +68,7 @@ class CONTENT_EXPORT NativeEventObserver
- // Exposed for tests.
- void WillRunNativeEvent(const void* opaque_identifier) override;
- void DidRunNativeEvent(const void* opaque_identifier) override;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // aura::WindowEventDispatcherObserver overrides:
- void OnWindowEventDispatcherStartedProcessing(
- aura::WindowEventDispatcher* dispatcher,
-@@ -85,7 +85,7 @@ class CONTENT_EXPORT NativeEventObserver
- void RegisterObserver();
- void DeregisterObserver();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- struct EventInfo {
- const void* unique_id;
- };
diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc
deleted file mode 100644
index ebeeac2a51c1..000000000000
--- a/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/scheduler/responsiveness/watcher.cc.orig 2020-02-03 21:52:46 UTC
-+++ content/browser/scheduler/responsiveness/watcher.cc
-@@ -101,7 +101,7 @@ void Watcher::DidRunTask(const base::PendingTask* task
- // 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)
- return currently_running_metadata_ui_.clear();
- #endif
- DCHECK_LE(*mismatched_task_identifiers, 1);
-@@ -170,7 +170,7 @@ void Watcher::DidRunEventOnUIThread(const void* opaque
- mismatched_event_identifiers_ui_ += 1;
- // See comment in DidRunTask() for why |currently_running_metadata_ui_| may
- // be reset.
--#if !defined(OS_CHROMEOS) && defined(OS_LINUX) && defined(USE_OZONE)
-+#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE)
- return currently_running_metadata_ui_.clear();
- #endif
- DCHECK_LE(mismatched_event_identifiers_ui_, 1);
diff --git a/www/iridium/files/patch-content_browser_utility__process__host.cc b/www/iridium/files/patch-content_browser_utility__process__host.cc
deleted file mode 100644
index 8360a7efdc5e..000000000000
--- a/www/iridium/files/patch-content_browser_utility__process__host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/utility_process_host.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/browser/utility_process_host.cc
-@@ -210,7 +210,7 @@ UtilityProcessHost::UtilityProcessHost()
-
- UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client)
- : sandbox_type_(service_manager::SandboxType::kUtility),
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- child_flags_(ChildProcessHost::CHILD_ALLOW_SELF),
- #else
- child_flags_(ChildProcessHost::CHILD_NORMAL),
diff --git a/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc
deleted file mode 100644
index a69a1ccfe8b3..000000000000
--- a/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/browser/utility_process_host_receiver_bindings.cc.orig 2020-02-26 13:18:37 UTC
-+++ content/browser/utility_process_host_receiver_bindings.cc
-@@ -8,7 +8,7 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
- #include "content/browser/font_service.h" // nogncheck
- #endif
-@@ -17,7 +17,7 @@ namespace content {
-
- void UtilityProcessHost::BindHostReceiver(
- mojo::GenericPendingReceiver receiver) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) {
- ConnectToFontService(std::move(font_receiver));
- return;
diff --git a/www/iridium/files/patch-content_browser_v8__snapshot__files.cc b/www/iridium/files/patch-content_browser_v8__snapshot__files.cc
deleted file mode 100644
index 957c743c222c..000000000000
--- a/www/iridium/files/patch-content_browser_v8__snapshot__files.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/v8_snapshot_files.cc.orig 2020-02-24 18:39:15 UTC
-+++ content/browser/v8_snapshot_files.cc
-@@ -10,7 +10,7 @@
- namespace content {
-
- std::map<std::string, base::FilePath> GetV8SnapshotFilesToPreload() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #if defined(USE_V8_CONTEXT_SNAPSHOT)
- return {{kV8ContextSnapshotDataDescriptor,
- base::FilePath(FILE_PATH_LITERAL("v8_context_snapshot.bin"))}};
diff --git a/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc b/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc
deleted file mode 100644
index cb181bd0c0b3..000000000000
--- a/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- content/browser/webui/shared_resources_data_source.cc.orig 2020-03-16 18:39:50 UTC
-+++ content/browser/webui/shared_resources_data_source.cc
-@@ -131,12 +131,12 @@ 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_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- {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_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- };
- }
-
diff --git a/www/iridium/files/patch-content_common_BUILD.gn b/www/iridium/files/patch-content_common_BUILD.gn
deleted file mode 100644
index 3d0913b5242b..000000000000
--- a/www/iridium/files/patch-content_common_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- content/common/BUILD.gn.orig 2020-03-16 18:40:32 UTC
-+++ content/common/BUILD.gn
-@@ -356,6 +356,12 @@ source_set("common") {
- libs += [ "android" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "sandbox_init_linux.cc",
-+ ]
-+ }
-+
- 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
diff --git a/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc b/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc
deleted file mode 100644
index 95e576060511..000000000000
--- a/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- content/common/common_sandbox_support_linux.cc.orig 2019-03-11 22:00:58 UTC
-+++ content/common/common_sandbox_support_linux.cc
-@@ -5,6 +5,7 @@
- #include "content/public/common/common_sandbox_support_linux.h"
-
- #include <sys/stat.h>
-+#include <unistd.h>
-
- #include <limits>
- #include <memory>
diff --git a/www/iridium/files/patch-content_common_user__agent.cc b/www/iridium/files/patch-content_common_user__agent.cc
deleted file mode 100644
index d842b3145b5d..000000000000
--- a/www/iridium/files/patch-content_common_user__agent.cc
+++ /dev/null
@@ -1,17 +0,0 @@
---- content/common/user_agent.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/common/user_agent.cc
-@@ -140,6 +140,14 @@ std::string BuildOSCpuInfo(bool include_android_build_
- #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/www/iridium/files/patch-content_gpu_BUILD.gn b/www/iridium/files/patch-content_gpu_BUILD.gn
deleted file mode 100644
index 538b4bc2f7bc..000000000000
--- a/www/iridium/files/patch-content_gpu_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/gpu/BUILD.gn.orig 2020-03-16 18:40:32 UTC
-+++ content/gpu/BUILD.gn
-@@ -128,7 +128,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/www/iridium/files/patch-content_gpu_gpu__main.cc b/www/iridium/files/patch-content_gpu_gpu__main.cc
deleted file mode 100644
index ba08acddf473..000000000000
--- a/www/iridium/files/patch-content_gpu_gpu__main.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- content/gpu/gpu_main.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/gpu/gpu_main.cc
-@@ -84,7 +84,7 @@
- #include "ui/gfx/x/x11_switches.h" // nogncheck
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "content/gpu/gpu_sandbox_hook_linux.h"
- #include "content/public/common/sandbox_init.h"
- #include "services/service_manager/sandbox/linux/sandbox_linux.h"
-@@ -109,7 +109,7 @@ namespace content {
-
- namespace {
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- bool StartSandboxLinux(gpu::GpuWatchdogThread*,
- const gpu::GPUInfo*,
- const gpu::GpuPreferences&);
-@@ -177,7 +177,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel
- bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread,
- const gpu::GPUInfo* gpu_info,
- const gpu::GpuPreferences& gpu_prefs) override {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs);
- #elif defined(OS_WIN)
- return StartSandboxWindows(sandbox_info_);
-@@ -301,7 +301,7 @@ int GpuMain(const MainFunctionParams& parameters) {
- main_thread_task_executor =
- std::make_unique<base::SingleThreadTaskExecutor>(
- gpu_preferences.message_pump_type);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #error "Unsupported Linux platform."
- #elif defined(OS_MACOSX)
- // Cross-process CoreAnimation requires a CFRunLoop to function at all, and
-@@ -442,7 +442,7 @@ int GpuMain(const MainFunctionParams& parameters) {
-
- namespace {
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread,
- const gpu::GPUInfo* gpu_info,
- const gpu::GpuPreferences& gpu_prefs) {
-@@ -479,7 +479,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo
-
- return res;
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) && !defined(OS_BSD)
-
- #if defined(OS_WIN)
- bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo* sandbox_info) {
diff --git a/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
deleted file mode 100644
index 55ec485ae8ec..000000000000
--- a/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,58 +0,0 @@
---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2020-03-16 18:39:50 UTC
-+++ content/gpu/gpu_sandbox_hook_linux.cc
-@@ -97,8 +97,9 @@ static const char kLibV4lEncPluginPath[] =
- "/usr/lib/libv4l/plugins/libv4l-encplugin.so";
- #endif
-
--constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE;
-+constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL;
-
-+#if !defined(OS_BSD)
- void AddV4L2GpuWhitelist(
- std::vector<BrokerFilePermission>* permissions,
- const service_manager::SandboxSeccompBPF::Options& options) {
-@@ -333,8 +334,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp
- AddStandardGpuWhiteList(&permissions);
- return permissions;
- }
-+#endif
-
- void LoadArmGpuLibraries() {
-+#if !defined(OS_BSD)
- // Preload the Mali library.
- if (UseChromecastSandboxWhitelist()) {
- for (const char* path : kWhitelistedChromecastPaths) {
-@@ -349,6 +352,7 @@ void LoadArmGpuLibraries() {
- // Preload the Tegra V4L2 (video decode acceleration) library.
- dlopen(kLibTegraPath, dlopen_flag);
- }
-+#endif
- }
-
- bool LoadAmdGpuLibraries() {
-@@ -404,6 +408,7 @@ bool LoadLibrariesForGpu(
- return true;
- }
-
-+#if !defined(OS_BSD)
- sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU(
- const service_manager::SandboxLinux::Options& options) {
- sandbox::syscall_broker::BrokerCommandSet command_set;
-@@ -425,13 +430,17 @@ bool BrokerProcessPreSandboxHook(
- service_manager::SetProcessTitleFromCommandLine(nullptr);
- return true;
- }
-+#endif
-
- } // namespace
-
- bool GpuProcessPreSandboxHook(service_manager::SandboxLinux::Options options) {
-+ NOTIMPLEMENTED();
-+#if !defined(OS_BSD)
- service_manager::SandboxLinux::GetInstance()->StartBrokerProcess(
- CommandSetForGPU(options), FilePermissionsForGpu(options),
- base::BindOnce(BrokerProcessPreSandboxHook), options);
-+#endif
-
- if (!LoadLibrariesForGpu(options))
- return false;
diff --git a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
deleted file mode 100644
index 8708f1d34421..000000000000
--- a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2020-02-03 21:52:46 UTC
-+++ content/ppapi_plugin/ppapi_blink_platform_impl.cc
-@@ -19,7 +19,7 @@
-
- #if defined(OS_MACOSX)
- #include "content/child/child_process_sandbox_support_impl_mac.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "content/child/child_process_sandbox_support_impl_linux.h"
- #include "mojo/public/cpp/bindings/pending_remote.h"
- #endif
-@@ -34,7 +34,7 @@ typedef struct CGFont* CGFontRef;
- namespace content {
-
- PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- mojo::PendingRemote<font_service::mojom::FontService> font_service;
- ChildThread::Get()->BindHostReceiver(
- font_service.InitWithNewPipeAndPassReceiver());
-@@ -52,7 +52,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() {
- void PpapiBlinkPlatformImpl::Shutdown() {}
-
- blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() {
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- return sandbox_support_.get();
- #else
- return nullptr;
diff --git a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
deleted file mode 100644
index d246feb0e6c4..000000000000
--- a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2019-10-21 19:06:32 UTC
-+++ content/ppapi_plugin/ppapi_blink_platform_impl.h
-@@ -13,7 +13,7 @@
- #include "build/build_config.h"
- #include "content/child/blink_platform_impl.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h"
- #include "third_party/skia/include/core/SkRefCnt.h"
- #endif
-@@ -36,11 +36,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp
- blink::WebThemeEngine* ThemeEngine() override;
-
- private:
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/iridium/files/patch-content_public_app_content__main__delegate.cc b/www/iridium/files/patch-content_public_app_content__main__delegate.cc
deleted file mode 100644
index 22a460c346ac..000000000000
--- a/www/iridium/files/patch-content_public_app_content__main__delegate.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/public/app/content_main_delegate.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/public/app/content_main_delegate.cc
-@@ -39,13 +39,13 @@ bool ContentMainDelegate::DelaySandboxInitialization(
- return false;
- }
-
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
-
- void ContentMainDelegate::ZygoteStarting(
- std::vector<std::unique_ptr<service_manager::ZygoteForkDelegate>>*
- delegates) {}
-
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- int ContentMainDelegate::TerminateForFatalInitializationError() {
- CHECK(false);
diff --git a/www/iridium/files/patch-content_public_app_content__main__delegate.h b/www/iridium/files/patch-content_public_app_content__main__delegate.h
deleted file mode 100644
index 06f339f70e30..000000000000
--- a/www/iridium/files/patch-content_public_app_content__main__delegate.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/public/app/content_main_delegate.h.orig 2020-03-16 18:40:32 UTC
-+++ content/public/app/content_main_delegate.h
-@@ -72,7 +72,7 @@ class CONTENT_EXPORT ContentMainDelegate {
- // want it at all.
- virtual bool DelaySandboxInitialization(const std::string& process_type);
-
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- // Tells the embedder that the zygote process is starting, and allows it to
- // specify one or more zygote delegates if it wishes by storing them in
- // |*delegates|.
-@@ -82,7 +82,7 @@ class CONTENT_EXPORT ContentMainDelegate {
-
- // Called every time the zygote process forks.
- virtual void ZygoteForked() {}
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // Fatal errors during initialization are reported by this function, so that
- // the embedder can implement graceful exit by displaying some message and
diff --git a/www/iridium/files/patch-content_public_common_child__process__host.h b/www/iridium/files/patch-content_public_common_child__process__host.h
deleted file mode 100644
index bf91f4c4d0d2..000000000000
--- a/www/iridium/files/patch-content_public_common_child__process__host.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/child_process_host.h.orig 2020-02-03 21:52:46 UTC
-+++ content/public/common/child_process_host.h
-@@ -80,7 +80,7 @@ class CONTENT_EXPORT ChildProcessHost : public IPC::Se
- // No special behavior requested.
- CHILD_NORMAL = 0,
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Indicates that the child execed after forking may be execced from
- // /proc/self/exe rather than using the "real" app path. This prevents
- // autoupdate from confusing us if it changes the file out from under us.
diff --git a/www/iridium/files/patch-content_public_common_common__param__traits__macros.h b/www/iridium/files/patch-content_public_common_common__param__traits__macros.h
deleted file mode 100644
index 3fa7b395b5ef..000000000000
--- a/www/iridium/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 2020-03-16 18:40:32 UTC
-+++ content/public/common/common_param_traits_macros.h
-@@ -326,7 +326,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::mojom::RendererPreferen
- IPC_STRUCT_TRAITS_MEMBER(accept_languages)
- IPC_STRUCT_TRAITS_MEMBER(disable_client_blocked_error_page)
- IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(system_font_family_name)
- #endif
- #if defined(OS_WIN)
diff --git a/www/iridium/files/patch-content_public_common_content__features.cc b/www/iridium/files/patch-content_public_common_content__features.cc
deleted file mode 100644
index ebaa5f3fdb2a..000000000000
--- a/www/iridium/files/patch-content_public_common_content__features.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/public/common/content_features.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/public/common/content_features.cc
-@@ -48,7 +48,7 @@ const base::Feature kAudioServiceLaunchOnStartup{
- const base::Feature kAudioServiceOutOfProcess{
- "AudioServiceOutOfProcess",
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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
-@@ -693,7 +693,7 @@ const base::Feature kWebAssemblyThreads {
- };
-
- // Enable WebAssembly trap handler.
--#if (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)) && \
-+#if (defined(OS_BSD) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)) && \
- defined(ARCH_CPU_X86_64)
- const base::Feature kWebAssemblyTrapHandler{"WebAssemblyTrapHandler",
- base::FEATURE_ENABLED_BY_DEFAULT};
-@@ -723,7 +723,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/www/iridium/files/patch-content_public_common_content__switches.cc b/www/iridium/files/patch-content_public_common_content__switches.cc
deleted file mode 100644
index 4f1ae111a366..000000000000
--- a/www/iridium/files/patch-content_public_common_content__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_switches.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/public/common/content_switches.cc
-@@ -997,7 +997,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/www/iridium/files/patch-content_public_common_content__switches.h b/www/iridium/files/patch-content_public_common_content__switches.h
deleted file mode 100644
index 1a705f45ae7f..000000000000
--- a/www/iridium/files/patch-content_public_common_content__switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/content_switches.h.orig 2020-03-16 18:40:32 UTC
-+++ content/public/common/content_switches.h
-@@ -278,7 +278,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/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc b/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
deleted file mode 100644
index b448c3f07db5..000000000000
--- a/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/common/use_zoom_for_dsf_policy.cc.orig 2019-03-11 22:00:58 UTC
-+++ content/public/common/use_zoom_for_dsf_policy.cc
-@@ -25,7 +25,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{
- #endif
-
- bool IsUseZoomForDSFEnabledByDefault() {
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- return true;
- #elif defined(OS_WIN) || defined(OS_ANDROID)
- return base::FeatureList::IsEnabled(kUseZoomForDsfEnabledByDefault);
diff --git a/www/iridium/files/patch-content_public_test_browser__test__base.cc b/www/iridium/files/patch-content_public_test_browser__test__base.cc
deleted file mode 100644
index dd60982ba019..000000000000
--- a/www/iridium/files/patch-content_public_test_browser__test__base.cc
+++ /dev/null
@@ -1,31 +0,0 @@
---- content/public/test/browser_test_base.cc.orig 2020-04-03 04:11:32 UTC
-+++ content/public/test/browser_test_base.cc
-@@ -71,7 +71,7 @@
- #include "ui/gl/gl_implementation.h"
- #include "ui/gl/gl_switches.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck
- #endif
-
-@@ -98,6 +98,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
-@@ -184,7 +188,7 @@ BrowserTestBase::BrowserTestBase()
- "a new browser test suite that runs on Android, please add it to "
- "//build/android/pylib/gtest/gtest_test_instance.py.";
- g_instance_already_created = true;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ui::test::EnableTestConfigForPlatformWindows();
- #endif
-
diff --git a/www/iridium/files/patch-content_public_test_content__browser__test.cc b/www/iridium/files/patch-content_public_test_content__browser__test.cc
deleted file mode 100644
index cc6012d2f89e..000000000000
--- a/www/iridium/files/patch-content_public_test_content__browser__test.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/public/test/content_browser_test.cc.orig 2020-04-06 08:25:58 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
-
-@@ -83,7 +83,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
-
-@@ -96,7 +96,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/www/iridium/files/patch-content_public_test_mock__render__thread.cc b/www/iridium/files/patch-content_public_test_mock__render__thread.cc
deleted file mode 100644
index 5b12d835bc18..000000000000
--- a/www/iridium/files/patch-content_public_test_mock__render__thread.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/public/test/mock_render_thread.cc.orig 2019-12-16 21:51:26 UTC
-+++ content/public/test/mock_render_thread.cc
-@@ -73,7 +73,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend
- std::move(callback).Run(false);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void SetThreadPriority(int32_t platform_thread_id,
- base::ThreadPriority thread_priority) override {}
- #endif
diff --git a/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc b/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc
deleted file mode 100644
index c1a03f802347..000000000000
--- a/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/renderer/media/audio/audio_device_factory.cc.orig 2019-06-04 18:55:23 UTC
-+++ content/renderer/media/audio/audio_device_factory.cc
-@@ -35,7 +35,7 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = nul
- namespace {
-
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-content_renderer_render__process__impl.cc b/www/iridium/files/patch-content_renderer_render__process__impl.cc
deleted file mode 100644
index c0badaab0886..000000000000
--- a/www/iridium/files/patch-content_renderer_render__process__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/renderer/render_process_impl.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/renderer/render_process_impl.cc
-@@ -43,7 +43,7 @@
- #if defined(OS_WIN)
- #include "base/win/win_util.h"
- #endif
--#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
- #include "v8/include/v8-wasm-trap-handler-posix.h"
- #endif
- namespace {
-@@ -161,7 +161,7 @@ RenderProcessImpl::RenderProcessImpl()
-
- SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler,
- "--no-wasm-trap-handler");
--#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64)
-+#if (defined(OS_LINUX) || 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(
diff --git a/www/iridium/files/patch-content_renderer_render__thread__impl.cc b/www/iridium/files/patch-content_renderer_render__thread__impl.cc
deleted file mode 100644
index c231b5944895..000000000000
--- a/www/iridium/files/patch-content_renderer_render__thread__impl.cc
+++ /dev/null
@@ -1,51 +0,0 @@
---- content/renderer/render_thread_impl.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/renderer/render_thread_impl.cc
-@@ -172,12 +172,21 @@
- #include "mojo/public/cpp/bindings/message_dumper.h"
- #endif
-
-+#if !defined(OS_BSD)
- #if defined(OS_MACOSX)
- #include <malloc/malloc.h>
- #else
- #include <malloc.h>
- #endif
-+#endif
-
-+#if defined(OS_BSD)
-+#include <stddef.h>
-+#include <stdint.h>
-+#include <sys/param.h>
-+#include <sys/sysctl.h>
-+#endif
-+
- using base::ThreadRestrictions;
- using blink::WebDocument;
- using blink::WebFrame;
-@@ -731,7 +740,7 @@ void RenderThreadImpl::Init() {
- DCHECK(parsed_num_raster_threads) << string_value;
- DCHECK_GT(num_raster_threads, 0);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- categorized_worker_pool_->SetBackgroundingCallback(
- main_thread_scheduler_->DefaultTaskRunner(),
- base::BindOnce(
-@@ -754,7 +763,7 @@ void RenderThreadImpl::Init() {
- base::DiscardableMemoryAllocator::SetInstance(
- discardable_memory_allocator_.get());
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (base::FeatureList::IsEnabled(
- blink::features::kBlinkCompositorUseDisplayThreadPriority)) {
- render_message_filter()->SetThreadPriority(
-@@ -1136,7 +1145,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl:
- !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames);
- #else
- cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames);
--#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN)
-+#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- const bool enable_media_stream_gpu_memory_buffers =
- enable_gpu_memory_buffers &&
- base::FeatureList::IsEnabled(
diff --git a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc
deleted file mode 100644
index 716ffe45a392..000000000000
--- a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- content/renderer/renderer_blink_platform_impl.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/renderer/renderer_blink_platform_impl.cc
-@@ -98,7 +98,7 @@
-
- #if defined(OS_MACOSX)
- #include "content/child/child_process_sandbox_support_impl_mac.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "content/child/child_process_sandbox_support_impl_linux.h"
- #endif
-
-@@ -173,7 +173,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- if (RenderThreadImpl::current()) {
- io_runner_ = RenderThreadImpl::current()->GetIOTaskRunner();
- thread_safe_sender_ = RenderThreadImpl::current()->thread_safe_sender();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- mojo::PendingRemote<font_service::mojom::FontService> font_service;
- RenderThreadImpl::current()->BindHostReceiver(
- font_service.InitWithNewPipeAndPassReceiver());
-@@ -183,7 +183,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
- #endif
- }
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- if (sandboxEnabled()) {
- #if defined(OS_MACOSX)
- sandbox_support_ = std::make_unique<WebSandboxSupportMac>();
-@@ -265,7 +265,7 @@ RendererBlinkPlatformImpl::CreateNetworkURLLoaderFacto
-
- void RendererBlinkPlatformImpl::SetDisplayThreadPriority(
- base::PlatformThreadId thread_id) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) {
- render_thread->render_message_filter()->SetThreadPriority(
- thread_id, base::ThreadPriority::DISPLAY);
-@@ -278,7 +278,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop
- }
-
- blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() {
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- return sandbox_support_.get();
- #else
- // These platforms do not require sandbox support.
diff --git a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h
deleted file mode 100644
index 5aa4c9e85488..000000000000
--- a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/renderer/renderer_blink_platform_impl.h.orig 2020-02-03 21:53:31 UTC
-+++ content/renderer/renderer_blink_platform_impl.h
-@@ -30,7 +30,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h" // nogncheck
- #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
- #endif
-@@ -218,7 +218,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi
-
- scoped_refptr<base::SingleThreadTaskRunner> io_runner_;
-
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
- #endif
-
-@@ -242,7 +242,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
deleted file mode 100644
index 3c78e664138b..000000000000
--- a/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2020-03-16 18:39:50 UTC
-+++ content/renderer/renderer_main_platform_delegate_linux.cc
-@@ -30,6 +30,7 @@ void RendererMainPlatformDelegate::PlatformUninitializ
- }
-
- bool RendererMainPlatformDelegate::EnableSandbox() {
-+#if !defined(OS_BSD)
- // The setuid sandbox is started in the zygote process: zygote_main_linux.cc
- // https://chromium.googlesource.com/chromium/src/+/master/docs/linux/suid_sandbox.md
- //
-@@ -65,7 +66,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() {
- CHECK_EQ(errno, EPERM);
- }
- #endif // __x86_64__
--
-+#endif // ! OS_BSD
- return true;
- }
-
diff --git a/www/iridium/files/patch-content_shell_BUILD.gn b/www/iridium/files/patch-content_shell_BUILD.gn
deleted file mode 100644
index 6a640a666c6a..000000000000
--- a/www/iridium/files/patch-content_shell_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/shell/BUILD.gn.orig 2020-03-16 18:40:32 UTC
-+++ content/shell/BUILD.gn
-@@ -932,7 +932,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/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc
deleted file mode 100644
index 9e3e50211c22..000000000000
--- a/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/shell/app/shell_main_delegate.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/shell/app/shell_main_delegate.cc
-@@ -306,7 +306,7 @@ bool ShellMainDelegate::BasicStartupComplete(int* exit
- }
-
- void ShellMainDelegate::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;
-@@ -325,7 +325,7 @@ void ShellMainDelegate::PreSandboxStartup() {
- // Reporting for sub-processes will be initialized in ZygoteForked.
- if (process_type != service_manager::switches::kZygoteProcess) {
- crash_reporter::InitializeCrashpad(process_type.empty(), process_type);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- crash_reporter::SetFirstChanceExceptionHandler(
- v8::TryHandleWebAssemblyTrapPosix);
- #endif
diff --git a/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc b/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc
deleted file mode 100644
index d9388fc9f1d2..000000000000
--- a/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- content/shell/browser/shell_browser_context.cc.orig 2019-10-21 19:06:33 UTC
-+++ content/shell/browser/shell_browser_context.cc
-@@ -32,7 +32,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"
- #elif defined(OS_MACOSX)
- #include "base/base_paths_mac.h"
-@@ -107,7 +107,7 @@ void ShellBrowserContext::InitWhileIOAllowed() {
- #if defined(OS_WIN)
- CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path_));
- path_ = path_.Append(std::wstring(L"content_shell"));
--#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(),
diff --git a/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc
deleted file mode 100644
index dc97f7778f08..000000000000
--- a/www/iridium/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 2019-12-16 21:51:26 UTC
-+++ content/shell/browser/shell_browser_main_parts.cc
-@@ -47,7 +47,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)
-@@ -123,7 +123,7 @@ int ShellBrowserMainParts::PreEarlyInitialization() {
- #if defined(USE_X11)
- 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/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc
deleted file mode 100644
index 09235357330e..000000000000
--- a/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/shell/browser/web_test/web_test_browser_context.cc.orig 2020-02-03 21:52:46 UTC
-+++ content/shell/browser/web_test/web_test_browser_context.cc
-@@ -27,7 +27,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"
- #elif defined(OS_MACOSX)
- #include "base/base_paths_mac.h"
diff --git a/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc
deleted file mode 100644
index 7aa29e2df609..000000000000
--- a/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/shell/browser/web_test/web_test_browser_main_parts.cc.orig 2019-09-09 21:55:17 UTC
-+++ content/shell/browser/web_test/web_test_browser_main_parts.cc
-@@ -36,7 +36,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
-
diff --git a/www/iridium/files/patch-content_shell_test__runner_test__runner.cc b/www/iridium/files/patch-content_shell_test__runner_test__runner.cc
deleted file mode 100644
index c2e390ce3a41..000000000000
--- a/www/iridium/files/patch-content_shell_test__runner_test__runner.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/shell/test_runner/test_runner.cc.orig 2020-03-16 18:40:32 UTC
-+++ content/shell/test_runner/test_runner.cc
-@@ -62,7 +62,7 @@
- #include "ui/gfx/geometry/size.h"
- #include "ui/gfx/skia_util.h"
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- #include "third_party/blink/public/platform/web_font_render_style.h"
- #endif
-
-@@ -1532,7 +1532,7 @@ void TestRunner::Reset() {
- drag_image_.reset();
-
- blink::WebSecurityPolicy::ClearOriginAccessList();
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- blink::WebFontRenderStyle::SetSubpixelPositioning(false);
- #endif
-
-@@ -2111,7 +2111,7 @@ void TestRunner::AddOriginAccessAllowListEntry(
- }
-
- void TestRunner::SetTextSubpixelPositioning(bool value) {
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // Since FontConfig doesn't provide a variable to control subpixel
- // positioning, we'll fall back to setting it globally for all fonts.
- blink::WebFontRenderStyle::SetSubpixelPositioning(value);
diff --git a/www/iridium/files/patch-content_test_content__test__suite.cc b/www/iridium/files/patch-content_test_content__test__suite.cc
deleted file mode 100644
index de8be8785a7f..000000000000
--- a/www/iridium/files/patch-content_test_content__test__suite.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- content/test/content_test_suite.cc.orig 2019-12-16 21:50:48 UTC
-+++ content/test/content_test_suite.cc
-@@ -84,6 +84,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();
-@@ -91,6 +92,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/www/iridium/files/patch-content_utility_BUILD.gn b/www/iridium/files/patch-content_utility_BUILD.gn
deleted file mode 100644
index 6c7ec5a20c2c..000000000000
--- a/www/iridium/files/patch-content_utility_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/utility/BUILD.gn.orig 2020-03-18 12:50:25 UTC
-+++ content/utility/BUILD.gn
-@@ -78,7 +78,7 @@ jumbo_source_set("utility") {
- deps += [ "//services/proxy_resolver:lib" ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- deps += [ "//content/utility/soda:soda_sandbox_hook" ]
- }
- }
diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
deleted file mode 100644
index 37e61a50af20..000000000000
--- a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2019-12-16 21:50:48 UTC
-+++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc
-@@ -9,7 +9,7 @@
-
- #if defined(OS_MACOSX)
- #include "content/child/child_process_sandbox_support_impl_mac.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "content/child/child_process_sandbox_support_impl_linux.h"
- #endif
-
-@@ -17,7 +17,7 @@ namespace content {
-
- UtilityBlinkPlatformWithSandboxSupportImpl::
- UtilityBlinkPlatformWithSandboxSupportImpl() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- mojo::PendingRemote<font_service::mojom::FontService> font_service;
- UtilityThread::Get()->BindHostReceiver(
- font_service.InitWithNewPipeAndPassReceiver());
-@@ -34,7 +34,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl::
-
- blink::WebSandboxSupport*
- UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() {
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- return sandbox_support_.get();
- #else
- return nullptr;
diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
deleted file mode 100644
index 23f525c1b117..000000000000
--- a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h
+++ /dev/null
@@ -1,24 +0,0 @@
---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2019-12-16 21:50:48 UTC
-+++ content/utility/utility_blink_platform_with_sandbox_support_impl.h
-@@ -11,7 +11,7 @@
- #include "build/build_config.h"
- #include "third_party/blink/public/platform/platform.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "components/services/font/public/cpp/font_loader.h" // nogncheck
- #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck
- #endif
-@@ -33,10 +33,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub
- blink::WebSandboxSupport* GetSandboxSupport() override;
-
- private:
--#if defined(OS_LINUX) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- std::unique_ptr<blink::WebSandboxSupport> sandbox_support_;
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- sk_sp<font_service::FontLoader> font_loader_;
- #endif
-
diff --git a/www/iridium/files/patch-device_bluetooth_BUILD.gn b/www/iridium/files/patch-device_bluetooth_BUILD.gn
deleted file mode 100644
index 222316adc8f5..000000000000
--- a/www/iridium/files/patch-device_bluetooth_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- device/bluetooth/BUILD.gn.orig 2020-03-16 18:39:51 UTC
-+++ device/bluetooth/BUILD.gn
-@@ -275,7 +275,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/www/iridium/files/patch-device_gamepad_gamepad__provider.cc b/www/iridium/files/patch-device_gamepad_gamepad__provider.cc
deleted file mode 100644
index 7c9a18a60c34..000000000000
--- a/www/iridium/files/patch-device_gamepad_gamepad__provider.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- device/gamepad/gamepad_provider.cc.orig 2020-03-16 18:39:51 UTC
-+++ device/gamepad/gamepad_provider.cc
-@@ -147,7 +147,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep
-
- if (!polling_thread_)
- polling_thread_.reset(new base::Thread("Gamepad polling thread"));
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On Linux, the data fetcher needs to watch file descriptors, so the message
- // loop needs to be a libevent loop.
- const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO;
diff --git a/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc b/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc
deleted file mode 100644
index f962ad16a8f5..000000000000
--- a/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- device/gamepad/hid_writer_linux.cc.orig 2019-10-31 07:37:06 UTC
-+++ device/gamepad/hid_writer_linux.cc
-@@ -4,6 +4,8 @@
-
- #include "device/gamepad/hid_writer_linux.h"
-
-+#include <unistd.h>
-+
- #include "base/posix/eintr_wrapper.h"
-
- namespace device {
diff --git a/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
deleted file mode 100644
index 697ace21a29a..000000000000
--- a/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2019-10-21 19:06:34 UTC
-+++ extensions/browser/api/declarative_webrequest/webrequest_action.cc
-@@ -27,7 +27,11 @@
- #include "extensions/common/extension.h"
- #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
- #include "net/http/http_util.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using extension_web_request_api_helpers::EventResponseDelta;
-
diff --git a/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc
deleted file mode 100644
index 7ded2d7c1140..000000000000
--- a/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc
+++ /dev/null
@@ -1,34 +0,0 @@
---- extensions/browser/api/messaging/message_service.cc.orig 2020-02-03 21:52:46 UTC
-+++ extensions/browser/api/messaging/message_service.cc
-@@ -61,7 +61,7 @@ namespace {
-
- const char kReceivingEndDoesntExistError[] =
- "Could not establish connection. Receiving end does not exist.";
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- const char kMissingPermissionError[] =
- "Access to native messaging requires nativeMessaging permission.";
- const char kProhibitedByPoliciesError[] =
-@@ -391,7 +391,7 @@ void MessageService::OpenChannelToNativeApp(
- if (!opener_port->IsValidPort())
- return;
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- bool has_permission = extension->permissions_data()->HasAPIPermission(
- APIPermission::kNativeMessaging);
- if (!has_permission) {
-@@ -441,11 +441,11 @@ void MessageService::OpenChannelToNativeApp(
- channel->opener->IncrementLazyKeepaliveCount();
-
- AddChannel(std::move(channel), receiver_port_id);
--#else // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX))
-+#else // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD))
- const char kNativeMessagingNotSupportedError[] =
- "Native Messaging is not supported on this platform.";
- opener_port->DispatchOnDisconnect(kNativeMessagingNotSupportedError);
--#endif // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX))
-+#endif // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD))
- }
-
- void MessageService::OpenChannelToTab(const ChannelEndpoint& source,
diff --git a/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc
deleted file mode 100644
index aa2f5369b993..000000000000
--- a/www/iridium/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 2019-03-11 22:00:58 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_MACOSX)
- #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_MACOSX)
- std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create());
diff --git a/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc b/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc
deleted file mode 100644
index aebaba727ff9..000000000000
--- a/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/browser/api/web_request/form_data_parser.cc.orig 2019-03-11 22:00:58 UTC
-+++ extensions/browser/api/web_request/form_data_parser.cc
-@@ -15,7 +15,11 @@
- #include "base/values.h"
- #include "net/base/escape.h"
- #include "net/http/http_request_headers.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using base::DictionaryValue;
- using base::ListValue;
diff --git a/www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc
deleted file mode 100644
index d640fe45fcf4..000000000000
--- a/www/iridium/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 2020-02-03 21:52:46 UTC
-+++ extensions/browser/browser_context_keyed_service_factories.cc
-@@ -71,7 +71,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt()
- HidDeviceManager::GetFactoryInstance();
- IdleManagerFactory::GetInstance();
- ManagementAPI::GetFactoryInstance();
--#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD)
- NetworkingPrivateEventRouterFactory::GetInstance();
- #endif
- PowerAPI::GetFactoryInstance();
diff --git a/www/iridium/files/patch-extensions_common_api___permission__features.json b/www/iridium/files/patch-extensions_common_api___permission__features.json
deleted file mode 100644
index 554abd741ba8..000000000000
--- a/www/iridium/files/patch-extensions_common_api___permission__features.json
+++ /dev/null
@@ -1,29 +0,0 @@
---- extensions/common/api/_permission_features.json.orig 2020-02-03 21:53:31 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
-@@ -468,7 +468,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
-@@ -499,7 +499,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/www/iridium/files/patch-extensions_common_api_runtime.json b/www/iridium/files/patch-extensions_common_api_runtime.json
deleted file mode 100644
index 9d5dea52dcbc..000000000000
--- a/www/iridium/files/patch-extensions_common_api_runtime.json
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/common/api/runtime.json.orig 2020-02-03 21:53:31 UTC
-+++ extensions/common/api/runtime.json
-@@ -68,7 +68,7 @@
- "id": "PlatformOs",
- "type": "string",
- "description": "The operating system chrome is running on.",
-- "enum": ["mac", "win", "android", "cros", "linux", "openbsd"]
-+ "enum": ["mac", "win", "android", "cros", "linux", "freebsd", "openbsd"]
- },
- {
- "id": "PlatformArch",
diff --git a/www/iridium/files/patch-extensions_common_feature__switch.cc b/www/iridium/files/patch-extensions_common_feature__switch.cc
deleted file mode 100644
index 9cac45bedcb2..000000000000
--- a/www/iridium/files/patch-extensions_common_feature__switch.cc
+++ /dev/null
@@ -1,16 +0,0 @@
---- extensions/common/feature_switch.cc.orig 2019-10-21 19:06:34 UTC
-+++ extensions/common/feature_switch.cc
-@@ -42,11 +42,11 @@ class CommonSwitches {
- FeatureSwitch::DEFAULT_ENABLED),
- load_media_router_component_extension(
- kLoadMediaRouterComponentExtensionFlag,
--#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+#if BUILDFLAG(GOOGLE_CHROME_BRANDING) || defined(OS_BSD)
- FeatureSwitch::DEFAULT_ENABLED)
- #else
- FeatureSwitch::DEFAULT_DISABLED)
--#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
-+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) || defined(OS_BSD)
- {
- }
-
diff --git a/www/iridium/files/patch-extensions_common_features_feature.cc b/www/iridium/files/patch-extensions_common_features_feature.cc
deleted file mode 100644
index e97794f406b1..000000000000
--- a/www/iridium/files/patch-extensions_common_features_feature.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/common/features/feature.cc.orig 2019-07-24 18:58:27 UTC
-+++ extensions/common/features/feature.cc
-@@ -20,7 +20,7 @@ namespace extensions {
- Feature::Platform Feature::GetCurrentPlatform() {
- #if defined(OS_CHROMEOS)
- return CHROMEOS_PLATFORM;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return LINUX_PLATFORM;
- #elif defined(OS_MACOSX)
- return MACOSX_PLATFORM;
diff --git a/www/iridium/files/patch-extensions_common_image__util.cc b/www/iridium/files/patch-extensions_common_image__util.cc
deleted file mode 100644
index 7048ea59ebd3..000000000000
--- a/www/iridium/files/patch-extensions_common_image__util.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/common/image_util.cc.orig 2020-02-03 21:52:47 UTC
-+++ extensions/common/image_util.cc
-@@ -18,7 +18,11 @@
- #include "base/strings/stringprintf.h"
- #include "base/time/time.h"
- #include "base/timer/elapsed_timer.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif // defined(OS_BSD)
- #include "third_party/skia/include/core/SkBitmap.h"
- #include "third_party/skia/include/core/SkCanvas.h"
- #include "third_party/skia/include/core/SkColor.h"
diff --git a/www/iridium/files/patch-extensions_common_stack__frame.cc b/www/iridium/files/patch-extensions_common_stack__frame.cc
deleted file mode 100644
index cb1f991f448f..000000000000
--- a/www/iridium/files/patch-extensions_common_stack__frame.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- extensions/common/stack_frame.cc.orig 2019-03-11 22:00:58 UTC
-+++ extensions/common/stack_frame.cc
-@@ -7,7 +7,11 @@
- #include <string>
-
- #include "base/strings/utf_string_conversions.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- namespace extensions {
-
diff --git a/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc
deleted file mode 100644
index e5e060248182..000000000000
--- a/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- extensions/renderer/bindings/api_binding_util.cc.orig 2019-03-11 22:00:58 UTC
-+++ extensions/renderer/bindings/api_binding_util.cc
-@@ -129,6 +129,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/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc
deleted file mode 100644
index 196003fc999d..000000000000
--- a/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- extensions/shell/app/shell_main_delegate.cc.orig 2019-09-09 21:55:17 UTC
-+++ extensions/shell/app/shell_main_delegate.cc
-@@ -38,7 +38,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"
- #elif defined(OS_MACOSX)
- #include "base/base_paths_mac.h"
-@@ -70,7 +70,7 @@ base::FilePath GetDataPath() {
- return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath);
-
- base::FilePath data_dir;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc
deleted file mode 100644
index 194f3950299b..000000000000
--- a/www/iridium/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 2019-09-16 09:48:37 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/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc
deleted file mode 100644
index 7333dad7d6bf..000000000000
--- a/www/iridium/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 2019-09-09 21:55:17 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/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h
deleted file mode 100644
index 31f01db1d1d5..000000000000
--- a/www/iridium/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 2019-09-09 21:55:17 UTC
-+++ extensions/shell/browser/shell_extensions_api_client.h
-@@ -32,14 +32,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/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
deleted file mode 100644
index 7a7e1a0192c2..000000000000
--- a/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc
+++ /dev/null
@@ -1,53 +0,0 @@
---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2020-03-16 18:39:51 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/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
deleted file mode 100644
index 3756044745e9..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2020-03-16 18:40:32 UTC
-+++ gpu/command_buffer/common/gpu_memory_buffer_support.cc
-@@ -50,7 +50,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gf
- uint32_t GetPlatformSpecificTextureTarget() {
- #if defined(OS_MACOSX)
- return GL_TEXTURE_RECTANGLE_ARB;
--#elif defined(OS_ANDROID) || defined(OS_LINUX)
-+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- return GL_TEXTURE_EXTERNAL_OES;
- #elif defined(OS_WIN) || defined(OS_FUCHSIA)
- return GL_TEXTURE_2D;
-@@ -72,7 +72,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer
-
- GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget(
- gfx::BufferFormat format) {
--#if defined(USE_OZONE) || defined(OS_LINUX)
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD)
- // Always use GL_TEXTURE_2D as the target for RGB textures.
- // https://crbug.com/916728
- if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 ||
diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
deleted file mode 100644
index 04701c95d5c1..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc
+++ /dev/null
@@ -1,100 +0,0 @@
---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2020-03-16 18:40:32 UTC
-+++ gpu/command_buffer/service/external_vk_image_backing.cc
-@@ -27,7 +27,7 @@
- #include "ui/gl/buildflags.h"
- #include "ui/gl/gl_context.h"
-
--#if defined(OS_LINUX) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h"
- #endif
-
-@@ -35,7 +35,7 @@
- #include "gpu/vulkan/fuchsia/vulkan_fuchsia_ext.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586
- #endif
-
-@@ -630,7 +630,7 @@ std::unique_ptr<SharedImageRepresentationDawn>
- ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager,
- MemoryTypeTracker* tracker,
- WGPUDevice wgpuDevice) {
--#if defined(OS_LINUX) && BUILDFLAG(USE_DAWN)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN)
- if (!wgpu_format_) {
- DLOG(ERROR) << "Format not supported for Dawn";
- return nullptr;
-@@ -653,14 +653,14 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager
- return std::make_unique<ExternalVkImageDawnRepresentation>(
- manager, this, tracker, wgpuDevice, wgpu_format_.value(), memory_fd,
- image_info.fAlloc.fSize, memory_type_index_.value());
--#else // !defined(OS_LINUX) || !BUILDFLAG(USE_DAWN)
-+#else // (!defined(OS_LINUX) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN)
- NOTIMPLEMENTED_LOG_ONCE();
- return nullptr;
- #endif
- }
-
- GLuint ExternalVkImageBacking::ProduceGLTextureInternal() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- GrVkImageInfo image_info;
- bool result = backend_texture_.getVkImageInfo(&image_info);
- DCHECK(result);
-@@ -710,7 +710,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna
- #elif defined(OS_FUCHSIA)
- NOTIMPLEMENTED_LOG_ONCE();
- return 0;
--#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA)
-+#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA)
- #error Unsupported OS
- #endif
- }
-@@ -724,7 +724,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa
- return nullptr;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (!texture_) {
- GLuint texture_service_id = ProduceGLTextureInternal();
- if (!texture_service_id)
-@@ -755,7 +755,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa
- #elif defined(OS_FUCHSIA)
- NOTIMPLEMENTED_LOG_ONCE();
- return nullptr;
--#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA)
-+#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA)
- #error Unsupported OS
- #endif
- }
-@@ -770,7 +770,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough(
- return nullptr;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (!texture_passthrough_) {
- GLuint texture_service_id = ProduceGLTextureInternal();
- if (!texture_service_id)
-@@ -790,7 +790,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough(
- #elif defined(OS_FUCHSIA)
- NOTIMPLEMENTED_LOG_ONCE();
- return nullptr;
--#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA)
-+#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA)
- #error Unsupported OS
- #endif
- }
-@@ -808,7 +808,7 @@ ExternalVkImageBacking::ProduceSkia(
- tracker);
- }
-
--#ifdef OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int ExternalVkImageBacking::GetMemoryFd(const GrVkImageInfo& image_info) {
- VkMemoryGetFdInfoKHR get_fd_info;
- get_fd_info.sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h
deleted file mode 100644
index 38283056309d..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/service/external_vk_image_backing.h.orig 2020-03-16 18:40:32 UTC
-+++ gpu/command_buffer/service/external_vk_image_backing.h
-@@ -132,7 +132,7 @@ class ExternalVkImageBacking final : public ClearTrack
- base::Optional<WGPUTextureFormat> wgpu_format,
- base::Optional<uint32_t> memory_type_index);
-
--#ifdef OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Extract file descriptor from image
- int GetMemoryFd(const GrVkImageInfo& image_info);
- #endif
diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc
deleted file mode 100644
index b94f6df0650f..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/service/external_vk_image_gl_representation.cc.orig 2020-02-03 21:53:31 UTC
-+++ gpu/command_buffer/service/external_vk_image_gl_representation.cc
-@@ -179,7 +179,7 @@ GLuint ExternalVkImageGLRepresentationShared::ImportVk
- #if defined(OS_FUCHSIA)
- NOTIMPLEMENTED_LOG_ONCE();
- return 0;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- if (handle.vk_handle_type() !=
- VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) {
- DLOG(ERROR) << "Importing semaphore handle of unexpected type:"
-@@ -194,7 +194,7 @@ GLuint ExternalVkImageGLRepresentationShared::ImportVk
- fd.release());
-
- return gl_semaphore;
--#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX)
-+#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX) && !defined(OS_BSD)
- #error Unsupported OS
- #endif
- }
diff --git a/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc b/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc
deleted file mode 100644
index 9309b4a0c7ce..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- gpu/command_buffer/service/program_manager.cc.orig 2019-03-11 22:00:59 UTC
-+++ gpu/command_buffer/service/program_manager.cc
-@@ -30,7 +30,11 @@
- #include "gpu/command_buffer/service/program_cache.h"
- #include "gpu/command_buffer/service/shader_manager.h"
- #include "gpu/config/gpu_preferences.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/progress_reporter.h"
-
diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
deleted file mode 100644
index efb8db3c0dc3..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2020-03-16 18:39:51 UTC
-+++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc
-@@ -642,7 +642,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText
-
- bool ShouldSkipNorm16() const {
- DCHECK(!ShouldSkipTest());
--#if (defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)) && \
-+#if (defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)) && \
- (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.
diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
deleted file mode 100644
index 9867201456bf..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/command_buffer/tests/gl_test_utils.cc.orig 2020-03-16 18:39:51 UTC
-+++ gpu/command_buffer/tests/gl_test_utils.cc
-@@ -23,7 +23,7 @@
- #include "ui/gl/gl_version_info.h"
- #include "ui/gl/init/gl_factory.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/gl/gl_image_native_pixmap.h"
- #endif
-
-@@ -445,7 +445,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() {
- window_system_binding_info_ = gl::GLWindowSystemBindingInfo();
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- scoped_refptr<gl::GLImageNativePixmap>
- GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format,
- gfx::Size size,
diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h
deleted file mode 100644
index 2a43e73c2793..000000000000
--- a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/command_buffer/tests/gl_test_utils.h.orig 2019-10-21 19:06:35 UTC
-+++ gpu/command_buffer/tests/gl_test_utils.h
-@@ -120,7 +120,7 @@ class GpuCommandBufferTestEGL {
- return gfx::HasExtension(gl_extensions_, extension);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Create GLImageNativePixmap filled in with the given pixels.
- scoped_refptr<gl::GLImageNativePixmap> CreateGLImageNativePixmap(
- gfx::BufferFormat format,
diff --git a/www/iridium/files/patch-gpu_config_gpu__control__list.cc b/www/iridium/files/patch-gpu_config_gpu__control__list.cc
deleted file mode 100644
index e666e762ba6a..000000000000
--- a/www/iridium/files/patch-gpu_config_gpu__control__list.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- gpu/config/gpu_control_list.cc.orig 2020-02-03 21:52:47 UTC
-+++ gpu/config/gpu_control_list.cc
-@@ -16,7 +16,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 {
-@@ -213,7 +217,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_MACOSX)
- return kGLTypeGL;
-@@ -713,7 +717,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_MACOSX)
- return kOsMacosx;
diff --git a/www/iridium/files/patch-gpu_config_gpu__test__config.cc b/www/iridium/files/patch-gpu_config_gpu__test__config.cc
deleted file mode 100644
index c5c6e5e16c76..000000000000
--- a/www/iridium/files/patch-gpu_config_gpu__test__config.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- gpu/config/gpu_test_config.cc.orig 2019-03-11 22:00:59 UTC
-+++ gpu/config/gpu_test_config.cc
-@@ -25,7 +25,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/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc
deleted file mode 100644
index d06bde69aa2d..000000000000
--- a/www/iridium/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 2020-03-16 18:40:32 UTC
-+++ gpu/ipc/common/gpu_memory_buffer_support.cc
-@@ -14,7 +14,7 @@
- #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/gfx/client_native_pixmap_factory.h"
- #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h"
- #endif
-@@ -24,7 +24,7 @@
- #include "ui/ozone/public/ozone_platform.h"
- #endif
-
--#if defined(USE_OZONE) || defined(OS_LINUX)
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD)
- #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h"
- #endif
-
-@@ -42,7 +42,7 @@ namespace gpu {
- GpuMemoryBufferSupport::GpuMemoryBufferSupport() {
- #if defined(USE_OZONE)
- client_native_pixmap_factory_ = ui::CreateClientNativePixmapFactoryOzone();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- client_native_pixmap_factory_.reset(
- gfx::CreateClientNativePixmapFactoryDmabuf());
- #endif
-@@ -56,7 +56,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType()
- return gfx::IO_SURFACE_BUFFER;
- #elif defined(OS_ANDROID)
- return gfx::ANDROID_HARDWARE_BUFFER;
--#elif defined(OS_LINUX) || defined(USE_OZONE)
-+#elif defined(OS_LINUX) || defined(USE_OZONE) || defined(OS_BSD)
- return gfx::NATIVE_PIXMAP;
- #elif defined(OS_WIN)
- return gfx::DXGI_SHARED_HANDLE;
-@@ -181,7 +181,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH
- return GpuMemoryBufferImplIOSurface::CreateFromHandle(
- std::move(handle), size, format, usage, std::move(callback));
- #endif
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(USE_OZONE) || defined(OS_BSD)
- case gfx::NATIVE_PIXMAP:
- return GpuMemoryBufferImplNativePixmap::CreateFromHandle(
- client_native_pixmap_factory(), std::move(handle), size, format,
diff --git a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
deleted file mode 100644
index dc652a126740..000000000000
--- a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2019-12-16 21:50:48 UTC
-+++ gpu/ipc/common/gpu_memory_buffer_support.h
-@@ -16,7 +16,7 @@
- #include "ui/gfx/geometry/size.h"
- #include "ui/gfx/gpu_memory_buffer.h"
-
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- namespace gfx {
- class ClientNativePixmapFactory;
- }
-@@ -38,7 +38,7 @@ class GPU_EXPORT GpuMemoryBufferSupport {
- bool IsNativeGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format,
- gfx::BufferUsage usage);
-
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- gfx::ClientNativePixmapFactory* client_native_pixmap_factory() {
- return client_native_pixmap_factory_.get();
- }
-@@ -62,7 +62,7 @@ class GPU_EXPORT GpuMemoryBufferSupport {
- GpuMemoryBufferImpl::DestructionCallback callback);
-
- private:
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- std::unique_ptr<gfx::ClientNativePixmapFactory> client_native_pixmap_factory_;
- #endif
-
diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc
deleted file mode 100644
index 2dff9b7c455a..000000000000
--- a/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc
+++ /dev/null
@@ -1,136 +0,0 @@
---- gpu/ipc/service/gpu_init.cc.orig 2020-03-16 18:40:32 UTC
-+++ gpu/ipc/service/gpu_init.cc
-@@ -109,7 +109,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,
-@@ -120,7 +120,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:
-@@ -170,7 +170,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- gpu_info_.subpixel_font_rendering = true;
- #endif
-
--#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;
-@@ -221,7 +221,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- delayed_watchdog_enable = true;
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -266,7 +266,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- }
-
- bool attempted_startsandbox = false;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !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.
-@@ -275,7 +275,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- watchdog_thread_.get(), &gpu_info_, gpu_preferences_);
- attempted_startsandbox = true;
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) && !defined(OS_BSD)
-
- base::TimeTicks before_initialize_one_off = base::TimeTicks::Now();
-
-@@ -299,14 +299,14 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- }
- if (gl_initialized && use_swiftshader &&
- gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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 // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
- }
-
- if (!gl_initialized) {
-@@ -332,7 +332,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- }
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) && !defined(OS_BSD)
- // The ContentSandboxHelper is currently the only one implementation of
- // gpu::GpuSandboxHelper and it has no dependency. Except on Linux where
- // VaapiWrapper checks the GL implementation to determine which display
-@@ -370,7 +370,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- command_line, gpu_feature_info_,
- gpu_preferences_.disable_software_rasterizer, false);
- if (use_swiftshader) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly "
- << "on Linux";
- return false;
-@@ -384,7 +384,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- << "failed";
- return false;
- }
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
- }
- } else { // use_swiftshader == true
- switch (gpu_preferences_.use_vulkan) {
-@@ -440,7 +440,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
-
- InitializePlatformOverlaySettings(&gpu_info_);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -459,7 +459,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL
- return false;
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- if (use_swiftshader) {
- AdjustInfoToSwiftShader();
-@@ -637,7 +637,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
-
- InitializePlatformOverlaySettings(&gpu_info_);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -657,7 +657,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c
- }
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- if (use_swiftshader) {
- AdjustInfoToSwiftShader();
diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
deleted file mode 100644
index af39329a6e9d..000000000000
--- a/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2019-07-24 18:58:27 UTC
-+++ gpu/ipc/service/gpu_memory_buffer_factory.cc
-@@ -12,7 +12,7 @@
- #include "gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- #include "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h"
- #endif
-
-@@ -34,7 +34,7 @@ GpuMemoryBufferFactory::CreateNativeType(
- return std::make_unique<GpuMemoryBufferFactoryIOSurface>();
- #elif defined(OS_ANDROID)
- return std::make_unique<GpuMemoryBufferFactoryAndroidHardwareBuffer>();
--#elif defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#elif defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- return std::make_unique<GpuMemoryBufferFactoryNativePixmap>(
- vulkan_context_provider);
- #elif defined(OS_WIN)
diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
deleted file mode 100644
index bcadfa7d9e7b..000000000000
--- a/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2020-03-16 18:40:32 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.cc
-@@ -63,7 +63,7 @@ void GpuWatchdogTimeoutHistogram(GpuWatchdogTimeoutEve
- base::UmaHistogramEnumeration("GPU.WatchdogThread.V1.Timeout", timeout_event);
- }
-
--#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
-@@ -81,7 +81,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
-@@ -103,7 +103,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_;
-@@ -251,7 +251,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
-@@ -434,7 +434,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_) {
-@@ -609,7 +609,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/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
deleted file mode 100644
index e81e9e60d43d..000000000000
--- a/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- gpu/ipc/service/gpu_watchdog_thread.h.orig 2020-03-16 18:40:32 UTC
-+++ gpu/ipc/service/gpu_watchdog_thread.h
-@@ -207,7 +207,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
-
-@@ -265,7 +265,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1
- // whether GpuWatchdogThreadEvent::kGpuWatchdogStart has been recorded.
- bool is_watchdog_start_histogram_recorded = false;
-
--#if defined(USE_X11)
-+#if defined(USE_X11) && !defined(OS_BSD)
- FILE* tty_file_;
- int host_tty_;
- int active_tty_ = -1;
diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc
deleted file mode 100644
index a6794bea5437..000000000000
--- a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc
+++ /dev/null
@@ -1,32 +0,0 @@
---- gpu/vulkan/vulkan_function_pointers.cc.orig 2020-03-16 18:40:32 UTC
-+++ gpu/vulkan/vulkan_function_pointers.cc
-@@ -782,7 +782,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- }
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- if (gfx::HasExtension(enabled_extensions,
- VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) {
- vkGetSemaphoreFdKHRFn = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>(
-@@ -801,9 +801,9 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (gfx::HasExtension(enabled_extensions,
- VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) {
- vkGetMemoryFdKHRFn = reinterpret_cast<PFN_vkGetMemoryFdKHR>(
-@@ -823,7 +823,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer
- return false;
- }
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_FUCHSIA)
- if (gfx::HasExtension(enabled_extensions,
diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h
deleted file mode 100644
index 5684a3f44924..000000000000
--- a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h
+++ /dev/null
@@ -1,45 +0,0 @@
---- gpu/vulkan/vulkan_function_pointers.h.orig 2020-03-16 18:40:32 UTC
-+++ gpu/vulkan/vulkan_function_pointers.h
-@@ -180,15 +180,15 @@ struct VulkanFunctionPointers {
- vkGetAndroidHardwareBufferPropertiesANDROIDFn = nullptr;
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHRFn = nullptr;
- PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHRFn = nullptr;
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- PFN_vkGetMemoryFdKHR vkGetMemoryFdKHRFn = nullptr;
- PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHRFn = nullptr;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_FUCHSIA)
- PFN_vkImportSemaphoreZirconHandleFUCHSIA
-@@ -378,18 +378,18 @@ struct VulkanFunctionPointers {
- ->vkGetAndroidHardwareBufferPropertiesANDROIDFn
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #define vkGetSemaphoreFdKHR \
- gpu::GetVulkanFunctionPointers()->vkGetSemaphoreFdKHRFn
- #define vkImportSemaphoreFdKHR \
- gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHRFn
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #define vkGetMemoryFdKHR gpu::GetVulkanFunctionPointers()->vkGetMemoryFdKHRFn
- #define vkGetMemoryFdPropertiesKHR \
- gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHRFn
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_FUCHSIA)
- #define vkImportSemaphoreZirconHandleFUCHSIA \
diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc
deleted file mode 100644
index 86931c284dea..000000000000
--- a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- headless/lib/browser/headless_content_browser_client.cc.orig 2020-03-16 18:39:51 UTC
-+++ headless/lib/browser/headless_content_browser_client.cc
-@@ -157,7 +157,7 @@ HeadlessContentBrowserClient::GetGeneratedCodeCacheSet
- return content::GeneratedCodeCacheSettings(true, 0, context->GetPath());
- }
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- void HeadlessContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
-@@ -168,7 +168,7 @@ void HeadlessContentBrowserClient::GetAdditionalMapped
- mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd);
- #endif // defined(HEADLESS_USE_BREAKPAD)
- }
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
-
- void HeadlessContentBrowserClient::AppendExtraCommandLineSwitches(
- base::CommandLine* command_line,
-@@ -231,7 +231,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL
- process_type, child_process_id);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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(service_manager::switches::kNoSandbox)) {
diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h
deleted file mode 100644
index f29e51b1a4f7..000000000000
--- a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/browser/headless_content_browser_client.h.orig 2020-03-16 18:39:51 UTC
-+++ headless/lib/browser/headless_content_browser_client.h
-@@ -29,7 +29,7 @@ class HeadlessContentBrowserClient : public content::C
- override;
- content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
- content::BrowserContext* context) override;
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- void GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
diff --git a/www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc
deleted file mode 100644
index dbae7f502c62..000000000000
--- a/www/iridium/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 2019-12-16 21:51:26 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)
- static 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;
-@@ -197,7 +197,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/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc
deleted file mode 100644
index b6d23a82eac8..000000000000
--- a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- headless/lib/headless_content_main_delegate.cc.orig 2020-03-16 18:39:51 UTC
-+++ headless/lib/headless_content_main_delegate.cc
-@@ -405,7 +405,7 @@ int HeadlessContentMainDelegate::RunProcess(
- }
- #endif // !defined(CHROME_MULTIPLE_DLL_CHILD)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void SIGTERMProfilingShutdown(int signal) {
- content::Profiling::Stop();
- struct sigaction sigact;
-@@ -440,7 +440,7 @@ void HeadlessContentMainDelegate::ZygoteForked() {
- breakpad::InitCrashReporter(process_type);
- #endif
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // static
- HeadlessContentMainDelegate* HeadlessContentMainDelegate::GetInstance() {
diff --git a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h
deleted file mode 100644
index ea587103f60e..000000000000
--- a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- headless/lib/headless_content_main_delegate.h.orig 2020-03-16 18:39:51 UTC
-+++ headless/lib/headless_content_main_delegate.h
-@@ -60,7 +60,7 @@ class HEADLESS_EXPORT HeadlessContentMainDelegate
-
- HeadlessBrowserImpl* browser() const { return browser_.get(); }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void ZygoteForked() override;
- #endif
-
diff --git a/www/iridium/files/patch-headless_lib_headless__macros.h b/www/iridium/files/patch-headless_lib_headless__macros.h
deleted file mode 100644
index 0e99c3066d6d..000000000000
--- a/www/iridium/files/patch-headless_lib_headless__macros.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- headless/lib/headless_macros.h.orig 2019-03-11 22:00:59 UTC
-+++ headless/lib/headless_macros.h
-@@ -7,8 +7,8 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
- #define HEADLESS_USE_BREAKPAD
--#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
-+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
-
- #endif // HEADLESS_LIB_HEADLESS_MACROS_H_
diff --git a/www/iridium/files/patch-ipc_ipc__channel.h b/www/iridium/files/patch-ipc_ipc__channel.h
deleted file mode 100644
index 81baee2eca8d..000000000000
--- a/www/iridium/files/patch-ipc_ipc__channel.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ipc/ipc_channel.h.orig 2020-02-03 21:53:32 UTC
-+++ ipc/ipc_channel.h
-@@ -282,7 +282,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender {
- static std::string GenerateUniqueRandomChannelID();
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Sandboxed processes live in a PID namespace, so when sending the IPC hello
- // message from client to server we need to send the PID from the global
- // PID namespace.
diff --git a/www/iridium/files/patch-ipc_ipc__channel__common.cc b/www/iridium/files/patch-ipc_ipc__channel__common.cc
deleted file mode 100644
index 9a59e5cfaff6..000000000000
--- a/www/iridium/files/patch-ipc_ipc__channel__common.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ipc/ipc_channel_common.cc.orig 2020-02-03 21:52:47 UTC
-+++ ipc/ipc_channel_common.cc
-@@ -10,7 +10,7 @@
-
- namespace IPC {
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-
- namespace {
- int g_global_pid = 0;
-@@ -26,7 +26,7 @@ int Channel::GetGlobalPid() {
- return g_global_pid;
- }
-
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // static
- std::unique_ptr<Channel> Channel::CreateClient(
diff --git a/www/iridium/files/patch-ipc_ipc__channel__mojo.cc b/www/iridium/files/patch-ipc_ipc__channel__mojo.cc
deleted file mode 100644
index 54e779282f74..000000000000
--- a/www/iridium/files/patch-ipc_ipc__channel__mojo.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- ipc/ipc_channel_mojo.cc.orig 2020-02-03 21:52:47 UTC
-+++ ipc/ipc_channel_mojo.cc
-@@ -74,10 +74,10 @@ class MojoChannelFactory : public ChannelFactory {
- };
-
- base::ProcessId GetSelfPID() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (int global_pid = Channel::GetGlobalPid())
- return global_pid;
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
- #if defined(OS_NACL)
- return -1;
- #else
diff --git a/www/iridium/files/patch-ipc_ipc__message__utils.cc b/www/iridium/files/patch-ipc_ipc__message__utils.cc
deleted file mode 100644
index 00d57043fb58..000000000000
--- a/www/iridium/files/patch-ipc_ipc__message__utils.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ipc/ipc_message_utils.cc.orig 2019-07-24 18:58:29 UTC
-+++ ipc/ipc_message_utils.cc
-@@ -355,7 +355,7 @@ void ParamTraits<unsigned int>::Log(const param_type&
- l->append(base::NumberToString(p));
- }
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- (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/www/iridium/files/patch-ipc_ipc__message__utils.h b/www/iridium/files/patch-ipc_ipc__message__utils.h
deleted file mode 100644
index 39fc150c1a08..000000000000
--- a/www/iridium/files/patch-ipc_ipc__message__utils.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ipc/ipc_message_utils.h.orig 2020-02-03 21:53:32 UTC
-+++ ipc/ipc_message_utils.h
-@@ -209,7 +209,7 @@ struct ParamTraits<unsigned int> {
- // 3) Android 64 bit and Fuchsia also have int64_t typedef'd to long.
- // Since we want to support Android 32<>64 bit IPC, as long as we don't have
- // these traits for 32 bit ARM then that'll catch any errors.
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
- (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS))
- template <>
- struct ParamTraits<long> {
diff --git a/www/iridium/files/patch-media_BUILD.gn b/www/iridium/files/patch-media_BUILD.gn
deleted file mode 100644
index 2e46acb021a0..000000000000
--- a/www/iridium/files/patch-media_BUILD.gn
+++ /dev/null
@@ -1,12 +0,0 @@
---- media/BUILD.gn.orig 2020-03-16 18:40:33 UTC
-+++ media/BUILD.gn
-@@ -63,6 +63,9 @@ config("media_config") {
- defines += [ "DLOPEN_PULSEAUDIO" ]
- }
- }
-+ if (use_sndio) {
-+ defines += [ "USE_SNDIO" ]
-+ }
- if (use_cras) {
- defines += [ "USE_CRAS" ]
- }
diff --git a/www/iridium/files/patch-media_audio_BUILD.gn b/www/iridium/files/patch-media_audio_BUILD.gn
deleted file mode 100644
index a37b99f54c9c..000000000000
--- a/www/iridium/files/patch-media_audio_BUILD.gn
+++ /dev/null
@@ -1,22 +0,0 @@
---- media/audio/BUILD.gn.orig 2020-03-16 18:40:33 UTC
-+++ media/audio/BUILD.gn
-@@ -232,8 +232,18 @@ source_set("audio") {
- ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !use_sndio) {
- sources += [ "linux/audio_manager_linux.cc" ]
-+ }
-+ 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 (use_alsa) {
diff --git a/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc
deleted file mode 100644
index 313dd1df12eb..000000000000
--- a/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc
+++ /dev/null
@@ -1,54 +0,0 @@
---- media/audio/alsa/audio_manager_alsa.cc.orig 2019-04-30 22:22:52 UTC
-+++ media/audio/alsa/audio_manager_alsa.cc
-@@ -92,7 +92,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
- int card = -1;
-
- // Loop through the sound cards to get ALSA device hints.
-+#if defined(OS_LINUX)
- while (!wrapper_->CardNext(&card) && card >= 0) {
-+#endif
- void** hints = NULL;
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
-@@ -104,7 +106,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType
- DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: "
- << wrapper_->StrError(error);
- }
-+#if defined(OS_LINUX)
- }
-+#endif
- }
-
- void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type,
-@@ -187,7 +191,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(
- // goes through software conversion if needed (e.g. incompatible
- // sample rate).
- // TODO(joi): Should we prefer "hw" instead?
-+#ifdef OS_LINUX
- static const char kDeviceTypeDesired[] = "plughw";
-+#else
-+ static const char kDeviceTypeDesired[] = "plug";
-+#endif
- return strncmp(kDeviceTypeDesired, device_name,
- base::size(kDeviceTypeDesired) - 1) == 0;
- }
-@@ -209,7 +217,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
- // Loop through the sound cards.
- // Don't use snd_device_name_hint(-1,..) since there is a access violation
- // inside this ALSA API with libasound.so.2.0.0.
-+#if defined(OS_LINUX)
- while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) {
-+#endif
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
- for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
-@@ -233,7 +243,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice(
- DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
- << wrapper_->StrError(error);
- }
-+#if defined(OS_LINUX)
- }
-+#endif
-
- return has_device;
- }
diff --git a/www/iridium/files/patch-media_audio_audio__input__device.cc b/www/iridium/files/patch-media_audio_audio__input__device.cc
deleted file mode 100644
index f96c5ac063c2..000000000000
--- a/www/iridium/files/patch-media_audio_audio__input__device.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/audio/audio_input_device.cc.orig 2019-03-17 21:43:40 UTC
-+++ media/audio/audio_input_device.cc
-@@ -248,7 +248,7 @@ void AudioInputDevice::OnStreamCreated(
- // also a risk of false positives if we are suspending when starting the stream
- // here. See comments in AliveChecker and PowerObserverHelper for details and
- // todos.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const bool stop_at_first_alive_notification = true;
- const bool pause_check_during_suspend = false;
- #else
diff --git a/www/iridium/files/patch-media_audio_audio__manager.cc b/www/iridium/files/patch-media_audio_audio__manager.cc
deleted file mode 100644
index 5720491adf54..000000000000
--- a/www/iridium/files/patch-media_audio_audio__manager.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- media/audio/audio_manager.cc.orig 2019-03-11 22:00:59 UTC
-+++ media/audio/audio_manager.cc
-@@ -48,7 +48,7 @@ class AudioManagerHelper {
- }
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- void set_app_name(const std::string& app_name) { app_name_ = app_name; }
- const std::string& app_name() const { return app_name_; }
- #endif
-@@ -59,7 +59,7 @@ class AudioManagerHelper {
- std::unique_ptr<base::win::ScopedCOMInitializer> com_initializer_for_testing_;
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- std::string app_name_;
- #endif
-
-@@ -128,7 +128,7 @@ std::unique_ptr<AudioManager> AudioManager::CreateForT
- return Create(std::move(audio_thread), GetHelper()->fake_log_factory());
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- void AudioManager::SetGlobalAppName(const std::string& app_name) {
- GetHelper()->set_app_name(app_name);
diff --git a/www/iridium/files/patch-media_audio_audio__manager.h b/www/iridium/files/patch-media_audio_audio__manager.h
deleted file mode 100644
index 817c3d812b8e..000000000000
--- a/www/iridium/files/patch-media_audio_audio__manager.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/audio/audio_manager.h.orig 2019-03-11 22:00:59 UTC
-+++ media/audio/audio_manager.h
-@@ -60,7 +60,7 @@ class MEDIA_EXPORT AudioManager {
- static std::unique_ptr<AudioManager> CreateForTesting(
- std::unique_ptr<AudioThread> audio_thread);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Sets the name of the audio source as seen by external apps. Only actually
- // used with PulseAudio as of this writing.
- static void SetGlobalAppName(const std::string& app_name);
diff --git a/www/iridium/files/patch-media_base_audio__latency.cc b/www/iridium/files/patch-media_base_audio__latency.cc
deleted file mode 100644
index d2289293450b..000000000000
--- a/www/iridium/files/patch-media_base_audio__latency.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/audio_latency.cc.orig 2019-03-11 22:00:59 UTC
-+++ media/base/audio_latency.cc
-@@ -106,7 +106,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in
- return frames_per_buffer;
- }
-
--#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // 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
- // peer connection buffer size (10ms) to achieve best possible performance.
diff --git a/www/iridium/files/patch-media_base_media__switches.cc b/www/iridium/files/patch-media_base_media__switches.cc
deleted file mode 100644
index ed61b97adc9d..000000000000
--- a/www/iridium/files/patch-media_base_media__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/base/media_switches.cc.orig 2020-03-17 10:01:08 UTC
-+++ media/base/media_switches.cc
-@@ -331,7 +331,7 @@ const base::Feature kFallbackAfterDecodeError{"Fallbac
- const base::Feature kGlobalMediaControls {
- "GlobalMediaControls",
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (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/www/iridium/files/patch-media_base_scopedfd__helper.h b/www/iridium/files/patch-media_base_scopedfd__helper.h
deleted file mode 100644
index 5b097ec108c3..000000000000
--- a/www/iridium/files/patch-media_base_scopedfd__helper.h
+++ /dev/null
@@ -1,23 +0,0 @@
---- media/base/scopedfd_helper.h.orig 2019-09-09 21:55:20 UTC
-+++ media/base/scopedfd_helper.h
-@@ -11,17 +11,17 @@
- namespace media {
-
- // Theoretically, we can test on defined(OS_POSIX) || defined(OS_FUCHSIA), but
--// since the only current user is V4L2 we are limiting the scope to OS_LINUX so
-+// since the only current user is V4L2 we are limiting the scope to OS_LINUX || OS_BSD so
- // the binary size does not inflate on non-using systems. Feel free to adapt
- // this and BUILD.gn as our needs evolve.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-
- // Return a new vector containing duplicates of |fds|, or PCHECKs in case of an
- // error.
- MEDIA_EXPORT std::vector<base::ScopedFD> DuplicateFDs(
- const std::vector<base::ScopedFD>& fds);
-
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
-
- } // namespace media
-
diff --git a/www/iridium/files/patch-media_base_video__frame.cc b/www/iridium/files/patch-media_base_video__frame.cc
deleted file mode 100644
index 430d0f3c5bb5..000000000000
--- a/www/iridium/files/patch-media_base_video__frame.cc
+++ /dev/null
@@ -1,74 +0,0 @@
---- media/base/video_frame.cc.orig 2019-12-16 21:50:49 UTC
-+++ media/base/video_frame.cc
-@@ -57,7 +57,7 @@ std::string VideoFrame::StorageTypeToString(
- return "OWNED_MEMORY";
- case VideoFrame::STORAGE_SHMEM:
- return "SHMEM";
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- case VideoFrame::STORAGE_DMABUFS:
- return "DMABUFS";
- #endif
-@@ -74,7 +74,7 @@ std::string VideoFrame::StorageTypeToString(
- // static
- bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) {
- return
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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 &&
-@@ -257,7 +257,7 @@ static base::Optional<VideoFrameLayout> GetDefaultLayo
- return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes);
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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
-@@ -275,7 +275,7 @@ class VideoFrame::DmabufHolder
- friend class base::RefCountedThreadSafe<DmabufHolder>;
- ~DmabufHolder() = default;
- };
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // static
- bool VideoFrame::IsValidConfig(VideoPixelFormat format,
-@@ -588,7 +588,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM
- return frame;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // static
- scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs(
- const VideoFrameLayout& layout,
-@@ -724,7 +724,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame(
- }
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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_;
-@@ -1050,7 +1050,7 @@ VideoFrame::mailbox_holder(size_t texture_index) const
- : mailbox_holders_[texture_index];
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const {
- DCHECK_EQ(storage_type_, STORAGE_DMABUFS);
-
-@@ -1133,7 +1133,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()),
- #endif
- timestamp_(timestamp),
diff --git a/www/iridium/files/patch-media_base_video__frame.h b/www/iridium/files/patch-media_base_video__frame.h
deleted file mode 100644
index d37ffac67837..000000000000
--- a/www/iridium/files/patch-media_base_video__frame.h
+++ /dev/null
@@ -1,50 +0,0 @@
---- media/base/video_frame.h.orig 2020-03-16 18:40:33 UTC
-+++ media/base/video_frame.h
-@@ -39,9 +39,9 @@
- #include "base/mac/scoped_cftyperef.h"
- #endif // defined(OS_MACOSX)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/scoped_file.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- namespace gfx {
- class GpuMemoryBuffer;
-@@ -80,7 +80,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)
-+#if defined(OS_LINUX) || 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
-@@ -245,7 +245,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte
- ReleaseMailboxCB mailbox_holder_release_cb,
- base::TimeDelta timestamp);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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
-@@ -480,7 +480,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)
-+#if defined(OS_LINUX) || 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
-@@ -662,7 +662,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- class DmabufHolder;
-
- // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either
diff --git a/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc
deleted file mode 100644
index ab3b5a40d144..000000000000
--- a/www/iridium/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 2019-10-21 19:06: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/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc
deleted file mode 100644
index 76d95eebd304..000000000000
--- a/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/fake_video_capture_device_factory.cc.orig 2019-12-16 21:50:49 UTC
-+++ media/capture/video/fake_video_capture_device_factory.cc
-@@ -208,7 +208,7 @@ void FakeVideoCaptureDeviceFactory::GetDeviceDescripto
- for (const auto& entry : devices_config_) {
- device_descriptors->emplace_back(
- base::StringPrintf("fake_device_%d", entry_index), entry.device_id,
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE
- #elif defined(OS_MACOSX)
- VideoCaptureApi::MACOSX_AVFOUNDATION
diff --git a/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc
deleted file mode 100644
index b1cc42128fa5..000000000000
--- a/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/file_video_capture_device_factory.cc.orig 2019-04-30 22:22:52 UTC
-+++ media/capture/video/file_video_capture_device_factory.cc
-@@ -54,7 +54,7 @@ void FileVideoCaptureDeviceFactory::GetDeviceDescripto
- #elif defined(OS_MACOSX)
- command_line_file_path.value(), kFileVideoCaptureDeviceName,
- VideoCaptureApi::MACOSX_AVFOUNDATION
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- command_line_file_path.value(), kFileVideoCaptureDeviceName,
- VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE
- #else
diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
deleted file mode 100644
index 3de31922be93..000000000000
--- a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2019-03-11 22:00:59 UTC
-+++ media/capture/video/linux/v4l2_capture_delegate.cc
-@@ -4,8 +4,10 @@
-
- #include "media/capture/video/linux/v4l2_capture_delegate.h"
-
-+#if !defined(OS_BSD)
- #include <linux/version.h>
- #include <linux/videodev2.h>
-+#endif
- #include <poll.h>
- #include <sys/fcntl.h>
- #include <sys/ioctl.h>
-@@ -24,10 +26,10 @@
-
- using media::mojom::MeteringMode;
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
-+// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
- // 16 bit depth, Realsense F200.
- #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
--#endif
-+// #endif
-
- // TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the
- // format is introduced to kernel.
diff --git a/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc b/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
deleted file mode 100644
index 7dcb8b174ae1..000000000000
--- a/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/capture/video/video_capture_buffer_pool_impl.cc.orig 2019-12-16 21:50:49 UTC
-+++ media/capture/video/video_capture_buffer_pool_impl.cc
-@@ -59,7 +59,7 @@ VideoCaptureBufferPoolImpl::CreateSharedMemoryViaRawFi
- int buffer_id) {
- // This requires platforms where base::SharedMemoryHandle is backed by a
- // file descriptor.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::AutoLock lock(lock_);
-
- VideoCaptureBufferTracker* tracker = GetTracker(buffer_id);
diff --git a/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc b/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc
deleted file mode 100644
index b36124fab651..000000000000
--- a/www/iridium/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 2019-12-16 21:50:49 UTC
-+++ media/capture/video/video_capture_device_client.cc
-@@ -297,7 +297,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- fourcc_format = libyuv::FOURCC_RAW;
- #elif defined(OS_WIN)
- fourcc_format = libyuv::FOURCC_24BG;
diff --git a/www/iridium/files/patch-media_filters_vp9__parser.h b/www/iridium/files/patch-media_filters_vp9__parser.h
deleted file mode 100644
index 5e1f90d692b3..000000000000
--- a/www/iridium/files/patch-media_filters_vp9__parser.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- media/filters/vp9_parser.h.orig 2019-03-11 22:00:59 UTC
-+++ media/filters/vp9_parser.h
-@@ -14,6 +14,7 @@
-
- #include <stddef.h>
- #include <stdint.h>
-+#include <unistd.h>
- #include <sys/types.h>
-
- #include <memory>
diff --git a/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc b/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc
deleted file mode 100644
index 38994431f986..000000000000
--- a/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- media/formats/common/offset_byte_queue.cc.orig 2019-03-11 22:00:59 UTC
-+++ media/formats/common/offset_byte_queue.cc
-@@ -46,13 +46,13 @@ void OffsetByteQueue::PeekAt(int64_t offset, const uin
- *size = tail() - offset;
- }
-
--bool OffsetByteQueue::Trim(int64_t max_offset) {
-- if (max_offset < head_) return true;
-- if (max_offset > tail()) {
-+bool OffsetByteQueue::Trim(int64_t _max_offset) {
-+ if (_max_offset < head_) return true;
-+ if (_max_offset > tail()) {
- Pop(size_);
- return false;
- }
-- Pop(max_offset - head_);
-+ Pop(_max_offset - head_);
- return true;
- }
-
diff --git a/www/iridium/files/patch-media_formats_common_offset__byte__queue.h b/www/iridium/files/patch-media_formats_common_offset__byte__queue.h
deleted file mode 100644
index 659dd9dfe9b3..000000000000
--- a/www/iridium/files/patch-media_formats_common_offset__byte__queue.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- media/formats/common/offset_byte_queue.h.orig 2019-03-11 22:00:59 UTC
-+++ media/formats/common/offset_byte_queue.h
-@@ -36,15 +36,15 @@ class MEDIA_EXPORT OffsetByteQueue {
- // a null |buf| and a |size| of zero.
- void PeekAt(int64_t offset, const uint8_t** buf, int* size);
-
-- // Marks the bytes up to (but not including) |max_offset| as ready for
-+ // Marks the bytes up to (but not including) |_max_offset| as ready for
- // deletion. This is relatively inexpensive, but will not necessarily reduce
- // the resident buffer size right away (or ever).
- //
- // Returns true if the full range of bytes were successfully trimmed,
-- // including the case where |max_offset| is less than the current head.
-- // Returns false if |max_offset| > tail() (although all bytes currently
-+ // including the case where |_max_offset| is less than the current head.
-+ // Returns false if |_max_offset| > tail() (although all bytes currently
- // buffered are still cleared).
-- bool Trim(int64_t max_offset);
-+ bool Trim(int64_t _max_offset);
-
- // The head and tail positions, in terms of the file's absolute offsets.
- // tail() is an exclusive bound.
diff --git a/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc b/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc
deleted file mode 100644
index a9a96b393d53..000000000000
--- a/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/formats/mp2t/es_parser_adts.cc.orig 2019-04-30 22:22:52 UTC
-+++ media/formats/mp2t/es_parser_adts.cc
-@@ -62,11 +62,11 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr
- const uint8_t* es;
- es_queue_->Peek(&es, &es_size);
-
-- int max_offset = es_size - kADTSHeaderMinSize;
-- if (max_offset <= 0)
-+ int _max_offset = es_size - kADTSHeaderMinSize;
-+ 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 (!isAdtsSyncWord(cur_buf))
- continue;
-@@ -106,7 +106,7 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr
- return true;
- }
-
-- es_queue_->Pop(max_offset);
-+ es_queue_->Pop(_max_offset);
- return false;
- }
-
diff --git a/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
deleted file mode 100644
index cd5710c554b0..000000000000
--- a/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc
+++ /dev/null
@@ -1,26 +0,0 @@
---- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2019-03-11 22:00:59 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/www/iridium/files/patch-media_gpu_buffer__validation.cc b/www/iridium/files/patch-media_gpu_buffer__validation.cc
deleted file mode 100644
index 7f3005140bd8..000000000000
--- a/www/iridium/files/patch-media_gpu_buffer__validation.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- media/gpu/buffer_validation.cc.orig 2019-12-17 19:41:51 UTC
-+++ media/gpu/buffer_validation.cc
-@@ -12,15 +12,15 @@
- #include "ui/gfx/geometry/size.h"
- #include "ui/gfx/gpu_memory_buffer.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/types.h>
- #include <unistd.h>
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- namespace media {
-
- bool GetFileSize(const int fd, size_t* size) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (fd < 0) {
- VLOGF(1) << "Invalid file descriptor";
- return false;
-@@ -46,7 +46,7 @@ bool GetFileSize(const int fd, size_t* size) {
- #else
- NOTIMPLEMENTED();
- return false;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- bool VerifyGpuMemoryBufferHandle(media::VideoPixelFormat pixel_format,
-@@ -56,7 +56,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm
- VLOGF(1) << "Unexpected GpuMemoryBufferType: " << gmb_handle.type;
- return false;
- }
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format);
- if (num_planes != gmb_handle.native_pixmap_handle.planes.size() ||
- num_planes == 0) {
-@@ -108,7 +108,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm
- #else
- NOTIMPLEMENTED();
- return false;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- } // namespace media
diff --git a/www/iridium/files/patch-media_media__options.gni b/www/iridium/files/patch-media_media__options.gni
deleted file mode 100644
index f2783c3581d2..000000000000
--- a/www/iridium/files/patch-media_media__options.gni
+++ /dev/null
@@ -1,12 +0,0 @@
---- media/media_options.gni.orig 2020-03-16 18:40:33 UTC
-+++ media/media_options.gni
-@@ -119,6 +119,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/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc b/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc
deleted file mode 100644
index b208560a307d..000000000000
--- a/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/mojo/clients/mojo_video_encode_accelerator.cc.orig 2020-03-16 18:40:33 UTC
-+++ media/mojo/clients/mojo_video_encode_accelerator.cc
-@@ -132,7 +132,7 @@ void MojoVideoEncodeAccelerator::Encode(scoped_refptr<
- frame->layout().num_planes());
- DCHECK(vea_.is_bound());
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // TODO(crbug.com/1003197): Remove this once we stop supporting STORAGE_DMABUF
- // in VideoEncodeAccelerator.
- if (frame->storage_type() == VideoFrame::STORAGE_DMABUFS) {
diff --git a/www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc
deleted file mode 100644
index 46396d067968..000000000000
--- a/www/iridium/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 2020-02-24 18:39:18 UTC
-+++ media/mojo/mojom/video_frame_mojom_traits.cc
-@@ -20,9 +20,9 @@
- #include "ui/gfx/mojom/buffer_types_mojom_traits.h"
- #include "ui/gfx/mojom/color_space_mojom_traits.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/posix/eintr_wrapper.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- namespace mojo {
-
-@@ -60,7 +60,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData(
- mojo_frame->PlaneOffset(media::VideoFrame::kVPlane)));
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) {
- std::vector<mojo::ScopedHandle> dmabuf_fds;
-
-@@ -161,7 +161,7 @@ bool StructTraits<media::mojom::VideoFrameDataView,
- shared_buffer_data.u_offset(), shared_buffer_data.v_offset(),
- shared_buffer_data.y_stride(), shared_buffer_data.u_stride(),
- shared_buffer_data.v_stride(), timestamp);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- } else if (data.is_dmabuf_data()) {
- media::mojom::DmabufVideoFrameDataDataView dmabuf_data;
- data.GetDmabufDataDataView(&dmabuf_data);
diff --git a/www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc b/www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc
deleted file mode 100644
index ea181aa1b1f3..000000000000
--- a/www/iridium/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 2020-03-16 18:40:33 UTC
-+++ media/mojo/services/gpu_mojo_media_client.cc
-@@ -64,7 +64,7 @@ namespace media {
- namespace {
-
- #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
-- 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,
-@@ -263,7 +263,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::Crea
- command_buffer_id->route_id));
- }
-
--#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
-+#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- video_decoder = VdaVideoDecoder::Create(
- task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
- gpu_preferences_, gpu_workarounds_,
diff --git a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc
deleted file mode 100644
index 684c9adbd4b4..000000000000
--- a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- media/video/fake_gpu_memory_buffer.cc.orig 2019-12-17 19:43:52 UTC
-+++ media/video/fake_gpu_memory_buffer.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <fcntl.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-@@ -44,7 +44,7 @@ class FakeGpuMemoryBufferImpl : public gpu::GpuMemoryB
-
- } // namespace
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::ScopedFD GetDummyFD() {
- base::ScopedFD fd(open("/dev/zero", O_RDWR));
- DCHECK(fd.is_valid());
-@@ -67,7 +67,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si
- // Set a dummy id since this is for testing only.
- handle_.id = gfx::GpuMemoryBufferId(0);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Set a dummy fd since this is for testing only.
- handle_.native_pixmap_handle.planes.push_back(
- gfx::NativePixmapPlane(size_.width(), 0, y_plane_size, GetDummyFD()));
-@@ -76,7 +76,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si
- size_.width(), handle_.native_pixmap_handle.planes[0].size,
- uv_plane_size, GetDummyFD()));
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- FakeGpuMemoryBuffer::~FakeGpuMemoryBuffer() = default;
-@@ -135,7 +135,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH
- gfx::GpuMemoryBufferHandle handle;
- handle.type = gfx::NATIVE_PIXMAP;
- handle.id = handle_.id;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- handle.native_pixmap_handle =
- gfx::CloneHandleForIPC(handle_.native_pixmap_handle);
- #endif
diff --git a/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc
deleted file mode 100644
index 3941ed5af217..000000000000
--- a/www/iridium/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 2020-02-03 21:53:32 UTC
-+++ media/video/gpu_memory_buffer_video_frame_pool.cc
-@@ -572,7 +572,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa
- }
-
- bool is_software_backed_video_frame = !video_frame->HasTextures();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- is_software_backed_video_frame &= !video_frame->HasDmaBufs();
- #endif
-
diff --git a/www/iridium/files/patch-media_webrtc_webrtc__switches.cc b/www/iridium/files/patch-media_webrtc_webrtc__switches.cc
deleted file mode 100644
index 68078dc67afd..000000000000
--- a/www/iridium/files/patch-media_webrtc_webrtc__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- media/webrtc/webrtc_switches.cc.orig 2020-02-03 21:52:48 UTC
-+++ media/webrtc/webrtc_switches.cc
-@@ -50,7 +50,7 @@ namespace media {
-
- bool IsWebRtcApmInAudioServiceEnabled() {
- #if defined(OS_WIN) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return base::FeatureList::IsEnabled(features::kWebRtcApmInAudioService) &&
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kForceDisableWebRtcApmInAudioService);
diff --git a/www/iridium/files/patch-mojo_public_c_system_thunks.cc b/www/iridium/files/patch-mojo_public_c_system_thunks.cc
deleted file mode 100644
index dec03d588689..000000000000
--- a/www/iridium/files/patch-mojo_public_c_system_thunks.cc
+++ /dev/null
@@ -1,49 +0,0 @@
---- mojo/public/c/system/thunks.cc.orig 2020-02-03 21:52:48 UTC
-+++ mojo/public/c/system/thunks.cc
-@@ -15,7 +15,7 @@
- #include "build/build_config.h"
- #include "mojo/public/c/system/core.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 "base/environment.h"
- #include "base/files/file_path.h"
- #include "base/optional.h"
-@@ -58,7 +58,7 @@ namespace mojo {
- class CoreLibraryInitializer {
- public:
- CoreLibraryInitializer(const MojoInitializeOptions* options) {
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- bool application_provided_path = false;
- base::Optional<base::FilePath> library_path;
- if (options && options->struct_size >= sizeof(*options) &&
-@@ -77,7 +77,7 @@ class CoreLibraryInitializer {
-
- if (!library_path) {
- // Default to looking for the library in the current working directory.
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- const base::FilePath::CharType kDefaultLibraryPathValue[] =
- FILE_PATH_LITERAL("./libmojo_core.so");
- #elif defined(OS_WIN)
-@@ -127,16 +127,16 @@ class CoreLibraryInitializer {
-
- CHECK_GT(g_thunks.size, 0u)
- << "Invalid mojo_core library: " << library_path->value();
--#else // defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- NOTREACHED()
- << "Dynamic mojo_core loading is not supported on this platform.";
--#endif // defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- }
-
- ~CoreLibraryInitializer() = default;
-
- private:
--#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- base::Optional<base::ScopedNativeLibrary> library_;
- #endif
-
diff --git a/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd b/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd
deleted file mode 100644
index b0970950923b..000000000000
--- a/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- mojo/public/js/mojo_bindings_resources.grd.orig 2020-03-16 18:39:53 UTC
-+++ mojo/public/js/mojo_bindings_resources.grd
-@@ -70,7 +70,7 @@
- use_base_dir="false"
- type="BINDATA"
- compress="gzip" />
-- <if expr="is_win or is_macosx or is_linux">
-+ <if expr="is_win or is_macosx or is_posix">
- <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/www/iridium/files/patch-net_BUILD.gn b/www/iridium/files/patch-net_BUILD.gn
deleted file mode 100644
index 2696770beb1c..000000000000
--- a/www/iridium/files/patch-net_BUILD.gn
+++ /dev/null
@@ -1,46 +0,0 @@
---- net/BUILD.gn.orig 2020-03-16 18:40:33 UTC
-+++ net/BUILD.gn
-@@ -103,7 +103,7 @@ net_configs = [
- "//build/config/compiler:wexit_time_destructors",
- ]
-
--if (is_linux) {
-+if (is_linux && !is_bsd) {
- net_configs += [ "//build/config/linux:libresolv" ]
- }
-
-@@ -1247,6 +1247,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",
-@@ -1373,7 +1383,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",
-@@ -1406,7 +1416,7 @@ component("net") {
- }
-
- # Use getifaddrs() on POSIX platforms, except Linux and Android.
-- if (is_posix && !is_linux && !is_android) {
-+ if (is_posix && ((!is_linux && !is_android) || (is_bsd))) {
- sources += [
- "base/network_interfaces_getifaddrs.cc",
- "base/network_interfaces_getifaddrs.h",
diff --git a/www/iridium/files/patch-net_base_address__tracker__linux.cc b/www/iridium/files/patch-net_base_address__tracker__linux.cc
deleted file mode 100644
index 01047dcf1d20..000000000000
--- a/www/iridium/files/patch-net_base_address__tracker__linux.cc
+++ /dev/null
@@ -1,88 +0,0 @@
---- net/base/address_tracker_linux.cc.orig 2020-03-03 18:53:55 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>
-@@ -177,6 +179,7 @@ AddressTrackerLinux::AddressTrackerLinux(
- AddressTrackerLinux::~AddressTrackerLinux() = default;
-
- void AddressTrackerLinux::Init() {
-+#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";
-@@ -272,6 +275,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_;
-@@ -290,6 +294,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() {
-@@ -348,6 +353,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|.
-@@ -460,6 +466,10 @@ void AddressTrackerLinux::HandleMessage(const char* bu
- break;
- }
- }
-+#else // !OS_FREEBSD
-+ NOTIMPLEMENTED();
-+ AbortAndForceOnline();
-+#endif // !OS_FREEBSD
- }
-
- void AddressTrackerLinux::OnFileCanReadWithoutBlocking() {
-@@ -487,31 +497,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const
- }
-
- void AddressTrackerLinux::UpdateCurrentConnectionType() {
-- AddressTrackerLinux::AddressMap address_map = GetAddressMap();
-- std::unordered_set<int> online_links = GetOnlineLinks();
--
-- // Strip out tunnel interfaces from online_links
-- for (auto it = online_links.cbegin(); it != online_links.cend();) {
-- if (IsTunnelInterface(*it)) {
-- it = online_links.erase(it);
-- } else {
-- ++it;
-- }
-- }
--
-- NetworkInterfaceList networks;
-- NetworkChangeNotifier::ConnectionType type =
-- NetworkChangeNotifier::CONNECTION_NONE;
-- if (GetNetworkListImpl(&networks, 0, online_links, address_map,
-- get_interface_name_)) {
-- type = NetworkChangeNotifier::ConnectionTypeFromInterfaceList(networks);
-- } else {
-- type = online_links.empty() ? NetworkChangeNotifier::CONNECTION_NONE
-- : NetworkChangeNotifier::CONNECTION_UNKNOWN;
-- }
--
-- AddressTrackerAutoLock lock(*this, connection_type_lock_);
-- current_connection_type_ = type;
-+ NOTIMPLEMENTED();
- }
-
- int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() {
diff --git a/www/iridium/files/patch-net_base_address__tracker__linux.h b/www/iridium/files/patch-net_base_address__tracker__linux.h
deleted file mode 100644
index 50b6ecbc20fb..000000000000
--- a/www/iridium/files/patch-net_base_address__tracker__linux.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- net/base/address_tracker_linux.h.orig 2019-03-11 22:01:00 UTC
-+++ net/base/address_tracker_linux.h
-@@ -7,9 +7,6 @@
-
- #include <sys/socket.h> // Needed to include netlink.
- // Mask superfluous definition of |struct net|. This is fixed in Linux 2.6.38.
--#define net net_kernel
--#include <linux/rtnetlink.h>
--#undef net
- #include <stddef.h>
-
- #include <map>
diff --git a/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc b/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc
deleted file mode 100644
index 58a442e0f159..000000000000
--- a/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- net/base/address_tracker_linux_unittest.cc.orig 2019-03-11 22:01:00 UTC
-+++ net/base/address_tracker_linux_unittest.cc
-@@ -4,7 +4,11 @@
-
- #include "net/base/address_tracker_linux.h"
-
-+#if defined(__linux__)
- #include <linux/if.h>
-+#else
-+#include <net/if.h>
-+#endif
-
- #include <memory>
- #include <unordered_set>
diff --git a/www/iridium/files/patch-net_base_features.cc b/www/iridium/files/patch-net_base_features.cc
deleted file mode 100644
index 306de5e6d980..000000000000
--- a/www/iridium/files/patch-net_base_features.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/base/features.cc.orig 2020-03-17 10:02:15 UTC
-+++ net/base/features.cc
-@@ -88,7 +88,7 @@ const base::FeatureParam<int>
- #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
- const base::Feature kCertVerifierBuiltinFeature {
- "CertVerifierBuiltin",
--#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD)
- base::FEATURE_ENABLED_BY_DEFAULT
- #else
- base::FEATURE_DISABLED_BY_DEFAULT
diff --git a/www/iridium/files/patch-net_base_network__change__notifier.cc b/www/iridium/files/patch-net_base_network__change__notifier.cc
deleted file mode 100644
index b570610a6483..000000000000
--- a/www/iridium/files/patch-net_base_network__change__notifier.cc
+++ /dev/null
@@ -1,28 +0,0 @@
---- net/base/network_change_notifier.cc.orig 2020-02-03 21:52:49 UTC
-+++ net/base/network_change_notifier.cc
-@@ -35,7 +35,7 @@
- #include "net/base/network_change_notifier_linux.h"
- #elif defined(OS_MACOSX)
- #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"
-@@ -229,7 +229,7 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
- // service in a separate process.
- return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
- initial_subtype);
--#elif defined(OS_CHROMEOS)
-+#elif defined(OS_CHROMEOS) || defined(OS_BSD)
- return std::make_unique<NetworkChangeNotifierPosix>(initial_type,
- initial_subtype);
- #elif defined(OS_LINUX)
-@@ -241,7 +241,6 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo
- return std::make_unique<NetworkChangeNotifierFuchsia>(
- 0 /* required_features */);
- #else
-- NOTIMPLEMENTED();
- return NULL;
- #endif
- }
diff --git a/www/iridium/files/patch-net_base_network__interfaces__posix.h b/www/iridium/files/patch-net_base_network__interfaces__posix.h
deleted file mode 100644
index 44b17ad3eafa..000000000000
--- a/www/iridium/files/patch-net_base_network__interfaces__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/base/network_interfaces_posix.h.orig 2019-03-11 22:01:00 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/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h b/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h
deleted file mode 100644
index 655e5cca978c..000000000000
--- a/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- net/disk_cache/blockfile/disk_format.h.orig 2019-03-11 22:01:01 UTC
-+++ net/disk_cache/blockfile/disk_format.h
-@@ -149,7 +149,9 @@ struct RankingsNode {
- };
- #pragma pack(pop)
-
-+#if !defined(OS_BSD)
- static_assert(sizeof(RankingsNode) == 36, "bad RankingsNode");
-+#endif
-
- } // namespace disk_cache
-
diff --git a/www/iridium/files/patch-net_dns_address__sorter__posix.cc b/www/iridium/files/patch-net_dns_address__sorter__posix.cc
deleted file mode 100644
index f462de801f4a..000000000000
--- a/www/iridium/files/patch-net_dns_address__sorter__posix.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- net/dns/address_sorter_posix.cc.orig 2019-03-11 22:01:01 UTC
-+++ net/dns/address_sorter_posix.cc
-@@ -13,7 +13,9 @@
- #include <sys/socket.h> // Must be included before ifaddrs.h.
- #include <ifaddrs.h>
- #include <net/if.h>
-+#include <net/if_var.h>
- #include <netinet/in_var.h>
-+#include <netinet6/in6_var.h>
- #include <string.h>
- #include <sys/ioctl.h>
- #endif
diff --git a/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc b/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc
deleted file mode 100644
index 21bd683f8187..000000000000
--- a/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- net/dns/dns_config_service_posix_unittest.cc.orig 2019-06-04 18:55:27 UTC
-+++ net/dns/dns_config_service_posix_unittest.cc
-@@ -2,8 +2,6 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
--#include <resolv.h>
--
- #include <memory>
-
- #include "base/cancelable_callback.h"
-@@ -50,7 +48,7 @@ const char* const kNameserversIPv4[] = {
- "1.0.0.1",
- };
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const char* const kNameserversIPv6[] = {
- NULL,
- "2001:DB8:0::42",
-@@ -86,7 +84,7 @@ void InitializeResState(res_state res) {
- ++res->nscount;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Install IPv6 addresses, replacing the corresponding IPv4 addresses.
- unsigned nscount6 = 0;
- for (unsigned i = 0; i < base::size(kNameserversIPv6) && i < MAXNS; ++i) {
-@@ -107,7 +105,7 @@ void InitializeResState(res_state res) {
- }
-
- void CloseResState(res_state res) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- for (int i = 0; i < res->nscount; ++i) {
- if (res->_u._ext.nsaddrs[i] != NULL)
- free(res->_u._ext.nsaddrs[i]);
-@@ -132,7 +130,7 @@ void InitializeExpectedConfig(DnsConfig* config) {
- config->nameservers.push_back(IPEndPoint(ip, NS_DEFAULTPORT + i));
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- for (unsigned i = 0; i < base::size(kNameserversIPv6) && i < MAXNS; ++i) {
- if (!kNameserversIPv6[i])
- continue;
diff --git a/www/iridium/files/patch-net_dns_dns__reloader.cc b/www/iridium/files/patch-net_dns_dns__reloader.cc
deleted file mode 100644
index 34eb7a2e01ca..000000000000
--- a/www/iridium/files/patch-net_dns_dns__reloader.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- net/dns/dns_reloader.cc.orig 2019-03-11 22:01:01 UTC
-+++ net/dns/dns_reloader.cc
-@@ -7,6 +7,10 @@
- #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
- !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
-
-+#if defined(OS_FREEBSD)
-+#include <netinet/in.h>
-+#endif
-+
- #include <resolv.h>
-
- #include "base/lazy_instance.h"
diff --git a/www/iridium/files/patch-net_dns_dns__util.cc b/www/iridium/files/patch-net_dns_dns__util.cc
deleted file mode 100644
index be75a59fbd52..000000000000
--- a/www/iridium/files/patch-net_dns_dns__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/dns_util.cc.orig 2019-10-21 19:06:38 UTC
-+++ net/dns/dns_util.cc
-@@ -38,6 +38,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/www/iridium/files/patch-net_dns_host__resolver__proc.cc b/www/iridium/files/patch-net_dns_host__resolver__proc.cc
deleted file mode 100644
index 752211dde398..000000000000
--- a/www/iridium/files/patch-net_dns_host__resolver__proc.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/dns/host_resolver_proc.cc.orig 2020-02-03 21:52:49 UTC
-+++ net/dns/host_resolver_proc.cc
-@@ -159,7 +159,7 @@ int SystemHostResolverCall(const std::string& host,
- base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
- base::BlockingType::WILL_BLOCK);
-
--#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \
-+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) && \
- !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
- DnsReloaderMaybeReload();
- #endif
diff --git a/www/iridium/files/patch-net_features.gni b/www/iridium/files/patch-net_features.gni
deleted file mode 100644
index cb5adcfbf764..000000000000
--- a/www/iridium/files/patch-net_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/features.gni.orig 2019-09-09 21:55:21 UTC
-+++ net/features.gni
-@@ -23,7 +23,7 @@ declare_args() {
- disable_brotli_filter = false
-
- # Multicast DNS.
-- enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios
-+ enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios || is_bsd
-
- # Reporting not used on iOS.
- enable_reporting = !is_ios
diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc
deleted file mode 100644
index f4c603544da0..000000000000
--- a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- net/http/http_auth_gssapi_posix.cc.orig 2020-02-03 21:52:49 UTC
-+++ net/http/http_auth_gssapi_posix.cc
-@@ -367,8 +367,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib
- static const char* const kDefaultLibraryNames[] = {
- #if defined(OS_MACOSX)
- "/System/Library/Frameworks/GSS.framework/GSS"
--#elif defined(OS_OPENBSD)
-- "libgssapi.so" // Heimdal - OpenBSD
-+#elif defined(OS_BSD)
-+ "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD
-+ "libgssapi.so" // Heimdal - OpenBSD, FreeBSD
- #else
- "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian
- "libgssapi.so.4", // Heimdal - Suse10, MDK
diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h
deleted file mode 100644
index e333287758ee..000000000000
--- a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- net/http/http_auth_gssapi_posix.h.orig 2019-09-09 21:55:21 UTC
-+++ net/http/http_auth_gssapi_posix.h
-@@ -21,6 +21,9 @@
- #include <GSS/gssapi.h>
- #elif defined(OS_FREEBSD)
- #include <gssapi/gssapi.h>
-+#ifndef GSS_C_DELEG_POLICY_FLAG
-+#define GSS_C_DELEG_POLICY_FLAG 32768
-+#endif
- #else
- #include <gssapi.h>
- #endif
diff --git a/www/iridium/files/patch-net_nqe_network__quality__estimator.cc b/www/iridium/files/patch-net_nqe_network__quality__estimator.cc
deleted file mode 100644
index e23051d78497..000000000000
--- a/www/iridium/files/patch-net_nqe_network__quality__estimator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/nqe/network_quality_estimator.cc.orig 2020-03-16 18:40:33 UTC
-+++ net/nqe/network_quality_estimator.cc
-@@ -100,7 +100,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_WIN)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- network_id.id = GetWifiSSID();
- #endif
- break;
diff --git a/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc b/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc
deleted file mode 100644
index 6851ab0d6bc3..000000000000
--- a/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/nqe/network_quality_estimator_unittest.cc.orig 2020-03-16 18:39:54 UTC
-+++ net/nqe/network_quality_estimator_unittest.cc
-@@ -2107,7 +2107,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/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
deleted file mode 100644
index cd644766442f..000000000000
--- a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2020-03-16 18:40:33 UTC
-+++ net/proxy_resolution/proxy_config_service_linux.cc
-@@ -6,7 +6,9 @@
-
- #include <errno.h>
- #include <limits.h>
-+#if !defined(OS_BSD)
- #include <sys/inotify.h>
-+#endif
- #include <unistd.h>
-
- #include <map>
-@@ -511,6 +513,7 @@ int StringToIntOrDefault(base::StringPiece value, int
- return default_value;
- }
-
-+#if !defined(OS_BSD)
- // This is the KDE version that reads kioslaverc and simulates gsettings.
- // Doing this allows the main Delegate code, as well as the unit tests
- // for it, to stay the same - and the settings map fairly well besides.
-@@ -1000,6 +1003,7 @@ class SettingGetterImplKDE : public ProxyConfigService
-
- DISALLOW_COPY_AND_ASSIGN(SettingGetterImplKDE);
- };
-+#endif
-
- } // namespace
-
-@@ -1214,8 +1218,10 @@ ProxyConfigServiceLinux::Delegate::Delegate(
- case base::nix::DESKTOP_ENVIRONMENT_KDE3:
- case base::nix::DESKTOP_ENVIRONMENT_KDE4:
- case base::nix::DESKTOP_ENVIRONMENT_KDE5:
-+#if !defined(OS_BSD)
- setting_getter_.reset(new SettingGetterImplKDE(env_var_getter_.get()));
- break;
-+#endif
- case base::nix::DESKTOP_ENVIRONMENT_XFCE:
- case base::nix::DESKTOP_ENVIRONMENT_OTHER:
- break;
diff --git a/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc
deleted file mode 100644
index ef8a51424888..000000000000
--- a/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- net/proxy_resolution/proxy_resolution_service.cc.orig 2020-02-03 21:52:49 UTC
-+++ net/proxy_resolution/proxy_resolution_service.cc
-@@ -49,7 +49,7 @@
- #elif defined(OS_MACOSX)
- #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_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
- #include "net/proxy_resolution/proxy_config_service_linux.h"
- #elif defined(OS_ANDROID)
- #include "net/proxy_resolution/proxy_config_service_android.h"
-@@ -63,7 +63,7 @@ namespace net {
- namespace {
-
- #if defined(OS_WIN) || defined(OS_IOS) || defined(OS_MACOSX) || \
-- (defined(OS_LINUX) && !defined(OS_CHROMEOS))
-+ ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS))
- constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation =
- net::DefineNetworkTrafficAnnotation("proxy_config_system", R"(
- semantics {
-@@ -1556,7 +1556,7 @@ ProxyResolutionService::CreateSystemProxyConfigService
- << "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/www/iridium/files/patch-net_socket_socket__posix.cc b/www/iridium/files/patch-net_socket_socket__posix.cc
deleted file mode 100644
index 6b1297662465..000000000000
--- a/www/iridium/files/patch-net_socket_socket__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/socket_posix.cc.orig 2019-12-16 21:51:27 UTC
-+++ net/socket/socket_posix.cc
-@@ -517,7 +517,7 @@ void SocketPosix::ReadCompleted() {
- }
-
- int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) {
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // Disable SIGPIPE for this write. Although Chromium globally disables
- // SIGPIPE, the net stack may be used in other consumers which do not do
- // this. MSG_NOSIGNAL is a Linux-only API. On OS X, this is a setsockopt on
diff --git a/www/iridium/files/patch-net_socket_socks5__client__socket.cc b/www/iridium/files/patch-net_socket_socks5__client__socket.cc
deleted file mode 100644
index 1df3deefc418..000000000000
--- a/www/iridium/files/patch-net_socket_socks5__client__socket.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- net/socket/socks5_client_socket.cc.orig 2019-04-30 22:22:55 UTC
-+++ net/socket/socks5_client_socket.cc
-@@ -4,6 +4,10 @@
-
- #include "net/socket/socks5_client_socket.h"
-
-+#if defined(OS_BSD)
-+#include <netinet/in.h>
-+#endif
-+
- #include <utility>
-
- #include "base/bind.h"
diff --git a/www/iridium/files/patch-net_socket_tcp__socket__posix.cc b/www/iridium/files/patch-net_socket_tcp__socket__posix.cc
deleted file mode 100644
index d2a7091eac8d..000000000000
--- a/www/iridium/files/patch-net_socket_tcp__socket__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/socket/tcp_socket_posix.cc.orig 2019-03-17 15:46:01 UTC
-+++ net/socket/tcp_socket_posix.cc
-@@ -88,6 +88,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) {
- PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd;
- return false;
- }
-+#elif defined(OS_BSD)
-+ // Set seconds until first TCP keep alive.
-+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) {
-+ PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd;
-+ return false;
-+ }
-+ // Set seconds between TCP keep alives.
-+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) {
-+ PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd;
-+ return false;
-+ }
- #endif
- return true;
- }
diff --git a/www/iridium/files/patch-net_socket_udp__socket__posix.cc b/www/iridium/files/patch-net_socket_udp__socket__posix.cc
deleted file mode 100644
index c0cfba258179..000000000000
--- a/www/iridium/files/patch-net_socket_udp__socket__posix.cc
+++ /dev/null
@@ -1,108 +0,0 @@
---- net/socket/udp_socket_posix.cc.orig 2019-09-09 21:55:22 UTC
-+++ net/socket/udp_socket_posix.cc
-@@ -69,7 +69,7 @@ const int kActivityMonitorMinimumSamplesForThroughputE
- const base::TimeDelta kActivityMonitorMsThreshold =
- base::TimeDelta::FromMilliseconds(100);
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // When enabling multicast using setsockopt(IP_MULTICAST_IF) MacOS
- // requires passing IPv4 address instead of interface index. This function
- // resolves IPv4 address by interface index. The |address| is returned in
-@@ -98,7 +98,7 @@ int GetIPv4AddressFromIndex(int socket, uint32_t index
- return OK;
- }
-
--#endif // OS_MACOSX
-+#endif // OS_MACOSX || OS_BSD
-
- #if defined(OS_MACOSX) && !defined(OS_IOS)
-
-@@ -644,13 +644,13 @@ int UDPSocketPosix::SetDoNotFragment() {
- }
-
- void UDPSocketPosix::SetMsgConfirm(bool confirm) {
--#if !defined(OS_MACOSX) && !defined(OS_IOS)
-+#if !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD)
- if (confirm) {
- sendto_flags_ |= MSG_CONFIRM;
- } else {
- sendto_flags_ &= ~MSG_CONFIRM;
- }
--#endif // !defined(OS_MACOSX) && !defined(OS_IOS)
-+#endif // !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD)
- }
-
- int UDPSocketPosix::AllowAddressReuse() {
-@@ -665,17 +665,20 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) {
- DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
- int value = broadcast ? 1 : 0;
- int rv;
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // SO_REUSEPORT on OSX permits multiple processes to each receive
- // UDP multicast or broadcast datagrams destined for the bound
- // port.
- // This is only being set on OSX because its behavior is platform dependent
- // and we are playing it safe by only setting it on platforms where things
- // break.
-+ rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value));
-+ if (rv != 0)
-+ return MapSystemError(errno);
- rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(value));
- if (rv != 0)
- return MapSystemError(errno);
--#endif // defined(OS_MACOSX)
-+#endif // defined(OS_MACOSX) || defined(OS_BSD)
- rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value));
-
- return rv == 0 ? OK : MapSystemError(errno);
-@@ -935,7 +938,7 @@ int UDPSocketPosix::SetMulticastOptions() {
- if (multicast_interface_ != 0) {
- switch (addr_family_) {
- case AF_INET: {
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- ip_mreq mreq = {};
- int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
- &mreq.imr_interface.s_addr);
-@@ -947,7 +950,11 @@ int UDPSocketPosix::SetMulticastOptions() {
- mreq.imr_address.s_addr = htonl(INADDR_ANY);
- #endif // !defined(OS_MACOSX)
- int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF,
-+#if defined(OS_BSD)
-+ reinterpret_cast<const char*>(&mreq.imr_interface.s_addr), sizeof(mreq.imr_interface.s_addr));
-+#else
- reinterpret_cast<const char*>(&mreq), sizeof(mreq));
-+#endif
- if (rv)
- return MapSystemError(errno);
- break;
-@@ -1009,7 +1016,7 @@ int UDPSocketPosix::JoinGroup(const IPAddress& group_a
- if (addr_family_ != AF_INET)
- return ERR_ADDRESS_INVALID;
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- ip_mreq mreq = {};
- int error = GetIPv4AddressFromIndex(socket_, multicast_interface_,
- &mreq.imr_interface.s_addr);
-@@ -1057,9 +1064,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/www/iridium/files/patch-net_socket_udp__socket__posix.h b/www/iridium/files/patch-net_socket_udp__socket__posix.h
deleted file mode 100644
index 373c468ca84d..000000000000
--- a/www/iridium/files/patch-net_socket_udp__socket__posix.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/udp_socket_posix.h.orig 2019-06-07 19:57:25 UTC
-+++ net/socket/udp_socket_posix.h
-@@ -33,7 +33,7 @@
-
- #if defined(__ANDROID__) && defined(__aarch64__)
- #define HAVE_SENDMMSG 1
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #define HAVE_SENDMMSG 1
- #else
- #define HAVE_SENDMMSG 0
diff --git a/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc b/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc
deleted file mode 100644
index 9f9ad02d0d9c..000000000000
--- a/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/socket/unix_domain_client_socket_posix.cc.orig 2019-06-07 19:59:03 UTC
-+++ net/socket/unix_domain_client_socket_posix.cc
-@@ -56,7 +56,7 @@ bool UnixDomainClientSocket::FillAddress(const std::st
- return true;
- }
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- // Convert the path given into abstract socket name. It must start with
- // the '\0' character, so we are adding it. |addr_len| must specify the
- // length of the structure exactly, as potentially the socket name may
diff --git a/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
deleted file mode 100644
index 3e87bd2fcfd9..000000000000
--- a/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2020-03-16 18:39:54 UTC
-+++ net/tools/cert_verify_tool/cert_verify_tool.cc
-@@ -29,7 +29,7 @@
- #include "net/url_request/url_request_context_builder.h"
- #include "net/url_request/url_request_context_getter.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "net/proxy_resolution/proxy_config.h"
- #include "net/proxy_resolution/proxy_config_service_fixed.h"
- #endif
-@@ -51,7 +51,7 @@ void SetUpOnNetworkThread(
- base::WaitableEvent* initialization_complete_event) {
- net::URLRequestContextBuilder url_request_context_builder;
- url_request_context_builder.set_user_agent(GetUserAgent());
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On Linux, use a fixed ProxyConfigService, since the default one
- // depends on glib.
- //
diff --git a/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc b/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc
deleted file mode 100644
index 65d641ec320d..000000000000
--- a/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/tools/quic/quic_http_proxy_backend.cc.orig 2019-10-21 19:06:39 UTC
-+++ net/tools/quic/quic_http_proxy_backend.cc
-@@ -161,7 +161,7 @@ void QuicHttpProxyBackend::InitializeURLRequestContext
- // Enable HTTP2, but disable QUIC on the backend
- context_builder.SetSpdyAndQuicEnabled(true /* http2 */, false /* quic */);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On Linux, use a fixed ProxyConfigService, since the default one
- // depends on glib.
- context_builder.set_proxy_config_service(
diff --git a/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h
deleted file mode 100644
index 7f70fcc54ea6..000000000000
--- a/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- net/traffic_annotation/network_traffic_annotation.h.orig 2019-09-16 09:58:42 UTC
-+++ net/traffic_annotation/network_traffic_annotation.h
-@@ -356,7 +356,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
-@@ -367,7 +367,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/www/iridium/files/patch-net_url__request_url__fetcher.cc b/www/iridium/files/patch-net_url__request_url__fetcher.cc
deleted file mode 100644
index 36e2fa9c37e2..000000000000
--- a/www/iridium/files/patch-net_url__request_url__fetcher.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.cc.orig 2019-10-30 16:19:14 UTC
-+++ net/url_request/url_fetcher.cc
-@@ -11,7 +11,7 @@ namespace net {
-
- URLFetcher::~URLFetcher() = default;
-
--#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/www/iridium/files/patch-net_url__request_url__fetcher.h b/www/iridium/files/patch-net_url__request_url__fetcher.h
deleted file mode 100644
index bd4fbd669d4c..000000000000
--- a/www/iridium/files/patch-net_url__request_url__fetcher.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_fetcher.h.orig 2019-10-30 16:19:33 UTC
-+++ net/url_request/url_fetcher.h
-@@ -113,7 +113,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/www/iridium/files/patch-net_url__request_url__request__context.cc b/www/iridium/files/patch-net_url__request_url__request__context.cc
deleted file mode 100644
index fd2e091f9f61..000000000000
--- a/www/iridium/files/patch-net_url__request_url__request__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_request_context.cc.orig 2020-03-16 18:39:54 UTC
-+++ net/url_request/url_request_context.cc
-@@ -89,7 +89,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/www/iridium/files/patch-net_url__request_url__request__context.h b/www/iridium/files/patch-net_url__request_url__request__context.h
deleted file mode 100644
index cc9af1e29180..000000000000
--- a/www/iridium/files/patch-net_url__request_url__request__context.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/url_request/url_request_context.h.orig 2020-03-16 18:40:33 UTC
-+++ net/url_request/url_request_context.h
-@@ -82,7 +82,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/www/iridium/files/patch-net_url__request_url__request__context__builder.cc b/www/iridium/files/patch-net_url__request_url__request__context__builder.cc
deleted file mode 100644
index 0144efb4a529..000000000000
--- a/www/iridium/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 2020-03-16 18:40:33 UTC
-+++ net/url_request/url_request_context_builder.cc
-@@ -507,7 +507,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
- }
-
- if (!proxy_resolution_service_) {
--#if !defined(OS_LINUX) && !defined(OS_ANDROID)
-+#if !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- // TODO(willchan): Switch to using this code when
- // ProxyResolutionService::CreateSystemProxyConfigService()'s signature
- // doesn't suck.
-@@ -516,7 +516,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu
- ProxyResolutionService::CreateSystemProxyConfigService(
- base::ThreadTaskRunnerHandle::Get().get());
- }
--#endif // !defined(OS_LINUX) && !defined(OS_ANDROID)
-+#endif // !defined(OS_LINUX) && !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/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc
deleted file mode 100644
index c1b3c3d2c8a3..000000000000
--- a/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc
+++ /dev/null
@@ -1,56 +0,0 @@
---- pdf/pdfium/pdfium_engine.cc.orig 2020-03-16 18:40:33 UTC
-+++ pdf/pdfium/pdfium_engine.cc
-@@ -52,7 +52,7 @@
- #include "ui/gfx/geometry/rect.h"
- #include "v8/include/v8.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "pdf/pdfium/pdfium_font_linux.h"
- #endif
-
-@@ -377,7 +377,7 @@ void InitializeSDK(bool enable_v8) {
- config.m_v8EmbedderSlot = gin::kEmbedderPDFium;
- FPDF_InitLibraryWithConfig(&config);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- InitializeLinuxFontMapper();
- #endif
-
-@@ -411,7 +411,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client,
- IFSDK_PAUSE::user = nullptr;
- IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // PreviewModeClient does not know its pp::Instance.
- SetLastInstance(client_->GetPluginInstance());
- #endif
-@@ -878,7 +878,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf(
-
- KillFormFocus();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
-
-@@ -2861,7 +2861,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index
- DCHECK(image_data);
-
- last_progressive_start_time_ = base::Time::Now();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
-
-@@ -3357,7 +3357,7 @@ void PDFiumEngine::SetCurrentPage(int index) {
- FORM_DoPageAAction(old_page, form(), FPDFPAGE_AACTION_CLOSE);
- }
- most_visible_page_ = index;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SetLastInstance(client_->GetPluginInstance());
- #endif
- if (most_visible_page_ != -1 && called_do_document_action_) {
diff --git a/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc b/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc
deleted file mode 100644
index bd63ba366842..000000000000
--- a/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- ppapi/proxy/file_io_resource.cc.orig 2020-03-16 18:39:54 UTC
-+++ ppapi/proxy/file_io_resource.cc
-@@ -284,17 +284,19 @@ int32_t FileIOResource::Write(int64_t offset,
-
- if (check_quota_) {
- int64_t increase = 0;
-- uint64_t max_offset = 0;
-+ uint64_t _max_offset = 0;
-+ // (rene) avoid name collission with /usr/include/vm/vm_map.h on FreeBSD
-+ // which also defines max_offset
- bool append = (open_flags_ & PP_FILEOPENFLAG_APPEND) != 0;
- if (append) {
- increase = bytes_to_write;
- } else {
-- uint64_t max_offset = offset + bytes_to_write;
-- if (max_offset >
-+ uint64_t _max_offset = offset + bytes_to_write;
-+ if (_max_offset >
- static_cast<uint64_t>(std::numeric_limits<int64_t>::max())) {
- return PP_ERROR_FAILED; // amount calculation would overflow.
- }
-- increase = static_cast<int64_t>(max_offset) - max_written_offset_;
-+ increase = static_cast<int64_t>(_max_offset) - max_written_offset_;
- }
-
- if (increase > 0) {
-@@ -318,7 +320,7 @@ int32_t FileIOResource::Write(int64_t offset,
- if (append)
- append_mode_write_amount_ += bytes_to_write;
- else
-- max_written_offset_ = max_offset;
-+ max_written_offset_ = _max_offset;
- }
- }
- return WriteValidated(offset, buffer, bytes_to_write, callback);
-@@ -594,9 +596,9 @@ void FileIOResource::OnRequestWriteQuotaComplete(
- } else {
- DCHECK_LE(offset + bytes_to_write - max_written_offset_, granted);
-
-- int64_t max_offset = offset + bytes_to_write;
-- if (max_written_offset_ < max_offset)
-- max_written_offset_ = max_offset;
-+ int64_t _max_offset = offset + bytes_to_write;
-+ if (max_written_offset_ < _max_offset)
-+ max_written_offset_ = _max_offset;
- }
-
- if (callback->is_blocking()) {
diff --git a/www/iridium/files/patch-ppapi_proxy_flash__resource.cc b/www/iridium/files/patch-ppapi_proxy_flash__resource.cc
deleted file mode 100644
index a45deba61a6e..000000000000
--- a/www/iridium/files/patch-ppapi_proxy_flash__resource.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ppapi/proxy/flash_resource.cc.orig 2019-09-16 10:01:18 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_MACOSX)
-+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- int32_t result = SyncCall<PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply>(
- BROWSER,
- PpapiHostMsg_Flash_GetLocalTimeZoneOffset(PPTimeToTime(t)),
diff --git a/www/iridium/files/patch-printing_cups__config__helper.py b/www/iridium/files/patch-printing_cups__config__helper.py
deleted file mode 100644
index 0795067ee45f..000000000000
--- a/www/iridium/files/patch-printing_cups__config__helper.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- printing/cups_config_helper.py.orig 2019-12-16 21:50:51 UTC
-+++ printing/cups_config_helper.py
-@@ -67,7 +67,7 @@ def main():
- mode = sys.argv[1]
- if len(sys.argv) > 2 and sys.argv[2]:
- sysroot = sys.argv[2]
-- cups_config = os.path.join(sysroot, 'usr', 'bin', 'cups-config')
-+ cups_config = os.path.join(sysroot, 'bin', 'cups-config')
- if not os.path.exists(cups_config):
- print('cups-config not found: %s' % cups_config)
- return 1
diff --git a/www/iridium/files/patch-remoting_base_chromoting__event.cc b/www/iridium/files/patch-remoting_base_chromoting__event.cc
deleted file mode 100644
index 93df172fe5e5..000000000000
--- a/www/iridium/files/patch-remoting_base_chromoting__event.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/base/chromoting_event.cc.orig 2019-09-09 21:55:22 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- Os os = Os::CHROMOTING_LINUX;
- #elif defined(OS_CHROMEOS)
- Os os = Os::CHROMOTING_CHROMEOS;
diff --git a/www/iridium/files/patch-remoting_client_display_sys__opengl.h b/www/iridium/files/patch-remoting_client_display_sys__opengl.h
deleted file mode 100644
index cb1787f42c60..000000000000
--- a/www/iridium/files/patch-remoting_client_display_sys__opengl.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/client/display/sys_opengl.h.orig 2019-03-11 22:01:01 UTC
-+++ remoting/client/display/sys_opengl.h
-@@ -9,7 +9,7 @@
-
- #if defined(OS_IOS)
- #include <OpenGLES/ES3/gl.h>
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #define GL_GLEXT_PROTOTYPES
- #include <GL/gl.h>
- #include <GL/glext.h>
diff --git a/www/iridium/files/patch-remoting_host_evaluate__capability.cc b/www/iridium/files/patch-remoting_host_evaluate__capability.cc
deleted file mode 100644
index 565d577bd91b..000000000000
--- a/www/iridium/files/patch-remoting_host_evaluate__capability.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/evaluate_capability.cc.orig 2019-03-11 22:01:01 UTC
-+++ remoting/host/evaluate_capability.cc
-@@ -50,7 +50,7 @@ base::FilePath BuildHostBinaryPath() {
- }
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (path.BaseName().value() ==
- FILE_PATH_LITERAL("chrome-remote-desktop-host")) {
- return path;
diff --git a/www/iridium/files/patch-remoting_host_host__attributes.cc b/www/iridium/files/patch-remoting_host_host__attributes.cc
deleted file mode 100644
index d2a35b8d8d01..000000000000
--- a/www/iridium/files/patch-remoting_host_host__attributes.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/host_attributes.cc.orig 2019-09-09 21:55:22 UTC
-+++ remoting/host/host_attributes.cc
-@@ -124,7 +124,7 @@ std::string GetHostAttributes() {
- media::InitializeMediaFoundation()) {
- result.push_back("HWEncoder");
- }
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- result.push_back("HWEncoder");
- #endif
-
diff --git a/www/iridium/files/patch-remoting_host_host__details.cc b/www/iridium/files/patch-remoting_host_host__details.cc
deleted file mode 100644
index 2467708caed9..000000000000
--- a/www/iridium/files/patch-remoting_host_host__details.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/host_details.cc.orig 2019-09-09 21:55:22 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/www/iridium/files/patch-remoting_host_host__main.cc b/www/iridium/files/patch-remoting_host_host__main.cc
deleted file mode 100644
index 72f86cb90395..000000000000
--- a/www/iridium/files/patch-remoting_host_host__main.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- remoting/host/host_main.cc.orig 2019-10-30 16:20:58 UTC
-+++ remoting/host/host_main.cc
-@@ -49,9 +49,9 @@ int DesktopProcessMain();
- int FileChooserMain();
- int RdpDesktopSessionMain();
- #endif // defined(OS_WIN)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- int XSessionChooserMain();
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- namespace {
-
-@@ -146,10 +146,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro
- } else if (process_type == kProcessTypeRdpDesktopSession) {
- main_routine = &RdpDesktopSessionMain;
- #endif // defined(OS_WIN)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- } else if (process_type == kProcessTypeXSessionChooser) {
- main_routine = &XSessionChooserMain;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- return main_routine;
diff --git a/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
deleted file mode 100644
index ca1e5dce0129..000000000000
--- a/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc
+++ /dev/null
@@ -1,35 +0,0 @@
---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2020-02-03 21:52:49 UTC
-+++ remoting/host/it2me/it2me_native_messaging_host_main.cc
-@@ -29,12 +29,12 @@
- #include "remoting/host/switches.h"
- #include "remoting/host/usage_stats_consent.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <gtk/gtk.h>
-
- #include "base/linux_util.h"
- #include "ui/gfx/x/x11.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_MACOSX)
- #include "base/mac/mac_util.h"
-@@ -112,7 +112,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv
-
- remoting::LoadResources("");
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Required in order for us to run multiple X11 threads.
- XInitThreads();
-
-@@ -128,7 +128,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 // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
-
- base::File read_file;
- base::File write_file;
diff --git a/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc
deleted file mode 100644
index af1299dd2bdf..000000000000
--- a/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- remoting/host/me2me_desktop_environment.cc.orig 2019-09-09 21:55:22 UTC
-+++ remoting/host/me2me_desktop_environment.cc
-@@ -129,7 +129,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity(
-
- // Otherwise, if the session is shared with the local user start monitoring
- // the local input and create the in-session UI.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- bool want_user_interface = false;
- #elif defined(OS_MACOSX)
- // Don't try to display any UI on top of the system's login screen as this
diff --git a/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc b/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc
deleted file mode 100644
index 4773f4846b88..000000000000
--- a/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc
+++ /dev/null
@@ -1,108 +0,0 @@
---- remoting/host/remoting_me2me_host.cc.orig 2020-03-16 18:40:33 UTC
-+++ remoting/host/remoting_me2me_host.cc
-@@ -118,13 +118,13 @@
- #include "remoting/host/mac/permission_utils.h"
- #endif // defined(OS_MACOSX)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/gfx/x/x11.h"
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_WIN)
- #include <commctrl.h>
-@@ -159,11 +159,11 @@ const char kApplicationName[] = "chromoting";
- const char kStdinConfigPath[] = "-";
- #endif // !defined(REMOTING_MULTI_PROCESS)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- // The command line switch used to pass name of the unix domain socket used to
-@@ -357,7 +357,7 @@ class HostProcess : public ConfigWatcher::Delegate,
-
- std::unique_ptr<ChromotingHostContext> context_;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Watch for certificate changes and kill the host when changes occur
- std::unique_ptr<CertificateWatcher> cert_watcher_;
- #endif
-@@ -582,10 +582,10 @@ bool HostProcess::InitWithCommandLine(const base::Comm
- enable_window_capture_ = cmd_line->HasSwitch(kWindowIdSwitchName);
- if (enable_window_capture_) {
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- LOG(WARNING) << "Window capturing is not fully supported on Linux or "
- "Windows.";
--#endif // defined(OS_LINUX) || defined(OS_WIN)
-+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
-
- // uint32_t is large enough to hold window IDs on all platforms.
- uint32_t window_id;
-@@ -780,7 +780,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (!cert_watcher_) {
- cert_watcher_.reset(new CertificateWatcher(
- base::Bind(&HostProcess::ShutdownHost, this, kSuccessExitCode),
-@@ -866,7 +866,7 @@ void HostProcess::StartOnUiThread() {
- base::Bind(&HostProcess::OnPolicyUpdate, base::Unretained(this)),
- base::Bind(&HostProcess::OnPolicyError, base::Unretained(this)));
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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()->
-@@ -875,7 +875,7 @@ void HostProcess::StartOnUiThread() {
- remoting::AudioCapturerLinux::InitializePipeReader(
- context_->audio_task_runner(), audio_pipe_name);
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- #if defined(OS_POSIX)
- base::FilePath security_key_socket_name =
-@@ -930,7 +930,7 @@ void HostProcess::ShutdownOnUiThread() {
- // It is now safe for the HostProcess to be deleted.
- self_ = nullptr;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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.
-@@ -1529,7 +1529,7 @@ void HostProcess::StartHost() {
- host_->AddExtension(std::make_unique<TestEchoExtension>());
-
- // TODO(simonmorris): Get the maximum session duration from a policy.
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20));
- #endif
-
-@@ -1698,7 +1698,7 @@ void HostProcess::OnCrash(const std::string& function_
- int HostProcessMain() {
- HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
- kReportOfflineReasonSwitchName)) {
- // Required in order for us to run multiple X11 threads.
diff --git a/www/iridium/files/patch-remoting_host_switches.cc b/www/iridium/files/patch-remoting_host_switches.cc
deleted file mode 100644
index feb1d19fe0ec..000000000000
--- a/www/iridium/files/patch-remoting_host_switches.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- remoting/host/switches.cc.orig 2019-10-30 16:21:28 UTC
-+++ remoting/host/switches.cc
-@@ -21,9 +21,9 @@ const char kProcessTypeHost[] = "host";
- const char kProcessTypeRdpDesktopSession[] = "rdp_desktop_session";
- const char kProcessTypeEvaluateCapability[] = "evaluate_capability";
- const char kProcessTypeFileChooser[] = "file_chooser";
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- const char kProcessTypeXSessionChooser[] = "xsession_chooser";
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- const char kEvaluateCapabilitySwitchName[] = "evaluate-type";
-
diff --git a/www/iridium/files/patch-remoting_host_switches.h b/www/iridium/files/patch-remoting_host_switches.h
deleted file mode 100644
index 39fcdf4bebb2..000000000000
--- a/www/iridium/files/patch-remoting_host_switches.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- remoting/host/switches.h.orig 2019-10-30 16:21:42 UTC
-+++ remoting/host/switches.h
-@@ -34,9 +34,9 @@ extern const char kProcessTypeHost[];
- extern const char kProcessTypeRdpDesktopSession[];
- extern const char kProcessTypeEvaluateCapability[];
- extern const char kProcessTypeFileChooser[];
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- extern const char kProcessTypeXSessionChooser[];
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- extern const char kEvaluateCapabilitySwitchName[];
-
diff --git a/www/iridium/files/patch-remoting_resources_remoting__strings.grd b/www/iridium/files/patch-remoting_resources_remoting__strings.grd
deleted file mode 100644
index 34c07b2c400d..000000000000
--- a/www/iridium/files/patch-remoting_resources_remoting__strings.grd
+++ /dev/null
@@ -1,20 +0,0 @@
---- remoting/resources/remoting_strings.grd.orig 2020-02-03 21:53:32 UTC
-+++ remoting/resources/remoting_strings.grd
-@@ -1393,7 +1393,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>
-@@ -1409,7 +1409,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/www/iridium/files/patch-sandbox_features.gni b/www/iridium/files/patch-sandbox_features.gni
deleted file mode 100644
index b5a277f82178..000000000000
--- a/www/iridium/files/patch-sandbox_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- sandbox/features.gni.orig 2020-03-16 18:39:54 UTC
-+++ sandbox/features.gni
-@@ -8,7 +8,7 @@ import("//build/config/nacl/config.gni")
- # currently.
- # Do not disable seccomp_bpf anywhere without talking to
- # security@chromium.org!
--use_seccomp_bpf = (is_linux || is_android) &&
-+use_seccomp_bpf = (is_linux || is_android) && !is_bsd &&
- (current_cpu == "x86" || current_cpu == "x64" ||
- current_cpu == "arm" || current_cpu == "arm64" ||
- current_cpu == "mipsel" || current_cpu == "mips64el")
diff --git a/www/iridium/files/patch-sandbox_linux_BUILD.gn b/www/iridium/files/patch-sandbox_linux_BUILD.gn
deleted file mode 100644
index d9c24596c644..000000000000
--- a/www/iridium/files/patch-sandbox_linux_BUILD.gn
+++ /dev/null
@@ -1,47 +0,0 @@
---- sandbox/linux/BUILD.gn.orig 2020-04-10 00:39:11 UTC
-+++ sandbox/linux/BUILD.gn
-@@ -12,12 +12,12 @@ if (is_android) {
- }
-
- declare_args() {
-- compile_suid_client = is_linux
-+ compile_suid_client = is_linux && !is_bsd
-
-- compile_credentials = is_linux
-+ compile_credentials = is_linux && !is_bsd
-
- # On Android, use plain GTest.
-- use_base_test_suite = is_linux
-+ use_base_test_suite = is_linux && !is_bsd
- }
-
- if (is_nacl_nonsfi) {
-@@ -373,7 +373,7 @@ component("sandbox_services") {
- public_deps += [ ":sandbox_services_headers" ]
- }
-
-- if (is_nacl_nonsfi) {
-+ if (is_nacl_nonsfi || is_bsd) {
- cflags = [ "-fgnu-inline-asm" ]
-
- sources -= [
-@@ -381,6 +381,8 @@ component("sandbox_services") {
- "services/init_process_reaper.h",
- "services/scoped_process.cc",
- "services/scoped_process.h",
-+ "services/syscall_wrappers.cc",
-+ "services/syscall_wrappers.h",
- "services/yama.cc",
- "services/yama.h",
- "syscall_broker/broker_channel.cc",
-@@ -399,6 +401,10 @@ component("sandbox_services") {
- "syscall_broker/broker_process.h",
- "syscall_broker/broker_simple_message.cc",
- "syscall_broker/broker_simple_message.h",
-+ ]
-+ sources += [
-+ "services/libc_interceptor.cc",
-+ "services/libc_interceptor.h",
- ]
- } else if (!is_android) {
- sources += [
diff --git a/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc
deleted file mode 100644
index ce19163df699..000000000000
--- a/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- sandbox/linux/services/init_process_reaper.cc.orig 2019-03-11 22:01:01 UTC
-+++ sandbox/linux/services/init_process_reaper.cc
-@@ -1,6 +1,7 @@
- // Copyright 2013 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 "sandbox/linux/services/init_process_reaper.h"
-
-@@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo
- }
-
- } // namespace sandbox.
-+#endif
diff --git a/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc b/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc
deleted file mode 100644
index 6046b28b1771..000000000000
--- a/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc
+++ /dev/null
@@ -1,21 +0,0 @@
---- sandbox/linux/services/libc_interceptor.cc.orig 2020-03-16 18:39:54 UTC
-+++ sandbox/linux/services/libc_interceptor.cc
-@@ -11,7 +11,9 @@
- #include <stddef.h>
- #include <stdint.h>
- #include <string.h>
-+#if !defined(OS_BSD)
- #include <sys/prctl.h>
-+#endif
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <time.h>
-@@ -92,7 +94,7 @@ bool ReadTimeStruct(base::PickleIterator* iter,
- } else {
- base::AutoLock lock(g_timezones_lock.Get());
- auto ret_pair = g_timezones.Get().insert(timezone);
-- output->tm_zone = ret_pair.first->c_str();
-+ output->tm_zone = (char *)ret_pair.first->c_str();
- }
-
- return true;
diff --git a/www/iridium/files/patch-services_audio_BUILD.gn b/www/iridium/files/patch-services_audio_BUILD.gn
deleted file mode 100644
index 32423e1a0600..000000000000
--- a/www/iridium/files/patch-services_audio_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/audio/BUILD.gn.orig 2020-03-16 18:39:54 UTC
-+++ services/audio/BUILD.gn
-@@ -82,7 +82,7 @@ source_set("audio") {
- "//services/service_manager/sandbox",
- ]
-
-- if (is_linux) {
-+ if ((is_linux) && (!is_bsd)) {
- sources += [
- "audio_sandbox_hook_linux.cc",
- "audio_sandbox_hook_linux.h",
diff --git a/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc
deleted file mode 100644
index 17db61b295df..000000000000
--- a/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/geolocation/location_arbitrator.cc.orig 2020-02-03 21:53:32 UTC
-+++ services/device/geolocation/location_arbitrator.cc
-@@ -157,7 +157,7 @@ LocationArbitrator::NewNetworkLocationProvider(
-
- std::unique_ptr<LocationProvider>
- LocationArbitrator::NewSystemLocationProvider() {
--#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- return nullptr;
- #else
- return device::NewSystemLocationProvider();
diff --git a/www/iridium/files/patch-services_device_hid_BUILD.gn b/www/iridium/files/patch-services_device_hid_BUILD.gn
deleted file mode 100644
index 01a7f29e58fa..000000000000
--- a/www/iridium/files/patch-services_device_hid_BUILD.gn
+++ /dev/null
@@ -1,22 +0,0 @@
---- services/device/hid/BUILD.gn.orig 2019-06-04 18:55:28 UTC
-+++ services/device/hid/BUILD.gn
-@@ -51,6 +51,19 @@ source_set("hid") {
- deps += [ "//device/udev_linux" ]
- }
-
-+ if (is_bsd) {
-+ sources -= [
-+ "hid_connection_linux.cc",
-+ "hid_connection_linux.h",
-+ ]
-+ 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/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc
deleted file mode 100644
index 42e0cc8b1986..000000000000
--- a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc
+++ /dev/null
@@ -1,243 +0,0 @@
---- services/device/hid/hid_connection_freebsd.cc.orig 2019-05-04 09:19:19 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::BlockingTaskHelper {
-+ public:
-+ BlockingTaskHelper(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();
-+ }
-+
-+ ~BlockingTaskHelper() { 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(&BlockingTaskHelper::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(BlockingTaskHelper);
-+};
-+
-+HidConnectionFreeBSD::HidConnectionFreeBSD(
-+ scoped_refptr<HidDeviceInfo> device_info,
-+ base::ScopedFD fd,
-+ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner)
-+ : HidConnection(device_info),
-+ blocking_task_runner_(std::move(blocking_task_runner)),
-+ weak_factory_(this) {
-+ helper_ = std::make_unique<BlockingTaskHelper>(std::move(fd), device_info,
-+ weak_factory_.GetWeakPtr());
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE, base::BindOnce(&BlockingTaskHelper::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(&BlockingTaskHelper::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(&BlockingTaskHelper::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(&BlockingTaskHelper::SendFeatureReport,
-+ base::Unretained(helper_.get()), buffer, std::move(callback)));
-+}
-+
-+} // namespace device
diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h
deleted file mode 100644
index 0b6704917991..000000000000
--- a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h
+++ /dev/null
@@ -1,71 +0,0 @@
---- services/device/hid/hid_connection_freebsd.h.orig 2019-05-01 15:21:27 UTC
-+++ services/device/hid/hid_connection_freebsd.h
-@@ -0,0 +1,68 @@
-+// 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/ptr_util.h"
-+#include "base/memory/ref_counted_memory.h"
-+#include "base/memory/weak_ptr.h"
-+#include "base/sequence_checker.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 BlockingTaskHelper;
-+
-+ ~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<BlockingTaskHelper> helper_;
-+
-+ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
-+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
-+
-+ SEQUENCE_CHECKER(sequence_checker_);
-+
-+ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD);
-+};
-+
-+} // namespace device
-+
-+#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_
diff --git a/www/iridium/files/patch-services_device_hid_hid__service.cc b/www/iridium/files/patch-services_device_hid_hid__service.cc
deleted file mode 100644
index cadfcbe6b358..000000000000
--- a/www/iridium/files/patch-services_device_hid_hid__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/device/hid/hid_service.cc.orig 2019-03-11 22:01:01 UTC
-+++ services/device/hid/hid_service.cc
-@@ -16,6 +16,8 @@
-
- #if defined(OS_LINUX) && defined(USE_UDEV)
- #include "services/device/hid/hid_service_linux.h"
-+#elif defined(OS_BSD)
-+#include "services/device/hid/hid_service_freebsd.h"
- #elif defined(OS_MACOSX)
- #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(USE_UDEV)
- return base::WrapUnique(new HidServiceLinux());
-+#elif defined(OS_BSD)
-+ return base::WrapUnique(new HidServiceFreeBSD());
- #elif defined(OS_MACOSX)
- return base::WrapUnique(new HidServiceMac());
- #elif defined(OS_WIN)
diff --git a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc
deleted file mode 100644
index 1ede85233d94..000000000000
--- a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc
+++ /dev/null
@@ -1,386 +0,0 @@
---- services/device/hid/hid_service_freebsd.cc.orig 2020-03-17 15:11:01 UTC
-+++ services/device/hid/hid_service_freebsd.cc
-@@ -0,0 +1,383 @@
-+// 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::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::BlockingTaskHelper {
-+ public:
-+ BlockingTaskHelper(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);
-+ }
-+
-+ ~BlockingTaskHelper() {
-+ }
-+
-+ 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::Bind(&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(&BlockingTaskHelper::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, &BlockingTaskHelper::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(BlockingTaskHelper);
-+};
-+
-+HidServiceFreeBSD::HidServiceFreeBSD()
-+ : task_runner_(base::ThreadTaskRunnerHandle::Get()),
-+ blocking_task_runner_(
-+ base::CreateSequencedTaskRunner(kBlockingTaskTraits)),
-+ weak_factory_(this) {
-+ helper_ = std::make_unique<BlockingTaskHelper>(weak_factory_.GetWeakPtr());
-+ blocking_task_runner_->PostTask(
-+ FROM_HERE,
-+ base::Bind(&BlockingTaskHelper::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/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h
deleted file mode 100644
index 593c762ba5a1..000000000000
--- a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h
+++ /dev/null
@@ -1,50 +0,0 @@
---- services/device/hid/hid_service_freebsd.h.orig 2020-03-17 15:11:01 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,
-+ ConnectCallback connect) override;
-+ base::WeakPtr<HidService> GetWeakPtr() override;
-+
-+ private:
-+ struct ConnectParams;
-+ class BlockingTaskHelper;
-+
-+ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params);
-+ static void FinishOpen(std::unique_ptr<ConnectParams> params);
-+
-+ const scoped_refptr<base::SequencedTaskRunner> task_runner_;
-+ 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<BlockingTaskHelper> helper_;
-+ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD);
-+};
-+
-+} // namespace device
-+
-+#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_
diff --git a/www/iridium/files/patch-services_device_serial_BUILD.gn b/www/iridium/files/patch-services_device_serial_BUILD.gn
deleted file mode 100644
index 81589aec985e..000000000000
--- a/www/iridium/files/patch-services_device_serial_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/serial/BUILD.gn.orig 2019-03-11 22:01:01 UTC
-+++ services/device/serial/BUILD.gn
-@@ -4,7 +4,7 @@
-
- import("//build/config/features.gni")
-
--if (is_win || (is_linux && use_udev) || is_mac) {
-+if (is_win || (is_linux && use_udev) || is_mac || is_bsd) {
- config("platform_support") {
- visibility = [ ":serial" ]
- if (is_win) {
diff --git a/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc
deleted file mode 100644
index e05dd930bc94..000000000000
--- a/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/serial/serial_io_handler_posix.cc.orig 2019-04-30 22:22:56 UTC
-+++ services/device/serial/serial_io_handler_posix.cc
-@@ -66,7 +66,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_MACOSX)
-+#if !defined(OS_MACOSX) && !defined(OS_BSD)
- BITRATE_TO_SPEED_CASE(57600)
- BITRATE_TO_SPEED_CASE(115200)
- BITRATE_TO_SPEED_CASE(230400)
diff --git a/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc
deleted file mode 100644
index cff5f136f844..000000000000
--- a/www/iridium/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 2020-03-16 18:39:54 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/www/iridium/files/patch-services_device_usb_BUILD.gn b/www/iridium/files/patch-services_device_usb_BUILD.gn
deleted file mode 100644
index 7c3ad6a76957..000000000000
--- a/www/iridium/files/patch-services_device_usb_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/device/usb/BUILD.gn.orig 2019-09-09 21:55:22 UTC
-+++ services/device/usb/BUILD.gn
-@@ -110,7 +110,7 @@ static_library("usb") {
- ]
- }
-
-- 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/www/iridium/files/patch-services_network_BUILD.gn b/www/iridium/files/patch-services_network_BUILD.gn
deleted file mode 100644
index be4d33bb2644..000000000000
--- a/www/iridium/files/patch-services_network_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- services/network/BUILD.gn.orig 2020-03-16 18:40:34 UTC
-+++ services/network/BUILD.gn
-@@ -260,7 +260,6 @@ jumbo_component("network_service") {
-
- if (is_linux) {
- deps += [
-- "//sandbox/linux:sandbox_services",
- "//services/service_manager/sandbox:sandbox",
- ]
- }
diff --git a/www/iridium/files/patch-services_network_network__context.cc b/www/iridium/files/patch-services_network_network__context.cc
deleted file mode 100644
index 888674c04595..000000000000
--- a/www/iridium/files/patch-services_network_network__context.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/network_context.cc.orig 2020-03-16 18:40:34 UTC
-+++ services/network/network_context.cc
-@@ -1758,7 +1758,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/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc
deleted file mode 100644
index b7b7be5079f4..000000000000
--- a/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- services/network/network_sandbox_hook_linux.cc.orig 2019-03-11 22:01:01 UTC
-+++ services/network/network_sandbox_hook_linux.cc
-@@ -14,6 +14,7 @@ using sandbox::syscall_broker::MakeBrokerCommandSet;
- namespace network {
-
- bool NetworkPreSandboxHook(service_manager::SandboxLinux::Options options) {
-+#if !defined(OS_BSD)
- auto* instance = service_manager::SandboxLinux::GetInstance();
-
- // TODO(tsepez): remove universal permission under filesytem root.
-@@ -32,6 +33,7 @@ bool NetworkPreSandboxHook(service_manager::SandboxLin
- service_manager::SandboxLinux::PreSandboxHook(), options);
-
- instance->EngageNamespaceSandboxIfPossible();
-+#endif // defined(OS_BSD)
- return true;
- }
-
diff --git a/www/iridium/files/patch-services_network_network__service.cc b/www/iridium/files/patch-services_network_network__service.cc
deleted file mode 100644
index 1e69f01166a8..000000000000
--- a/www/iridium/files/patch-services_network_network__service.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/network/network_service.cc.orig 2020-03-16 18:40:34 UTC
-+++ services/network/network_service.cc
-@@ -63,7 +63,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
-
-@@ -627,7 +627,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/www/iridium/files/patch-services_network_network__service.h b/www/iridium/files/patch-services_network_network__service.h
deleted file mode 100644
index 5f21c0217c3a..000000000000
--- a/www/iridium/files/patch-services_network_network__service.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/network/network_service.h.orig 2020-03-16 18:40:34 UTC
-+++ services/network/network_service.h
-@@ -150,7 +150,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_MACOSX) && !defined(OS_IOS))
diff --git a/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc
deleted file mode 100644
index 4c391c6c24c4..000000000000
--- a/www/iridium/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 2019-09-09 21:55:22 UTC
-+++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc
-@@ -43,7 +43,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_ANDROID)
-+#if defined(OS_LINUX) || 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;
-@@ -82,7 +82,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_ANDROID)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
deleted file mode 100644
index f8b2542dae6e..000000000000
--- a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h
+++ /dev/null
@@ -1,32 +0,0 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2019-07-24 18:58:35 UTC
-+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h
-@@ -28,9 +28,9 @@ class COMPONENT_EXPORT(
- mojom::RawOSMemDump*);
- static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(base::ProcessId);
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- static void SetProcSmapsForTesting(FILE*);
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- private:
- FRIEND_TEST_ALL_PREFIXES(OSMetricsTest, ParseProcSmaps);
-@@ -44,7 +44,7 @@ class COMPONENT_EXPORT(
- static std::vector<mojom::VmRegionPtr> GetProcessModules(base::ProcessId);
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // Provides information on the dump state of resident pages.
- enum class MappedAndResidentPagesDumpState {
- // Access to /proc/<pid>/pagemap can be denied for android devices running
-@@ -68,7 +68,7 @@ class COMPONENT_EXPORT(
- // TODO(chiniforooshan): move to /base/process/process_metrics_linux.cc after
- // making sure that peak RSS is useful.
- static size_t GetPeakResidentSetSize(base::ProcessId pid);
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- };
-
- } // namespace memory_instrumentation
diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
deleted file mode 100644
index b38e937afd6f..000000000000
--- a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
+++ /dev/null
@@ -1,103 +0,0 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-07-24 18:58:35 UTC
-+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc
-@@ -22,8 +22,10 @@
- #include "build/build_config.h"
- #include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h"
-
-+#if !defined(OS_BSD)
- // Symbol with virtual address of the start of ELF header of the current binary.
- extern char __ehdr_start;
-+#endif
-
- namespace memory_instrumentation {
-
-@@ -86,6 +88,7 @@ struct ModuleData {
-
- ModuleData GetMainModuleData() {
- ModuleData module_data;
-+#if !defined(OS_BSD)
- Dl_info dl_info;
- if (dladdr(&__ehdr_start, &dl_info)) {
- base::debug::ElfBuildIdBuffer build_id;
-@@ -96,6 +99,7 @@ ModuleData GetMainModuleData() {
- module_data.build_id = std::string(build_id, build_id_length);
- }
- }
-+#endif
- return module_data;
- }
-
-@@ -143,14 +147,14 @@ bool ParseSmapsHeader(const char* header_line,
- // Build ID is needed to symbolize heap profiles, and is generated only on
- // official builds. Build ID is only added for the current library (chrome)
- // since it is racy to read other libraries which can be unmapped any time.
--#if defined(OFFICIAL_BUILD)
-+#if defined(OFFICIAL_BUILD) && !defined(OS_BSD)
- if (!region->mapped_file.empty() &&
- base::StartsWith(main_module_data.path, region->mapped_file,
- base::CompareCase::SENSITIVE) &&
- !main_module_data.build_id.empty()) {
- region->module_debugid = main_module_data.build_id;
- }
--#endif // defined(OFFICIAL_BUILD)
-+#endif // defined(OFFICIAL_BUILD) && !defined(OS_BSD)
-
- return res;
- }
-@@ -239,6 +243,7 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
- mojom::RawOSMemDump* dump) {
- // TODO(chiniforooshan): There is no need to read both /statm and /status
- // files. Refactor to get everything from /status using ProcessMetric.
-+#if !defined(OS_BSD)
- auto statm_file = GetProcPidDir(pid).Append("statm");
- auto autoclose = base::ScopedFD(open(statm_file.value().c_str(), O_RDONLY));
- int statm_fd = autoclose.get();
-@@ -253,6 +258,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
-
- if (!success)
- return false;
-+#else
-+ uint64_t resident_pages = 0;
-+ uint64_t shared_pages = 0;
-+#endif
-
- auto process_metrics = CreateProcessMetrics(pid);
-
-@@ -293,6 +302,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
-
- // static
- std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) {
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return std::vector<VmRegionPtr>();
-+#else
- std::vector<VmRegionPtr> maps;
- uint32_t res = 0;
- if (g_proc_smaps_for_testing) {
-@@ -310,6 +323,7 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa
- return std::vector<VmRegionPtr>();
-
- return maps;
-+#endif
- }
-
- // static
-@@ -317,6 +331,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
- const size_t start_address,
- const size_t end_address,
- std::vector<uint8_t>* accessed_pages_bitmap) {
-+#if defined(OS_BSD)
-+ NOTIMPLEMENTED();
-+ return OSMetrics::MappedAndResidentPagesDumpState::kFailure;
-+#else
- const char* kPagemap = "/proc/self/pagemap";
-
- base::ScopedFILE pagemap_file(fopen(kPagemap, "r"));
-@@ -358,6 +376,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
- }
- }
- return OSMetrics::MappedAndResidentPagesDumpState::kSuccess;
-+#endif
- }
-
- // static
diff --git a/www/iridium/files/patch-services_service__manager_embedder_main.cc b/www/iridium/files/patch-services_service__manager_embedder_main.cc
deleted file mode 100644
index 9c935b9f16e1..000000000000
--- a/www/iridium/files/patch-services_service__manager_embedder_main.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/service_manager/embedder/main.cc.orig 2019-10-21 19:06:40 UTC
-+++ services/service_manager/embedder/main.cc
-@@ -272,7 +272,7 @@ int Main(const MainParams& params) {
- #endif
- base::EnableTerminationOnOutOfMemory();
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc
deleted file mode 100644
index 56f27b3a6704..000000000000
--- a/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- services/service_manager/embedder/set_process_title_linux.cc.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/embedder/set_process_title_linux.cc
-@@ -49,6 +49,8 @@
- extern char** environ;
-
- static char** g_main_argv = NULL;
-+
-+#if !defined(OS_FREEBSD)
- static char* g_orig_argv0 = NULL;
-
- void setproctitle(const char* fmt, ...) {
-@@ -101,6 +103,7 @@ void setproctitle(const char* fmt, ...) {
- va_end(ap);
- g_main_argv[1] = NULL;
- }
-+#endif
-
- // A version of this built into glibc would not need this function, since
- // it could stash the argv pointer in __libc_start_main(). But we need it.
diff --git a/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h
deleted file mode 100644
index 0e1eb1ce1d32..000000000000
--- a/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/service_manager/embedder/set_process_title_linux.h.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/embedder/set_process_title_linux.h
-@@ -5,6 +5,9 @@
- #ifndef SERVICES_SERVICE_MANAGER_EMBEDDER_SET_PROCESS_TITLE_LINUX_H_
- #define SERVICES_SERVICE_MANAGER_EMBEDDER_SET_PROCESS_TITLE_LINUX_H_
-
-+#include "build/build_config.h"
-+
-+#if !defined(OS_FREEBSD)
- // Set the process title that will show in "ps" and similar tools. Takes
- // printf-style format string and arguments. After calling setproctitle()
- // the original main() argv[] array should not be used. By default, the
-@@ -14,6 +17,7 @@
- // This signature and naming is to be compatible with most other Unix
- // implementations of setproctitle().
- void setproctitle(const char* fmt, ...);
-+#endif
-
- // Initialize state needed for setproctitle() on Linux. Pass the argv pointer
- // from main() to setproctitle_init() before calling setproctitle().
diff --git a/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn
deleted file mode 100644
index 4e2b8913bd0b..000000000000
--- a/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
---- services/service_manager/public/cpp/service_executable/BUILD.gn.orig 2019-04-30 22:22:56 UTC
-+++ services/service_manager/public/cpp/service_executable/BUILD.gn
-@@ -29,6 +29,11 @@ source_set("support") {
- "//sandbox/linux:seccomp_bpf",
- ]
- }
-+ if (is_bsd) {
-+ deps -= [
-+ "//sandbox/linux:seccomp_bpf"
-+ ]
-+ }
- }
-
- source_set("switches") {
diff --git a/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn b/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn
deleted file mode 100644
index 79967079b24d..000000000000
--- a/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/service_manager/sandbox/BUILD.gn.orig 2020-03-16 18:40:34 UTC
-+++ services/service_manager/sandbox/BUILD.gn
-@@ -26,7 +26,7 @@ component("sandbox") {
- "//base",
- "//sandbox:common",
- ]
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [
- "linux/bpf_audio_policy_linux.cc",
- "linux/bpf_audio_policy_linux.h",
diff --git a/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni b/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni
deleted file mode 100644
index d6dc2aed4fb6..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni
+++ /dev/null
@@ -1,8 +0,0 @@
---- services/service_manager/zygote/common/zygote_features.gni.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/zygote/common/zygote_features.gni
-@@ -2,4 +2,4 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
-
--use_zygote_handle = is_posix && !is_android && !is_mac
-+use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd
diff --git a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc
deleted file mode 100644
index 95e322cffb48..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc
+++ /dev/null
@@ -1,40 +0,0 @@
---- services/service_manager/zygote/host/zygote_host_impl_linux.cc.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/zygote/host/zygote_host_impl_linux.cc
-@@ -72,6 +72,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() {
- }
-
- void ZygoteHostImpl::Init(const base::CommandLine& command_line) {
-+#if !defined(OS_BSD)
- if (command_line.HasSwitch(service_manager::switches::kNoSandbox)) {
- return;
- }
-@@ -122,6 +123,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com
- "you can try using --"
- << service_manager::switches::kNoSandbox << ".";
- }
-+#endif
- }
-
- void ZygoteHostImpl::AddZygotePid(pid_t pid) {
-@@ -146,6 +148,7 @@ pid_t ZygoteHostImpl::LaunchZygote(
- base::CommandLine* cmd_line,
- base::ScopedFD* control_fd,
- base::FileHandleMappingVector additional_remapped_fds) {
-+#if !defined(OS_BSD)
- int fds[2];
- CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds));
- CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0]));
-@@ -210,9 +213,12 @@ pid_t ZygoteHostImpl::LaunchZygote(
-
- AddZygotePid(pid);
- return pid;
-+#else
-+ return 0;
-+#endif
- }
-
--#if !defined(OS_OPENBSD)
-+#if !defined(OS_BSD)
- void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid,
- int score) {
- // 1) You can't change the oom_score_adj of a non-dumpable process
diff --git a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h
deleted file mode 100644
index 2d846ba1732e..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- services/service_manager/zygote/host/zygote_host_impl_linux.h.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/zygote/host/zygote_host_impl_linux.h
-@@ -44,8 +44,10 @@ class COMPONENT_EXPORT(SERVICE_MANAGER_ZYGOTE) ZygoteH
- base::ScopedFD* control_fd,
- base::FileHandleMappingVector additional_remapped_fds);
-
-+#if !defined(OS_BSD)
- void AdjustRendererOOMScore(base::ProcessHandle process_handle,
- int score) override;
-+#endif
- bool HasZygote() { return !zygote_pids_.empty(); }
-
- private:
diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h b/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h
deleted file mode 100644
index bdf4e5ff2926..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- services/service_manager/zygote/zygote_host_linux.h.orig 2019-03-11 22:01:02 UTC
-+++ services/service_manager/zygote/zygote_host_linux.h
-@@ -30,11 +30,13 @@ class ZygoteHost {
- // after the first render has been forked.
- virtual int GetRendererSandboxStatus() const = 0;
-
-+#if !defined(OS_BSD)
- // Adjust the OOM score of the given renderer's PID. The allowed
- // range for the score is [0, 1000], where higher values are more
- // likely to be killed by the OOM killer.
- virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle,
- int score) = 0;
-+#endif
- };
-
- } // namespace service_manager
diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc
deleted file mode 100644
index 3a2ff8db55e7..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- services/service_manager/zygote/zygote_linux.cc.orig 2019-06-04 18:55:28 UTC
-+++ services/service_manager/zygote/zygote_linux.cc
-@@ -1,6 +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 "services/service_manager/zygote/zygote_linux.h"
-
-@@ -657,3 +658,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick
- }
-
- } // namespace service_manager
-+#endif
diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc
deleted file mode 100644
index c1871f137977..000000000000
--- a/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc
+++ /dev/null
@@ -1,48 +0,0 @@
---- services/service_manager/zygote/zygote_main_linux.cc.orig 2020-02-03 21:53:32 UTC
-+++ services/service_manager/zygote/zygote_main_linux.cc
-@@ -11,7 +11,9 @@
- #include <stddef.h>
- #include <stdint.h>
- #include <string.h>
-+#if !defined(OS_BSD)
- #include <sys/prctl.h>
-+#endif
- #include <sys/socket.h>
- #include <sys/types.h>
- #include <unistd.h>
-@@ -99,6 +101,7 @@ static bool CreateInitProcessReaper(
- // created through the setuid sandbox.
- static bool EnterSuidSandbox(sandbox::SetuidSandboxClient* setuid_sandbox,
- base::OnceClosure post_fork_parent_callback) {
-+#if !defined(OS_BSD)
- DCHECK(setuid_sandbox);
- DCHECK(setuid_sandbox->IsSuidSandboxChild());
-
-@@ -131,6 +134,9 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxCli
-
- CHECK(service_manager::SandboxDebugHandling::SetDumpableStatusAndHandlers());
- return true;
-+#else
-+ return false;
-+#endif
- }
-
- static void DropAllCapabilities(int proc_fd) {
-@@ -176,6 +182,7 @@ static void EnterLayerOneSandbox(service_manager::Sand
-
- bool ZygoteMain(
- std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) {
-+#if !defined(OS_BSD)
- sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD());
-
- auto* linux_sandbox = service_manager::SandboxLinux::GetInstance();
-@@ -238,6 +245,9 @@ bool ZygoteMain(
-
- // This function call can return multiple times, once per fork().
- return zygote.ProcessRequests();
-+#else
-+ return false;
-+#endif
- }
-
- } // namespace service_manager
diff --git a/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc b/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc
deleted file mode 100644
index 61e7cb3830ad..000000000000
--- a/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- services/tracing/public/cpp/perfetto/trace_time.cc.orig 2020-03-17 10:13:47 UTC
-+++ services/tracing/public/cpp/perfetto/trace_time.cc
-@@ -13,13 +13,17 @@ namespace tracing {
-
- int64_t TraceBootTicksNow() {
- // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already.
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
- struct timespec ts;
-+#if defined(OS_BSD)
-+ int res = clock_gettime(CLOCK_UPTIME, &ts);
-+#else
- int res = clock_gettime(CLOCK_BOOTTIME, &ts);
-+#endif
- if (res != -1)
- return static_cast<int64_t>(perfetto::base::FromPosixTimespec(ts).count());
- #endif
- return TRACE_TIME_TICKS_NOW().since_origin().InNanoseconds();
- }
-
--} // namespace tracing
-\ No newline at end of file
-+} // namespace tracing
diff --git a/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
deleted file mode 100644
index 06d34c96b6cd..000000000000
--- a/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2020-03-17 10:16:22 UTC
-+++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc
-@@ -362,7 +362,7 @@ TracingSamplerProfiler::TracingProfileBuilder::GetCall
- }
- #endif
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- // Linux ELF module IDs are 160bit integers, which we need to mangle
- // down to 128bit integers to match the id that Breakpad outputs.
- // Example on version '66.0.3359.170' x64:
diff --git a/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc b/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc
deleted file mode 100644
index 31c7ab5e263a..000000000000
--- a/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- services/video_capture/broadcasting_receiver.cc.orig 2019-12-16 21:51:28 UTC
-+++ services/video_capture/broadcasting_receiver.cc
-@@ -40,7 +40,7 @@ void CloneSharedBufferHandle(const mojo::ScopedSharedB
- void CloneSharedBufferToRawFileDescriptorHandle(
- const mojo::ScopedSharedBufferHandle& source,
- media::mojom::VideoBufferHandlePtr* target) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // |source| is unwrapped to a |PlatformSharedMemoryRegion|, from whence a file
- // descriptor can be extracted which is then mojo-wrapped.
- base::subtle::PlatformSharedMemoryRegion platform_region =
-@@ -183,7 +183,7 @@ void BroadcastingReceiver::BufferContext::
- ConvertRawFileDescriptorToSharedBuffer() {
- DCHECK(buffer_handle_->is_shared_memory_via_raw_file_descriptor());
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // The conversion unwraps the descriptor from its mojo handle to the raw file
- // descriptor (ie, an int). This is used to create a
- // PlatformSharedMemoryRegion which is then wrapped as a
diff --git a/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp
deleted file mode 100644
index e41e957b73ea..000000000000
--- a/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- skia/ext/SkMemory_new_handler.cpp.orig 2019-03-11 22:01:02 UTC
-+++ skia/ext/SkMemory_new_handler.cpp
-@@ -77,7 +77,7 @@ static void* malloc_nothrow(size_t size) {
- // TODO(b.kelemen): we should always use UncheckedMalloc but currently it
- // doesn't work as intended everywhere.
- void* result;
--#if defined(OS_IOS)
-+#if defined(OS_IOS) || defined(OS_BSD)
- result = malloc(size);
- #else
- // It's the responsibility of the caller to check the return value.
-@@ -97,7 +97,7 @@ static void* calloc_nothrow(size_t size) {
- // TODO(b.kelemen): we should always use UncheckedCalloc but currently it
- // doesn't work as intended everywhere.
- void* result;
--#if defined(OS_IOS)
-+#if defined(OS_IOS) || defined(OS_BSD)
- result = calloc(1, size);
- #else
- // It's the responsibility of the caller to check the return value.
diff --git a/www/iridium/files/patch-third__party_angle_BUILD.gn b/www/iridium/files/patch-third__party_angle_BUILD.gn
deleted file mode 100644
index 330949cb3773..000000000000
--- a/www/iridium/files/patch-third__party_angle_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/angle/BUILD.gn.orig 2020-03-16 18:42:05 UTC
-+++ third_party/angle/BUILD.gn
-@@ -384,6 +384,7 @@ angle_static_library("angle_gpu_info_util") {
- "X11",
- "Xi",
- "Xext",
-+ "GL",
- ]
- }
- }
diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
deleted file mode 100644
index 3d393c5b6483..000000000000
--- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2019-03-11 22:07:59 UTC
-+++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h
-@@ -14,8 +14,13 @@
- namespace angle
- {
-
-+bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices);
-+
- // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined.
- bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices);
-+#if defined(__FreeBSD__)
-+bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices);
-+#endif
- // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined.
- bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version);
-
diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
deleted file mode 100644
index 8c7b858de64b..000000000000
--- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2019-03-11 22:07:59 UTC
-+++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp
-@@ -12,6 +12,11 @@
- #include <pci/pci.h>
- #include <unistd.h>
-
-+#if defined(__FreeBSD__)
-+#include <fcntl.h>
-+#include <sys/pciio.h>
-+#endif
-+
- #include "common/angleutils.h"
- #include "common/debug.h"
-
-@@ -82,6 +87,75 @@ struct LibPCI : private angle::NonCopyable
- };
-
- } // anonymous namespace
-+
-+#if defined(__FreeBSD__)
-+// Adds an entry per PCI GPU found and fills the device and vendor ID.
-+bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices)
-+{
-+ int fd;
-+ struct pci_conf_io conf;
-+ struct pci_conf *matches;
-+ uint32_t offset = 0;
-+
-+ fd = open("/dev/pci", O_RDONLY);
-+ if (fd < 0)
-+ return false;
-+
-+ matches = new struct pci_conf[32];
-+ conf.generation = 0;
-+ do {
-+ conf.pat_buf_len = 0;
-+ conf.num_patterns = 0;
-+ conf.patterns = NULL;
-+ conf.match_buf_len = 32 * sizeof(struct pci_conf);
-+ conf.num_matches = 32;
-+ conf.matches = matches;
-+ conf.offset = offset;
-+ conf.status = PCI_GETCONF_ERROR;
-+ if (ioctl(fd, PCIOCGETCONF, &conf) < 0) {
-+ if (errno == ENODEV)
-+ break;
-+ }
-+ /* PCI_GETCONF_LIST_CHANGED would require us to start over. */
-+ if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) {
-+ break;
-+ }
-+
-+ for (unsigned int i = 0; i < conf.num_matches; i++) {
-+ uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass;
-+
-+ // Skip non-GPU devices
-+ switch (device_class)
-+ {
-+ case PCI_CLASS_DISPLAY_VGA:
-+ case PCI_CLASS_DISPLAY_XGA:
-+ case PCI_CLASS_DISPLAY_3D:
-+ break;
-+ default:
-+ continue;
-+ }
-+
-+ // Skip unknown devices
-+ if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) {
-+ continue;
-+ }
-+
-+ GPUDeviceInfo info;
-+ info.vendorId = matches[i].pc_vendor;
-+ info.deviceId = matches[i].pc_device;
-+
-+ devices->push_back(info);
-+ }
-+ offset += conf.num_matches;
-+ } while (conf.status == PCI_GETCONF_MORE_DEVS);
-+
-+ delete[] matches;
-+
-+ close(fd);
-+
-+ return true;
-+}
-+#endif
-
- // Adds an entry per PCI GPU found and fills the device and vendor ID.
- bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices)
diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
deleted file mode 100644
index d69b549c46b1..000000000000
--- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2019-03-11 22:07:59 UTC
-+++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp
-@@ -71,10 +71,18 @@ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo
-
- bool GetSystemInfo(SystemInfo *info)
- {
-+#if defined(__FreeBSD__)
-+ if (!CollectMesaCardInfo(&(info->gpus)))
-+ {
-+ if (!GetPCIDevicesFreeBSD(&(info->gpus)))
-+ return false;
-+ }
-+#else
- if (!GetPCIDevicesWithLibPCI(&(info->gpus)))
- {
- return false;
- }
-+#endif
-
- if (info->gpus.size() == 0)
- {
diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
deleted file mode 100644
index 6b9bc94938ad..000000000000
--- a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
---- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2019-03-11 22:07:59 UTC
-+++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp
-@@ -8,6 +8,8 @@
-
- #include "gpu_info_util/SystemInfo_internal.h"
-
-+#include <GL/glx.h>
-+#include <GL/glxext.h>
- #include <X11/Xlib.h>
-
- #include "common/debug.h"
-@@ -18,8 +20,43 @@
- # error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11
- #endif
-
-+#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
-+#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
-+
- namespace angle
- {
-+
-+bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices)
-+{
-+
-+ unsigned int vid[3], did[3];
-+
-+ Display *display = XOpenDisplay(NULL);
-+ if (!display) {
-+ return false;
-+ }
-+
-+ PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger =
-+ (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *)
-+ "glXQueryRendererIntegerMESA");
-+
-+ if (!queryInteger)
-+ return false;
-+
-+ bool vendor_ret =
-+ queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid);
-+ bool device_ret =
-+ queryInteger(display, 0, 0, GLX_RENDERER_DEVICE_ID_MESA, did);
-+
-+ if (vendor_ret && device_ret) {
-+ GPUDeviceInfo info;
-+ info.vendorId = vid[0];
-+ info.deviceId = did[0];
-+ devices->push_back(info);
-+ }
-+
-+ return true;
-+}
-
- bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version)
- {
diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp
deleted file mode 100644
index 48998ce95915..000000000000
--- a/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/angle/src/libANGLE/Display.cpp.orig 2020-03-16 18:42:05 UTC
-+++ third_party/angle/src/libANGLE/Display.cpp
-@@ -286,7 +286,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di
- {
- impl = rx::CreateVulkanWin32Display(state);
- }
--# elif defined(ANGLE_PLATFORM_LINUX)
-+# elif defined(ANGLE_PLATFORM_POSIX)
- if (rx::IsVulkanXcbDisplayAvailable())
- {
- impl = rx::CreateVulkanXcbDisplay(state);
diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h
deleted file mode 100644
index 380c2f0a1a4f..000000000000
--- a/www/iridium/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 2020-03-16 18:42:06 UTC
-+++ third_party/angle/src/libANGLE/renderer/driver_utils.h
-@@ -122,7 +122,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/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h
deleted file mode 100644
index aa021274cc80..000000000000
--- a/www/iridium/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 2020-02-03 21:54:48 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/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c
deleted file mode 100644
index c03540dc02ea..000000000000
--- a/www/iridium/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 2020-02-03 21:54:58 UTC
-+++ third_party/angle/third_party/vulkan-loader/src/loader/loader.c
-@@ -238,7 +238,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/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h
deleted file mode 100644
index 674705f68fd5..000000000000
--- a/www/iridium/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 2019-03-11 22:08:05 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/www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h b/www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h
deleted file mode 100644
index 824788f6aa33..000000000000
--- a/www/iridium/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 2019-03-11 22:08:06 UTC
-+++ third_party/angle/third_party/vulkan-validation-layers/src/layers/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/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn b/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn
deleted file mode 100644
index 3ee19aa5429f..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/blink/renderer/BUILD.gn.orig 2020-03-16 18:40:34 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/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
deleted file mode 100644
index f2b1624738c8..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2020-03-17 10:17:22 UTC
-+++ third_party/blink/renderer/controller/blink_initializer.cc
-@@ -69,7 +69,7 @@
- #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h"
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \
- 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"
-@@ -146,7 +146,7 @@ void InitializeCommon(Platform* platform, mojo::Binder
- CrashMemoryMetricsReporterImpl::Instance();
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \
- defined(OS_WIN)
- // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring.
- if (UserLevelMemoryPressureSignalGenerator::Enabled())
diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h
deleted file mode 100644
index 0c30711ac49d..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h
+++ /dev/null
@@ -1,47 +0,0 @@
---- third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2020-03-17 10:18:29 UTC
-+++ third_party/blink/renderer/controller/memory_usage_monitor_posix.h
-@@ -12,7 +12,7 @@
- #include "third_party/blink/renderer/controller/controller_export.h"
- #include "third_party/blink/renderer/controller/memory_usage_monitor.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "third_party/blink/public/mojom/memory_usage_monitor_linux.mojom-blink.h"
- #endif
-
-@@ -21,7 +21,7 @@ namespace blink {
- // MemoryUsageMonitor implementation for Android and Linux.
- class CONTROLLER_EXPORT MemoryUsageMonitorPosix
- : public MemoryUsageMonitor
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- public mojom::blink::MemoryUsageMonitorLinux
- #endif
-@@ -29,7 +29,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix
- public:
- MemoryUsageMonitorPosix() = default;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- static void Bind(
- mojo::PendingReceiver<mojom::blink::MemoryUsageMonitorLinux> receiver);
- #endif
-@@ -47,7 +47,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix
- uint64_t* vm_size,
- uint64_t* vm_hwm_size);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // mojom::MemoryUsageMonitorLinux implementations:
- void SetProcFiles(base::File statm_file, base::File status_file) override;
- #endif
-@@ -65,7 +65,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix
- base::ScopedFD statm_fd_;
- base::ScopedFD status_fd_;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- mojo::Receiver<mojom::blink::MemoryUsageMonitorLinux> receiver_{this};
- #endif
- };
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
deleted file mode 100644
index 1ba55b799c74..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2020-03-16 18:39:56 UTC
-+++ third_party/blink/renderer/core/editing/editing_behavior.cc
-@@ -274,7 +274,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb
- // unexpected behaviour
- if (ch < ' ')
- return false;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // According to XKB map no keyboard combinations with ctrl key are mapped to
- // printable characters, however we need the filter as the DomKey/text could
- // contain printable characters.
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
deleted file mode 100644
index af22ef50a74c..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2020-02-03 21:52:51 UTC
-+++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc
-@@ -41,7 +41,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin
- base::TimeDelta::FromMicroseconds(100);
-
- /* The value is based on user statistics on Nov 2017. */
--#if (defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN))
-+#if (defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)) || defined(OS_BSD)
- const double kIdleTaskStartTimeoutDelayMs = 1000.0;
- #else
- const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc b/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc
deleted file mode 100644
index d05dcc105788..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/core/html/forms/internal_popup_menu.cc.orig 2020-03-16 18:40:35 UTC
-+++ third_party/blink/renderer/core/html/forms/internal_popup_menu.cc
-@@ -122,7 +122,7 @@ class InternalPopupMenu::ItemIterationContext {
- is_in_group_(false),
- buffer_(buffer) {
- DCHECK(buffer_);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On other platforms, the <option> background color is the same as the
- // <select> background color. On Linux, that makes the <option>
- // background color very dark, so by default, try to use a lighter
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
deleted file mode 100644
index 5f3d6ec67939..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2019-09-09 21:55:24 UTC
-+++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc
-@@ -184,7 +184,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t
-
- Vector<String> InspectorMemoryAgent::Symbolize(
- const WebVector<void*>& addresses) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // TODO(alph): Move symbolization to the client.
- Vector<void*> addresses_to_symbolize;
- for (size_t i = 0; i < addresses.size(); i++) {
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc
deleted file mode 100644
index eb2c92cf0610..000000000000
--- a/www/iridium/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 2020-03-16 18:40:35 UTC
-+++ third_party/blink/renderer/core/layout/layout_view.cc
-@@ -59,7 +59,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
-
-@@ -326,7 +326,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/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
deleted file mode 100644
index 8414327a53f4..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2020-03-16 18:40:35 UTC
-+++ third_party/blink/renderer/core/paint/paint_layer.cc
-@@ -106,7 +106,7 @@ namespace {
- static CompositingQueryMode g_compositing_query_mode =
- kCompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases;
-
--#ifdef OS_LINUX
-+#if defined(OS_LINUX) || defined(OS_BSD)
- struct SameSizeAsPaintLayer : DisplayItemClient {
- // The bit fields may fit into the machine word of DisplayItemClient which
- // has only 8-bit data.
diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc
deleted file mode 100644
index 2d02c5dfa4c2..000000000000
--- a/www/iridium/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 2020-03-16 18:39: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) && !defined(OS_CHROMEOS))
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- return false;
- #endif
-
-@@ -301,7 +301,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/www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc
deleted file mode 100644
index 14dc2ef5bb1a..000000000000
--- a/www/iridium/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 2020-03-16 18:39:56 UTC
-+++ third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc
-@@ -444,7 +444,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor(
- bool key_pressed) {
- #if defined(OS_WIN) || defined(OS_MACOSX)
- 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/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn
deleted file mode 100644
index 6c239154d0c0..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/blink/renderer/platform/BUILD.gn.orig 2020-03-16 18:40:35 UTC
-+++ third_party/blink/renderer/platform/BUILD.gn
-@@ -100,6 +100,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/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
deleted file mode 100644
index 086b16ed616f..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2020-02-03 21:52:52 UTC
-+++ third_party/blink/renderer/platform/fonts/font_cache.cc
-@@ -76,7 +76,7 @@ static const char kColorEmojiLocale[] = "und-Zsye";
-
- SkFontMgr* FontCache::static_font_manager_ = nullptr;
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- float FontCache::device_scale_factor_ = 1.0;
- #endif
-
-@@ -115,7 +115,7 @@ FontCache::FontCache()
- FontPlatformData* FontCache::SystemFontPlatformData(
- const FontDescription& font_description) {
- const AtomicString& family = FontCache::SystemFontFamily();
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- if (family.IsEmpty() || family == font_family_names::kSystemUi)
- return nullptr;
- #else
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h
deleted file mode 100644
index ea74c8b323ef..000000000000
--- a/www/iridium/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 2020-02-03 21:52:52 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/gfx/font_fallback_linux.h"
- #endif
-
-@@ -166,7 +166,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_; }
-@@ -241,11 +241,11 @@ class PLATFORM_EXPORT FontCache {
- const FontDescription&);
- #endif // defined(OS_ANDROID)
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- static bool GetFontForCharacter(UChar32,
- const char* preferred_locale,
- gfx::FallbackFontData*);
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FontDataFromFontPlatformData(
- const FontPlatformData*,
-@@ -317,12 +317,12 @@ class PLATFORM_EXPORT FontCache {
- const FontFaceCreationParams&,
- std::string& name);
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- static AtomicString GetFamilyNameForCharacter(SkFontMgr*,
- UChar32,
- const FontDescription&,
- FontFallbackPriority);
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle(
- const FontDescription&,
-@@ -356,7 +356,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/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
deleted file mode 100644
index 3c38c7f4dc44..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2019-12-16 21:50:53 UTC
-+++ third_party/blink/renderer/platform/fonts/font_description.cc
-@@ -38,7 +38,7 @@
- #include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
- #include "third_party/blink/renderer/platform/wtf/text/string_hasher.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
-
-@@ -225,7 +225,7 @@ FontCacheKey FontDescription::CacheKey(
- static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3
- static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1
-
--#if defined(OS_LINUX) || defined(OS_CHROMEOS)
-+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)
- float device_scale_factor_for_key = FontCache::DeviceScaleFactor();
- #else
- float device_scale_factor_for_key = 1.0f;
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
deleted file mode 100644
index 4445ec96128b..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2019-07-24 18:58:42 UTC
-+++ third_party/blink/renderer/platform/fonts/font_metrics.cc
-@@ -38,7 +38,7 @@
-
- namespace blink {
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // This is the largest VDMX table which we'll try to load and parse.
- static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB
- #endif
-@@ -60,7 +60,7 @@ void FontMetrics::AscentDescentWithHacks(
- int vdmx_ascent = 0, vdmx_descent = 0;
- bool is_vdmx_valid = false;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // Manually digging up VDMX metrics is only applicable when bytecode hinting
- // using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever
- // done. This code should be pushed into FreeType (hinted font metrics).
-@@ -106,7 +106,7 @@ void FontMetrics::AscentDescentWithHacks(
- visual_overflow_inflation_for_ascent = 1;
- if (descent < metrics.fDescent) {
- visual_overflow_inflation_for_descent = 1;
--#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
- // When subpixel positioning is enabled, if the descent is rounded down,
- // the descent part of the glyph may be truncated when displayed in a
- // 'overflow: hidden' container. To avoid that, borrow 1 unit from the
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
deleted file mode 100644
index 4766c40ab521..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc.orig 2019-06-04 18:55:30 UTC
-+++ third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc
-@@ -8,7 +8,7 @@
- #if defined(OS_ANDROID)
- #include "third_party/blink/public/mojom/font_unique_name_lookup/font_unique_name_lookup.mojom-blink.h"
- #include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "third_party/blink/renderer/platform/fonts/linux/font_unique_name_lookup_linux.h"
- #elif defined(OS_WIN)
- #include "third_party/blink/renderer/platform/fonts/win/font_unique_name_lookup_win.h"
-@@ -23,7 +23,7 @@ std::unique_ptr<FontUniqueNameLookup>
- FontUniqueNameLookup::GetPlatformUniqueNameLookup() {
- #if defined(OS_ANDROID)
- return std::make_unique<FontUniqueNameLookupAndroid>();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return std::make_unique<FontUniqueNameLookupLinux>();
- #elif defined(OS_WIN)
- return std::make_unique<FontUniqueNameLookupWin>();
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
deleted file mode 100644
index 01d7699e4ddb..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2019-09-09 21:55:26 UTC
-+++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
-@@ -59,7 +59,7 @@ AtomicString ToAtomicString(const SkString& str) {
- return AtomicString::FromUTF8(str.c_str(), str.size());
- }
-
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- // This function is called on android or when we are emulating android fonts on
- // linux and the embedder has overriden the default fontManager with
- // WebFontRendering::setSkiaFontMgr.
-@@ -82,7 +82,7 @@ AtomicString FontCache::GetFamilyNameForCharacter(
- typeface->getFamilyName(&skia_family_name);
- return ToAtomicString(skia_family_name);
- }
--#endif // defined(OS_ANDROID) || defined(OS_LINUX)
-+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
-
- void FontCache::PlatformInit() {}
-
-@@ -227,7 +227,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface(
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- // On linux if the fontManager has been overridden then we should be calling
- // the embedder provided font Manager rather than calling
- // SkTypeface::CreateFromName which may redirect the call to the default font
-@@ -254,7 +254,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon
- std::string name;
-
- sk_sp<SkTypeface> typeface;
--#if defined(OS_ANDROID) || defined(OS_LINUX)
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)
- if (alternate_name == AlternateFontName::kLocalUniqueFace &&
- RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) {
- typeface = CreateTypefaceFromUniqueName(creation_params);
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
deleted file mode 100644
index 27b83fe51ce9..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h
+++ /dev/null
@@ -1,27 +0,0 @@
---- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2019-06-04 18:55:30 UTC
-+++ third_party/blink/renderer/platform/wtf/container_annotations.h
-@@ -10,7 +10,7 @@
-
- // TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86
- // once the crashes there have been fixed: http://crbug.com/461406
--#if defined(ADDRESS_SANITIZER) && defined(OS_LINUX) && defined(ARCH_CPU_X86_64)
-+#if defined(ADDRESS_SANITIZER) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64)
- #define ANNOTATE_CONTIGUOUS_CONTAINER
- #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \
- if (buffer) { \
-@@ -35,13 +35,13 @@
- ANNOTATE_NEW_BUFFER(buffer, newCapacity, bufferSize);
- // Annotations require buffers to begin on an 8-byte boundary.
-
--#else // ADDRESS_SANITIZER && OS_LINUX && ARCH_CPU_X86_64
-+#else // ADDRESS_SANITIZER && (OS_LINUX || OS_BSD) && ARCH_CPU_X86_64
-
- #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize)
- #define ANNOTATE_DELETE_BUFFER(buffer, capacity, oldSize)
- #define ANNOTATE_CHANGE_SIZE(buffer, capacity, oldSize, newSize)
- #define ANNOTATE_CHANGE_CAPACITY(buffer, oldCapacity, bufferSize, newCapacity)
-
--#endif // ADDRESS_SANITIZER && OS_LINUX && ARCH_CPU_X86_64
-+#endif // ADDRESS_SANITIZER && (OS_LINUX || OS_BSD) && ARCH_CPU_X86_64
-
- #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_CONTAINER_ANNOTATIONS_H_
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
deleted file mode 100644
index 24a812ce5223..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2019-06-04 18:55:30 UTC
-+++ third_party/blink/renderer/platform/wtf/stack_util.cc
-@@ -17,6 +17,11 @@
- extern "C" void* __libc_stack_end; // NOLINT
- #endif
-
-+#if defined(OS_FREEBSD)
-+#include <sys/signal.h>
-+#include <pthread_np.h>
-+#endif
-+
- namespace WTF {
-
- size_t GetUnderestimatedStackSize() {
diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
deleted file mode 100644
index 1ab0c14a5a4e..000000000000
--- a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/blink/renderer/platform/wtf/threading_pthreads.cc.orig 2019-12-16 21:50:53 UTC
-+++ third_party/blink/renderer/platform/wtf/threading_pthreads.cc
-@@ -50,12 +50,17 @@
- #include <objc/objc-auto.h>
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <sys/syscall.h>
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <unistd.h>
-+#endif
-+
-+#if defined(OS_BSD)
-+#include <sys/signal.h>
-+#include <pthread_np.h>
- #endif
-
- namespace WTF {
diff --git a/www/iridium/files/patch-third__party_boringssl_BUILD.gn b/www/iridium/files/patch-third__party_boringssl_BUILD.gn
deleted file mode 100644
index 8a3c15eac37d..000000000000
--- a/www/iridium/files/patch-third__party_boringssl_BUILD.gn
+++ /dev/null
@@ -1,36 +0,0 @@
---- third_party/boringssl/BUILD.gn.orig 2019-12-16 21:51:04 UTC
-+++ third_party/boringssl/BUILD.gn
-@@ -71,7 +71,7 @@ if (is_win && !is_msan && current_cpu != "arm64") {
- } else if (current_cpu == "x64") {
- if (is_mac) {
- sources += crypto_sources_mac_x86_64
-- } else if (is_linux || is_android) {
-+ } else if (is_linux || is_bsd || is_android) {
- sources += crypto_sources_linux_x86_64
- } else {
- public_configs = [ ":no_asm_config" ]
-@@ -79,13 +79,13 @@ if (is_win && !is_msan && current_cpu != "arm64") {
- } else if (current_cpu == "x86") {
- if (is_mac) {
- sources += crypto_sources_mac_x86
-- } else if (is_linux || is_android) {
-+ } else if (is_linux || is_bsd || is_android) {
- sources += crypto_sources_linux_x86
- } else {
- public_configs = [ ":no_asm_config" ]
- }
- } else if (current_cpu == "arm") {
-- if (is_linux || is_android) {
-+ if (is_linux || is_bsd || is_android) {
- sources += crypto_sources_linux_arm
- } else if (is_ios) {
- sources += crypto_sources_ios_arm
-@@ -93,7 +93,7 @@ if (is_win && !is_msan && current_cpu != "arm64") {
- public_configs = [ ":no_asm_config" ]
- }
- } else if (current_cpu == "arm64") {
-- if (is_linux || is_android) {
-+ if (is_linux || is_bsd || is_android) {
- sources += crypto_sources_linux_aarch64
- } else if (is_ios) {
- sources += crypto_sources_ios_aarch64
diff --git a/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c b/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
deleted file mode 100644
index 5856c89852d1..000000000000
--- a/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c
+++ /dev/null
@@ -1,73 +0,0 @@
---- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2020-03-03 18:55:22 UTC
-+++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c
-@@ -14,49 +14,45 @@
-
- #include <openssl/cpu.h>
-
--#if defined(OPENSSL_AARCH64) && defined(OPENSSL_LINUX) && \
-- !defined(OPENSSL_STATIC_ARMCAP)
-+#if defined(OPENSSL_AARCH64)
-
--#include <sys/auxv.h>
--
- #include <openssl/arm_arch.h>
-
- #include "internal.h"
-
--
- extern uint32_t OPENSSL_armcap_P;
-
--void OPENSSL_cpuid_setup(void) {
-- unsigned long hwcap = getauxval(AT_HWCAP);
-+#include <sys/types.h>
-+#include <machine/armreg.h>
-
-- // See /usr/include/asm/hwcap.h on an aarch64 installation for the source of
-- // these values.
-- static const unsigned long kNEON = 1 << 1;
-- static const unsigned long kAES = 1 << 3;
-- static const unsigned long kPMULL = 1 << 4;
-- static const unsigned long kSHA1 = 1 << 5;
-- static const unsigned long kSHA256 = 1 << 6;
-+#ifndef ID_AA64ISAR0_AES_VAL
-+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES
-+#endif
-+#ifndef ID_AA64ISAR0_SHA1_VAL
-+#define ID_AA64ISAR0_SHA1_VAL ID_AA64ISAR0_SHA1
-+#endif
-+#ifndef ID_AA64ISAR0_SHA2_VAL
-+#define ID_AA64ISAR0_SHA2_VAL ID_AA64ISAR0_SHA2
-+#endif
-
-- if ((hwcap & kNEON) == 0) {
-- // Matching OpenSSL, if NEON is missing, don't report other features
-- // either.
-- return;
-- }
-+void OPENSSL_cpuid_setup(void) {
-+ uint64_t id_aa64isar0;
-
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+
- OPENSSL_armcap_P |= ARMV7_NEON;
-
-- if (hwcap & kAES) {
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) >= ID_AA64ISAR0_AES_BASE) {
- OPENSSL_armcap_P |= ARMV8_AES;
- }
-- if (hwcap & kPMULL) {
-+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) {
- OPENSSL_armcap_P |= ARMV8_PMULL;
- }
-- if (hwcap & kSHA1) {
-+ if (ID_AA64ISAR0_SHA1_VAL(id_aa64isar0) == ID_AA64ISAR0_SHA1_BASE) {
- OPENSSL_armcap_P |= ARMV8_SHA1;
- }
-- if (hwcap & kSHA256) {
-+ if(ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) >= ID_AA64ISAR0_SHA2_BASE) {
- OPENSSL_armcap_P |= ARMV8_SHA256;
- }
- }
--
--#endif // OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP
-+#endif // OPENSSL_AARCH64
diff --git a/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c b/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c
deleted file mode 100644
index 6f2127918315..000000000000
--- a/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/boringssl/src/crypto/ex_data.c.orig 2019-03-11 22:07:58 UTC
-+++ third_party/boringssl/src/crypto/ex_data.c
-@@ -186,7 +186,9 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int index,
- }
- }
-
-- sk_void_set(ad->sk, index, val);
-+ // expression result unused; should this cast be to 'void'?
-+ // seems it should, feel free to investigate those #def
-+ (void) sk_void_set(ad->sk, index, val);
- return 1;
- }
-
diff --git a/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h b/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
deleted file mode 100644
index b0aaa7abccb6..000000000000
--- a/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/breakpad/breakpad/src/common/simple_string_dictionary.h.orig 2019-03-11 22:07:58 UTC
-+++ third_party/breakpad/breakpad/src/common/simple_string_dictionary.h
-@@ -33,7 +33,7 @@
- #include <assert.h>
- #include <string.h>
-
--#include "common/basictypes.h"
-+#include "third_party/breakpad/breakpad/src/common/basictypes.h"
-
- namespace google_breakpad {
-
diff --git a/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h b/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
deleted file mode 100644
index 0a76ed7ccadc..000000000000
--- a/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h.orig 2019-03-11 22:01:15 UTC
-+++ third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
-@@ -334,6 +334,8 @@ class Status {
- */
- PERMANENT_FAILURE
- };
-+
-+ Status() : code_(SUCCESS), message_() {}
-
- /* Creates a new Status object given the code and message. */
- Status(Code code, const string& message) : code_(code), message_(message) {}
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
deleted file mode 100644
index 97991dfed588..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2020-02-03 21:53:08 UTC
-+++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni
-@@ -38,7 +38,7 @@ if (crashpad_is_in_chromium) {
- crashpad_is_mac = is_mac
- crashpad_is_ios = is_ios
- crashpad_is_win = is_win
-- crashpad_is_linux = is_linux
-+ crashpad_is_linux = is_linux && !is_bsd
- crashpad_is_android = is_android
- crashpad_is_fuchsia = is_fuchsia
-
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
deleted file mode 100644
index acb48dc27344..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- third_party/crashpad/crashpad/client/BUILD.gn.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/client/BUILD.gn
-@@ -71,6 +71,12 @@ 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/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
deleted file mode 100644
index 9cafc79f1aff..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc
+++ /dev/null
@@ -1,41 +0,0 @@
---- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2019-03-17 01:47:14 UTC
-+++ third_party/crashpad/crashpad/client/crashpad_client_posix.cc
-@@ -0,0 +1,38 @@
-+// Copyright 2017 The Crashpad Authors. All rights reserved.
-+//
-+// 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
-+//
-+// http://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.
-+
-+#include "client/crashpad_client.h"
-+
-+#include "base/logging.h"
-+
-+namespace crashpad {
-+
-+CrashpadClient::CrashpadClient() {}
-+
-+CrashpadClient::~CrashpadClient() {}
-+
-+bool CrashpadClient::StartHandler(
-+ const base::FilePath& handler,
-+ const base::FilePath& database,
-+ const base::FilePath& metrics_dir,
-+ const std::string& url,
-+ const std::map<std::string, std::string>& annotations,
-+ const std::vector<std::string>& arguments,
-+ bool restartable,
-+ bool asynchronous_start) {
-+ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196
-+ return false;
-+}
-+
-+} // namespace crashpad
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h
deleted file mode 100644
index ead0b25e172c..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/crashpad/crashpad/util/misc/address_types.h.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/misc/address_types.h
-@@ -25,7 +25,7 @@
- #include <mach/mach_types.h>
- #elif defined(OS_WIN)
- #include "util/win/address_types.h"
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #include "util/linux/address_types.h"
- #elif defined(OS_FUCHSIA)
- #include <zircon/types.h>
-@@ -55,7 +55,7 @@ using VMSize = mach_vm_size_t;
- using VMAddress = WinVMAddress;
- using VMSize = WinVMSize;
-
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- using VMAddress = LinuxVMAddress;
- using VMSize = LinuxVMSize;
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
deleted file mode 100644
index be1a55b8d574..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/misc/capture_context.h
-@@ -21,7 +21,7 @@
- #include <mach/mach.h>
- #elif defined(OS_WIN)
- #include <windows.h>
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #include <ucontext.h>
- #elif defined(OS_FUCHSIA)
- #include <signal.h>
-@@ -35,7 +35,7 @@ using NativeCPUContext = x86_thread_state;
- #endif
- #elif defined(OS_WIN)
- using NativeCPUContext = CONTEXT;
--#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD)
- using NativeCPUContext = ucontext_t;
- #endif // OS_MACOSX
-
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc
deleted file mode 100644
index f1804888aee1..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/misc/metrics.cc
-@@ -25,7 +25,7 @@
- #define METRICS_OS_NAME "Win"
- #elif defined(OS_ANDROID)
- #define METRICS_OS_NAME "Android"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #define METRICS_OS_NAME "Linux"
- #elif defined(OS_FUCHSIA)
- #define METRICS_OS_NAME "Fuchsia"
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
deleted file mode 100644
index d7a1ca9a0fd0..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/misc/uuid.cc
-@@ -95,7 +95,7 @@ bool UUID::InitializeWithNew() {
- InitializeFromBytes(uuid);
- return true;
- #elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || \
-- defined(OS_FUCHSIA)
-+ defined(OS_FUCHSIA) || defined(OS_BSD)
- // Linux, Android, and Fuchsia do not provide a UUID generator in a
- // widely-available system library. On Linux and Android, uuid_generate()
- // from libuuid is not available everywhere.
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
deleted file mode 100644
index e7dc2e3561db..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/posix/close_multiple.cc
-@@ -31,7 +31,7 @@
- #include "util/file/directory_reader.h"
- #include "util/misc/implicit_cast.h"
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- #include <sys/sysctl.h>
- #endif
-
-@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) {
- // This is an advantage over looping over all possible file descriptors, because
- // no attempt needs to be made to close file descriptors that are not open.
- bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, int preserve_fd) {
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- static constexpr char kFDDir[] = "/dev/fd";
- #elif defined(OS_LINUX) || defined(OS_ANDROID)
- static constexpr char kFDDir[] = "/proc/self/fd";
-@@ -146,7 +146,7 @@ void CloseMultipleNowOrOnExec(int fd, int preserve_fd)
- // while the system is running, but it’s still a better upper bound than the
- // current RLIMIT_NOFILE value.
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // See 10.11.6 xnu-3248.60.10/bsd/kern/kern_resource.c maxfilesperproc,
- // referenced by dosetrlimit().
- int oid[] = {CTL_KERN, KERN_MAXFILESPERPROC};
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc
deleted file mode 100644
index 42ba7366e3cb..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/crashpad/crashpad/util/posix/drop_privileges.cc.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/posix/drop_privileges.cc
-@@ -23,7 +23,7 @@ void DropPrivileges() {
- gid_t gid = getgid();
- uid_t uid = getuid();
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_BSD)
- // Based on the POSIX.1-2008 2013 edition documentation for setreuid() and
- // setregid(), setreuid() and setregid() alone should be sufficient to drop
- // privileges. The standard specifies that the saved ID should be set to the
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
deleted file mode 100644
index 911ec6d61ccd..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc
+++ /dev/null
@@ -1,40 +0,0 @@
---- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2019-12-16 21:51:05 UTC
-+++ third_party/crashpad/crashpad/util/posix/signals.cc
-@@ -45,10 +45,10 @@ constexpr int kCrashSignals[] = {
- #if defined(SIGEMT)
- SIGEMT,
- #endif // defined(SIGEMT)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SIGXCPU,
- SIGXFSZ,
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- };
-
- // These are the non-core-generating but terminating signals.
-@@ -85,9 +85,9 @@ constexpr int kTerminateSignals[] = {
- SIGXCPU,
- SIGXFSZ,
- #endif // defined(OS_MACOSX)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- SIGIO,
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- };
-
- bool InstallHandlers(const std::vector<int>& signals,
-@@ -224,8 +224,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi
- // remains. See 10.12.3 xnu-3789.41.3/bsd/kern/kern_sig.c
- // psignal_internal().
- (code > 0 &&
-+#if defined(SI_ASYNCIO)
- code != SI_ASYNCIO &&
-+#endif
-+#if defined(SI_MESGQ)
- code != SI_MESGQ &&
-+#endif
- code != SI_QUEUE &&
- code != SI_TIMER &&
- code != SI_USER &&
diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
deleted file mode 100644
index 63645eb0d883..000000000000
--- a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2019-03-11 22:01:15 UTC
-+++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc
-@@ -64,7 +64,7 @@ constexpr const char* kSignalNames[] = {
- "INFO",
- "USR1",
- "USR2",
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- #if defined(ARCH_CPU_MIPS_FAMILY)
- "HUP",
- "INT",
-@@ -135,7 +135,7 @@ constexpr const char* kSignalNames[] = {
- #endif // defined(ARCH_CPU_MIPS_FAMILY)
- #endif
- };
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- // NSIG is 64 to account for real-time signals.
- static_assert(base::size(kSignalNames) == 32, "kSignalNames length");
- #else
diff --git a/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h b/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h
deleted file mode 100644
index 0dd0f21d8d58..000000000000
--- a/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h
+++ /dev/null
@@ -1,57 +0,0 @@
---- third_party/crc32c/src/src/crc32c_arm64_linux_check.h.orig 2020-03-03 18:55:23 UTC
-+++ third_party/crc32c/src/src/crc32c_arm64_linux_check.h
-@@ -7,8 +7,6 @@
- #ifndef CRC32C_CRC32C_ARM_LINUX_CHECK_H_
- #define CRC32C_CRC32C_ARM_LINUX_CHECK_H_
-
--// X86-specific code checking for the availability of SSE4.2 instructions.
--
- #include <cstddef>
- #include <cstdint>
-
-@@ -16,30 +14,25 @@
-
- #if HAVE_ARM64_CRC32C
-
--#if HAVE_STRONG_GETAUXVAL
--#include <sys/auxv.h>
--#elif HAVE_WEAK_GETAUXVAL
--// getauxval() is not available on Android until API level 20. Link it as a weak
--// symbol.
--extern "C" unsigned long getauxval(unsigned long type) __attribute__((weak));
-+#include <sys/types.h>
-+#include <machine/armreg.h>
-
--#define AT_HWCAP 16
--#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL
-+#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
-
- namespace crc32c {
-
--inline bool CanUseArm64Linux() {
--#if HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL
-- // From 'arch/arm64/include/uapi/asm/hwcap.h' in Linux kernel source code.
-- constexpr unsigned long kHWCAP_PMULL = 1 << 4;
-- constexpr unsigned long kHWCAP_CRC32 = 1 << 7;
-- unsigned long hwcap = (&getauxval != nullptr) ? getauxval(AT_HWCAP) : 0;
-- return (hwcap & (kHWCAP_PMULL | kHWCAP_CRC32)) ==
-- (kHWCAP_PMULL | kHWCAP_CRC32);
--#else
-- return false;
--#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL
--}
-+ inline bool CanUseArm64Linux() {
-+ uint64_t id_aa64isar0;
-+
-+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1);
-+ return ((ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) &&
-+ (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE));
-+ }
-
- } // namespace crc32c
-
diff --git a/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c b/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c
deleted file mode 100644
index 23d1e5344a09..000000000000
--- a/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/ffmpeg/libavutil/mem.c.orig 2019-03-11 22:08:00 UTC
-+++ third_party/ffmpeg/libavutil/mem.c
-@@ -32,9 +32,6 @@
- #include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
--#if HAVE_MALLOC_H
--#include <malloc.h>
--#endif
-
- #include "avassert.h"
- #include "avutil.h"
diff --git a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
deleted file mode 100644
index ba45bf4dc184..000000000000
--- a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- third_party/googletest/src/googletest/src/gtest-port.cc.orig 2020-03-16 18:42:08 UTC
-+++ third_party/googletest/src/googletest/src/gtest-port.cc
-@@ -64,6 +64,11 @@
- # endif
- #endif
-
-+#if GTEST_OS_FREEBSD
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#endif
-+
- #if GTEST_OS_QNX
- # include <devctl.h>
- # include <fcntl.h>
-@@ -138,6 +143,28 @@ size_t GetThreadCount() {
- } else {
- return 0;
- }
-+}
-+
-+#elif GTEST_OS_FREEBSD
-+
-+#define KP_NLWP(kp) (kp.ki_numthreads)
-+
-+// Return the number of threads running in the process, or 0 to indicate that
-+// we cannot detect it.
-+size_t GetThreadCount() {
-+ int mib[] = {
-+ CTL_KERN,
-+ KERN_PROC,
-+ KERN_PROC_PID,
-+ getpid(),
-+ };
-+ u_int miblen = sizeof(mib) / sizeof(mib[0]);
-+ struct kinfo_proc(info);
-+ size_t size = sizeof(info);
-+ if (sysctl(mib, miblen, &info, &size, NULL, 0)) {
-+ return 0;
-+ }
-+ return KP_NLWP(info);
- }
-
- #elif GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \
diff --git a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc
deleted file mode 100644
index e56b6079f8f5..000000000000
--- a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/googletest/src/googletest/src/gtest.cc.orig 2020-03-16 18:42:08 UTC
-+++ third_party/googletest/src/googletest/src/gtest.cc
-@@ -118,6 +118,7 @@
-
- #if GTEST_CAN_STREAM_RESULTS_
- # include <arpa/inet.h> // NOLINT
-+# include <sys/socket.h> // NOLINT
- # include <netdb.h> // NOLINT
- # include <sys/socket.h> // NOLINT
- # include <sys/types.h> // NOLINT
diff --git a/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni b/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
deleted file mode 100644
index eb8e42c94bca..000000000000
--- a/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/harfbuzz-ng/harfbuzz.gni.orig 2019-05-04 09:19:19 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/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc b/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc
deleted file mode 100644
index 74a2d6efc9a1..000000000000
--- a/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/leveldatabase/env_chromium.cc.orig 2020-03-16 18:40:42 UTC
-+++ third_party/leveldatabase/env_chromium.cc
-@@ -40,7 +40,11 @@
- #include "third_party/leveldatabase/leveldb_chrome.h"
- #include "third_party/leveldatabase/leveldb_features.h"
- #include "third_party/leveldatabase/src/include/leveldb/options.h"
-+#if defined(OS_BSD)
-+#include <re2/re2.h>
-+#else
- #include "third_party/re2/src/re2/re2.h"
-+#endif
-
- using base::FilePath;
- using base::trace_event::MemoryAllocatorDump;
diff --git a/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c b/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c
deleted file mode 100644
index 3d2353cdedae..000000000000
--- a/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c
+++ /dev/null
@@ -1,25 +0,0 @@
---- third_party/libXNVCtrl/NVCtrl.c.orig 2019-03-11 22:01:15 UTC
-+++ third_party/libXNVCtrl/NVCtrl.c
-@@ -27,10 +27,6 @@
- * libXNVCtrl library properly protects the Display connection.
- */
-
--#if !defined(XTHREADS)
--#define XTHREADS
--#endif /* XTHREADS */
--
- #define NEED_EVENTS
- #define NEED_REPLIES
- #include <stdint.h>
-@@ -39,6 +35,11 @@
- #include <X11/Xutil.h>
- #include <X11/extensions/Xext.h>
- #include <X11/extensions/extutil.h>
-+
-+#if !defined(XTHREADS)
-+#define XTHREADS
-+#endif /* XTHREADS */
-+
- #include "NVCtrlLib.h"
- #include "nv_control.h"
-
diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
deleted file mode 100644
index 0815f041a8db..000000000000
--- a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2019-03-11 22:08:01 UTC
-+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h
-@@ -56,7 +56,7 @@ template <class T> boost::once_flag Singleton<T>::flag
- #include "phonenumbers/base/logging.h"
- #include "phonenumbers/base/thread_checker.h"
-
--#if !defined(__linux__) && !defined(__APPLE__)
-+#if !defined(__linux__) && !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
-
- namespace i18n {
- namespace phonenumbers {
diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
deleted file mode 100644
index b09577e3c1d7..000000000000
--- a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2019-10-21 19:09:13 UTC
-+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h
-@@ -63,7 +63,7 @@ class Lock { (private)
- // Dummy lock implementation on non-POSIX platforms. If you are running on a
- // different platform and care about thread-safety, please compile with
- // -DI18N_PHONENUMBERS_USE_BOOST.
--#elif !defined(__linux__) && !defined(__APPLE__)
-+#elif !defined(__linux__) && !defined(__APPLE__) && !defined(__FreeBSD__)
-
- namespace i18n {
- namespace phonenumbers {
diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
deleted file mode 100644
index 86849dfe63cd..000000000000
--- a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2019-03-11 22:08:01 UTC
-+++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h
-@@ -23,6 +23,7 @@
- // user of the library know that it can't be used in a thread-safe manner when
- // it is not depending on Boost.
- #if !defined(__linux__) && !defined(__APPLE__) && \
-+ !defined(__FreeBSD__) && !defined(__OpenBSD__) && \
- !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY)
- #error Building without Boost, please provide \
- -DI18N_PHONENUMBERS_NO_THREAD_SAFETY
-@@ -31,7 +32,7 @@
- #endif
-
- #if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \
-- (defined(__linux__) || defined(__apple__))
-+ (defined(__linux__) || defined(__apple__)) || defined(__FreeBSD__) || defined(__OpenBSD__)
-
- #include <pthread.h>
-
diff --git a/www/iridium/files/patch-third__party_libpng_pnglibconf.h b/www/iridium/files/patch-third__party_libpng_pnglibconf.h
deleted file mode 100644
index 81996a0cfa58..000000000000
--- a/www/iridium/files/patch-third__party_libpng_pnglibconf.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/libpng/pnglibconf.h.orig 2020-03-03 18:53:28 UTC
-+++ third_party/libpng/pnglibconf.h
-@@ -230,8 +230,11 @@
- * This is necessary to build multiple copies of libpng. We need this while pdfium builds
- * its own copy of libpng.
- */
-+/* Need to disable prefixing to unbundle chromium's libpng. */
-+#if 0
- #define PNG_PREFIX
- #include "pngprefix.h"
-+#endif
- /* end of chromium prefixing */
-
- #endif /* PNGLCONF_H */
diff --git a/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h b/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h
deleted file mode 100644
index 25761a9d90ec..000000000000
--- a/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h
+++ /dev/null
@@ -1,37 +0,0 @@
---- third_party/libyuv/include/libyuv/row.h.orig 2019-03-11 22:08:01 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/www/iridium/files/patch-third__party_nasm_config_config-linux.h b/www/iridium/files/patch-third__party_nasm_config_config-linux.h
deleted file mode 100644
index 6846af2fe7c7..000000000000
--- a/www/iridium/files/patch-third__party_nasm_config_config-linux.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/nasm/config/config-linux.h.orig 2019-04-30 22:25:54 UTC
-+++ third_party/nasm/config/config-linux.h
-@@ -117,7 +117,7 @@
- #define HAVE_ACCESS 1
-
- /* Define to 1 if you have the `canonicalize_file_name' function. */
--#define HAVE_CANONICALIZE_FILE_NAME 1
-+/* #undef HAVE_CANONICALIZE_FILE_NAME */
-
- /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */
- /* #undef HAVE_CPU_TO_LE16 */
-@@ -161,7 +161,7 @@
- #define HAVE_DECL_STRSEP 1
-
- /* Define to 1 if you have the <endian.h> header file. */
--#define HAVE_ENDIAN_H 1
-+/* #undef HAVE_ENDIAN_H */
-
- /* Define to 1 if you have the `faccessat' function. */
- #define HAVE_FACCESSAT 1
-@@ -322,7 +322,7 @@
- #define HAVE_SYSCONF 1
-
- /* Define to 1 if you have the <sys/endian.h> header file. */
--/* #undef HAVE_SYS_ENDIAN_H */
-+#define HAVE_SYS_ENDIAN_H 1
-
- /* Define to 1 if you have the <sys/mman.h> header file. */
- #define HAVE_SYS_MMAN_H 1
diff --git a/www/iridium/files/patch-third__party_node_node.py b/www/iridium/files/patch-third__party_node_node.py
deleted file mode 100644
index d31ac51040e3..000000000000
--- a/www/iridium/files/patch-third__party_node_node.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/node/node.py.orig 2019-03-11 22:01:16 UTC
-+++ third_party/node/node.py
-@@ -12,6 +12,7 @@ import sys
- def GetBinaryPath():
- return os_path.join(os_path.dirname(__file__), *{
- 'Darwin': ('mac', 'node-darwin-x64', 'bin', 'node'),
-+ 'FreeBSD': ('freebsd', 'node-freebsd-x64', 'bin', 'node'),
- 'Linux': ('linux', 'node-linux-x64', 'bin', 'node'),
- 'Windows': ('win', 'node.exe'),
- }[platform.system()])
diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
deleted file mode 100644
index 0e9aa30717ed..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/pdfium/core/fxcrt/cfx_datetime.cpp.orig 2019-07-29 13:55:20 UTC
-+++ third_party/pdfium/core/fxcrt/cfx_datetime.cpp
-@@ -9,7 +9,7 @@
- #include "build/build_config.h"
- #include "core/fxcrt/fx_system.h"
-
--#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || \
-+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \
- defined(OS_ASMJS) || defined(__wasm__)
- #include <sys/time.h>
- #include <time.h>
diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h
deleted file mode 100644
index 05d6c3e28de0..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/pdfium/core/fxcrt/fx_system.h.orig 2019-07-24 19:03:29 UTC
-+++ third_party/pdfium/core/fxcrt/fx_system.h
-@@ -26,7 +26,7 @@
- #define _FX_PLATFORM_ _FX_PLATFORM_WINDOWS_
- #elif defined(_WIN64)
- #define _FX_PLATFORM_ _FX_PLATFORM_WINDOWS_
--#elif defined(__linux__)
-+#elif defined(__linux__) || defined(__FreeBSD__)
- #define _FX_PLATFORM_ _FX_PLATFORM_LINUX_
- #elif defined(__APPLE__)
- #define _FX_PLATFORM_ _FX_PLATFORM_APPLE_
diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp b/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp
deleted file mode 100644
index 272bf7a50bf9..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/pdfium/core/fxge/fx_ge_linux.cpp.orig 2020-03-16 18:42:12 UTC
-+++ third_party/pdfium/core/fxge/fx_ge_linux.cpp
-@@ -155,9 +155,8 @@ std::unique_ptr<SystemFontInfoIface> SystemFontInfoIfa
- const char** pUserPaths) {
- auto pInfo = pdfium::MakeUnique<CFX_LinuxFontInfo>();
- if (!pInfo->ParseFontCfg(pUserPaths)) {
-- pInfo->AddPath("/usr/share/fonts");
-- pInfo->AddPath("/usr/share/X11/fonts/Type1");
-- pInfo->AddPath("/usr/share/X11/fonts/TTF");
-+ pInfo->AddPath("/usr/local/share/fonts/Type1");
-+ pInfo->AddPath("/usr/local/share/fonts/TTF");
- pInfo->AddPath("/usr/local/share/fonts");
- }
- return std::move(pInfo);
diff --git a/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp b/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
deleted file mode 100644
index 292afa1968d0..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
---- third_party/pdfium/fxjs/cjs_publicmethods.cpp.orig 2019-06-04 18:58:01 UTC
-+++ third_party/pdfium/fxjs/cjs_publicmethods.cpp
-@@ -86,6 +86,103 @@ constexpr const wchar_t* kDateFormats[] = {L"m/d",
- constexpr const wchar_t* kTimeFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
- L"h:MM:ss tt"};
-
-+#if defined(__FreeBSD__)
-+/*
-+ * cvt.c - IEEE floating point formatting routines for FreeBSD
-+ * from GNU libc-4.6.27
-+ */
-+
-+/*
-+ * ap_ecvt converts to decimal
-+ * the number of digits is specified by ndigit
-+ * decpt is set to the position of the decimal point
-+ * sign is set to 0 for positive, 1 for negative
-+ */
-+
-+#define NDIG 80
-+
-+static char *
-+ ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag)
-+{
-+ register int r2;
-+ double fi, fj;
-+ register char *p, *p1;
-+ static char buf[NDIG];
-+
-+ if (ndigits >= NDIG - 1)
-+ ndigits = NDIG - 2;
-+ r2 = 0;
-+ *sign = 0;
-+ p = &buf[0];
-+ if (arg < 0) {
-+ *sign = 1;
-+ arg = -arg;
-+ }
-+ arg = modf(arg, &fi);
-+ p1 = &buf[NDIG];
-+ /*
-+ * Do integer part
-+ */
-+ if (fi != 0) {
-+ p1 = &buf[NDIG];
-+ while (fi != 0) {
-+ fj = modf(fi / 10, &fi);
-+ *--p1 = (int) ((fj + .03) * 10) + '0';
-+ r2++;
-+ }
-+ while (p1 < &buf[NDIG])
-+ *p++ = *p1++;
-+ }
-+ else if (arg > 0) {
-+ while ((fj = arg * 10) < 1) {
-+ arg = fj;
-+ r2--;
-+ }
-+ }
-+ p1 = &buf[ndigits];
-+ if (eflag == 0)
-+ p1 += r2;
-+ *decpt = r2;
-+ if (p1 < &buf[0]) {
-+ buf[0] = '\0';
-+ return (buf);
-+ }
-+ while (p <= p1 && p < &buf[NDIG]) {
-+ arg *= 10;
-+ arg = modf(arg, &fj);
-+ *p++ = (int) fj + '0';
-+ }
-+ if (p1 >= &buf[NDIG]) {
-+ buf[NDIG - 1] = '\0';
-+ return (buf);
-+ }
-+ p = p1;
-+ *p1 += 5;
-+ while (*p1 > '9') {
-+ *p1 = '0';
-+ if (p1 > buf)
-+ ++ * --p1;
-+ else {
-+ *p1 = '1';
-+ (*decpt)++;
-+ if (eflag == 0) {
-+ if (p > buf)
-+ *p = '0';
-+ p++;
-+ }
-+ }
-+ }
-+ *p = '\0';
-+ return (buf);
-+}
-+
-+static char *
-+ fcvt(double arg, int ndigits, int *decpt, int *sign)
-+{
-+ return (ap_cvt(arg, ndigits, decpt, sign, 0));
-+}
-+#endif // defined(__FreeBSD__)
-+
- template <typename T>
- T StrTrim(const T& str) {
- T result = str;
diff --git a/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp b/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
deleted file mode 100644
index 425ec0a4bc9a..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2019-07-24 19:03:29 UTC
-+++ third_party/pdfium/fxjs/fx_date_helpers.cpp
-@@ -35,6 +35,11 @@ double GetLocalTZA() {
- return 0;
- time_t t = 0;
- FXSYS_time(&t);
-+#ifdef __FreeBSD__
-+ struct tm lt;
-+ localtime_r(&t, &lt);
-+ return (double)(-(lt.tm_gmtoff * 1000));
-+#else
- FXSYS_localtime(&t);
- #if defined(OS_WIN)
- // In gcc 'timezone' is a global variable declared in time.h. In VC++, that
-@@ -43,6 +48,7 @@ double GetLocalTZA() {
- _get_timezone(&timezone);
- #endif
- return (double)(-(timezone * 1000));
-+#endif // __FreeBSD__
- }
-
- int GetDaylightSavingTA(double d) {
diff --git a/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp b/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp
deleted file mode 100644
index af4bafcfee40..000000000000
--- a/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp.orig 2019-07-24 19:03:30 UTC
-+++ third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp
-@@ -16,9 +16,8 @@ constexpr char kFolderSeparator = '/';
-
- constexpr const char* kFontFolders[] = {
- #if _FX_PLATFORM_ == _FX_PLATFORM_LINUX_
-- "/usr/share/fonts",
-- "/usr/share/X11/fonts/Type1",
-- "/usr/share/X11/fonts/TTF",
-+ "/usr/local/share/fonts/Type1",
-+ "/usr/local/share/fonts/TTF",
- "/usr/local/share/fonts",
- #elif defined(OS_MACOSX)
- "~/Library/Fonts",
diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
deleted file mode 100644
index 02a9c66ed8e5..000000000000
--- a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
+++ /dev/null
@@ -1,70 +0,0 @@
---- third_party/perfetto/include/perfetto/base/build_config.h.orig 2020-03-16 18:42:11 UTC
-+++ third_party/perfetto/include/perfetto/base/build_config.h
-@@ -28,6 +28,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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() 0
-@@ -37,6 +38,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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
-@@ -50,15 +52,27 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
-+#elif defined(__FreeBSD__)
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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_WASM() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0
-+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
- #elif defined(_WIN32)
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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_WASM() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-@@ -68,6 +82,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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() 1
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
-@@ -77,6 +92,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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
-@@ -86,6 +102,7 @@
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
- #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 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() 0
diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
deleted file mode 100644
index c8947d13ecbf..000000000000
--- a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
+++ /dev/null
@@ -1,24 +0,0 @@
---- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2020-03-16 18:42:11 UTC
-+++ third_party/perfetto/include/perfetto/base/thread_utils.h
-@@ -33,6 +33,9 @@
- #include <sys/types.h>
- #include <unistd.h>
- #endif
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+#include <pthread_np.h>
-+#endif
-
- namespace perfetto {
- namespace base {
-@@ -41,6 +44,11 @@ namespace base {
- using PlatformThreadId = pid_t;
- inline PlatformThreadId GetThreadId() {
- return gettid();
-+}
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+using PlatformThreadId = pid_t;
-+inline PlatformThreadId GetThreadId() {
-+ return pthread_getthreadid_np();
- }
- #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
- using PlatformThreadId = pid_t;
diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h
deleted file mode 100644
index 7750793e8235..000000000000
--- a/www/iridium/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 2020-03-16 18:42:11 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/www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
deleted file mode 100644
index e49d012bec39..000000000000
--- a/www/iridium/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 2019-09-16 11:03:16 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/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
deleted file mode 100644
index 1196437c938c..000000000000
--- a/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/perfetto/src/base/thread_task_runner.cc.orig 2020-03-19 11:48:14 UTC
-+++ third_party/perfetto/src/base/thread_task_runner.cc
-@@ -27,7 +27,7 @@
- #include "perfetto/base/logging.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
-@@ -84,6 +84,8 @@ void ThreadTaskRunner::RunTaskThread(
- if (!name_.empty()) {
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX)
- pthread_setname_np(name_.c_str());
-+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
-+ pthread_set_name_np(pthread_self(), name_.c_str());
- #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
- prctl(PR_SET_NAME, name_.c_str());
diff --git a/www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc b/www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc
deleted file mode 100644
index f14075502887..000000000000
--- a/www/iridium/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 2020-03-16 18:42:11 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_MACOSX)
-+#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)
- #include <sys/ucred.h>
- #endif
-
-@@ -601,7 +601,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/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
deleted file mode 100644
index f778d36188f5..000000000000
--- a/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2020-03-16 18:42:12 UTC
-+++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc
-@@ -2306,6 +2306,7 @@ void TracingServiceImpl::SnapshotClocks(std::vector<Tr
-
- #if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && \
- !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
-+ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && \
- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
- struct {
- clockid_t id;
diff --git a/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc
deleted file mode 100644
index 7bc926acd7a0..000000000000
--- a/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-Backport of:
-
-From 46f0abc66c1d78c60a0415c5cb46852ef3bfa9bb Mon Sep 17 00:00:00 2001
-From: Nico Weber <thakis@chromium.org>
-Date: Sat, 8 Feb 2020 21:26:53 -0500
-Subject: [PATCH] Fix compile error emitted by trunk clang
-
-../../third_party/perfetto/src/tracing/core/virtual_destructors.cc:33:35:
-error: destructor cannot be declared using a type alias
- 'perfetto::TracingService::ConsumerEndpoint' (aka
- 'perfetto::ConsumerEndpoint') of the class name
-TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default;
-
-Bug: chromium:1050372
-
---- third_party/perfetto/src/tracing/core/virtual_destructors.cc.orig 2020-08-29 15:07:40 UTC
-+++ third_party/perfetto/src/tracing/core/virtual_destructors.cc
-@@ -30,8 +30,8 @@ namespace perfetto {
- Consumer::~Consumer() = default;
- Producer::~Producer() = default;
- TracingService::~TracingService() = default;
--TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default;
--TracingService::ProducerEndpoint::~ProducerEndpoint() = default;
-+ConsumerEndpoint::~ConsumerEndpoint() = default;
-+ProducerEndpoint::~ProducerEndpoint() = default;
- SharedMemory::~SharedMemory() = default;
- SharedMemory::Factory::~Factory() = default;
- SharedMemoryArbiter::~SharedMemoryArbiter() = default;
diff --git a/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h b/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
deleted file mode 100644
index 2f151107c8c2..000000000000
--- a/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2019-10-21 19:07:25 UTC
-+++ third_party/protobuf/src/google/protobuf/stubs/platform_macros.h
-@@ -118,7 +118,7 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR
-
- #undef GOOGLE_PROTOBUF_PLATFORM_ERROR
-
--#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__OpenBSD__)
-+#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__FreeBSD__)
- // Android ndk does not support the __thread keyword very well yet. Here
- // we use pthread_key_create()/pthread_getspecific()/... methods for
- // TLS support on android.
diff --git a/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp b/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp
deleted file mode 100644
index 4d7db67f8556..000000000000
--- a/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/skia/src/core/SkCpu.cpp.orig 2019-07-24 19:03:35 UTC
-+++ third_party/skia/src/core/SkCpu.cpp
-@@ -76,6 +76,8 @@
- #include <sys/auxv.h>
-
- static uint32_t read_cpu_features() {
-+return 0;
-+#if 0
- const uint32_t kHWCAP_CRC32 = (1<< 7),
- kHWCAP_ASIMDHP = (1<<10);
-
-@@ -112,6 +114,7 @@
- }
- }
- return features;
-+#endif
- }
-
- #elif defined(SK_CPU_ARM32) && __has_include(<sys/auxv.h>) && \
diff --git a/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h b/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
deleted file mode 100644
index 4621798922e7..000000000000
--- a/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/src/gpu/GrAutoLocaleSetter.h.orig 2019-03-11 22:08:28 UTC
-+++ third_party/skia/src/gpu/GrAutoLocaleSetter.h
-@@ -27,7 +27,7 @@
- #define HAVE_XLOCALE 0
- #endif
-
--#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION)
-+#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__FreeBSD__)
- #define HAVE_LOCALE_T 0
- #else
- #define HAVE_LOCALE_T 1
diff --git a/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp b/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
deleted file mode 100644
index 1241cb9d733b..000000000000
--- a/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
---- third_party/skia/src/images/SkJpegEncoder.cpp.orig 2019-09-09 21:57:02 UTC
-+++ third_party/skia/src/images/SkJpegEncoder.cpp
-@@ -76,9 +76,14 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- return (transform_scanline_proc) nullptr;
- };
-
-+#ifdef JCS_EXTENSIONS
- J_COLOR_SPACE jpegColorType = JCS_EXT_RGBA;
-+#else
-+ J_COLOR_SPACE jpegColorType = JCS_RGB;
-+#endif
- int numComponents = 0;
- switch (srcInfo.colorType()) {
-+#ifdef JCS_EXTENSIONS
- case kRGBA_8888_SkColorType:
- fProc = chooseProc8888();
- jpegColorType = JCS_EXT_RGBA;
-@@ -89,6 +94,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_EXT_BGRA;
- numComponents = 4;
- break;
-+#endif
- case kRGB_565_SkColorType:
- fProc = transform_scanline_565;
- jpegColorType = JCS_RGB;
-@@ -108,6 +114,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_GRAYSCALE;
- numComponents = 1;
- break;
-+#ifdef JCS_EXTENSIONS
- case kRGBA_F16_SkColorType:
- if (kUnpremul_SkAlphaType == srcInfo.alphaType() &&
- options.fAlphaOption == SkJpegEncoder::AlphaOption::kBlendOnBlack) {
-@@ -118,6 +125,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr
- jpegColorType = JCS_EXT_RGBA;
- numComponents = 4;
- break;
-+#endif
- default:
- return false;
- }
diff --git a/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp b/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
deleted file mode 100644
index ce10a392a3de..000000000000
--- a/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/src/ports/SkOSFile_stdio.cpp.orig 2020-02-03 21:54:56 UTC
-+++ third_party/skia/src/ports/SkOSFile_stdio.cpp
-@@ -132,7 +132,7 @@ void sk_fflush(FILE* f) {
-
- void sk_fsync(FILE* f) {
- #if !defined(_WIN32) && !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) \
-- && !defined(_NEWLIB_VERSION)
-+ && !defined(_NEWLIB_VERSION) && !defined(__FreeBSD__)
- int fd = fileno(f);
- fsync(fd);
- #endif
diff --git a/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h b/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h
deleted file mode 100644
index a6806cbac266..000000000000
--- a/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/src/sksl/SkSLString.h.orig 2019-12-16 21:56:18 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/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h b/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h
deleted file mode 100644
index 7357a76fa0f9..000000000000
--- a/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h.orig 2020-04-24 08:05:43 UTC
-+++ third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
-@@ -2232,7 +2232,7 @@ remove them if not needed.
- #include <mutex> // for std::mutex
- #include <atomic> // for std::atomic
-
--#if !defined(_WIN32) && !defined(__APPLE__)
-+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__FreeBSD__)
- #include <malloc.h> // for aligned_alloc()
- #endif
-
diff --git a/www/iridium/files/patch-third__party_sqlite_BUILD.gn b/www/iridium/files/patch-third__party_sqlite_BUILD.gn
deleted file mode 100644
index 9bc2ed01d5e2..000000000000
--- a/www/iridium/files/patch-third__party_sqlite_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/sqlite/BUILD.gn.orig 2019-09-09 21:55:43 UTC
-+++ third_party/sqlite/BUILD.gn
-@@ -262,7 +262,7 @@ config("sqlite_warnings") {
- ]
- }
- }
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- cflags += [
- # SQLite doesn't believe in compiler warnings, preferring testing.
- # http://www.sqlite.org/faq.html#q17
diff --git a/www/iridium/files/patch-third__party_swiftshader_BUILD.gn b/www/iridium/files/patch-third__party_swiftshader_BUILD.gn
deleted file mode 100644
index 7869c319cc9c..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_BUILD.gn
+++ /dev/null
@@ -1,24 +0,0 @@
---- third_party/swiftshader/BUILD.gn.orig 2020-03-16 18:42:12 UTC
-+++ third_party/swiftshader/BUILD.gn
-@@ -136,9 +136,6 @@ config("swiftshader_config") {
- ldflags = [ "-Wl,--gc-sections" ]
-
- if (target_cpu == "mipsel") {
-- ldflags += [
-- "-Wl,--hash-style=sysv",
-- ]
- if (mips_arch_variant == "r1") {
- ldflags += [
- "-mips32",
-@@ -150,11 +147,8 @@ config("swiftshader_config") {
- }
- } else if (target_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/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
deleted file mode 100644
index a1e1ccf4a0f1..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/swiftshader/src/Common/Configurator.cpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/Common/Configurator.cpp
-@@ -42,6 +42,9 @@ namespace sw
-
- bool Configurator::readFile()
- {
-+#if defined(__FreeBSD__)
-+ return false;
-+#endif
- #if defined(__unix__)
- if(access(path.c_str(), R_OK) != 0)
- {
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
deleted file mode 100644
index 96aca3af105f..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/Common/MutexLock.hpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/Common/MutexLock.hpp
-@@ -17,7 +17,7 @@
-
- #include "Thread.hpp"
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
- // Use a pthread mutex on Linux. Since many processes may use SwiftShader
- // at the same time it's best to just have the scheduler overhead.
- #include <pthread.h>
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
deleted file mode 100644
index fa03cd628462..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/Common/SharedLibrary.hpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/Common/SharedLibrary.hpp
-@@ -97,7 +97,7 @@ void *loadLibrary(const std::string &libraryDirectory,
-
- inline void *getLibraryHandle(const char *path)
- {
-- #ifdef __ANDROID__
-+ #if defined( __ANDROID__) || defined(__FreeBSD__)
- // bionic doesn't support RTLD_NOLOAD before L
- return dlopen(path, RTLD_NOW | RTLD_LOCAL);
- #else
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
deleted file mode 100644
index 888c476a9108..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- third_party/swiftshader/src/Main/SwiftConfig.cpp.orig 2019-09-09 21:57:01 UTC
-+++ third_party/swiftshader/src/Main/SwiftConfig.cpp
-@@ -764,7 +764,11 @@ namespace sw
- struct stat status;
- int lastModified = ini.getInteger("LastModified", "Time", 0);
-
-+#if !defined(__FreeBSD__)
- bool noConfig = stat("SwiftShader.ini", &status) != 0;
-+#else
-+ bool noConfig = false;
-+#endif
- newConfig = !noConfig && abs((int)status.st_mtime - lastModified) > 1;
-
- if(disableServerOverride)
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp
deleted file mode 100644
index 7577231bc5a8..000000000000
--- a/www/iridium/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 2019-10-21 19:09:15 UTC
-+++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp
-@@ -690,7 +690,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);
-@@ -868,7 +868,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/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp
deleted file mode 100644
index a21bb4acad17..000000000000
--- a/www/iridium/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 2019-10-21 19:09:15 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/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
deleted file mode 100644
index 3ca2cc4d69af..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2020-02-03 21:54:55 UTC
-+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp
-@@ -153,7 +153,7 @@ EGLDisplay EGLAPIENTRY GetDisplay(EGLNativeDisplayType
- // FIXME: Check if display_id is the default display
- }
-
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD)) && !defined(__ANDROID__)
- #if defined(USE_X11)
- if(!libX11)
- #endif // Non X11 linux is headless only
-@@ -216,7 +216,7 @@ const char *EGLAPIENTRY QueryString(EGLDisplay dpy, EG
- {
- return success(
- "EGL_KHR_client_get_all_proc_addresses "
--#if defined(__linux__) && !defined(__ANDROID__)
-+#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- "EGL_KHR_platform_gbm "
- #endif
- #if defined(USE_X11)
-@@ -1298,7 +1298,7 @@ EGLDisplay EGLAPIENTRY GetPlatformDisplay(EGLenum plat
- {
- TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLAttrib *attrib_list = %p)", platform, native_display, attrib_list);
-
-- #if defined(__linux__) && !defined(__ANDROID__)
-+ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__)
- switch(platform)
- {
- #if defined(USE_X11)
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
deleted file mode 100644
index 59c1f562fb03..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp
-@@ -100,7 +100,7 @@ class LibEGL (private)
- #endif
- #elif defined(__ANDROID__)
- const char *libEGL_lib[] = {"libEGL_swiftshader.so", "libEGL_swiftshader.so"};
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- #if defined(__LP64__)
- const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so"};
- #else
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp
deleted file mode 100644
index 1f68f9ed3be6..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp
-@@ -261,7 +261,7 @@ class LibGLES_CM (private)
- #endif
- #elif defined(__ANDROID__)
- const char *libGLES_CM_lib[] = {"libGLESv1_CM_swiftshader.so", "libGLESv1_CM_swiftshader.so"};
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- #if defined(__LP64__)
- const char *libGLES_CM_lib[] = {"lib64GLES_CM_translator.so", "libGLES_CM.so.1", "libGLES_CM.so"};
- #else
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
deleted file mode 100644
index 7a1936b0dce0..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2019-03-11 22:08:03 UTC
-+++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp
-@@ -286,7 +286,7 @@ class LibGLESv2 (private)
- #endif
- #elif defined(__ANDROID__)
- const char *libGLESv2_lib[] = {"libGLESv2_swiftshader.so", "libGLESv2_swiftshader.so"};
-- #elif defined(__linux__)
-+ #elif defined(__linux__) || defined(__FreeBSD__)
- #if defined(__LP64__)
- const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so"};
- #else
diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp
deleted file mode 100644
index c4eeb77baf0d..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
---- third_party/swiftshader/src/Vulkan/VkDebug.cpp.orig 2020-04-03 04:13:08 UTC
-+++ third_party/swiftshader/src/Vulkan/VkDebug.cpp
-@@ -29,12 +29,17 @@
- # include <sys/sysctl.h>
- # include <unistd.h>
- #endif
-+#if defined(__FreeBSD__)
-+# include <sys/sysctl.h>
-+# include <sys/user.h>
-+# include <unistd.h>
-+#endif
-
- namespace {
-
- bool IsUnderDebugger()
- {
--#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__)
-+#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) && !defined(__FreeBSD__)
- static bool checked = false;
- static bool res = false;
-
-@@ -56,7 +61,7 @@ bool IsUnderDebugger()
- return res;
- #elif defined(_WIN32) || defined(_WIN64)
- return IsDebuggerPresent() != 0;
--#elif defined(__APPLE__) || defined(__MACH__)
-+#elif defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__)
- // Code comes from the Apple Technical Q&A QA1361
-
- // Tell sysctl what info we're requestion. Specifically we're asking for
-@@ -71,14 +76,22 @@ bool IsUnderDebugger()
- struct kinfo_proc info;
- size_t size = sizeof(info);
-
-+# if defined(__FreeBSD__)
-+ info.ki_flag = 0;
-+# else
- info.kp_proc.p_flag = 0;
-+# endif
-
- // Get the info we're requesting, if sysctl fails then info.kp_proc.p_flag will remain 0.
- res = sysctl(request, sizeof(request) / sizeof(*request), &info, &size, NULL, 0);
- ASSERT_MSG(res == 0, "syscl returned %d", res);
-
- // We're being debugged if the P_TRACED flag is set
-+# if defined(__FreeBSD__)
-+ return ((info.ki_flag & P_TRACED) != 0);
-+# else
- return ((info.kp_proc.p_flag & P_TRACED) != 0);
-+# endif
- #else
- return false;
- #endif
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h
deleted file mode 100644
index 32c68edfca31..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h
+++ /dev/null
@@ -1,152 +0,0 @@
---- third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h.orig 2020-03-16 18:42:15 UTC
-+++ third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h
-@@ -8,15 +8,15 @@
- #define BUG_REPORT_URL "https://bugs.llvm.org/"
-
- /* Define to 1 to enable backtraces, and to 0 otherwise. */
--#define ENABLE_BACKTRACES 0
-+#define ENABLE_BACKTRACES 1
-
- /* Define to 1 to enable crash overrides, and to 0 otherwise. */
--#define ENABLE_CRASH_OVERRIDES 0
-+#define ENABLE_CRASH_OVERRIDES 1
-
- /* Define to 1 if you have the `backtrace' function. */
--/* #undef HAVE_BACKTRACE */
-+#define HAVE_BACKTRACE 1
-
--/* #undef BACKTRACE_HEADER */
-+#define BACKTRACE_HEADER <execinfo.h>
-
- /* Define to 1 if you have the <CrashReporterClient.h> header file. */
- /* #undef HAVE_CRASHREPORTERCLIENT_H */
-@@ -26,7 +26,7 @@
-
- /* Define to 1 if you have the declaration of `arc4random', and to 0 if you
- don't. */
--#define HAVE_DECL_ARC4RANDOM 0
-+#define HAVE_DECL_ARC4RANDOM 1
-
- /* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
- don't. */
-@@ -50,7 +50,7 @@
- #define HAVE_DLOPEN 1
-
- /* Define if dladdr() is available on this platform. */
--/* #undef HAVE_DLADDR */
-+#define HAVE_DLADDR 1
-
- /* Define to 1 if you have the <errno.h> header file. */
- #define HAVE_ERRNO_H 1
-@@ -89,7 +89,7 @@
- #define HAVE_ISATTY 1
-
- /* Define to 1 if you have the `edit' library (-ledit). */
--/* #undef HAVE_LIBEDIT */
-+#define HAVE_LIBEDIT 1
-
- /* Define to 1 if you have the `pfm' library (-lpfm). */
- /* #undef HAVE_LIBPFM */
-@@ -107,25 +107,25 @@
- /* #undef HAVE_PTHREAD_SETNAME_NP */
-
- /* Define to 1 if you have the `z' library (-lz). */
--/* #undef HAVE_LIBZ */
-+#define HAVE_LIBZ 1
-
- /* Define to 1 if you have the <link.h> header file. */
- #define HAVE_LINK_H 1
-
- /* Define to 1 if you have the `lseek64' function. */
--#define HAVE_LSEEK64 1
-+/* #undef HAVE_LSEEK64 */
-
- /* Define to 1 if you have the <mach/mach.h> header file. */
- /* #undef HAVE_MACH_MACH_H */
-
- /* Define to 1 if you have the `mallctl' function. */
--/* #undef HAVE_MALLCTL */
-+#define HAVE_MALLCTL 1
-
- /* Define to 1 if you have the `mallinfo' function. */
--#define HAVE_MALLINFO 1
-+/* #undef HAVE_MALLINFO */
-
- /* Define to 1 if you have the <malloc.h> header file. */
--#define HAVE_MALLOC_H 1
-+/* #undef HAVE_MALLOC_H */
-
- /* Define to 1 if you have the <malloc/malloc.h> header file. */
- /* #undef HAVE_MALLOC_MALLOC_H */
-@@ -137,7 +137,7 @@
- #define HAVE_POSIX_FALLOCATE 1
-
- /* Define to 1 if you have the `posix_spawn' function. */
--/* #undef HAVE_POSIX_SPAWN */
-+#define HAVE_POSIX_SPAWN 1
-
- /* Define to 1 if you have the `pread' function. */
- #define HAVE_PREAD 1
-@@ -158,16 +158,16 @@
- #define HAVE_REALPATH 1
-
- /* Define to 1 if you have the `sbrk' function. */
--#define HAVE_SBRK 1
-+/* #undef HAVE_SBRK */
-
- /* Define to 1 if you have the `setenv' function. */
- #define HAVE_SETENV 1
-
- /* Define to 1 if you have the `sched_getaffinity' function. */
--#define HAVE_SCHED_GETAFFINITY 1
-+/* #undef HAVE_SCHED_GETAFFINITY */
-
- /* Define to 1 if you have the `CPU_COUNT' macro. */
--#define HAVE_CPU_COUNT 1
-+/* #undef HAVE_CPU_COUNT */
-
- /* Define to 1 if you have the `setrlimit' function. */
- #define HAVE_SETRLIMIT 1
-@@ -209,13 +209,13 @@
- #define HAVE_SYS_TYPES_H 1
-
- /* Define if the setupterm() function is supported this platform. */
--/* #undef HAVE_TERMINFO */
-+#define HAVE_TERMINFO 1
-
- /* Define if the xar_open() function is supported this platform. */
- /* #undef HAVE_LIBXAR */
-
- /* Define to 1 if you have the <termios.h> header file. */
--/* #undef HAVE_TERMIOS_H */
-+#define HAVE_TERMIOS_H 1
-
- /* Define to 1 if you have the <unistd.h> header file. */
- #define HAVE_UNISTD_H 1
-@@ -224,7 +224,7 @@
- /* #undef HAVE_VALGRIND_VALGRIND_H */
-
- /* Define to 1 if you have the <zlib.h> header file. */
--/* #undef HAVE_ZLIB_H */
-+#define HAVE_ZLIB_H 1
-
- /* Have host's _alloca */
- /* #undef HAVE__ALLOCA */
-@@ -298,7 +298,7 @@
- #elif defined(__arm__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf"
- #elif defined(__aarch64__)
--#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu"
-+#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-portbld-freebsd"
- #elif defined(__mips__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu"
- #elif defined(__mips64)
-@@ -310,7 +310,7 @@
- #endif
-
- /* Define if zlib compression is available */
--#define LLVM_ENABLE_ZLIB 0
-+#define LLVM_ENABLE_ZLIB 1
-
- /* Define if overriding target triple is enabled */
- /* #undef LLVM_TARGET_TRIPLE_ENV */
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h
deleted file mode 100644
index 4405e311225b..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/llvm-config.h.orig 2019-09-09 21:57:03 UTC
-+++ third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/llvm-config.h
-@@ -38,7 +38,7 @@
- #elif defined(__arm__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf"
- #elif defined(__aarch64__)
--#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu"
-+#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-portbld-freebsd"
- #elif defined(__mips__)
- #define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu"
- #elif defined(__mips64)
-@@ -63,7 +63,7 @@
- #elif defined(__arm__)
- #define LLVM_HOST_TRIPLE "armv7-linux-gnueabihf"
- #elif defined(__aarch64__)
--#define LLVM_HOST_TRIPLE "aarch64-linux-gnu"
-+#define LLVM_HOST_TRIPLE "aarch64-portbld-freebsd"
- #elif defined(__mips__)
- #define LLVM_HOST_TRIPLE "mipsel-linux-gnu"
- #elif defined(__mips64)
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
deleted file mode 100644
index d5afa9c50345..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2019-03-11 22:08:30 UTC
-+++ third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
-@@ -121,7 +121,7 @@
- #define HAVE_LINK_H 1
-
- /* Define to 1 if you have the `lseek64' function. */
--#define HAVE_LSEEK64 1
-+/* #undef HAVE_LSEEK64 */
-
- /* Define to 1 if you have the <mach/mach.h> header file. */
- /* #undef HAVE_MACH_MACH_H */
-@@ -130,7 +130,7 @@
- /* #undef HAVE_MALLCTL */
-
- /* Define to 1 if you have the `mallinfo' function. */
--#define HAVE_MALLINFO 1
-+/* #undef HAVE_MALLINFO */
-
- /* Define to 1 if you have the <malloc.h> header file. */
- #define HAVE_MALLOC_H 1
-@@ -154,7 +154,7 @@
- /* #undef HAVE_NDIR_H */
-
- /* Define to 1 if you have the `posix_fallocate' function. */
--#define HAVE_POSIX_FALLOCATE 1
-+/* #undef HAVE_POSIX_FALLOCATE */
-
- /* Define to 1 if you have the `posix_spawn' function. */
- #define HAVE_POSIX_SPAWN 1
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
deleted file mode 100644
index 28c940535747..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig 2019-03-11 22:08:30 UTC
-+++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
-@@ -35,7 +35,7 @@
- // DragonFlyBSD, OpenBSD, and Bitrig have deprecated <malloc.h> for
- // <stdlib.h> instead. Unix.h includes this for us already.
- #if defined(HAVE_MALLOC_H) && !defined(__DragonFly__) && \
-- !defined(__OpenBSD__) && !defined(__Bitrig__)
-+ !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__Bitrig__)
- #include <malloc.h>
- #endif
- #if defined(HAVE_MALLCTL)
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
deleted file mode 100644
index f34425cdd42e..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/swiftshader/third_party/marl/src/memory.cpp.orig 2019-12-22 15:09:53 UTC
-+++ third_party/swiftshader/third_party/marl/src/memory.cpp
-@@ -19,7 +19,7 @@
-
- #include <cstring>
-
--#if defined(__linux__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
- #include <sys/mman.h>
- #include <unistd.h>
- namespace {
diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
deleted file mode 100644
index 927560e4f971..000000000000
--- a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
---- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2019-12-22 15:09:09 UTC
-+++ third_party/swiftshader/third_party/marl/src/thread.cpp
-@@ -27,6 +27,10 @@
- #include <mach/thread_act.h>
- #include <pthread.h>
- #include <unistd.h>
-+#elif defined(__FreeBSD__)
-+#include <pthread.h>
-+#include <pthread_np.h>
-+#include <unistd.h>
- #else
- #include <pthread.h>
- #include <unistd.h>
-@@ -85,6 +89,8 @@ void Thread::setName(const char* fmt, ...) {
-
- #if defined(__APPLE__)
- pthread_setname_np(name);
-+#elif defined(__FreeBSD__)
-+ pthread_set_name_np(pthread_self(), name);
- #elif !defined(__Fuchsia__)
- pthread_setname_np(pthread_self(), name);
- #endif
diff --git a/www/iridium/files/patch-third__party_usrsctp_BUILD.gn b/www/iridium/files/patch-third__party_usrsctp_BUILD.gn
deleted file mode 100644
index e12616cdc188..000000000000
--- a/www/iridium/files/patch-third__party_usrsctp_BUILD.gn
+++ /dev/null
@@ -1,20 +0,0 @@
---- third_party/usrsctp/BUILD.gn.orig 2019-03-11 22:01:18 UTC
-+++ third_party/usrsctp/BUILD.gn
-@@ -116,11 +116,16 @@ static_library("usrsctp") {
- "-UINET6",
- ]
-
-- if (is_linux || is_android) {
-+ if ((is_linux && !is_bsd) || is_android ) {
- defines += [
- "__Userspace_os_Linux",
- "_GNU_SOURCE",
- ]
-+ } else if (is_bsd) {
-+ defines += [
-+ "__Userspace_os_FreeBSD",
-+ ]
-+ cflags += [ "-U__FreeBSD__" ]
- } else if (is_mac || is_ios) {
- defines += [
- "HAVE_SA_LEN",
diff --git a/www/iridium/files/patch-third__party_webrtc_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_BUILD.gn
deleted file mode 100644
index 431b2f75d72c..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_BUILD.gn
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/webrtc/BUILD.gn.orig 2020-03-16 18:42:13 UTC
-+++ third_party/webrtc/BUILD.gn
-@@ -171,6 +171,9 @@ config("common_inherited_config") {
- if (is_linux) {
- defines += [ "WEBRTC_LINUX" ]
- }
-+ if (is_bsd) {
-+ defines += [ "WEBRTC_BSD" ]
-+ }
- if (is_mac) {
- defines += [ "WEBRTC_MAC" ]
- }
diff --git a/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
deleted file mode 100644
index a9fe31ec37b8..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2020-03-16 18:42:14 UTC
-+++ third_party/webrtc/modules/audio_device/BUILD.gn
-@@ -259,7 +259,7 @@ rtc_library("audio_device_impl") {
- if (rtc_use_dummy_audio_file_devices) {
- defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ]
- } else {
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [
- "linux/alsasymboltable_linux.cc",
- "linux/alsasymboltable_linux.h",
diff --git a/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
deleted file mode 100644
index 41cae80d56bd..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2019-09-09 21:57:05 UTC
-+++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc
-@@ -13,6 +13,7 @@
- #include <string.h>
-
- #include <algorithm>
-+#include <cstdlib>
- #include <utility>
-
- #include "absl/algorithm/container.h"
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h
deleted file mode 100644
index 0f3e3413f1ae..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/byte_order.h.orig 2019-06-04 18:58:09 UTC
-+++ third_party/webrtc/rtc_base/byte_order.h
-@@ -89,7 +89,7 @@
- #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
-
- #elif defined(WEBRTC_POSIX)
--#include <endian.h>
-+#include <sys/endian.h>
- #else
- #error "Missing byte order functions for this arch."
- #endif // defined(WEBRTC_MAC)
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
deleted file mode 100644
index b4945de800d2..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/ifaddrs_converter.h.orig 2019-03-11 22:08:15 UTC
-+++ third_party/webrtc/rtc_base/ifaddrs_converter.h
-@@ -14,6 +14,8 @@
- #if defined(WEBRTC_ANDROID)
- #include "rtc_base/ifaddrs_android.h"
- #else
-+#include <sys/types.h>
-+#include <sys/socket.h>
- #include <ifaddrs.h>
- #endif // WEBRTC_ANDROID
-
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc
deleted file mode 100644
index 5fe1396d3154..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- third_party/webrtc/rtc_base/ip_address.cc.orig 2019-03-11 22:08:15 UTC
-+++ third_party/webrtc/rtc_base/ip_address.cc
-@@ -11,6 +11,9 @@
- #if defined(WEBRTC_POSIX)
- #include <netinet/in.h>
- #include <sys/socket.h>
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
- #ifdef OPENBSD
- #include <netinet/in_systm.h>
- #endif
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h
deleted file mode 100644
index 3db51306bd94..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/webrtc/rtc_base/ip_address.h.orig 2019-03-11 22:08:15 UTC
-+++ third_party/webrtc/rtc_base/ip_address.h
-@@ -17,6 +17,10 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
- #endif
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#endif
- #if defined(WEBRTC_WIN)
- #include <winsock2.h>
- #include <ws2tcpip.h>
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc
deleted file mode 100644
index e45c76f40a22..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- third_party/webrtc/rtc_base/network.cc.orig 2019-12-16 21:56:20 UTC
-+++ third_party/webrtc/rtc_base/network.cc
-@@ -14,7 +14,7 @@
- // linux/if.h can't be included at the same time as the posix sys/if.h, and
- // it's transitively required by linux/route.h, so include that version on
- // linux instead of the standard posix one.
--#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- #include <linux/if.h>
- #include <linux/route.h>
- #elif !defined(__native_client__)
-@@ -767,7 +767,7 @@ bool BasicNetworkManager::CreateNetworks(bool include_
- }
- #endif // WEBRTC_WIN
-
--#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- bool IsDefaultRoute(const std::string& network_name) {
- FILE* f = fopen("/proc/net/route", "r");
- if (!f) {
-@@ -810,7 +810,7 @@ bool BasicNetworkManager::IsIgnoredNetwork(const Netwo
- strncmp(network.name().c_str(), "vboxnet", 7) == 0) {
- return true;
- }
--#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- // Make sure this is a default route, if we're ignoring non-defaults.
- if (ignore_non_default_routes_ && !IsDefaultRoute(network.name())) {
- return true;
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h
deleted file mode 100644
index 46d64c258e37..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- third_party/webrtc/rtc_base/network.h.orig 2019-12-16 21:56:20 UTC
-+++ third_party/webrtc/rtc_base/network.h
-@@ -26,6 +26,10 @@
- #include "rtc_base/system/rtc_export.h"
- #include "rtc_base/third_party/sigslot/sigslot.h"
-
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
-+
- #if defined(WEBRTC_POSIX)
- struct ifaddrs;
- #endif // defined(WEBRTC_POSIX)
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
deleted file mode 100644
index 939381fc9f1a..000000000000
--- a/www/iridium/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 2020-03-16 18:42:14 UTC
-+++ third_party/webrtc/rtc_base/physical_socket_server.cc
-@@ -51,7 +51,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
-
-@@ -70,7 +70,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;
-@@ -290,7 +290,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
- socklen_t optlen = sizeof(*value);
- int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen);
- if (ret != -1 && 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
- }
-@@ -303,7 +303,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
- }
-@@ -533,7 +533,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/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
deleted file mode 100644
index 3fe92f247ce2..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/rtc_base/physical_socket_server.h.orig 2019-03-11 22:08:16 UTC
-+++ third_party/webrtc/rtc_base/physical_socket_server.h
-@@ -11,7 +11,7 @@
- #ifndef RTC_BASE_PHYSICAL_SOCKET_SERVER_H_
- #define RTC_BASE_PHYSICAL_SOCKET_SERVER_H_
-
--#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- #include <sys/epoll.h>
- #define WEBRTC_USE_EPOLL 1
- #endif
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
deleted file mode 100644
index 9d0e6fdcc5fd..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
+++ /dev/null
@@ -1,39 +0,0 @@
---- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2019-12-16 21:56:20 UTC
-+++ third_party/webrtc/rtc_base/platform_thread_types.cc
-@@ -11,7 +11,11 @@
- #include "rtc_base/platform_thread_types.h"
-
- #if defined(WEBRTC_LINUX)
-+#if !defined(__FreeBSD__)
- #include <sys/prctl.h>
-+#else
-+#include <pthread_np.h>
-+#endif
- #include <sys/syscall.h>
- #endif
-
-@@ -27,6 +31,8 @@ PlatformThreadId CurrentThreadId() {
- return gettid();
- #elif defined(WEBRTC_FUCHSIA)
- return zx_thread_self();
-+#elif defined(__FreeBSD__)
-+ return pthread_getthreadid_np();
- #elif defined(WEBRTC_LINUX)
- return syscall(__NR_gettid);
- #elif defined(__EMSCRIPTEN__)
-@@ -57,6 +63,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
- }
-
- void SetCurrentThreadName(const char* name) {
-+#if !defined(__FreeBSD__)
- #if defined(WEBRTC_WIN)
- // For details see:
- // https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code
-@@ -81,6 +88,7 @@ void SetCurrentThreadName(const char* name) {
- prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT
- #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
- pthread_setname_np(name);
-+#endif
- #endif
- }
-
diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
deleted file mode 100644
index 3d7e07133d72..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h.orig 2020-03-03 18:55:31 UTC
-+++ third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h
-@@ -178,6 +178,8 @@ class multi_threaded_local {
- #endif // _SIGSLOT_HAS_WIN32_THREADS
-
- #ifdef _SIGSLOT_HAS_POSIX_THREADS
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
- // The multi threading policies only get compiled in if they are enabled.
- class multi_threaded_global {
- public:
-@@ -201,6 +203,7 @@ class multi_threaded_local {
- private:
- pthread_mutex_t m_mutex;
- };
-+#pragma GCC diagnostic pop
- #endif // _SIGSLOT_HAS_POSIX_THREADS
-
- template <class mt_policy>
diff --git a/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
deleted file mode 100644
index bb0b3df2b288..000000000000
--- a/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/webrtc/system_wrappers/BUILD.gn.orig 2019-09-09 21:57:06 UTC
-+++ third_party/webrtc/system_wrappers/BUILD.gn
-@@ -58,8 +58,6 @@ rtc_static_library("system_wrappers") {
- if (!build_with_chromium) {
- deps += [ ":cpu_features_linux" ]
- }
--
-- libs += [ "rt" ]
- }
-
- if (is_win) {
diff --git a/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni b/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni
deleted file mode 100644
index a54244fd5e3e..000000000000
--- a/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni
+++ /dev/null
@@ -1,157 +0,0 @@
---- third_party/yasm/yasm_assemble.gni.orig 2020-03-16 18:40:14 UTC
-+++ third_party/yasm/yasm_assemble.gni
-@@ -1,105 +1,23 @@
--# Copyright 2014 The Chromium Authors. All rights reserved.
-+# Copyright 2016 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 provides the yasm_assemble() template which uses YASM to assemble
--# assembly files.
--#
--# Files to be assembled with YASM should have an extension of .asm.
--#
--# Parameters
--#
--# yasm_flags (optional)
--# [list of strings] Pass additional flags into YASM. These are appended
--# to the command line. Note that the target machine type and system is
--# already set up based on the current toolchain so you don't need to
--# specify these things (see below).
--#
--# Example: yasm_flags = [ "--force-strict" ]
--#
--# include_dirs (optional)
--# [list of dir names] List of additional include dirs. Note that the
--# source root and the root generated file dir is always added, just like
--# our C++ build sets up.
--#
--# Example: include_dirs = [ "//some/other/path", target_gen_dir ]
--#
--# defines (optional)
--# [list of strings] List of defines, as with the native code defines.
--#
--# Example: defines = [ "FOO", "BAR=1" ]
--#
--# inputs, deps, visibility (optional)
--# These have the same meaning as in an action.
--#
--# Example
--#
--# yasm_assemble("my_yasm_target") {
--# sources = [
--# "ultra_optimized_awesome.asm",
--# ]
--# include_dirs = [ "assembly_include" ]
--# }
--
--if (is_mac || is_ios) {
-- if (current_cpu == "x86") {
-- _yasm_flags = [
-- "-fmacho32",
-- "-m",
-- "x86",
-- ]
-- } else if (current_cpu == "x64") {
-- _yasm_flags = [
-- "-fmacho64",
-- "-m",
-- "amd64",
-- ]
-- }
--} else if (is_posix || is_fuchsia) {
-- if (current_cpu == "x86") {
-- _yasm_flags = [
-- "-felf32",
-- "-m",
-- "x86",
-- ]
-- } else if (current_cpu == "x64") {
-- _yasm_flags = [
-- "-DPIC",
-- "-felf64",
-- "-m",
-- "amd64",
-- ]
-- }
--} else if (is_win) {
-- if (current_cpu == "x86") {
-- _yasm_flags = [
-- "-DPREFIX",
-- "-fwin32",
-- "-m",
-- "x86",
-- ]
-- } else if (current_cpu == "x64") {
-- _yasm_flags = [
-- "-fwin64",
-- "-m",
-- "amd64",
-- ]
-- }
-+if (current_cpu == "x86") {
-+ _yasm_flags = [
-+ "-felf32",
-+ "-m",
-+ "x86",
-+ ]
-+} else if (current_cpu == "x64") {
-+ _yasm_flags = [
-+ "-DPIC",
-+ "-felf64",
-+ "-m",
-+ "amd64",
-+ ]
- }
-
--if (is_win) {
-- asm_obj_extension = "obj"
--} else {
-- asm_obj_extension = "o"
--}
--
- template("yasm_assemble") {
-- assert(defined(invoker.sources), "Need sources defined for $target_name")
--
-- # Only depend on YASM on x86 systems. Force compilation of .asm files for
-- # ARM to fail.
-- assert(current_cpu == "x86" || current_cpu == "x64")
--
- action_name = "${target_name}_action"
- source_set_name = target_name
-
-@@ -114,22 +32,12 @@ template("yasm_assemble") {
- inputs = invoker.inputs
- }
-
-- # Executable (first in the args). The binary might be in the root build dir
-- # (no cross-compiling) or in a toolchain-specific subdirectory of that
-- # (when cross-compiling).
-- yasm_label = "//third_party/yasm($host_toolchain)"
-- args = [ "./" + # Force current dir.
-- rebase_path(get_label_info(yasm_label, "root_out_dir") + "/yasm",
-- root_build_dir) ]
--
-- # Deps.
-- deps = [ yasm_label ]
-+ deps = []
- if (defined(invoker.deps)) {
- deps += invoker.deps
- }
-
-- # Flags.
-- args += _yasm_flags
-+ args = [ "yasm" ] + _yasm_flags
- if (defined(invoker.yasm_flags)) {
- args += invoker.yasm_flags
- }
-@@ -184,9 +92,6 @@ template("yasm_assemble") {
- }
-
- sources = get_target_outputs(":$action_name")
--
-- # Do not publicize any header to remove build dependency.
-- public = []
-
- deps = [ ":$action_name" ]
- }
diff --git a/www/iridium/files/patch-tools_gn_build_gen.py b/www/iridium/files/patch-tools_gn_build_gen.py
deleted file mode 100644
index 1461138a4fd5..000000000000
--- a/www/iridium/files/patch-tools_gn_build_gen.py
+++ /dev/null
@@ -1,24 +0,0 @@
---- tools/gn/build/gen.py.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/build/gen.py
-@@ -73,6 +73,9 @@ class Platform(object):
- def is_haiku(self):
- return self._platform == 'haiku'
-
-+ def is_freebsd(self):
-+ return self._platform == 'freebsd'
-+
- def is_posix(self):
- return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku']
-
-@@ -351,6 +354,11 @@ def WriteGNNinja(path, platform, host, options):
- elif platform.is_haiku():
- cflags.append('-fPIC')
- cflags.extend(['-D_BSD_SOURCE'])
-+ elif platform.is_freebsd():
-+ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
-+ ldflags.extend(['-pthread'])
-+ libs.extend(['-lexecinfo', '-lkvm', '-lutil'])
-+ include_dirs += ['/usr/local/include']
-
- if platform.is_posix() and not platform.is_haiku():
- ldflags.append('-pthread')
diff --git a/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc b/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc
deleted file mode 100644
index 26958b7bf8f1..000000000000
--- a/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/base/files/file_posix.cc.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/src/base/files/file_posix.cc
-@@ -372,7 +372,7 @@ void File::DoInitialize(const FilePath& path, uint32_t
- bool File::Flush() {
- DCHECK(IsValid());
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return !HANDLE_EINTR(fdatasync(file_.get()));
- #else
- return !HANDLE_EINTR(fsync(file_.get()));
diff --git a/www/iridium/files/patch-tools_gn_src_base_files_file__util.h b/www/iridium/files/patch-tools_gn_src_base_files_file__util.h
deleted file mode 100644
index 910d80aa09c6..000000000000
--- a/www/iridium/files/patch-tools_gn_src_base_files_file__util.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/base/files/file_util.h.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/src/base/files/file_util.h
-@@ -325,7 +325,7 @@ bool VerifyPathControlledByAdmin(const base::FilePath&
- // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
- int GetMaximumPathComponentLength(const base::FilePath& path);
-
--#if defined(OS_LINUX) || defined(OS_AIX)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc b/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc
deleted file mode 100644
index b5476cba713c..000000000000
--- a/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/base/files/file_util_posix.cc.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/src/base/files/file_util_posix.cc
-@@ -210,7 +210,7 @@ bool ReplaceFile(const FilePath& from_path,
- }
-
- bool CreateLocalNonBlockingPipe(int fds[2]) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
- #else
- int raw_fds[2];
diff --git a/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc b/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc
deleted file mode 100644
index acc59789e438..000000000000
--- a/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/base/files/scoped_file.cc.orig 2020-03-16 18:48:21 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)
- // 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/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc b/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc
deleted file mode 100644
index 761ee60ca826..000000000000
--- a/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/gn/src/gn/exec_process.cc.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/src/gn/exec_process.cc
-@@ -30,6 +30,10 @@
- #include "base/posix/file_descriptor_shuffle.h"
- #endif
-
-+#if defined(OS_BSD)
-+#include <signal.h>
-+#endif
-+
- namespace internal {
-
- #if defined(OS_WIN)
diff --git a/www/iridium/files/patch-tools_gn_src_util_sys__info.cc b/www/iridium/files/patch-tools_gn_src_util_sys__info.cc
deleted file mode 100644
index 8b5fbb9cdb14..000000000000
--- a/www/iridium/files/patch-tools_gn_src_util_sys__info.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gn/src/util/sys_info.cc.orig 2020-03-16 18:48:21 UTC
-+++ tools/gn/src/util/sys_info.cc
-@@ -28,6 +28,8 @@ std::string 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/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py b/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py
deleted file mode 100644
index fda74ee7deec..000000000000
--- a/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/json_schema_compiler/feature_compiler.py.orig 2020-02-03 21:53:12 UTC
-+++ tools/json_schema_compiler/feature_compiler.py
-@@ -218,6 +218,7 @@ FEATURE_GRAMMAR = (
- 'enum_map': {
- 'chromeos': 'Feature::CHROMEOS_PLATFORM',
- 'linux': 'Feature::LINUX_PLATFORM',
-+ 'bsd': 'Feature::LINUX_PLATFORM',
- 'mac': 'Feature::MACOSX_PLATFORM',
- 'win': 'Feature::WIN_PLATFORM',
- }
diff --git a/www/iridium/files/patch-tools_json__schema__compiler_model.py b/www/iridium/files/patch-tools_json__schema__compiler_model.py
deleted file mode 100644
index 054250e781d5..000000000000
--- a/www/iridium/files/patch-tools_json__schema__compiler_model.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/json_schema_compiler/model.py.orig 2019-12-16 21:51:07 UTC
-+++ tools/json_schema_compiler/model.py
-@@ -605,7 +605,7 @@ class Platforms(object):
- """
- CHROMEOS = _PlatformInfo("chromeos")
- CHROMEOS_TOUCH = _PlatformInfo("chromeos_touch")
-- LINUX = _PlatformInfo("linux")
-+ LINUX = _PlatformInfo("bsd")
- MAC = _PlatformInfo("mac")
- WIN = _PlatformInfo("win")
-
diff --git a/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
deleted file mode 100644
index ac82f274b479..000000000000
--- a/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2020-03-16 18:40:43 UTC
-+++ tools/perf/chrome_telemetry_build/BUILD.gn
-@@ -46,7 +46,7 @@ group("telemetry_chrome_test") {
- data_deps += [ "//chrome:reorder_imports" ]
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- data_deps += [
- "//third_party/breakpad:dump_syms($host_toolchain)",
- "//third_party/crashpad/crashpad/tools:crashpad_database_util",
diff --git a/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py b/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py
deleted file mode 100644
index 940d72d03d24..000000000000
--- a/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- tools/variations/fieldtrial_to_struct.py.orig 2020-03-16 18:40:14 UTC
-+++ tools/variations/fieldtrial_to_struct.py
-@@ -35,6 +35,7 @@ _platforms = [
- 'android_weblayer',
- 'android_webview',
- 'chromeos',
-+ 'freebsd',
- 'fuchsia',
- 'ios',
- 'linux',
diff --git a/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
deleted file mode 100644
index 40534eb32dbb..000000000000
--- a/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2019-07-24 18:59:18 UTC
-+++ ui/base/dragdrop/os_exchange_data_provider_factory.cc
-@@ -8,7 +8,7 @@
-
- #if defined(USE_X11)
- #include "ui/base/dragdrop/os_exchange_data_provider_aurax11.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/base/dragdrop/os_exchange_data_provider_aura.h"
- #elif defined(OS_MACOSX)
- #include "ui/base/dragdrop/os_exchange_data_provider_builder_mac.h"
-@@ -23,7 +23,7 @@ std::unique_ptr<OSExchangeData::Provider>
- OSExchangeDataProviderFactory::CreateProvider() {
- #if defined(USE_X11)
- return std::make_unique<OSExchangeDataProviderAuraX11>();
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- return std::make_unique<OSExchangeDataProviderAura>();
- #elif defined(OS_MACOSX)
- return ui::BuildOSExchangeDataProviderMac();
diff --git a/www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc b/www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc
deleted file mode 100644
index 8f3c47ebd01b..000000000000
--- a/www/iridium/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 2019-06-04 18:55:49 UTC
-+++ ui/base/ime/init/input_method_initializer.cc
-@@ -8,7 +8,7 @@
-
- #if defined(OS_CHROMEOS)
- #include "ui/base/ime/ime_bridge.h"
--#elif defined(USE_AURA) && defined(OS_LINUX)
-+#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "base/logging.h"
- #include "ui/base/ime/linux/fake_input_method_context_factory.h"
- #elif defined(OS_WIN)
-@@ -18,7 +18,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
-@@ -46,7 +46,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/www/iridium/files/patch-ui_base_resource_resource__bundle.cc b/www/iridium/files/patch-ui_base_resource_resource__bundle.cc
deleted file mode 100644
index 91e1320a26f5..000000000000
--- a/www/iridium/files/patch-ui_base_resource_resource__bundle.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/base/resource/resource_bundle.cc.orig 2020-03-16 18:40:15 UTC
-+++ ui/base/resource/resource_bundle.cc
-@@ -822,7 +822,7 @@ void ResourceBundle::ReloadFonts() {
- }
-
- ScaleFactor ResourceBundle::GetMaxScaleFactor() const {
--#if defined(OS_WIN) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)
- return max_scale_factor_;
- #else
- return GetSupportedScaleFactors().back();
-@@ -875,7 +875,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_MACOSX) || defined(OS_LINUX) || defined(OS_WIN)
-+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)
- supported_scale_factors.push_back(SCALE_FACTOR_200P);
- #endif
- #endif
diff --git a/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc b/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
deleted file mode 100644
index ea5ade19da2e..000000000000
--- a/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- ui/base/resource/resource_bundle_freebsd.cc.orig 2019-03-17 01:47:14 UTC
-+++ ui/base/resource/resource_bundle_freebsd.cc
-@@ -0,0 +1,21 @@
-+// Copyright 2017 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 "ui/base/resource/resource_bundle.h"
-+
-+#include "base/logging.h"
-+#include "base/macros.h"
-+#include "ui/gfx/image/image.h"
-+
-+namespace ui {
-+
-+void ResourceBundle::LoadCommonResources() {
-+ LoadChromeResources();
-+}
-+
-+gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
-+ return GetImageNamed(resource_id);
-+}
-+
-+} // namespace ui
diff --git a/www/iridium/files/patch-ui_base_ui__base__features.cc b/www/iridium/files/patch-ui_base_ui__base__features.cc
deleted file mode 100644
index aa850d8e1146..000000000000
--- a/www/iridium/files/patch-ui_base_ui__base__features.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/base/ui_base_features.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/base/ui_base_features.cc
-@@ -113,7 +113,7 @@ const base::Feature kEnableAutomaticUiAdjustmentsForTo
- "EnableAutomaticUiAdjustmentsForTouch", base::FEATURE_ENABLED_BY_DEFAULT};
- #endif // defined(OS_WIN) || defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- // Enables stylus appearing as touch when in contact with digitizer.
- const base::Feature kDirectManipulationStylus = {
- "DirectManipulationStylus",
-@@ -123,7 +123,7 @@ const base::Feature kDirectManipulationStylus = {
- base::FEATURE_DISABLED_BY_DEFAULT
- #endif
- };
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- // Disable the FormControlsRefresh feature for all platforms. See
- // crbug.com/1057669.
diff --git a/www/iridium/files/patch-ui_base_ui__base__features.h b/www/iridium/files/patch-ui_base_ui__base__features.h
deleted file mode 100644
index d86c205b8c2e..000000000000
--- a/www/iridium/files/patch-ui_base_ui__base__features.h
+++ /dev/null
@@ -1,15 +0,0 @@
---- ui/base/ui_base_features.h.orig 2020-03-16 18:40:43 UTC
-+++ ui/base/ui_base_features.h
-@@ -61,10 +61,10 @@ COMPONENT_EXPORT(UI_BASE_FEATURES)
- extern const base::Feature kEnableAutomaticUiAdjustmentsForTouch;
- #endif // defined(OS_WIN) || defined(OS_CHROMEOS)
-
--#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
- COMPONENT_EXPORT(UI_BASE_FEATURES)
- extern const base::Feature kDirectManipulationStylus;
--#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
-+#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
-
- // Used to enable the new controls UI.
- COMPONENT_EXPORT(UI_BASE_FEATURES)
diff --git a/www/iridium/files/patch-ui_base_webui_web__ui__util.cc b/www/iridium/files/patch-ui_base_webui_web__ui__util.cc
deleted file mode 100644
index 422ea71485b9..000000000000
--- a/www/iridium/files/patch-ui_base_webui_web__ui__util.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/base/webui/web_ui_util.cc.orig 2020-03-16 18:40:15 UTC
-+++ ui/base/webui/web_ui_util.cc
-@@ -236,7 +236,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) && !defined(USE_OZONE)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !defined(USE_OZONE)
- font_family = ui::ResourceBundle::GetSharedInstance().GetFont(
- ui::ResourceBundle::BaseFont).GetFontName() + ", " + font_family;
- #endif
diff --git a/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc b/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc
deleted file mode 100644
index 7546426f2036..000000000000
--- a/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- ui/base/x/x11_shm_image_pool_base.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/base/x/x11_shm_image_pool_base.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"
-@@ -44,10 +45,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() {
-@@ -199,7 +204,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_
- shmctl(state.shminfo_.shmid, IPC_RMID, nullptr);
- return false;
- }
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On Linux, a shmid can still be attached after IPC_RMID if otherwise
- // kept alive. Detach before XShmAttach to prevent a memory leak in case
- // the process dies.
-@@ -209,7 +214,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_
- if (!XShmAttach(display_, &state.shminfo_))
- return false;
- state.shmem_attached_to_server_ = true;
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- // The Linux-specific shmctl behavior above may not be portable, so we're
- // forced to do IPC_RMID after the server has attached to the segment.
- // XShmAttach is asynchronous, so we must also sync.
diff --git a/www/iridium/files/patch-ui_compositor_compositor.cc b/www/iridium/files/patch-ui_compositor_compositor.cc
deleted file mode 100644
index f89ddbcf2b9f..000000000000
--- a/www/iridium/files/patch-ui_compositor_compositor.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/compositor/compositor.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/compositor/compositor.cc
-@@ -669,7 +669,7 @@ void Compositor::OnFrameTokenChanged(uint32_t frame_to
- NOTREACHED();
- }
-
--#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/www/iridium/files/patch-ui_compositor_compositor.h b/www/iridium/files/patch-ui_compositor_compositor.h
deleted file mode 100644
index 89e662bc3e66..000000000000
--- a/www/iridium/files/patch-ui_compositor_compositor.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/compositor/compositor.h.orig 2020-03-16 18:40:43 UTC
-+++ ui/compositor/compositor.h
-@@ -380,7 +380,7 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerT
- void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override;
- void OnFrameTokenChanged(uint32_t frame_token) 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/www/iridium/files/patch-ui_compositor_compositor__observer.h b/www/iridium/files/patch-ui_compositor_compositor__observer.h
deleted file mode 100644
index deab6a8328f8..000000000000
--- a/www/iridium/files/patch-ui_compositor_compositor__observer.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- ui/compositor/compositor_observer.h.orig 2019-12-17 19:56:41 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)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- // Called at the top of the compositor's destructor, to give observers a
- // chance to remove themselves.
diff --git a/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc b/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc
deleted file mode 100644
index b7be4b020629..000000000000
--- a/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/compositor/host/host_context_factory_private.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/compositor/host/host_context_factory_private.cc
-@@ -29,7 +29,7 @@ namespace {
-
- static const char* kBrowser = "Browser";
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)
- class HostDisplayClient : public viz::HostDisplayClient {
- public:
- explicit HostDisplayClient(ui::Compositor* compositor)
diff --git a/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
deleted file mode 100644
index df1fa86b3c0d..000000000000
--- a/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- ui/events/devices/x11/device_data_manager_x11.cc.orig 2019-09-09 21:55:46 UTC
-+++ ui/events/devices/x11/device_data_manager_x11.cc
-@@ -826,6 +826,8 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK
- }
-
- void DeviceDataManagerX11::DisableDevice(int deviceid) {
-+ NOTIMPLEMENTED();
-+#if !defined(OS_BSD)
- blocked_devices_.set(deviceid, true);
- // TODO(rsadam@): Support blocking touchscreen devices.
- std::vector<InputDevice> keyboards = GetKeyboardDevices();
-@@ -836,6 +838,7 @@ void DeviceDataManagerX11::DisableDevice(int deviceid)
- keyboards.erase(it);
- DeviceDataManager::OnKeyboardDevicesUpdated(keyboards);
- }
-+#endif
- }
-
- void DeviceDataManagerX11::EnableDevice(int deviceid) {
diff --git a/www/iridium/files/patch-ui_events_event__switches.cc b/www/iridium/files/patch-ui_events_event__switches.cc
deleted file mode 100644
index 565f70395687..000000000000
--- a/www/iridium/files/patch-ui_events_event__switches.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/events/event_switches.cc.orig 2019-03-11 22:01:19 UTC
-+++ ui/events/event_switches.cc
-@@ -14,7 +14,7 @@ namespace switches {
- const char kCompensateForUnstablePinchZoom[] =
- "compensate-for-unstable-pinch-zoom";
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- // Tells chrome to interpret events from these devices as touch events. Only
- // available with XInput 2 (i.e. X server 1.8 or above). The id's of the
- // devices can be retrieved from 'xinput list'.
diff --git a/www/iridium/files/patch-ui_events_event__switches.h b/www/iridium/files/patch-ui_events_event__switches.h
deleted file mode 100644
index e7351a731084..000000000000
--- a/www/iridium/files/patch-ui_events_event__switches.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/events/event_switches.h.orig 2019-03-11 22:01:19 UTC
-+++ ui/events/event_switches.h
-@@ -13,7 +13,7 @@ namespace switches {
-
- EVENTS_BASE_EXPORT extern const char kCompensateForUnstablePinchZoom[];
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- EVENTS_BASE_EXPORT extern const char kTouchDevices[];
- EVENTS_BASE_EXPORT extern const char kPenDevices[];
- #endif
diff --git a/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc
deleted file mode 100644
index 2bae1687515b..000000000000
--- a/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/events/keycodes/dom/keycode_converter.cc.orig 2020-03-16 18:40:15 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)
-+#elif defined(OS_LINUX) || defined(OS_BSD)
- #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \
- { usb, xkb, code }
- #elif defined(OS_MACOSX)
diff --git a/www/iridium/files/patch-ui_gfx_BUILD.gn b/www/iridium/files/patch-ui_gfx_BUILD.gn
deleted file mode 100644
index be500c1b94d5..000000000000
--- a/www/iridium/files/patch-ui_gfx_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/BUILD.gn.orig 2020-03-16 18:40:43 UTC
-+++ ui/gfx/BUILD.gn
-@@ -578,7 +578,7 @@ jumbo_source_set("memory_buffer_sources") {
- deps += [ "//build/config/linux/libdrm" ]
- }
-
-- if (is_linux || is_android) {
-+ if ((is_linux || is_android) && !is_bsd) {
- deps += [ "//third_party/libsync" ]
- }
-
diff --git a/www/iridium/files/patch-ui_gfx_canvas__skia.cc b/www/iridium/files/patch-ui_gfx_canvas__skia.cc
deleted file mode 100644
index 5d99916e4eb1..000000000000
--- a/www/iridium/files/patch-ui_gfx_canvas__skia.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/canvas_skia.cc.orig 2020-02-03 21:53:13 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)
-+#if defined(OS_LINUX) || 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/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc b/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc
deleted file mode 100644
index 1bd5ac55ec9e..000000000000
--- a/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/codec/jpeg_codec.cc.orig 2019-03-11 22:01:19 UTC
-+++ ui/gfx/codec/jpeg_codec.cc
-@@ -207,6 +207,7 @@ bool JPEGCodec::Decode(const unsigned char* input, siz
- case JCS_GRAYSCALE:
- case JCS_RGB:
- case JCS_YCbCr:
-+#ifdef JCS_EXTENSIONS
- // Choose an output colorspace and return if it is an unsupported one.
- // Same as JPEGCodec::Encode(), libjpeg-turbo supports all input formats
- // used by Chromium (i.e. RGBA and BGRA) and we just map the input
-@@ -223,6 +224,9 @@ bool JPEGCodec::Decode(const unsigned char* input, siz
- NOTREACHED() << "Invalid pixel format";
- return false;
- }
-+#else
-+ cinfo.out_color_space = JCS_RGB;
-+#endif
- break;
- case JCS_CMYK:
- case JCS_YCCK:
diff --git a/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc b/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc
deleted file mode 100644
index 26597a5d4cb2..000000000000
--- a/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- ui/gfx/font_fallback_linux.cc.orig 2019-12-16 21:51:34 UTC
-+++ ui/gfx/font_fallback_linux.cc
-@@ -24,6 +24,10 @@
- #include "ui/gfx/linux/fontconfig_util.h"
- #include "ui/gfx/platform_font.h"
-
-+#if defined(OS_BSD)
-+#include <unistd.h>
-+#endif
-+
- namespace gfx {
-
- namespace {
diff --git a/www/iridium/files/patch-ui_gfx_font__list.cc b/www/iridium/files/patch-ui_gfx_font__list.cc
deleted file mode 100644
index 542476a0c3e2..000000000000
--- a/www/iridium/files/patch-ui_gfx_font__list.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/font_list.cc.orig 2019-03-11 22:01:19 UTC
-+++ ui/gfx/font_list.cc
-@@ -24,7 +24,7 @@ base::LazyInstance<scoped_refptr<gfx::FontListImpl>>::
- bool g_default_impl_initialized = false;
-
- bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return !!fontManager->legacyMakeTypeface(family.c_str(), SkFontStyle());
- #else
- sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str()));
diff --git a/www/iridium/files/patch-ui_gfx_font__names__testing.cc b/www/iridium/files/patch-ui_gfx_font__names__testing.cc
deleted file mode 100644
index 2c268488ae30..000000000000
--- a/www/iridium/files/patch-ui_gfx_font__names__testing.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- ui/gfx/font_names_testing.cc.orig 2020-04-06 08:38:05 UTC
-+++ ui/gfx/font_names_testing.cc
-@@ -22,7 +22,7 @@ Note that we have to support the full range from Jelly
- dessert.
- */
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kTestFontName[] = "Arimo";
- #elif defined(OS_ANDROID)
- const char kTestFontName[] = "sans-serif";
-@@ -30,7 +30,7 @@ const char kTestFontName[] = "sans-serif";
- const char kTestFontName[] = "Arial";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kSymbolFontName[] = "DejaVu Sans";
- #elif defined(OS_ANDROID)
- const char kSymbolFontName[] = "monospace";
-@@ -40,7 +40,7 @@ const char kSymbolFontName[] = "Segoe UI Symbol";
- const char kSymbolFontName[] = "Symbol";
- #endif
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- const char kCJKFontName[] = "Noto Sans CJK JP";
- #elif defined(OS_ANDROID)
- const char kCJKFontName[] = "serif";
diff --git a/www/iridium/files/patch-ui_gfx_font__render__params.h b/www/iridium/files/patch-ui_gfx_font__render__params.h
deleted file mode 100644
index 5f0bb35c60b5..000000000000
--- a/www/iridium/files/patch-ui_gfx_font__render__params.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- ui/gfx/font_render_params.h.orig 2019-07-24 18:59:22 UTC
-+++ ui/gfx/font_render_params.h
-@@ -111,13 +111,13 @@ GFX_EXPORT FontRenderParams GetFontRenderParams(
- const FontRenderParamsQuery& query,
- std::string* family_out);
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are
- // changing Fontconfig's configuration.
- GFX_EXPORT void ClearFontRenderParamsCacheForTest();
- #endif
-
--#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || \
-+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) || \
- defined(OS_FUCHSIA)
- // Gets the device scale factor to query the FontRenderParams.
- GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor();
diff --git a/www/iridium/files/patch-ui_gfx_font__util.cc b/www/iridium/files/patch-ui_gfx_font__util.cc
deleted file mode 100644
index 70270c4ee997..000000000000
--- a/www/iridium/files/patch-ui_gfx_font__util.cc
+++ /dev/null
@@ -1,25 +0,0 @@
---- ui/gfx/font_util.cc.orig 2019-12-17 19:58:26 UTC
-+++ ui/gfx/font_util.cc
-@@ -6,7 +6,7 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <fontconfig/fontconfig.h>
- #include "ui/gfx/linux/fontconfig_util.h"
- #endif
-@@ -24,11 +24,11 @@ void InitializeFonts() {
- // background (resources have not yet been granted to cast) since it prevents
- // the long delay the user would have seen on first rendering.
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Ensures the config is created on this thread.
- FcConfig* config = GetGlobalFontConfig();
- DCHECK(config);
--#endif // OS_LINUX
-+#endif // OS_LINUX || OS_BSD
-
- #if defined(OS_WIN)
- gfx::win::InitializeDirectWrite();
diff --git a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc
deleted file mode 100644
index fe42d4a3bace..000000000000
--- a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gfx/gpu_memory_buffer.cc.orig 2019-12-17 19:59:38 UTC
-+++ ui/gfx/gpu_memory_buffer.cc
-@@ -28,7 +28,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c
- handle.region = region.Duplicate();
- handle.offset = offset;
- handle.stride = stride;
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle);
- #elif defined(OS_MACOSX) && !defined(OS_IOS)
- NOTIMPLEMENTED();
diff --git a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h
deleted file mode 100644
index a05a77674080..000000000000
--- a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/gfx/gpu_memory_buffer.h.orig 2020-02-03 21:53:13 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)
-+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/gfx/native_pixmap_handle.h"
- #elif defined(OS_MACOSX) && !defined(OS_IOS)
- #include "ui/gfx/mac/io_surface.h"
-@@ -65,7 +65,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle {
- base::UnsafeSharedMemoryRegion region;
- uint32_t offset;
- int32_t stride;
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- NativePixmapHandle native_pixmap_handle;
- #elif defined(OS_MACOSX) && !defined(OS_IOS)
- ScopedRefCountedIOSurfaceMachPort mach_port;
diff --git a/www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h b/www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h
deleted file mode 100644
index 22be111486c5..000000000000
--- a/www/iridium/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 2019-10-21 19:07: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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "ui/gfx/native_pixmap_handle.h"
- #endif
-
-@@ -51,7 +51,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_FUCHSIA)
-+#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(native_pixmap_handle)
- #elif defined(OS_MACOSX)
- IPC_STRUCT_TRAITS_MEMBER(mach_port)
-@@ -66,12 +66,12 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferId)
- IPC_STRUCT_TRAITS_MEMBER(id)
- IPC_STRUCT_TRAITS_END()
-
--#if defined(OS_LINUX) || defined(OS_FUCHSIA)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(fd)
- #elif defined(OS_FUCHSIA)
- IPC_STRUCT_TRAITS_MEMBER(vmo)
-@@ -80,7 +80,7 @@ IPC_STRUCT_TRAITS_END()
-
- IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle)
- IPC_STRUCT_TRAITS_MEMBER(planes)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- IPC_STRUCT_TRAITS_MEMBER(modifier)
- #endif
- #if defined(OS_FUCHSIA)
diff --git a/www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc b/www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc
deleted file mode 100644
index 1741c4d863e8..000000000000
--- a/www/iridium/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 2020-03-16 18:40:43 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>
-@@ -26,11 +28,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/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
deleted file mode 100644
index a2a977047d43..000000000000
--- a/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc
+++ /dev/null
@@ -1,75 +0,0 @@
---- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2019-10-30 16:33:03 UTC
-+++ ui/gfx/mojom/buffer_types_mojom_traits.cc
-@@ -24,15 +24,15 @@ bool StructTraits<gfx::mojom::BufferUsageAndFormatData
- return data.ReadUsage(&out->usage) && data.ReadFormat(&out->format);
- }
-
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- mojo::ScopedHandle StructTraits<
- gfx::mojom::NativePixmapPlaneDataView,
- gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return mojo::WrapPlatformFile(plane.fd.release());
- #elif defined(OS_FUCHSIA)
- return mojo::WrapPlatformHandle(mojo::PlatformHandle(std::move(plane.vmo)));
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- bool StructTraits<
-@@ -45,7 +45,7 @@ bool StructTraits<
-
- mojo::PlatformHandle handle =
- mojo::UnwrapPlatformHandle(data.TakeBufferHandle());
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- if (!handle.is_fd())
- return false;
- out->fd = handle.TakeFD();
-@@ -53,7 +53,7 @@ bool StructTraits<
- if (!handle.is_handle())
- return false;
- out->vmo = zx::vmo(handle.TakeHandle());
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- return true;
- }
-@@ -62,7 +62,7 @@ bool StructTraits<
- gfx::mojom::NativePixmapHandleDataView,
- gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data,
- gfx::NativePixmapHandle* out) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- out->modifier = data.modifier();
- #endif
-
-@@ -75,7 +75,7 @@ bool StructTraits<
-
- return data.ReadPlanes(&out->planes);
- }
--#endif // defined(OS_LINUX) || defined(USE_OZONE)
-+#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
-
- gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTraits<
- gfx::mojom::GpuMemoryBufferHandleDataView,
-@@ -88,7 +88,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle(
- std::move(handle.region));
- case gfx::NATIVE_PIXMAP:
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle(
- std::move(handle.native_pixmap_handle));
- #else
-@@ -164,7 +164,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(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag::
- NATIVE_PIXMAP_HANDLE:
- out->type = gfx::NATIVE_PIXMAP;
diff --git a/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h
deleted file mode 100644
index b7e56d150e01..000000000000
--- a/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- ui/gfx/mojom/buffer_types_mojom_traits.h.orig 2019-12-16 21:51:08 UTC
-+++ ui/gfx/mojom/buffer_types_mojom_traits.h
-@@ -194,7 +194,7 @@ struct StructTraits<gfx::mojom::GpuMemoryBufferIdDataV
- }
- };
-
--#if defined(OS_LINUX) || defined(USE_OZONE)
-+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
- template <>
- struct StructTraits<gfx::mojom::NativePixmapPlaneDataView,
- gfx::NativePixmapPlane> {
-@@ -220,7 +220,7 @@ struct StructTraits<gfx::mojom::NativePixmapHandleData
- return pixmap_handle.planes;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- static uint64_t modifier(const gfx::NativePixmapHandle& pixmap_handle) {
- return pixmap_handle.modifier;
- }
-@@ -244,7 +244,7 @@ struct StructTraits<gfx::mojom::NativePixmapHandleData
- static bool Read(gfx::mojom::NativePixmapHandleDataView data,
- gfx::NativePixmapHandle* out);
- };
--#endif // defined(OS_LINUX) || defined(USE_OZONE)
-+#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE)
-
- template <>
- struct StructTraits<gfx::mojom::GpuMemoryBufferHandleDataView,
diff --git a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc
deleted file mode 100644
index 20952718c93d..000000000000
--- a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc
+++ /dev/null
@@ -1,64 +0,0 @@
---- ui/gfx/native_pixmap_handle.cc.orig 2020-02-24 18:39:44 UTC
-+++ ui/gfx/native_pixmap_handle.cc
-@@ -8,11 +8,15 @@
-
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include <drm_fourcc.h>
- #include "base/posix/eintr_wrapper.h"
- #endif
-
-+#if defined(OS_BSD)
-+#include <unistd.h>
-+#endif
-+
- #if defined(OS_FUCHSIA)
- #include <lib/zx/vmo.h>
- #include "base/fuchsia/fuchsia_logging.h"
-@@ -20,7 +24,7 @@
-
- namespace gfx {
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- static_assert(NativePixmapHandle::kNoModifier == DRM_FORMAT_MOD_INVALID,
- "gfx::NativePixmapHandle::kNoModifier should be an alias for"
- "DRM_FORMAT_MOD_INVALID");
-@@ -31,7 +35,7 @@ NativePixmapPlane::NativePixmapPlane() : stride(0), of
- NativePixmapPlane::NativePixmapPlane(int stride,
- int offset,
- uint64_t size
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- base::ScopedFD fd
- #elif defined(OS_FUCHSIA)
-@@ -42,7 +46,7 @@ NativePixmapPlane::NativePixmapPlane(int stride,
- : stride(stride),
- offset(offset),
- size(size)
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- fd(std::move(fd))
- #elif defined(OS_FUCHSIA)
-@@ -70,7 +74,7 @@ NativePixmapHandle& NativePixmapHandle::operator=(Nati
- NativePixmapHandle CloneHandleForIPC(const NativePixmapHandle& handle) {
- NativePixmapHandle clone;
- for (auto& plane : handle.planes) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- DCHECK(plane.fd.is_valid());
- base::ScopedFD fd_dup(HANDLE_EINTR(dup(plane.fd.get())));
- if (!fd_dup.is_valid()) {
-@@ -96,7 +100,7 @@ NativePixmapHandle CloneHandleForIPC(const NativePixma
- #endif
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- clone.modifier = handle.modifier;
- #endif
-
diff --git a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h
deleted file mode 100644
index 6306e267fbeb..000000000000
--- a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h
+++ /dev/null
@@ -1,38 +0,0 @@
---- ui/gfx/native_pixmap_handle.h.orig 2019-10-21 19:07:29 UTC
-+++ ui/gfx/native_pixmap_handle.h
-@@ -15,7 +15,7 @@
- #include "build/build_config.h"
- #include "ui/gfx/gfx_export.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- #include "base/files/scoped_file.h"
- #endif
-
-@@ -32,7 +32,7 @@ struct GFX_EXPORT NativePixmapPlane {
- NativePixmapPlane(int stride,
- int offset,
- uint64_t size
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- ,
- base::ScopedFD fd
- #elif defined(OS_FUCHSIA)
-@@ -53,7 +53,7 @@ struct GFX_EXPORT NativePixmapPlane {
- // This is necessary to map the buffers.
- uint64_t size;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // File descriptor for the underlying memory object (usually dmabuf).
- base::ScopedFD fd;
- #elif defined(OS_FUCHSIA)
-@@ -82,7 +82,7 @@ struct GFX_EXPORT NativePixmapHandle {
-
- std::vector<NativePixmapPlane> planes;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // The modifier is retrieved from GBM library and passed to EGL driver.
- // Generally it's platform specific, and we don't need to modify it in
- // Chromium code. Also one per plane per entry.
diff --git a/www/iridium/files/patch-ui_gfx_render__text.cc b/www/iridium/files/patch-ui_gfx_render__text.cc
deleted file mode 100644
index 446317a3101a..000000000000
--- a/www/iridium/files/patch-ui_gfx_render__text.cc
+++ /dev/null
@@ -1,46 +0,0 @@
---- ui/gfx/render_text.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/gfx/render_text.cc
-@@ -1169,32 +1169,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/www/iridium/files/patch-ui_gl_BUILD.gn b/www/iridium/files/patch-ui_gl_BUILD.gn
deleted file mode 100644
index 39f08eacf39a..000000000000
--- a/www/iridium/files/patch-ui_gl_BUILD.gn
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/BUILD.gn.orig 2020-03-16 18:40:43 UTC
-+++ ui/gl/BUILD.gn
-@@ -233,7 +233,7 @@ jumbo_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/www/iridium/files/patch-ui_gl_generate__bindings.py b/www/iridium/files/patch-ui_gl_generate__bindings.py
deleted file mode 100644
index c3ea0a6c23a3..000000000000
--- a/www/iridium/files/patch-ui_gl_generate__bindings.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- ui/gl/generate_bindings.py.orig 2020-03-16 18:40:43 UTC
-+++ ui/gl/generate_bindings.py
-@@ -2777,6 +2777,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/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h b/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
deleted file mode 100644
index c51dba36aabe..000000000000
--- a/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- ui/gl/gl_bindings_api_autogen_glx.h.orig 2019-03-11 22:01:19 UTC
-+++ ui/gl/gl_bindings_api_autogen_glx.h
-@@ -88,6 +88,7 @@ bool glXGetMscRateOMLFn(Display* dpy,
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator) override;
-+__GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) override;
- void glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) override;
diff --git a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
deleted file mode 100644
index 4aeda03a0414..000000000000
--- a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc
+++ /dev/null
@@ -1,61 +0,0 @@
---- ui/gl/gl_bindings_autogen_glx.cc.orig 2020-02-24 18:39:44 UTC
-+++ ui/gl/gl_bindings_autogen_glx.cc
-@@ -115,6 +115,8 @@ void DriverGLX::InitializeExtensionBindings() {
-
- ext.b_GLX_ARB_create_context =
- gfx::HasExtension(extensions, "GLX_ARB_create_context");
-+ ext.b_GLX_ARB_get_proc_address =
-+ gfx::HasExtension(extensions, "GLX_ARB_get_proc_address");
- ext.b_GLX_EXT_swap_control =
- gfx::HasExtension(extensions, "GLX_EXT_swap_control");
- ext.b_GLX_EXT_texture_from_pixmap =
-@@ -145,6 +147,11 @@ void DriverGLX::InitializeExtensionBindings() {
- GetGLProcAddress("glXCreateContextAttribsARB"));
- }
-
-+ if (ext.b_GLX_ARB_get_proc_address) {
-+ fn.glXGetProcAddressARBFn = reinterpret_cast<glXGetProcAddressARBProc>(
-+ GetGLProcAddress("glXGetProcAddressARB"));
-+ }
-+
- if (ext.b_GLX_SGIX_fbconfig) {
- fn.glXGetFBConfigFromVisualSGIXFn =
- reinterpret_cast<glXGetFBConfigFromVisualSGIXProc>(
-@@ -346,6 +353,10 @@ bool GLXApiBase::glXGetMscRateOMLFn(Display* dpy,
- return driver_->fn.glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
- }
-
-+__GLXextFuncPtr GLXApiBase::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ return driver_->fn.glXGetProcAddressARBFn(procName);
-+}
-+
- void GLXApiBase::glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) {
-@@ -647,6 +658,11 @@ bool TraceGLXApi::glXGetMscRateOMLFn(Display* dpy,
- return glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
- }
-
-+__GLXextFuncPtr TraceGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetProcAddressARB")
-+ return glx_api_->glXGetProcAddressARBFn(procName);
-+}
-+
- void TraceGLXApi::glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) {
-@@ -1068,6 +1084,14 @@ bool LogGLXApi::glXGetMscRateOMLFn(Display* dpy,
- << static_cast<const void*>(denominator) << ")");
- bool result =
- glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator);
-+ GL_SERVICE_LOG("GL_RESULT: " << result);
-+ return result;
-+}
-+
-+__GLXextFuncPtr LogGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) {
-+ GL_SERVICE_LOG("glXGetProcAddressARB"
-+ << "(" << static_cast<const void*>(procName) << ")");
-+ __GLXextFuncPtr result = glx_api_->glXGetProcAddressARBFn(procName);
- GL_SERVICE_LOG("GL_RESULT: " << result);
- return result;
- }
diff --git a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h
deleted file mode 100644
index e95b9179865e..000000000000
--- a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h
+++ /dev/null
@@ -1,43 +0,0 @@
---- ui/gl/gl_bindings_autogen_glx.h.orig 2019-03-11 22:01:19 UTC
-+++ ui/gl/gl_bindings_autogen_glx.h
-@@ -104,6 +104,8 @@ typedef bool(GL_BINDING_CALL* glXGetMscRateOMLProc)(Di
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator);
-+typedef __GLXextFuncPtr(GL_BINDING_CALL* glXGetProcAddressARBProc)(
-+ const GLubyte* procName);
- typedef void(GL_BINDING_CALL* glXGetSelectedEventProc)(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask);
-@@ -166,6 +168,7 @@ typedef void(GL_BINDING_CALL* glXWaitXProc)(void);
-
- struct ExtensionsGLX {
- bool b_GLX_ARB_create_context;
-+ bool b_GLX_ARB_get_proc_address;
- bool b_GLX_EXT_swap_control;
- bool b_GLX_EXT_texture_from_pixmap;
- bool b_GLX_MESA_copy_sub_buffer;
-@@ -203,6 +206,7 @@ struct ProcsGLX {
- glXGetFBConfigFromVisualSGIXProc glXGetFBConfigFromVisualSGIXFn;
- glXGetFBConfigsProc glXGetFBConfigsFn;
- glXGetMscRateOMLProc glXGetMscRateOMLFn;
-+ glXGetProcAddressARBProc glXGetProcAddressARBFn;
- glXGetSelectedEventProc glXGetSelectedEventFn;
- glXGetSyncValuesOMLProc glXGetSyncValuesOMLFn;
- glXGetVisualFromFBConfigProc glXGetVisualFromFBConfigFn;
-@@ -310,6 +314,7 @@ class GL_EXPORT GLXApi {
- GLXDrawable drawable,
- int32_t* numerator,
- int32_t* denominator) = 0;
-+ virtual __GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) = 0;
- virtual void glXGetSelectedEventFn(Display* dpy,
- GLXDrawable drawable,
- unsigned long* mask) = 0;
-@@ -394,6 +399,7 @@ class GL_EXPORT GLXApi {
- ::gl::g_current_glx_context->glXGetFBConfigFromVisualSGIXFn
- #define glXGetFBConfigs ::gl::g_current_glx_context->glXGetFBConfigsFn
- #define glXGetMscRateOML ::gl::g_current_glx_context->glXGetMscRateOMLFn
-+#define glXGetProcAddressARB ::gl::g_current_glx_context->glXGetProcAddressARBFn
- #define glXGetSelectedEvent ::gl::g_current_glx_context->glXGetSelectedEventFn
- #define glXGetSyncValuesOML ::gl::g_current_glx_context->glXGetSyncValuesOMLFn
- #define glXGetVisualFromFBConfig \
diff --git a/www/iridium/files/patch-ui_gl_gl__fence.cc b/www/iridium/files/patch-ui_gl_gl__fence.cc
deleted file mode 100644
index 5ba84b4bdb36..000000000000
--- a/www/iridium/files/patch-ui_gl_gl__fence.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/gl/gl_fence.cc.orig 2019-03-11 22:01:19 UTC
-+++ ui/gl/gl_fence.cc
-@@ -18,7 +18,7 @@
- #include "ui/gl/gl_fence_apple.h"
- #endif
-
--#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX)
-+#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD)
- #define USE_GL_FENCE_ANDROID_NATIVE_FENCE_SYNC
- #include "ui/gl/gl_fence_android_native_fence_sync.h"
- #include "ui/gl/gl_surface_egl.h"
diff --git a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc
deleted file mode 100644
index 7295d4c6df5e..000000000000
--- a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc
+++ /dev/null
@@ -1,43 +0,0 @@
---- ui/gl/sync_control_vsync_provider.cc.orig 2019-04-30 22:23:42 UTC
-+++ ui/gl/sync_control_vsync_provider.cc
-@@ -11,7 +11,7 @@
- #include "base/trace_event/trace_event.h"
- #include "build/build_config.h"
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // These constants define a reasonable range for a calculated refresh interval.
- // Calculating refreshes out of this range will be considered a fatal error.
- const int64_t kMinVsyncIntervalUs = base::Time::kMicrosecondsPerSecond / 400;
-@@ -26,7 +26,7 @@ const double kRelativeIntervalDifferenceThreshold = 0.
- namespace gl {
-
- SyncControlVSyncProvider::SyncControlVSyncProvider() : gfx::VSyncProvider() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // On platforms where we can't get an accurate reading on the refresh
- // rate we fall back to the assumption that we're displaying 60 frames
- // per second.
-@@ -48,7 +48,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
- base::TimeTicks* timebase_out,
- base::TimeDelta* interval_out) {
- TRACE_EVENT0("gpu", "SyncControlVSyncProvider::GetVSyncParameters");
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // The actual clock used for the system time returned by glXGetSyncValuesOML
- // is unspecified. In practice, the clock used is likely to be either
- // CLOCK_REALTIME or CLOCK_MONOTONIC, so we compare the returned time to the
-@@ -156,11 +156,11 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva
- return true;
- #else
- return false;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- bool SyncControlVSyncProvider::SupportGetVSyncParametersIfAvailable() const {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return true;
- #else
- return false;
diff --git a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h
deleted file mode 100644
index 4321d70a7288..000000000000
--- a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h
+++ /dev/null
@@ -1,34 +0,0 @@
---- ui/gl/sync_control_vsync_provider.h.orig 2019-03-11 22:01:19 UTC
-+++ ui/gl/sync_control_vsync_provider.h
-@@ -26,11 +26,11 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
- bool SupportGetVSyncParametersIfAvailable() const override;
-
- static constexpr bool IsSupported() {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return true;
- #else
- return false;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
- }
-
- protected:
-@@ -41,7 +41,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
- virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0;
-
- private:
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- base::TimeTicks last_timebase_;
- uint64_t last_media_stream_counter_ = 0;
- base::TimeDelta last_good_interval_;
-@@ -52,7 +52,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv
- // from configuration change (monitor reconfiguration, moving windows
- // between monitors, suspend and resume, etc.).
- base::queue<base::TimeDelta> last_computed_intervals_;
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_BSD)
-
- DISALLOW_COPY_AND_ASSIGN(SyncControlVSyncProvider);
- };
diff --git a/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h b/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h
deleted file mode 100644
index 8f993bfbfbc6..000000000000
--- a/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/message_center/public/cpp/message_center_constants.h.orig 2019-06-04 18:55:50 UTC
-+++ ui/message_center/public/cpp/message_center_constants.h
-@@ -105,7 +105,7 @@ const int kButtonHorizontalPadding = 16; // In DIPs.
- const int kButtonIconTopPadding = 11; // In DIPs.
- const int kButtonIconToTitlePadding = 16; // In DIPs.
-
--#if !defined(OS_LINUX) || defined(USE_AURA)
-+#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA)
- constexpr SkColor kButtonSeparatorColor = SkColorSetRGB(234, 234, 234);
- constexpr SkColor kHoveredButtonBackgroundColor = SkColorSetRGB(243, 243, 243);
- #endif
diff --git a/www/iridium/files/patch-ui_message__center_views_message__popup__view.cc b/www/iridium/files/patch-ui_message__center_views_message__popup__view.cc
deleted file mode 100644
index 7037f8a47604..000000000000
--- a/www/iridium/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 2019-12-16 21:51:34 UTC
-+++ ui/message_center/views/message_popup_view.cc
-@@ -101,7 +101,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/www/iridium/files/patch-ui_native__theme_native__theme.h b/www/iridium/files/patch-ui_native__theme_native__theme.h
deleted file mode 100644
index af4951e7fb10..000000000000
--- a/www/iridium/files/patch-ui_native__theme_native__theme.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/native_theme/native_theme.h.orig 2019-10-21 19:07:29 UTC
-+++ ui/native_theme/native_theme.h
-@@ -49,7 +49,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/www/iridium/files/patch-ui_native__theme_native__theme__base.cc b/www/iridium/files/patch-ui_native__theme_native__theme__base.cc
deleted file mode 100644
index 96f69fe1f796..000000000000
--- a/www/iridium/files/patch-ui_native__theme_native__theme__base.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/native_theme/native_theme_base.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/native_theme/native_theme_base.cc
-@@ -256,7 +256,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/www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h b/www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h
deleted file mode 100644
index 78b9f0444781..000000000000
--- a/www/iridium/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 2020-02-24 18:40:16 UTC
-+++ ui/platform_window/platform_window_init_properties.h
-@@ -41,7 +41,7 @@ enum class PlatformWindowOpacity {
-
- class WorkspaceExtensionDelegate;
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- bool prefer_dark_theme = false;
- gfx::ImageSkia* icon = nullptr;
- base::Optional<int> background_color;
diff --git a/www/iridium/files/patch-ui_strings_app__locale__settings.grd b/www/iridium/files/patch-ui_strings_app__locale__settings.grd
deleted file mode 100644
index 9341a0bc5305..000000000000
--- a/www/iridium/files/patch-ui_strings_app__locale__settings.grd
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/strings/app_locale_settings.grd.orig 2020-03-16 18:40:15 UTC
-+++ ui/strings/app_locale_settings.grd
-@@ -216,7 +216,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/www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc b/www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc
deleted file mode 100644
index 4cdcd2b4bfd1..000000000000
--- a/www/iridium/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 2020-03-16 18:40:43 UTC
-+++ ui/views/bubble/bubble_dialog_delegate_view.cc
-@@ -174,7 +174,7 @@ Widget* BubbleDialogDelegateView::CreateBubble(
- bubble_delegate->SetAnchorView(bubble_delegate->GetAnchorView());
- Widget* bubble_widget = CreateBubbleWidget(bubble_delegate);
-
--#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX)
-+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || 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/www/iridium/files/patch-ui_views_controls_label.cc b/www/iridium/files/patch-ui_views_controls_label.cc
deleted file mode 100644
index f6f9790bdbae..000000000000
--- a/www/iridium/files/patch-ui_views_controls_label.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ui/views/controls/label.cc.orig 2020-02-03 21:53:40 UTC
-+++ ui/views/controls/label.cc
-@@ -695,7 +695,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
-@@ -880,7 +880,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/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc b/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc
deleted file mode 100644
index f22c358d52d8..000000000000
--- a/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc
+++ /dev/null
@@ -1,73 +0,0 @@
---- ui/views/controls/textfield/textfield.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/views/controls/textfield/textfield.cc
-@@ -60,7 +60,7 @@
- #include "base/win/win_util.h"
- #endif
-
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
- #include "base/strings/utf_string_conversions.h"
- #include "ui/base/ime/linux/text_edit_command_auralinux.h"
- #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h"
-@@ -183,14 +183,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke
- #endif
- return ui::TextEditCommand::DELETE_BACKWARD;
- }
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || 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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Only erase by line break on Linux and ChromeOS.
- if (shift && control)
- return ui::TextEditCommand::DELETE_TO_END_OF_LINE;
-@@ -258,7 +258,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)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- return flags & ui::EF_CONTROL_DOWN;
- #else
- return false;
-@@ -730,7 +730,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::POINTER_TYPE_MOUSE);
- #endif
-@@ -776,7 +776,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;
-@@ -923,7 +923,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();
-@@ -2182,7 +2182,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/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc b/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc
deleted file mode 100644
index af036b2cf5d1..000000000000
--- a/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/corewm/tooltip_aura.cc.orig 2019-12-16 21:51:34 UTC
-+++ ui/views/corewm/tooltip_aura.cc
-@@ -43,7 +43,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/www/iridium/files/patch-ui_views_examples_widget__example.cc b/www/iridium/files/patch-ui_views_examples_widget__example.cc
deleted file mode 100644
index ae3eee7d03ac..000000000000
--- a/www/iridium/files/patch-ui_views_examples_widget__example.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/examples/widget_example.cc.orig 2020-02-03 21:53:14 UTC
-+++ ui/views/examples/widget_example.cc
-@@ -70,7 +70,7 @@ void WidgetExample::CreateExampleView(View* container)
- BuildButton(container, "Popup widget", POPUP);
- BuildButton(container, "Dialog widget", DIALOG);
- BuildButton(container, "Modal Dialog", MODAL_DIALOG);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_BSD)
- // Windows does not support TYPE_CONTROL top-level widgets.
- BuildButton(container, "Child widget", CHILD);
- #endif
diff --git a/www/iridium/files/patch-ui_views_selection__controller.cc b/www/iridium/files/patch-ui_views_selection__controller.cc
deleted file mode 100644
index 9504c67a2803..000000000000
--- a/www/iridium/files/patch-ui_views_selection__controller.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/selection_controller.cc.orig 2019-12-16 21:51:09 UTC
-+++ ui/views/selection_controller.cc
-@@ -22,7 +22,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/www/iridium/files/patch-ui_views_style_platform__style.cc b/www/iridium/files/patch-ui_views_style_platform__style.cc
deleted file mode 100644
index 28a000e3e6de..000000000000
--- a/www/iridium/files/patch-ui_views_style_platform__style.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/style/platform_style.cc.orig 2020-02-03 21:53:14 UTC
-+++ ui/views/style/platform_style.cc
-@@ -74,7 +74,7 @@ gfx::Range PlatformStyle::RangeToDeleteBackwards(const
-
- #endif // OS_MACOSX
-
--#if !BUILDFLAG(ENABLE_DESKTOP_AURA) || !defined(OS_LINUX)
-+#if !BUILDFLAG(ENABLE_DESKTOP_AURA) || (!defined(OS_LINUX) && !defined(OS_BSD))
- // static
- std::unique_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder(
- LabelButton* button) {
diff --git a/www/iridium/files/patch-ui_views_views__delegate.cc b/www/iridium/files/patch-ui_views_views__delegate.cc
deleted file mode 100644
index 6ed6c077584f..000000000000
--- a/www/iridium/files/patch-ui_views_views__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/views_delegate.cc.orig 2020-02-03 21:53:14 UTC
-+++ ui/views/views_delegate.cc
-@@ -85,7 +85,7 @@ HICON ViewsDelegate::GetSmallWindowIcon() const {
- bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow window) const {
- return false;
- }
--#elif defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA)
- gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const {
- return nullptr;
- }
diff --git a/www/iridium/files/patch-ui_views_views__delegate.h b/www/iridium/files/patch-ui_views_views__delegate.h
deleted file mode 100644
index b5bdee958617..000000000000
--- a/www/iridium/files/patch-ui_views_views__delegate.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/views_delegate.h.orig 2020-02-03 21:53:14 UTC
-+++ ui/views/views_delegate.h
-@@ -131,7 +131,7 @@ class VIEWS_EXPORT ViewsDelegate {
- // Returns true if the window passed in is in the Windows 8 metro
- // environment.
- virtual bool IsWindowInMetro(gfx::NativeWindow window) const;
--#elif defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA)
-+#elif (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA)
- virtual gfx::ImageSkia* GetDefaultWindowIcon() const;
- #endif
-
diff --git a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc
deleted file mode 100644
index ab44393b52fb..000000000000
--- a/www/iridium/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 2020-03-16 18:40:43 UTC
-+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
-@@ -747,7 +747,7 @@ void DesktopWindowTreeHostPlatform::AddAdditionalInitP
- // DesktopWindowTreeHost:
-
- // Linux subclasses this host and adds some Linux specific bits.
--#if !defined(OS_LINUX)
-+#if !defined(OS_LINUX) && !defined(OS_BSD)
- // static
- DesktopWindowTreeHost* DesktopWindowTreeHost::Create(
- internal::NativeWidgetDelegate* native_widget_delegate,
diff --git a/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc b/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc
deleted file mode 100644
index 61706964d7c0..000000000000
--- a/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc
+++ /dev/null
@@ -1,27 +0,0 @@
---- ui/views/widget/native_widget_aura.cc.orig 2020-03-16 18:40:43 UTC
-+++ ui/views/widget/native_widget_aura.cc
-@@ -64,7 +64,7 @@
- #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h"
- #endif
-
--#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX)
-+#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- #include "ui/views/linux_ui/linux_ui.h"
- #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
- #endif
-@@ -1099,13 +1099,13 @@ void Widget::CloseAllSecondaryWidgets() {
- EnumThreadWindows(GetCurrentThreadId(), WindowCallbackProc, 0);
- #endif
-
--#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX)
-+#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- DesktopWindowTreeHostLinux::CleanUpWindowList(CloseWindow);
- #endif
- }
-
- const ui::NativeTheme* Widget::GetNativeTheme() const {
--#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX)
-+#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD))
- const LinuxUI* linux_ui = LinuxUI::instance();
- if (linux_ui) {
- ui::NativeTheme* native_theme =
diff --git a/www/iridium/files/patch-ui_views_window_custom__frame__view.cc b/www/iridium/files/patch-ui_views_window_custom__frame__view.cc
deleted file mode 100644
index 4c35d22da5da..000000000000
--- a/www/iridium/files/patch-ui_views_window_custom__frame__view.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/window/custom_frame_view.cc.orig 2019-09-09 21:55:47 UTC
-+++ ui/views/window/custom_frame_view.cc
-@@ -287,7 +287,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/www/iridium/files/patch-ui_views_window_dialog__delegate.cc b/www/iridium/files/patch-ui_views_window_dialog__delegate.cc
deleted file mode 100644
index b92881838304..000000000000
--- a/www/iridium/files/patch-ui_views_window_dialog__delegate.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/window/dialog_delegate.cc.orig 2020-02-03 21:53:40 UTC
-+++ ui/views/window/dialog_delegate.cc
-@@ -59,7 +59,7 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDeleg
-
- // static
- bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) {
--#if defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA)
- // The new style doesn't support unparented dialogs on Linux desktop.
- return parent != nullptr;
- #elif defined(OS_WIN)
diff --git a/www/iridium/files/patch-ui_views_window_frame__background.cc b/www/iridium/files/patch-ui_views_window_frame__background.cc
deleted file mode 100644
index 18a363a65e8f..000000000000
--- a/www/iridium/files/patch-ui_views_window_frame__background.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/views/window/frame_background.cc.orig 2020-02-03 21:53:14 UTC
-+++ ui/views/window/frame_background.cc
-@@ -107,7 +107,7 @@ void FrameBackground::PaintMaximized(gfx::Canvas* canv
- const View* view) const {
- // Fill the top with the frame color first so we have a constant background
- // for areas not covered by the theme image.
--#if defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA)
-+#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA)
- auto* native_theme = view->GetNativeTheme();
- ui::NativeTheme::ExtraParams params;
- params.frame_top_area.use_custom_frame = use_custom_frame_;
diff --git a/www/iridium/files/patch-ui_webui_resources_js_cr.js b/www/iridium/files/patch-ui_webui_resources_js_cr.js
deleted file mode 100644
index 2df5b1190a27..000000000000
--- a/www/iridium/files/patch-ui_webui_resources_js_cr.js
+++ /dev/null
@@ -1,14 +0,0 @@
---- ui/webui/resources/js/cr.js.orig 2019-12-16 21:51:34 UTC
-+++ ui/webui/resources/js/cr.js
-@@ -437,6 +437,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/www/iridium/files/patch-ui_webui_resources_js_icon.js b/www/iridium/files/patch-ui_webui_resources_js_icon.js
deleted file mode 100644
index 26d3260b5cff..000000000000
--- a/www/iridium/files/patch-ui_webui_resources_js_icon.js
+++ /dev/null
@@ -1,11 +0,0 @@
---- ui/webui/resources/js/icon.js.orig 2019-10-21 19:07:29 UTC
-+++ ui/webui/resources/js/icon.js
-@@ -16,7 +16,7 @@ cr.define('cr.icon', function() {
- // supports SCALE_FACTOR_100P on all non-iOS platforms.
- supportedScaleFactors.push(1);
- }
-- if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux) {
-+ if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux || cr.isBSD) {
- // All desktop platforms support zooming which also updates the renderer's
- // device scale factors (a.k.a devicePixelRatio), and these platforms have
- // high DPI assets for 2x. Let the renderer pick the closest image for
diff --git a/www/iridium/files/patch-v8_BUILD.gn b/www/iridium/files/patch-v8_BUILD.gn
deleted file mode 100644
index 0fe25aa48094..000000000000
--- a/www/iridium/files/patch-v8_BUILD.gn
+++ /dev/null
@@ -1,32 +0,0 @@
---- v8/BUILD.gn.orig 2020-03-16 18:42:16 UTC
-+++ v8/BUILD.gn
-@@ -3616,7 +3616,7 @@ v8_component("v8_libbase") {
- }
- }
-
-- if (is_linux) {
-+ if (is_linux && !is_bsd) {
- sources += [
- "src/base/debug/stack_trace_posix.cc",
- "src/base/platform/platform-linux.cc",
-@@ -3636,6 +3636,12 @@ v8_component("v8_libbase") {
- "dl",
- "rt",
- ]
-+ } else if (is_bsd) {
-+ sources += [
-+ "src/base/debug/stack_trace_posix.cc",
-+ "src/base/platform/platform-freebsd.cc",
-+ ]
-+ libs = [ "rt", "execinfo" ]
- } else if (is_android) {
- if (current_toolchain == host_toolchain) {
- libs = [
-@@ -3891,6 +3897,7 @@ if (current_toolchain == v8_snapshot_toolchain) {
- "src/snapshot/mksnapshot.cc",
- "src/snapshot/snapshot-empty.cc",
- ]
-+ libs = ["execinfo"]
-
- configs = [ ":internal_config" ]
-
diff --git a/www/iridium/files/patch-v8_include_v8config.h b/www/iridium/files/patch-v8_include_v8config.h
deleted file mode 100644
index 18b8adbb56b8..000000000000
--- a/www/iridium/files/patch-v8_include_v8config.h
+++ /dev/null
@@ -1,21 +0,0 @@
---- v8/include/v8config.h.orig 2020-03-03 18:55:34 UTC
-+++ v8/include/v8config.h
-@@ -273,7 +273,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/www/iridium/files/patch-v8_src_api_api.cc b/www/iridium/files/patch-v8_src_api_api.cc
deleted file mode 100644
index f32636389a90..000000000000
--- a/www/iridium/files/patch-v8_src_api_api.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- v8/src/api/api.cc.orig 2020-03-16 18:42:16 UTC
-+++ v8/src/api/api.cc
-@@ -5657,7 +5657,7 @@ bool v8::V8::Initialize() {
- 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/www/iridium/files/patch-v8_src_base_cpu.cc b/www/iridium/files/patch-v8_src_base_cpu.cc
deleted file mode 100644
index c11e6a384aa0..000000000000
--- a/www/iridium/files/patch-v8_src_base_cpu.cc
+++ /dev/null
@@ -1,18 +0,0 @@
---- v8/src/base/cpu.cc.orig 2019-12-16 21:56:22 UTC
-+++ v8/src/base/cpu.cc
-@@ -422,6 +422,7 @@ CPU::CPU()
-
- #if V8_OS_LINUX
-
-+#if V8_OS_LINUX
- CPUInfo cpu_info;
-
- // Extract implementor from the "CPU implementer" field.
-@@ -455,6 +456,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/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc b/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc
deleted file mode 100644
index 14e3ac15e039..000000000000
--- a/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc
+++ /dev/null
@@ -1,13 +0,0 @@
---- v8/src/base/platform/platform-freebsd.cc.orig 2020-03-24 16:12:11 UTC
-+++ v8/src/base/platform/platform-freebsd.cc
-@@ -81,8 +81,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
- lib_name = std::string(path);
- }
- result.push_back(SharedLibraryAddress(
-- lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
-- reinterpret_cast<uintptr_t>(map->kve_end)));
-+ lib_name, static_cast<uintptr_t>(map->kve_start),
-+ static_cast<uintptr_t>(map->kve_end)));
- }
-
- start += ssize;
diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc b/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc
deleted file mode 100644
index e60a94f246f1..000000000000
--- a/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- v8/src/base/platform/platform-posix.cc.orig 2020-02-03 21:55:00 UTC
-+++ v8/src/base/platform/platform-posix.cc
-@@ -427,7 +427,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.
-@@ -558,6 +558,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/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc b/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc
deleted file mode 100644
index ef8149182926..000000000000
--- a/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- weblayer/app/content_main_delegate_impl.cc.orig 2020-03-17 10:35:42 UTC
-+++ weblayer/app/content_main_delegate_impl.cc
-@@ -146,7 +146,7 @@ bool ContentMainDelegateImpl::BasicStartupComplete(int
- }
-
- 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/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc b/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc
deleted file mode 100644
index ca6a91a131c6..000000000000
--- a/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/browser/browser_main_parts_impl.cc.orig 2020-03-16 18:40:43 UTC
-+++ weblayer/browser/browser_main_parts_impl.cc
-@@ -41,7 +41,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
-
-@@ -109,7 +109,7 @@ int BrowserMainPartsImpl::PreEarlyInitialization() {
- #if defined(USE_X11)
- ui::SetDefaultX11ErrorHandlers();
- #endif
--#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/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc
deleted file mode 100644
index cdb4c7b0f2a0..000000000000
--- a/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc
+++ /dev/null
@@ -1,38 +0,0 @@
---- weblayer/browser/content_browser_client_impl.cc.orig 2020-03-16 18:40:43 UTC
-+++ weblayer/browser/content_browser_client_impl.cc
-@@ -72,7 +72,7 @@
- #include "weblayer/browser/safe_browsing/safe_browsing_service.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
-
-@@ -247,7 +247,7 @@ ContentBrowserClientImpl::CreateNetworkContext(
-
- 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
-@@ -426,7 +426,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe
- }
- #endif
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
- void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess(
- const base::CommandLine& command_line,
- int child_process_id,
-@@ -460,7 +460,7 @@ void ContentBrowserClientImpl::GetAdditionalMappedFile
- mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd);
- #endif // defined(OS_ANDROID)
- }
--#endif // defined(OS_LINUX) || defined(OS_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- bool ContentBrowserClientImpl::ShouldOverrideUrlLoading(
diff --git a/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h
deleted file mode 100644
index 41c6b7a9b08d..000000000000
--- a/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- weblayer/browser/content_browser_client_impl.h.orig 2020-03-16 18:40:43 UTC
-+++ weblayer/browser/content_browser_client_impl.h
-@@ -85,12 +85,12 @@ class ContentBrowserClientImpl : public content::Conte
- service_manager::BinderMapWithContext<content::RenderFrameHost*>* map)
- override;
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || 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_ANDROID)
-+#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
-
- #if defined(OS_ANDROID)
- bool ShouldOverrideUrlLoading(int frame_tree_node_id,
diff --git a/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc b/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc
deleted file mode 100644
index 4ac2c36b5362..000000000000
--- a/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- weblayer/browser/system_network_context_manager.cc.orig 2020-03-17 10:36:11 UTC
-+++ weblayer/browser/system_network_context_manager.cc
-@@ -102,7 +102,7 @@ SystemNetworkContextManager::CreateSystemNetworkContex
-
- network_context_params->context_name = std::string("system");
- network_context_params->primary_network_context = true;
--#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
diff --git a/www/iridium/files/patch-weblayer_common_weblayer__paths.cc b/www/iridium/files/patch-weblayer_common_weblayer__paths.cc
deleted file mode 100644
index 54019d8cc261..000000000000
--- a/www/iridium/files/patch-weblayer_common_weblayer__paths.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- weblayer/common/weblayer_paths.cc.orig 2020-03-16 18:40:15 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/www/iridium/files/sndio_input.cc b/www/iridium/files/sndio_input.cc
deleted file mode 100644
index 6c7bc8b8025b..000000000000
--- a/www/iridium/files/sndio_input.cc
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright 2013 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 "base/bind.h"
-#include "base/logging.h"
-#include "base/macros.h"
-#include "base/message_loop/message_loop.h"
-#include "media/base/audio_timestamp_helper.h"
-#include "media/audio/openbsd/audio_manager_openbsd.h"
-#include "media/audio/audio_manager.h"
-#include "media/audio/sndio/sndio_input.h"
-
-namespace media {
-
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
-void SndioAudioInputStream::OnMoveCallback(void *arg, int delta)
-{
- SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
-
- self->hw_delay += delta;
-}
-
-void *SndioAudioInputStream::ThreadEntry(void *arg) {
- SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg);
-
- self->ThreadLoop();
- return NULL;
-}
-
-SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager,
- const std::string& device_name,
- const AudioParameters& params)
- : manager(manager),
- params(params),
- audio_bus(AudioBus::Create(params)),
- state(kClosed) {
-}
-
-SndioAudioInputStream::~SndioAudioInputStream() {
- if (state != kClosed)
- Close();
-}
-
-bool SndioAudioInputStream::Open() {
- struct sio_par par;
- int sig;
-
- if (state != kClosed)
- return false;
-
- if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
- params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
- LOG(WARNING) << "Unsupported audio format.";
- return false;
- }
-
- sio_initpar(&par);
- par.rate = params.sample_rate();
- par.rchan = params.channels();
- par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
- par.bps = par.bits / 8;
- par.sig = sig = par.bits != 8 ? 1 : 0;
- par.le = SIO_LE_NATIVE;
- par.appbufsz = params.frames_per_buffer();
-
- hdl = sio_open(SIO_DEVANY, SIO_REC, 0);
-
- if (hdl == NULL) {
- LOG(ERROR) << "Couldn't open audio device.";
- return false;
- }
-
- if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
- LOG(ERROR) << "Couldn't set audio parameters.";
- goto bad_close;
- }
-
- if (par.rate != (unsigned int)params.sample_rate() ||
- par.rchan != (unsigned int)params.channels() ||
- par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
- par.sig != (unsigned int)sig ||
- (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
- (par.bits != par.bps * 8)) {
- LOG(ERROR) << "Unsupported audio parameters.";
- goto bad_close;
- }
- state = kStopped;
- buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
- sio_onmove(hdl, &OnMoveCallback, this);
- return true;
-bad_close:
- sio_close(hdl);
- return false;
-}
-
-void SndioAudioInputStream::Start(AudioInputCallback* cb) {
-
- StartAgc();
-
- state = kRunning;
- hw_delay = 0;
- callback = cb;
- sio_start(hdl);
- if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
- LOG(ERROR) << "Failed to create real-time thread for recording.";
- sio_stop(hdl);
- state = kStopped;
- }
-}
-
-void SndioAudioInputStream::Stop() {
-
- if (state == kStopped)
- return;
-
- state = kStopWait;
- pthread_join(thread, NULL);
- sio_stop(hdl);
- state = kStopped;
-
- StopAgc();
-}
-
-void SndioAudioInputStream::Close() {
-
- if (state == kClosed)
- return;
-
- if (state == kRunning)
- Stop();
-
- state = kClosed;
- delete [] buffer;
- sio_close(hdl);
-
- manager->ReleaseInputStream(this);
-}
-
-double SndioAudioInputStream::GetMaxVolume() {
- // Not supported
- return 0.0;
-}
-
-void SndioAudioInputStream::SetVolume(double volume) {
- // Not supported. Do nothing.
-}
-
-double SndioAudioInputStream::GetVolume() {
- // Not supported.
- return 0.0;
-}
-
-bool SndioAudioInputStream::IsMuted() {
- // Not supported.
- return false;
-}
-
-void SndioAudioInputStream::SetOutputDeviceForAec(
- const std::string& output_device_id) {
- // Not supported.
-}
-
-void SndioAudioInputStream::ThreadLoop(void) {
- size_t todo, n;
- char *data;
- unsigned int nframes;
- double normalized_volume = 0.0;
-
- nframes = audio_bus->frames();
-
- while (state == kRunning && !sio_eof(hdl)) {
-
- GetAgcVolume(&normalized_volume);
-
- // read one block
- todo = nframes * params.GetBytesPerFrame(kSampleFormat);
- data = buffer;
- while (todo > 0) {
- n = sio_read(hdl, data, todo);
- if (n == 0)
- return; // unrecoverable I/O error
- todo -= n;
- data += n;
- }
- hw_delay -= nframes;
-
- // convert frames count to TimeDelta
- const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
- params.sample_rate());
-
- // push into bus
- audio_bus->FromInterleaved(buffer, nframes, SampleFormatToBytesPerChannel(kSampleFormat));
-
- // invoke callback
- callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.);
- }
-}
-
-} // namespace media
diff --git a/www/iridium/files/sndio_input.h b/www/iridium/files/sndio_input.h
deleted file mode 100644
index d868e0469db5..000000000000
--- a/www/iridium/files/sndio_input.h
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2013 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 MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
-#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
-
-#include <stdint.h>
-#include <string>
-#include <sndio.h>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "base/time/time.h"
-#include "media/audio/agc_audio_stream.h"
-#include "media/audio/audio_io.h"
-#include "media/audio/audio_device_description.h"
-#include "media/base/audio_parameters.h"
-
-namespace media {
-
-class AudioManagerBase;
-
-// Implementation of AudioOutputStream using sndio(7)
-class SndioAudioInputStream : public AgcAudioStream<AudioInputStream> {
- public:
- // Pass this to the constructor if you want to attempt auto-selection
- // of the audio recording device.
- static const char kAutoSelectDevice[];
-
- // Create a PCM Output stream for the SNDIO device identified by
- // |device_name|. If unsure of what to use for |device_name|, use
- // |kAutoSelectDevice|.
- SndioAudioInputStream(AudioManagerBase* audio_manager,
- const std::string& device_name,
- const AudioParameters& params);
-
- ~SndioAudioInputStream() override;
-
- // Implementation of AudioInputStream.
- bool Open() override;
- void Start(AudioInputCallback* callback) override;
- void Stop() override;
- void Close() override;
- double GetMaxVolume() override;
- void SetVolume(double volume) override;
- double GetVolume() override;
- bool IsMuted() override;
- void SetOutputDeviceForAec(const std::string& output_device_id) override;
-
- private:
-
- enum StreamState {
- kClosed, // Not opened yet
- kStopped, // Device opened, but not started yet
- kRunning, // Started, device playing
- kStopWait // Stopping, waiting for the real-time thread to exit
- };
-
- // C-style call-backs
- static void OnMoveCallback(void *arg, int delta);
- static void* ThreadEntry(void *arg);
-
- // Continuously moves data from the device to the consumer
- void ThreadLoop();
- // Our creator, the audio manager needs to be notified when we close.
- AudioManagerBase* manager;
- // Parameters of the source
- AudioParameters params;
- // We store data here for consumer
- std::unique_ptr<AudioBus> audio_bus;
- // Call-back that consumes recorded data
- AudioInputCallback* callback; // Valid during a recording session.
- // Handle of the audio device
- struct sio_hdl* hdl;
- // Current state of the stream
- enum StreamState state;
- // High priority thread running ThreadLoop()
- pthread_t thread;
- // Number of frames buffered in the hardware
- int hw_delay;
- // Temporary buffer where data is stored sndio-compatible format
- char* buffer;
-
- DISALLOW_COPY_AND_ASSIGN(SndioAudioInputStream);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_
diff --git a/www/iridium/files/sndio_output.cc b/www/iridium/files/sndio_output.cc
deleted file mode 100644
index a6719f9aac8d..000000000000
--- a/www/iridium/files/sndio_output.cc
+++ /dev/null
@@ -1,183 +0,0 @@
-// 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.
-
-#include "base/logging.h"
-#include "base/time/time.h"
-#include "base/time/default_tick_clock.h"
-#include "media/audio/audio_manager_base.h"
-#include "media/base/audio_timestamp_helper.h"
-#include "media/audio/sndio/sndio_output.h"
-
-namespace media {
-
-static const SampleFormat kSampleFormat = kSampleFormatS16;
-
-void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->hw_delay -= delta;
-}
-
-void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->vol = vol;
-}
-
-void *SndioAudioOutputStream::ThreadEntry(void *arg) {
- SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg);
-
- self->ThreadLoop();
- return NULL;
-}
-
-SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params,
- AudioManagerBase* manager)
- : manager(manager),
- params(params),
- audio_bus(AudioBus::Create(params)),
- state(kClosed),
- mutex(PTHREAD_MUTEX_INITIALIZER) {
-}
-
-SndioAudioOutputStream::~SndioAudioOutputStream() {
- if (state != kClosed)
- Close();
-}
-
-bool SndioAudioOutputStream::Open() {
- struct sio_par par;
- int sig;
-
- if (params.format() != AudioParameters::AUDIO_PCM_LINEAR &&
- params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) {
- LOG(WARNING) << "Unsupported audio format.";
- return false;
- }
- sio_initpar(&par);
- par.rate = params.sample_rate();
- par.pchan = params.channels();
- par.bits = SampleFormatToBitsPerChannel(kSampleFormat);
- par.bps = par.bits / 8;
- par.sig = sig = par.bits != 8 ? 1 : 0;
- par.le = SIO_LE_NATIVE;
- par.appbufsz = params.frames_per_buffer();
-
- hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0);
- if (hdl == NULL) {
- LOG(ERROR) << "Couldn't open audio device.";
- return false;
- }
- if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) {
- LOG(ERROR) << "Couldn't set audio parameters.";
- goto bad_close;
- }
- if (par.rate != (unsigned int)params.sample_rate() ||
- par.pchan != (unsigned int)params.channels() ||
- par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) ||
- par.sig != (unsigned int)sig ||
- (par.bps > 1 && par.le != SIO_LE_NATIVE) ||
- (par.bits != par.bps * 8)) {
- LOG(ERROR) << "Unsupported audio parameters.";
- goto bad_close;
- }
- state = kStopped;
- volpending = 0;
- vol = 0;
- buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)];
- sio_onmove(hdl, &OnMoveCallback, this);
- sio_onvol(hdl, &OnVolCallback, this);
- return true;
- bad_close:
- sio_close(hdl);
- return false;
-}
-
-void SndioAudioOutputStream::Close() {
- if (state == kClosed)
- return;
- if (state == kRunning)
- Stop();
- state = kClosed;
- delete [] buffer;
- sio_close(hdl);
- manager->ReleaseOutputStream(this); // Calls the destructor
-}
-
-void SndioAudioOutputStream::Start(AudioSourceCallback* callback) {
- state = kRunning;
- hw_delay = 0;
- source = callback;
- sio_start(hdl);
- if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) {
- LOG(ERROR) << "Failed to create real-time thread.";
- sio_stop(hdl);
- state = kStopped;
- }
-}
-
-void SndioAudioOutputStream::Stop() {
- if (state == kStopped)
- return;
- state = kStopWait;
- pthread_join(thread, NULL);
- sio_stop(hdl);
- state = kStopped;
-}
-
-void SndioAudioOutputStream::SetVolume(double v) {
- pthread_mutex_lock(&mutex);
- vol = v * SIO_MAXVOL;
- volpending = 1;
- pthread_mutex_unlock(&mutex);
-}
-
-void SndioAudioOutputStream::GetVolume(double* v) {
- pthread_mutex_lock(&mutex);
- *v = vol * (1. / SIO_MAXVOL);
- pthread_mutex_unlock(&mutex);
-}
-
-// This stream is always used with sub second buffer sizes, where it's
-// sufficient to simply always flush upon Start().
-void SndioAudioOutputStream::Flush() {}
-
-void SndioAudioOutputStream::ThreadLoop(void) {
- int avail, count, result;
-
- while (state == kRunning) {
- // Update volume if needed
- pthread_mutex_lock(&mutex);
- if (volpending) {
- volpending = 0;
- sio_setvol(hdl, vol);
- }
- pthread_mutex_unlock(&mutex);
-
- // Get data to play
- const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay,
- params.sample_rate());
- count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get());
- audio_bus->ToInterleaved(count, SampleFormatToBytesPerChannel(kSampleFormat), buffer);
- if (count == 0) {
- // We have to submit something to the device
- count = audio_bus->frames();
- memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat));
- LOG(WARNING) << "No data to play, running empty cycle.";
- }
-
- // Submit data to the device
- avail = count * params.GetBytesPerFrame(kSampleFormat);
- result = sio_write(hdl, buffer, avail);
- if (result == 0) {
- LOG(WARNING) << "Audio device disconnected.";
- break;
- }
-
- // Update hardware pointer
- hw_delay += count;
- }
-}
-
-} // namespace media
diff --git a/www/iridium/files/sndio_output.h b/www/iridium/files/sndio_output.h
deleted file mode 100644
index ead220ca96e7..000000000000
--- a/www/iridium/files/sndio_output.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// 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.
-
-#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
-#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
-
-#include <pthread.h>
-#include <sndio.h>
-
-#include "base/time/tick_clock.h"
-#include "base/time/time.h"
-#include "media/audio/audio_io.h"
-
-namespace media {
-
-class AudioManagerBase;
-
-// Implementation of AudioOutputStream using sndio(7)
-class SndioAudioOutputStream : public AudioOutputStream {
- public:
- // The manager is creating this object
- SndioAudioOutputStream(const AudioParameters& params,
- AudioManagerBase* manager);
- virtual ~SndioAudioOutputStream();
-
- // Implementation of AudioOutputStream.
- bool Open() override;
- void Close() override;
- void Start(AudioSourceCallback* callback) override;
- void Stop() override;
- void SetVolume(double volume) override;
- void GetVolume(double* volume) override;
- void Flush() override;
-
- friend void sndio_onmove(void *arg, int delta);
- friend void sndio_onvol(void *arg, unsigned int vol);
- friend void *sndio_threadstart(void *arg);
-
- private:
- enum StreamState {
- kClosed, // Not opened yet
- kStopped, // Device opened, but not started yet
- kRunning, // Started, device playing
- kStopWait // Stopping, waiting for the real-time thread to exit
- };
-
- // C-style call-backs
- static void OnMoveCallback(void *arg, int delta);
- static void OnVolCallback(void *arg, unsigned int vol);
- static void* ThreadEntry(void *arg);
-
- // Continuously moves data from the producer to the device
- void ThreadLoop(void);
-
- // Our creator, the audio manager needs to be notified when we close.
- AudioManagerBase* manager;
- // Parameters of the source
- AudioParameters params;
- // Source stores data here
- std::unique_ptr<AudioBus> audio_bus;
- // Call-back that produces data to play
- AudioSourceCallback* source;
- // Handle of the audio device
- struct sio_hdl* hdl;
- // Current state of the stream
- enum StreamState state;
- // High priority thread running ThreadLoop()
- pthread_t thread;
- // Protects vol, volpending and hw_delay
- pthread_mutex_t mutex;
- // Current volume in the 0..SIO_MAXVOL range
- int vol;
- // Set to 1 if volumes must be refreshed in the realtime thread
- int volpending;
- // Number of frames buffered in the hardware
- int hw_delay;
- // Temporary buffer where data is stored sndio-compatible format
- char* buffer;
-
- DISALLOW_COPY_AND_ASSIGN(SndioAudioOutputStream);
-};
-
-} // namespace media
-
-#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_
diff --git a/www/iridium/pkg-descr b/www/iridium/pkg-descr
deleted file mode 100644
index 50b29c6098d7..000000000000
--- a/www/iridium/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-Iridium is a free, open, and libre browser modification of the Chromium
-code base, with privacy being enhanced in several key areas.
-
-Automatic transmission of partial queries, keywords, metrics to central
-services is inhibited and only occurs with consent.
-
-WWW: https://iridiumbrowser.de/
diff --git a/www/iridium/pkg-plist b/www/iridium/pkg-plist
deleted file mode 100644
index d71c983aceb2..000000000000
--- a/www/iridium/pkg-plist
+++ /dev/null
@@ -1,1101 +0,0 @@
-bin/iridium
-%%DATADIR%%/iridium
-%%DATADIR%%/chrome_100_percent.pak
-%%DATADIR%%/chrome_200_percent.pak
-%%DATADIR%%/headless_lib.pak
-%%DATADIR%%/icudtl.dat
-%%DATADIR%%/libEGL.so
-%%DATADIR%%/libGLESv2.so
-%%DATADIR%%/libVkICD_mock_icd.so
-%%DATADIR%%/locales/am.pak
-%%DATADIR%%/locales/am.pak.info
-%%DATADIR%%/locales/ar.pak
-%%DATADIR%%/locales/ar.pak.info
-%%DATADIR%%/locales/bg.pak
-%%DATADIR%%/locales/bg.pak.info
-%%DATADIR%%/locales/bn.pak
-%%DATADIR%%/locales/bn.pak.info
-%%DATADIR%%/locales/ca.pak
-%%DATADIR%%/locales/ca.pak.info
-%%DATADIR%%/locales/cs.pak
-%%DATADIR%%/locales/cs.pak.info
-%%DATADIR%%/locales/da.pak
-%%DATADIR%%/locales/da.pak.info
-%%DATADIR%%/locales/de.pak
-%%DATADIR%%/locales/de.pak.info
-%%DATADIR%%/locales/el.pak
-%%DATADIR%%/locales/el.pak.info
-%%DATADIR%%/locales/en-GB.pak
-%%DATADIR%%/locales/en-GB.pak.info
-%%DATADIR%%/locales/en-US.pak
-%%DATADIR%%/locales/en-US.pak.info
-%%DATADIR%%/locales/es-419.pak
-%%DATADIR%%/locales/es-419.pak.info
-%%DATADIR%%/locales/es.pak
-%%DATADIR%%/locales/es.pak.info
-%%DATADIR%%/locales/et.pak
-%%DATADIR%%/locales/et.pak.info
-%%DATADIR%%/locales/fa.pak
-%%DATADIR%%/locales/fa.pak.info
-%%DATADIR%%/locales/fi.pak
-%%DATADIR%%/locales/fi.pak.info
-%%DATADIR%%/locales/fil.pak
-%%DATADIR%%/locales/fil.pak.info
-%%DATADIR%%/locales/fr.pak
-%%DATADIR%%/locales/fr.pak.info
-%%DATADIR%%/locales/gu.pak
-%%DATADIR%%/locales/gu.pak.info
-%%DATADIR%%/locales/he.pak
-%%DATADIR%%/locales/he.pak.info
-%%DATADIR%%/locales/hi.pak
-%%DATADIR%%/locales/hi.pak.info
-%%DATADIR%%/locales/hr.pak
-%%DATADIR%%/locales/hr.pak.info
-%%DATADIR%%/locales/hu.pak
-%%DATADIR%%/locales/hu.pak.info
-%%DATADIR%%/locales/id.pak
-%%DATADIR%%/locales/id.pak.info
-%%DATADIR%%/locales/it.pak
-%%DATADIR%%/locales/it.pak.info
-%%DATADIR%%/locales/ja.pak
-%%DATADIR%%/locales/ja.pak.info
-%%DATADIR%%/locales/kn.pak
-%%DATADIR%%/locales/kn.pak.info
-%%DATADIR%%/locales/ko.pak
-%%DATADIR%%/locales/ko.pak.info
-%%DATADIR%%/locales/lt.pak
-%%DATADIR%%/locales/lt.pak.info
-%%DATADIR%%/locales/lv.pak
-%%DATADIR%%/locales/lv.pak.info
-%%DATADIR%%/locales/ml.pak
-%%DATADIR%%/locales/ml.pak.info
-%%DATADIR%%/locales/mr.pak
-%%DATADIR%%/locales/mr.pak.info
-%%DATADIR%%/locales/ms.pak
-%%DATADIR%%/locales/ms.pak.info
-%%DATADIR%%/locales/nb.pak
-%%DATADIR%%/locales/nb.pak.info
-%%DATADIR%%/locales/nl.pak
-%%DATADIR%%/locales/nl.pak.info
-%%DATADIR%%/locales/pl.pak
-%%DATADIR%%/locales/pl.pak.info
-%%DATADIR%%/locales/pt-BR.pak
-%%DATADIR%%/locales/pt-BR.pak.info
-%%DATADIR%%/locales/pt-PT.pak
-%%DATADIR%%/locales/pt-PT.pak.info
-%%DATADIR%%/locales/ro.pak
-%%DATADIR%%/locales/ro.pak.info
-%%DATADIR%%/locales/ru.pak
-%%DATADIR%%/locales/ru.pak.info
-%%DATADIR%%/locales/sk.pak
-%%DATADIR%%/locales/sk.pak.info
-%%DATADIR%%/locales/sl.pak
-%%DATADIR%%/locales/sl.pak.info
-%%DATADIR%%/locales/sr.pak
-%%DATADIR%%/locales/sr.pak.info
-%%DATADIR%%/locales/sv.pak
-%%DATADIR%%/locales/sv.pak.info
-%%DATADIR%%/locales/sw.pak
-%%DATADIR%%/locales/sw.pak.info
-%%DATADIR%%/locales/ta.pak
-%%DATADIR%%/locales/ta.pak.info
-%%DATADIR%%/locales/te.pak
-%%DATADIR%%/locales/te.pak.info
-%%DATADIR%%/locales/th.pak
-%%DATADIR%%/locales/th.pak.info
-%%DATADIR%%/locales/tr.pak
-%%DATADIR%%/locales/tr.pak.info
-%%DATADIR%%/locales/uk.pak
-%%DATADIR%%/locales/uk.pak.info
-%%DATADIR%%/locales/vi.pak
-%%DATADIR%%/locales/vi.pak.info
-%%DATADIR%%/locales/zh-CN.pak
-%%DATADIR%%/locales/zh-CN.pak.info
-%%DATADIR%%/locales/zh-TW.pak
-%%DATADIR%%/locales/zh-TW.pak.info
-%%DATADIR%%/mksnapshot
-%%DATADIR%%/product_logo_48.png
-%%DATADIR%%/protoc
-%%DATADIR%%/resources.pak
-%%DATADIR%%/resources/inspector/.htaccess
-%%DATADIR%%/resources/inspector/Images/accelerometer-back.svg
-%%DATADIR%%/resources/inspector/Images/accelerometer-bottom.png
-%%DATADIR%%/resources/inspector/Images/accelerometer-front.svg
-%%DATADIR%%/resources/inspector/Images/accelerometer-left.png
-%%DATADIR%%/resources/inspector/Images/accelerometer-right.png
-%%DATADIR%%/resources/inspector/Images/accelerometer-top.png
-%%DATADIR%%/resources/inspector/Images/audits_logo.svg
-%%DATADIR%%/resources/inspector/Images/breakpoint.svg
-%%DATADIR%%/resources/inspector/Images/breakpointConditional.svg
-%%DATADIR%%/resources/inspector/Images/checkboxCheckmark.svg
-%%DATADIR%%/resources/inspector/Images/checker.png
-%%DATADIR%%/resources/inspector/Images/chevrons.svg
-%%DATADIR%%/resources/inspector/Images/chromeDisabledSelect.png
-%%DATADIR%%/resources/inspector/Images/chromeDisabledSelect_2x.png
-%%DATADIR%%/resources/inspector/Images/chromeLeft.png
-%%DATADIR%%/resources/inspector/Images/chromeMiddle.png
-%%DATADIR%%/resources/inspector/Images/chromeRight.png
-%%DATADIR%%/resources/inspector/Images/chromeSelect.png
-%%DATADIR%%/resources/inspector/Images/chromeSelect_2x.png
-%%DATADIR%%/resources/inspector/Images/cssoverview_icons_2x.png
-%%DATADIR%%/resources/inspector/Images/errorWave.svg
-%%DATADIR%%/resources/inspector/Images/ic_info_black_18dp.svg
-%%DATADIR%%/resources/inspector/Images/ic_warning_black_18dp.svg
-%%DATADIR%%/resources/inspector/Images/largeIcons.svg
-%%DATADIR%%/resources/inspector/Images/mediumIcons.svg
-%%DATADIR%%/resources/inspector/Images/navigationControls.png
-%%DATADIR%%/resources/inspector/Images/navigationControls_2x.png
-%%DATADIR%%/resources/inspector/Images/nodeIcon.png
-%%DATADIR%%/resources/inspector/Images/popoverArrows.png
-%%DATADIR%%/resources/inspector/Images/profileGroupIcon.png
-%%DATADIR%%/resources/inspector/Images/profileIcon.png
-%%DATADIR%%/resources/inspector/Images/profileSmallIcon.png
-%%DATADIR%%/resources/inspector/Images/radioDot.png
-%%DATADIR%%/resources/inspector/Images/radioDot-dark-theme.png
-%%DATADIR%%/resources/inspector/Images/resizeDiagonal.png
-%%DATADIR%%/resources/inspector/Images/resizeDiagonal_2x.png
-%%DATADIR%%/resources/inspector/Images/resizeHorizontal.png
-%%DATADIR%%/resources/inspector/Images/resizeHorizontal_2x.png
-%%DATADIR%%/resources/inspector/Images/resizeVertical.png
-%%DATADIR%%/resources/inspector/Images/resizeVertical_2x.png
-%%DATADIR%%/resources/inspector/Images/resourceCSSIcon.png
-%%DATADIR%%/resources/inspector/Images/resourceDocumentIcon.png
-%%DATADIR%%/resources/inspector/Images/resourceDocumentIconSmall.png
-%%DATADIR%%/resources/inspector/Images/resourceJSIcon.png
-%%DATADIR%%/resources/inspector/Images/resourcePlainIcon.png
-%%DATADIR%%/resources/inspector/Images/resourcePlainIconSmall.png
-%%DATADIR%%/resources/inspector/Images/resourcesTimeGraphIcon.png
-%%DATADIR%%/resources/inspector/Images/searchNext.png
-%%DATADIR%%/resources/inspector/Images/searchPrev.png
-%%DATADIR%%/resources/inspector/Images/securityIcons.svg
-%%DATADIR%%/resources/inspector/Images/smallIcons.svg
-%%DATADIR%%/resources/inspector/Images/speech.png
-%%DATADIR%%/resources/inspector/Images/toolbarResizerVertical.png
-%%DATADIR%%/resources/inspector/Images/touchCursor.png
-%%DATADIR%%/resources/inspector/Images/touchCursor_2x.png
-%%DATADIR%%/resources/inspector/Images/treeoutlineTriangles.svg
-%%DATADIR%%/resources/inspector/Images/whatsnew.png
-%%DATADIR%%/resources/inspector/InspectorBackendCommands.js
-%%DATADIR%%/resources/inspector/SupportedCSSProperties.js
-%%DATADIR%%/resources/inspector/Tests.js
-%%DATADIR%%/resources/inspector/accessibility/accessibility_module.js
-%%DATADIR%%/resources/inspector/accessibility/accessibility-legacy.js
-%%DATADIR%%/resources/inspector/accessibility/accessibility.js
-%%DATADIR%%/resources/inspector/accessibility/AccessibilityModel.js
-%%DATADIR%%/resources/inspector/accessibility/AccessibilityNodeView.js
-%%DATADIR%%/resources/inspector/accessibility/AccessibilitySidebarView.js
-%%DATADIR%%/resources/inspector/accessibility/AccessibilityStrings.js
-%%DATADIR%%/resources/inspector/accessibility/AccessibilitySubPane.js
-%%DATADIR%%/resources/inspector/accessibility/ARIAAttributesView.js
-%%DATADIR%%/resources/inspector/accessibility/ARIAMetadata.js
-%%DATADIR%%/resources/inspector/accessibility/ARIAProperties.js
-%%DATADIR%%/resources/inspector/accessibility/AXBreadcrumbsPane.js
-%%DATADIR%%/resources/inspector/accessibility_test_runner/accessibility_test_runner_module.js
-%%DATADIR%%/resources/inspector/animation/animation_module.js
-%%DATADIR%%/resources/inspector/animation/animation-legacy.js
-%%DATADIR%%/resources/inspector/animation/animation.js
-%%DATADIR%%/resources/inspector/animation/AnimationGroupPreviewUI.js
-%%DATADIR%%/resources/inspector/animation/AnimationModel.js
-%%DATADIR%%/resources/inspector/animation/AnimationScreenshotPopover.js
-%%DATADIR%%/resources/inspector/animation/AnimationTimeline.js
-%%DATADIR%%/resources/inspector/animation/AnimationUI.js
-%%DATADIR%%/resources/inspector/application_test_runner/application_test_runner_module.js
-%%DATADIR%%/resources/inspector/audits/audits_module.js
-%%DATADIR%%/resources/inspector/audits/audits-legacy.js
-%%DATADIR%%/resources/inspector/audits/audits.js
-%%DATADIR%%/resources/inspector/audits/AuditsController.js
-%%DATADIR%%/resources/inspector/audits/AuditsPanel.js
-%%DATADIR%%/resources/inspector/audits/AuditsProtocolService.js
-%%DATADIR%%/resources/inspector/audits/AuditsReportRenderer.js
-%%DATADIR%%/resources/inspector/audits/AuditsReportSelector.js
-%%DATADIR%%/resources/inspector/audits/AuditsStartView.js
-%%DATADIR%%/resources/inspector/audits/AuditsStatusView.js
-%%DATADIR%%/resources/inspector/audits/lighthouse/report-generator.js
-%%DATADIR%%/resources/inspector/audits/lighthouse/report.js
-%%DATADIR%%/resources/inspector/audits/RadioSetting.js
-%%DATADIR%%/resources/inspector/audits_test_runner/audits_test_runner_module.js
-%%DATADIR%%/resources/inspector/audits_worker.js
-%%DATADIR%%/resources/inspector/audits_worker/audits_worker_module.js
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ar-XB.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ar.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/bg.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ca.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/cs.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/da.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/de.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/el.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-GB.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-US.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-XA.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-XL.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/es-419.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/es.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fi.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fil.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fr.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/he.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hi.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hr.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hu.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/id.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/it.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ja.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ko.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/lt.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/lv.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/nl.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/no.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pl.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pt-PT.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pt.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ro.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ru.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sk.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sl.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sr-Latn.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sr.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sv.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ta.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/te.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/th.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/tr.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/uk.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/vi.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh-HK.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh-TW.json
-%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh.json
-%%DATADIR%%/resources/inspector/axe_core_test_runner/axe_core_test_runner_module.js
-%%DATADIR%%/resources/inspector/bindings_test_runner/bindings_test_runner_module.js
-%%DATADIR%%/resources/inspector/bindings/bindings.js
-%%DATADIR%%/resources/inspector/bindings/bindings-legacy.js
-%%DATADIR%%/resources/inspector/bindings/BlackboxManager.js
-%%DATADIR%%/resources/inspector/bindings/BreakpointManager.js
-%%DATADIR%%/resources/inspector/bindings/CompilerScriptMapping.js
-%%DATADIR%%/resources/inspector/bindings/ContentProviderBasedProject.js
-%%DATADIR%%/resources/inspector/bindings/CSSWorkspaceBinding.js
-%%DATADIR%%/resources/inspector/bindings/DebuggerLanguagePlugins.js
-%%DATADIR%%/resources/inspector/bindings/DebuggerWorkspaceBinding.js
-%%DATADIR%%/resources/inspector/bindings/DefaultScriptMapping.js
-%%DATADIR%%/resources/inspector/bindings/FileUtils.js
-%%DATADIR%%/resources/inspector/bindings/LiveLocation.js
-%%DATADIR%%/resources/inspector/bindings/NetworkProject.js
-%%DATADIR%%/resources/inspector/bindings/PresentationConsoleMessageHelper.js
-%%DATADIR%%/resources/inspector/bindings/ResourceMapping.js
-%%DATADIR%%/resources/inspector/bindings/ResourceScriptMapping.js
-%%DATADIR%%/resources/inspector/bindings/ResourceUtils.js
-%%DATADIR%%/resources/inspector/bindings/SASSSourceMapping.js
-%%DATADIR%%/resources/inspector/bindings/StylesSourceMapping.js
-%%DATADIR%%/resources/inspector/bindings/TempFile.js
-%%DATADIR%%/resources/inspector/bindings/language_plugins/CXXDWARFLanguagePlugin.js
-%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger_module.js
-%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger-legacy.js
-%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger.js
-%%DATADIR%%/resources/inspector/browser_debugger/DOMBreakpointsSidebarPane.js
-%%DATADIR%%/resources/inspector/browser_debugger/EventListenerBreakpointsSidebarPane.js
-%%DATADIR%%/resources/inspector/browser_debugger/ObjectEventListenersSidebarPane.js
-%%DATADIR%%/resources/inspector/browser_debugger/XHRBreakpointsSidebarPane.js
-%%DATADIR%%/resources/inspector/browser_sdk/browser_sdk.js
-%%DATADIR%%/resources/inspector/browser_sdk/browser_sdk-legacy.js
-%%DATADIR%%/resources/inspector/browser_sdk/LogManager.js
-%%DATADIR%%/resources/inspector/changes/changes_module.js
-%%DATADIR%%/resources/inspector/changes/changes-legacy.js
-%%DATADIR%%/resources/inspector/changes/changes.js
-%%DATADIR%%/resources/inspector/changes/ChangesHighlighter.js
-%%DATADIR%%/resources/inspector/changes/ChangesSidebar.js
-%%DATADIR%%/resources/inspector/changes/ChangesTextEditor.js
-%%DATADIR%%/resources/inspector/changes/ChangesView.js
-%%DATADIR%%/resources/inspector/cm_headless/cm_headless.js
-%%DATADIR%%/resources/inspector/cm_headless/headlesscodemirror.js
-%%DATADIR%%/resources/inspector/cm_modes/clike.js
-%%DATADIR%%/resources/inspector/cm_modes/clojure.js
-%%DATADIR%%/resources/inspector/cm/cm_module.js
-%%DATADIR%%/resources/inspector/cm/active-line.js
-%%DATADIR%%/resources/inspector/cm/brace-fold.js
-%%DATADIR%%/resources/inspector/cm/closebrackets.js
-%%DATADIR%%/resources/inspector/cm/cm.js
-%%DATADIR%%/resources/inspector/cm/codemirror.js
-%%DATADIR%%/resources/inspector/cm/comment.js
-%%DATADIR%%/resources/inspector/cm/foldcode.js
-%%DATADIR%%/resources/inspector/cm/foldgutter.js
-%%DATADIR%%/resources/inspector/cm/mark-selection.js
-%%DATADIR%%/resources/inspector/cm/matchbrackets.js
-%%DATADIR%%/resources/inspector/cm/multiplex.js
-%%DATADIR%%/resources/inspector/cm/overlay.js
-%%DATADIR%%/resources/inspector/cm_modes/cm_modes_module.js
-%%DATADIR%%/resources/inspector/cm_modes/cm_modes.js
-%%DATADIR%%/resources/inspector/cm_modes/coffeescript.js
-%%DATADIR%%/resources/inspector/cm_modes/DefaultCodeMirrorMimeMode.js
-%%DATADIR%%/resources/inspector/cm_modes/jsx.js
-%%DATADIR%%/resources/inspector/cm_modes/livescript.js
-%%DATADIR%%/resources/inspector/cm_modes/markdown.js
-%%DATADIR%%/resources/inspector/cm_modes/php.js
-%%DATADIR%%/resources/inspector/cm_modes/python.js
-%%DATADIR%%/resources/inspector/cm_modes/shell.js
-%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_cm.js
-%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_headless.js
-%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_module.js
-%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes.js
-%%DATADIR%%/resources/inspector/cm_web_modes/css.js
-%%DATADIR%%/resources/inspector/cm_web_modes/htmlembedded.js
-%%DATADIR%%/resources/inspector/cm_web_modes/htmlmixed.js
-%%DATADIR%%/resources/inspector/cm_web_modes/javascript.js
-%%DATADIR%%/resources/inspector/cm_web_modes/xml.js
-%%DATADIR%%/resources/inspector/color_picker/color_picker_module.js
-%%DATADIR%%/resources/inspector/color_picker/color_picker-legacy.js
-%%DATADIR%%/resources/inspector/color_picker/color_picker.js
-%%DATADIR%%/resources/inspector/color_picker/ContrastDetails.js
-%%DATADIR%%/resources/inspector/color_picker/ContrastInfo.js
-%%DATADIR%%/resources/inspector/color_picker/ContrastOverlay.js
-%%DATADIR%%/resources/inspector/color_picker/Spectrum.js
-%%DATADIR%%/resources/inspector/common/App.js
-%%DATADIR%%/resources/inspector/common/AppProvider.js
-%%DATADIR%%/resources/inspector/common/CharacterIdMap.js
-%%DATADIR%%/resources/inspector/common/Color.js
-%%DATADIR%%/resources/inspector/common/common.js
-%%DATADIR%%/resources/inspector/common/common-legacy.js
-%%DATADIR%%/resources/inspector/common/Console.js
-%%DATADIR%%/resources/inspector/common/ContentProvider.js
-%%DATADIR%%/resources/inspector/common/EventTarget.js
-%%DATADIR%%/resources/inspector/common/JavaScriptMetaData.js
-%%DATADIR%%/resources/inspector/common/Linkifier.js
-%%DATADIR%%/resources/inspector/common/Object.js
-%%DATADIR%%/resources/inspector/common/ParsedURL.js
-%%DATADIR%%/resources/inspector/common/Progress.js
-%%DATADIR%%/resources/inspector/common/QueryParamHandler.js
-%%DATADIR%%/resources/inspector/common/ResourceType.js
-%%DATADIR%%/resources/inspector/common/Revealer.js
-%%DATADIR%%/resources/inspector/common/Runnable.js
-%%DATADIR%%/resources/inspector/common/SegmentedRange.js
-%%DATADIR%%/resources/inspector/common/Settings.js
-%%DATADIR%%/resources/inspector/common/StaticContentProvider.js
-%%DATADIR%%/resources/inspector/common/StringOutputStream.js
-%%DATADIR%%/resources/inspector/common/TextDictionary.js
-%%DATADIR%%/resources/inspector/common/Throttler.js
-%%DATADIR%%/resources/inspector/common/Trie.js
-%%DATADIR%%/resources/inspector/common/UIString.js
-%%DATADIR%%/resources/inspector/common/Worker.js
-%%DATADIR%%/resources/inspector/components/components.js
-%%DATADIR%%/resources/inspector/components/components-legacy.js
-%%DATADIR%%/resources/inspector/components/DockController.js
-%%DATADIR%%/resources/inspector/components/ImagePreview.js
-%%DATADIR%%/resources/inspector/components/JSPresentationUtils.js
-%%DATADIR%%/resources/inspector/components/Linkifier.js
-%%DATADIR%%/resources/inspector/components/Reload.js
-%%DATADIR%%/resources/inspector/components/TargetDetachedDialog.js
-%%DATADIR%%/resources/inspector/console_counters/console_counters.js
-%%DATADIR%%/resources/inspector/console_counters/console_counters-legacy.js
-%%DATADIR%%/resources/inspector/console_counters/WarningErrorCounter.js
-%%DATADIR%%/resources/inspector/console/console_module.js
-%%DATADIR%%/resources/inspector/console/console-legacy.js
-%%DATADIR%%/resources/inspector/console/console.js
-%%DATADIR%%/resources/inspector/console/ConsoleContextSelector.js
-%%DATADIR%%/resources/inspector/console/ConsoleFilter.js
-%%DATADIR%%/resources/inspector/console/ConsolePanel.js
-%%DATADIR%%/resources/inspector/console/ConsolePinPane.js
-%%DATADIR%%/resources/inspector/console/ConsolePrompt.js
-%%DATADIR%%/resources/inspector/console/ConsoleSidebar.js
-%%DATADIR%%/resources/inspector/console/ConsoleView.js
-%%DATADIR%%/resources/inspector/console/ConsoleViewMessage.js
-%%DATADIR%%/resources/inspector/console/ConsoleViewport.js
-%%DATADIR%%/resources/inspector/console_test_runner/console_test_runner_module.js
-%%DATADIR%%/resources/inspector/cookie_table/cookie_table_module.js
-%%DATADIR%%/resources/inspector/cookie_table/cookie_table-legacy.js
-%%DATADIR%%/resources/inspector/cookie_table/cookie_table.js
-%%DATADIR%%/resources/inspector/cookie_table/CookiesTable.js
-%%DATADIR%%/resources/inspector/coverage/coverage_module.js
-%%DATADIR%%/resources/inspector/coverage/coverage-legacy.js
-%%DATADIR%%/resources/inspector/coverage/coverage.js
-%%DATADIR%%/resources/inspector/coverage/CoverageDecorationManager.js
-%%DATADIR%%/resources/inspector/coverage/CoverageListView.js
-%%DATADIR%%/resources/inspector/coverage/CoverageModel.js
-%%DATADIR%%/resources/inspector/coverage/CoverageView.js
-%%DATADIR%%/resources/inspector/coverage_test_runner/coverage_test_runner_module.js
-%%DATADIR%%/resources/inspector/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js
-%%DATADIR%%/resources/inspector/css_overview/css_overview_module.js
-%%DATADIR%%/resources/inspector/css_overview/css_overview-legacy.js
-%%DATADIR%%/resources/inspector/css_overview/css_overview.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewCompletedView.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewController.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewModel.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewPanel.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewProcessingView.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewSidebarPanel.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewStartView.js
-%%DATADIR%%/resources/inspector/css_overview/CSSOverviewUnusedDeclarations.js
-%%DATADIR%%/resources/inspector/dagre_layout/dagre_layout_module.js
-%%DATADIR%%/resources/inspector/data_grid/data_grid_module.js
-%%DATADIR%%/resources/inspector/data_grid/data_grid-legacy.js
-%%DATADIR%%/resources/inspector/data_grid/data_grid.js
-%%DATADIR%%/resources/inspector/data_grid/DataGrid.js
-%%DATADIR%%/resources/inspector/data_grid/ShowMoreDataGridNode.js
-%%DATADIR%%/resources/inspector/data_grid/SortableDataGrid.js
-%%DATADIR%%/resources/inspector/data_grid/ViewportDataGrid.js
-%%DATADIR%%/resources/inspector/data_grid_test_runner/data_grid_test_runner_module.js
-%%DATADIR%%/resources/inspector/device_mode_test_runner/device_mode_test_runner_module.js
-%%DATADIR%%/resources/inspector/devices/devices_module.js
-%%DATADIR%%/resources/inspector/devtools_app.html
-%%DATADIR%%/resources/inspector/devtools_app.js
-%%DATADIR%%/resources/inspector/devtools_compatibility.js
-%%DATADIR%%/resources/inspector/devtools_extension_api.js
-%%DATADIR%%/resources/inspector/diff/diff_match_patch.js
-%%DATADIR%%/resources/inspector/diff/diff_module.js
-%%DATADIR%%/resources/inspector/diff/diff-legacy.js
-%%DATADIR%%/resources/inspector/diff/diff.js
-%%DATADIR%%/resources/inspector/diff/DiffWrapper.js
-%%DATADIR%%/resources/inspector/dom_extension/dom_extension.js
-%%DATADIR%%/resources/inspector/dom_extension/DOMExtension.js
-%%DATADIR%%/resources/inspector/elements/elements_module.js
-%%DATADIR%%/resources/inspector/elements/elements-legacy.js
-%%DATADIR%%/resources/inspector/elements/elements.js
-%%DATADIR%%/resources/inspector/elements/ClassesPaneWidget.js
-%%DATADIR%%/resources/inspector/elements/ColorSwatchPopoverIcon.js
-%%DATADIR%%/resources/inspector/elements/ComputedStyleModel.js
-%%DATADIR%%/resources/inspector/elements/ComputedStyleWidget.js
-%%DATADIR%%/resources/inspector/elements/DOMLinkifier.js
-%%DATADIR%%/resources/inspector/elements/DOMPath.js
-%%DATADIR%%/resources/inspector/elements/ElementsBreadcrumbs.js
-%%DATADIR%%/resources/inspector/elements/ElementsPanel.js
-%%DATADIR%%/resources/inspector/elements/ElementsSidebarPane.js
-%%DATADIR%%/resources/inspector/elements/ElementStatePaneWidget.js
-%%DATADIR%%/resources/inspector/elements/ElementsTreeElement.js
-%%DATADIR%%/resources/inspector/elements/ElementsTreeElementHighlighter.js
-%%DATADIR%%/resources/inspector/elements/ElementsTreeOutline.js
-%%DATADIR%%/resources/inspector/elements/EventListenersWidget.js
-%%DATADIR%%/resources/inspector/elements/InspectElementModeController.js
-%%DATADIR%%/resources/inspector/elements/MarkerDecorator.js
-%%DATADIR%%/resources/inspector/elements/MetricsSidebarPane.js
-%%DATADIR%%/resources/inspector/elements/NodeStackTraceWidget.js
-%%DATADIR%%/resources/inspector/elements/PlatformFontsWidget.js
-%%DATADIR%%/resources/inspector/elements/PropertiesWidget.js
-%%DATADIR%%/resources/inspector/elements/StylePropertyHighlighter.js
-%%DATADIR%%/resources/inspector/elements/StylePropertyTreeElement.js
-%%DATADIR%%/resources/inspector/elements/StylesSidebarPane.js
-%%DATADIR%%/resources/inspector/elements_test_runner/elements_test_runner_module.js
-%%DATADIR%%/resources/inspector/emulated_devices/MotoG4-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/MotoG4-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/Nexus6P-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/Nexus6P-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/emulated_devices_module.js
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-default-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-default-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-navigation-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-navigation-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-default-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-default-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-keyboard-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-keyboard-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-navigation-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-navigation-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-default-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-default-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-default-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-default-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-navigation-1x.png
-%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-navigation-2x.png
-%%DATADIR%%/resources/inspector/emulated_devices/iPad-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPad-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone5-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone5-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone6-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone6-portrait.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-landscape.svg
-%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-portrait.svg
-%%DATADIR%%/resources/inspector/emulation/AdvancedApp.js
-%%DATADIR%%/resources/inspector/emulation/DeviceModeModel.js
-%%DATADIR%%/resources/inspector/emulation/DeviceModeToolbar.js
-%%DATADIR%%/resources/inspector/emulation/DeviceModeView.js
-%%DATADIR%%/resources/inspector/emulation/DeviceModeWrapper.js
-%%DATADIR%%/resources/inspector/emulation/DevicesSettingsTab.js
-%%DATADIR%%/resources/inspector/emulation/EmulatedDevices.js
-%%DATADIR%%/resources/inspector/emulation/emulation-legacy.js
-%%DATADIR%%/resources/inspector/emulation/emulation.js
-%%DATADIR%%/resources/inspector/emulation/GeolocationsSettingsTab.js
-%%DATADIR%%/resources/inspector/emulation/InspectedPagePlaceholder.js
-%%DATADIR%%/resources/inspector/emulation/MediaQueryInspector.js
-%%DATADIR%%/resources/inspector/emulation/SensorsView.js
-%%DATADIR%%/resources/inspector/event_listeners/event_listeners_module.js
-%%DATADIR%%/resources/inspector/event_listeners/event_listeners-legacy.js
-%%DATADIR%%/resources/inspector/event_listeners/event_listeners.js
-%%DATADIR%%/resources/inspector/event_listeners/EventListenersUtils.js
-%%DATADIR%%/resources/inspector/event_listeners/EventListenersView.js
-%%DATADIR%%/resources/inspector/extensions_test_runner/extensions_test_runner_module.js
-%%DATADIR%%/resources/inspector/extensions/ExtensionAPI.js
-%%DATADIR%%/resources/inspector/extensions/ExtensionPanel.js
-%%DATADIR%%/resources/inspector/extensions/extensions-legacy.js
-%%DATADIR%%/resources/inspector/extensions/extensions.js
-%%DATADIR%%/resources/inspector/extensions/ExtensionServer.js
-%%DATADIR%%/resources/inspector/extensions/ExtensionTraceProvider.js
-%%DATADIR%%/resources/inspector/extensions/ExtensionView.js
-%%DATADIR%%/resources/inspector/formatter_worker_entrypoint.js
-%%DATADIR%%/resources/inspector/formatter_worker/acorn/acorn.js
-%%DATADIR%%/resources/inspector/formatter_worker/acorn/acorn_loose.js
-%%DATADIR%%/resources/inspector/formatter_worker/AcornTokenizer.js
-%%DATADIR%%/resources/inspector/formatter_worker/CSSFormatter.js
-%%DATADIR%%/resources/inspector/formatter_worker/CSSRuleParser.js
-%%DATADIR%%/resources/inspector/formatter_worker/ESTreeWalker.js
-%%DATADIR%%/resources/inspector/formatter_worker/FormattedContentBuilder.js
-%%DATADIR%%/resources/inspector/formatter_worker/formatter_worker.js
-%%DATADIR%%/resources/inspector/formatter_worker/formatter_worker-legacy.js
-%%DATADIR%%/resources/inspector/formatter_worker/FormatterWorker.js
-%%DATADIR%%/resources/inspector/formatter_worker/HTMLFormatter.js
-%%DATADIR%%/resources/inspector/formatter_worker/IdentityFormatter.js
-%%DATADIR%%/resources/inspector/formatter_worker/JavaScriptFormatter.js
-%%DATADIR%%/resources/inspector/formatter_worker/JavaScriptOutline.js
-%%DATADIR%%/resources/inspector/formatter_worker/RelaxedJSONParser.js
-%%DATADIR%%/resources/inspector/formatter/formatter_module.js
-%%DATADIR%%/resources/inspector/formatter/formatter-legacy.js
-%%DATADIR%%/resources/inspector/formatter/formatter.js
-%%DATADIR%%/resources/inspector/formatter/FormatterWorkerPool.js
-%%DATADIR%%/resources/inspector/formatter/ScriptFormatter.js
-%%DATADIR%%/resources/inspector/formatter/SourceFormatter.js
-%%DATADIR%%/resources/inspector/har_importer/har_importer_module.js
-%%DATADIR%%/resources/inspector/har_importer/har_importer-legacy.js
-%%DATADIR%%/resources/inspector/har_importer/har_importer.js
-%%DATADIR%%/resources/inspector/har_importer/HARFormat.js
-%%DATADIR%%/resources/inspector/har_importer/HARImporter.js
-%%DATADIR%%/resources/inspector/heap_profiler_test_runner/heap_profiler_test_runner_module.js
-%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model_module.js
-%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model-legacy.js
-%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model.js
-%%DATADIR%%/resources/inspector/heap_snapshot_model/HeapSnapshotModel.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker_entrypoint.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/AllocationProfile.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker_module.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker-legacy.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshot.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotLoader.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotWorker.js
-%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js
-%%DATADIR%%/resources/inspector/help/help_module.js
-%%DATADIR%%/resources/inspector/help/help-legacy.js
-%%DATADIR%%/resources/inspector/help/help.js
-%%DATADIR%%/resources/inspector/help/HelpImpl.js
-%%DATADIR%%/resources/inspector/help/ReleaseNoteText.js
-%%DATADIR%%/resources/inspector/help/ReleaseNoteView.js
-%%DATADIR%%/resources/inspector/host/host.js
-%%DATADIR%%/resources/inspector/host/host-legacy.js
-%%DATADIR%%/resources/inspector/host/InspectorFrontendHost.js
-%%DATADIR%%/resources/inspector/host/InspectorFrontendHostAPI.js
-%%DATADIR%%/resources/inspector/host/Platform.js
-%%DATADIR%%/resources/inspector/host/ResourceLoader.js
-%%DATADIR%%/resources/inspector/host/UserMetrics.js
-%%DATADIR%%/resources/inspector/inline_editor/BezierEditor.js
-%%DATADIR%%/resources/inspector/inline_editor/BezierUI.js
-%%DATADIR%%/resources/inspector/inline_editor/ColorSwatch.js
-%%DATADIR%%/resources/inspector/inline_editor/CSSShadowEditor.js
-%%DATADIR%%/resources/inspector/inline_editor/CSSShadowModel.js
-%%DATADIR%%/resources/inspector/inline_editor/inline_editor_module.js
-%%DATADIR%%/resources/inspector/inline_editor/inline_editor-legacy.js
-%%DATADIR%%/resources/inspector/inline_editor/inline_editor.js
-%%DATADIR%%/resources/inspector/inline_editor/SwatchPopoverHelper.js
-%%DATADIR%%/resources/inspector/input/input_module.js
-%%DATADIR%%/resources/inspector/input/input-legacy.js
-%%DATADIR%%/resources/inspector/input/input.js
-%%DATADIR%%/resources/inspector/input/InputModel.js
-%%DATADIR%%/resources/inspector/input/InputTimeline.js
-%%DATADIR%%/resources/inspector/inspector_main/inspector_main.js
-%%DATADIR%%/resources/inspector/inspector_main/inspector_main-legacy.js
-%%DATADIR%%/resources/inspector/inspector_main/InspectorMain.js
-%%DATADIR%%/resources/inspector/inspector_main/RenderingOptions.js
-%%DATADIR%%/resources/inspector/inspector.html
-%%DATADIR%%/resources/inspector/inspector.js
-%%DATADIR%%/resources/inspector/integration_test_runner.html
-%%DATADIR%%/resources/inspector/integration_test_runner.js
-%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata_module.js
-%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata-legacy.js
-%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata.js
-%%DATADIR%%/resources/inspector/javascript_metadata/JavaScriptMetadata.js
-%%DATADIR%%/resources/inspector/javascript_metadata/NativeFunctions.js
-%%DATADIR%%/resources/inspector/js_app.html
-%%DATADIR%%/resources/inspector/js_app.js
-%%DATADIR%%/resources/inspector/js_main/js_main.js
-%%DATADIR%%/resources/inspector/js_main/js_main-legacy.js
-%%DATADIR%%/resources/inspector/js_main/JsMain.js
-%%DATADIR%%/resources/inspector/js_profiler/js_profiler_module.js
-%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer_module.js
-%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer-legacy.js
-%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer.js
-%%DATADIR%%/resources/inspector/layer_viewer/LayerDetailsView.js
-%%DATADIR%%/resources/inspector/layer_viewer/Layers3DView.js
-%%DATADIR%%/resources/inspector/layer_viewer/LayerTreeOutline.js
-%%DATADIR%%/resources/inspector/layer_viewer/LayerViewHost.js
-%%DATADIR%%/resources/inspector/layer_viewer/PaintProfilerView.js
-%%DATADIR%%/resources/inspector/layer_viewer/TransformController.js
-%%DATADIR%%/resources/inspector/layers/layers_module.js
-%%DATADIR%%/resources/inspector/layers/layers-legacy.js
-%%DATADIR%%/resources/inspector/layers/layers.js
-%%DATADIR%%/resources/inspector/layers/LayerPaintProfilerView.js
-%%DATADIR%%/resources/inspector/layers/LayersPanel.js
-%%DATADIR%%/resources/inspector/layers/LayerTreeModel.js
-%%DATADIR%%/resources/inspector/layers_test_runner/layers_test_runner_module.js
-%%DATADIR%%/resources/inspector/main/ExecutionContextSelector.js
-%%DATADIR%%/resources/inspector/main/main-legacy.js
-%%DATADIR%%/resources/inspector/main/main.js
-%%DATADIR%%/resources/inspector/main/MainImpl.js
-%%DATADIR%%/resources/inspector/main/SimpleApp.js
-%%DATADIR%%/resources/inspector/media/media_module.js
-%%DATADIR%%/resources/inspector/mobile_throttling/mobile_throttling.js
-%%DATADIR%%/resources/inspector/mobile_throttling/mobile_throttling-legacy.js
-%%DATADIR%%/resources/inspector/mobile_throttling/MobileThrottlingSelector.js
-%%DATADIR%%/resources/inspector/mobile_throttling/NetworkPanelIndicator.js
-%%DATADIR%%/resources/inspector/mobile_throttling/NetworkThrottlingSelector.js
-%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingManager.js
-%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingPresets.js
-%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingSettingsTab.js
-%%DATADIR%%/resources/inspector/ndb_app.html
-%%DATADIR%%/resources/inspector/ndb_app.js
-%%DATADIR%%/resources/inspector/network/network_module.js
-%%DATADIR%%/resources/inspector/network/network-legacy.js
-%%DATADIR%%/resources/inspector/network/network.js
-%%DATADIR%%/resources/inspector/network/BinaryResourceView.js
-%%DATADIR%%/resources/inspector/network/BlockedURLsPane.js
-%%DATADIR%%/resources/inspector/network/EventSourceMessagesView.js
-%%DATADIR%%/resources/inspector/network/HARWriter.js
-%%DATADIR%%/resources/inspector/network/NetworkConfigView.js
-%%DATADIR%%/resources/inspector/network/NetworkDataGridNode.js
-%%DATADIR%%/resources/inspector/network/NetworkFrameGrouper.js
-%%DATADIR%%/resources/inspector/network/NetworkItemView.js
-%%DATADIR%%/resources/inspector/network/NetworkLogView.js
-%%DATADIR%%/resources/inspector/network/NetworkLogViewColumns.js
-%%DATADIR%%/resources/inspector/network/NetworkManageCustomHeadersView.js
-%%DATADIR%%/resources/inspector/network/NetworkOverview.js
-%%DATADIR%%/resources/inspector/network/NetworkPanel.js
-%%DATADIR%%/resources/inspector/network/NetworkSearchScope.js
-%%DATADIR%%/resources/inspector/network/NetworkTimeCalculator.js
-%%DATADIR%%/resources/inspector/network/NetworkWaterfallColumn.js
-%%DATADIR%%/resources/inspector/network/RequestCookiesView.js
-%%DATADIR%%/resources/inspector/network/RequestHeadersView.js
-%%DATADIR%%/resources/inspector/network/RequestHTMLView.js
-%%DATADIR%%/resources/inspector/network/RequestInitiatorView.js
-%%DATADIR%%/resources/inspector/network/RequestPreviewView.js
-%%DATADIR%%/resources/inspector/network/RequestResponseView.js
-%%DATADIR%%/resources/inspector/network/RequestTimingView.js
-%%DATADIR%%/resources/inspector/network/ResourceWebSocketFrameView.js
-%%DATADIR%%/resources/inspector/network/SignedExchangeInfoView.js
-%%DATADIR%%/resources/inspector/network_test_runner/network_test_runner_module.js
-%%DATADIR%%/resources/inspector/node_app.html
-%%DATADIR%%/resources/inspector/node_app.js
-%%DATADIR%%/resources/inspector/node_debugger/node_debugger_module.js
-%%DATADIR%%/resources/inspector/node_main/node_main-legacy.js
-%%DATADIR%%/resources/inspector/node_main/node_main.js
-%%DATADIR%%/resources/inspector/node_main/NodeConnectionsPanel.js
-%%DATADIR%%/resources/inspector/node_main/NodeMain.js
-%%DATADIR%%/resources/inspector/object_ui/object_ui_module.js
-%%DATADIR%%/resources/inspector/object_ui/object_ui-legacy.js
-%%DATADIR%%/resources/inspector/object_ui/object_ui.js
-%%DATADIR%%/resources/inspector/object_ui/CustomPreviewComponent.js
-%%DATADIR%%/resources/inspector/object_ui/JavaScriptAutocomplete.js
-%%DATADIR%%/resources/inspector/object_ui/ObjectPopoverHelper.js
-%%DATADIR%%/resources/inspector/object_ui/ObjectPropertiesSection.js
-%%DATADIR%%/resources/inspector/object_ui/RemoteObjectPreviewFormatter.js
-%%DATADIR%%/resources/inspector/object_ui/JavaScriptREPL.js
-%%DATADIR%%/resources/inspector/perf_ui/perf_ui_module.js
-%%DATADIR%%/resources/inspector/perf_ui/perf_ui-legacy.js
-%%DATADIR%%/resources/inspector/perf_ui/perf_ui.js
-%%DATADIR%%/resources/inspector/perf_ui/ChartViewport.js
-%%DATADIR%%/resources/inspector/perf_ui/FilmStripView.js
-%%DATADIR%%/resources/inspector/perf_ui/FlameChart.js
-%%DATADIR%%/resources/inspector/perf_ui/GCActionDelegate.js
-%%DATADIR%%/resources/inspector/perf_ui/LineLevelProfile.js
-%%DATADIR%%/resources/inspector/perf_ui/LiveHeapProfile.js
-%%DATADIR%%/resources/inspector/perf_ui/NetworkPriorities.js
-%%DATADIR%%/resources/inspector/perf_ui/OverviewGrid.js
-%%DATADIR%%/resources/inspector/perf_ui/PieChart.js
-%%DATADIR%%/resources/inspector/perf_ui/TimelineGrid.js
-%%DATADIR%%/resources/inspector/perf_ui/TimelineOverviewPane.js
-%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor_module.js
-%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor-legacy.js
-%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor.js
-%%DATADIR%%/resources/inspector/performance_monitor/PerformanceMonitor.js
-%%DATADIR%%/resources/inspector/performance_test_runner/performance_test_runner_module.js
-%%DATADIR%%/resources/inspector/persistence/Automapping.js
-%%DATADIR%%/resources/inspector/persistence/EditFileSystemView.js
-%%DATADIR%%/resources/inspector/persistence/FileSystemWorkspaceBinding.js
-%%DATADIR%%/resources/inspector/persistence/IsolatedFileSystem.js
-%%DATADIR%%/resources/inspector/persistence/IsolatedFileSystemManager.js
-%%DATADIR%%/resources/inspector/persistence/NetworkPersistenceManager.js
-%%DATADIR%%/resources/inspector/persistence/persistence.js
-%%DATADIR%%/resources/inspector/persistence/persistence-legacy.js
-%%DATADIR%%/resources/inspector/persistence/PersistenceActions.js
-%%DATADIR%%/resources/inspector/persistence/PersistenceImpl.js
-%%DATADIR%%/resources/inspector/persistence/PersistenceUtils.js
-%%DATADIR%%/resources/inspector/persistence/PlatformFileSystem.js
-%%DATADIR%%/resources/inspector/persistence/WorkspaceSettingsTab.js
-%%DATADIR%%/resources/inspector/platform/platform.js
-%%DATADIR%%/resources/inspector/platform/utilities.js
-%%DATADIR%%/resources/inspector/profiler/profiler_module.js
-%%DATADIR%%/resources/inspector/profiler/profiler-legacy.js
-%%DATADIR%%/resources/inspector/profiler/profiler.js
-%%DATADIR%%/resources/inspector/profiler/BottomUpProfileDataGrid.js
-%%DATADIR%%/resources/inspector/profiler/ChildrenProvider.js
-%%DATADIR%%/resources/inspector/profiler/CPUProfileFlameChart.js
-%%DATADIR%%/resources/inspector/profiler/CPUProfileView.js
-%%DATADIR%%/resources/inspector/profiler/HeapProfilerPanel.js
-%%DATADIR%%/resources/inspector/profiler/HeapProfileView.js
-%%DATADIR%%/resources/inspector/profiler/HeapSnapshotDataGrids.js
-%%DATADIR%%/resources/inspector/profiler/HeapSnapshotGridNodes.js
-%%DATADIR%%/resources/inspector/profiler/HeapSnapshotProxy.js
-%%DATADIR%%/resources/inspector/profiler/HeapSnapshotView.js
-%%DATADIR%%/resources/inspector/profiler/HeapTimelineOverview.js
-%%DATADIR%%/resources/inspector/profiler/IsolateSelector.js
-%%DATADIR%%/resources/inspector/profiler/LiveHeapProfileView.js
-%%DATADIR%%/resources/inspector/profiler/ProfileDataGrid.js
-%%DATADIR%%/resources/inspector/profiler/ProfileHeader.js
-%%DATADIR%%/resources/inspector/profiler/ProfileLauncherView.js
-%%DATADIR%%/resources/inspector/profiler/ProfileSidebarTreeElement.js
-%%DATADIR%%/resources/inspector/profiler/ProfilesPanel.js
-%%DATADIR%%/resources/inspector/profiler/ProfileTypeRegistry.js
-%%DATADIR%%/resources/inspector/profiler/ProfileView.js
-%%DATADIR%%/resources/inspector/profiler/TopDownProfileDataGrid.js
-%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor_module.js
-%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor-legacy.js
-%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor.js
-%%DATADIR%%/resources/inspector/protocol_monitor/ProtocolMonitor.js
-%%DATADIR%%/resources/inspector/protocol/InspectorBackend.js
-%%DATADIR%%/resources/inspector/protocol/NodeURL.js
-%%DATADIR%%/resources/inspector/protocol/protocol.js
-%%DATADIR%%/resources/inspector/protocol/protocol-legacy.js
-%%DATADIR%%/resources/inspector/quick_open/quick_open_module.js
-%%DATADIR%%/resources/inspector/quick_open/quick_open-legacy.js
-%%DATADIR%%/resources/inspector/quick_open/quick_open.js
-%%DATADIR%%/resources/inspector/quick_open/CommandMenu.js
-%%DATADIR%%/resources/inspector/quick_open/FilteredListWidget.js
-%%DATADIR%%/resources/inspector/quick_open/HelpQuickOpen.js
-%%DATADIR%%/resources/inspector/quick_open/QuickOpen.js
-%%DATADIR%%/resources/inspector/resources/resources_module.js
-%%DATADIR%%/resources/inspector/resources/resources-legacy.js
-%%DATADIR%%/resources/inspector/resources/resources.js
-%%DATADIR%%/resources/inspector/resources/ApplicationCacheItemsView.js
-%%DATADIR%%/resources/inspector/resources/ApplicationCacheModel.js
-%%DATADIR%%/resources/inspector/resources/ApplicationPanelSidebar.js
-%%DATADIR%%/resources/inspector/resources/AppManifestView.js
-%%DATADIR%%/resources/inspector/resources/BackgroundServiceModel.js
-%%DATADIR%%/resources/inspector/resources/BackgroundServiceView.js
-%%DATADIR%%/resources/inspector/resources/ClearStorageView.js
-%%DATADIR%%/resources/inspector/resources/CookieItemsView.js
-%%DATADIR%%/resources/inspector/resources/DatabaseModel.js
-%%DATADIR%%/resources/inspector/resources/DatabaseQueryView.js
-%%DATADIR%%/resources/inspector/resources/DatabaseTableView.js
-%%DATADIR%%/resources/inspector/resources/DOMStorageItemsView.js
-%%DATADIR%%/resources/inspector/resources/DOMStorageModel.js
-%%DATADIR%%/resources/inspector/resources/IndexedDBModel.js
-%%DATADIR%%/resources/inspector/resources/IndexedDBViews.js
-%%DATADIR%%/resources/inspector/resources/ResourcesPanel.js
-%%DATADIR%%/resources/inspector/resources/ServiceWorkerCacheViews.js
-%%DATADIR%%/resources/inspector/resources/ServiceWorkersView.js
-%%DATADIR%%/resources/inspector/resources/StorageItemsView.js
-%%DATADIR%%/resources/inspector/root.js
-%%DATADIR%%/resources/inspector/Runtime.js
-%%DATADIR%%/resources/inspector/screencast/InputModel.js
-%%DATADIR%%/resources/inspector/screencast/screencast.js
-%%DATADIR%%/resources/inspector/screencast/screencast-legacy.js
-%%DATADIR%%/resources/inspector/screencast/ScreencastApp.js
-%%DATADIR%%/resources/inspector/screencast/ScreencastView.js
-%%DATADIR%%/resources/inspector/sdk_test_runner/sdk_test_runner_module.js
-%%DATADIR%%/resources/inspector/sdk/ChildTargetManager.js
-%%DATADIR%%/resources/inspector/sdk/CompilerSourceMappingContentProvider.js
-%%DATADIR%%/resources/inspector/sdk/Connections.js
-%%DATADIR%%/resources/inspector/sdk/ConsoleModel.js
-%%DATADIR%%/resources/inspector/sdk/Cookie.js
-%%DATADIR%%/resources/inspector/sdk/CookieModel.js
-%%DATADIR%%/resources/inspector/sdk/CookieParser.js
-%%DATADIR%%/resources/inspector/sdk/CPUProfileDataModel.js
-%%DATADIR%%/resources/inspector/sdk/CPUProfilerModel.js
-%%DATADIR%%/resources/inspector/sdk/CSSMatchedStyles.js
-%%DATADIR%%/resources/inspector/sdk/CSSMedia.js
-%%DATADIR%%/resources/inspector/sdk/CSSMetadata.js
-%%DATADIR%%/resources/inspector/sdk/CSSModel.js
-%%DATADIR%%/resources/inspector/sdk/CSSProperty.js
-%%DATADIR%%/resources/inspector/sdk/CSSRule.js
-%%DATADIR%%/resources/inspector/sdk/CSSStyleDeclaration.js
-%%DATADIR%%/resources/inspector/sdk/CSSStyleSheetHeader.js
-%%DATADIR%%/resources/inspector/sdk/DebuggerModel.js
-%%DATADIR%%/resources/inspector/sdk/DOMDebuggerModel.js
-%%DATADIR%%/resources/inspector/sdk/DOMModel.js
-%%DATADIR%%/resources/inspector/sdk/EmulationModel.js
-%%DATADIR%%/resources/inspector/sdk/FilmStripModel.js
-%%DATADIR%%/resources/inspector/sdk/HARLog.js
-%%DATADIR%%/resources/inspector/sdk/HeapProfilerModel.js
-%%DATADIR%%/resources/inspector/sdk/IsolateManager.js
-%%DATADIR%%/resources/inspector/sdk/IssuesModel.js
-%%DATADIR%%/resources/inspector/sdk/LayerTreeBase.js
-%%DATADIR%%/resources/inspector/sdk/LogModel.js
-%%DATADIR%%/resources/inspector/sdk/NetworkLog.js
-%%DATADIR%%/resources/inspector/sdk/NetworkManager.js
-%%DATADIR%%/resources/inspector/sdk/NetworkRequest.js
-%%DATADIR%%/resources/inspector/sdk/OverlayModel.js
-%%DATADIR%%/resources/inspector/sdk/PaintProfiler.js
-%%DATADIR%%/resources/inspector/sdk/PerformanceMetricsModel.js
-%%DATADIR%%/resources/inspector/sdk/ProfileTreeModel.js
-%%DATADIR%%/resources/inspector/sdk/RemoteObject.js
-%%DATADIR%%/resources/inspector/sdk/Resource.js
-%%DATADIR%%/resources/inspector/sdk/ResourceTreeModel.js
-%%DATADIR%%/resources/inspector/sdk/RuntimeModel.js
-%%DATADIR%%/resources/inspector/sdk/ScreenCaptureModel.js
-%%DATADIR%%/resources/inspector/sdk/Script.js
-%%DATADIR%%/resources/inspector/sdk/sdk.js
-%%DATADIR%%/resources/inspector/sdk/sdk-legacy.js
-%%DATADIR%%/resources/inspector/sdk/SDKModel.js
-%%DATADIR%%/resources/inspector/sdk/SecurityOriginManager.js
-%%DATADIR%%/resources/inspector/sdk/ServerTiming.js
-%%DATADIR%%/resources/inspector/sdk/ServiceWorkerCacheModel.js
-%%DATADIR%%/resources/inspector/sdk/ServiceWorkerManager.js
-%%DATADIR%%/resources/inspector/sdk/SourceMap.js
-%%DATADIR%%/resources/inspector/sdk/SourceMapManager.js
-%%DATADIR%%/resources/inspector/sdk/TracingManager.js
-%%DATADIR%%/resources/inspector/sdk/TracingModel.js
-%%DATADIR%%/resources/inspector/sdk/wasm_source_map/pkg/wasm_source_map_bg.wasm
-%%DATADIR%%/resources/inspector/sdk/wasm_source_map/pkg/wasm_source_map.js
-%%DATADIR%%/resources/inspector/search/search_module.js
-%%DATADIR%%/resources/inspector/search/search-legacy.js
-%%DATADIR%%/resources/inspector/search/search.js
-%%DATADIR%%/resources/inspector/search/SearchConfig.js
-%%DATADIR%%/resources/inspector/search/SearchResultsPane.js
-%%DATADIR%%/resources/inspector/search/SearchView.js
-%%DATADIR%%/resources/inspector/security/security_module.js
-%%DATADIR%%/resources/inspector/security/security-legacy.js
-%%DATADIR%%/resources/inspector/security/security.js
-%%DATADIR%%/resources/inspector/security/SecurityModel.js
-%%DATADIR%%/resources/inspector/security/SecurityPanel.js
-%%DATADIR%%/resources/inspector/security_test_runner/security_test_runner_module.js
-%%DATADIR%%/resources/inspector/services/ServiceManager.js
-%%DATADIR%%/resources/inspector/services/services.js
-%%DATADIR%%/resources/inspector/services/services-legacy.js
-%%DATADIR%%/resources/inspector/settings/settings_module.js
-%%DATADIR%%/resources/inspector/settings/settings-legacy.js
-%%DATADIR%%/resources/inspector/settings/settings.js
-%%DATADIR%%/resources/inspector/settings/FrameworkBlackboxSettingsTab.js
-%%DATADIR%%/resources/inspector/settings/SettingsScreen.js
-%%DATADIR%%/resources/inspector/shell.js
-%%DATADIR%%/resources/inspector/snippets/snippets_module.js
-%%DATADIR%%/resources/inspector/snippets/snippets-legacy.js
-%%DATADIR%%/resources/inspector/snippets/snippets.js
-%%DATADIR%%/resources/inspector/snippets/ScriptSnippetFileSystem.js
-%%DATADIR%%/resources/inspector/snippets/SnippetsQuickOpen.js
-%%DATADIR%%/resources/inspector/source_frame/source_frame_module.js
-%%DATADIR%%/resources/inspector/source_frame/source_frame-legacy.js
-%%DATADIR%%/resources/inspector/source_frame/source_frame.js
-%%DATADIR%%/resources/inspector/source_frame/BinaryResourceViewFactory.js
-%%DATADIR%%/resources/inspector/source_frame/FontView.js
-%%DATADIR%%/resources/inspector/source_frame/ImageView.js
-%%DATADIR%%/resources/inspector/source_frame/JSONView.js
-%%DATADIR%%/resources/inspector/source_frame/PreviewFactory.js
-%%DATADIR%%/resources/inspector/source_frame/ResourceSourceFrame.js
-%%DATADIR%%/resources/inspector/source_frame/SourceCodeDiff.js
-%%DATADIR%%/resources/inspector/source_frame/SourceFrame.js
-%%DATADIR%%/resources/inspector/source_frame/SourcesTextEditor.js
-%%DATADIR%%/resources/inspector/source_frame/XMLView.js
-%%DATADIR%%/resources/inspector/sources/sources_module.js
-%%DATADIR%%/resources/inspector/sources/sources-legacy.js
-%%DATADIR%%/resources/inspector/sources/sources.js
-%%DATADIR%%/resources/inspector/sources/AddSourceMapURLDialog.js
-%%DATADIR%%/resources/inspector/sources/BreakpointEditDialog.js
-%%DATADIR%%/resources/inspector/sources/CallStackSidebarPane.js
-%%DATADIR%%/resources/inspector/sources/CoveragePlugin.js
-%%DATADIR%%/resources/inspector/sources/CSSPlugin.js
-%%DATADIR%%/resources/inspector/sources/DebuggerPausedMessage.js
-%%DATADIR%%/resources/inspector/sources/DebuggerPlugin.js
-%%DATADIR%%/resources/inspector/sources/EditingLocationHistoryManager.js
-%%DATADIR%%/resources/inspector/sources/FilePathScoreFunction.js
-%%DATADIR%%/resources/inspector/sources/FilteredUISourceCodeListProvider.js
-%%DATADIR%%/resources/inspector/sources/GoToLineQuickOpen.js
-%%DATADIR%%/resources/inspector/sources/GutterDiffPlugin.js
-%%DATADIR%%/resources/inspector/sources/InplaceFormatterEditorAction.js
-%%DATADIR%%/resources/inspector/sources/JavaScriptBreakpointsSidebarPane.js
-%%DATADIR%%/resources/inspector/sources/JavaScriptCompilerPlugin.js
-%%DATADIR%%/resources/inspector/sources/NavigatorView.js
-%%DATADIR%%/resources/inspector/sources/OpenFileQuickOpen.js
-%%DATADIR%%/resources/inspector/sources/OutlineQuickOpen.js
-%%DATADIR%%/resources/inspector/sources/Plugin.js
-%%DATADIR%%/resources/inspector/sources/ScopeChainSidebarPane.js
-%%DATADIR%%/resources/inspector/sources/ScriptFormatterEditorAction.js
-%%DATADIR%%/resources/inspector/sources/ScriptOriginPlugin.js
-%%DATADIR%%/resources/inspector/sources/SearchSourcesView.js
-%%DATADIR%%/resources/inspector/sources/SimpleHistoryManager.js
-%%DATADIR%%/resources/inspector/sources/SnippetsPlugin.js
-%%DATADIR%%/resources/inspector/sources/SourceMapNamesResolver.js
-%%DATADIR%%/resources/inspector/sources/SourcesNavigator.js
-%%DATADIR%%/resources/inspector/sources/SourcesPanel.js
-%%DATADIR%%/resources/inspector/sources/SourcesSearchScope.js
-%%DATADIR%%/resources/inspector/sources/SourcesView.js
-%%DATADIR%%/resources/inspector/sources/TabbedEditorContainer.js
-%%DATADIR%%/resources/inspector/sources/ThreadsSidebarPane.js
-%%DATADIR%%/resources/inspector/sources/UISourceCodeFrame.js
-%%DATADIR%%/resources/inspector/sources/WatchExpressionsSidebarPane.js
-%%DATADIR%%/resources/inspector/sources_test_runner/sources_test_runner_module.js
-%%DATADIR%%/resources/inspector/test_runner/test_runner.js
-%%DATADIR%%/resources/inspector/test_runner/TestRunner.js
-%%DATADIR%%/resources/inspector/text_editor/text_editor_module.js
-%%DATADIR%%/resources/inspector/text_editor/CodeMirrorTextEditor.js
-%%DATADIR%%/resources/inspector/text_editor/CodeMirrorUtils.js
-%%DATADIR%%/resources/inspector/text_editor/text_editor.js
-%%DATADIR%%/resources/inspector/text_editor/text_editor-legacy.js
-%%DATADIR%%/resources/inspector/text_editor/TextEditorAutocompleteController.js
-%%DATADIR%%/resources/inspector/text_utils/text_utils.js
-%%DATADIR%%/resources/inspector/text_utils/text_utils-legacy.js
-%%DATADIR%%/resources/inspector/text_utils/Text.js
-%%DATADIR%%/resources/inspector/text_utils/TextCursor.js
-%%DATADIR%%/resources/inspector/text_utils/TextRange.js
-%%DATADIR%%/resources/inspector/text_utils/TextUtils.js
-%%DATADIR%%/resources/inspector/third_party/wasmparser/WasmDis.js
-%%DATADIR%%/resources/inspector/third_party/wasmparser/WasmParser.js
-%%DATADIR%%/resources/inspector/timeline_model/timeline_model_module.js
-%%DATADIR%%/resources/inspector/timeline_model/timeline_model-legacy.js
-%%DATADIR%%/resources/inspector/timeline_model/timeline_model.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineFrameModel.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineIRModel.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineJSProfile.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineModel.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineModelFilter.js
-%%DATADIR%%/resources/inspector/timeline_model/TimelineProfileTree.js
-%%DATADIR%%/resources/inspector/timeline_model/TracingLayerTree.js
-%%DATADIR%%/resources/inspector/timeline/timeline_module.js
-%%DATADIR%%/resources/inspector/timeline/timeline-legacy.js
-%%DATADIR%%/resources/inspector/timeline/timeline.js
-%%DATADIR%%/resources/inspector/timeline/CountersGraph.js
-%%DATADIR%%/resources/inspector/timeline/EventsTimelineTreeView.js
-%%DATADIR%%/resources/inspector/timeline/ExtensionTracingSession.js
-%%DATADIR%%/resources/inspector/timeline/PerformanceModel.js
-%%DATADIR%%/resources/inspector/timeline/TimelineController.js
-%%DATADIR%%/resources/inspector/timeline/TimelineDetailsView.js
-%%DATADIR%%/resources/inspector/timeline/TimelineEventOverview.js
-%%DATADIR%%/resources/inspector/timeline/TimelineFilters.js
-%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartDataProvider.js
-%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartNetworkDataProvider.js
-%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartView.js
-%%DATADIR%%/resources/inspector/timeline/TimelineHistoryManager.js
-%%DATADIR%%/resources/inspector/timeline/TimelineLayersView.js
-%%DATADIR%%/resources/inspector/timeline/TimelineLoader.js
-%%DATADIR%%/resources/inspector/timeline/TimelinePaintProfilerView.js
-%%DATADIR%%/resources/inspector/timeline/TimelinePanel.js
-%%DATADIR%%/resources/inspector/timeline/TimelineTreeView.js
-%%DATADIR%%/resources/inspector/timeline/TimelineUIUtils.js
-%%DATADIR%%/resources/inspector/timeline/UIDevtoolsController.js
-%%DATADIR%%/resources/inspector/timeline/UIDevtoolsUtils.js
-%%DATADIR%%/resources/inspector/toolbox_bootstrap/toolbox_bootstrap.js
-%%DATADIR%%/resources/inspector/toolbox.html
-%%DATADIR%%/resources/inspector/toolbox.js
-%%DATADIR%%/resources/inspector/ui/Action.js
-%%DATADIR%%/resources/inspector/ui/ActionDelegate.js
-%%DATADIR%%/resources/inspector/ui/ActionRegistry.js
-%%DATADIR%%/resources/inspector/ui/ARIAUtils.js
-%%DATADIR%%/resources/inspector/ui/Context.js
-%%DATADIR%%/resources/inspector/ui/ContextFlavorListener.js
-%%DATADIR%%/resources/inspector/ui/ContextMenu.js
-%%DATADIR%%/resources/inspector/ui/Dialog.js
-%%DATADIR%%/resources/inspector/ui/DropTarget.js
-%%DATADIR%%/resources/inspector/ui/EmptyWidget.js
-%%DATADIR%%/resources/inspector/ui/FilterBar.js
-%%DATADIR%%/resources/inspector/ui/FilterSuggestionBuilder.js
-%%DATADIR%%/resources/inspector/ui/ForwardedInputEventHandler.js
-%%DATADIR%%/resources/inspector/ui/Fragment.js
-%%DATADIR%%/resources/inspector/ui/Geometry.js
-%%DATADIR%%/resources/inspector/ui/GlassPane.js
-%%DATADIR%%/resources/inspector/ui/HistoryInput.js
-%%DATADIR%%/resources/inspector/ui/Icon.js
-%%DATADIR%%/resources/inspector/ui/Infobar.js
-%%DATADIR%%/resources/inspector/ui/InplaceEditor.js
-%%DATADIR%%/resources/inspector/ui/InspectorView.js
-%%DATADIR%%/resources/inspector/ui/KeyboardShortcut.js
-%%DATADIR%%/resources/inspector/ui/ListControl.js
-%%DATADIR%%/resources/inspector/ui/ListModel.js
-%%DATADIR%%/resources/inspector/ui/ListWidget.js
-%%DATADIR%%/resources/inspector/ui/Panel.js
-%%DATADIR%%/resources/inspector/ui/PopoverHelper.js
-%%DATADIR%%/resources/inspector/ui/ProgressIndicator.js
-%%DATADIR%%/resources/inspector/ui/RemoteDebuggingTerminatedScreen.js
-%%DATADIR%%/resources/inspector/ui/ReportView.js
-%%DATADIR%%/resources/inspector/ui/ResizerWidget.js
-%%DATADIR%%/resources/inspector/ui/RootView.js
-%%DATADIR%%/resources/inspector/ui/SearchableView.js
-%%DATADIR%%/resources/inspector/ui/SegmentedButton.js
-%%DATADIR%%/resources/inspector/ui/SettingsUI.js
-%%DATADIR%%/resources/inspector/ui/ShortcutRegistry.js
-%%DATADIR%%/resources/inspector/ui/ShortcutsScreen.js
-%%DATADIR%%/resources/inspector/ui/SoftContextMenu.js
-%%DATADIR%%/resources/inspector/ui/SoftDropDown.js
-%%DATADIR%%/resources/inspector/ui/SplitWidget.js
-%%DATADIR%%/resources/inspector/ui/SuggestBox.js
-%%DATADIR%%/resources/inspector/ui/SyntaxHighlighter.js
-%%DATADIR%%/resources/inspector/ui/TabbedPane.js
-%%DATADIR%%/resources/inspector/ui/TargetCrashedScreen.js
-%%DATADIR%%/resources/inspector/ui/TextEditor.js
-%%DATADIR%%/resources/inspector/ui/TextPrompt.js
-%%DATADIR%%/resources/inspector/ui/ThrottledWidget.js
-%%DATADIR%%/resources/inspector/ui/Toolbar.js
-%%DATADIR%%/resources/inspector/ui/Tooltip.js
-%%DATADIR%%/resources/inspector/ui/Treeoutline.js
-%%DATADIR%%/resources/inspector/ui/ui.js
-%%DATADIR%%/resources/inspector/ui/ui-legacy.js
-%%DATADIR%%/resources/inspector/ui/UIUtils.js
-%%DATADIR%%/resources/inspector/ui/View.js
-%%DATADIR%%/resources/inspector/ui/ViewManager.js
-%%DATADIR%%/resources/inspector/ui/Widget.js
-%%DATADIR%%/resources/inspector/ui/XElement.js
-%%DATADIR%%/resources/inspector/ui/XLink.js
-%%DATADIR%%/resources/inspector/ui/XWidget.js
-%%DATADIR%%/resources/inspector/ui/ZoomManager.js
-%%DATADIR%%/resources/inspector/ui/utils/append-style.js
-%%DATADIR%%/resources/inspector/ui/utils/create-shadow-root-with-core-styles.js
-%%DATADIR%%/resources/inspector/ui/utils/focus-changed.js
-%%DATADIR%%/resources/inspector/ui/utils/inject-core-styles.js
-%%DATADIR%%/resources/inspector/ui/utils/measured-scrollbar-width.js
-%%DATADIR%%/resources/inspector/ui/utils/register-custom-element.js
-%%DATADIR%%/resources/inspector/ui/utils/utils.js
-%%DATADIR%%/resources/inspector/wasmparser_worker_entrypoint.js
-%%DATADIR%%/resources/inspector/wasmparser_worker/wasmparser_worker.js
-%%DATADIR%%/resources/inspector/wasmparser_worker/WasmParserWorker.js
-%%DATADIR%%/resources/inspector/web_audio/web_audio_module.js
-%%DATADIR%%/resources/inspector/web_audio/web_audio-legacy.js
-%%DATADIR%%/resources/inspector/web_audio/web_audio.js
-%%DATADIR%%/resources/inspector/web_audio/AudioContextContentBuilder.js
-%%DATADIR%%/resources/inspector/web_audio/AudioContextSelector.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/EdgeView.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphManager.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphStyle.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphView.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/NodeRendererUtility.js
-%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/NodeView.js
-%%DATADIR%%/resources/inspector/web_audio/WebAudioModel.js
-%%DATADIR%%/resources/inspector/web_audio/WebAudioView.js
-%%DATADIR%%/resources/inspector/worker_app.html
-%%DATADIR%%/resources/inspector/worker_app.js
-%%DATADIR%%/resources/inspector/worker_main/worker_main-legacy.js
-%%DATADIR%%/resources/inspector/worker_main/worker_main.js
-%%DATADIR%%/resources/inspector/worker_main/WorkerMain.js
-%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff_module.js
-%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff-legacy.js
-%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff.js
-%%DATADIR%%/resources/inspector/workspace_diff/WorkspaceDiff.js
-%%DATADIR%%/resources/inspector/workspace/FileManager.js
-%%DATADIR%%/resources/inspector/workspace/UISourceCode.js
-%%DATADIR%%/resources/inspector/workspace/workspace.js
-%%DATADIR%%/resources/inspector/workspace/workspace-legacy.js
-%%DATADIR%%/resources/inspector/workspace/WorkspaceImpl.js
-%%DATADIR%%/snapshot_blob.bin
-%%DATADIR%%/libvk_swiftshader.so
-%%DATADIR%%/swiftshader/libEGL.so
-%%DATADIR%%/swiftshader/libGLESv2.so
-%%DATADIR%%/v8_context_snapshot.bin
-%%DEBUG%%%%DATADIR%%/character_data_generator
-%%DEBUG%%%%DATADIR%%/libVkLayer_khronos_validation.so
-%%DEBUG%%%%DATADIR%%/libvulkan.so
-man/man1/iridium.1.gz
-share/applications/iridium-browser.desktop
-share/icons/hicolor/128x128/apps/iridium.png
-share/icons/hicolor/22x22/apps/iridium.png
-share/icons/hicolor/24x24/apps/iridium.png
-share/icons/hicolor/256x256/apps/iridium.png
-share/icons/hicolor/48x48/apps/iridium.png
-share/icons/hicolor/64x64/apps/iridium.png
diff --git a/www/moinmoin/Makefile b/www/moinmoin/Makefile
deleted file mode 100644
index cbd1c6c21db1..000000000000
--- a/www/moinmoin/Makefile
+++ /dev/null
@@ -1,91 +0,0 @@
-# Created by: Hye-Shik Chang <perky@python.or.kr>
-# $FreeBSD$
-
-PORTNAME= moinmoin
-PORTVERSION= 1.9.10
-CATEGORIES= www python
-MASTER_SITES= https://static.moinmo.in/files/
-DISTNAME= moin-${PORTVERSION}
-
-MAINTAINER= python@FreeBSD.org
-COMMENT= Easy to use, full-featured and extensible wiki software package
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/docs/licenses/COPYING
-
-USES= cpe python:2.7 shebangfix
-USE_PYTHON= distutils
-
-NO_ARCH= yes
-CPE_VENDOR= moinmo
-PYDISTUTILS_PKGNAME= moin
-SHEBANG_FILES= wiki/server/moin*
-
-PLIST_SUB+= PYTHON_SITELIB=${PYTHON_SITELIBDIR:S|^${LOCALBASE}/||} \
- DATADIR=share/moin
-SUB_FILES= pkg-install
-SUB_LIST= MOINDIR=${MOINDIR} MOINDEST=${MOINDEST} MOINVER=${MOINVER} \
- HTDOCS=${PYTHON_SITELIBDIR}/MoinMoin/web/static/htdocs
-
-OPTIONS_DEFINE= RECAPTCHA VERIFYEMAIL
-OPTIONS_DEFAULT= RECAPTCHA VERIFYEMAIL
-OPTIONS_SUB= yes
-
-RECAPTCHA_DESC= reCAPTCHA v2 support
-VERIFYEMAIL_DESC= Support for verifying new account email addresses
-
-RECAPTCHA_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-recaptchav2
-VERIFYEMAIL_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-verifyemail
-
-CGIUSER?= www
-CGIGROUP?= www
-MOINDIR= ${PREFIX}/share/moin
-MOINDEST?= ${PREFIX}/www/wiki
-MOINVER?= ${PORTVERSION:S|.||g}
-MOINTYPE?= CGI
-
-PKGDEINSTALL= ${PKGINSTALL}
-
-.if ${MOINTYPE} == "STANDALONE"
-MOINSCRIPT= ${MOINDIR}/server/moin
-.elif ${MOINTYPE} == "FCGI"
-MOINSCRIPT= ${MOINDIR}/server/moin.fcgi
-.elif ${MOINTYPE} == "MOD_PYTHON"
-.elif ${MOINTYPE} == "CGI"
-MOINSCRIPT= ${MOINDIR}/server/moin.cgi
-.elif ${MOINTYPE} == "WSGI"
-MOINSCRIPT= ${MOINDIR}/server/moin.wsgi
-.else
-BROKEN= MOINTYPE must be a STANDALONE, FCGI, WSGI, MOD_PYTHON, or CGI
-.endif
-
-pre-everything::
- @${ECHO}
- @${ECHO} "Set MOINTYPE=(CGI|FCGI|WSGI|STANDALONE) to define"
- @${ECHO} "type of installation. Default is CGI."
- @${ECHO} "Use MOINDEST=/path to modify installation destination."
- @${ECHO} "Default value for MOINDEST is ${PREFIX}/www/wiki."
- @${ECHO}
- @${ECHO} "To get correct permissions, please set CGIUSER, CGIGROUP"
- @${ECHO} "per default it is set to www:www."
- @${ECHO}
-
-instance: pre-everything apply-slist
- @${ECHO_CMD} "Creating a new wiki instance in ${MOINDEST}."; \
- if [ -f ${MOINDIR}/config/wikiconfig.py ]; then \
- ${MKDIR} ${MOINDEST}; \
- ${CP} -R ${MOINDIR}/data ${MOINDEST}; \
- ${CP} -R ${MOINDIR}/underlay ${MOINDEST}; \
- ${CHMOD} -R u+rw,go-ws ${MOINDEST}/data; \
- ${INSTALL_SCRIPT} ${MOINDIR}/config/wikiconfig.py ${MOINDEST}; \
- if [ ! -z ${MOINSCRIPT} ]; then \
- ${INSTALL_SCRIPT} ${MOINSCRIPT} ${MOINDEST}; \
- fi; \
- ${CHOWN} -R ${CGIUSER}:${CGIGROUP} ${MOINDEST}; \
- ${SH} ${PKGINSTALL} ${PKGNAME} INSTANCE ${MOINTYPE}; \
- else \
- ${ECHO_CMD} "You need to install moinmoin first before trying"; \
- ${ECHO_CMD} "to add a new wiki instance."; \
- fi
-
-.include <bsd.port.mk>
diff --git a/www/moinmoin/distinfo b/www/moinmoin/distinfo
deleted file mode 100644
index 44f6c502c523..000000000000
--- a/www/moinmoin/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1536591873
-SHA256 (moin-1.9.10.tar.gz) = 4a264418e886082abd457c26991f4a8f4847cd1a2ffc11e10d66231da8a5053c
-SIZE (moin-1.9.10.tar.gz) = 37283678
diff --git a/www/moinmoin/files/extra-patch-recaptchav2 b/www/moinmoin/files/extra-patch-recaptchav2
deleted file mode 100644
index 60241b7cf0cf..000000000000
--- a/www/moinmoin/files/extra-patch-recaptchav2
+++ /dev/null
@@ -1,299 +0,0 @@
-# Based on https://gist.github.com/tfoote/675b98df53369e199dea
-
---- MoinMoin/action/AttachFile.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/action/AttachFile.py
-@@ -44,6 +44,7 @@ from MoinMoin import config, packages
- from MoinMoin.Page import Page
- from MoinMoin.util import filesys, timefuncs
- from MoinMoin.security.textcha import TextCha
-+from MoinMoin.security.sec_recaptcha import ReCaptcha
- from MoinMoin.events import FileAttachedEvent, FileRemovedEvent, send_event
-
- action_name = __name__.split('.')[-1]
-@@ -654,6 +655,7 @@ def send_uploadform(pagename, request):
- <dd><input type="checkbox" name="overwrite" value="1" %(overwrite_checked)s></dd>
- </dl>
- %(textcha)s
-+%(recaptcha)s
- <p>
- <input type="hidden" name="action" value="%(action_name)s">
- <input type="hidden" name="do" value="upload">
-@@ -671,6 +673,7 @@ def send_uploadform(pagename, request):
- 'overwrite_checked': ('', 'checked')[request.form.get('overwrite', '0') == '1'],
- 'upload_button': _('Upload'),
- 'textcha': TextCha(request).render(),
-+ 'recaptcha': ReCaptcha(request).render(),
- 'ticket': wikiutil.createTicket(request),
- })
-
-@@ -728,6 +731,8 @@ def _do_upload(pagename, request):
- # but it could be extended to more/all attachment write access
- if not TextCha(request).check_answer_from_form():
- return _('TextCha: Wrong answer! Go back and try again...')
-+ if not ReCaptcha(request).check_answer_from_form():
-+ return _('ReCaptcha: Wrong answer! Go back and try again...')
-
- form = request.form
-
---- MoinMoin/action/CopyPage.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/action/CopyPage.py
-@@ -14,6 +14,7 @@ from MoinMoin.Page import Page
- from MoinMoin.PageEditor import PageEditor
- from MoinMoin.action import ActionBase
- from MoinMoin.security.textcha import TextCha
-+from MoinMoin.security.sec_recaptcha import ReCaptcha
-
- class CopyPage(ActionBase):
- """ Copy page action
-@@ -45,11 +46,14 @@ class CopyPage(ActionBase):
-
- def do_action(self):
- """ copy this page to "pagename" """
-+ status = False
- _ = self._
- # Currently we only check TextCha for upload (this is what spammers ususally do),
- # but it could be extended to more/all attachment write access
- if not TextCha(self.request).check_answer_from_form():
- return False, _('TextCha: Wrong answer! Go back and try again...')
-+ if not ReCaptcha(self.request).check_answer_from_form():
-+ return status, _('ReCaptcha: Wrong answer! Go back and try again...')
-
- form = self.form
- newpagename = form.get('newpagename', u'')
-@@ -90,6 +94,7 @@ class CopyPage(ActionBase):
-
- d = {
- 'textcha': TextCha(self.request).render(),
-+ 'recaptcha': ReCaptcha(self.request).render(),
- 'subpage': subpages,
- 'subpages_checked': ('', 'checked')[self.request.args.get('subpages_checked', '0') == '1'],
- 'subpage_label': _('Copy all /subpages too?'),
-@@ -105,6 +110,7 @@ class CopyPage(ActionBase):
- <br>
- <br>
- %(textcha)s
-+%(recaptcha)s
- <table>
- <tr>
- <dd>
-@@ -140,6 +146,7 @@ class CopyPage(ActionBase):
- else:
- d = {
- 'textcha': TextCha(self.request).render(),
-+ 'recaptcha': ReCaptcha(self.request).render(),
- 'pagename': wikiutil.escape(self.pagename, True),
- 'newname_label': _("New name"),
- 'comment_label': _("Optional reason for the copying"),
-@@ -147,6 +154,7 @@ class CopyPage(ActionBase):
- }
- return '''
- %(textcha)s
-+%(recaptcha)s
- <table>
- <tr>
- <td class="label"><label>%(newname_label)s</label></td>
---- MoinMoin/action/edit.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/action/edit.py
-@@ -163,6 +163,9 @@ def execute(pagename, request):
- from MoinMoin.security.textcha import TextCha
- if not TextCha(request).check_answer_from_form():
- raise pg.SaveError(_('TextCha: Wrong answer! Try again below...'))
-+ from MoinMoin.security.sec_recaptcha import ReCaptcha
-+ if not ReCaptcha(request).check_answer_from_form():
-+ raise pg.SaveError(_('ReCaptcha: Wrong answer! Try again below...'))
- if request.cfg.comment_required and not comment:
- raise pg.SaveError(_('Supplying a comment is mandatory. Write a comment below and try again...'))
- savemsg = pg.saveText(savetext, rev, trivial=trivial, comment=comment)
---- MoinMoin/action/Load.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/action/Load.py
-@@ -14,6 +14,7 @@ from MoinMoin.action import ActionBase, AttachFile
- from MoinMoin.PageEditor import PageEditor
- from MoinMoin.Page import Page
- from MoinMoin.security.textcha import TextCha
-+from MoinMoin.security.sec_recaptcha import ReCaptcha
-
- class Load(ActionBase):
- """ Load page action
-@@ -40,6 +41,8 @@ class Load(ActionBase):
- # but it could be extended to more/all attachment write access
- if not TextCha(request).check_answer_from_form():
- return status, _('TextCha: Wrong answer! Go back and try again...')
-+ if not ReCaptcha(request).check_answer_from_form():
-+ return _('ReCaptcha: Wrong answer! Go back and try again...')
-
- comment = form.get('comment', u'')
- comment = wikiutil.clean_input(comment)
-@@ -97,6 +100,7 @@ class Load(ActionBase):
- <dd><input type="text" name="comment" size="80" maxlength="200"></dd>
- </dl>
- %(textcha)s
-+%(recaptcha)s
- <p>
- <input type="hidden" name="action" value="%(action_name)s">
- <input type="hidden" name="do" value="upload">
-@@ -115,6 +119,7 @@ class Load(ActionBase):
- 'buttons_html': buttons_html,
- 'action_name': self.form_trigger,
- 'textcha': TextCha(self.request).render(),
-+ 'recaptcha': ReCaptcha(self.request).render(),
- }
-
- def execute(pagename, request):
---- MoinMoin/action/newaccount.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/action/newaccount.py
-@@ -10,6 +10,7 @@ from MoinMoin import user, wikiutil
- from MoinMoin.Page import Page
- from MoinMoin.widget import html
- from MoinMoin.security.textcha import TextCha
-+from MoinMoin.security.sec_recaptcha import ReCaptcha
- from MoinMoin.auth import MoinAuth
-
-
-@@ -26,6 +27,9 @@ def _create_user(request):
- if not TextCha(request).check_answer_from_form():
- return _('TextCha: Wrong answer! Go back and try again...')
-
-+ if not ReCaptcha(request).check_answer_from_form():
-+ return _('ReCaptcha: Wrong answer! Go back and try again...')
-+
- # Create user profile
- theuser = user.User(request, auth_method="new-user")
-
-@@ -141,6 +145,17 @@ def _create_form(request):
- if textcha:
- td.append(textcha.render())
- row.append(td)
-+
-+ recaptcha = ReCaptcha(request)
-+ if recaptcha.is_enabled():
-+ row = html.TR()
-+ tbl.append(row)
-+ row.append(html.TD().append(html.STRONG().append(
-+ html.Text(_('ReCaptcha (required)')))))
-+ td = html.TD()
-+ if recaptcha:
-+ td.append(recaptcha.render())
-+ row.append(td)
-
- row = html.TR()
- tbl.append(row)
---- MoinMoin/PageEditor.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/PageEditor.py
-@@ -422,6 +422,9 @@ If you don't want that, hit '''%(cancel_button_text)s'
- from MoinMoin.security.textcha import TextCha
- request.write(TextCha(request).render())
-
-+ from MoinMoin.security.sec_recaptcha import ReCaptcha
-+ request.write(ReCaptcha(request).render())
-+
- # Add textarea with page text
- self.sendconfirmleaving()
-
---- MoinMoin/PageGraphicalEditor.py.orig 2016-10-31 20:44:01 UTC
-+++ MoinMoin/PageGraphicalEditor.py
-@@ -305,6 +305,9 @@ If you don't want that, hit '''%(cancel_button_text)s'
- from MoinMoin.security.textcha import TextCha
- request.write(TextCha(request).render())
-
-+ from MoinMoin.security.sec_recaptcha import ReCaptcha
-+ request.write(ReCaptcha(request).render())
-+
- self.sendconfirmleaving() # TODO update state of flgChange to make this work, see PageEditor
-
- # Add textarea with page text
---- MoinMoin/security/sec_recaptcha.py.orig 2018-05-02 03:24:23 UTC
-+++ MoinMoin/security/sec_recaptcha.py
-@@ -0,0 +1,93 @@
-+# -*- coding: iso-8859-1 -*-
-+"""
-+ MoinMoin - recaptcha support
-+
-+ Based heavily on the textcha support in textcha.py
-+
-+ @copyright: 2011 by Steve McIntyre
-+ @copyright: 2018 by d42
-+ @license: GNU GPL, see COPYING for details.
-+"""
-+import json
-+import urllib
-+import urllib2
-+from textwrap import dedent
-+
-+from MoinMoin import log
-+
-+logging = log.getLogger(__name__)
-+
-+
-+class ReCaptcha(object):
-+ """ Recaptcha support """
-+
-+ VERIFY_URL = "https://www.google.com/recaptcha/api/siteverify"
-+
-+ def __init__(self, request):
-+ """ Initialize the Recaptcha setup.
-+
-+ @param request: the request object
-+ """
-+ self.request = request
-+ self.user_info = request.user.valid and request.user.name or request.remote_addr
-+
-+ self.site_key = getattr(request.cfg, "recaptcha_site_key", None)
-+ self.secret_key = getattr(request.cfg, "recaptcha_secret_key", None)
-+
-+ def is_enabled(self):
-+ """ check if we're configured, i.e. we have a key
-+ """
-+ return self.site_key and self.secret_key
-+
-+ def check_answer_from_form(self, form=None):
-+ form = self.request.form if form is None else form
-+
-+ if not self.is_enabled():
-+ return True
-+
-+ return self._submit(
-+ response=form.get("g-recaptcha-response"),
-+ remoteip=self.request.remote_addr
-+ )
-+
-+ def _submit(self, response, remoteip):
-+
-+ def encode_if_necessary(s):
-+ return s.encode("utf-8") if isinstance(s, unicode) else s
-+
-+ data = urllib.urlencode({
-+ "secret": encode_if_necessary(self.secret_key),
-+ "response": encode_if_necessary(response),
-+ "remoteip": encode_if_necessary(remoteip),
-+ })
-+
-+ request = urllib2.Request(
-+ url=self.VERIFY_URL,
-+ data=data,
-+ headers={"Content-type": "application/x-www-form-urlencoded"}
-+ )
-+
-+ try:
-+ resp = urllib2.urlopen(request)
-+ http_code = resp.getcode()
-+ resp_json = json.loads(resp.read())
-+ return resp_json["success"] if http_code == 200 else False
-+ except urllib2.URLError as e:
-+ logging.exception(e)
-+ return False
-+ finally:
-+ resp.close()
-+
-+ def render(self, form=None):
-+ """ Checks if ReCaptchas are enabled and returns HTML for one,
-+ or an empty string if they are not enabled.
-+
-+ @return: unicode result html
-+ """
-+ if not self.is_enabled():
-+ return u""
-+
-+ return dedent(u"""
-+ <script src='//www.google.com/recaptcha/api.js'></script>
-+ <div class="g-recaptcha" data-sitekey="{SITE_KEY}"></div>
-+ """.format(SITE_KEY=self.site_key))
diff --git a/www/moinmoin/files/extra-patch-verifyemail b/www/moinmoin/files/extra-patch-verifyemail
deleted file mode 100644
index 0b5da29c741a..000000000000
--- a/www/moinmoin/files/extra-patch-verifyemail
+++ /dev/null
@@ -1,232 +0,0 @@
-Description: Add support for requiring new accounts to be verified by email
-Origin: http://moinmo.in/MoinMoinPatch/VerifyAccountCreationByEmail
-Author: Steve McIntyre
-Last-Update: 2013-09-04
-
---- ./MoinMoin/action/newaccount.py 2014-10-17 12:45:32.000000000 -0700
-+++ ./MoinMoin/action/newaccount.py 2016-01-15 13:53:33.209638000 -0800
-@@ -12,5 +12,27 @@
- from MoinMoin.security.textcha import TextCha
- from MoinMoin.auth import MoinAuth
-+from MoinMoin.mail import sendmail
-+import subprocess
-
-+def _send_verification_mail(request, user):
-+ _ = request.getText
-+ querystr = {'action': 'verifyaccount',
-+ 'i': user.id,
-+ 'v': user.account_verification}
-+ page = Page(request, "FrontPage")
-+ pagelink = "%(link)s" % {'link': request.getQualifiedURL(page.url(request, querystr))}
-+ subject = _('[%(sitename)s] account verification check for new user %(username)s') % {
-+ 'sitename': request.page.cfg.sitename or request.url_root,
-+ 'username': user.name,
-+ }
-+
-+ text = "Please verify your account by visiting this URL:\n\n %(link)s\n\n" % {
-+ 'link': pagelink}
-+
-+ mailok, msg = sendmail.sendmail(request, user.email, subject, text, request.cfg.mail_from)
-+ if mailok:
-+ return (1, _("Verification message sent to %(email)s" % {'email': user.email}))
-+ else:
-+ return (mailok, msg)
-
- def _create_user(request):
-@@ -43,6 +65,16 @@
-
- # Name required to be unique. Check if name belong to another user.
-- if user.getUserId(request, theuser.name):
-- return _("This user name already belongs to somebody else.")
-+ userid = user.getUserId(request, theuser.name)
-+ if userid:
-+ if request.cfg.require_email_verification and theuser.account_verification:
-+ resendlink = request.page.url(request, querystr={
-+ 'action': 'newaccount',
-+ 'i': userid,
-+ 'resend': '1'})
-+ return _('This user name already belongs to somebody else. If this is a new account'
-+ ' and you need another verification link, try <a href="%s">'
-+ 'sending another one</a>. ' % resendlink)
-+ else:
-+ return _("This user name already belongs to somebody else.")
-
- # try to get the password and pw repeat
-@@ -73,16 +105,39 @@
- theuser.email = email.strip()
- if not theuser.email and 'email' not in request.cfg.user_form_remove:
-- return _("Please provide your email address. If you lose your"
-- " login information, you can get it by email.")
-+ if request.cfg.require_email_verification:
-+ return _("Please provide your email address. You will need it"
-+ " to be able to confirm your registration.")
-+ else:
-+ return _("Please provide your email address. If you lose your"
-+ " login information, you can get it by email.")
-
- # Email should be unique - see also MoinMoin/script/accounts/moin_usercheck.py
- if theuser.email and request.cfg.user_email_unique:
-- if user.get_by_email_address(request, theuser.email):
-- return _("This email already belongs to somebody else.")
-+ emailuser = user.get_by_email_address(request, theuser.email)
-+ if emailuser:
-+ if request.cfg.require_email_verification and theuser.account_verification:
-+ resendlink = request.page.url(request, querystr={
-+ 'action': 'newaccount',
-+ 'i': emailuser.id,
-+ 'resend': '1'})
-+ return _('This email already belongs to somebody else. If this is a new account'
-+ ' and you need another verification link, try <a href="%s">'
-+ 'sending another one</a>. ' % resendlink)
-+ else:
-+ return _("This email already belongs to somebody else.")
-+
-+ # Send verification links if desired
-+ if request.cfg.require_email_verification:
-+ mailok, msg = _send_verification_mail(request, theuser)
-+ if mailok:
-+ result = _("User account created! Use the link in your email (%s) to verify your account"
-+ " then you will be able to use this account to login..." % theuser.email)
-+ else:
-+ request.theme.add_msg(_("Unable to send verification mail, %s. Account creation aborted." % msg), "error")
-+ else:
-+ result = _("User account created! You can use this account to login now...")
-
- # save data
- theuser.save()
--
-- result = _("User account created! You can use this account to login now...")
- return result
-
-@@ -171,7 +226,18 @@
- submitted = form.has_key('create')
-
-+ uid = request.values.get('i', None)
-+ resend = request.values.get('resend', None)
-+
- if submitted: # user pressed create button
- request.theme.add_msg(_create_user(request), "dialog")
- return page.send_page()
-+ if resend and uid:
-+ theuser = user.User(request, id=uid)
-+ mailok, msg = _send_verification_mail(request, theuser)
-+ if mailok:
-+ request.theme.add_msg(_("Verification message re-sent to %s" % theuser.email), "dialog")
-+ else:
-+ request.theme.add_msg(_("Unable to re-send verification message, %s" % msg), "dialog")
-+ return page.send_page()
- else: # show create form
- request.theme.send_title(_("Create Account"), pagename=pagename)
---- ./MoinMoin/action/verifyaccount.py 1969-12-31 16:00:00.000000000 -0800
-+++ ./MoinMoin/action/verifyaccount.py 2016-01-15 13:53:33.209957000 -0800
-@@ -0,0 +1,64 @@
-+# -*- coding: iso-8859-1 -*-
-+"""
-+ MoinMoin - verify account action
-+
-+ @copyright: 2012 Steve McIntyre
-+ @license: GNU GPL, see COPYING for details.
-+"""
-+
-+from MoinMoin import user, wikiutil
-+from MoinMoin.Page import Page
-+from MoinMoin.widget import html
-+from MoinMoin.auth import MoinAuth
-+
-+def execute(pagename, request):
-+ found = False
-+ for auth in request.cfg.auth:
-+ if isinstance(auth, MoinAuth):
-+ found = True
-+ break
-+
-+ if not found:
-+ # we will not have linked, so forbid access
-+ request.makeForbidden(403, 'No MoinAuth in auth list')
-+ return
-+
-+ page = Page(request, "FrontPage")
-+ _ = request.getText
-+
-+ if not request.cfg.require_email_verification:
-+ result = _("Verification not configured!")
-+ request.theme.add_msg(result, "error")
-+ return page.send_page()
-+
-+ uid = request.values.get('i', None)
-+ verify = request.values.get('v', None)
-+
-+ # Grab user profile
-+ theuser = user.User(request, id=uid)
-+
-+ # Compare the verification code
-+ if not theuser.valid:
-+ result = _("Unable to verify user account i=%s v=%s") % (uid, verify)
-+ request.theme.add_msg(result, "error")
-+ return page.send_page()
-+
-+ if not theuser.account_verification:
-+ result = _("User account has been verified!")
-+ request.theme.add_msg(result, "error")
-+ return page.send_page()
-+
-+ if theuser.account_verification != verify:
-+ result = _("Unable to verify user account i=%s v=%s") % (uid, verify)
-+ request.theme.add_msg(result, "error")
-+ return page.send_page()
-+
-+ # All looks sane. Mark verification as done, save data
-+ theuser.account_verification = ""
-+ theuser.save()
-+
-+ loginlink = request.page.url(request, querystr={'action': 'login'})
-+ result = _('User account verified! You can use this account to <a href="%s">login</a> now...' % loginlink)
-+ request.theme.add_msg(result, "dialog")
-+ return page.send_page()
-+
---- ./MoinMoin/auth/__init__.py 2014-10-17 12:45:32.000000000 -0700
-+++ ./MoinMoin/auth/__init__.py 2016-01-15 13:53:33.210285000 -0800
-@@ -250,6 +250,13 @@
- check_surge_protect(request, action='auth-name', username=username)
-
-- u = user.User(request, name=username, password=password, auth_method=self.name)
-+ u = user.User(request, name=username, password=password, auth_method=self.name)
- if u.valid:
-+ try:
-+ verification = u.account_verification
-+ except:
-+ verification = False
-+ if request.cfg.require_email_verification and verification:
-+ logging.debug("%s: could not authenticate user %r (not verified yet)" % (self.name, username))
-+ return ContinueLogin(user_obj, _("User account not verified yet."))
- logging.debug("%s: successfully authenticated user %r (valid)" % (self.name, u.name))
- log_attempt("auth/login (moin)", True, request, username)
---- ./MoinMoin/config/multiconfig.py 2014-10-17 12:45:32.000000000 -0700
-+++ ./MoinMoin/config/multiconfig.py 2016-01-15 13:53:33.210918000 -0800
-@@ -1097,4 +1097,6 @@
- ('userprefs_disabled', [],
- "Disable the listed user preferences plugins."),
-+ ('require_email_verification', False ,
-+ "Require verification of new user accounts."),
- )),
- # ==========================================================================
---- ./MoinMoin/user.py 2014-10-17 12:45:32.000000000 -0700
-+++ ./MoinMoin/user.py 2016-01-15 13:53:33.211435000 -0800
-@@ -24,4 +24,5 @@
- from copy import deepcopy
- import md5crypt
-+import uuid
-
- try:
-@@ -523,4 +524,10 @@
- if password is not None:
- self.enc_password = encodePassword(self._cfg, password)
-+ self.account_creation_date = str(time.time())
-+ self.account_creation_host = self._request.remote_addr
-+ if self._cfg.require_email_verification:
-+ self.account_verification = uuid.uuid4()
-+ else:
-+ self.account_verification = ""
-
- # "may" so we can say "if user.may.read(pagename):"
-
diff --git a/www/moinmoin/files/patch-setup.cfg b/www/moinmoin/files/patch-setup.cfg
deleted file mode 100644
index 3255dbcefa1c..000000000000
--- a/www/moinmoin/files/patch-setup.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
---- setup.cfg.orig 2018-09-09 18:10:20 UTC
-+++ setup.cfg
-@@ -1,6 +1,6 @@
- # MoinMoin - Distutils config
- #
--# Copyright (c) 2001 by Jürgen Hermann <jh@web.de>
-+# Copyright (c) 2001 by Jurgen Hermann <jh@web.de>
- # All rights reserved, see COPYING for details.
-
- [bdist_rpm]
diff --git a/www/moinmoin/files/patch-setup.py b/www/moinmoin/files/patch-setup.py
deleted file mode 100644
index 18960d14d2ca..000000000000
--- a/www/moinmoin/files/patch-setup.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- setup.py.orig 2016-10-31 20:44:02 UTC
-+++ setup.py
-@@ -26,6 +26,7 @@ def isbad(name):
- return (name.startswith('.') or
- name.startswith('#') or
- name.endswith('.pickle') or
-+ name.endswith('.orig') or
- name == 'CVS')
-
- def isgood(name):
diff --git a/www/moinmoin/files/pkg-install.in b/www/moinmoin/files/pkg-install.in
deleted file mode 100644
index 601cf963bff0..000000000000
--- a/www/moinmoin/files/pkg-install.in
+++ /dev/null
@@ -1,148 +0,0 @@
-#! /bin/sh
-
-destdir=%%MOINDEST%%
-htdocs=%%HTDOCS%%
-moinver=%%MOINVER%%
-
-case "x$2" in
-
-"xINSTANCE")
-
- echo "************************************************************"
-
- case "x$3" in
-
- "xMOD_PYTHON")
-
- echo "Since you chose MOINTYPE=MOD_PYTHON, you may want to"
- echo "add something like that to your Apache configuration."
- echo ""
- echo ",-----"
- echo " Alias /moin_static$moinver/ \"$htdocs/\""
- echo " <Directory \"$htdocs/\">"
- echo " Order deny,allow"
- echo " Allow from all"
- echo " </Directory>"
- echo " Alias /mywiki $destdir"
- echo " <Location \"/mywiki\">"
- echo " SetHandler python-program"
- echo " PythonPath \"['$destdir'] + sys.path\""
- echo " PythonHandler MoinMoin.request.request_modpython::Request.run"
- echo " PythonAutoReload On"
- echo " PythonDebug On"
- echo " </Location>"
- echo "\`-----"
- echo ""
-
- ;;
-
- "xCGI")
-
- echo "Since you chose MOINTYPE=CGI, you may want to"
- echo "add something like that to your Apache configuration."
- echo ""
-
- echo ",-----"
- echo " Alias /moin_static$moinver/ \"$htdocs/\""
- echo " <Directory \"$htdocs/\">"
- echo " Order deny,allow"
- echo " Allow from all"
- echo " </Directory>"
- echo " ScriptAlias /mywiki \"$destdir/moin.cgi\""
- echo " <Directory \"$destdir/\">"
- echo " Order deny,allow"
- echo " Allow from all"
- echo " </Directory>"
- echo "\`-----"
- echo ""
-
- ;;
-
- "xWSGI")
-
- echo "Since you chose MOINTYPE=WSGI, you should "
- echo "add something like that to your Apache configuration."
- echo ""
-
- echo ",-----"
- echo " Alias /moin_static$moinver/ \"$htdocs/\""
- echo " <Directory \"$htdocs/\">"
- echo " Order deny,allow"
- echo " Allow from all"
- echo " </Directory>"
- echo " WSGIScriptAlias /mywiki \"$destdir/moin.wsgi\""
- echo "#If you use HTTP authorization enable the following also"
- echo "#WSGIPassAuthorization On"
- echo " <Directory \"$destdir/\">"
- echo " Order deny,allow"
- echo " Allow from all"
- echo " </Directory>"
- echo "\`-----"
- echo ""
-
- ;;
-
- *)
-
- ;;
-
- esac
-
- echo "You may need to modify wikiconfig.py in your wiki instance"
- echo "directory (eg. $destdir)."
- echo ""
- echo "If you want to install additional wiki instances"
- echo "call 'make instance' with appriopriate arguments."
- echo "E.g.: make MOINTYPE=FCGI MOINDEST=%%PREFIX%%/www/wiki instance"
- echo "************************************************************"
-
- ;;
-
-"xPOST-INSTALL")
-
- echo "************************************************************"
- echo "Important: You have currently no wiki instance installed."
- echo ""
- echo "If you're installing from ports, just run 'make instance'"
- echo "with appriopriate arguments."
- echo "eg. make MOINTYPE=FCGI MOINDEST=%%PREFIX%%/www/wiki instance"
- echo ""
- echo "If you're installing from package, run these commands."
- echo ""
- echo "# Choose here one script depending on the type of wiki you"
- echo "# want : moin.py (standalone), moin.fcg (FCGI), moin.wsgi (WSGI) or moin.cgi."
- echo 'export MOINSCRIPT="moin.cgi"'
- echo '# Defaults should be fine but you may want to modify these.'
- echo 'export MOINDIR="%%MOINDIR%%"'
- echo 'export MOINDEST="%%MOINDEST%%"'
- echo '# Set this to your apache user and group.'
- echo 'export CGIUSER="www"'
- echo 'export CGIGROUP="www"'
- echo ''
- echo 'mkdir -p ${MOINDEST}/data'
- echo 'mkdir -p ${MOINDEST}/underlay'
- echo 'cp -R ${MOINDIR}/data ${MOINDEST}'
- echo 'cp -R ${MOINDIR}/underlay ${MOINDEST}'
- echo 'chmod -R u+rw,go-ws ${MOINDEST}/data'
- echo 'install -m 0555 ${MOINDIR}/config/wikiconfig.py ${MOINDEST}'
- echo 'test -z "${MOINSCRIPT}" || \'
- echo ' install -m 0555 ${MOINDIR}/server/${MOINSCRIPT} ${MOINDEST}'
- echo 'chown -R ${CGIUSER}:${CGIGROUP} ${MOINDEST}'
- echo ""
- echo "Note: export might not work with your shell, use"
- echo "# setenv VAR 'value' instead"
- echo "************************************************************"
-
- ;;
-
-"xDEINSTALL")
-
- echo "************************************************************"
- echo "All shared files have been removed."
- echo "To complete deinstallation, please remove all the wiki"
- echo "instances you have created."
- echo "************************************************************"
-
- ;;
-
-esac
diff --git a/www/moinmoin/pkg-descr b/www/moinmoin/pkg-descr
deleted file mode 100644
index 74c680a3560f..000000000000
--- a/www/moinmoin/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-MoinMoin is a Python clone of WikiWiki, which is a composition system;
-it's a discussion medium; it's a repository; it's a mail system;
-it's a tool for collaboration.
-
-WWW: https://moinmo.in/
diff --git a/www/moinmoin/pkg-plist b/www/moinmoin/pkg-plist
deleted file mode 100644
index 8f4683a0fa18..000000000000
--- a/www/moinmoin/pkg-plist
+++ /dev/null
@@ -1,3555 +0,0 @@
-bin/moin
-%%PYTHON_SITELIBDIR%%/MoinMoin/Page.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/Page.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/Page.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageEditor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageEditor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageEditor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageGraphicalEditor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageGraphicalEditor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/PageGraphicalEditor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/_template.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/_template.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/_template.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/AttachFile.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/AttachFile.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/AttachFile.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/CopyPage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/CopyPage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/CopyPage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/DeletePage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/DeletePage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/DeletePage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Despam.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Despam.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Despam.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LikePages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LikePages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LikePages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Load.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Load.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Load.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LocalSiteMap.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LocalSiteMap.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/LocalSiteMap.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/MyPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/MyPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/MyPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/PackagePages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/PackagePages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/PackagePages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenamePage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenamePage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenamePage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenderAsDocbook.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenderAsDocbook.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/RenderAsDocbook.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Save.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Save.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/Save.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SlideShow.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SlideShow.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SlideShow.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SpellCheck.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SpellCheck.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SpellCheck.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SubscribeUser.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SubscribeUser.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SubscribeUser.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SyncPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SyncPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/SyncPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/anywikidraw.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/anywikidraw.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/anywikidraw.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/backup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/backup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/backup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/bookmark.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/bookmark.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/bookmark.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/cache.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/cache.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/cache.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/chart.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/chart.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/chart.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/diff.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/diff.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/diff.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/edit.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/edit.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/edit.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fckdialog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fckdialog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fckdialog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fullsearch.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fullsearch.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/fullsearch.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/info.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/info.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/info.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/language_setup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/language_setup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/language_setup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/links.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/links.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/links.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/login.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/login.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/login.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/logout.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/logout.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/logout.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newaccount.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newaccount.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newaccount.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newpage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newpage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/newpage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/pollsistersites.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/pollsistersites.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/pollsistersites.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quicklink.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quicklink.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quicklink.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quickunlink.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quickunlink.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/quickunlink.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/recoverpass.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/recoverpass.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/recoverpass.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/refresh.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/refresh.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/refresh.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/revert.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/revert.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/revert.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/rss_rc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/rss_rc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/rss_rc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/serveopenid.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/serveopenid.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/serveopenid.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/showtags.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/showtags.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/showtags.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sisterpages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sisterpages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sisterpages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sitemap.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sitemap.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/sitemap.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/subscribe.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/subscribe.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/subscribe.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/supplementation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/supplementation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/supplementation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/thread_monitor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/thread_monitor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/thread_monitor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/titleindex.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/titleindex.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/titleindex.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/twikidraw.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/twikidraw.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/twikidraw.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/unsubscribe.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/unsubscribe.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/unsubscribe.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprefs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprefs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprefs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprofile.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprofile.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/action/userprofile.pyo
-%%VERIFYEMAIL%%%%PYTHON_SITELIBDIR%%/MoinMoin/action/verifyaccount.py
-%%VERIFYEMAIL%%%%PYTHON_SITELIBDIR%%/MoinMoin/action/verifyaccount.pyc
-%%VERIFYEMAIL%%%%PYTHON_SITELIBDIR%%/MoinMoin/action/verifyaccount.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/_PHPsessionParser.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/_PHPsessionParser.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/_PHPsessionParser.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/botbouncer.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/botbouncer.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/botbouncer.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/cas.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/cas.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/cas.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/http.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/http.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/http.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/interwiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/interwiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/interwiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/ldap_login.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/ldap_login.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/ldap_login.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/log.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/log.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/log.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/mysql_group.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/mysql_group.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/mysql_group.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_sreg.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_sreg.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_sreg.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_teams.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_teams.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/openidrp_ext/openidrp_teams.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/php_session.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/php_session.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/php_session.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/smb_mount.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/smb_mount.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/smb_mount.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/sslclientcert.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/sslclientcert.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/auth/sslclientcert.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/caching.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/caching.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/caching.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/multiconfig.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/multiconfig.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/config/multiconfig.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/conftest.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/conftest.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/conftest.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/text_html_text_moin_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/text_html_text_moin_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/converter/text_html_text_moin_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_dicts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_dicts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_dicts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_groups.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_groups.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/composite_groups.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_dicts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_dicts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_dicts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_groups.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_groups.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_groups.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_lazy_groups.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_lazy_groups.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/config_lazy_groups.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_dicts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_dicts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_dicts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_groups.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_groups.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/datastruct/backends/wiki_groups.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/error.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/error.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/error.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/emailnotify.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/emailnotify.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/emailnotify.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/jabbernotify.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/jabbernotify.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/jabbernotify.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/notification.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/notification.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/notification.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/xapian_index.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/xapian_index.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/events/xapian_index.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/EXIF.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/EXIF.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/EXIF.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_msword.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_msword.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_msword.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_octet_stream.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_octet_stream.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_octet_stream.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_pdf.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_pdf.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_pdf.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_excel.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_excel.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_excel.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_powerpoint.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_powerpoint.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_ms_powerpoint.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_presentation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_presentation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_presentation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_spreadsheet.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_spreadsheet.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_spreadsheet.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_text.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_text.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_oasis_opendocument_text.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_calc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_calc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_calc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_writer.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_writer.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/application_vnd_sun_xml_writer.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/audio.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/audio.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/audio.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image_jpeg.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image_jpeg.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/image_jpeg.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_rtf.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_rtf.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_rtf.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_xml.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_xml.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/text_xml.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/video.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/video.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/filter/video.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/dom_xml.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/dom_xml.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/dom_xml.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/groups.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/groups.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/groups.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/pagelinks.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/pagelinks.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/pagelinks.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_docbook.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_docbook.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_docbook.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_gedit.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_gedit.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_gedit.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html_percent.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html_percent.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_html_percent.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_plain.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_plain.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_plain.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_python.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_python.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_python.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_xml.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_xml.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/formatter/text_xml.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/Makefile
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/MoinMoin.pot
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/README
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ar.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/bg.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ca.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/cs.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/da.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/de.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/el.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/en.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/es.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/fa.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/fi.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/fr.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/gl.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/he.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/hi.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/hr.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/hu.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/id.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/it.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ja.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/jabberbot/JabberBot.pot
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/jabberbot/Makefile
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/jabberbot/pl.JabberBot.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ko.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ku.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/lt.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/lv.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/mk.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/mn.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/msgfmt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/msgfmt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/msgfmt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/nb.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/nl.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/pl.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/pt-br.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/pt.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ro.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/ru.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/sk.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/sl.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/sr.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/strings.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/strings.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/strings.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/sv.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/check_i18n.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/check_i18n.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/check_i18n.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/mail_i18n-maintainers.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/mail_i18n-maintainers2.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/markup15to16.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/markup15to16.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/markup15to16.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/mk_POTFILES.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/mk_POTFILES.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/mk_POTFILES.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/po2wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/po2wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/po2wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/prepend.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/prepend.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/prepend.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/recode.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/recode.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/recode.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/wiki2po.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/wiki2po.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tools/wiki2po.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/tr.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/uk.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/vi.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/zh-tw.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/i18n/zh.MoinMoin.po
-%%PYTHON_SITELIBDIR%%/MoinMoin/log.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/log.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/log.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/editlog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/editlog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/editlog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/eventlog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/eventlog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/logfile/eventlog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AbandonedPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AbandonedPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AbandonedPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Action.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Action.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Action.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AdvancedSearch.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AdvancedSearch.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AdvancedSearch.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachInfo.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachInfo.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachInfo.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachList.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachList.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/AttachList.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/BR.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/BR.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/BR.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditTemplates.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditTemplates.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditTemplates.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditedSystemPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditedSystemPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EditedSystemPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EmbedObject.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EmbedObject.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/EmbedObject.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FootNote.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FootNote.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FootNote.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearch.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearch.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearch.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearchCached.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearchCached.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/FullSearchCached.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText2.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText2.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/GetText2.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/HighlighterList.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/HighlighterList.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/HighlighterList.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Hits.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Hits.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Hits.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Include.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Include.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Include.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/InterWiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/InterWiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/InterWiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/LikePages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/LikePages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/LikePages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/MonthCalendar.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/MonthCalendar.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/MonthCalendar.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Navigation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Navigation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Navigation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/NewPage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/NewPage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/NewPage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/OrphanedPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/OrphanedPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/OrphanedPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageCount.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageCount.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageCount.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageHits.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageHits.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageHits.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageList.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageList.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageList.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageSize.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageSize.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/PageSize.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomPage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomPage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomPage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomQuote.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomQuote.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RandomQuote.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RecentChanges.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RecentChanges.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/RecentChanges.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/ShowSmileys.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/ShowSmileys.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/ShowSmileys.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/StatsChart.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/StatsChart.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/StatsChart.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemAdmin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemAdmin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemAdmin.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemInfo.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemInfo.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/SystemInfo.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TableOfContents.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TableOfContents.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TableOfContents.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TeudView.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TeudView.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/TeudView.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Verbatim.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Verbatim.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/Verbatim.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WantedPages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WantedPages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WantedPages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfig.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfig.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfig.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfigHelp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfigHelp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/WikiConfigHelp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/macro/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/mailimport.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/mailimport.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/mailimport.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/sendmail.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/sendmail.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/mail/sendmail.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/multiconfig.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/multiconfig.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/multiconfig.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/packages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/packages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/packages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_ParserBase.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_ParserBase.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_ParserBase.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_creole.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_creole.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/_creole.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/highlight.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/highlight.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/highlight.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_cplusplus.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_cplusplus.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_cplusplus.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_creole.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_creole.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_creole.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_csv.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_csv.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_csv.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_diff.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_diff.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_diff.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_docbook.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_docbook.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_docbook.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_irssi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_irssi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_irssi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_java.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_java.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_java.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_moin_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_moin_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_moin_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_pascal.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_pascal.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_pascal.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_python.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_python.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_python.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_rst.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_rst.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_rst.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_xslt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_xslt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/parser/text_xslt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/check.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/check.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/check.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/create.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/create.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/create.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/disable.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/disable.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/disable.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/homepage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/homepage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/homepage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/inactive.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/inactive.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/inactive.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/resetpw.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/resetpw.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/account/resetpw.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/show.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/show.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/cli/show.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/dump.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/dump.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/dump.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/eventlog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/eventlog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/eventlog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/package.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/package.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/export/package.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/irclog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/irclog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/irclog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/wikipage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/wikipage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/import/wikipage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/build.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/build.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/index/build.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleancache.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleancache.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleancache.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleanpage.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleanpage.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleanpage.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleansessions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleansessions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/cleansessions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/globaledit.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/globaledit.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/globaledit.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mailtranslators.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mailtranslators.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mailtranslators.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/makecache.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/makecache.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/makecache.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mkpagepacks.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mkpagepacks.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/mkpagepacks.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/reducewiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/reducewiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/maint/reducewiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050301.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050301.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050301.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050400.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050400.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050400.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050500.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050500.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050500.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050600.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050600.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050600.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050700.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050700.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050700.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050800.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050800.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1050800.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059997.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059997.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059997.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059998.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059998.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059998.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059999.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059999.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1059999.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060000.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060000.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060000.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060100.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060100.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060100.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060200.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060200.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060200.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060400.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060400.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060400.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060500.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060500.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060500.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060600.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060600.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060600.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060700.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060700.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060700.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060800.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060800.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060800.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060900.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060900.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1060900.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1069999.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1069999.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1069999.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070000.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070000.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070000.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070100.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070100.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070100.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070200.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070200.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070200.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1070300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080000.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080000.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080000.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080100.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080100.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080100.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080200.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080200.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080200.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080400.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080400.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080400.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080500.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080500.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080500.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080600.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080600.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080600.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080700.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080700.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080700.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080800.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080800.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080800.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080900.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080900.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1080900.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1089999.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1089999.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1089999.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090000.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090000.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090000.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090100.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090100.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090100.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090200.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090200.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090200.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090400.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090400.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090400.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090500.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090500.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090500.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090600.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090600.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090600.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090700.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090700.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090700.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090800.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090800.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090800.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090900.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090900.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1090900.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1091000.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1091000.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/1091000.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/_conv160a_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/data.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/data.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/data.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/migutil.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/migutil.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/migutil.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin158_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin158_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin158_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin160a_wiki.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin160a_wiki.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/text_moin160a_wiki.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/wikiutil160a.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/wikiutil160a.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/migration/wikiutil160a.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/moin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/moin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/moin.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig01.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig01.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig01.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig02.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig02.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig02.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig03.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig03.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig03.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig04.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig04.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig04.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig05.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig05.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig05.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig06.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig06.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig06.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig07.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig07.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig07.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig08.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig08.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig08.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig09.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig09.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig09.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig10.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig10.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig10.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig11.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig11.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/12_to_13_mig11.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/152_to_1050300.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/152_to_1050300.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/152_to_1050300.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/migration/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/print_stats.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/print_stats.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/print_stats.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/repair_language.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/repair_language.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/repair_language.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/HelloWorld.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/HelloWorld.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/HelloWorld.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/UpdateGroupTest.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/UpdateGroupTest.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/UpdateGroupTest.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/old/xmlrpc-tools/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/standalone.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/standalone.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/server/standalone.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/mailimport.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/mailimport.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/mailimport.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/remote.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/remote.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/remote.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/retrieve.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/retrieve.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/retrieve.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/write.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/write.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/script/xmlrpc/write.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/indexing.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/indexing.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/indexing.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/search.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/search.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/search.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/tokenizer.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/tokenizer.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/Xapian/tokenizer.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/builtin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/builtin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/builtin.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/expressions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/expressions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/queryparser/expressions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/results.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/results.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/search/results.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/antispam.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/antispam.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/antispam.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/autoadmin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/autoadmin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/autoadmin.pyo
-%%RECAPTCHA%%%%PYTHON_SITELIBDIR%%/MoinMoin/security/sec_recaptcha.py
-%%RECAPTCHA%%%%PYTHON_SITELIBDIR%%/MoinMoin/security/sec_recaptcha.pyc
-%%RECAPTCHA%%%%PYTHON_SITELIBDIR%%/MoinMoin/security/sec_recaptcha.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/textcha.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/textcha.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/security/textcha.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/chart.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/chart.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/chart.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/hitcounts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/hitcounts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/hitcounts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/languages.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/languages.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/languages.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/pagesize.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/pagesize.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/pagesize.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/useragents.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/useragents.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/stats/useragents.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/BasicAuthTransport.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/BasicAuthTransport.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/BasicAuthTransport.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/fcgi_app.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/fcgi_app.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/fcgi_app.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/scgi_app.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/scgi_app.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/client/scgi_app.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_base.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_base.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_base.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_fork.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_fork.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/ajp_fork.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/cgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/cgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/cgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_base.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_base.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_base.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_fork.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_fork.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_fork.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_single.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_single.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/fcgi_single.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/paste_factory.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/paste_factory.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/paste_factory.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/preforkserver.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/preforkserver.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/preforkserver.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_base.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_base.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_base.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_fork.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_fork.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/scgi_fork.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/singleserver.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/singleserver.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/singleserver.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadedserver.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadedserver.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadedserver.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadpool.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadpool.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/flup/server/threadpool.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/htmlmarkup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/htmlmarkup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/htmlmarkup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/md5crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/md5crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/md5crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/context.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/context.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/context.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/parsedatetime.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/parsedatetime.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/parsedatetime.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/base.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/base.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/base.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/de_DE.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/de_DE.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/de_DE.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_AU.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_AU.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_AU.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_US.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_US.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/en_US.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/es.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/es.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/es.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/fr_FR.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/fr_FR.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/fr_FR.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/icu.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/icu.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/icu.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/nl_NL.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/nl_NL.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/nl_NL.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/pt_BR.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/pt_BR.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/pt_BR.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/ru_RU.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/ru_RU.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/pdt_locales/ru_RU.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/warns.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/warns.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/parsedatetime/warns.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/stamp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/stamp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/_setup/stamp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apache.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apache.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apache.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apps.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apps.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/apps.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/context.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/context.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/context.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/exc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/exc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/exc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/models.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/models.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/models.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/utils.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/utils.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ext/django/utils.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/argon2.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/argon2.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/argon2.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/bcrypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/bcrypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/bcrypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/cisco.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/cisco.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/cisco.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/des_crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/des_crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/des_crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/digests.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/digests.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/digests.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/django.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/django.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/django.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/fshp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/fshp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/fshp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/ldap_digests.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/ldap_digests.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/ldap_digests.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/md5_crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/md5_crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/md5_crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/misc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/misc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/misc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mssql.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mssql.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mssql.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mysql.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mysql.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/mysql.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/oracle.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/oracle.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/oracle.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/pbkdf2.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/pbkdf2.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/pbkdf2.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/phpass.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/phpass.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/phpass.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/postgres.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/postgres.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/postgres.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/roundup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/roundup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/roundup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scram.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scram.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scram.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scrypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scrypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/scrypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha1_crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha1_crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha1_crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha2_crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha2_crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sha2_crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sun_md5_crypt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sun_md5_crypt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/sun_md5_crypt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/windows.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/windows.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/handlers/windows.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hash.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hash.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hash.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hosts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hosts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/hosts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ifc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ifc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/ifc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/pwd.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/pwd.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/pwd.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/registry.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/registry.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/registry.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/totp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/totp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/totp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/binary.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/binary.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/binary.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/_ordered_dict.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/_ordered_dict.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/compat/_ordered_dict.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/decor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/decor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/decor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/des.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/des.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/des.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/handlers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/handlers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/handlers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/md4.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/md4.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/md4.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/pbkdf2.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/pbkdf2.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/utils/pbkdf2.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/win32.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/win32.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/passlib/win32.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/cmdline.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/cmdline.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/cmdline.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/console.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/console.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/console.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filter.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filter.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filter.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filters/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filters/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/filters/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatter.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatter.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatter.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/_mapping.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/_mapping.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/_mapping.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/bbcode.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/bbcode.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/bbcode.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/img.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/img.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/img.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/irc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/irc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/irc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/latex.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/latex.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/latex.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/other.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/other.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/other.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/rtf.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/rtf.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/rtf.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/svg.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/svg.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/svg.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal256.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal256.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/formatters/terminal256.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexer.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexer.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexer.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_asy_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_asy_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_asy_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cl_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cl_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cl_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cocoa_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cocoa_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_cocoa_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_csound_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_csound_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_csound_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lasso_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lasso_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lasso_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lua_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lua_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_lua_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mapping.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mapping.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mapping.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mql_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mql_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_mql_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_openedge_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_openedge_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_openedge_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_php_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_php_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_php_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_postgres_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_postgres_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_postgres_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_scilab_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_scilab_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_scilab_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_sourcemod_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_sourcemod_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_sourcemod_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_stan_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_stan_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_stan_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_vim_builtins.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_vim_builtins.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/_vim_builtins.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/actionscript.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/actionscript.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/actionscript.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/agile.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/agile.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/agile.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/algebra.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/algebra.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/algebra.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ambient.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ambient.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ambient.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/apl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/apl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/apl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/archetype.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/archetype.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/archetype.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/asm.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/asm.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/asm.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/automation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/automation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/automation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/basic.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/basic.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/basic.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/business.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/business.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/business.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_cpp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_cpp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_cpp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_like.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_like.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/c_like.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/chapel.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/chapel.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/chapel.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/compiled.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/compiled.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/compiled.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/configs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/configs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/configs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/console.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/console.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/console.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/csound.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/csound.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/csound.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/css.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/css.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/css.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/d.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/d.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/d.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dalvik.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dalvik.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dalvik.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/data.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/data.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/data.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/diff.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/diff.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/diff.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dotnet.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dotnet.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dotnet.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dsls.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dsls.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dsls.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dylan.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dylan.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/dylan.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ecl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ecl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ecl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/eiffel.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/eiffel.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/eiffel.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/elm.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/elm.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/elm.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/erlang.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/erlang.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/erlang.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/esoteric.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/esoteric.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/esoteric.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ezhil.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ezhil.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ezhil.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/factor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/factor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/factor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fantom.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fantom.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fantom.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/felix.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/felix.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/felix.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fortran.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fortran.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/fortran.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/foxpro.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/foxpro.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/foxpro.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/functional.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/functional.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/functional.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/go.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/go.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/go.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/grammar_notation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/grammar_notation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/grammar_notation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graph.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graph.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graph.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graphics.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graphics.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/graphics.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haskell.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haskell.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haskell.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haxe.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haxe.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/haxe.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hdl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hdl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hdl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hexdump.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hexdump.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/hexdump.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/idl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/idl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/idl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/igor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/igor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/igor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/inferno.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/inferno.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/inferno.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/installers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/installers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/installers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/int_fiction.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/int_fiction.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/int_fiction.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/iolang.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/iolang.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/iolang.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/j.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/j.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/j.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/javascript.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/javascript.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/javascript.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/julia.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/julia.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/julia.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/jvm.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/jvm.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/jvm.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/lisp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/lisp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/lisp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/make.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/make.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/make.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/markup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/markup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/markup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/math.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/math.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/math.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/matlab.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/matlab.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/matlab.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ml.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ml.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ml.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modeling.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modeling.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modeling.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modula2.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modula2.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/modula2.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nimrod.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nimrod.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nimrod.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nit.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nit.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nit.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nix.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nix.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/nix.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/oberon.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/oberon.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/oberon.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/objective.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/objective.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/objective.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ooc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ooc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ooc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/other.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/other.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/other.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parasail.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parasail.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parasail.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parsers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parsers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/parsers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pascal.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pascal.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pascal.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pawn.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pawn.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/pawn.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/perl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/perl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/perl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/php.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/php.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/php.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/praat.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/praat.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/praat.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/prolog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/prolog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/prolog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/python.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/python.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/python.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/qvt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/qvt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/qvt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/r.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/r.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/r.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rdf.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rdf.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rdf.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rebol.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rebol.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rebol.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/resource.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/resource.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/resource.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/roboconf.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/roboconf.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/roboconf.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/robotframework.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/robotframework.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/robotframework.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ruby.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ruby.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/ruby.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rust.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rust.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/rust.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/scripting.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/scripting.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/scripting.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/shell.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/shell.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/shell.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/smalltalk.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/smalltalk.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/smalltalk.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/snobol.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/snobol.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/snobol.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/special.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/special.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/special.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/sql.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/sql.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/sql.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/supercollider.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/supercollider.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/supercollider.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/tcl.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/tcl.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/tcl.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/templates.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/templates.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/templates.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/testing.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/testing.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/testing.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/text.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/text.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/text.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textedit.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textedit.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textedit.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textfmts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textfmts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/textfmts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/theorem.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/theorem.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/theorem.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/trafficscript.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/trafficscript.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/trafficscript.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/urbi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/urbi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/urbi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/web.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/web.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/web.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/webmisc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/webmisc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/webmisc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/x10.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/x10.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/lexers/x10.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/modeline.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/modeline.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/modeline.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/plugin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/plugin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/plugin.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/regexopt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/regexopt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/regexopt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/scanner.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/scanner.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/scanner.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/sphinxext.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/sphinxext.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/sphinxext.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/style.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/style.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/style.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol_nu.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol_nu.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/algol_nu.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/arduino.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/arduino.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/arduino.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/autumn.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/autumn.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/autumn.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/borland.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/borland.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/borland.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/bw.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/bw.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/bw.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/colorful.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/colorful.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/colorful.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/default.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/default.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/default.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/emacs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/emacs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/emacs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/friendly.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/friendly.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/friendly.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/fruity.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/fruity.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/fruity.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/igor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/igor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/igor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/lovelace.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/lovelace.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/lovelace.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/manni.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/manni.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/manni.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/monokai.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/monokai.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/monokai.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/murphy.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/murphy.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/murphy.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/native.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/native.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/native.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_dark.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_dark.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_dark.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_light.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_light.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/paraiso_light.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/pastie.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/pastie.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/pastie.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/perldoc.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/perldoc.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/perldoc.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/rrt.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/rrt.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/rrt.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/tango.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/tango.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/tango.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/trac.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/trac.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/trac.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vim.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vim.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vim.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/vs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/xcode.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/xcode.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/styles/xcode.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/token.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/token.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/token.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/unistring.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/unistring.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/unistring.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/util.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/util.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/pygments/util.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/python_compatibility.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/python_compatibility.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/python_compatibility.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_compat.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_compat.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_compat.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_internal.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_internal.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_internal.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_reloader.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_reloader.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/_reloader.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/atom.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/atom.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/atom.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/cache.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/cache.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/cache.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/fixers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/fixers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/fixers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/iterio.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/iterio.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/iterio.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/jsrouting.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/jsrouting.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/jsrouting.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/limiter.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/limiter.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/limiter.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/lint.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/lint.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/lint.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/profiler.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/profiler.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/profiler.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/securecookie.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/securecookie.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/securecookie.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/sessions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/sessions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/sessions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/testtools.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/testtools.pyc
-@comment %%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/testtools.pycj
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/testtools.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/wrappers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/wrappers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/contrib/wrappers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/datastructures.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/datastructures.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/datastructures.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/console.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/console.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/console.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/repr.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/repr.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/repr.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/tbtools.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/tbtools.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/debug/tbtools.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/exceptions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/exceptions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/exceptions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/filesystem.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/filesystem.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/filesystem.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/formparser.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/formparser.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/formparser.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/http.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/http.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/http.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/local.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/local.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/local.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/posixemulation.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/posixemulation.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/posixemulation.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/routing.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/routing.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/routing.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/security.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/security.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/security.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/serving.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/serving.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/serving.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/test.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/test.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/test.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/testapp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/testapp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/testapp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/urls.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/urls.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/urls.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/useragents.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/useragents.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/useragents.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/utils.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/utils.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/utils.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wrappers.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wrappers.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wrappers.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wsgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wsgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/werkzeug/wsgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/_checkxapian.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/_checkxapian.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/_checkxapian.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/datastructures.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/datastructures.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/datastructures.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/errors.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/errors.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/errors.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldactions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldactions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldactions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldmappings.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldmappings.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/fieldmappings.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/highlight.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/highlight.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/highlight.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/indexerconnection.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/indexerconnection.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/indexerconnection.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/marshall.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/marshall.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/marshall.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/memutils.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/memutils.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/memutils.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/parsedate.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/parsedate.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/parsedate.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/replaylog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/replaylog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/replaylog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/schema.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/schema.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/schema.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/searchconnection.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/searchconnection.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/support/xappy/searchconnection.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/classic.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/classic.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/classic.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modern.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modern.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modern.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized_cms.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized_cms.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/modernized_cms.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/rightsidebar.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/rightsidebar.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/theme/rightsidebar.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/user.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/user.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/user.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/admin.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/admin.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/admin.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/login.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/login.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userform/login.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/changepass.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/changepass.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/changepass.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/notification.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/notification.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/notification.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oid.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oid.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oid.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oidserv.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oidserv.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/oidserv.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/prefs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/prefs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/prefs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/suid.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/suid.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/userprefs/suid.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/SubProcess.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/SubProcess.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/SubProcess.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/abuse.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/abuse.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/abuse.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/bdiff.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/bdiff.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/bdiff.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes_create.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes_create.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/chartypes_create.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/clock.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/clock.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/clock.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/daemon.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/daemon.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/daemon.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/dataset.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/dataset.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/dataset.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff3.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff3.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff3.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_text.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_text.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/diff_text.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/filesys.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/filesys.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/filesys.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/lock.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/lock.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/lock.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/moinoid.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/moinoid.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/moinoid.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/profile.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/profile.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/profile.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/pysupport.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/pysupport.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/pysupport.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/rpc_aggregator.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/rpc_aggregator.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/rpc_aggregator.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/thread_monitor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/thread_monitor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/thread_monitor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/timefuncs.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/timefuncs.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/timefuncs.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/web.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/web.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/util/web.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/version.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/version.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/version.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/_fallback_cgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/_fallback_cgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/_fallback_cgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/contexts.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/contexts.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/contexts.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/exceptions.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/exceptions.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/exceptions.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/flup_frontend.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/flup_frontend.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/flup_frontend.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/frontend.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/frontend.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/frontend.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/profile.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/profile.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/profile.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/request.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/request.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/request.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/serving.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/serving.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/serving.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/session.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/session.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/session.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/_documentation.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/_upgrade.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/_whatsnew_history.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckcontextmenu.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdataprocessor.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrange_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckdomrangeiterator.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckeditingarea.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckelementpath.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckenterkey.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckevents.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckhtmliterator.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckicon.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckiecleanup.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckimagepreloader.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckkeystrokehandler.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublock.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenublockpanel.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckmenuitem.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckpanel.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckspecialcombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckstyle.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbar.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbutton.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckw3crange.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/classes/fckxml_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fck_othercommands.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckfitwindow.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckindentcommands.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcklistcommands.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckshowblocks.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fckstylecommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktablecommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckconstants.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckeditorapi.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckjscoreextensions.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/fckscriptloader.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_contextmenu.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fck_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckbrowserinfo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcodeformatter.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckcommands.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckconfig.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdebug_empty.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdialog.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdocumentprocessor.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckdomtools.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklisthandler.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklistslib.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckplugins.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckregexlib.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckscayt.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckselection_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckstyles.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktablehandler_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbaritems.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktoolbarset.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcktools_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckundo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckurlparams.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtml_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fckxhtmlentities.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/behaviors/disablehandles.htc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/behaviors/showtableborders.htc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_editorarea.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_internal.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/fck_showtableborders_gecko.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_address.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_blockquote.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_div.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h1.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h4.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h5.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_h6.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_p.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/block_pre.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/fck_anchor.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/fck_flashlogo.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/fck_hiddenfield.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/fck_pagebreak.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/css/images/fck_plugin.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/fck_dialog_common.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/images/locked.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/images/reset.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/common/images/unlocked.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about/logo_fckeditor.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about/logo_fredck.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_anchor.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_button.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_checkbox.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_colorselector.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_div.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_form.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_hiddenfield.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_image/fck_image_preview.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_link/fck_link.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_listprop.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_paste.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_radiobutton.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_replace.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_scayt/scayt_dialog.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_select/fck_select.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_smiley.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_source.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_specialchar.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_table.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_tablecell.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/template1.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/template2.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_template/images/template3.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textarea.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dialog/fck_textfield.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_dtd_test.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10strict.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/dtd/fck_xhtml10transitional.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdebug.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckdialog.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/fckeditor.original.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/browser.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmactualfolder.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmcreatefolder.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmfolders.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourceslist.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmresourcetype.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/frmupload.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/ButtonArrow.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/Folder.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/Folder32.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/FolderOpened.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/FolderOpened32.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/FolderUp.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/ai.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/avi.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/cs.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/dll.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/doc.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/exe.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/fla.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/gif.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/htm.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/html.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/js.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/png.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/swf.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/swt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/txt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/xls.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/xml.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/32/zip.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/ai.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/avi.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/bmp.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/cs.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/default.icon.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/dll.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/doc.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/exe.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/fla.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/gif.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/htm.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/html.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/jpg.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/js.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/mdb.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/mp3.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/pdf.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/png.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/ppt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/rdp.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/swf.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/swt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/txt.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/vsd.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/xls.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/xml.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/icons/zip.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/images/spacer.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/common.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/browser/default/js/fckxml.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/basexml.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/class_upload.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/commands.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/config.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/connector.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/io.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/upload.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/asp/util.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/config.ascx
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/connector.aspx
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/aspx/upload.aspx
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/ImageObject.cfc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_commands.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_connector.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_io.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_upload.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/cf_util.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/config.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/connector.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/image.cfc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/config.lasso
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/connector.lasso
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/lasso/upload.lasso
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/basexml.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/commands.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/config.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/connector.cgi
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/io.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload.cgi
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/upload_fck.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/perl/util.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/basexml.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/commands.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/config.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/connector.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/io.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/phpcompat.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/upload.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/php/util.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/config.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/connector.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckcommands.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckconnector.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckoutput.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/fckutil.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/htaccess.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/upload.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/wsgi.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/py/zope.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/test.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/filemanager/connectors/uploadtest.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/anchor.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/arrow_ltr.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/arrow_rtl.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/angel_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/angry_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/broken_heart.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/cake.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/confused_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/cry_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/devil_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/embaressed_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/envelope.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/heart.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/kiss.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/lightbulb.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/omg_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/regular_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/sad_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/shades_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/teeth_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/thumbs_down.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/thumbs_up.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/tounge_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/smiley/msn/wink_smile.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/images/spacer.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckadobeair.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_gecko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/js/fckeditorcode_ie.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/_translationstatus.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/af.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ar.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bg.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bn.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/bs.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ca.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/cs.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/da.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/de.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/el.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-au.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-ca.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en-uk.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/en.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/eo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/es.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/et.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/eu.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fa.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fi.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fo.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fr-ca.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/fr.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/gl.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/gu.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/he.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hi.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hr.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/hu.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/is.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/it.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ja.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/km.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ko.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/lt.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/lv.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/mn.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ms.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/nb.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/nl.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/no.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pl.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pt-br.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/pt.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ro.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/ru.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sk.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sl.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sr-latn.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sr.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/sv.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/th.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/tr.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/uk.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/vi.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/zh-cn.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/lang/zh.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/autogrow/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/_sample/sample.config.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/_sample/sample.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/bbcode/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/dragresizetable/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/fck_placeholder.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/de.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/en.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/es.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/fr.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/it.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/lang/pl.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/placeholder/placeholder.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/simplecommands/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/plugins/tablecommands/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/_fckviewstrips.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_dialog.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_dialog_ie6.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_editor.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/fck_strip.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/dialog.sides.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/dialog.sides.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/dialog.sides.rtl.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/sprites.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/sprites.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.arrowright.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.buttonarrow.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.collapse.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.end.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.expand.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.separator.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/default/images/toolbar.start.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_dialog.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_dialog_ie6.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_editor.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/fck_strip.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/dialog.sides.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/dialog.sides.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/dialog.sides.rtl.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/sprites.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/sprites.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.arrowright.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.bg.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.collapse.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.end.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.expand.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.separator.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/office2003/images/toolbar.start.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_dialog.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_dialog_ie6.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_editor.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/fck_strip.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/dialog.sides.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/dialog.sides.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/dialog.sides.rtl.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/sprites.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/sprites.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.arrowright.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.buttonarrow.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.buttonbg.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.collapse.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.end.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.expand.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.separator.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/skins/silver/images/toolbar.start.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/ciframe.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/tmpFrameset.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/editor/wsc/w.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckconfig.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.afp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.asp
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.cfc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.lasso
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.pl
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor_php4.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckeditor_php5.php
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckpackager.xml
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckstyles.xml
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fcktemplates.xml
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/fckutils.cfm
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/FCKeditor/license.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/TWikiDrawPlugin/README
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/TWikiDrawPlugin/twikidraw.jar
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/anywikidraw/README
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/anywikidraw/lib/AnyWikiDrawForMoinMoin.jar
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/anywikidraw/lib/Splash.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/macro/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/macro/lang/en.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/macro/lang/it.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/macro/macro.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinattachment/attachment.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinattachment/fck_attachment.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinattachment/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinbehaviour/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinformat/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinimage/fck_image.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinimage/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinlink/fck_link.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinlink/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinunlink/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/moinurllib.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/placeholder/fck_placeholder.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/placeholder/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/placeholder/lang/en.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/placeholder/lang/it.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/placeholder/placeholder.gif
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/restrict_actions/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/selection/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/smiley/fck_smiley.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/smiley/fckplugin.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinFCKplugins/smiley/smile.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinfckconfig.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/applets/moinfckstyles.xml
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/css/common.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/css/msie.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/css/print.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/css/projection.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/css/screen.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/PythonPowered.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/alert.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/angry.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/attention.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/biggrin.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/checkmark.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/devil.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/draft.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/frown.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/icon-error.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/icon-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/idea.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-bottom.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-conflict.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-deleted.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-diff.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-edit.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-email.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-ftp.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-help.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-home.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-icon.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-inter.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-new.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-news.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-parent.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-print.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-raw.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-renamed.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-rss.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-search.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-show.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-subscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-telnet.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-top.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-unsubscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-updated.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-www.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-xml.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/moin-xml2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/ohwell.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/prio1.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/prio2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/prio3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/redface.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/sad.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/smile.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/smile2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/smile3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/smile4.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/star_off.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/star_on.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/thumbs-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/tired.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/classic/img/tongue.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/js/common.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/js/countdown.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/js/infobox.js
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/moindude.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/moinmoin.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/moinmoin_alpha.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/common/openid.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/favicon.ico
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/index.html
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/css/common.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/css/msie.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/css/print.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/css/projection.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/css/screen.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/PythonPowered.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/admon-caution.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/admon-important.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/admon-note.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/admon-tip.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/admon-warning.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/alert.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/angry.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/attention.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/biggrin.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/checkmark.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/devil.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/draft.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/frown.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/icon-error.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/icon-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/idea.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-bottom.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-conflict.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-deleted.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-diff.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-edit.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-email.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-ftp.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-help.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-home.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-icon.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-inter.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-new.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-news.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-parent.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-print.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-raw.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-renamed.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-rss.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-search.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-show.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-subscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-telnet.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-top.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-unsubscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-updated.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-www.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-xml.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/moin-xml2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/ohwell.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/prio1.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/prio2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/prio3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/redface.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/sad.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/smile.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/smile2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/smile3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/smile4.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/star_off.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/star_on.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/thumbs-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/tired.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modern/img/tongue.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/SlideShow.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/common.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/msie.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/print.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/projection.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/css/screen.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/PythonPowered.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/admon-caution.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/admon-important.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/admon-note.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/admon-tip.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/admon-warning.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/alert.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/angry.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/attention.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/biggrin.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/checkmark.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/devil.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/draft.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/frown.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/icon-error.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/icon-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/idea.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-action.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-bottom.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-conflict.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-deleted.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-diff.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-download.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-edit.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-email.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-ftp.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-help.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-home.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-icon.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-inter.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-jabber.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-new.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-news.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-parent.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-print.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-raw.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-readonly.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-renamed.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-rss.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-search.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-show.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-subscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-telnet.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-top.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-unsubscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-updated.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/moin-www.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/ohwell.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/prio1.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/prio2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/prio3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/redface.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/sad.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/smile.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/smile2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/smile3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/smile4.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/star_off.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/star_on.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/thumbs-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/tired.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/modernized/img/tongue.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/css/common.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/css/msie.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/css/print.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/css/projection.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/css/screen.css
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/PythonPowered.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/alert.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/angry.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/attention.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/biggrin.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/checkmark.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/devil.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/draft.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/frown.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/icon-error.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/icon-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/idea.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/logout.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-attach.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-bottom.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-conflict.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-deleted.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-diff.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-edit.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-email.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-ftp.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-help.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-home.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-icon.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-info.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-inter.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-new.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-news.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-parent.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-print.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-raw.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-renamed.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-rss.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-search.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-show.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-subscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-telnet.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-top.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-unsubscribe.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-updated.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-www.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-xml.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/moin-xml2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/ohwell.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/prio1.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/prio2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/prio3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/redface.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/sad.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/smile.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/smile2.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/smile3.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/smile4.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/star_off.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/star_on.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/thumbs-up.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/tired.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/rightsidebar/img/tongue.png
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/static/htdocs/robots.txt
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/utils.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/utils.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/web/utils.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/base.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/base.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/base.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/browser.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/browser.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/browser.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/dialog.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/dialog.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/dialog.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/html.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/html.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/widget/html.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikisync.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikisync.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikisync.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikiutil.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikiutil.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikiutil.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/marshal.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/marshal.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/marshal.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/util.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/util.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wikixml/util.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/wsgiapp.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/wsgiapp.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/wsgiapp.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/HelloWorld.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/HelloWorld.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/HelloWorld.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/ProcessMail.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/ProcessMail.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/ProcessMail.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/RemoteScript.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/RemoteScript.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/RemoteScript.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/UpdateGroup.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/UpdateGroup.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/UpdateGroup.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/WhoAmI.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/WhoAmI.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/WhoAmI.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/__init__.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/__init__.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/__init__.pyo
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/putClientInfo.py
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/putClientInfo.pyc
-%%PYTHON_SITELIBDIR%%/MoinMoin/xmlrpc/putClientInfo.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/__init__.py
-%%PYTHON_SITELIBDIR%%/jabberbot/__init__.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/__init__.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/bot.py
-%%PYTHON_SITELIBDIR%%/jabberbot/bot.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/bot.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/capat.py
-%%PYTHON_SITELIBDIR%%/jabberbot/capat.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/capat.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/commands.py
-%%PYTHON_SITELIBDIR%%/jabberbot/commands.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/commands.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/config.py
-%%PYTHON_SITELIBDIR%%/jabberbot/config.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/config.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/i18n.py
-%%PYTHON_SITELIBDIR%%/jabberbot/i18n.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/i18n.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/oob.py
-%%PYTHON_SITELIBDIR%%/jabberbot/oob.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/oob.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/xmlrpcbot.py
-%%PYTHON_SITELIBDIR%%/jabberbot/xmlrpcbot.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/xmlrpcbot.pyo
-%%PYTHON_SITELIBDIR%%/jabberbot/xmppbot.py
-%%PYTHON_SITELIBDIR%%/jabberbot/xmppbot.pyc
-%%PYTHON_SITELIBDIR%%/jabberbot/xmppbot.pyo
-%%DATADIR%%/config/logging/README
-%%DATADIR%%/config/logging/abuse
-%%DATADIR%%/config/logging/logfile
-%%DATADIR%%/config/logging/logfile_debug_auth
-%%DATADIR%%/config/logging/stderr
-%%DATADIR%%/config/more_samples/README
-%%DATADIR%%/config/more_samples/auth_session_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/auth_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/dicts_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/groups_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/jabber_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/ldap_2servers_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/ldap_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/mail_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/mailimportconf.py
-%%DATADIR%%/config/more_samples/openid_sreg_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/openid_teams_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/secrets_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/security_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/smb_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/ui_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/user_wikiconfig_snippet
-%%DATADIR%%/config/more_samples/xapian_wikiconfig_snippet
-%%DATADIR%%/config/wikiconfig.py
-%%DATADIR%%/config/wikifarm/farmconfig.py
-%%DATADIR%%/config/wikifarm/mywiki.py
-%%DATADIR%%/data/cache/README
-%%DATADIR%%/data/dict/dummy_dict
-%%DATADIR%%/data/edit-log
-%%DATADIR%%/data/event-log
-%%DATADIR%%/data/intermap.txt
-%%DATADIR%%/data/meta
-%%DATADIR%%/data/pages/BadContent/current
-%%DATADIR%%/data/pages/BadContent/revisions/00000001
-%%DATADIR%%/data/plugin/__init__.py
-%%DATADIR%%/data/plugin/action/__init__.py
-%%DATADIR%%/data/plugin/converter/__init__.py
-%%DATADIR%%/data/plugin/events/__init__.py
-%%DATADIR%%/data/plugin/filter/__init__.py
-%%DATADIR%%/data/plugin/formatter/__init__.py
-%%DATADIR%%/data/plugin/macro/__init__.py
-%%DATADIR%%/data/plugin/parser/__init__.py
-%%DATADIR%%/data/plugin/theme/__init__.py
-%%DATADIR%%/data/plugin/userprefs/__init__.py
-%%DATADIR%%/data/plugin/xmlrpc/__init__.py
-%%DATADIR%%/data/user/README
-%%DATADIR%%/server/moin
-%%DATADIR%%/server/moin.ajp
-%%DATADIR%%/server/moin.cgi
-%%DATADIR%%/server/moin.fcgi
-%%DATADIR%%/server/moin.scgi
-%%DATADIR%%/server/moin.wsgi
-%%DATADIR%%/server/test.wsgi
-%%DATADIR%%/server/wikiserverconfig.py
-%%DATADIR%%/underlay/pages/BadContent/current
-%%DATADIR%%/underlay/pages/BadContent/revisions/00000001
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/00_needs_fixing.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Brazilian_Portuguese--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Bulgarian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Chinese_Taiwan--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Croatian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Czech--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Danish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Dutch--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--course_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--not_translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/English--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Finnish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/French--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Galician--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Galician--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Galician--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Galician--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Galician--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--course_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/German--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hebrew--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hebrew--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hebrew--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hebrew--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hebrew--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hindi--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hindi--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hindi--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hindi--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hindi--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Hungarian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Indonesian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--course_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Italian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Japanese--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Korean--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Latvian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Lithuanian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Mongolian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--course_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Norwegian_Bokmal--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Persian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Polish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Portuguese--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Romanian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--course_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Russian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Serbian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Simplified_Chinese--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--essential_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovak--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Slovenian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Spanish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--admin_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--all_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--essential_category_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Swedish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Turkish--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--all_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--all_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--all_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--all_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--essential_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--essential_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--essential_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--optional_help_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--optional_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--optional_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--optional_template_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/attachments/Ukrainian--translated_system_pages.zip
-%%DATADIR%%/underlay/pages/LanguageSetup/current
-%%DATADIR%%/underlay/pages/LanguageSetup/revisions/00000001
diff --git a/www/node10/Makefile b/www/node10/Makefile
deleted file mode 100644
index 17992d5c28e0..000000000000
--- a/www/node10/Makefile
+++ /dev/null
@@ -1,108 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= node
-PORTVERSION= 10.23.0
-DISTVERSIONPREFIX= v
-PORTREVISION= 1
-CATEGORIES= www
-MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/
-PKGNAMESUFFIX= 10
-
-MAINTAINER= bhughes@FreeBSD.org
-COMMENT= V8 JavaScript for client and server
-
-LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BROKEN_SSL= libressl libressl-devel
-BROKEN_SSL_REASON= Node.js 10.x LTS requires OpenSSL 1.1.x or the BUNDLED_SSL option enabled
-ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le
-
-OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS DTRACE
-OPTIONS_DEFAULT= DTRACE
-OPTIONS_DEFAULT_FreeBSD_11= BUNDLED_SSL
-OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}}
-OPTIONS_SUB= yes
-
-.if !exists(/usr/sbin/dtrace)
-OPTIONS_EXCLUDE+= DTRACE
-.endif
-
-OPTIONS_EXCLUDE_aarch64= DTRACE
-# dt_modtext:/usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(820): arm not implemented
-OPTIONS_EXCLUDE_armv6= DTRACE
-OPTIONS_EXCLUDE_armv7= DTRACE
-OPTIONS_EXCLUDE_powerpc64= DTRACE
-OPTIONS_EXCLUDE_powerpc64le= DTRACE
-
-BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation
-BUNDLED_SSL_USES_OFF= ssl
-BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl --openssl-use-def-ca-store
-BUNDLED_SSL_RUN_DEPENDS_OFF= ca_root_nss>=0:security/ca_root_nss
-
-NLS_CONFIGURE_ON= --with-intl=system-icu
-NLS_BUILD_DEPENDS= icu>=64.2:devel/icu
-NLS_LIB_DEPENDS= libicui18n.so:devel/icu
-
-DTRACE_CONFIGURE_ON= --with-dtrace
-
-USES= compiler:c++11-lib gmake python:2.7,build pkgconfig \
- localbase shebangfix
-
-HAS_CONFIGURE= yes
-
-CONFLICTS_INSTALL= node12-[0-9]* node14-[0-9]* node-[0-9]*
-
-CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \
- --without-npm \
- --shared-cares \
- --shared-libuv \
- --shared-nghttp2 \
- --shared-zlib
-
-SHEBANG_FILES= tools/specialize_node_d.py tools/genv8constants.py
-
-PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,}
-REINPLACE_ARGS= -i ''
-MAKE_ENV+= CC.host=${CC} CFLAGS.host="${CFLAGS}" \
- CXX.host=${CXX} CXXFLAGS.host="${CXXFLAGS}" \
- LINK.host=${CXX} LDFLAGS.host="${LDFLAGS}"
-
-BUILD_DEPENDS+= c-ares>=1.15.0:dns/c-ares\
- libuv>=1.34.2:devel/libuv \
- libnghttp2>=1.41.0:www/libnghttp2 \
- objdump:devel/binutils
-LIB_DEPENDS+= libcares.so:dns/c-ares\
- libuv.so:devel/libuv \
- libnghttp2.so:www/libnghttp2
-
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085
-BROKEN_SSL+= base
-.endif
-
-.if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64 && ${ARCH} != i386
-CONFIGURE_ARGS+=--openssl-no-asm
-.elif (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
- ${WRKSRC}/deps/v8/gypfiles/v8.gyp
-
-post-configure:
- # Post-process Makefile and *.mk files created by node-gyp and remove
- # all occurrences of -I${LOCALBASE}/include. C*FLAGS include this
- # before all -I../deps/* for bundled code. This can cause build
- # breakages if the dependency is installed in ${LOCALBASE}. The
- # USES+=localbase # above will ensure that we pick up includes for real
- # external dependencies.
- ${FIND} ${WRKSRC}/out -type f -print0 \
- | ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g"
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node
-
-.include <bsd.port.mk>
diff --git a/www/node10/distinfo b/www/node10/distinfo
deleted file mode 100644
index 59cc4fe970b3..000000000000
--- a/www/node10/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1603979909
-SHA256 (node-v10.23.0.tar.gz) = d93041d1d1e75cef6c562c29b63333b2f39a16de3cb0310b695130cea2ae7f27
-SIZE (node-v10.23.0.tar.gz) = 46560417
diff --git a/www/node10/files/extra-patch-common.gypi b/www/node10/files/extra-patch-common.gypi
deleted file mode 100644
index 8e817a2959c9..000000000000
--- a/www/node10/files/extra-patch-common.gypi
+++ /dev/null
@@ -1,13 +0,0 @@
---- common.gypi.orig 2019-10-01 15:32:40.000000000 +0200
-+++ common.gypi 2019-10-16 12:47:09.236138000 +0200
-@@ -390,8 +390,8 @@
- 'ldflags': [ '-m32' ],
- }],
- [ 'target_arch=="ppc64" and OS!="aix"', {
-- 'cflags': [ '-m64', '-mminimal-toc' ],
-- 'ldflags': [ '-m64' ],
-+ 'cflags': [ '-m64' ],
-+ 'ldflags': [ '-m64' ],
- }],
- [ 'target_arch=="s390x"', {
- 'cflags': [ '-m64', '-march=z196' ],
diff --git a/www/node10/files/patch-common.gypi b/www/node10/files/patch-common.gypi
deleted file mode 100644
index 3f24b48b797b..000000000000
--- a/www/node10/files/patch-common.gypi
+++ /dev/null
@@ -1,18 +0,0 @@
---- common.gypi.orig 2020-06-08 21:52:35 UTC
-+++ common.gypi
-@@ -509,15 +509,6 @@
- 'libraries': [ '-lelf' ],
- }],
- ['OS=="freebsd"', {
-- 'conditions': [
-- ['"0" < llvm_version < "4.0"', {
-- # Use this flag because on FreeBSD std::pairs copy constructor is non-trivial.
-- # Doesn't apply to llvm 4.0 (FreeBSD 11.1) or later.
-- # Refs: https://lists.freebsd.org/pipermail/freebsd-toolchain/2016-March/002094.html
-- # Refs: https://svnweb.freebsd.org/ports/head/www/node/Makefile?revision=444555&view=markup
-- 'cflags': [ '-D_LIBCPP_TRIVIAL_PAIR_COPY_CTOR=1' ],
-- }],
-- ],
- 'ldflags': [
- '-Wl,--export-dynamic',
- ],
diff --git a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl-cl.gypi b/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl-cl.gypi
deleted file mode 100644
index 814c284e473f..000000000000
--- a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl-cl.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi.orig 2020-06-02 14:43:34 UTC
-+++ deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi
-@@ -25,12 +25,11 @@
- ],
- 'openssl_cflags_linux-elf': [
- '-Wa,--noexecstack',
-- '-Wall -O3 -fomit-frame-pointer',
-+ '-Wall -O3',
- '-pthread',
-- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '',
- ],
- 'openssl_cli_srcs_linux-elf': [
- 'openssl/apps/asn1pars.c',
diff --git a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl.gypi b/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl.gypi
deleted file mode 100644
index a987849c6eec..000000000000
--- a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_asm_openssl.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/config/archs/linux-elf/asm/openssl.gypi.orig 2020-06-02 14:43:34 UTC
-+++ deps/openssl/config/archs/linux-elf/asm/openssl.gypi
-@@ -722,12 +722,11 @@
- ],
- 'openssl_cflags_linux-elf': [
- '-Wa,--noexecstack',
-- '-Wall -O3 -fomit-frame-pointer',
-+ '-Wall -O3',
- '-pthread',
-- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '',
- ],
- },
- 'include_dirs': [
diff --git a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi b/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi
deleted file mode 100644
index 061ff03fb028..000000000000
--- a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2019-05-28 21:32:15 UTC
-+++ deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi
-@@ -7,12 +7,11 @@
- 'OPENSSL_PIC',
- ],
- 'openssl_cflags_linux-elf': [
-- '-Wall -O3 -fomit-frame-pointer',
-+ '-Wall -O3',
- '-pthread',
-- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '',
- ],
- 'openssl_cli_srcs_linux-elf': [
- 'openssl/apps/asn1pars.c',
diff --git a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi b/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi
deleted file mode 100644
index f11e73db2996..000000000000
--- a/www/node10/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2019-05-29 20:16:06 UTC
-+++ deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi
-@@ -691,12 +691,11 @@
- 'OPENSSL_PIC',
- ],
- 'openssl_cflags_linux-elf': [
-- '-Wall -O3 -fomit-frame-pointer',
-+ '-Wall -O3',
- '-pthread',
-- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '',
- ],
- },
- 'include_dirs': [
diff --git a/www/node10/files/patch-deps_openssl_config_bn__conf__asm.h b/www/node10/files/patch-deps_openssl_config_bn__conf__asm.h
deleted file mode 100644
index 0d2a636e2676..000000000000
--- a/www/node10/files/patch-deps_openssl_config_bn__conf__asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/bn_conf_asm.h.orig 2018-05-11 12:01:43 UTC
-+++ deps/openssl/config/bn_conf_asm.h
-@@ -21,8 +21,8 @@
- # include "./archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h"
- #elif defined(_WIN32) && defined(_M_X64)
- # include "./archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/asm/crypto/include/internal/bn_conf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/asm/crypto/include/internal/bn_conf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_config_bn__conf__no-asm.h b/www/node10/files/patch-deps_openssl_config_bn__conf__no-asm.h
deleted file mode 100644
index 54910b76feb6..000000000000
--- a/www/node10/files/patch-deps_openssl_config_bn__conf__no-asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/bn_conf_no-asm.h.orig 2019-05-28 21:32:16 UTC
-+++ deps/openssl/config/bn_conf_no-asm.h
-@@ -23,8 +23,8 @@
- # include "./archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h"
- #elif defined(_WIN32) && defined(_M_ARM64)
- # include "./archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_config_dso__conf__asm.h b/www/node10/files/patch-deps_openssl_config_dso__conf__asm.h
deleted file mode 100644
index d5d0e9d9b4ea..000000000000
--- a/www/node10/files/patch-deps_openssl_config_dso__conf__asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/dso_conf_asm.h.orig 2018-05-11 12:02:07 UTC
-+++ deps/openssl/config/dso_conf_asm.h
-@@ -21,8 +21,8 @@
- # include "./archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h"
- #elif defined(_WIN32) && defined(_M_X64)
- # include "./archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/asm/crypto/include/internal/dso_conf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/asm/crypto/include/internal/dso_conf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_config_dso__conf__no-asm.h b/www/node10/files/patch-deps_openssl_config_dso__conf__no-asm.h
deleted file mode 100644
index d8b36237d51c..000000000000
--- a/www/node10/files/patch-deps_openssl_config_dso__conf__no-asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/dso_conf_no-asm.h.orig 2019-05-28 21:32:16 UTC
-+++ deps/openssl/config/dso_conf_no-asm.h
-@@ -23,8 +23,8 @@
- # include "./archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h"
- #elif defined(_WIN32) && defined(_M_ARM64)
- # include "./archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_config_opensslconf__asm.h b/www/node10/files/patch-deps_openssl_config_opensslconf__asm.h
deleted file mode 100644
index 814bd24dc300..000000000000
--- a/www/node10/files/patch-deps_openssl_config_opensslconf__asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/opensslconf_asm.h.orig 2018-05-11 11:27:00 UTC
-+++ deps/openssl/config/opensslconf_asm.h
-@@ -108,8 +108,8 @@
- # include "./archs/VC-WIN32/asm/include/openssl/opensslconf.h"
- #elif defined(_WIN32) && defined(_M_X64)
- # include "./archs/VC-WIN64A/asm/include/openssl/opensslconf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/asm/include/openssl/opensslconf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/asm/include/openssl/opensslconf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/asm/include/openssl/opensslconf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_config_opensslconf__no-asm.h b/www/node10/files/patch-deps_openssl_config_opensslconf__no-asm.h
deleted file mode 100644
index c6568e994ebe..000000000000
--- a/www/node10/files/patch-deps_openssl_config_opensslconf__no-asm.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- deps/openssl/config/opensslconf_no-asm.h.orig 2019-05-28 21:32:16 UTC
-+++ deps/openssl/config/opensslconf_no-asm.h
-@@ -18,8 +18,8 @@
- # include "./archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h"
- #elif defined(_WIN32) && defined(_M_ARM64)
- # include "./archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h"
--#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
--# include "./archs/BSD-x86/no-asm/include/openssl/opensslconf.h"
-+//#elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386__)
-+//# include "./archs/BSD-x86/no-asm/include/openssl/opensslconf.h"
- #elif (defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__x86_64__)
- # include "./archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h"
- #elif defined(__sun) && defined(__i386__)
diff --git a/www/node10/files/patch-deps_openssl_openssl-cl__no__asm.gypi b/www/node10/files/patch-deps_openssl_openssl-cl__no__asm.gypi
deleted file mode 100644
index 4026ea3d537f..000000000000
--- a/www/node10/files/patch-deps_openssl_openssl-cl__no__asm.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/openssl-cl_no_asm.gypi.orig 2019-07-31 17:44:59 UTC
-+++ deps/openssl/openssl-cl_no_asm.gypi
-@@ -1,4 +1,5 @@
- {
-+ 'defines': ['OPENSSL_NO_ASM'],
- 'conditions': [
- ['target_arch=="ppc" and OS=="aix"', {
- 'includes': ['config/archs/aix-gcc/no-asm/openssl-cl.gypi'],
-@@ -43,7 +44,7 @@
- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'],
- }, {
- # Other architectures don't use assembly
-- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'],
-+ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'],
- }],
- ],
- }
diff --git a/www/node10/files/patch-deps_openssl_openssl__no__asm.gypi b/www/node10/files/patch-deps_openssl_openssl__no__asm.gypi
deleted file mode 100644
index a8cb353e9aab..000000000000
--- a/www/node10/files/patch-deps_openssl_openssl__no__asm.gypi
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/openssl/openssl_no_asm.gypi.orig 2019-07-31 17:45:01 UTC
-+++ deps/openssl/openssl_no_asm.gypi
-@@ -44,7 +44,7 @@
- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'],
- }, {
- # Other architectures don't use assembly
-- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'],
-+ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'],
- }],
- ],
- }
diff --git a/www/node10/files/patch-deps_v8_src_arm_cpu-arm.cc b/www/node10/files/patch-deps_v8_src_arm_cpu-arm.cc
deleted file mode 100644
index ceafdbfaa376..000000000000
--- a/www/node10/files/patch-deps_v8_src_arm_cpu-arm.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- deps/v8/src/arm/cpu-arm.cc.orig 2018-08-15 13:53:24 UTC
-+++ deps/v8/src/arm/cpu-arm.cc
-@@ -7,6 +7,9 @@
- #ifdef __QNXNTO__
- #include <sys/mman.h> // for cache flushing.
- #undef MAP_TYPE
-+#elif defined(__FreeBSD__)
-+#include <sys/types.h>
-+#include <machine/sysarch.h> // for cache flushing.
- #else
- #include <sys/syscall.h> // for cache flushing.
- #endif
-@@ -24,6 +27,9 @@ void CpuFeatures::FlushICache(void* star
- #if !defined(USE_SIMULATOR)
- #if V8_OS_QNX
- msync(start, size, MS_SYNC | MS_INVALIDATE_ICACHE);
-+#elif defined(__FreeBSD__)
-+ struct arm_sync_icache_args args = { .addr = (uintptr_t)start, .len = size };
-+ sysarch(ARM_SYNC_ICACHE, (void *)&args);
- #else
- register uint32_t beg asm("r0") = reinterpret_cast<uint32_t>(start);
- register uint32_t end asm("r1") = beg + size;
diff --git a/www/node10/files/patch-deps_v8_src_base_platform_platform-freebsd.cc b/www/node10/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
deleted file mode 100644
index 2247e5ad98e1..000000000000
--- a/www/node10/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
+++ /dev/null
@@ -1,50 +0,0 @@
---- deps/v8/src/base/platform/platform-freebsd.cc.orig 2018-08-15 13:53:24 UTC
-+++ deps/v8/src/base/platform/platform-freebsd.cc
-@@ -86,5 +86,47 @@ std::vector<OS::SharedLibraryAddress> OS
-
- void OS::SignalCodeMovingGC() {}
-
-+#ifdef __arm__
-+
-+bool OS::ArmUsingHardFloat() {
-+// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
-+// the Floating Point ABI used (PCS stands for Procedure Call Standard).
-+// We use these as well as a couple of other defines to statically determine
-+// what FP ABI used.
-+// GCC versions 4.4 and below don't support hard-fp.
-+// GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
-+// __ARM_PCS_VFP.
-+
-+#define GCC_VERSION \
-+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40600 && !defined(__clang__)
-+#if defined(__ARM_PCS_VFP)
-+ return true;
-+#else
-+ return false;
-+#endif
-+
-+#elif GCC_VERSION < 40500 && !defined(__clang__)
-+ return false;
-+
-+#else
-+#if defined(__ARM_PCS_VFP)
-+ return true;
-+#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \
-+ !defined(__VFP_FP__)
-+ return false;
-+#else
-+#error \
-+ "Your version of compiler does not report the FP ABI compiled for." \
-+ "Please report it on this issue" \
-+ "http://code.google.com/p/v8/issues/detail?id=2140"
-+
-+#endif
-+#endif
-+#undef GCC_VERSION
-+}
-+
-+#endif // def __arm__
-+
- } // namespace base
- } // namespace v8
diff --git a/www/node10/files/patch-deps_v8_src_libsampler_sampler.cc b/www/node10/files/patch-deps_v8_src_libsampler_sampler.cc
deleted file mode 100644
index 1548b15aae4b..000000000000
--- a/www/node10/files/patch-deps_v8_src_libsampler_sampler.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- deps/v8/src/libsampler/sampler.cc.orig 2019-03-05 15:16:28 UTC
-+++ deps/v8/src/libsampler/sampler.cc
-@@ -550,9 +550,13 @@ void SignalHandler::FillRegisterState(void* context, R
- state->sp = reinterpret_cast<void*>(mcontext.mc_rsp);
- state->fp = reinterpret_cast<void*>(mcontext.mc_rbp);
- #elif V8_HOST_ARCH_ARM
-- state->pc = reinterpret_cast<void*>(mcontext.mc_r15);
-- state->sp = reinterpret_cast<void*>(mcontext.mc_r13);
-- state->fp = reinterpret_cast<void*>(mcontext.mc_r11);
-+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
-+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
-+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
-+#elif V8_TARGET_ARCH_PPC_BE
-+ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0);
-+ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]);
-+ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]);
- #endif // V8_HOST_ARCH_*
- #elif V8_OS_NETBSD
- #if V8_HOST_ARCH_IA32
diff --git a/www/node10/files/patch-icu68 b/www/node10/files/patch-icu68
deleted file mode 100644
index 69dbad34273e..000000000000
--- a/www/node10/files/patch-icu68
+++ /dev/null
@@ -1,109 +0,0 @@
-Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
-
-../deps/v8/src/objects/intl-objects.cc:246:22: error: use of undeclared identifier 'FALSE'
- FALSE, &status);
- ^
-../deps/v8/src/objects/intl-objects.cc:425:22: error: use of undeclared identifier 'FALSE'
- FALSE, &status);
- ^
-../deps/v8/src/objects/intl-objects.cc:660:22: error: use of undeclared identifier 'FALSE'
- FALSE, &status);
- ^
-../deps/v8/src/objects/intl-objects.cc:799:22: error: use of undeclared identifier 'FALSE'
- FALSE, &status);
- ^
-../deps/v8/src/runtime/runtime-intl.cc:88:66: error: use of undeclared identifier 'TRUE'
- uloc_toLanguageTag(icu_result, result, ULOC_FULLNAME_CAPACITY, TRUE, &error);
- ^
-../deps/v8/src/runtime/runtime-intl.cc:135:66: error: use of undeclared identifier 'FALSE'
- uloc_toLanguageTag(icu_name, result, ULOC_FULLNAME_CAPACITY, FALSE, &error);
- ^
-../deps/v8/src/runtime/runtime-intl.cc:167:22: error: use of undeclared identifier 'FALSE'
- FALSE, &status);
- ^
-../deps/v8/src/runtime/runtime-intl.cc:402:9: error: use of undeclared identifier 'FALSE'
- FALSE, GetUCharBufferFromFlat(flat1, &sap1, length1), length1);
- ^
-../deps/v8/src/runtime/runtime-intl.cc:404:9: error: use of undeclared identifier 'FALSE'
- FALSE, GetUCharBufferFromFlat(flat2, &sap2, length2), length2);
- ^
-
---- deps/v8/src/objects/intl-objects.cc.orig 2020-09-15 13:25:38 UTC
-+++ deps/v8/src/objects/intl-objects.cc
-@@ -243,7 +243,7 @@ void SetResolvedDateSettings(Isolate* isolate, const i
- char result[ULOC_FULLNAME_CAPACITY];
- status = U_ZERO_ERROR;
- uloc_toLanguageTag(icu_locale.getName(), result, ULOC_FULLNAME_CAPACITY,
-- FALSE, &status);
-+ false, &status);
- if (U_SUCCESS(status)) {
- JSObject::SetProperty(resolved, factory->NewStringFromStaticChars("locale"),
- factory->NewStringFromAsciiChecked(result),
-@@ -422,7 +422,7 @@ void SetResolvedNumericSettings(Isolate* isolate, cons
- char result[ULOC_FULLNAME_CAPACITY];
- UErrorCode status = U_ZERO_ERROR;
- uloc_toLanguageTag(icu_locale.getName(), result, ULOC_FULLNAME_CAPACITY,
-- FALSE, &status);
-+ false, &status);
- if (U_SUCCESS(status)) {
- JSObject::SetProperty(resolved, factory->NewStringFromStaticChars("locale"),
- factory->NewStringFromAsciiChecked(result),
-@@ -657,7 +657,7 @@ void SetResolvedCollatorSettings(Isolate* isolate,
- char result[ULOC_FULLNAME_CAPACITY];
- status = U_ZERO_ERROR;
- uloc_toLanguageTag(icu_locale.getName(), result, ULOC_FULLNAME_CAPACITY,
-- FALSE, &status);
-+ false, &status);
- if (U_SUCCESS(status)) {
- JSObject::SetProperty(resolved, factory->NewStringFromStaticChars("locale"),
- factory->NewStringFromAsciiChecked(result),
-@@ -796,7 +796,7 @@ void SetResolvedBreakIteratorSettings(Isolate* isolate
- char result[ULOC_FULLNAME_CAPACITY];
- status = U_ZERO_ERROR;
- uloc_toLanguageTag(icu_locale.getName(), result, ULOC_FULLNAME_CAPACITY,
-- FALSE, &status);
-+ false, &status);
- if (U_SUCCESS(status)) {
- JSObject::SetProperty(resolved, factory->NewStringFromStaticChars("locale"),
- factory->NewStringFromAsciiChecked(result),
---- deps/v8/src/runtime/runtime-intl.cc.orig 2020-09-15 13:25:38 UTC
-+++ deps/v8/src/runtime/runtime-intl.cc
-@@ -85,7 +85,7 @@ RUNTIME_FUNCTION(Runtime_CanonicalizeLanguageTag) {
- char result[ULOC_FULLNAME_CAPACITY];
-
- // Force strict BCP47 rules.
-- uloc_toLanguageTag(icu_result, result, ULOC_FULLNAME_CAPACITY, TRUE, &error);
-+ uloc_toLanguageTag(icu_result, result, ULOC_FULLNAME_CAPACITY, true, &error);
-
- if (U_FAILURE(error) || error == U_STRING_NOT_TERMINATED_WARNING) {
- return *factory->NewStringFromAsciiChecked(kInvalidTag);
-@@ -132,7 +132,7 @@ RUNTIME_FUNCTION(Runtime_AvailableLocalesOf) {
-
- error = U_ZERO_ERROR;
- // No need to force strict BCP47 rules.
-- uloc_toLanguageTag(icu_name, result, ULOC_FULLNAME_CAPACITY, FALSE, &error);
-+ uloc_toLanguageTag(icu_name, result, ULOC_FULLNAME_CAPACITY, false, &error);
- if (U_FAILURE(error) || error == U_STRING_NOT_TERMINATED_WARNING) {
- // This shouldn't happen, but lets not break the user.
- continue;
-@@ -164,7 +164,7 @@ RUNTIME_FUNCTION(Runtime_GetDefaultICULocale) {
- char result[ULOC_FULLNAME_CAPACITY];
- UErrorCode status = U_ZERO_ERROR;
- uloc_toLanguageTag(default_locale.getName(), result, ULOC_FULLNAME_CAPACITY,
-- FALSE, &status);
-+ false, &status);
- if (U_SUCCESS(status)) {
- return *factory->NewStringFromAsciiChecked(result);
- }
-@@ -399,9 +399,9 @@ RUNTIME_FUNCTION(Runtime_InternalCompare) {
- std::unique_ptr<uc16[]> sap1;
- std::unique_ptr<uc16[]> sap2;
- icu::UnicodeString string_val1(
-- FALSE, GetUCharBufferFromFlat(flat1, &sap1, length1), length1);
-+ false, GetUCharBufferFromFlat(flat1, &sap1, length1), length1);
- icu::UnicodeString string_val2(
-- FALSE, GetUCharBufferFromFlat(flat2, &sap2, length2), length2);
-+ false, GetUCharBufferFromFlat(flat2, &sap2, length2), length2);
- result = collator->compare(string_val1, string_val2, status);
- }
- if (U_FAILURE(status)) return isolate->ThrowIllegalOperation();
diff --git a/www/node10/files/patch-node.gypi b/www/node10/files/patch-node.gypi
deleted file mode 100644
index a28bd89c098d..000000000000
--- a/www/node10/files/patch-node.gypi
+++ /dev/null
@@ -1,12 +0,0 @@
---- node.gypi.orig 2019-07-31 17:45:05 UTC
-+++ node.gypi
-@@ -316,6 +316,9 @@
- ['openssl_fips != ""', {
- 'defines': [ 'NODE_FIPS_MODE' ],
- }],
-+ ['openssl_no_asm==1', {
-+ 'defines': [ 'OPENSSL_NO_ASM' ],
-+ }],
- [ 'node_shared_openssl=="false"', {
- 'dependencies': [
- './deps/openssl/openssl.gyp:openssl',
diff --git a/www/node10/pkg-descr b/www/node10/pkg-descr
deleted file mode 100644
index 76a5a3c0625d..000000000000
--- a/www/node10/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-Node.js is a JavaScript runtime built on Chrome's V8 JavaScript
-engine. Node.js uses an event-driven, non-blocking I/O model that
-makes it lightweight and efficient. Node.js' package ecosystem,
-npm, is the largest ecosystem of open source libraries in the world.
-
-WWW: https://nodejs.org/
diff --git a/www/node10/pkg-message b/www/node10/pkg-message
deleted file mode 100644
index ddea08386149..000000000000
--- a/www/node10/pkg-message
+++ /dev/null
@@ -1,7 +0,0 @@
-[
-{ type: install
- message: <<EOM
-Note: If you need npm (Node Package Manager), please install www/npm.
-EOM
-}
-]
diff --git a/www/node10/pkg-plist b/www/node10/pkg-plist
deleted file mode 100644
index e6fc5c48f1b3..000000000000
--- a/www/node10/pkg-plist
+++ /dev/null
@@ -1,431 +0,0 @@
-bin/node
-include/node/common.gypi
-include/node/config.gypi
-include/node/libplatform/libplatform.h
-include/node/libplatform/libplatform-export.h
-include/node/libplatform/v8-tracing.h
-include/node/node.h
-include/node/node_api.h
-include/node/node_api_types.h
-include/node/node_buffer.h
-include/node/node_object_wrap.h
-include/node/node_version.h
-%%BUNDLED_SSL%%include/node/openssl/aes.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/asn1.h
-%%BUNDLED_SSL%%include/node/openssl/asn1_mac.h
-%%BUNDLED_SSL%%include/node/openssl/asn1err.h
-%%BUNDLED_SSL%%include/node/openssl/asn1t.h
-%%BUNDLED_SSL%%include/node/openssl/async.h
-%%BUNDLED_SSL%%include/node/openssl/asyncerr.h
-%%BUNDLED_SSL%%include/node/openssl/bio.h
-%%BUNDLED_SSL%%include/node/openssl/bioerr.h
-%%BUNDLED_SSL%%include/node/openssl/blowfish.h
-%%BUNDLED_SSL%%include/node/openssl/bn.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/bnerr.h
-%%BUNDLED_SSL%%include/node/openssl/buffer.h
-%%BUNDLED_SSL%%include/node/openssl/buffererr.h
-%%BUNDLED_SSL%%include/node/openssl/camellia.h
-%%BUNDLED_SSL%%include/node/openssl/cast.h
-%%BUNDLED_SSL%%include/node/openssl/cmac.h
-%%BUNDLED_SSL%%include/node/openssl/cms.h
-%%BUNDLED_SSL%%include/node/openssl/cmserr.h
-%%BUNDLED_SSL%%include/node/openssl/comp.h
-%%BUNDLED_SSL%%include/node/openssl/comperr.h
-%%BUNDLED_SSL%%include/node/openssl/conf.h
-%%BUNDLED_SSL%%include/node/openssl/conf_api.h
-%%BUNDLED_SSL%%include/node/openssl/conferr.h
-%%BUNDLED_SSL%%include/node/openssl/crypto.h
-%%BUNDLED_SSL%%include/node/openssl/cryptoerr.h
-%%BUNDLED_SSL%%include/node/openssl/ct.h
-%%BUNDLED_SSL%%include/node/openssl/cterr.h
-%%BUNDLED_SSL%%include/node/openssl/des.h
-%%BUNDLED_SSL%%include/node/openssl/dh.h
-%%BUNDLED_SSL%%include/node/openssl/dherr.h
-%%BUNDLED_SSL%%include/node/openssl/dsa.h
-%%BUNDLED_SSL%%include/node/openssl/dsaerr.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/dtls1.h
-%%BUNDLED_SSL%%include/node/openssl/e_os2.h
-%%BUNDLED_SSL%%include/node/openssl/ebcdic.h
-%%BUNDLED_SSL%%include/node/openssl/ec.h
-%%BUNDLED_SSL%%include/node/openssl/ecdh.h
-%%BUNDLED_SSL%%include/node/openssl/ecdsa.h
-%%BUNDLED_SSL%%include/node/openssl/ecerr.h
-%%BUNDLED_SSL%%include/node/openssl/engine.h
-%%BUNDLED_SSL%%include/node/openssl/engineerr.h
-%%BUNDLED_SSL%%include/node/openssl/err.h
-%%BUNDLED_SSL%%include/node/openssl/evp.h
-%%BUNDLED_SSL%%include/node/openssl/evperr.h
-%%BUNDLED_SSL%%include/node/openssl/hmac.h
-%%BUNDLED_SSL%%include/node/openssl/idea.h
-%%BUNDLED_SSL%%include/node/openssl/kdf.h
-%%BUNDLED_SSL%%include/node/openssl/kdferr.h
-%%BUNDLED_SSL%%include/node/openssl/lhash.h
-%%BUNDLED_SSL%%include/node/openssl/md2.h
-%%BUNDLED_SSL%%include/node/openssl/md4.h
-%%BUNDLED_SSL%%include/node/openssl/md5.h
-%%BUNDLED_SSL%%include/node/openssl/mdc2.h
-%%BUNDLED_SSL%%include/node/openssl/modes.h
-%%BUNDLED_SSL%%include/node/openssl/obj_mac.h
-%%BUNDLED_SSL%%include/node/openssl/objects.h
-%%BUNDLED_SSL%%include/node/openssl/objectserr.h
-%%BUNDLED_SSL%%include/node/openssl/ocsp.h
-%%BUNDLED_SSL%%include/node/openssl/ocsperr.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/opensslv.h
-%%BUNDLED_SSL%%include/node/openssl/ossl_typ.h
-%%BUNDLED_SSL%%include/node/openssl/pem.h
-%%BUNDLED_SSL%%include/node/openssl/pem2.h
-%%BUNDLED_SSL%%include/node/openssl/pemerr.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs12.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs12err.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs7.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs7err.h
-%%BUNDLED_SSL%%include/node/openssl/rand.h
-%%BUNDLED_SSL%%include/node/openssl/rand_drbg.h
-%%BUNDLED_SSL%%include/node/openssl/randerr.h
-%%BUNDLED_SSL%%include/node/openssl/rc2.h
-%%BUNDLED_SSL%%include/node/openssl/rc4.h
-%%BUNDLED_SSL%%include/node/openssl/rc5.h
-%%BUNDLED_SSL%%include/node/openssl/ripemd.h
-%%BUNDLED_SSL%%include/node/openssl/rsa.h
-%%BUNDLED_SSL%%include/node/openssl/rsaerr.h
-%%BUNDLED_SSL%%include/node/openssl/safestack.h
-%%BUNDLED_SSL%%include/node/openssl/seed.h
-%%BUNDLED_SSL%%include/node/openssl/sha.h
-%%BUNDLED_SSL%%include/node/openssl/srp.h
-%%BUNDLED_SSL%%include/node/openssl/srtp.h
-%%BUNDLED_SSL%%include/node/openssl/ssl.h
-%%BUNDLED_SSL%%include/node/openssl/ssl2.h
-%%BUNDLED_SSL%%include/node/openssl/ssl3.h
-%%BUNDLED_SSL%%include/node/openssl/sslerr.h
-%%BUNDLED_SSL%%include/node/openssl/stack.h
-%%BUNDLED_SSL%%include/node/openssl/store.h
-%%BUNDLED_SSL%%include/node/openssl/storeerr.h
-%%BUNDLED_SSL%%include/node/openssl/symhacks.h
-%%BUNDLED_SSL%%include/node/openssl/tls1.h
-%%BUNDLED_SSL%%include/node/openssl/ts.h
-%%BUNDLED_SSL%%include/node/openssl/tserr.h
-%%BUNDLED_SSL%%include/node/openssl/txt_db.h
-%%BUNDLED_SSL%%include/node/openssl/ui.h
-%%BUNDLED_SSL%%include/node/openssl/uierr.h
-%%BUNDLED_SSL%%include/node/openssl/whrlpool.h
-%%BUNDLED_SSL%%include/node/openssl/x509.h
-%%BUNDLED_SSL%%include/node/openssl/x509_vfy.h
-%%BUNDLED_SSL%%include/node/openssl/x509err.h
-%%BUNDLED_SSL%%include/node/openssl/x509v3.h
-%%BUNDLED_SSL%%include/node/openssl/x509v3err.h
-include/node/v8-inspector-protocol.h
-include/node/v8-inspector.h
-include/node/v8-platform.h
-include/node/v8-profiler.h
-include/node/v8-testing.h
-include/node/v8-util.h
-include/node/v8-value-serializer-version.h
-include/node/v8-version.h
-include/node/v8-version-string.h
-include/node/v8.h
-include/node/v8config.h
-%%DTRACE%%lib/dtrace/node.d
-@(,,444) man/man1/node.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/gdbinit
-%%PORTDOCS%%%%DOCSDIR%%/lldb_commands.py
-%%PORTDOCS%%%%DOCSDIR%%/lldbinit
-share/systemtap/tapset/node.stp
diff --git a/www/node12/Makefile b/www/node12/Makefile
deleted file mode 100644
index a14c7e50a3f5..000000000000
--- a/www/node12/Makefile
+++ /dev/null
@@ -1,111 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= node
-PORTVERSION= 12.20.0
-DISTVERSIONPREFIX= v
-CATEGORIES= www
-MASTER_SITES= http://nodejs.org/dist/v${PORTVERSION}/
-PKGNAMESUFFIX= 12
-
-MAINTAINER= bhughes@FreeBSD.org
-COMMENT= V8 JavaScript for client and server
-
-LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BROKEN_SSL= libressl libressl-devel
-BROKEN_SSL_REASON= Node.js 12.x LTS requires OpenSSL 1.1.x or the BUNDLED_SSL option enabled
-ONLY_FOR_ARCHS= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le
-
-OPTIONS_DEFINE= BUNDLED_SSL DOCS NLS DTRACE
-OPTIONS_DEFAULT= DTRACE
-OPTIONS_DEFAULT_FreeBSD_11= BUNDLED_SSL
-OPTIONS_DEFAULT+= ${OPTIONS_DEFAULT_${OPSYS}_${OSREL:R}}
-OPTIONS_SUB= yes
-
-.if !exists(/usr/sbin/dtrace)
-OPTIONS_EXCLUDE+= DTRACE
-.endif
-
-OPTIONS_EXCLUDE_aarch64= DTRACE
-# dt_modtext:/usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c(820): arm not implemented
-OPTIONS_EXCLUDE_armv6= DTRACE
-OPTIONS_EXCLUDE_armv7= DTRACE
-OPTIONS_EXCLUDE_powerpc64= DTRACE
-OPTIONS_EXCLUDE_powerpc64le= DTRACE
-
-BUNDLED_SSL_DESC= Use node.js's bundled OpenSSL implementation
-BUNDLED_SSL_USES_OFF= ssl
-BUNDLED_SSL_CONFIGURE_OFF= --shared-openssl --openssl-use-def-ca-store
-BUNDLED_SSL_RUN_DEPENDS_OFF= ca_root_nss>=0:security/ca_root_nss
-
-NLS_CONFIGURE_ON= --with-intl=system-icu
-NLS_BUILD_DEPENDS= icu>=67.1:devel/icu
-NLS_LIB_DEPENDS= libicui18n.so:devel/icu
-
-DTRACE_CONFIGURE_ON= --with-dtrace
-
-USES= compiler:c++11-lib gmake python:2.7,build pkgconfig \
- localbase shebangfix
-
-HAS_CONFIGURE= yes
-
-CONFLICTS_INSTALL= node10-[0-9]* node14-[0-9]* node-[0-9]*
-
-CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \
- --without-npm \
- --shared-cares \
- --shared-libuv \
- --shared-nghttp2 \
- --shared-zlib
-
-SHEBANG_FILES= tools/specialize_node_d.py tools/genv8constants.py
-
-PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,}
-REINPLACE_ARGS= -i ''
-MAKE_ENV+= CC.host=${CC} CFLAGS.host="${CFLAGS}" \
- CXX.host=${CXX} CXXFLAGS.host="${CXXFLAGS}" \
- LINK.host=${CXX} LDFLAGS.host="${LDFLAGS}"
-
-BUILD_DEPENDS+= c-ares>=1.16.1:dns/c-ares \
- libuv>=1.40.0:devel/libuv \
- libnghttp2>=1.41.0:www/libnghttp2 \
- objdump:devel/binutils
-LIB_DEPENDS+= libcares.so:dns/c-ares\
- libuv.so:devel/libuv \
- libnghttp2.so:www/libnghttp2
-
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1200085
-BROKEN_SSL+= base
-.endif
-
-.if ${ARCH} == armv6 || ${ARCH} == armv7
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-tools_v8__gypfiles_v8.gyp
-.elif (defined(PPC_ABI) && ${PPC_ABI} == ELFv2) || ${ARCH} == powerpc64le
-EXTRA_PATCHES= ${PATCHDIR}/extra-patch-common.gypi
-.endif
-
-.if ${PORT_OPTIONS:MBUNDLED_SSL} && ${ARCH} != amd64
-CONFIGURE_ARGS+=--openssl-no-asm
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
- ${WRKSRC}/tools/v8_gypfiles/v8.gyp
-
-post-configure:
- # Post-process Makefile and *.mk files created by node-gyp and remove
- # all occurrences of -I${LOCALBASE}/include. C*FLAGS include this
- # before all -I../deps/* for bundled code. This can cause build
- # breakages if the dependency is installed in ${LOCALBASE}. The
- # USES+=localbase # above will ensure that we pick up includes for real
- # external dependencies.
- ${FIND} ${WRKSRC}/out -type f -print0 \
- | ${XARGS} -0 ${REINPLACE_CMD} -e "s|-I${LOCALBASE}/include||g"
-
-post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/node
-
-.include <bsd.port.mk>
diff --git a/www/node12/distinfo b/www/node12/distinfo
deleted file mode 100644
index 16457af7e4c4..000000000000
--- a/www/node12/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1606257052
-SHA256 (node-v12.20.0.tar.gz) = b91065ebe60981faa0e1f0a37d1788154141c710bb0521635a900895a7ce8dd8
-SIZE (node-v12.20.0.tar.gz) = 53497742
diff --git a/www/node12/files/extra-patch-common.gypi b/www/node12/files/extra-patch-common.gypi
deleted file mode 100644
index 8e817a2959c9..000000000000
--- a/www/node12/files/extra-patch-common.gypi
+++ /dev/null
@@ -1,13 +0,0 @@
---- common.gypi.orig 2019-10-01 15:32:40.000000000 +0200
-+++ common.gypi 2019-10-16 12:47:09.236138000 +0200
-@@ -390,8 +390,8 @@
- 'ldflags': [ '-m32' ],
- }],
- [ 'target_arch=="ppc64" and OS!="aix"', {
-- 'cflags': [ '-m64', '-mminimal-toc' ],
-- 'ldflags': [ '-m64' ],
-+ 'cflags': [ '-m64' ],
-+ 'ldflags': [ '-m64' ],
- }],
- [ 'target_arch=="s390x"', {
- 'cflags': [ '-m64', '-march=z196' ],
diff --git a/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp b/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp
deleted file mode 100644
index 56c68f309309..000000000000
--- a/www/node12/files/extra-patch-tools_v8__gypfiles_v8.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/v8_gypfiles/v8.gyp.orig 2020-04-25 08:58:14 UTC
-+++ tools/v8_gypfiles/v8.gyp
-@@ -809,7 +809,7 @@
- }],
- # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
- # to implement atomic memory access
-- ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc", "arm"]', {
-+ ['v8_current_cpu in ["mips", "mipsel", "mips64", "mips64el", "ppc"]', {
- 'link_settings': {
- 'libraries': ['-latomic', ],
- },
diff --git a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi
deleted file mode 100644
index aae558fe58db..000000000000
--- a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi.orig 2019-08-06 20:46:23 UTC
-+++ deps/openssl/config/archs/linux-elf/no-asm/openssl-cl.gypi
-@@ -12,7 +12,7 @@
- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '-pthread',
- ],
- 'openssl_cli_srcs_linux-elf': [
- 'openssl/apps/asn1pars.c',
diff --git a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi b/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi
deleted file mode 100644
index 552266b703f0..000000000000
--- a/www/node12/files/patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi.orig 2019-08-06 20:46:23 UTC
-+++ deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi
-@@ -696,7 +696,7 @@
- '-Wall -O3 -fomit-frame-pointer',
- ],
- 'openssl_ex_libs_linux-elf': [
-- '-ldl -pthread',
-+ '-pthread',
- ],
- },
- 'include_dirs': [
diff --git a/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi b/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi
deleted file mode 100644
index 5164a41cab19..000000000000
--- a/www/node12/files/patch-deps_openssl_openssl-cl__no__asm.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
---- deps/openssl/openssl-cl_no_asm.gypi.orig 2020-10-06 18:05:13 UTC
-+++ deps/openssl/openssl-cl_no_asm.gypi
-@@ -1,4 +1,5 @@
- {
-+ 'defines': ['OPENSSL_NO_ASM'],
- 'conditions': [
- ['target_arch=="ppc" and OS=="aix"', {
- 'includes': ['config/archs/aix-gcc/no-asm/openssl-cl.gypi'],
-@@ -47,7 +48,7 @@
- 'includes': ['config/archs/linux64-mips64/no-asm/openssl-cl.gypi'],
- }, {
- # Other architectures don't use assembly
-- 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'],
-+ 'includes': ['config/archs/linux-elf/no-asm/openssl-cl.gypi'],
- }],
- ],
- }
diff --git a/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi b/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi
deleted file mode 100644
index aba4a4ff4b66..000000000000
--- a/www/node12/files/patch-deps_openssl_openssl__no__asm.gypi
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/openssl/openssl_no_asm.gypi.orig 2020-10-06 18:05:13 UTC
-+++ deps/openssl/openssl_no_asm.gypi
-@@ -48,7 +48,7 @@
- 'includes': ['config/archs/linux64-mips64/no-asm/openssl.gypi'],
- }, {
- # Other architectures don't use assembly
-- 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'],
-+ 'includes': ['config/archs/linux-elf/no-asm/openssl.gypi'],
- }],
- ],
- }
diff --git a/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc b/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
deleted file mode 100644
index d1f61a84b37b..000000000000
--- a/www/node12/files/patch-deps_v8_src_base_platform_platform-freebsd.cc
+++ /dev/null
@@ -1,62 +0,0 @@
---- deps/v8/src/base/platform/platform-freebsd.cc.orig 2020-01-07 22:07:49 UTC
-+++ deps/v8/src/base/platform/platform-freebsd.cc
-@@ -81,8 +81,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
- lib_name = std::string(path);
- }
- result.push_back(SharedLibraryAddress(
-- lib_name, reinterpret_cast<uintptr_t>(map->kve_start),
-- reinterpret_cast<uintptr_t>(map->kve_end)));
-+ lib_name, static_cast<uintptr_t>(map->kve_start),
-+ static_cast<uintptr_t>(map->kve_end)));
- }
-
- start += ssize;
-@@ -93,6 +93,48 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib
- }
-
- void OS::SignalCodeMovingGC() {}
-+
-+#ifdef __arm__
-+
-+bool OS::ArmUsingHardFloat() {
-+// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
-+// the Floating Point ABI used (PCS stands for Procedure Call Standard).
-+// We use these as well as a couple of other defines to statically determine
-+// what FP ABI used.
-+// GCC versions 4.4 and below don't support hard-fp.
-+// GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
-+// __ARM_PCS_VFP.
-+
-+#define GCC_VERSION \
-+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-+#if GCC_VERSION >= 40600 && !defined(__clang__)
-+#if defined(__ARM_PCS_VFP)
-+ return true;
-+#else
-+ return false;
-+#endif
-+
-+#elif GCC_VERSION < 40500 && !defined(__clang__)
-+ return false;
-+
-+#else
-+#if defined(__ARM_PCS_VFP)
-+ return true;
-+#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \
-+ !defined(__VFP_FP__)
-+ return false;
-+#else
-+#error \
-+ "Your version of compiler does not report the FP ABI compiled for." \
-+ "Please report it on this issue" \
-+ "http://code.google.com/p/v8/issues/detail?id=2140"
-+
-+#endif
-+#endif
-+#undef GCC_VERSION
-+}
-+
-+#endif // def __arm__
-
- void OS::AdjustSchedulingParams() {}
-
diff --git a/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc b/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc
deleted file mode 100644
index 726f3e7a0d31..000000000000
--- a/www/node12/files/patch-deps_v8_src_codegen_arm_cpu-arm.cc
+++ /dev/null
@@ -1,22 +0,0 @@
---- deps/v8/src/codegen/arm/cpu-arm.cc.orig 2019-08-20 17:14:50 UTC
-+++ deps/v8/src/codegen/arm/cpu-arm.cc
-@@ -7,6 +7,9 @@
- #ifdef __QNXNTO__
- #include <sys/mman.h> // for cache flushing.
- #undef MAP_TYPE // NOLINT
-+#elif defined(__FreeBSD__)
-+#include <sys/types.h>
-+#include <machine/sysarch.h> // for cache flushing.
- #else
- #include <sys/syscall.h> // for cache flushing.
- #endif
-@@ -25,6 +28,9 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start,
- #if !defined(USE_SIMULATOR)
- #if V8_OS_QNX
- msync(start, size, MS_SYNC | MS_INVALIDATE_ICACHE);
-+#elif defined(__FreeBSD__)
-+ struct arm_sync_icache_args args = { .addr = (uintptr_t)start, .len = size };
-+ sysarch(ARM_SYNC_ICACHE, (void *)&args);
- #else
- register uint32_t beg asm("r0") = reinterpret_cast<uint32_t>(start);
- register uint32_t end asm("r1") = beg + size;
diff --git a/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h b/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h
deleted file mode 100644
index 044fd3a292f3..000000000000
--- a/www/node12/files/patch-deps_v8_src_codegen_ppc_constants-ppc.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- deps/v8/src/codegen/ppc/constants-ppc.h.orig 2019-09-09 16:27:17 UTC
-+++ deps/v8/src/codegen/ppc/constants-ppc.h
-@@ -34,7 +34,7 @@
- #define ABI_PASSES_HANDLES_IN_REGS 0
- #endif
-
--#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN || \
-+#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || \
- (defined(_CALL_ELF) && _CALL_ELF == 2)
- #define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
- #else
-@@ -43,7 +43,7 @@
-
- #if !V8_HOST_ARCH_PPC || \
- (V8_TARGET_ARCH_PPC64 && \
-- (V8_TARGET_LITTLE_ENDIAN || (defined(_CALL_ELF) && _CALL_ELF == 2)))
-+ (defined(_CALL_ELF) && _CALL_ELF == 2))
- #define ABI_CALL_VIA_IP 1
- #else
- #define ABI_CALL_VIA_IP 0
diff --git a/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc b/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc
deleted file mode 100644
index 2038a1e3c910..000000000000
--- a/www/node12/files/patch-deps_v8_src_compiler_backend_instruction-selector.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/v8/src/compiler/backend/instruction-selector.cc.orig 2020-07-22 15:26:52 UTC
-+++ deps/v8/src/compiler/backend/instruction-selector.cc
-@@ -2788,7 +2788,7 @@ void InstructionSelector::VisitCall(Node* node, BasicB
- switch (call_descriptor->kind()) {
- case CallDescriptor::kCallAddress: {
- int misc_field = static_cast<int>(call_descriptor->ParameterCount());
--#if defined(_AIX)
-+#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
- // Highest misc_field bit is used on AIX to indicate if a CFunction call
- // has function descriptor or not.
- misc_field |= call_descriptor->HasFunctionDescriptor()
diff --git a/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc b/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc
deleted file mode 100644
index 8a2fd0d75a1a..000000000000
--- a/www/node12/files/patch-deps_v8_src_compiler_backend_ppc_code-generator-ppc.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc.orig 2020-04-21 11:38:50 UTC
-+++ deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
-@@ -1026,7 +1026,7 @@
- Label start_call;
- bool isWasmCapiFunction =
- linkage()->GetIncomingDescriptor()->IsWasmCapiFunction();
--#if defined(_AIX)
-+#if defined(_AIX) || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
- // AIX/PPC64BE Linux uses a function descriptor
- int kNumParametersMask = kHasFunctionDescriptorBitMask - 1;
- num_parameters = kNumParametersMask & misc_field;
diff --git a/www/node12/files/patch-deps_v8_src_execution_simulator.h b/www/node12/files/patch-deps_v8_src_execution_simulator.h
deleted file mode 100644
index 70b5ae1171bb..000000000000
--- a/www/node12/files/patch-deps_v8_src_execution_simulator.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- deps/v8/src/execution/simulator.h.orig 2019-11-21 21:14:01 UTC
-+++ deps/v8/src/execution/simulator.h
-@@ -122,7 +122,7 @@
-
- DISABLE_CFI_ICALL Return Call(Args... args) {
- // When running without a simulator we call the entry directly.
--#if V8_OS_AIX
-+#if V8_OS_AIX || (V8_TARGET_ARCH_PPC_BE && (!defined(_CALL_ELF) || _CALL_ELF == 1))
- // AIX ABI requires function descriptors (FD). Artificially create a pseudo
- // FD to ensure correct dispatch to generated code. The 'volatile'
- // declaration is required to avoid the compiler from not observing the
diff --git a/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc b/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc
deleted file mode 100644
index 9c1992530cfd..000000000000
--- a/www/node12/files/patch-deps_v8_src_libsampler_sampler.cc
+++ /dev/null
@@ -1,19 +0,0 @@
---- deps/v8/src/libsampler/sampler.cc.orig 2019-08-20 17:14:50 UTC
-+++ deps/v8/src/libsampler/sampler.cc
-@@ -477,9 +477,13 @@ void SignalHandler::FillRegisterState(void* context, R
- state->sp = reinterpret_cast<void*>(mcontext.mc_rsp);
- state->fp = reinterpret_cast<void*>(mcontext.mc_rbp);
- #elif V8_HOST_ARCH_ARM
-- state->pc = reinterpret_cast<void*>(mcontext.mc_r15);
-- state->sp = reinterpret_cast<void*>(mcontext.mc_r13);
-- state->fp = reinterpret_cast<void*>(mcontext.mc_r11);
-+ state->pc = reinterpret_cast<void*>(mcontext.__gregs[_REG_PC]);
-+ state->sp = reinterpret_cast<void*>(mcontext.__gregs[_REG_SP]);
-+ state->fp = reinterpret_cast<void*>(mcontext.__gregs[_REG_FP]);
-+#elif V8_TARGET_ARCH_PPC_BE
-+ state->pc = reinterpret_cast<void*>(mcontext.mc_srr0);
-+ state->sp = reinterpret_cast<void*>(mcontext.mc_frame[1]);
-+ state->fp = reinterpret_cast<void*>(mcontext.mc_frame[31]);
- #endif // V8_HOST_ARCH_*
- #elif V8_OS_NETBSD
- #if V8_HOST_ARCH_IA32
diff --git a/www/node12/files/patch-node.gypi b/www/node12/files/patch-node.gypi
deleted file mode 100644
index 57c16c71f210..000000000000
--- a/www/node12/files/patch-node.gypi
+++ /dev/null
@@ -1,12 +0,0 @@
---- node.gypi.orig 2020-05-26 11:53:34 UTC
-+++ node.gypi
-@@ -323,6 +323,9 @@
- ['openssl_fips != "" or openssl_is_fips=="true"', {
- 'defines': [ 'NODE_FIPS_MODE' ],
- }],
-+ ['openssl_no_asm==1', {
-+ 'defines': [ 'OPENSSL_NO_ASM' ],
-+ }],
- [ 'node_shared_openssl=="false"', {
- 'dependencies': [
- './deps/openssl/openssl.gyp:openssl',
diff --git a/www/node12/pkg-descr b/www/node12/pkg-descr
deleted file mode 100644
index 76a5a3c0625d..000000000000
--- a/www/node12/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-Node.js is a JavaScript runtime built on Chrome's V8 JavaScript
-engine. Node.js uses an event-driven, non-blocking I/O model that
-makes it lightweight and efficient. Node.js' package ecosystem,
-npm, is the largest ecosystem of open source libraries in the world.
-
-WWW: https://nodejs.org/
diff --git a/www/node12/pkg-message b/www/node12/pkg-message
deleted file mode 100644
index ddea08386149..000000000000
--- a/www/node12/pkg-message
+++ /dev/null
@@ -1,7 +0,0 @@
-[
-{ type: install
- message: <<EOM
-Note: If you need npm (Node Package Manager), please install www/npm.
-EOM
-}
-]
diff --git a/www/node12/pkg-plist b/www/node12/pkg-plist
deleted file mode 100644
index 5989720d1f0b..000000000000
--- a/www/node12/pkg-plist
+++ /dev/null
@@ -1,478 +0,0 @@
-bin/node
-include/node/common.gypi
-include/node/config.gypi
-include/node/js_native_api.h
-include/node/js_native_api_types.h
-include/node/libplatform/libplatform.h
-include/node/libplatform/libplatform-export.h
-include/node/libplatform/v8-tracing.h
-include/node/node.h
-include/node/node_api.h
-include/node/node_api_types.h
-include/node/node_buffer.h
-include/node/node_object_wrap.h
-include/node/node_version.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/BSD-x86_64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN32/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/VC-WIN64A/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin-i386-cc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-aarch64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-armv4/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-elf/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-mips64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-ppc64le/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x32/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux-x86_64/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux32-s390x/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/linux64-s390x/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris-x86-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/progs.h
-%%BUNDLED_SSL%%include/node/openssl/aes.h
-%%BUNDLED_SSL%%include/node/openssl/asn1.h
-%%BUNDLED_SSL%%include/node/openssl/asn1_mac.h
-%%BUNDLED_SSL%%include/node/openssl/asn1err.h
-%%BUNDLED_SSL%%include/node/openssl/asn1t.h
-%%BUNDLED_SSL%%include/node/openssl/async.h
-%%BUNDLED_SSL%%include/node/openssl/asyncerr.h
-%%BUNDLED_SSL%%include/node/openssl/bio.h
-%%BUNDLED_SSL%%include/node/openssl/bioerr.h
-%%BUNDLED_SSL%%include/node/openssl/blowfish.h
-%%BUNDLED_SSL%%include/node/openssl/bn.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/bn_conf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/bnerr.h
-%%BUNDLED_SSL%%include/node/openssl/buffer.h
-%%BUNDLED_SSL%%include/node/openssl/buffererr.h
-%%BUNDLED_SSL%%include/node/openssl/camellia.h
-%%BUNDLED_SSL%%include/node/openssl/cast.h
-%%BUNDLED_SSL%%include/node/openssl/cmac.h
-%%BUNDLED_SSL%%include/node/openssl/cms.h
-%%BUNDLED_SSL%%include/node/openssl/cmserr.h
-%%BUNDLED_SSL%%include/node/openssl/comp.h
-%%BUNDLED_SSL%%include/node/openssl/comperr.h
-%%BUNDLED_SSL%%include/node/openssl/conf.h
-%%BUNDLED_SSL%%include/node/openssl/conf_api.h
-%%BUNDLED_SSL%%include/node/openssl/conferr.h
-%%BUNDLED_SSL%%include/node/openssl/crypto.h
-%%BUNDLED_SSL%%include/node/openssl/cryptoerr.h
-%%BUNDLED_SSL%%include/node/openssl/ct.h
-%%BUNDLED_SSL%%include/node/openssl/cterr.h
-%%BUNDLED_SSL%%include/node/openssl/des.h
-%%BUNDLED_SSL%%include/node/openssl/dh.h
-%%BUNDLED_SSL%%include/node/openssl/dherr.h
-%%BUNDLED_SSL%%include/node/openssl/dsa.h
-%%BUNDLED_SSL%%include/node/openssl/dsaerr.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/dso_conf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/dtls1.h
-%%BUNDLED_SSL%%include/node/openssl/e_os2.h
-%%BUNDLED_SSL%%include/node/openssl/ebcdic.h
-%%BUNDLED_SSL%%include/node/openssl/ec.h
-%%BUNDLED_SSL%%include/node/openssl/ecdh.h
-%%BUNDLED_SSL%%include/node/openssl/ecdsa.h
-%%BUNDLED_SSL%%include/node/openssl/ecerr.h
-%%BUNDLED_SSL%%include/node/openssl/engine.h
-%%BUNDLED_SSL%%include/node/openssl/engineerr.h
-%%BUNDLED_SSL%%include/node/openssl/err.h
-%%BUNDLED_SSL%%include/node/openssl/evp.h
-%%BUNDLED_SSL%%include/node/openssl/evperr.h
-%%BUNDLED_SSL%%include/node/openssl/hmac.h
-%%BUNDLED_SSL%%include/node/openssl/idea.h
-%%BUNDLED_SSL%%include/node/openssl/kdf.h
-%%BUNDLED_SSL%%include/node/openssl/kdferr.h
-%%BUNDLED_SSL%%include/node/openssl/lhash.h
-%%BUNDLED_SSL%%include/node/openssl/md2.h
-%%BUNDLED_SSL%%include/node/openssl/md4.h
-%%BUNDLED_SSL%%include/node/openssl/md5.h
-%%BUNDLED_SSL%%include/node/openssl/mdc2.h
-%%BUNDLED_SSL%%include/node/openssl/modes.h
-%%BUNDLED_SSL%%include/node/openssl/obj_mac.h
-%%BUNDLED_SSL%%include/node/openssl/objects.h
-%%BUNDLED_SSL%%include/node/openssl/objectserr.h
-%%BUNDLED_SSL%%include/node/openssl/ocsp.h
-%%BUNDLED_SSL%%include/node/openssl/ocsperr.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf_asm.h
-%%BUNDLED_SSL%%include/node/openssl/opensslconf_no-asm.h
-%%BUNDLED_SSL%%include/node/openssl/opensslv.h
-%%BUNDLED_SSL%%include/node/openssl/ossl_typ.h
-%%BUNDLED_SSL%%include/node/openssl/pem2.h
-%%BUNDLED_SSL%%include/node/openssl/pem.h
-%%BUNDLED_SSL%%include/node/openssl/pemerr.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs12.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs12err.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs7.h
-%%BUNDLED_SSL%%include/node/openssl/pkcs7err.h
-%%BUNDLED_SSL%%include/node/openssl/rand.h
-%%BUNDLED_SSL%%include/node/openssl/rand_drbg.h
-%%BUNDLED_SSL%%include/node/openssl/randerr.h
-%%BUNDLED_SSL%%include/node/openssl/rc2.h
-%%BUNDLED_SSL%%include/node/openssl/rc4.h
-%%BUNDLED_SSL%%include/node/openssl/rc5.h
-%%BUNDLED_SSL%%include/node/openssl/ripemd.h
-%%BUNDLED_SSL%%include/node/openssl/rsa.h
-%%BUNDLED_SSL%%include/node/openssl/rsaerr.h
-%%BUNDLED_SSL%%include/node/openssl/safestack.h
-%%BUNDLED_SSL%%include/node/openssl/seed.h
-%%BUNDLED_SSL%%include/node/openssl/sha.h
-%%BUNDLED_SSL%%include/node/openssl/srp.h
-%%BUNDLED_SSL%%include/node/openssl/srtp.h
-%%BUNDLED_SSL%%include/node/openssl/ssl.h
-%%BUNDLED_SSL%%include/node/openssl/ssl2.h
-%%BUNDLED_SSL%%include/node/openssl/ssl3.h
-%%BUNDLED_SSL%%include/node/openssl/sslerr.h
-%%BUNDLED_SSL%%include/node/openssl/stack.h
-%%BUNDLED_SSL%%include/node/openssl/store.h
-%%BUNDLED_SSL%%include/node/openssl/storeerr.h
-%%BUNDLED_SSL%%include/node/openssl/symhacks.h
-%%BUNDLED_SSL%%include/node/openssl/tls1.h
-%%BUNDLED_SSL%%include/node/openssl/ts.h
-%%BUNDLED_SSL%%include/node/openssl/tserr.h
-%%BUNDLED_SSL%%include/node/openssl/txt_db.h
-%%BUNDLED_SSL%%include/node/openssl/ui.h
-%%BUNDLED_SSL%%include/node/openssl/uierr.h
-%%BUNDLED_SSL%%include/node/openssl/whrlpool.h
-%%BUNDLED_SSL%%include/node/openssl/x509.h
-%%BUNDLED_SSL%%include/node/openssl/x509_vfy.h
-%%BUNDLED_SSL%%include/node/openssl/x509err.h
-%%BUNDLED_SSL%%include/node/openssl/x509v3.h
-%%BUNDLED_SSL%%include/node/openssl/x509v3err.h
-include/node/v8-internal.h
-include/node/v8-platform.h
-include/node/v8-profiler.h
-include/node/v8-testing.h
-include/node/v8-util.h
-include/node/v8-value-serializer-version.h
-include/node/v8-version.h
-include/node/v8-version-string.h
-include/node/v8-wasm-trap-handler-posix.h
-include/node/v8-wasm-trap-handler-win.h
-include/node/v8.h
-include/node/v8config.h
-%%DTRACE%%lib/dtrace/node.d
-@(,,444) man/man1/node.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/gdbinit
-%%PORTDOCS%%%%DOCSDIR%%/lldb_commands.py
-share/systemtap/tapset/node.stp
diff --git a/www/trac-OhlohWidgetsMacro/Makefile b/www/trac-OhlohWidgetsMacro/Makefile
deleted file mode 100644
index 765040a3be29..000000000000
--- a/www/trac-OhlohWidgetsMacro/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: Douglas Thrift <douglas@douglasthrift.net>
-# $FreeBSD$
-
-PORTNAME= OhlohWidgetsMacro
-PORTVERSION= 0.2
-PORTREVISION= 1
-CATEGORIES= www devel python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= douglas@douglasthrift.net
-COMMENT= Trac macro to embed Ohloh widgets
-
-LICENSE= MIT
-
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pycerberus>=0.3:devel/py-pycerberus@${PY_FLAVOR} \
- tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-OhlohWidgetsMacro/distinfo b/www/trac-OhlohWidgetsMacro/distinfo
deleted file mode 100644
index 5c01e4b2750b..000000000000
--- a/www/trac-OhlohWidgetsMacro/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (OhlohWidgetsMacro-0.2.tar.gz) = 0d39e0503d5460f88899267210a08cd0a6d190e8c3fc6b5f6108cc111f749cc2
-SIZE (OhlohWidgetsMacro-0.2.tar.gz) = 10359
diff --git a/www/trac-OhlohWidgetsMacro/files/patch-ohloh_widgets__macro.py b/www/trac-OhlohWidgetsMacro/files/patch-ohloh_widgets__macro.py
deleted file mode 100644
index 138d86a6c075..000000000000
--- a/www/trac-OhlohWidgetsMacro/files/patch-ohloh_widgets__macro.py
+++ /dev/null
@@ -1,20 +0,0 @@
---- ohloh_widgets/macro.py.orig 2010-07-04 06:54:44 UTC
-+++ ohloh_widgets/macro.py
-@@ -46,7 +46,7 @@ class OhlohWidgetMacro(MacroWithValidati
- ![[OhlohWidget(project_id, widget_name)]]
-
- The macro gets two parameters which you can get from Ohloh's widget page
-- for your project (!http://www.ohloh.net/p/<project name>/widgets) when you
-+ for your project (!https://www.ohloh.net/p/<project name>/widgets) when you
- look at the embeddable HTML snippet:
-
- * project_id -- a 6 digit number which identifies your project
-@@ -70,7 +70,7 @@ class OhlohWidgetMacro(MacroWithValidati
-
- def url(self, parameters):
- query_string = ''
-- url_template = 'http://www.ohloh.net/p/%(project_id)d/widgets/%(widget_name)s.js'
-+ url_template = 'https://www.ohloh.net/p/%(project_id)d/widgets/%(widget_name)s.js'
- widget_name = parameters.widget_name
- if '?' in widget_name:
- parameters['widget_name'], query_parameters = widget_name.split('?', 1)
diff --git a/www/trac-OhlohWidgetsMacro/pkg-descr b/www/trac-OhlohWidgetsMacro/pkg-descr
deleted file mode 100644
index 1c502c9418c3..000000000000
--- a/www/trac-OhlohWidgetsMacro/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-OhlohWidgetsMacro is a plugin for Trac which embeds Ohloh widgets.
-
-WWW: http://www.schwarz.eu/opensource/projects/ohloh_widgets_macro
diff --git a/www/trac-TracGoogleAnalytics/Makefile b/www/trac-TracGoogleAnalytics/Makefile
deleted file mode 100644
index 3e7fb173b0a2..000000000000
--- a/www/trac-TracGoogleAnalytics/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: Douglas Thrift
-# $FreeBSD$
-
-PORTNAME= TracGoogleAnalytics
-PORTVERSION= 0.2.4
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= douglas@douglasthrift.net
-COMMENT= Trac plugin to enable logging by Google Analytics
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= tracd:www/trac \
- ${PYTHON_PKGNAMEPREFIX}Genshi>=0.5:textproc/py-genshi@${PY_FLAVOR}
-RUN_DEPENDS:= ${BUILD_DEPENDS}
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-TracGoogleAnalytics/distinfo b/www/trac-TracGoogleAnalytics/distinfo
deleted file mode 100644
index 66d85f806630..000000000000
--- a/www/trac-TracGoogleAnalytics/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (TracGoogleAnalytics-0.2.4.tar.gz) = 79ee119aa187ef9d6aff4df599f91641dbc04ab816a432c5fb292e78113cc790
-SIZE (TracGoogleAnalytics-0.2.4.tar.gz) = 11292
diff --git a/www/trac-TracGoogleAnalytics/pkg-descr b/www/trac-TracGoogleAnalytics/pkg-descr
deleted file mode 100644
index 2e482f1688b1..000000000000
--- a/www/trac-TracGoogleAnalytics/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-Previously known as Google Analytics Plugin, this plugin will enable
-your trac environment to be logged by Google Analytics.
-
-It adds the necessary javascript code to log your environment, plus, it
-also logs the downloads of regular filenames which end with a specific
-extension; these extensions are defined by you; and also external links.
-
-WWW: http://google.ufsoft.org/wiki/TracGoogleAnalytics
diff --git a/www/trac-accountmanager/Makefile b/www/trac-accountmanager/Makefile
deleted file mode 100644
index 567687580483..000000000000
--- a/www/trac-accountmanager/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= accountmanager
-PORTVERSION= 0.5.${REV}
-PORTEPOCH= 1
-CATEGORIES= www devel python
-MASTER_SITES= http://trac-hacks.org/changeset/${REV}/accountmanagerplugin/trunk?old_path=/&format=zip&filename=
-PKGNAMEPREFIX= trac-
-DIST_SUBDIR= trac
-
-MAINTAINER= kuriyama@FreeBSD.org
-COMMENT= Account Manager Plugin for trac
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac
-
-FETCH_BEFORE_ARGS= -o ${DISTFILES}
-REV= 17339
-WRKSRC= ${WRKDIR}/accountmanagerplugin/trunk
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# --- trac.ini
-# [components]
-# acct_mgr.* = enabled
-#
-# [account-manager]
-# password_format = htpasswd
-# password_file = /var/trac/trac.htpasswd
-#
-# --- httpd.conf
-# SetEnv PYTHON_EGG_CACHE "/tmp/cache"
-
-.include <bsd.port.mk>
diff --git a/www/trac-accountmanager/distinfo b/www/trac-accountmanager/distinfo
deleted file mode 100644
index 8c3012c0654c..000000000000
--- a/www/trac-accountmanager/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1557078449
-SHA256 (trac/accountmanager-0.5.17339.zip) = b3b56a81ca307e22662194907f1e246be00094ab867a8c6b9b16d9a9b1c7748f
-SIZE (trac/accountmanager-0.5.17339.zip) = 360825
diff --git a/www/trac-accountmanager/pkg-descr b/www/trac-accountmanager/pkg-descr
deleted file mode 100644
index e64be83c0873..000000000000
--- a/www/trac-accountmanager/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Trac plugin to enable users to register new accounts or manage their
-existing account.
-
-WWW: https://trac-hacks.org/wiki/AccountManagerPlugin
diff --git a/www/trac-advancedticketworkflow/Makefile b/www/trac-advancedticketworkflow/Makefile
deleted file mode 100644
index 2ee3371c0e86..000000000000
--- a/www/trac-advancedticketworkflow/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Created by: Martin Matuska <mm@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= advancedticketworkflow
-PORTVERSION= 0.10.3940
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= http://people.freebsd.org/~mm/trac/
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Advanced Ticket Workflow Plugin for Trac
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-advancedticketworkflow/distinfo b/www/trac-advancedticketworkflow/distinfo
deleted file mode 100644
index 01337362eada..000000000000
--- a/www/trac-advancedticketworkflow/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (advancedticketworkflowplugin-0.10.3940.tar.gz) = 6f69eb4d698dbe36e335a85f29032911812fc1ff71932392fa588cbe9bab4618
-SIZE (advancedticketworkflowplugin-0.10.3940.tar.gz) = 3558
diff --git a/www/trac-advancedticketworkflow/pkg-descr b/www/trac-advancedticketworkflow/pkg-descr
deleted file mode 100644
index 61375eb72721..000000000000
--- a/www/trac-advancedticketworkflow/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-AdvancedTicketWorkflowPlugin provides a number of advanced operations
-for customizable workflows that are similar to the operations provided
-in the customizeable workflow of the core system.
-
-WWW: https://trac-hacks.org/wiki/AdvancedTicketWorkflowPlugin
diff --git a/www/trac-autocomplete/Makefile b/www/trac-autocomplete/Makefile
deleted file mode 100644
index a380a5878170..000000000000
--- a/www/trac-autocomplete/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
-# $FreeBSD$
-
-PORTNAME= autocomplete
-PORTVERSION= 0.4.1
-PORTREVISION= 7
-CATEGORIES= www python
-MASTER_SITES= http://dist.codelabs.ru/fbsd/
-PKGNAMEPREFIX= trac-
-DISTNAME= autocompleteusersplugin-r${REL}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for autocompletion of user names in ticket fields
-
-RUN_DEPENDS= trac>=0.11:www/trac
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-WRKSRC= ${WRKDIR}/autocompleteusersplugin/0.11
-NO_ARCH= yes
-REL= 8451
-
-.include <bsd.port.mk>
diff --git a/www/trac-autocomplete/distinfo b/www/trac-autocomplete/distinfo
deleted file mode 100644
index d150eeac4abd..000000000000
--- a/www/trac-autocomplete/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (autocompleteusersplugin-r8451.zip) = 7d4f5e1547c0bae0b5e320b2d0f729ef9deebd6c52c1e82a4c4ca022ef182e8a
-SIZE (autocompleteusersplugin-r8451.zip) = 14217
diff --git a/www/trac-autocomplete/pkg-descr b/www/trac-autocomplete/pkg-descr
deleted file mode 100644
index df2f9bc5dfe9..000000000000
--- a/www/trac-autocomplete/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-The AutocompleteUsersPlugin allows AJAX completion of users
-for the owner and CC fields on new and existing tickets.
-
-WWW: https://trac-hacks.org/wiki/AutocompleteUsersPlugin
diff --git a/www/trac-ccselector/Makefile b/www/trac-ccselector/Makefile
deleted file mode 100644
index 9560d63792d3..000000000000
--- a/www/trac-ccselector/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: glarkin
-# $FreeBSD$
-
-PORTNAME= ccselector
-PORTVERSION= 0.0.2.4001
-PORTREVISION= 4
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Visually edit the Trac ticket CC field
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-ccselector/distinfo b/www/trac-ccselector/distinfo
deleted file mode 100644
index e48e5a9c3067..000000000000
--- a/www/trac-ccselector/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ccselectorplugin-0.0.2.4001.zip) = f1f27c53b4e250557aa0acb3aab958876e9306bc9cb0ac3489ad8c4adc263c54
-SIZE (ccselectorplugin-0.0.2.4001.zip) = 7084
diff --git a/www/trac-ccselector/pkg-descr b/www/trac-ccselector/pkg-descr
deleted file mode 100644
index 6888eb39d44b..000000000000
--- a/www/trac-ccselector/pkg-descr
+++ /dev/null
@@ -1,13 +0,0 @@
-This plugin allows visual CC field editing.
-
-A pop-up window with bunch of checkboxes is opened, user checks
-boxes, email addresses are added and removed to CC field. There is
-a list of pre-defined addresses in cc_selector.js (these addresses
-will always be available). If you want to change this list you must
-edit cc_selector.js manually.
-
-Of course, you can always edit CC field without all this hassle -
-all addresses you entered manually will be shown, too - and can be
-removed with new, shiny checkboxes.
-
-WWW: https://trac-hacks.org/wiki/CcSelectorPlugin
diff --git a/www/trac-ccselector/pkg-message b/www/trac-ccselector/pkg-message
deleted file mode 100644
index 9f16ca88d56e..000000000000
--- a/www/trac-ccselector/pkg-message
+++ /dev/null
@@ -1,13 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-cc_selector.* = enabled
-
-to your trac.ini to enable the visual CC field
-editor.
-EOM
-}
-]
diff --git a/www/trac-customfieldadmin/Makefile b/www/trac-customfieldadmin/Makefile
deleted file mode 100644
index 5e069bec3102..000000000000
--- a/www/trac-customfieldadmin/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Created by: Greg Larkin <glarkin@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= customfieldadmin
-PORTVERSION= 0.2.2.6485
-PORTREVISION= 4
-PORTEPOCH= 1
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Web interface to administer Trac ticket custom fields
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-
-RUN_DEPENDS= tracd:www/trac
-
-PORTSCOUT= skipv:0.2.6485
-
-USES= python:2.7 zip
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-customfieldadmin/distinfo b/www/trac-customfieldadmin/distinfo
deleted file mode 100644
index ee734b207b91..000000000000
--- a/www/trac-customfieldadmin/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (customfieldadminplugin-0.2.2.6485.zip) = e434dfab30bc9c6767cdf123cdc84d53f1d1e15ee05cdff70f7a53b02bb52977
-SIZE (customfieldadminplugin-0.2.2.6485.zip) = 14727
diff --git a/www/trac-customfieldadmin/pkg-descr b/www/trac-customfieldadmin/pkg-descr
deleted file mode 100644
index b4d4ca22529e..000000000000
--- a/www/trac-customfieldadmin/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-This plugin is a Web Admin panel for administrating custom fields -
-adding, modifying and deleting them without editing the trac.ini file
-directly.
-
-This plugin is a cooperation between CodeResort.com and Optaros.com,
-and is made freely available under a BSD license.
-
-WWW: http://trac-hacks.org/wiki/CustomFieldAdminPlugin
diff --git a/www/trac-customfieldadmin/pkg-message b/www/trac-customfieldadmin/pkg-message
deleted file mode 100644
index 23b864ba68d6..000000000000
--- a/www/trac-customfieldadmin/pkg-message
+++ /dev/null
@@ -1,13 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-customfieldadmin.* = enabled
-
-to your trac.ini to enable the ticket custom field
-administrator.
-EOM
-}
-]
diff --git a/www/trac-datefield/Makefile b/www/trac-datefield/Makefile
deleted file mode 100644
index 192015cb7335..000000000000
--- a/www/trac-datefield/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
-# $FreeBSD$
-
-PORTNAME= datefield
-PORTVERSION= 1.0.1
-PORTREVISION= 5
-CATEGORIES= www python
-MASTER_SITES= http://dist.codelabs.ru/fbsd/
-PKGNAMEPREFIX= trac-
-DISTNAME= datefieldplugin-r${REL}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for creating date fields
-
-RUN_DEPENDS= trac>=0.11:www/trac
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-WRKSRC= ${WRKDIR}/datefieldplugin/0.11
-REL= 7267
-
-.include <bsd.port.mk>
diff --git a/www/trac-datefield/distinfo b/www/trac-datefield/distinfo
deleted file mode 100644
index 54e2fac2d5ea..000000000000
--- a/www/trac-datefield/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (datefieldplugin-r7267.zip) = 565869c98580bd2b64c180b0a466d640b2b36f55a85d2f46804a6c676c1a8abe
-SIZE (datefieldplugin-r7267.zip) = 105459
diff --git a/www/trac-datefield/pkg-descr b/www/trac-datefield/pkg-descr
deleted file mode 100644
index 0b809dd1506c..000000000000
--- a/www/trac-datefield/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This plugin allows for validating custom fields as dates in tickets
-and adds fancy date selector to these fields.
-
-WWW: https://trac-hacks.org/wiki/DateFieldPlugin
diff --git a/www/trac-defaultcc/Makefile b/www/trac-defaultcc/Makefile
deleted file mode 100644
index 323b75563f2a..000000000000
--- a/www/trac-defaultcc/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# Created by: Eygene Ryabinkin <rea@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= defaultcc
-PORTVERSION= 0.1
-PORTREVISION= 3
-CATEGORIES= www python
-MASTER_SITES= http://dist.codelabs.ru/fbsd/trac-${PORTNAME}/
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-r${REL}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin that adds default CC value for tickets
-
-LICENSE= GPLv2
-
-RUN_DEPENDS= trac>=0.11:www/trac
-
-USES= python:2.7 zip
-
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/trunk
-REL= 10605
-
-.include <bsd.port.mk>
diff --git a/www/trac-defaultcc/distinfo b/www/trac-defaultcc/distinfo
deleted file mode 100644
index e002ffb4ffa0..000000000000
--- a/www/trac-defaultcc/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (defaultccplugin-r10605.zip) = 5fbc6969327f7bdbc9e0fc8e97624e7af0ee740f501cd5cd203dec8905f594cf
-SIZE (defaultccplugin-r10605.zip) = 5043
diff --git a/www/trac-defaultcc/pkg-descr b/www/trac-defaultcc/pkg-descr
deleted file mode 100644
index 149df70cb3dd..000000000000
--- a/www/trac-defaultcc/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This plugin automatically adds a default CC list
-when a new ticket is created, based on its initial component.
-
-WWW: https://trac-hacks.org/wiki/DefaultCcPlugin
diff --git a/www/trac-devel/Makefile b/www/trac-devel/Makefile
deleted file mode 100644
index 6b7eab14608f..000000000000
--- a/www/trac-devel/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= trac
-DISTVERSION= 1.3.3
-PORTREVISION= 1
-CATEGORIES= www devel python
-MASTER_SITES= http://ftp.edgewall.com/pub/trac/ \
- ftp://ftp.edgewall.com/pub/trac/
-PKGNAMESUFFIX= -devel
-DISTNAME= Trac-${DISTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Enhanced wiki and issue tracking system for software projects
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Genshi>=0.7:textproc/py-genshi@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=2.3.4:devel/py-babel@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Genshi>=0.7:textproc/py-genshi@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10:devel/py-Jinja2@${PY_FLAVOR}
-
-CONFLICTS_INSTALL= trac
-
-USES= python:2.7 shebangfix
-SHEBANG_FILES= trac/tests/functional/better_twill.py trac/tests/functional/tester.py \
- trac/tests/functional/testenv.py trac/tests/functional/compat.py \
- trac/tests/functional/__init__.py contrib/emailfilter.py \
- contrib/checkwiki.py contrib/htpasswd.py
-USE_PYTHON= distutils autoplist
-USE_RC_SUBR= tracd
-SUB_LIST= PYTHON_CMD=${PYTHON_CMD}
-
-PORTEXAMPLES= *
-PORTDATA= *
-
-NO_ARCH= yes
-
-OPTIONS_DEFINE= DOCUTILS PYGMENTS TZ SVN EXAMPLES
-OPTIONS_DEFAULT= DOCUTILS PYGMENTS TZ SVN SQLITE
-OPTIONS_RADIO= DATABASE
-OPTIONS_RADIO_DATABASE= PGSQL SQLITE
-DOCUTILS_DESC= Allow additional text markup
-PYGMENTS_DESC= Use generic syntax highlighter
-TZ_DESC= Process Time Zones
-
-DOCUTILS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docutils>=0.14:textproc/py-docutils@${PY_FLAVOR}
-PYGMENTS_RUN_DEPENDS= ${PY_PYGMENTS}
-TZ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}
-PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>0:databases/py-psycopg2@${PY_FLAVOR}
-SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
-SVN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}subversion-lts>0:devel/py-subversion@${PY_FLAVOR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins
- ${FIND} ${WRKSRC}/contrib -type f -maxdepth 1 -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
- (cd ${WRKSRC}/sample-plugins && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/sample-plugins)
-
-.include <bsd.port.mk>
diff --git a/www/trac-devel/distinfo b/www/trac-devel/distinfo
deleted file mode 100644
index e2785ef48d8a..000000000000
--- a/www/trac-devel/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1544263946
-SHA256 (Trac-1.3.3.tar.gz) = 0ff793613de57851adbc2d45188d3263ac64b97ca39d8182e7a1ac226c396239
-SIZE (Trac-1.3.3.tar.gz) = 6466543
diff --git a/www/trac-devel/files/tracd.in b/www/trac-devel/files/tracd.in
deleted file mode 100644
index 27756822a86a..000000000000
--- a/www/trac-devel/files/tracd.in
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-#
-# tracd startup
-#
-# $FreeBSD$
-
-# PROVIDE: tracd
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-
-#
-# Add the following lines to /etc/rc.conf to enable or configure tracd:
-# tracd_enable (bool): Set to "NO" by default.
-# Set it to "YES" to enable tracd.
-# tracd_listen (str): The host name or IP address to bind tracd to.
-# By default tracd listens 0.0.0.0, i.e. all the
-# available addresses on all interfaces.
-# tracd_port (str): The port number to bind to, 80 by default.
-# tracd_pidfile (str): When daemonizing, file to which to write pid
-# if not to /var/run/tracd.pid.
-# tracd_envdir (str): Directory of the project environments. Set to
-# "/home/trac" by default.
-# tracd_env (str): The project environment name while using single
-# environment mode. The default is empty, meaning
-# multiproject mode.
-# tracd_args (str): Extra arguments passed to tracd startup
-# command. Empty by default.
-#
-
-. /etc/rc.subr
-
-name="tracd"
-rcvar=tracd_enable
-
-tracd_enable=${tracd_enable:-"NO"}
-tracd_listen=${tracd_listen:-"0.0.0.0"}
-tracd_port=${tracd_port:-"80"}
-tracd_pidfile=${tracd_pidfile:-"/var/run/tracd.pid"}
-tracd_envdir=${tracd_envdir:-"/home/trac"}
-tracd_env=${tracd_env:-""}
-tracd_args=${tracd_args:-""}
-
-load_rc_config ${name}
-
-command_args="--daemonize --hostname=${tracd_listen} --port=${tracd_port}"
-command_args="${command_args} --pidfile=${tracd_pidfile} ${tracd_args}"
-
-required_dirs=${tracd_envdir}
-pidfile=${tracd_pidfile}
-
-if [ -z "${tracd_env}" ]; then
- _trac_env="--env-parent-dir ${tracd_envdir}"
-else
- _trac_env="${tracd_envdir}/${tracd_env}"
- command_args="${command_args} --single-env"
-fi
-
-command_args="%%PREFIX%%/bin/tracd ${command_args} ${_trac_env}"
-command="%%PYTHON_CMD%%"
-
-run_rc_command $1
diff --git a/www/trac-devel/pkg-descr b/www/trac-devel/pkg-descr
deleted file mode 100644
index b008fe05e687..000000000000
--- a/www/trac-devel/pkg-descr
+++ /dev/null
@@ -1,21 +0,0 @@
-Trac uses a minimalistic approach to web-based software project management.
-Our mission; to help developers write great software while staying out of
-the way. Trac should impose as little as possible on a team's established
-development process and policies.
-
-All aspects of Trac have been designed with one single goal, to simplify
-tracking and communication of software issues, enhancements and monitoring
-overall progress.
-
-What is Trac?
-
- * An integrated system for managing software projects
- * An enhanced wiki
- * A flexible web-based issue tracker
- * An interface to the Subversion revision control system
-
-At the core of Trac lies an integrated wiki and issue/bug database. Using
-wiki markup, all objects managed by Trac can directly link to other
-issues/bug reports, code changesets, documentation and files.
-
-WWW: http://trac.edgewall.org/
diff --git a/www/trac-devel/pkg-message b/www/trac-devel/pkg-message
deleted file mode 100644
index 8d8c58ec1add..000000000000
--- a/www/trac-devel/pkg-message
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{ type: upgrade, maximum_version: 1
- message: <<EOM
-From 0.12.x to 1.0.x
----------------------
-You should be careful to check that the plugins you depend on have
-been ported to 1.0.x, as they most probably won't work without adaptation
-due to the numerous internal changes that occurred during 1.0.x development.
-
-See: http://trac.edgewall.org/wiki/TracDev/ApiChanges/1.0
-
-Consult the upgrade instructions at:
-
- http://trac.edgewall.org/wiki/TracUpgrade
-EOM
-}
-]
diff --git a/www/trac-discussion/Makefile b/www/trac-discussion/Makefile
deleted file mode 100644
index 4e0f712efc55..000000000000
--- a/www/trac-discussion/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= discussion
-PORTVERSION= 0.7
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Discussion forum plugin for Trac
-
-RUN_DEPENDS= tracd:www/trac \
- trac-TracSpamFilter>=0.2.1:www/trac-spam-filter
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export http://trac-hacks.org/svn/discussionplugin/0.11/ \
- ${DISTNAME}
- cd ${WRKDIR} && ${TAR} cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-discussion/distinfo b/www/trac-discussion/distinfo
deleted file mode 100644
index ed2839fda2bb..000000000000
--- a/www/trac-discussion/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (discussion-0.7.tar.gz) = 15022167b9435951b713ec02f15fff39171fa5b0098d4d8846e6c72f2f80f430
-SIZE (discussion-0.7.tar.gz) = 216576
diff --git a/www/trac-discussion/pkg-descr b/www/trac-discussion/pkg-descr
deleted file mode 100644
index 087ff4501015..000000000000
--- a/www/trac-discussion/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-The DiscussionPlugin adds discussion forums to Trac. An arbitrary number
-of forums can be added, organised to forum groups. Users can create
-topics in forums and reply to them which together creates discussion
-threads. Threaded or flat view to topics and its replies is supported.
-Each forum has a list of moderators who can delete topics, replies,
-etc. Appending new forums and topics either as new replies shows up in
-timeline. Searching capability in topics and replies is supported too.
-
-WWW: https://trac-hacks.org/wiki/DiscussionPlugin
diff --git a/www/trac-downloads/Makefile b/www/trac-downloads/Makefile
deleted file mode 100644
index da4df7ff23e9..000000000000
--- a/www/trac-downloads/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= downloads
-PORTVERSION= ${TRAC_VERSION}.${PLUGIN_VERSION}.${SVN_REV}
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Trac plugin providing a downloads section
-
-RUN_DEPENDS= tracd:www/trac
-
-TRAC_VERSION= 0.12
-PLUGIN_VERSION= 0.3
-SVN_REV= 10047
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.if defined(BOOTSTRAP)
-do-fetch:
- ${MKDIR} ${WRKDIR}
- svn export -r ${SVN_REV} http://trac-hacks.org/svn/downloadsplugin/${TRAC_VERSION}/ ${WRKSRC}
- ${MKDIR} ${_DISTDIR}
- cd ${WRKDIR} && \
- ${TAR} cfvz ${_DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-downloads/distinfo b/www/trac-downloads/distinfo
deleted file mode 100644
index 93a6b4fb4166..000000000000
--- a/www/trac-downloads/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/downloadsplugin-0.12.0.3.10047.tar.gz) = 966b88e4f0b2cbd4da72e5bdec8c592670d2574771460be7780edb18c03e4e7a
-SIZE (trac/downloadsplugin-0.12.0.3.10047.tar.gz) = 18756
diff --git a/www/trac-downloads/files/patch-tracdownloads_consoleadmin.py b/www/trac-downloads/files/patch-tracdownloads_consoleadmin.py
deleted file mode 100644
index cda3e74bb169..000000000000
--- a/www/trac-downloads/files/patch-tracdownloads_consoleadmin.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- tracdownloads/consoleadmin.py.orig 2011-04-07 08:36:09 UTC
-+++ tracdownloads/consoleadmin.py
-@@ -122,7 +122,8 @@ class DownloadsConsoleAdmin(Component):
- self.log.debug(download)
-
- # Upload file to DB and file storage.
-- api.store_download(context, download, file)
-+ api._add_download(context, download, file)
-+
-
- # Close input file and commit changes in DB.
- file.close()
diff --git a/www/trac-downloads/files/patch-tracdownloads_tags.py b/www/trac-downloads/files/patch-tracdownloads_tags.py
deleted file mode 100644
index b529b88dda42..000000000000
--- a/www/trac-downloads/files/patch-tracdownloads_tags.py
+++ /dev/null
@@ -1,14 +0,0 @@
---- tracdownloads/tags.py.orig 2010-10-12 12:42:10 UTC
-+++ tracdownloads/tags.py
-@@ -1,11 +1,5 @@
- # -*- coding: utf-8 -*-
-
--# Deprecated as for Python 2.6.
--try:
-- import sets
--except:
-- pass
--
- # Trac imports.
- from trac.core import *
- from trac.resource import Resource
diff --git a/www/trac-downloads/pkg-descr b/www/trac-downloads/pkg-descr
deleted file mode 100644
index a3de563c6392..000000000000
--- a/www/trac-downloads/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-This plugin provides downloads section which may contain releases or
-other files. It is administrated via WebAdminPlugin and there is an
-interface to the trac-admin tool that may help during automatic server
-maintenance. The Downloads section of Trac displays a table with
-information about the uploaded files such as description, component,
-version, size, architecture, type and optionally assigned tags which the
-download is related to. It also collects information about number of
-downloads which can be displayed on wiki page together with direct links
-to the specified download.
-
-WWW: https://trac-hacks.org/wiki/DownloadsPlugin
diff --git a/www/trac-email2trac-postfix/Makefile b/www/trac-email2trac-postfix/Makefile
deleted file mode 100644
index 048ac6f07b32..000000000000
--- a/www/trac-email2trac-postfix/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-# $FreeBSD$
-
-PKGNAMESUFFIX= -postfix
-
-CONFLICTS_INSTALL= trac-email2trac-[0-9]*
-
-OPTIONS_SLAVE= POSTFIX
-
-MASTERDIR= ${.CURDIR}/../trac-email2trac
-
-.include "${MASTERDIR}/Makefile"
diff --git a/www/trac-email2trac/Makefile b/www/trac-email2trac/Makefile
deleted file mode 100644
index 5d42e67adc30..000000000000
--- a/www/trac-email2trac/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= email2trac
-PORTVERSION= 2.12.2
-CATEGORIES= www devel python
-MASTER_SITES= ftp://ftp.sara.nl/pub/outgoing/
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Convert email to trac tickets
-
-LICENSE= APACHE20
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-RUN_DEPENDS= tracd:www/trac
-
-CONFLICTS_INSTALL?= trac-email2trac-postfix-[0-9]*
-
-OPTIONS_DEFINE= POSTFIX DOCS
-POSTFIX_DESC= Configure suid script for postfix
-
-TRACUSER?= ${WWWOWN}
-
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-trac-user=${TRACUSER} --with-mta-user=${MTAUSER}
-USES= python:2.7
-
-PORTDOCS= AUTHORS ChangeLog INSTALL README
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MPOSTFIX}
-MTAUSER?= nobody
-.else
-MTAUSER?= mailnull
-.endif
-
-do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/delete_spam.py ${STAGEDIR}${PREFIX}/bin/delete_spam
- ${INSTALL_SCRIPT} ${WRKSRC}/email2trac.py ${STAGEDIR}${PREFIX}/bin/email2trac
- ${INSTALL_PROGRAM} \
- ${WRKSRC}/run_email2trac ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC}/email2trac.conf \
- ${STAGEDIR}${PREFIX}/etc/email2trac.conf.sample
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for file in ${PORTDOCS}
- ${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${DOCSDIR}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/www/trac-email2trac/distinfo b/www/trac-email2trac/distinfo
deleted file mode 100644
index 0d470ce7cb99..000000000000
--- a/www/trac-email2trac/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1525095454
-SHA256 (email2trac-2.12.2.tar.gz) = d2540cdfdb337b10c137a4dd069856e13c5831efa0ced47e905f6901827212d6
-SIZE (email2trac-2.12.2.tar.gz) = 102415
diff --git a/www/trac-email2trac/pkg-descr b/www/trac-email2trac/pkg-descr
deleted file mode 100644
index 4eec701c05cc..000000000000
--- a/www/trac-email2trac/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-This is a release of the SARA package email2trac that contains utilities that
-we use to convert emails to trac tickets. The initial setup was made by Daniel
-Lundin from Edgewall Software. SARA has extend the initial setup, with the
-following extensions:
-
-* HTML messages
-* Attachments
-* Use commandline options
-* Use config file to change the behaviour of the email2trac.py program
-* unicode support for special characters in the headers of an email message
-
-WWW: https://oss.trac.surfsara.nl/email2trac
diff --git a/www/trac-email2trac/pkg-plist b/www/trac-email2trac/pkg-plist
deleted file mode 100644
index bebe28228b82..000000000000
--- a/www/trac-email2trac/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-bin/delete_spam
-bin/email2trac
-@(,,4111) bin/run_email2trac
-@sample etc/email2trac.conf.sample
diff --git a/www/trac-estimator/Makefile b/www/trac-estimator/Makefile
deleted file mode 100644
index e2fb9a675eb3..000000000000
--- a/www/trac-estimator/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= estimator
-PORTVERSION= 0.1.1
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Produce detailed range-based estimations for Trac tickets
-
-LICENSE= MIT
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-estimator/distinfo b/www/trac-estimator/distinfo
deleted file mode 100644
index b8675d0618aa..000000000000
--- a/www/trac-estimator/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (estimatorplugin-0.1.1.tar.gz) = bc6d16af2da264b91c1445d5fc8732f0fa77913a70f8c94e859ff2e402f14155
-SIZE (estimatorplugin-0.1.1.tar.gz) = 32631
diff --git a/www/trac-estimator/pkg-descr b/www/trac-estimator/pkg-descr
deleted file mode 100644
index 2dde91eb6b1d..000000000000
--- a/www/trac-estimator/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-This Trac plugin implements a page for creating time estimates. The
-estimates will be attached to whatever tickets are specified in the
-tickets box.
-
-WWW: https://trac-hacks.org/wiki/EstimatorPlugin
diff --git a/www/trac-estimator/pkg-message b/www/trac-estimator/pkg-message
deleted file mode 100644
index 279f1eef0181..000000000000
--- a/www/trac-estimator/pkg-message
+++ /dev/null
@@ -1,21 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-estimatorplugin.api.estimatorsetupparticipant = enabled
-estimatorplugin.macro_provider.estimatormacroprovider = enabled
-estimatorplugin.webui.estimationspage = enabled
-
-to your trac.ini to enable the plugin.
-
-Next, upgrade your database with the command:
-
- trac-admin /full/path/to/YourProjectName upgrade
-
-Finally, restart your web server, browse to your Trac URL
-and click on the "Estimate" button to create an estimate.
-EOM
-}
-]
diff --git a/www/trac-fivestarvote/Makefile b/www/trac-fivestarvote/Makefile
deleted file mode 100644
index 8d929a227c24..000000000000
--- a/www/trac-fivestarvote/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= fivestarvote
-PORTVERSION= 0.1
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Five star plugin for voting on Trac resources
-
-RUN_DEPENDS= tracd:www/trac
-
-LICENSE= BSD
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export http://trac-hacks.org/svn/fivestarvoteplugin/0.11/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-fivestarvote/distinfo b/www/trac-fivestarvote/distinfo
deleted file mode 100644
index dd517802c657..000000000000
--- a/www/trac-fivestarvote/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (fivestarvote-0.1.tar.gz) = a648d657b7af82e116244a943d79bb6604ed0212a3e6daae9e943076eac064ee
-SIZE (fivestarvote-0.1.tar.gz) = 19456
diff --git a/www/trac-fivestarvote/pkg-descr b/www/trac-fivestarvote/pkg-descr
deleted file mode 100644
index a438d5a2b770..000000000000
--- a/www/trac-fivestarvote/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-This plugin is a modified version of the VotePlugin (www/trac-vote).
-
-Instead of having up and down arrows, this plugin uses a 5-star approach
-to rate resources.
-
-WWW: https://trac-hacks.org/wiki/FiveStarVotePlugin
diff --git a/www/trac-fullblog/Makefile b/www/trac-fullblog/Makefile
deleted file mode 100644
index 7b7b1ba7bff2..000000000000
--- a/www/trac-fullblog/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= fullblog
-PORTVERSION= 0.1.1
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin that provides a project Blog
-
-LICENSE= BSD
-
-RUN_DEPENDS= htmldoc:textproc/htmldoc \
- tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.if defined(BOOTSTRAP)
-do-fetch:
- ${MKDIR} ${WRKDIR}
- svn export http://trac-hacks.org/svn/fullblogplugin/0.11/ ${WRKSRC}
- ${MKDIR} ${_DISTDIR}
- cd ${WRKDIR} && \
- ${TAR} cfvz ${_DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-fullblog/distinfo b/www/trac-fullblog/distinfo
deleted file mode 100644
index c74ece692b80..000000000000
--- a/www/trac-fullblog/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/fullblogplugin-0.1.1.tar.gz) = 9d6480a0b4a82c92af81ccd20af843721c46c1cc42b309a5bc2ccc45cd693288
-SIZE (trac/fullblogplugin-0.1.1.tar.gz) = 34052
diff --git a/www/trac-fullblog/pkg-descr b/www/trac-fullblog/pkg-descr
deleted file mode 100644
index 399a0ec33989..000000000000
--- a/www/trac-fullblog/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-This plugin provides a project Blog, but unlike TracBlogPlugin and
-SimpleBlogPlugin it does not use Wiki pages to store the content.
-It has no dependencies on other plugins.
-
-WWW: https://trac-hacks.org/wiki/FullBlogPlugin
diff --git a/www/trac-fullblognotification/Makefile b/www/trac-fullblognotification/Makefile
deleted file mode 100644
index 07964434ab7d..000000000000
--- a/www/trac-fullblognotification/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= fullblognotification
-PORTVERSION= 0.2.1
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin that provides a project Blog
-
-RUN_DEPENDS= trac-fullblog>=0.1.1:www/trac-fullblog
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.if defined(BOOTSTRAP)
-do-fetch:
- ${MKDIR} ${WRKDIR}
- svn export http://trac-hacks.org/svn/fullblognotificationplugin/0.12/ \
- ${WRKSRC}
- ${MKDIR} ${_DISTDIR}
- cd ${WRKDIR} && \
- tar cfvz ${_DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-fullblognotification/distinfo b/www/trac-fullblognotification/distinfo
deleted file mode 100644
index e8242e76e2dd..000000000000
--- a/www/trac-fullblognotification/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/fullblognotificationplugin-0.2.1.tar.gz) = 3c58f59cdb05bdaea6de17af710a90f95915b1bad3880468a87f2bc2edf5eba3
-SIZE (trac/fullblognotificationplugin-0.2.1.tar.gz) = 4605
diff --git a/www/trac-fullblognotification/pkg-descr b/www/trac-fullblognotification/pkg-descr
deleted file mode 100644
index c2cfe265ebaa..000000000000
--- a/www/trac-fullblognotification/pkg-descr
+++ /dev/null
@@ -1,18 +0,0 @@
-This plugin uses the blog change interface in FullBlogPlugin to send out
-email notifications for:
- * new posts
- * updated posts
- * comment added
- * deleted posts
-
-Email notifications are sent to the user who made the change.
-Notifications can also be sent to other users or a distribution list by
-specifying the smtp_always_cc option.
-
-The emails are sent in plain text using a template that was modeled
-after Trac's ticket_notify_email template.
-
-If you are using the AnnouncerPlugin, you should use its FullBlogPlugin
-rather than the FullBlogNotificationPlugin.
-
-WWW: https://trac-hacks.org/wiki/FullBlogNotificationPlugin
diff --git a/www/trac-graphviz/Makefile b/www/trac-graphviz/Makefile
deleted file mode 100644
index bb9edda7aaf7..000000000000
--- a/www/trac-graphviz/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= ${PYDISTUTILS_PKGNAME:S;^Trac;;S;Plugin$;;:tl}
-PORTVERSION= 0.7.4
-PORTREVISION= 9
-CATEGORIES= www devel graphics python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Graphviz plugin for Trac's wiki
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= urwfonts>0:x11-fonts/urwfonts \
- dot:graphics/graphviz \
- tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= autoplist distutils
-PYDISTUTILS_PKGNAME= graphviz
-NO_ARCH= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin
-
-post-patch:
- @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
- -e 's|%%PREFIX%%|${PREFIX}|' \
- -e 's|%%OSMAJOR%%|${OSREL:C/\..*$//}|' \
- ${WRKSRC}/graphviz/graphviz.py
-
-.include <bsd.port.mk>
diff --git a/www/trac-graphviz/distinfo b/www/trac-graphviz/distinfo
deleted file mode 100644
index a297bc890187..000000000000
--- a/www/trac-graphviz/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (graphvizplugin-0.7.4.tar.gz) = 46de5e8de432366cc21b5683718894f1d6b4db10a5440559ad1dc2b94ac188e1
-SIZE (graphvizplugin-0.7.4.tar.gz) = 17881
diff --git a/www/trac-graphviz/files/patch-graphviz_graphviz.py b/www/trac-graphviz/files/patch-graphviz_graphviz.py
deleted file mode 100644
index 0600bf20bc3e..000000000000
--- a/www/trac-graphviz/files/patch-graphviz_graphviz.py
+++ /dev/null
@@ -1,36 +0,0 @@
---- graphviz/graphviz.py.orig 2008-10-13 16:24:45 UTC
-+++ graphviz/graphviz.py
-@@ -16,11 +16,11 @@ __docformat__ = 'restructuredtext'
- __version__ = '0.7.2'
-
-
-+import hashlib
- import inspect
- import locale
- import os
- import re
--import sha
- import subprocess
- import sys
-
-@@ -59,10 +59,7 @@ class Graphviz(Component):
- 'c:\\Program Files\\ATT\\Graphviz\\bin',
- ],
-
-- 'freebsd6': ['/usr/local/bin',
-- ],
--
-- 'freebsd5': ['/usr/local/bin',
-+ 'freebsd%%OSMAJOR%%': ['%%LOCALBASE%%/bin',
- ],
-
- 'darwin': ['/opt/local/bin',
-@@ -312,7 +309,7 @@ class Graphviz(Component):
- encoded_cmd = (processor + unicode(self.processor_options)) \
- .encode(self.encoding)
- encoded_content = content.encode(self.encoding)
-- sha_key = sha.new(encoded_cmd + encoded_content).hexdigest()
-+ sha_key = hashlib.sha1(encoded_cmd + encoded_content).hexdigest()
- img_name = '%s.%s.%s' % (sha_key, processor, out_format)
- # cache: hash.<dot>.<png>
- img_path = os.path.join(self.cache_dir, img_name)
diff --git a/www/trac-graphviz/pkg-descr b/www/trac-graphviz/pkg-descr
deleted file mode 100644
index c9a4cde28478..000000000000
--- a/www/trac-graphviz/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-The GraphvizPlugin allows for the inline creation of diagrams for abstract
-graphs and networks using the Graphviz programs.
-
-WWW: http://trac-hacks.org/wiki/GraphvizPlugin
diff --git a/www/trac-iniadmin/Makefile b/www/trac-iniadmin/Makefile
deleted file mode 100644
index e576b28b537e..000000000000
--- a/www/trac-iniadmin/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= iniadmin
-PORTVERSION= 0.2.3915
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= http://people.freebsd.org/~mm/trac/
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Edit all trac.ini option via the WebAdminPlugin
-
-LICENSE= BSD
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-iniadmin/distinfo b/www/trac-iniadmin/distinfo
deleted file mode 100644
index 087b5a9878ef..000000000000
--- a/www/trac-iniadmin/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (iniadminplugin-0.2.3915.tar.gz) = 43ebd22de58f79922b84aef87d4727baa04c6e56830385565484013313777389
-SIZE (iniadminplugin-0.2.3915.tar.gz) = 2735
diff --git a/www/trac-iniadmin/pkg-descr b/www/trac-iniadmin/pkg-descr
deleted file mode 100644
index 702563423e46..000000000000
--- a/www/trac-iniadmin/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Edit all trac.ini options via the WebAdminPlugin
-
-WWW: https://trac-hacks.org/wiki/IniAdminPlugin
diff --git a/www/trac-keywords/Makefile b/www/trac-keywords/Makefile
deleted file mode 100644
index ff6f01d68104..000000000000
--- a/www/trac-keywords/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Created by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
-# $FreeBSD$
-
-PORTNAME= keywords
-PORTVERSION= 0.2
-PORTREVISION= 4
-CATEGORIES= www python
-MASTER_SITES= http://dist.codelabs.ru/fbsd/
-PKGNAMEPREFIX= trac-
-DISTNAME= trackeywordsplugin-r${REL}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for using pre-configured keywords
-
-LICENSE= BSD3CLAUSE
-
-RUN_DEPENDS= trac>=0.11:www/trac
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-WRKSRC= ${WRKDIR}/trackeywordsplugin/0.11
-NO_ARCH= yes
-REL= 7273
-
-post-extract:
-# Fix misplaced Genshi template: https://trac-hacks.org/ticket/6104
- @${MV} ${WRKDIR}/trackeywordsplugin/0.10/trackeywords/templates/keywords.html ${WRKSRC}/trackeywords/templates/
-# Seems like web_ui.py was misplaced too.
- @${MV} ${WRKDIR}/trackeywordsplugin/0.10/trackeywords/web_ui.py ${WRKSRC}/trackeywords/
-
-.include <bsd.port.mk>
diff --git a/www/trac-keywords/distinfo b/www/trac-keywords/distinfo
deleted file mode 100644
index 8bfa3a9b928b..000000000000
--- a/www/trac-keywords/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trackeywordsplugin-r7273.zip) = 64f4e88a96039cbcc35ae835d87ed2a9a1aa28e97281caa443092c52ad18f572
-SIZE (trackeywordsplugin-r7273.zip) = 9528
diff --git a/www/trac-keywords/files/patch-fix-javascript b/www/trac-keywords/files/patch-fix-javascript
deleted file mode 100644
index cb0e6270b48c..000000000000
--- a/www/trac-keywords/files/patch-fix-javascript
+++ /dev/null
@@ -1,22 +0,0 @@
---- trackeywords/templates/keywords.cs.orig 2007-09-11 15:09:40 UTC
-+++ trackeywords/templates/keywords.cs
-@@ -9,7 +9,7 @@ function initTags() {
- var el = document.getElementById('keywords');
- var currentTags = el.value.split(/\s+/);
- for(i in currentTags) {
-- link = document.getElementById('add_' + currentTags[i]);
-+ var link = document.getElementById('add_' + currentTags[i]);
- if(link)
- link.className = "sel";
- }
---- trackeywords/templates/keywords.html.orig 2009-09-09 13:18:34 UTC
-+++ trackeywords/templates/keywords.html
-@@ -14,7 +14,7 @@ function initTags() {
- var currentTags = el.value.split(/\s+/);
-
- for(i in currentTags) {
-- link = document.getElementById('add_' + currentTags[i]);
-+ var link = document.getElementById('add_' + currentTags[i]);
- if(link)
- link.className = "sel";
- }
diff --git a/www/trac-keywords/files/patch-trackeywords_web__ui.py b/www/trac-keywords/files/patch-trackeywords_web__ui.py
deleted file mode 100644
index 5ad5c2e587c3..000000000000
--- a/www/trac-keywords/files/patch-trackeywords_web__ui.py
+++ /dev/null
@@ -1,12 +0,0 @@
---- trackeywords/web_ui.py.orig 2009-09-09 13:18:34 UTC
-+++ trackeywords/web_ui.py
-@@ -80,7 +80,8 @@ class TracKeywordsComponent(core.Compone
-
- # changed to Genshi signature
- def post_process_request(self, req, template, data, content_type):
-- data['keywords'] = self._get_keywords()
-+ if data is not None:
-+ data['keywords'] = self._get_keywords()
- return (template, data, content_type)
-
- ### ITemplateProvider methods
diff --git a/www/trac-keywords/pkg-descr b/www/trac-keywords/pkg-descr
deleted file mode 100644
index c7a3e9d9d598..000000000000
--- a/www/trac-keywords/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This plug-in allows you to add entries to the Keywords entry field
-from a configured list of keywords by clicking on them.
-
-WWW: https://trac-hacks.org/wiki/TracKeywordsPlugin
diff --git a/www/trac-keywordsecretticket/Makefile b/www/trac-keywordsecretticket/Makefile
deleted file mode 100644
index ebd67236d779..000000000000
--- a/www/trac-keywordsecretticket/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Created by: Hung-Yi Chen <gaod@hychen.org>
-# $FreeBSD$
-
-PORTNAME= keywordsecretticket
-PORTVERSION= 1.0.2
-CATEGORIES= www devel python
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= gaod@hychen.org
-COMMENT= Ticket security policy based on keyword for Trac
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7
-
-USE_GITHUB= yes
-GH_ACCOUNT= trac-hacks
-GH_PROJECT= trac-keyword-secret-ticket-plugin
-
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-keywordsecretticket/distinfo b/www/trac-keywordsecretticket/distinfo
deleted file mode 100644
index 51710f9c3257..000000000000
--- a/www/trac-keywordsecretticket/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1541880058
-SHA256 (trac-hacks-trac-keyword-secret-ticket-plugin-1.0.2_GH0.tar.gz) = 60a364b359f5d7b856d69106a1810e958db7947bde6a1506272497c752c37fdd
-SIZE (trac-hacks-trac-keyword-secret-ticket-plugin-1.0.2_GH0.tar.gz) = 2832
diff --git a/www/trac-keywordsecretticket/pkg-descr b/www/trac-keywordsecretticket/pkg-descr
deleted file mode 100644
index 8d61773438ed..000000000000
--- a/www/trac-keywordsecretticket/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Adds ticket security policy based on keyword.
-
-WWW: https://github.com/KKBOX/trac-keyword-secret-ticket-plugin
diff --git a/www/trac-ldap/Makefile b/www/trac-ldap/Makefile
deleted file mode 100644
index 2272155f7600..000000000000
--- a/www/trac-ldap/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= ldap
-PORTVERSION= 0.7.0.${SVN_REVISION}
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/matthew
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Trac plugin to use LDAP to store permissions
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac \
- trac-accountmanager>0:www/trac-accountmanager
-
-NO_ARCH= yes
-PORTSCOUT= ignore:1
-SVN_REVISION= 15146
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export --non-interactive \
- --trust-server-cert-failures=unknown-ca \
- --revision ${SVN_REVISION} \
- https://trac-hacks.org/svn/${PORTNAME}plugin/0.12/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-ldap/distinfo b/www/trac-ldap/distinfo
deleted file mode 100644
index 4e0b8be2c9b1..000000000000
--- a/www/trac-ldap/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ldapplugin-0.7.0.15146.tar.gz) = 3d7fcd4e8bca7155482982b0c521eb26b0101756d9bffd301b813ffa757a9895
-SIZE (ldapplugin-0.7.0.15146.tar.gz) = 40960
diff --git a/www/trac-ldap/pkg-descr b/www/trac-ldap/pkg-descr
deleted file mode 100644
index ef5e8325fe25..000000000000
--- a/www/trac-ldap/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-LDAP extensions to grant group permissions
-
-This extension enables the use of existing LDAP groups to grant
-permissions rather than defining permissions for every single user on
-the system. Also permits storage of permissions (both users and
-groups permissions) in the LDAP directory itself rather than in the
-database backend.
-
-WWW: https://trac-hacks.org/wiki/LdapPlugin
diff --git a/www/trac-ldapauthstore/Makefile b/www/trac-ldapauthstore/Makefile
deleted file mode 100644
index 120ec49d25ca..000000000000
--- a/www/trac-ldapauthstore/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= ldapauthstore
-PORTVERSION= 0.3.2.${SVN_REVISION}
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/matthew
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Trac AccountManager plugin using LDAP authentication store
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac \
- trac-accountmanager>0:www/trac-accountmanager \
- trac-ldap>0:www/trac-ldap \
- ${PYTHON_PKGNAMEPREFIX}ldap>0:net/py-ldap@${PY_FLAVOR}
-
-NO_ARCH= yes
-PORTSCOUT= ignore:1
-SVN_REVISION= 15146
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export --non-interactive \
- --trust-server-cert-failures=unknown-ca \
- --revision ${SVN_REVISION} \
- https://trac-hacks.org/svn/${PORTNAME}plugin/trunk/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-ldapauthstore/distinfo b/www/trac-ldapauthstore/distinfo
deleted file mode 100644
index eb1d63e430cc..000000000000
--- a/www/trac-ldapauthstore/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ldapauthstoreplugin-0.3.2.15146.tar.gz) = 380797ff3a965373e36d274dc2b85549d5d9abd5d9eac3278f8b2160a69d52f6
-SIZE (ldapauthstoreplugin-0.3.2.15146.tar.gz) = 25600
diff --git a/www/trac-ldapauthstore/pkg-descr b/www/trac-ldapauthstore/pkg-descr
deleted file mode 100644
index 6225d598c76e..000000000000
--- a/www/trac-ldapauthstore/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-This plugin is a password store for the AccountManagerPlugin that
-provides authentication and group membership from an LDAP
-service. Users are authenticated by performing an LDAP bind against a
-directory using their credentials. The plugin will also pull the email
-address and username from the directory and populate the
-session_attribute table.
-
-WWW: https://trac-hacks.org/wiki/LdapAuthStorePlugin
-
diff --git a/www/trac-math/Makefile b/www/trac-math/Makefile
deleted file mode 100644
index d9b3230a9a3b..000000000000
--- a/www/trac-math/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= math
-PORTVERSION= 0.1
-PORTREVISION= 8
-CATEGORIES= www math python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Support for LaTeX math formulas in wiki pages
-
-RUN_DEPENDS= tracd:www/trac
-
-USE_TEX= latex
-SUB_FILES= pkg-message
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export http://trac-hacks.org/svn/tracmathplugin/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-math/distinfo b/www/trac-math/distinfo
deleted file mode 100644
index 8b57fe8b56f0..000000000000
--- a/www/trac-math/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (math-0.1.tar.gz) = 6690f91e1905b6a3f213edb2a69e9268695a7acc1b3df921e963d453d9b2b2db
-SIZE (math-0.1.tar.gz) = 12800
diff --git a/www/trac-math/files/patch-tracmath_tracmath.py b/www/trac-math/files/patch-tracmath_tracmath.py
deleted file mode 100644
index f0b37da150da..000000000000
--- a/www/trac-math/files/patch-tracmath_tracmath.py
+++ /dev/null
@@ -1,21 +0,0 @@
---- tracmath/tracmath.py.orig 2008-04-04 08:58:46 UTC
-+++ tracmath/tracmath.py
-@@ -4,8 +4,8 @@ This has currently been tested only on t
- """
-
- import codecs
-+import hashlib
- import re
--import sha
- from cStringIO import StringIO
- import os
- import sys
-@@ -142,7 +142,7 @@ class TracMathPlugin(Component):
- if m:
- label = m.group(1)
-
-- key = sha.new(content.encode('utf-8')).hexdigest()
-+ key = hashlib.sha1(content.encode('utf-8')).hexdigest()
-
- imgname = key + '.png'
- imgpath = os.path.join(self.cacheDirectory, imgname)
diff --git a/www/trac-math/files/pkg-message.in b/www/trac-math/files/pkg-message.in
deleted file mode 100644
index bb0738e10587..000000000000
--- a/www/trac-math/files/pkg-message.in
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To use the plugin, you must add at least the following to your trac.ini.
-
- [tracmath]
- latex_cmd = %%LOCALBASE%%/bin/latex
- dvipng_cmd = %%LOCALBASE%%/bin/dvipng
-
-You may also wish to set:
-
- cache_dir = <cache directory>
- max_png = <max number of pngs in cache - defaults to 500>
- use_dollars = enabled
-EOM
-}
-]
diff --git a/www/trac-math/pkg-descr b/www/trac-math/pkg-descr
deleted file mode 100644
index eb49bb16f000..000000000000
--- a/www/trac-math/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Allow embedded equations in wiki pages. Basically a port of mt-math to
-trac.
-
-WWW: https://trac-hacks.org/wiki/TracMathPlugin
diff --git a/www/trac-mercurial/Makefile b/www/trac-mercurial/Makefile
deleted file mode 100644
index d14af09a6463..000000000000
--- a/www/trac-mercurial/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= mercurial
-PORTVERSION= 1.0.0.3
-PORTREVISION= 2
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/rm
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin to use Mercurial instead of Subversion in Trac
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= ${PY_MERCURIAL} \
- tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-mercurial/distinfo b/www/trac-mercurial/distinfo
deleted file mode 100644
index 17567214e9d4..000000000000
--- a/www/trac-mercurial/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/mercurialplugin-1.0.0.3.tar.gz) = 733f0e30c5b3e9521f72b755f471b8b8f9ae27f5643ab7ffb01d6ca4bcda2bc9
-SIZE (trac/mercurialplugin-1.0.0.3.tar.gz) = 26597
diff --git a/www/trac-mercurial/pkg-descr b/www/trac-mercurial/pkg-descr
deleted file mode 100644
index 00fdabf14e4e..000000000000
--- a/www/trac-mercurial/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This a plugin for Trac which enables Mercurial to be used instead of Subversion
-as the VersioningSystemBackend for Trac.
-
-WWW: http://trac.edgewall.org/wiki/TracMercurial
diff --git a/www/trac-navadd/Makefile b/www/trac-navadd/Makefile
deleted file mode 100644
index 627a78815a59..000000000000
--- a/www/trac-navadd/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= navadd
-PORTVERSION= 0.1
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for adding navigation items into Trac navigation bars
-
-LICENSE= BSD
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin
-
-.include <bsd.port.mk>
diff --git a/www/trac-navadd/distinfo b/www/trac-navadd/distinfo
deleted file mode 100644
index d5c0b8c185bf..000000000000
--- a/www/trac-navadd/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (navaddplugin-0.1.tar.gz) = be851c37c704e1c031e8043bf9845a259c5c9f3b2e1828be7dcbd5b9f8b0d4fa
-SIZE (navaddplugin-0.1.tar.gz) = 981
diff --git a/www/trac-navadd/pkg-descr b/www/trac-navadd/pkg-descr
deleted file mode 100644
index 9c38a36e61a1..000000000000
--- a/www/trac-navadd/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-This plugin allows you to add custom items ("buttons") to both the main
-and the meta navigation bar. Item name, title and URL can be specified
-in trac.ini, as well as an optional permission the user is required to
-have to see the item.
-
-The plugin was inspired by and derived from NavMoverPlugin. In contrast
-to NavMoverPlugin this plugin does not hide navigation bars.
-
-WWW: https://trac-hacks.org/wiki/NavAddPlugin
diff --git a/www/trac-permredirect/Makefile b/www/trac-permredirect/Makefile
deleted file mode 100644
index 091aae99a68b..000000000000
--- a/www/trac-permredirect/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# Created by: Grzegorz Blach <gblach@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= permredirect
-PORTVERSION= 3.0
-PORTREVISION= 1
-CATEGORIES= www devel python
-MASTER_SITES= http://trac-hacks.org/changeset/${REV}/${PORTNAME}plugin/tags/${PORTVERSION}?old_path=${PORTNAME}plugin&format=zip&filename= \
- LOCAL/gblach/
-PKGNAMEPREFIX= trac-
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Redirect users to the login screen on PermissionError
-
-LICENSE= BSD
-
-RUN_DEPENDS= tracd:www/trac
-
-FETCH_BEFORE_ARGS= -o ${DISTFILES}
-REV= 13353
-USES= python:2.7 zip:infozip
-USE_PYTHON= distutils autoplist
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/tags/${PORTVERSION}
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-permredirect/distinfo b/www/trac-permredirect/distinfo
deleted file mode 100644
index c685a3fa4664..000000000000
--- a/www/trac-permredirect/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/permredirect-3.0.zip) = cdad7f4efefeda90a54cb079ee0ef73eb157227074a638c211481b8b7b89721f
-SIZE (trac/permredirect-3.0.zip) = 2095
diff --git a/www/trac-permredirect/pkg-descr b/www/trac-permredirect/pkg-descr
deleted file mode 100644
index 050b9c799e00..000000000000
--- a/www/trac-permredirect/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Trac plugin which redirects users to the login screen on PermissionError.
-
-WWW: https://trac-hacks.org/wiki/PermRedirectPlugin
diff --git a/www/trac-privatetickets/Makefile b/www/trac-privatetickets/Makefile
deleted file mode 100644
index 1ea12adbb489..000000000000
--- a/www/trac-privatetickets/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Created by: Li-Wen Hsu <lwhsu@lwhsu.org>
-# $FreeBSD$
-
-PORTNAME= privatetickets
-PORTVERSION= 2.3.0
-CATEGORIES= www devel python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= trac-
-DISTNAME= TracPrivateTickets-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Modified ticket security for Trac
-
-LICENSE= BSD2CLAUSE
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-privatetickets/distinfo b/www/trac-privatetickets/distinfo
deleted file mode 100644
index 6b98af1f5e5f..000000000000
--- a/www/trac-privatetickets/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1536176139
-SHA256 (TracPrivateTickets-2.3.0.tar.gz) = 6ab51573ccafa937b5c9f80c9fa152483d20173823779b6ffc88c0efed7c4a86
-SIZE (TracPrivateTickets-2.3.0.tar.gz) = 5933
diff --git a/www/trac-privatetickets/pkg-descr b/www/trac-privatetickets/pkg-descr
deleted file mode 100644
index ed2b54c339bd..000000000000
--- a/www/trac-privatetickets/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-Allow users to only see tickets they are associated with.
-
-There are three new permissions for this plugin: TICKET_VIEW_REPORTER,
-TICKET_VIEW_CC, and TICKET_VIEW_OWNER. TICKET_VIEW_SELF is an alias
-for all three of these.
-
-With each permission, users will only be able to see tickets where they are
-the person mentioned in the permission. So if a user has TICKET_VIEW_REPORTER,
-they can only see tickets they reported. For TICKET_VIEW_CC, they just have to
-be included in the CC list.
-
-WWW: https://trac-hacks.org/wiki/PrivateTicketsPlugin
diff --git a/www/trac-pydotorgtheme/Makefile b/www/trac-pydotorgtheme/Makefile
deleted file mode 100644
index e7f0a9e9b700..000000000000
--- a/www/trac-pydotorgtheme/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= pydotorgtheme
-PORTVERSION= 2.0
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Theme that emulates the look of python.org
-
-LICENSE= BSD
-
-RUN_DEPENDS= tracd:www/trac \
- trac-themeengine>=2.0:www/trac-themeengine
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}
-
-.include <bsd.port.mk>
diff --git a/www/trac-pydotorgtheme/distinfo b/www/trac-pydotorgtheme/distinfo
deleted file mode 100644
index eeabe8617a6c..000000000000
--- a/www/trac-pydotorgtheme/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pydotorgtheme-2.0.tar.gz) = 22158d92710938ef7a7ccc4622461a820d596c8292b208d06a981355d0a9d178
-SIZE (pydotorgtheme-2.0.tar.gz) = 2732
diff --git a/www/trac-pydotorgtheme/pkg-descr b/www/trac-pydotorgtheme/pkg-descr
deleted file mode 100644
index 966de1bc7e82..000000000000
--- a/www/trac-pydotorgtheme/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-This is a theme that emulates the look of python.org.
-
-WWW: https://trac-hacks.org/wiki/PyDotOrgTheme
diff --git a/www/trac-scrumburndown/Makefile b/www/trac-scrumburndown/Makefile
deleted file mode 100644
index e04a0aff33c5..000000000000
--- a/www/trac-scrumburndown/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: Greg Larkin <glarkin@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= scrumburndown
-PORTVERSION= 1.9.2
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin to enable Scrum burndown chart capabilities
-
-LICENSE= APACHE20
-
-RUN_DEPENDS= tracd:www/trac \
- trac-timingandestimation>=0:www/trac-timingandestimation
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-scrumburndown/distinfo b/www/trac-scrumburndown/distinfo
deleted file mode 100644
index 85dc93d12a6f..000000000000
--- a/www/trac-scrumburndown/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (scrumburndown-1.9.2.tar.gz) = bcd7a685fdc191a590f0485991dd1f69063f9b1f29824beb4b5d775d85f06d95
-SIZE (scrumburndown-1.9.2.tar.gz) = 6194062
diff --git a/www/trac-scrumburndown/pkg-descr b/www/trac-scrumburndown/pkg-descr
deleted file mode 100644
index 57edabdb5640..000000000000
--- a/www/trac-scrumburndown/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This Trac plugin adds burndown chart capabilities, a common part
-of Scrum and other agile development methodologies.
-
-WWW: http://trac-hacks.org/wiki/ScrumBurndownPlugin
diff --git a/www/trac-scrumburndown/pkg-message b/www/trac-scrumburndown/pkg-message
deleted file mode 100644
index a198216937f0..000000000000
--- a/www/trac-scrumburndown/pkg-message
+++ /dev/null
@@ -1,22 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-timingandestimationplugin.* = enabled
-burndown.* = enabled
-
-to your trac.ini to enable the plugins.
-
-Next, upgrade your database with the command:
-
- trac-admin /full/path/to/YourProjectName upgrade
-
-Finally, visit:
-http://trac-hacks.org/wiki/ScrumBurndownPlugin#Usingtheplugin
-
-for usage instructions.
-EOM
-}
-]
diff --git a/www/trac-spam-filter/Makefile b/www/trac-spam-filter/Makefile
deleted file mode 100644
index 11d6db34c6be..000000000000
--- a/www/trac-spam-filter/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: sutra
-# $FreeBSD$
-
-PORTNAME= TracSpamFilter
-PORTVERSION= 0.2.1
-PORTREVISION= 7
-CATEGORIES= www devel python
-MASTER_SITES= http://zhoushuqun.com/files/ \
- http://freebsd.unixfreunde.de/sources/
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= zhoushuqun@gmail.com
-COMMENT= Allow different ways to reject contributions that contain spam
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}dev
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-spam-filter/distinfo b/www/trac-spam-filter/distinfo
deleted file mode 100644
index 92a8ef98e72b..000000000000
--- a/www/trac-spam-filter/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (TracSpamFilter-0.2.1.tar.gz) = 9f94e3b8d6daacc7b1e6cb908925d95793726cbc08a22e116ccddbb1210815ec
-SIZE (TracSpamFilter-0.2.1.tar.gz) = 50911
diff --git a/www/trac-spam-filter/pkg-descr b/www/trac-spam-filter/pkg-descr
deleted file mode 100644
index 8f3a8af758a0..000000000000
--- a/www/trac-spam-filter/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-A plugin is being developed that will allow different ways to reject
-contributions that contain spam.
-
-WWW: http://trac.edgewall.org/wiki/SpamFilter
diff --git a/www/trac-subtickets/Makefile b/www/trac-subtickets/Makefile
deleted file mode 100644
index c2a97c506c61..000000000000
--- a/www/trac-subtickets/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Created by: Hung-Yi Chen <gaod@hychen.org>
-# $FreeBSD$
-
-PORTNAME= subtickets
-PORTVERSION= 0.2.0.${GITDATE}
-PORTREVISION= 2
-CATEGORIES= www devel python
-MASTER_SITES= http://distfiles.cse.tw/
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= gaod@hychen.org
-COMMENT= Offers sub-ticket feature for managing tickets
-
-LICENSE= BSD3CLAUSE
-
-RUN_DEPENDS= tracd:www/trac
-
-USE_GITHUB= yes
-GH_ACCOUNT= itota
-GH_PROJECT= trac-subtickets-plugin
-GH_TAGNAME= a0fc153
-GITDATE= 20130328
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-subtickets/distinfo b/www/trac-subtickets/distinfo
deleted file mode 100644
index 06e329f9ee44..000000000000
--- a/www/trac-subtickets/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1477434380
-SHA256 (itota-trac-subtickets-plugin-0.2.0.20130328-a0fc153_GH0.tar.gz) = 06302d61339cae566f5f3e07a69f81679165ad6910a267843ed62a89bc451452
-SIZE (itota-trac-subtickets-plugin-0.2.0.20130328-a0fc153_GH0.tar.gz) = 7439
diff --git a/www/trac-subtickets/files/patch-setup.cfg b/www/trac-subtickets/files/patch-setup.cfg
deleted file mode 100644
index ae7ca6ad05af..000000000000
--- a/www/trac-subtickets/files/patch-setup.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
---- setup.cfg.orig 2012-10-27 18:40:31 UTC
-+++ setup.cfg
-@@ -1,6 +1,6 @@
- [egg_info]
- tag_build = .dev
--tag_date = True
-+tag_date = False
-
- [extract_messages]
- add_comments = TRANSLATOR:
diff --git a/www/trac-subtickets/files/patch-tracsubtickets_api.py b/www/trac-subtickets/files/patch-tracsubtickets_api.py
deleted file mode 100644
index d36c42d185d3..000000000000
--- a/www/trac-subtickets/files/patch-tracsubtickets_api.py
+++ /dev/null
@@ -1,20 +0,0 @@
---- tracsubtickets/api.py.orig 2012-10-27 18:40:31 UTC
-+++ tracsubtickets/api.py
-@@ -153,7 +153,7 @@ class SubTicketsSystem(Component):
- (parent, ticket.id))
- # add a comment to old parent
- xticket = Ticket(self.env, parent)
-- xticket.save_changes(author, _('Remove a subticket #%s.') % ticket.id)
-+ xticket.save_changes(author, _('Remove a subticket #%s. (%s)') % (ticket.id, ticket['summary']))
- tn = TicketNotifyEmail(self.env)
- tn.notify(xticket, newticket=False, modtime=xticket['changetime'])
-
-@@ -164,7 +164,7 @@ class SubTicketsSystem(Component):
- (parent, ticket.id))
- # add a comment to new parent
- xticket = Ticket(self.env, parent)
-- xticket.save_changes(author, _('Add a subticket #%s.') % ticket.id)
-+ xticket.save_changes(author, _('Add a subticket #%s. (%s)') % (ticket.id, ticket['summary']))
- tn = TicketNotifyEmail(self.env)
- tn.notify(xticket, newticket=False, modtime=xticket['changetime'])
-
diff --git a/www/trac-subtickets/pkg-descr b/www/trac-subtickets/pkg-descr
deleted file mode 100644
index aca581164563..000000000000
--- a/www/trac-subtickets/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-This plugin offers sub-ticket feature for managing tickets.
-
-WWW: http://trac-hacks.org/wiki/SubticketsPlugin
diff --git a/www/trac-tags/Makefile b/www/trac-tags/Makefile
deleted file mode 100644
index 9959761ea12c..000000000000
--- a/www/trac-tags/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= tags
-DISTVERSION= 0.7.r${SVN_REV}
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Generic tags frontend for trac
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.pre.mk>
-
-.if !defined(SVN_REV)
-.if defined(BOOTSTRAP)
-SVN_REV!= svn info http://trac-hacks.org/svn/tagsplugin/trunk/ | ${GREP} Revision | cut -d' ' -f2
-.else
-.include "Makefile.svn_rev"
-.endif
-.endif
-
-.if defined(BOOTSTRAP) || defined(SVN_FETCH)
-FETCH_DEPENDS+= svn:devel/subversion
-
-do-fetch:
- ${MKDIR} ${WRKDIR}
- svn export -r ${SVN_REV} \
- http://trac-hacks.org/svn/tagsplugin/trunk/ ${WRKSRC}
- cd ${WRKDIR}; tar cvfy ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.tar.bz2 ${DISTNAME}
- echo "SVN_REV= ${SVN_REV}" > ${MASTERDIR}/Makefile.svn_rev
-.if ${USER} == brooks
- scp ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.tar.bz2 \
- freefall.freebsd.org:public_distfiles/
-.endif
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/www/trac-tags/Makefile.svn_rev b/www/trac-tags/Makefile.svn_rev
deleted file mode 100644
index c45cee588277..000000000000
--- a/www/trac-tags/Makefile.svn_rev
+++ /dev/null
@@ -1 +0,0 @@
-SVN_REV= 11504
diff --git a/www/trac-tags/distinfo b/www/trac-tags/distinfo
deleted file mode 100644
index b6385d4dcdff..000000000000
--- a/www/trac-tags/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/tags-0.7.r11504.tar.bz2) = d4ca2ad73d8e3ab197b854639daf41747ba3bcacccbedd0e0ecc9c291a588353
-SIZE (trac/tags-0.7.r11504.tar.bz2) = 25799
diff --git a/www/trac-tags/files/patch-tractags_model.py b/www/trac-tags/files/patch-tractags_model.py
deleted file mode 100644
index 66f3247eebdd..000000000000
--- a/www/trac-tags/files/patch-tractags_model.py
+++ /dev/null
@@ -1,21 +0,0 @@
---- tractags/model.py.orig 2011-12-14 21:19:06 UTC
-+++ tractags/model.py
-@@ -62,17 +62,7 @@ class TagModelProvider(Component):
- self._upgrade_db(db)
-
- def _need_migration(self, db):
-- try:
-- cursor = db.cursor()
-- cursor.execute("SELECT COUNT(*) FROM wiki_namespace")
-- cursor.fetchone()
-- self.env.log.debug("tractags needs to migrate old data")
-- return True
-- except Exception, e:
-- # The expected outcome for any up-to-date installation.
-- if self.rollback_is_safe:
-- db.rollback()
-- return False
-+ return False
-
- def _upgrade_db(self, db):
- try:
diff --git a/www/trac-tags/pkg-descr b/www/trac-tags/pkg-descr
deleted file mode 100644
index 42811568371a..000000000000
--- a/www/trac-tags/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-The TagsPlugin implements both a generic tagging engine and frontends for the
-Wiki and ticket systems. An extra text entry box is added to the Wiki edit page
-for tagging Wiki pages and ticket fields (you can configure which ones) are
-treated as tags for the ticket system.
-
-WWW: http://trac-hacks.org/wiki/TagsPlugin
diff --git a/www/trac-themeengine/Makefile b/www/trac-themeengine/Makefile
deleted file mode 100644
index 3e5b4ada0b96..000000000000
--- a/www/trac-themeengine/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= themeengine
-PORTVERSION= 2.1.3
-PORTREVISION= 2
-CATEGORIES= www devel python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= trac-
-DISTNAME= TracThemeEngine-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin to simplify distributing and deploying themes and styles
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-themeengine/distinfo b/www/trac-themeengine/distinfo
deleted file mode 100644
index df222f18c704..000000000000
--- a/www/trac-themeengine/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (TracThemeEngine-2.1.3.tar.bz2) = 1f6f3e0ce4215dd0098c8d17d2e97715bc94407dcf94b819572b967321ba1824
-SIZE (TracThemeEngine-2.1.3.tar.bz2) = 181127
diff --git a/www/trac-themeengine/pkg-descr b/www/trac-themeengine/pkg-descr
deleted file mode 100644
index ff85496d9bcb..000000000000
--- a/www/trac-themeengine/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This plugin simplifies the process of distributing and deploying
-themes and styles.
-
-WWW: http://trac-hacks.org/wiki/ThemeEnginePlugin
diff --git a/www/trac-ticketimport/Makefile b/www/trac-ticketimport/Makefile
deleted file mode 100644
index 2666cb73e72b..000000000000
--- a/www/trac-ticketimport/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= ticketimport
-PORTVERSION= 0.7c
-PORTREVISION= 4
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Import or update tickets from a CSV file or Excel file
-
-LICENSE= BSD3CLAUSE # "same license as trac"
-
-RUN_DEPENDS= tracd:www/trac \
- ${PYTHON_PKGNAMEPREFIX}xlrd>=0.7.1:textproc/py-xlrd@${PY_FLAVOR}
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export http://trac-hacks.org/svn/ticketimportplugin/0.11/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-ticketimport/distinfo b/www/trac-ticketimport/distinfo
deleted file mode 100644
index c0514b315361..000000000000
--- a/www/trac-ticketimport/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ticketimport-0.7c.tar.gz) = a6cab62cc62ba0d599107869b862951f2826e1fce4ac65f57eb066e4d3843643
-SIZE (ticketimport-0.7c.tar.gz) = 2811904
diff --git a/www/trac-ticketimport/pkg-descr b/www/trac-ticketimport/pkg-descr
deleted file mode 100644
index 91e6afcc20f6..000000000000
--- a/www/trac-ticketimport/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-This plugin lets you import into Trac a series of tickets from a CSV
-file or (if the xlrd library is installed) from an Excel file.
-
-You can also use it to modify tickets in batch, by saving a report as
-CSV, editing the CSV file, and re-importing the tickets.
-
-This plugin is very useful when starting a new project: you can import a
-list of requirements that may have come from meeting notes, list of
-features, other ticketing systems... It's also great to review the
-tickets off-line, or to do massive changes to tickets.
-
-Based on the ticket id (or, if no id exists, on the summary) in the
-imported file, tickets are either created or updated.
-
-WWW: http://trac-hacks.org/wiki/TicketImportPlugin
diff --git a/www/trac-tickettemplate/Makefile b/www/trac-tickettemplate/Makefile
deleted file mode 100644
index 369295ccfb63..000000000000
--- a/www/trac-tickettemplate/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: Eygene Ryabinkin <rea@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= tickettemplate
-PORTVERSION= 0.7
-PORTREVISION= 3
-CATEGORIES= www python
-MASTER_SITES= http://dist.codelabs.ru/fbsd/trac-${PORTNAME}/
-PKGNAMEPREFIX= trac-
-DISTNAME= trac${PORTNAME}plugin-r${REL}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for making ticket templates
-
-RUN_DEPENDS= trac>=0.11:www/trac
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-WRKSRC= ${WRKDIR}/trac${PORTNAME}plugin/0.11
-REL= 10605
-
-.include <bsd.port.mk>
diff --git a/www/trac-tickettemplate/distinfo b/www/trac-tickettemplate/distinfo
deleted file mode 100644
index 6bd1fb501fc8..000000000000
--- a/www/trac-tickettemplate/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (tractickettemplateplugin-r10605.zip) = b37a9509ace8ebb2b73b79fd614e3c5f00cc7cfc7cbdfd6e38f581880eed95f2
-SIZE (tractickettemplateplugin-r10605.zip) = 48209
diff --git a/www/trac-tickettemplate/pkg-descr b/www/trac-tickettemplate/pkg-descr
deleted file mode 100644
index 02af7d2b312f..000000000000
--- a/www/trac-tickettemplate/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-TicketTemplate enable users to create ticket using templates
-which can be customized by Trac administrator and themselves.
-
-WWW: http://trac-hacks.org/wiki/TracTicketTemplatePlugin
diff --git a/www/trac-timingandestimation/Makefile b/www/trac-timingandestimation/Makefile
deleted file mode 100644
index 412c47c4e51b..000000000000
--- a/www/trac-timingandestimation/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Created by: Greg Larkin <glarkin@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= timingandestimation
-PORTVERSION= 1.0.8b
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Add estimation and time tracking functionality to Trac
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/branches/trac0.12-Permissions
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-timingandestimation/distinfo b/www/trac-timingandestimation/distinfo
deleted file mode 100644
index a1a4118b4f2c..000000000000
--- a/www/trac-timingandestimation/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (timingandestimationplugin-1.0.8b.zip) = d12eea326e03a27aa7fc3bda5b75ed21749c071bb5cf2e74a4736c1c602ca252
-SIZE (timingandestimationplugin-1.0.8b.zip) = 88910
diff --git a/www/trac-timingandestimation/pkg-descr b/www/trac-timingandestimation/pkg-descr
deleted file mode 100644
index 424edf1f2590..000000000000
--- a/www/trac-timingandestimation/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a plugin that adds (aspires to add) estimation and time
-tracking to Trac. This basically adds CustomFields and CustomReports
-and an interface for filling the dynamic variables for the report
-(requires Javascript).
-
-WWW: http://trac-hacks.org/wiki/TimingAndEstimationPlugin
diff --git a/www/trac-timingandestimation/pkg-message b/www/trac-timingandestimation/pkg-message
deleted file mode 100644
index 0fb5bf3b8fff..000000000000
--- a/www/trac-timingandestimation/pkg-message
+++ /dev/null
@@ -1,21 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-timingandestimationplugin.* = enabled
-
-to your trac.ini to enable the plugin.
-
-Next, upgrade your database with the command:
-
- trac-admin /full/path/to/YourProjectName upgrade
-
-Finally, visit:
-http://trac-hacks.org/wiki/TimingAndEstimationPlugin#PostInstallationConfigurationOptions
-
-for configuration instructions.
-EOM
-}
-]
diff --git a/www/trac-tocmacro/Makefile b/www/trac-tocmacro/Makefile
deleted file mode 100644
index 0cfc8f0789f1..000000000000
--- a/www/trac-tocmacro/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= tocmacro
-PORTVERSION= 11.0.0.3
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= http://people.freebsd.org/~mm/trac/
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Table of contents macro
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-tocmacro/distinfo b/www/trac-tocmacro/distinfo
deleted file mode 100644
index 82ae9d4b7559..000000000000
--- a/www/trac-tocmacro/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (tocmacro-11.0.0.3.tar.gz) = 0a4432991604739e143f64831ec11772118f9e52655ee77de10c314103adab80
-SIZE (tocmacro-11.0.0.3.tar.gz) = 5125
diff --git a/www/trac-tocmacro/pkg-descr b/www/trac-tocmacro/pkg-descr
deleted file mode 100644
index e77a455d5fd3..000000000000
--- a/www/trac-tocmacro/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-The TocMacro generates a table of contents for the current page or a set of
-pages.
-
-WWW: http://trac-hacks.org/wiki/TocMacro
diff --git a/www/trac-tweakui/Makefile b/www/trac-tweakui/Makefile
deleted file mode 100644
index 79eea59f0374..000000000000
--- a/www/trac-tweakui/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Created by: glarkin
-# $FreeBSD$
-
-PORTNAME= tweakui
-PORTVERSION= 0.1.7413
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Easily tweak Trac pages with JavaScript expressions
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= dos2unix python:2.7 zip
-DOS2UNIX_REGEX= .*\.(css|html|js|py|txt)$
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}
-PORTEXAMPLES= *
-
-SUB_FILES= pkg-message
-
-WRKSRC= ${WRKDIR}/trac${PORTNAME}plugin/0.11
-
-OPTIONS_DEFINE= EXAMPLES
-
-post-install:
- cd ${WRKSRC}/tractweakui/htdocs && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/www/trac-tweakui/distinfo b/www/trac-tweakui/distinfo
deleted file mode 100644
index 69ab510848b3..000000000000
--- a/www/trac-tweakui/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (tweakuiplugin-0.1.7413.zip) = f067282d97843e9287ea4031de3f100af280942d4feb69d65695e3f6026c6ea3
-SIZE (tweakuiplugin-0.1.7413.zip) = 68697
diff --git a/www/trac-tweakui/files/pkg-message.in b/www/trac-tweakui/files/pkg-message.in
deleted file mode 100644
index bc3fc1dbd803..000000000000
--- a/www/trac-tweakui/files/pkg-message.in
+++ /dev/null
@@ -1,28 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-tractweakui.* = enabled
-
-to your trac.ini to enable the plugin.
-
-Next, visit:
-http://trac-hacks.org/wiki/TracTweakUiPlugin#Example
-for usage examples.
-
-If you have installed the examples into
-%%EXAMPLESDIR%%,
-you can incorporate them into your Trac project
-with the following command:
-
-cp -Rp %%EXAMPLESDIR%%/* \
- $TRAC_ENV/htdocs
-
-$TRAC_ENV is the root directory of your Trac
-project. You can copy the TweakUi examples into
-as many Trac projects as you like.
-EOM
-}
-]
diff --git a/www/trac-tweakui/pkg-descr b/www/trac-tweakui/pkg-descr
deleted file mode 100644
index 0657044e85c7..000000000000
--- a/www/trac-tweakui/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-This plugin implements a Javascript deployment platform, enabling
-Trac administrators to easily tweak Trac pages with Javascript
-expressions.
-
-The plugin supports the Trac web admin system, and it can apply
-Javascript tweaks to multiple pages by matching their names with
-regular expressions.
-
-WWW: http://trac-hacks.org/wiki/TracTweakUiPlugin
diff --git a/www/trac-vote/Makefile b/www/trac-vote/Makefile
deleted file mode 100644
index 1de0d701ee1d..000000000000
--- a/www/trac-vote/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= vote
-PORTVERSION= 0.1.2
-PORTREVISION= 4
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for voting on Trac resources
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-# Maintainter targets below this point
-
-# Retrieve the latest version from SVN and package in a tarball.
-.if defined(BOOTSTRAP)
-FETCH_DEPENDS+= svn:devel/subversion
-do-fetch:
- ${MKDIR} ${WRKDIR}
- cd ${WRKDIR} && \
- svn export http://trac-hacks.org/svn/voteplugin/0.11/ \
- ${DISTNAME}
- cd ${WRKDIR} && tar cvf ${DISTDIR}/${DISTNAME}.tar.gz ${DISTNAME}
-.endif
-
-.include <bsd.port.mk>
diff --git a/www/trac-vote/distinfo b/www/trac-vote/distinfo
deleted file mode 100644
index 12887a26197a..000000000000
--- a/www/trac-vote/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vote-0.1.2.tar.gz) = 9f22fc467799ba15ab6ed5fd96ce085909b65fa56781143e6016c17e191791f8
-SIZE (vote-0.1.2.tar.gz) = 30720
diff --git a/www/trac-vote/pkg-descr b/www/trac-vote/pkg-descr
deleted file mode 100644
index 3e81cd5668ce..000000000000
--- a/www/trac-vote/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-This plugin adds a context-navigation entry that lets users easily vote
-for a Trac resource, including Wiki pages, tickets, milestones, etc.
-
-If a user has a valid session and the VOTE_MODIFY permission they will
-be able to vote.
-
-WWW: http://trac-hacks.org/wiki/VotePlugin
diff --git a/www/trac-wikigoodies/Makefile b/www/trac-wikigoodies/Makefile
deleted file mode 100644
index b9cbda7a5007..000000000000
--- a/www/trac-wikigoodies/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Created by: Alexey V. Degtyarev <alexey@renatasystems.org>
-# $FreeBSD$
-
-PORTNAME= wikigoodies
-PORTVERSION= 0.3.3522
-PORTREVISION= 3
-CATEGORIES= www devel python
-MASTER_SITES= ftp://ftp.renatasystems.org/pub/FreeBSD/ports/distfiles/
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin.${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin for Trac which extends the Wiki with some goodies
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/0.11
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-wikigoodies/distinfo b/www/trac-wikigoodies/distinfo
deleted file mode 100644
index 408c4f51e4c3..000000000000
--- a/www/trac-wikigoodies/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (wikigoodiesplugin.0.3.3522.tar.gz) = 10a24cf3c4a92dc305051c754590adf43a15baebfd4a2a32869bbe18df6260c8
-SIZE (wikigoodiesplugin.0.3.3522.tar.gz) = 11538
diff --git a/www/trac-wikigoodies/pkg-descr b/www/trac-wikigoodies/pkg-descr
deleted file mode 100644
index 1fcc39de7f3d..000000000000
--- a/www/trac-wikigoodies/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-This plugin extends the Trac Wiki in several ways:
-
-- Support for displaying smileys;
-- HTML 4.0 entities (named entities and numerical entities);
-- Automatic replacement of common text idioms by their corresponding symbols
- (e.g. arrows, fractions, etc.);
-- Simplified markup for single words: *this* /is/ _important_;
-- Replace <name@domain> with "mailto:" links (obfuscated if needed)
- (0.11 only - though that's now in Trac core);
-- Replace \\... UNC paths with "file:///" links (0.11 only);
-
-Each feature can be disabled individually if needed.
-
-WWW: https://trac-hacks.org/wiki/WikiGoodiesPlugin
diff --git a/www/trac-wikinotification/Makefile b/www/trac-wikinotification/Makefile
deleted file mode 100644
index 45af8074c15d..000000000000
--- a/www/trac-wikinotification/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= wikinotificationplugin
-PORTVERSION= 0.2.1
-PORTREVISION= 5
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Allow email notifications on wiki page changes
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-RUN_DEPENDS= tracd:www/trac
-
-WRKSRC= ${WRKDIR}/${PORTNAME}
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-wikinotification/distinfo b/www/trac-wikinotification/distinfo
deleted file mode 100644
index 5cc9e2e425d9..000000000000
--- a/www/trac-wikinotification/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (wikinotificationplugin-0.2.1.tar.gz) = 91263ba7ca6e34f54634740cf0f55bd6c84b90f1b36a9f4e9c1b7adf49e8949f
-SIZE (wikinotificationplugin-0.2.1.tar.gz) = 13510
diff --git a/www/trac-wikinotification/files/patch-WikiNotification__notification.py b/www/trac-wikinotification/files/patch-WikiNotification__notification.py
deleted file mode 100644
index c55eb80a6d4f..000000000000
--- a/www/trac-wikinotification/files/patch-WikiNotification__notification.py
+++ /dev/null
@@ -1,79 +0,0 @@
---- WikiNotification/notification.py.orig 2008-03-14 09:02:03 UTC
-+++ WikiNotification/notification.py
-@@ -14,14 +14,13 @@
- # =============================================================================
-
- import re
--import md5
-
- from trac import __version__
- from trac.core import *
- from trac.util.text import CRLF
- from trac.wiki.model import WikiPage
- from trac.versioncontrol.diff import unified_diff
--from trac.notification import NotifyEmail
-+from trac.notification import NotifyEmail, NotificationSystem
- from trac.config import Option, BoolOption, ListOption, IntOption
-
- from genshi.template.text import TextTemplate
-@@ -33,6 +32,7 @@ diff_header = """Index: %(name)s
- +++ %(name)s (version: %(version)s)
- """
-
-+
- class WikiNotificationSystem(Component):
- smtp_from = Option(
- 'wiki-notification', 'smtp_from', 'trac+wiki@localhost',
-@@ -131,7 +131,7 @@ class WikiNotifyEmail(NotifyEmail):
- if page.version > 0 and action == 'modified':
- diff = diff_header % {'name': self.page.name,
- 'version': self.page.version,
-- 'oldversion': self.page.version -1
-+ 'oldversion': self.page.version -1,
- }
- oldpage = WikiPage(self.env, page.name, page.version - 1)
- self.data["oldversion"]= oldpage.version
-@@ -183,8 +183,8 @@ class WikiNotifyEmail(NotifyEmail):
- public_cc = self.config.getbool('wiki-notification', 'use_public_cc')
- headers = {}
- headers['X-Mailer'] = 'Trac %s, by Edgewall Software' % __version__
-- headers['X-Trac-Version'] = __version__
-- headers['X-Trac-Project'] = projname
-+ headers['X-Trac-Version'] = __version__
-+ headers['X-Trac-Project'] = projname
- headers['X-URL'] = self.config.get('project', 'url')
- headers['Precedence'] = 'bulk'
- headers['Auto-Submitted'] = 'auto-generated'
-@@ -284,18 +284,16 @@ class WikiNotifyEmail(NotifyEmail):
- del msg['Content-Transfer-Encoding']
- msg.set_charset(self._charset)
-
-- self.add_headers(msg, headers);
-- self.add_headers(msg, mime_headers);
-- self.env.log.info("Sending SMTP notification to %s:%d to %s"
-- % (self.smtp_server, self.smtp_port, recipients))
-+ self.add_headers(msg, headers)
-+ self.add_headers(msg, mime_headers)
-+ self.env.log.info("Sending SMTP notification to %s"
-+ % str(recipients))
- msgtext = msg.as_string()
- # Ensure the message complies with RFC2822: use CRLF line endings
- recrlf = re.compile("\r?\n")
- msgtext = CRLF.join(recrlf.split(msgtext))
-- try:
-- self.server.sendmail(msg['From'], recipients, msgtext)
-- except Exception, err:
-- self.env.log.debug('Notification could not be sent: %r', err)
-+ NotificationSystem(self.env).send_email(self.from_email, recipients,
-+ msgtext)
-
- def format_subject(self, action):
- template = self.config.get('wiki-notification', 'subject_template')
-@@ -308,6 +306,6 @@ class WikiNotifyEmail(NotifyEmail):
- data = {
- 'page': self.page,
- 'prefix': prefix,
-- 'action': action
-+ 'action': action,
- }
- return template.generate(**data).render('text', encoding=None).strip()
diff --git a/www/trac-wikinotification/files/patch-WikiNotification__templates__wiki_notification_email_template.txt b/www/trac-wikinotification/files/patch-WikiNotification__templates__wiki_notification_email_template.txt
deleted file mode 100644
index f02f617568d9..000000000000
--- a/www/trac-wikinotification/files/patch-WikiNotification__templates__wiki_notification_email_template.txt
+++ /dev/null
@@ -1,59 +0,0 @@
---- WikiNotification/templates/wiki_notification_email_template.txt.orig 2008-03-14 09:02:03 UTC
-+++ WikiNotification/templates/wiki_notification_email_template.txt
-@@ -1,40 +1,40 @@
-
--#if action == 'added'
-+{% if action == 'added' %}
- Added page "${name}" by ${author} from ${ip}*
- Page URL: <${link}>
-- #if comment
-+ {% if comment %}
- Comment: ${comment}
-- #end
-+ {% end %}
- Content:
- -------8<------8<------8<------8<------8<------8<------8<------8<--------
- ${text}
- -------8<------8<------8<------8<------8<------8<------8<------8<--------
--#end
--#if action == 'modified'
-+{% end %}
-+{% if action == 'modified' %}
- Changed page "${name}" by ${author} from ${ip}*
- Page URL: <${link}>
- Diff URL: <${linkdiff}>
- Revision ${version}
-- #if comment
-+ {% if comment %}
- Comment: ${comment}
-- #end
-+ {% end %}
-
-- #if wikidiff!=None
-+ {% if wikidiff!=None %}
- -------8<------8<------8<------8<------8<------8<------8<------8<--------
- ${wikidiff}
- -------8<------8<------8<------8<------8<------8<------8<------8<--------
-- #end
-- #if wikidiff==None
-+ {% end %}
-+ {% if wikidiff==None %}
- Changes on attached ${name}.diff file.
-- #end
--#end
--#if action == 'deleted'
-+ {% end %}
-+{% end %}
-+{% if action == 'deleted' %}
- Deleted page "${name}" by ${author} from ${ip}*
--#end
--#if action == 'deleted_version'
-+{% end %}
-+{% if action == 'deleted_version' %}
- Page URL: <${link}>
- Deleted version "${version}" of page "${name}" by ${author} from ${ip}*
--#end
-+{% end %}
-
- * The IP shown here might not mean anything if the user or the server is
- behind a proxy.
diff --git a/www/trac-wikinotification/pkg-descr b/www/trac-wikinotification/pkg-descr
deleted file mode 100644
index 0936ff2025d0..000000000000
--- a/www/trac-wikinotification/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Trac Wiki Notification is a plugin that allows users (even anonymous,
-as long as email is set) to select wiki pages that they wish to be
-notified (by email) when a change occurs on it.
-
-WWW: http://trac-hacks.org/wiki/WikiNotificationPlugin
diff --git a/www/trac-wikinotification/pkg-message b/www/trac-wikinotification/pkg-message
deleted file mode 100644
index 83fb3af296f6..000000000000
--- a/www/trac-wikinotification/pkg-message
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-wikinotification.* = enabled
-
-to your trac.ini to enable the plugin.
-
-Next, visit:
-http://wikinotification.ufsoft.org/wiki/Documentation/0.2.x
-
-for additional configuration instructions.
-EOM
-}
-]
diff --git a/www/trac-wikitemplates/Makefile b/www/trac-wikitemplates/Makefile
deleted file mode 100644
index 74f21c59bf9e..000000000000
--- a/www/trac-wikitemplates/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= wikitemplates
-PORTVERSION= 0.3.0p3
-PORTREVISION= 6
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/glarkin
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION:S/p/rc/}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Templates for the Trac wiki
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= tracd:www/trac
-# ${PYTHON_SITELIBDIR}/TracCtxtnavAdd-2.0-py${PYTHON_VER}.egg:www/trac-ctxtnavadd
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-wikitemplates/distinfo b/www/trac-wikitemplates/distinfo
deleted file mode 100644
index 29cf794ed22d..000000000000
--- a/www/trac-wikitemplates/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (wikitemplatesplugin-0.3.0rc3.tar.gz) = c6299de414f4c4d23d3e84f4724ee5a926380e26ab73576fed889b5a11974bae
-SIZE (wikitemplatesplugin-0.3.0rc3.tar.gz) = 46332
diff --git a/www/trac-wikitemplates/pkg-descr b/www/trac-wikitemplates/pkg-descr
deleted file mode 100644
index c75be7e210cf..000000000000
--- a/www/trac-wikitemplates/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-WikiTemplates is a Trac plugin. This plugin will provide you a way to include
-parts of other wiki pages, the templates, into our current wiki page.
-
-WWW: http://trac-hacks.org/wiki/WikiTemplatesPlugin
diff --git a/www/trac-wikitopdf/Makefile b/www/trac-wikitopdf/Makefile
deleted file mode 100644
index eaf64467769a..000000000000
--- a/www/trac-wikitopdf/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= wikitopdf
-PORTVERSION= 2.2.2
-PORTREVISION= 7
-CATEGORIES= www devel python
-MASTER_SITES= LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Plugin to generate PDF documents from the Wiki
-
-RUN_DEPENDS= htmldoc:textproc/htmldoc \
- tracd:www/trac
-
-USES= python:2.7
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin
-
-.include <bsd.port.mk>
diff --git a/www/trac-wikitopdf/distinfo b/www/trac-wikitopdf/distinfo
deleted file mode 100644
index 7906b1099a34..000000000000
--- a/www/trac-wikitopdf/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (wikitopdfplugin-2.2.2.tar.gz) = fdc9ad5a928ba6850f946ada50129c28267a7f3974389422514397c58a3c9f7b
-SIZE (wikitopdfplugin-2.2.2.tar.gz) = 1819454
diff --git a/www/trac-wikitopdf/pkg-descr b/www/trac-wikitopdf/pkg-descr
deleted file mode 100644
index 078708c7a266..000000000000
--- a/www/trac-wikitopdf/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-WikiToPdf combines the functionality of CombineWikiPlugin and
-PageToPdfPlugin on only one plugin and allows one to setup a template
-file used to generate the PDF file with a cover and a licence page, for
-example.
-
-At the end of each wiki page there is a link named WikiToPdf and
-works like athomas PageToPdfPlugin plugin but takes into account the
-parameters on trac.ini (see below) and passes them to htmldoc.
-
-Alternatively, it's possible to select one or more wiki pages and
-generate one single PDF file just like coderanger work with a cover and
-a licence from a template file. This feature also takes into account the
-parameters on trac.ini.
-
-WWW: http://trac-hacks.org/wiki/TracWikiToPdfPlugin
diff --git a/www/trac-wysiwyg/Makefile b/www/trac-wysiwyg/Makefile
deleted file mode 100644
index e9be92c80b0a..000000000000
--- a/www/trac-wysiwyg/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: Greg Larkin <glarkin@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= wysiwyg
-DISTVERSION= 0.4.${SVN_REV}
-PORTREVISION= 2
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/ \
- LOCAL/brooks
-PKGNAMEPREFIX= trac-
-DIST_SUBDIR= trac
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= WYSIWYG editor for Trac wiki
-
-RUN_DEPENDS= tracd:www/trac
-
-USES= python:2.7 tar:bzip2
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.pre.mk>
-
-.if !defined(SVN_REV)
-.if defined(BOOTSTRAP)
-SVN_URL= http://trac-hacks.org/svn/tracwysiwygplugin/0.12/
-SVN_REV!= svn info ${SVN_URL} | ${GREP} Revision | cut -d' ' -f2
-.else
-.include "Makefile.svn_rev"
-.endif
-.endif
-
-.if defined(BOOTSTRAP) || defined(SVN_FETCH)
-FETCH_DEPENDS+= svn:devel/subversion
-
-do-fetch:
- ${MKDIR} ${WRKDIR}
- svn export -r ${SVN_REV} ${SVN_URL} ${WRKSRC}
- cd ${WRKDIR}; tar cvfy ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.tar.bz2 ${DISTNAME}
- echo "SVN_REV= ${SVN_REV}" > ${MASTERDIR}/Makefile.svn_rev
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/www/trac-wysiwyg/Makefile.svn_rev b/www/trac-wysiwyg/Makefile.svn_rev
deleted file mode 100644
index c5f669401716..000000000000
--- a/www/trac-wysiwyg/Makefile.svn_rev
+++ /dev/null
@@ -1 +0,0 @@
-SVN_REV= 11508
diff --git a/www/trac-wysiwyg/distinfo b/www/trac-wysiwyg/distinfo
deleted file mode 100644
index 91602684b96d..000000000000
--- a/www/trac-wysiwyg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (trac/wysiwyg-0.4.11508.tar.bz2) = 2c988573b57bd4942fad7b023b2faed9a82e3a11beec130cba38ada98de91895
-SIZE (trac/wysiwyg-0.4.11508.tar.bz2) = 41353
diff --git a/www/trac-wysiwyg/pkg-descr b/www/trac-wysiwyg/pkg-descr
deleted file mode 100644
index b9b647ff36fc..000000000000
--- a/www/trac-wysiwyg/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-This plugin provides a wiki WYSIWYG editor that generates Trac
-wiki markup. This enables users to switch between the WYSIWYG mode
-and the standard wiki markup format, as needed.
-
-WWW: http://trac-hacks.org/wiki/TracWysiwygPlugin
diff --git a/www/trac-wysiwyg/pkg-message b/www/trac-wysiwyg/pkg-message
deleted file mode 100644
index e4b42c817f80..000000000000
--- a/www/trac-wysiwyg/pkg-message
+++ /dev/null
@@ -1,12 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To complete the installation, please add:
-
-[components]
-tracwysiwyg.* = enabled
-
-to your trac.ini to enable the WYSIWYG editor.
-EOM
-}
-]
diff --git a/www/trac-xmlrpc/Makefile b/www/trac-xmlrpc/Makefile
deleted file mode 100644
index 7aa1ace41629..000000000000
--- a/www/trac-xmlrpc/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# Created by: Gerrit Beine <gerrit.beine@gmx.de>
-# $FreeBSD$
-
-PORTNAME= xmlrpc
-PORTVERSION= 1.1.2.r${SVN_REV}
-PORTREVISION= 2
-CATEGORIES= www devel python
-MASTER_SITES= http://www.sourcehosting.net/freebsd/distfiles/
-PKGNAMEPREFIX= trac-
-DISTNAME= ${PORTNAME}plugin-r${SVN_REV}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Provides an XML-RPC interface to Trac
-
-LICENSE= BSD3CLAUSE
-
-RUN_DEPENDS= tracd:www/trac
-
-SVN_REV= 13203
-
-WRKSRC= ${WRKDIR}/${PORTNAME}plugin/trunk
-FETCH_BEFORE_ARGS= -o ${DISTFILES}
-
-USES= python:2.7 zip
-USE_PYTHON= distutils autoplist
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/www/trac-xmlrpc/distinfo b/www/trac-xmlrpc/distinfo
deleted file mode 100644
index 87a67cc1f04a..000000000000
--- a/www/trac-xmlrpc/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (xmlrpcplugin-r13203.zip) = c5c00337e1674d874ca8974e5f6609c6683c82cfcbf27c0833b2b1b34629cc28
-SIZE (xmlrpcplugin-r13203.zip) = 58856
diff --git a/www/trac-xmlrpc/pkg-descr b/www/trac-xmlrpc/pkg-descr
deleted file mode 100644
index 4dac1945eb40..000000000000
--- a/www/trac-xmlrpc/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-This plugin allows Trac plugins to export select parts of their
-interface via XML-RPC.
-
-It also includes some exported functions for manipulating tickets,
-with plans to include interfaces to other parts of Trac's API.
-
-WWW: http://trac-hacks.org/wiki/XmlRpcPlugin
diff --git a/www/trac/Makefile b/www/trac/Makefile
deleted file mode 100644
index 680072458e20..000000000000
--- a/www/trac/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-# Created by: Kuei-Feng Li <thinker@branda.to>
-# $FreeBSD$
-
-PORTNAME= trac
-PORTVERSION= 1.2.5
-PORTREVISION= 1
-CATEGORIES= www devel python
-MASTER_SITES= http://ftp.edgewall.com/pub/trac/ \
- ftp://ftp.edgewall.com/pub/trac/
-DISTNAME= Trac-${PORTVERSION}
-
-MAINTAINER= joneum@FreeBSD.org
-COMMENT= Enhanced wiki and issue tracking system for software projects
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=2.8.0:devel/py-babel@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Genshi>=0.7.3:textproc/py-genshi@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=2.8.0:devel/py-babel@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}Genshi>=0.7.3:textproc/py-genshi@${PY_FLAVOR}
-
-CONFLICTS_INSTALL= trac-devel
-
-PORTSCOUT= limit:^1\.2\.[0-9]*
-
-USES= python:2.7 shebangfix
-SHEBANG_FILES= trac/tests/functional/better_twill.py trac/tests/functional/tester.py \
- trac/tests/functional/testenv.py trac/tests/functional/compat.py \
- trac/tests/functional/__init__.py contrib/emailfilter.py \
- contrib/checkwiki.py contrib/htpasswd.py
-USE_PYTHON= distutils autoplist
-USE_RC_SUBR= tracd
-SUB_LIST= PYTHON_CMD=${PYTHON_CMD}
-
-PORTEXAMPLES= *
-PORTDATA= *
-
-NO_ARCH= yes
-
-OPTIONS_DEFINE= DOCUTILS PYGMENTS TZ SVN EXAMPLES
-OPTIONS_DEFAULT= DOCUTILS PYGMENTS TZ SVN SQLITE
-OPTIONS_RADIO= DATABASE
-OPTIONS_RADIO_DATABASE= PGSQL SQLITE
-DOCUTILS_DESC= Allow additional text markup
-PYGMENTS_DESC= Use generic syntax highlighter
-TZ_DESC= Process Time Zones
-
-DOCUTILS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docutils>=0.15.2:textproc/py-docutils@${PY_FLAVOR}
-PYGMENTS_RUN_DEPENDS= ${PY_PYGMENTS}
-TZ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}
-PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>0:databases/py-psycopg2@${PY_FLAVOR}
-SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
-SVN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}subversion-lts>0:devel/py-subversion@${PY_FLAVOR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/sample-plugins
- ${FIND} ${WRKSRC}/contrib -type f -maxdepth 1 -exec ${INSTALL_DATA} {} ${STAGEDIR}${EXAMPLESDIR}/ \;
- (cd ${WRKSRC}/sample-plugins && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/sample-plugins)
-
-.include <bsd.port.mk>
diff --git a/www/trac/distinfo b/www/trac/distinfo
deleted file mode 100644
index 7b119f185ebe..000000000000
--- a/www/trac/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1583237050
-SHA256 (Trac-1.2.5.tar.gz) = 5e26309c19c8781e03ba3db2196f0eac4bfb95dae9d795cfe6a977ba488bc9e6
-SIZE (Trac-1.2.5.tar.gz) = 5333965
diff --git a/www/trac/files/tracd.in b/www/trac/files/tracd.in
deleted file mode 100644
index 27756822a86a..000000000000
--- a/www/trac/files/tracd.in
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-#
-# tracd startup
-#
-# $FreeBSD$
-
-# PROVIDE: tracd
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-
-#
-# Add the following lines to /etc/rc.conf to enable or configure tracd:
-# tracd_enable (bool): Set to "NO" by default.
-# Set it to "YES" to enable tracd.
-# tracd_listen (str): The host name or IP address to bind tracd to.
-# By default tracd listens 0.0.0.0, i.e. all the
-# available addresses on all interfaces.
-# tracd_port (str): The port number to bind to, 80 by default.
-# tracd_pidfile (str): When daemonizing, file to which to write pid
-# if not to /var/run/tracd.pid.
-# tracd_envdir (str): Directory of the project environments. Set to
-# "/home/trac" by default.
-# tracd_env (str): The project environment name while using single
-# environment mode. The default is empty, meaning
-# multiproject mode.
-# tracd_args (str): Extra arguments passed to tracd startup
-# command. Empty by default.
-#
-
-. /etc/rc.subr
-
-name="tracd"
-rcvar=tracd_enable
-
-tracd_enable=${tracd_enable:-"NO"}
-tracd_listen=${tracd_listen:-"0.0.0.0"}
-tracd_port=${tracd_port:-"80"}
-tracd_pidfile=${tracd_pidfile:-"/var/run/tracd.pid"}
-tracd_envdir=${tracd_envdir:-"/home/trac"}
-tracd_env=${tracd_env:-""}
-tracd_args=${tracd_args:-""}
-
-load_rc_config ${name}
-
-command_args="--daemonize --hostname=${tracd_listen} --port=${tracd_port}"
-command_args="${command_args} --pidfile=${tracd_pidfile} ${tracd_args}"
-
-required_dirs=${tracd_envdir}
-pidfile=${tracd_pidfile}
-
-if [ -z "${tracd_env}" ]; then
- _trac_env="--env-parent-dir ${tracd_envdir}"
-else
- _trac_env="${tracd_envdir}/${tracd_env}"
- command_args="${command_args} --single-env"
-fi
-
-command_args="%%PREFIX%%/bin/tracd ${command_args} ${_trac_env}"
-command="%%PYTHON_CMD%%"
-
-run_rc_command $1
diff --git a/www/trac/pkg-descr b/www/trac/pkg-descr
deleted file mode 100644
index c3fa069b0639..000000000000
--- a/www/trac/pkg-descr
+++ /dev/null
@@ -1,21 +0,0 @@
-Trac uses a minimalistic approach to web-based software project management.
-Our mission; to help developers write great software while staying out of
-the way. Trac should impose as little as possible on a team's established
-development process and policies.
-
-All aspects of Trac have been designed with one single goal, to simplify
-tracking and communication of software issues, enhancements and monitoring
-overall progress.
-
-What is Trac?
-
- * An integrated system for managing software projects
- * An enhanced wiki
- * A flexible web-based issue tracker
- * An interface to the Subversion revision control system
-
-At the core of Trac lies an integrated wiki and issue/bug database. Using
-wiki markup, all objects managed by Trac can directly link to other
-issues/bug reports, code changesets, documentation and files.
-
-WWW: https://trac.edgewall.org/
diff --git a/www/trac/pkg-message b/www/trac/pkg-message
deleted file mode 100644
index 8d8c58ec1add..000000000000
--- a/www/trac/pkg-message
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{ type: upgrade, maximum_version: 1
- message: <<EOM
-From 0.12.x to 1.0.x
----------------------
-You should be careful to check that the plugins you depend on have
-been ported to 1.0.x, as they most probably won't work without adaptation
-due to the numerous internal changes that occurred during 1.0.x development.
-
-See: http://trac.edgewall.org/wiki/TracDev/ApiChanges/1.0
-
-Consult the upgrade instructions at:
-
- http://trac.edgewall.org/wiki/TracUpgrade
-EOM
-}
-]