//
// Copyright (C) 2017 The Android Open Source Project
//
// 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.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/android/server/windowmanagerservice.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { StatusBarManagerProto_TransientWindowState, StatusBarManagerProto_WindowState } from "../app/statusbarmanager_pb";
import { file_protos_perfetto_trace_android_app_statusbarmanager } from "../app/statusbarmanager_pb";
import type { ActivityInfoProto_ScreenOrientation } from "../content/activityinfo_pb";
import { file_protos_perfetto_trace_android_content_activityinfo } from "../content/activityinfo_pb";
import type { ConfigurationProto } from "../content/configuration_pb";
import { file_protos_perfetto_trace_android_content_configuration } from "../content/configuration_pb";
import type { RectProto } from "../graphics/rect_pb";
import { file_protos_perfetto_trace_android_graphics_rect } from "../graphics/rect_pb";
import type { WindowContainerThumbnailProto } from "./windowcontainerthumbnail_pb";
import { file_protos_perfetto_trace_android_server_windowcontainerthumbnail } from "./windowcontainerthumbnail_pb";
import type { SurfaceAnimatorProto } from "./surfaceanimator_pb";
import { file_protos_perfetto_trace_android_server_surfaceanimator } from "./surfaceanimator_pb";
import type { DisplayCutoutProto } from "../view/displaycutout_pb";
import { file_protos_perfetto_trace_android_view_displaycutout } from "../view/displaycutout_pb";
import type { DisplayInfoProto } from "../view/displayinfo_pb";
import { file_protos_perfetto_trace_android_view_displayinfo } from "../view/displayinfo_pb";
import type { SurfaceProto_Rotation } from "../view/surface_pb";
import { file_protos_perfetto_trace_android_view_surface } from "../view/surface_pb";
import type { WindowLayoutParamsProto } from "../view/windowlayoutparams_pb";
import { file_protos_perfetto_trace_android_view_windowlayoutparams } from "../view/windowlayoutparams_pb";
import { file_protos_perfetto_trace_android_privacy } from "../privacy_pb";
import { file_protos_perfetto_trace_android_typedef } from "../typedef_pb";
import type { SurfaceControlProto } from "../view/surfacecontrol_pb";
import { file_protos_perfetto_trace_android_view_surfacecontrol } from "../view/surfacecontrol_pb";
import type { InsetsSourceProto } from "../view/insetssource_pb";
import { file_protos_perfetto_trace_android_view_insetssource } from "../view/insetssource_pb";
import type { InsetsSourceControlProto } from "../view/insetssourcecontrol_pb";
import { file_protos_perfetto_trace_android_view_insetssourcecontrol } from "../view/insetssourcecontrol_pb";
import type { TransitionTypeEnum } from "../view/enums_pb";
import { file_protos_perfetto_trace_android_view_enums } from "../view/enums_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/server/windowmanagerservice.proto.
 */
export const file_protos_perfetto_trace_android_server_windowmanagerservice: GenFile = /*@__PURE__*/
  fileDesc("Cj9wcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9zZXJ2ZXIvd2luZG93bWFuYWdlcnNlcnZpY2UucHJvdG8SD3BlcmZldHRvLnByb3RvcyLtBAodV2luZG93TWFuYWdlclNlcnZpY2VEdW1wUHJvdG8SOQoGcG9saWN5GAEgASgLMikucGVyZmV0dG8ucHJvdG9zLldpbmRvd01hbmFnZXJQb2xpY3lQcm90bxJIChVyb290X3dpbmRvd19jb250YWluZXIYAiABKAsyKS5wZXJmZXR0by5wcm90b3MuUm9vdFdpbmRvd0NvbnRhaW5lclByb3RvEjgKDmZvY3VzZWRfd2luZG93GAMgASgLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90bxITCgtmb2N1c2VkX2FwcBgEIAEoCRI9ChNpbnB1dF9tZXRob2Rfd2luZG93GAUgASgLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90bxIWCg5kaXNwbGF5X2Zyb3plbhgGIAEoCBI1Cghyb3RhdGlvbhgHIAEoBUIjGAGKph0dYW5kcm9pZC52aWV3LlN1cmZhY2UuUm90YXRpb24SUQoQbGFzdF9vcmllbnRhdGlvbhgIIAEoBUI3GAGKph0xYW5kcm9pZC5jb250ZW50LnBtLkFjdGl2aXR5SW5mby5TY3JlZW5PcmllbnRhdGlvbhIaChJmb2N1c2VkX2Rpc3BsYXlfaWQYCSABKAUSHwoXaGFyZF9rZXlib2FyZF9hdmFpbGFibGUYCiABKAgSGwoTd2luZG93X2ZyYW1lc192YWxpZBgLIAEoCBI9Cg9iYWNrX25hdmlnYXRpb24YDCABKAsyJC5wZXJmZXR0by5wcm90b3MuQmFja05hdmlnYXRpb25Qcm90byKuAwoYUm9vdFdpbmRvd0NvbnRhaW5lclByb3RvEj8KEHdpbmRvd19jb250YWluZXIYASABKAsyJS5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyUHJvdG8SOgoIZGlzcGxheXMYAiADKAsyJC5wZXJmZXR0by5wcm90b3MuRGlzcGxheUNvbnRlbnRQcm90b0ICGAESNgoHd2luZG93cxgEIAMoCzIhLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dTdGF0ZVByb3RvQgIYARJFChNrZXlndWFyZF9jb250cm9sbGVyGAUgASgLMigucGVyZmV0dG8ucHJvdG9zLktleWd1YXJkQ29udHJvbGxlclByb3RvEiEKGWlzX2hvbWVfcmVjZW50c19jb21wb25lbnQYBiABKAgSQAoScGVuZGluZ19hY3Rpdml0aWVzGAcgAygLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90b0ICGAESKwofZGVmYXVsdF9taW5fc2l6ZV9yZXNpemFibGVfdGFzaxgIIAEoBUICGAFKBAgDEAQirQEKEkJhckNvbnRyb2xsZXJQcm90bxJBCgVzdGF0ZRgBIAEoDjIyLnBlcmZldHRvLnByb3Rvcy5TdGF0dXNCYXJNYW5hZ2VyUHJvdG8uV2luZG93U3RhdGUSVAoPdHJhbnNpZW50X3N0YXRlGAIgASgOMjsucGVyZmV0dG8ucHJvdG9zLlN0YXR1c0Jhck1hbmFnZXJQcm90by5UcmFuc2llbnRXaW5kb3dTdGF0ZSJrCh5XaW5kb3dPcmllbnRhdGlvbkxpc3RlbmVyUHJvdG8SDwoHZW5hYmxlZBgBIAEoCBI4Cghyb3RhdGlvbhgCIAEoDjImLnBlcmZldHRvLnByb3Rvcy5TdXJmYWNlUHJvdG8uUm90YXRpb24ihQQKHEtleWd1YXJkU2VydmljZURlbGVnYXRlUHJvdG8SDwoHc2hvd2luZxgBIAEoCBIQCghvY2NsdWRlZBgCIAEoCBIOCgZzZWN1cmUYAyABKAgSTwoMc2NyZWVuX3N0YXRlGAQgASgOMjkucGVyZmV0dG8ucHJvdG9zLktleWd1YXJkU2VydmljZURlbGVnYXRlUHJvdG8uU2NyZWVuU3RhdGUSWQoRaW50ZXJhY3RpdmVfc3RhdGUYBSABKA4yPi5wZXJmZXR0by5wcm90b3MuS2V5Z3VhcmRTZXJ2aWNlRGVsZWdhdGVQcm90by5JbnRlcmFjdGl2ZVN0YXRlInMKC1NjcmVlblN0YXRlEhQKEFNDUkVFTl9TVEFURV9PRkYQABIbChdTQ1JFRU5fU1RBVEVfVFVSTklOR19PThABEhMKD1NDUkVFTl9TVEFURV9PThACEhwKGFNDUkVFTl9TVEFURV9UVVJOSU5HX09GRhADIpABChBJbnRlcmFjdGl2ZVN0YXRlEhsKF0lOVEVSQUNUSVZFX1NUQVRFX1NMRUVQEAASHAoYSU5URVJBQ1RJVkVfU1RBVEVfV0FLSU5HEAESGwoXSU5URVJBQ1RJVkVfU1RBVEVfQVdBS0UQAhIkCiBJTlRFUkFDVElWRV9TVEFURV9HT0lOR19UT19TTEVFUBADIvsBChdLZXlndWFyZENvbnRyb2xsZXJQcm90bxIYChBrZXlndWFyZF9zaG93aW5nGAEgASgIEkwKGGtleWd1YXJkX29jY2x1ZGVkX3N0YXRlcxgCIAMoCzImLnBlcmZldHRvLnByb3Rvcy5LZXlndWFyZE9jY2x1ZGVkUHJvdG9CAhgBEhMKC2FvZF9zaG93aW5nGAMgASgIEkYKFGtleWd1YXJkX3Blcl9kaXNwbGF5GAQgAygLMigucGVyZmV0dG8ucHJvdG9zLktleWd1YXJkUGVyRGlzcGxheVByb3RvEhsKE2tleWd1YXJkX2dvaW5nX2F3YXkYBSABKAgiRgoVS2V5Z3VhcmRPY2NsdWRlZFByb3RvEhIKCmRpc3BsYXlfaWQYASABKAUSGQoRa2V5Z3VhcmRfb2NjbHVkZWQYAiABKAgilAEKF0tleWd1YXJkUGVyRGlzcGxheVByb3RvEhIKCmRpc3BsYXlfaWQYASABKAUSGAoQa2V5Z3VhcmRfc2hvd2luZxgCIAEoCBITCgthb2Rfc2hvd2luZxgDIAEoCBIZChFrZXlndWFyZF9vY2NsdWRlZBgEIAEoCBIbChNrZXlndWFyZF9nb2luZ19hd2F5GAUgASgIIv8IChhXaW5kb3dNYW5hZ2VyUG9saWN5UHJvdG8SIAoUbGFzdF9zeXN0ZW1fdWlfZmxhZ3MYASABKAVCAhgBElEKDXJvdGF0aW9uX21vZGUYAiABKA4yOi5wZXJmZXR0by5wcm90b3MuV2luZG93TWFuYWdlclBvbGljeVByb3RvLlVzZXJSb3RhdGlvbk1vZGUSOAoIcm90YXRpb24YAyABKA4yJi5wZXJmZXR0by5wcm90b3MuU3VyZmFjZVByb3RvLlJvdGF0aW9uEkkKC29yaWVudGF0aW9uGAQgASgOMjQucGVyZmV0dG8ucHJvdG9zLkFjdGl2aXR5SW5mb1Byb3RvLlNjcmVlbk9yaWVudGF0aW9uEhcKD3NjcmVlbl9vbl9mdWxseRgFIAEoCBIeChZrZXlndWFyZF9kcmF3X2NvbXBsZXRlGAYgASgIEiQKHHdpbmRvd19tYW5hZ2VyX2RyYXdfY29tcGxldGUYByABKAgSHQoRZm9jdXNlZF9hcHBfdG9rZW4YCCABKAlCAhgBEjwKDmZvY3VzZWRfd2luZG93GAkgASgLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90b0ICGAESSgocdG9wX2Z1bGxzY3JlZW5fb3BhcXVlX3dpbmRvdxgKIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5JZGVudGlmaWVyUHJvdG9CAhgBElUKJ3RvcF9mdWxsc2NyZWVuX29wYXF1ZV9vcl9kaW1taW5nX3dpbmRvdxgLIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5JZGVudGlmaWVyUHJvdG9CAhgBEhkKEWtleWd1YXJkX29jY2x1ZGVkGAwgASgIEiEKGWtleWd1YXJkX29jY2x1ZGVkX2NoYW5nZWQYDSABKAgSIQoZa2V5Z3VhcmRfb2NjbHVkZWRfcGVuZGluZxgOIAEoCBIcChBmb3JjZV9zdGF0dXNfYmFyGA8gASgIQgIYARIqCh5mb3JjZV9zdGF0dXNfYmFyX2Zyb21fa2V5Z3VhcmQYECABKAhCAhgBEjsKCnN0YXR1c19iYXIYESABKAsyIy5wZXJmZXR0by5wcm90b3MuQmFyQ29udHJvbGxlclByb3RvQgIYARI/Cg5uYXZpZ2F0aW9uX2JhchgSIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5CYXJDb250cm9sbGVyUHJvdG9CAhgBElEKFG9yaWVudGF0aW9uX2xpc3RlbmVyGBMgASgLMi8ucGVyZmV0dG8ucHJvdG9zLldpbmRvd09yaWVudGF0aW9uTGlzdGVuZXJQcm90b0ICGAESSAoRa2V5Z3VhcmRfZGVsZWdhdGUYFCABKAsyLS5wZXJmZXR0by5wcm90b3MuS2V5Z3VhcmRTZXJ2aWNlRGVsZWdhdGVQcm90byJEChBVc2VyUm90YXRpb25Nb2RlEhYKElVTRVJfUk9UQVRJT05fRlJFRRAAEhgKFFVTRVJfUk9UQVRJT05fTE9DS0VEEAEiigIKEkFwcFRyYW5zaXRpb25Qcm90bxJKChRhcHBfdHJhbnNpdGlvbl9zdGF0ZRgBIAEoDjIsLnBlcmZldHRvLnByb3Rvcy5BcHBUcmFuc2l0aW9uUHJvdG8uQXBwU3RhdGUSRQoYbGFzdF91c2VkX2FwcF90cmFuc2l0aW9uGAIgASgOMiMucGVyZmV0dG8ucHJvdG9zLlRyYW5zaXRpb25UeXBlRW51bSJhCghBcHBTdGF0ZRISCg5BUFBfU1RBVEVfSURMRRAAEhMKD0FQUF9TVEFURV9SRUFEWRABEhUKEUFQUF9TVEFURV9SVU5OSU5HEAISFQoRQVBQX1NUQVRFX1RJTUVPVVQQAyLcDwoTRGlzcGxheUNvbnRlbnRQcm90bxJDChB3aW5kb3dfY29udGFpbmVyGAEgASgLMiUucGVyZmV0dG8ucHJvdG9zLldpbmRvd0NvbnRhaW5lclByb3RvQgIYARIKCgJpZBgCIAEoBRJdCh5kb2NrZWRfdGFza19kaXZpZGVyX2NvbnRyb2xsZXIYBCABKAsyMS5wZXJmZXR0by5wcm90b3MuRG9ja2VkVGFza0RpdmlkZXJDb250cm9sbGVyUHJvdG9CAhgBEk4KFnBpbm5lZF90YXNrX2NvbnRyb2xsZXIYBSABKAsyKi5wZXJmZXR0by5wcm90b3MuUGlubmVkVGFza0NvbnRyb2xsZXJQcm90b0ICGAESQAoRYWJvdmVfYXBwX3dpbmRvd3MYBiADKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90b0ICGAESQAoRYmVsb3dfYXBwX3dpbmRvd3MYByADKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90b0ICGAESOgoLaW1lX3dpbmRvd3MYCCADKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90b0ICGAESCwoDZHBpGAkgASgFEjcKDGRpc3BsYXlfaW5mbxgKIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5EaXNwbGF5SW5mb1Byb3RvEjUKCHJvdGF0aW9uGAsgASgFQiMYAYqmHR1hbmRyb2lkLnZpZXcuU3VyZmFjZS5Sb3RhdGlvbhJQChlzY3JlZW5fcm90YXRpb25fYW5pbWF0aW9uGAwgASgLMi0ucGVyZmV0dG8ucHJvdG9zLlNjcmVlblJvdGF0aW9uQW5pbWF0aW9uUHJvdG8SOwoOZGlzcGxheV9mcmFtZXMYDSABKAsyIy5wZXJmZXR0by5wcm90b3MuRGlzcGxheUZyYW1lc1Byb3RvEhgKDHN1cmZhY2Vfc2l6ZRgOIAEoBUICGAESEwoLZm9jdXNlZF9hcHAYDyABKAkSOwoOYXBwX3RyYW5zaXRpb24YECABKAsyIy5wZXJmZXR0by5wcm90b3MuQXBwVHJhbnNpdGlvblByb3RvEjYKDG9wZW5pbmdfYXBwcxgRIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5JZGVudGlmaWVyUHJvdG8SNgoMY2xvc2luZ19hcHBzGBIgAygLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90bxI3Cg1jaGFuZ2luZ19hcHBzGBMgAygLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90bxI+Cg9vdmVybGF5X3dpbmRvd3MYFCADKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90b0ICGAESPAoRcm9vdF9kaXNwbGF5X2FyZWEYFSABKAsyIS5wZXJmZXR0by5wcm90b3MuRGlzcGxheUFyZWFQcm90bxIgChRzaW5nbGVfdGFza19pbnN0YW5jZRgWIAEoCEICGAESHAoUZm9jdXNlZF9yb290X3Rhc2tfaWQYFyABKAUSOgoQcmVzdW1lZF9hY3Rpdml0eRgYIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5JZGVudGlmaWVyUHJvdG8SLQoFdGFza3MYGSADKAsyGi5wZXJmZXR0by5wcm90b3MuVGFza1Byb3RvQgIYARIVCg1kaXNwbGF5X3JlYWR5GBogASgIEj4KE2lucHV0X21ldGhvZF90YXJnZXQYGyABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93U3RhdGVQcm90bxJEChlpbnB1dF9tZXRob2RfaW5wdXRfdGFyZ2V0GBwgASgLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlUHJvdG8SRgobaW5wdXRfbWV0aG9kX2NvbnRyb2xfdGFyZ2V0GB0gASgLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlUHJvdG8SOAoNY3VycmVudF9mb2N1cxgeIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dTdGF0ZVByb3RvElEKGmltZV9pbnNldHNfc291cmNlX3Byb3ZpZGVyGB8gASgLMi0ucGVyZmV0dG8ucHJvdG9zLkltZUluc2V0c1NvdXJjZVByb3ZpZGVyUHJvdG8SGAoMY2FuX3Nob3dfaW1lGCAgASgIQgIYARI/ChBkaXNwbGF5X3JvdGF0aW9uGCEgASgLMiUucGVyZmV0dG8ucHJvdG9zLkRpc3BsYXlSb3RhdGlvblByb3RvEhIKCmltZV9wb2xpY3kYIiABKAUSSwoXaW5zZXRzX3NvdXJjZV9wcm92aWRlcnMYIyADKAsyKi5wZXJmZXR0by5wcm90b3MuSW5zZXRzU291cmNlUHJvdmlkZXJQcm90bxITCgtpc19zbGVlcGluZxgkIAEoCBIUCgxzbGVlcF90b2tlbnMYJSADKAkSNAoQa2VlcF9jbGVhcl9hcmVhcxgmIAMoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SJgoebWluX3NpemVfb2ZfcmVzaXplYWJsZV90YXNrX2RwGCcgASgFSgQIAxAEIrgCChBEaXNwbGF5QXJlYVByb3RvEj8KEHdpbmRvd19jb250YWluZXIYASABKAsyJS5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyUHJvdG8SFgoEbmFtZRgCIAEoCUIImp/VhwMCCGQSPAoIY2hpbGRyZW4YAyADKAsyJi5wZXJmZXR0by5wcm90b3MuRGlzcGxheUFyZWFDaGlsZFByb3RvQgIYARIcChRpc190YXNrX2Rpc3BsYXlfYXJlYRgEIAEoCBIcChRpc19yb290X2Rpc3BsYXlfYXJlYRgFIAEoCBISCgpmZWF0dXJlX2lkGAYgASgFEhQKDGlzX29yZ2FuaXplZBgHIAEoCBInCh9pc19pZ25vcmluZ19vcmllbnRhdGlvbl9yZXF1ZXN0GAggASgIIpQBChVEaXNwbGF5QXJlYUNoaWxkUHJvdG8SNwoMZGlzcGxheV9hcmVhGAEgASgLMiEucGVyZmV0dG8ucHJvdG9zLkRpc3BsYXlBcmVhUHJvdG8SMQoGd2luZG93GAIgASgLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1Rva2VuUHJvdG8SDwoHdW5rbm93bhgDIAMoCSKqAQoSRGlzcGxheUZyYW1lc1Byb3RvEjUKDXN0YWJsZV9ib3VuZHMYASABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARIsCgRkb2NrGAIgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESLwoHY3VycmVudBgDIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBIr8CChREaXNwbGF5Um90YXRpb25Qcm90bxIzCghyb3RhdGlvbhgBIAEoBUIhiqYdHWFuZHJvaWQudmlldy5TdXJmYWNlLlJvdGF0aW9uEh8KF2Zyb3plbl90b191c2VyX3JvdGF0aW9uGAIgASgIEjgKDXVzZXJfcm90YXRpb24YAyABKAVCIYqmHR1hbmRyb2lkLnZpZXcuU3VyZmFjZS5Sb3RhdGlvbhIjChtmaXhlZF90b191c2VyX3JvdGF0aW9uX21vZGUYBCABKAUSTwoQbGFzdF9vcmllbnRhdGlvbhgFIAEoBUI1iqYdMWFuZHJvaWQuY29udGVudC5wbS5BY3Rpdml0eUluZm8uU2NyZWVuT3JpZW50YXRpb24SIQoZaXNfZml4ZWRfdG9fdXNlcl9yb3RhdGlvbhgGIAEoCCI+CiBEb2NrZWRUYXNrRGl2aWRlckNvbnRyb2xsZXJQcm90bxIaCg5taW5pbWl6ZWRfZG9jaxgBIAEoCEICGAEijAEKGVBpbm5lZFRhc2tDb250cm9sbGVyUHJvdG8SNgoOZGVmYXVsdF9ib3VuZHMYASABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI3Cg9tb3ZlbWVudF9ib3VuZHMYAiABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYASKACQoJVGFza1Byb3RvEkMKEHdpbmRvd19jb250YWluZXIYASABKAsyJS5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyUHJvdG9CAhgBEgoKAmlkGAIgASgFEhQKDGZpbGxzX3BhcmVudBgEIAEoCBIqCgZib3VuZHMYBSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEjgKEGRpc3BsYXllZF9ib3VuZHMYBiABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARIVCg1kZWZlcl9yZW1vdmFsGAcgASgIEhUKDXN1cmZhY2Vfd2lkdGgYCCABKAUSFgoOc3VyZmFjZV9oZWlnaHQYCSABKAUSLQoFdGFza3MYCiADKAsyGi5wZXJmZXR0by5wcm90b3MuVGFza1Byb3RvQgIYARI8CgphY3Rpdml0aWVzGAsgAygLMiQucGVyZmV0dG8ucHJvdG9zLkFjdGl2aXR5UmVjb3JkUHJvdG9CAhgBEjoKEHJlc3VtZWRfYWN0aXZpdHkYDCABKAsyIC5wZXJmZXR0by5wcm90b3MuSWRlbnRpZmllclByb3RvEhUKDXJlYWxfYWN0aXZpdHkYDSABKAkSFQoNb3JpZ19hY3Rpdml0eRgOIAEoCRIWCgpkaXNwbGF5X2lkGA8gASgFQgIYARIUCgxyb290X3Rhc2tfaWQYECABKAUSSQoNYWN0aXZpdHlfdHlwZRgRIAEoBUIyGAGKph0sYW5kcm9pZC5hcHAuV2luZG93Q29uZmlndXJhdGlvbi5BY3Rpdml0eVR5cGUSUAoLcmVzaXplX21vZGUYEiABKAVCO4qmHTdhbmRyb2lkLmFwcHdpZGdldC5BcHBXaWRnZXRQcm92aWRlckluZm8uUmVzaXplTW9kZUZsYWdzEhUKCW1pbl93aWR0aBgTIAEoBUICGAESFgoKbWluX2hlaWdodBgUIAEoBUICGAESMwoPYWRqdXN0ZWRfYm91bmRzGBUgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxI+ChpsYXN0X25vbl9mdWxsc2NyZWVuX2JvdW5kcxgWIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SGAoQYWRqdXN0ZWRfZm9yX2ltZRgXIAEoCBIZChFhZGp1c3RfaW1lX2Ftb3VudBgYIAEoAhIdChVhZGp1c3RfZGl2aWRlcl9hbW91bnQYGSABKAISHAoQYW5pbWF0aW5nX2JvdW5kcxgaIAEoCEICGAESFwoPbWluaW1pemVfYW1vdW50GBsgASgCEhwKFGNyZWF0ZWRfYnlfb3JnYW5pemVyGBwgASgIEhAKCGFmZmluaXR5GB0gASgJEh4KFmhhc19jaGlsZF9waXBfYWN0aXZpdHkYHiABKAgSOQoNdGFza19mcmFnbWVudBgfIAEoCzIiLnBlcmZldHRvLnByb3Rvcy5UYXNrRnJhZ21lbnRQcm90b0oECAMQBCLYAQoRVGFza0ZyYWdtZW50UHJvdG8SPwoQd2luZG93X2NvbnRhaW5lchgBIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dDb250YWluZXJQcm90bxISCgpkaXNwbGF5X2lkGAIgASgFEkcKDWFjdGl2aXR5X3R5cGUYAyABKAVCMIqmHSxhbmRyb2lkLmFwcC5XaW5kb3dDb25maWd1cmF0aW9uLkFjdGl2aXR5VHlwZRIRCgltaW5fd2lkdGgYBCABKAUSEgoKbWluX2hlaWdodBgFIAEoBSLXDAoTQWN0aXZpdHlSZWNvcmRQcm90bxIWCgRuYW1lGAEgASgJQgian9WHAwIIZBI3Cgx3aW5kb3dfdG9rZW4YAiABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90bxIcChRsYXN0X3N1cmZhY2Vfc2hvd2luZxgDIAEoCBInCh9pc193YWl0aW5nX2Zvcl90cmFuc2l0aW9uX3N0YXJ0GAQgASgIEhQKDGlzX2FuaW1hdGluZxgFIAEoCBJBCgl0aHVtYm5haWwYBiABKAsyLi5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyVGh1bWJuYWlsUHJvdG8SFAoMZmlsbHNfcGFyZW50GAcgASgIEhMKC2FwcF9zdG9wcGVkGAggASgIEhkKEXZpc2libGVfcmVxdWVzdGVkGAkgASgIEhYKDmNsaWVudF92aXNpYmxlGAogASgIEhsKE2RlZmVyX2hpZGluZ19jbGllbnQYCyABKAgSFgoOcmVwb3J0ZWRfZHJhd24YDCABKAgSGAoQcmVwb3J0ZWRfdmlzaWJsZRgNIAEoCBIfChdudW1faW50ZXJlc3Rpbmdfd2luZG93cxgOIAEoBRIZChFudW1fZHJhd25fd2luZG93cxgPIAEoBRIRCglhbGxfZHJhd24YECABKAgSFgoObGFzdF9hbGxfZHJhd24YESABKAgSOQoPc3RhcnRpbmdfd2luZG93GBMgASgLMiAucGVyZmV0dG8ucHJvdG9zLklkZW50aWZpZXJQcm90bxIaChJzdGFydGluZ19kaXNwbGF5ZWQYFCABKAgSFwoOc3RhcnRpbmdfbW92ZWQYyQEgASgIEjQKLHZpc2libGVfc2V0X2Zyb21fdHJhbnNmZXJyZWRfc3RhcnRpbmdfd2luZG93GBYgASgIEjUKDWZyb3plbl9ib3VuZHMYFyADKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARIPCgd2aXNpYmxlGBggASgIEjgKCmlkZW50aWZpZXIYGiABKAsyIC5wZXJmZXR0by5wcm90b3MuSWRlbnRpZmllclByb3RvQgIYARIXCgVzdGF0ZRgbIAEoCUIImp/VhwMCCGQSFQoNZnJvbnRfb2ZfdGFzaxgcIAEoCBIPCgdwcm9jX2lkGB0gASgFEhMKC3RyYW5zbHVjZW50GB4gASgIEh4KFnBpcF9hdXRvX2VudGVyX2VuYWJsZWQYHyABKAgSGwoTaW5fc2l6ZV9jb21wYXRfbW9kZRggIAEoCBIYChBtaW5fYXNwZWN0X3JhdGlvGCEgASgCEhsKE3Byb3ZpZGVzX21heF9ib3VuZHMYIiABKAgSIQoZZW5hYmxlX3JlY2VudHNfc2NyZWVuc2hvdBgjIAEoCBIcChRsYXN0X2Ryb3BfaW5wdXRfbW9kZRgkIAEoBRJTChRvdmVycmlkZV9vcmllbnRhdGlvbhglIAEoBUI1iqYdMWFuZHJvaWQuY29udGVudC5wbS5BY3Rpdml0eUluZm8uU2NyZWVuT3JpZW50YXRpb24SJQodc2hvdWxkX3NlbmRfY29tcGF0X2Zha2VfZm9jdXMYJiABKAgSLQolc2hvdWxkX2ZvcmNlX3JvdGF0ZV9mb3JfY2FtZXJhX2NvbXBhdBgnIAEoCBIxCilzaG91bGRfcmVmcmVzaF9hY3Rpdml0eV9mb3JfY2FtZXJhX2NvbXBhdBgoIAEoCBI7CjNzaG91bGRfcmVmcmVzaF9hY3Rpdml0eV92aWFfcGF1c2VfZm9yX2NhbWVyYV9jb21wYXQYKSABKAgSKAogc2hvdWxkX292ZXJyaWRlX21pbl9hc3BlY3RfcmF0aW8YKiABKAgSLgomc2hvdWxkX2lnbm9yZV9vcmllbnRhdGlvbl9yZXF1ZXN0X2xvb3AYKyABKAgSKAogc2hvdWxkX292ZXJyaWRlX2ZvcmNlX3Jlc2l6ZV9hcHAYLCABKAgSMAooc2hvdWxkX2VuYWJsZV91c2VyX2FzcGVjdF9yYXRpb19zZXR0aW5ncxgtIAEoCBIrCiNpc191c2VyX2Z1bGxzY3JlZW5fb3ZlcnJpZGVfZW5hYmxlZBguIAEoCEoECBIQE0oECBkQGiLLAQoQV2luZG93VG9rZW5Qcm90bxI/ChB3aW5kb3dfY29udGFpbmVyGAEgASgLMiUucGVyZmV0dG8ucHJvdG9zLldpbmRvd0NvbnRhaW5lclByb3RvEhEKCWhhc2hfY29kZRgCIAEoBRI2Cgd3aW5kb3dzGAMgAygLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlUHJvdG9CAhgBEhsKD3dhaXRpbmdfdG9fc2hvdxgFIAEoCEICGAESDgoGcGF1c2VkGAYgASgIIvAQChBXaW5kb3dTdGF0ZVByb3RvEj8KEHdpbmRvd19jb250YWluZXIYASABKAsyJS5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyUHJvdG8SOAoKaWRlbnRpZmllchgCIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5JZGVudGlmaWVyUHJvdG9CAhgBEhIKCmRpc3BsYXlfaWQYAyABKAUSEAoIc3RhY2tfaWQYBCABKAUSPAoKYXR0cmlidXRlcxgFIAEoCzIoLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dMYXlvdXRQYXJhbXNQcm90bxI4ChRnaXZlbl9jb250ZW50X2luc2V0cxgGIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SLQoFZnJhbWUYByABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI4ChBjb250YWluaW5nX2ZyYW1lGAggASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESNAoMcGFyZW50X2ZyYW1lGAkgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESNQoNY29udGVudF9mcmFtZRgKIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjYKDmNvbnRlbnRfaW5zZXRzGAsgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESMgoOc3VyZmFjZV9pbnNldHMYDCABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEjsKCGFuaW1hdG9yGA0gASgLMikucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlQW5pbWF0b3JQcm90bxIWCg5hbmltYXRpbmdfZXhpdBgOIAEoCBI8Cg1jaGlsZF93aW5kb3dzGA8gAygLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlUHJvdG9CAhgBEjQKEHN1cmZhY2VfcG9zaXRpb24YECABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEhcKD3JlcXVlc3RlZF93aWR0aBgSIAEoBRIYChByZXF1ZXN0ZWRfaGVpZ2h0GBMgASgFEjkKD3ZpZXdfdmlzaWJpbGl0eRgUIAEoBUIgiqYdHGFuZHJvaWQudmlldy5WaWV3LlZpc2liaWxpdHkSIAoUc3lzdGVtX3VpX3Zpc2liaWxpdHkYFSABKAVCAhgBEhMKC2hhc19zdXJmYWNlGBYgASgIEhwKFGlzX3JlYWR5X2Zvcl9kaXNwbGF5GBcgASgIEjUKDWRpc3BsYXlfZnJhbWUYGCABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI2Cg5vdmVyc2Nhbl9mcmFtZRgZIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjUKDXZpc2libGVfZnJhbWUYGiABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARIzCgtkZWNvcl9mcmFtZRgbIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjQKDG91dHNldF9mcmFtZRgcIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjcKD292ZXJzY2FuX2luc2V0cxgdIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjYKDnZpc2libGVfaW5zZXRzGB4gASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESNQoNc3RhYmxlX2luc2V0cxgfIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEi8KB291dHNldHMYICABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI3CgZjdXRvdXQYISABKAsyIy5wZXJmZXR0by5wcm90b3MuRGlzcGxheUN1dG91dFByb3RvQgIYARIWCg5yZW1vdmVfb25fZXhpdBgiIAEoCBISCgpkZXN0cm95aW5nGCMgASgIEg8KB3JlbW92ZWQYJCABKAgSFAoMaXNfb25fc2NyZWVuGCUgASgIEhIKCmlzX3Zpc2libGUYJiABKAgSIQoZcGVuZGluZ19zZWFtbGVzc19yb3RhdGlvbhgnIAEoCBIsCiBmaW5pc2hlZF9zZWFtbGVzc19yb3RhdGlvbl9mcmFtZRgoIAEoA0ICGAESOQoNd2luZG93X2ZyYW1lcxgpIAEoCzIiLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dGcmFtZXNQcm90bxIfChdmb3JjZV9zZWFtbGVzc19yb3RhdGlvbhgqIAEoCBIYChBoYXNfY29tcGF0X3NjYWxlGCsgASgIEhQKDGdsb2JhbF9zY2FsZRgsIAEoAhI0ChBrZWVwX2NsZWFyX2FyZWFzGC0gAygLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxJBCh11bnJlc3RyaWN0ZWRfa2VlcF9jbGVhcl9hcmVhcxguIAMoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SRAoYbWVyZ2VkTG9jYWxJbnNldHNTb3VyY2VzGC8gAygLMiIucGVyZmV0dG8ucHJvdG9zLkluc2V0c1NvdXJjZVByb3RvEh8KF3JlcXVlc3RlZF92aXNpYmxlX3R5cGVzGDAgASgFEi4KCmRpbV9ib3VuZHMYMSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvIk4KD0lkZW50aWZpZXJQcm90bxIRCgloYXNoX2NvZGUYASABKAUSDwoHdXNlcl9pZBgCIAEoBRIXCgV0aXRsZRgDIAEoCUIImp/VhwMCCGQi+AIKGFdpbmRvd1N0YXRlQW5pbWF0b3JQcm90bxIyCg5sYXN0X2NsaXBfcmVjdBgBIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SPgoHc3VyZmFjZRgCIAEoCzItLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dTdXJmYWNlQ29udHJvbGxlclByb3RvEkcKCmRyYXdfc3RhdGUYAyABKA4yMy5wZXJmZXR0by5wcm90b3MuV2luZG93U3RhdGVBbmltYXRvclByb3RvLkRyYXdTdGF0ZRI1ChFzeXN0ZW1fZGVjb3JfcmVjdBgEIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8iaAoJRHJhd1N0YXRlEg4KCk5PX1NVUkZBQ0UQABIQCgxEUkFXX1BFTkRJTkcQARIXChNDT01NSVRfRFJBV19QRU5ESU5HEAISEQoNUkVBRFlfVE9fU0hPVxADEg0KCUhBU19EUkFXThAEIjwKHFdpbmRvd1N1cmZhY2VDb250cm9sbGVyUHJvdG8SDQoFc2hvd24YASABKAgSDQoFbGF5ZXIYAiABKAUiSgocU2NyZWVuUm90YXRpb25BbmltYXRpb25Qcm90bxIPCgdzdGFydGVkGAEgASgIEhkKEWFuaW1hdGlvbl9ydW5uaW5nGAIgASgIIrYDChRXaW5kb3dDb250YWluZXJQcm90bxJNChdjb25maWd1cmF0aW9uX2NvbnRhaW5lchgBIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5Db25maWd1cmF0aW9uQ29udGFpbmVyUHJvdG8SSgoLb3JpZW50YXRpb24YAiABKAVCNYqmHTFhbmRyb2lkLmNvbnRlbnQucG0uQWN0aXZpdHlJbmZvLlNjcmVlbk9yaWVudGF0aW9uEg8KB3Zpc2libGUYAyABKAgSPwoQc3VyZmFjZV9hbmltYXRvchgEIAEoCzIlLnBlcmZldHRvLnByb3Rvcy5TdXJmYWNlQW5pbWF0b3JQcm90bxI8CghjaGlsZHJlbhgFIAMoCzIqLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dDb250YWluZXJDaGlsZFByb3RvEjQKCmlkZW50aWZpZXIYBiABKAsyIC5wZXJmZXR0by5wcm90b3MuSWRlbnRpZmllclByb3RvEj0KD3N1cmZhY2VfY29udHJvbBgHIAEoCzIkLnBlcmZldHRvLnByb3Rvcy5TdXJmYWNlQ29udHJvbFByb3RvIt0DChlXaW5kb3dDb250YWluZXJDaGlsZFByb3RvEj8KEHdpbmRvd19jb250YWluZXIYAiABKAsyJS5wZXJmZXR0by5wcm90b3MuV2luZG93Q29udGFpbmVyUHJvdG8SPQoPZGlzcGxheV9jb250ZW50GAMgASgLMiQucGVyZmV0dG8ucHJvdG9zLkRpc3BsYXlDb250ZW50UHJvdG8SNwoMZGlzcGxheV9hcmVhGAQgASgLMiEucGVyZmV0dG8ucHJvdG9zLkRpc3BsYXlBcmVhUHJvdG8SKAoEdGFzaxgFIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5UYXNrUHJvdG8SNgoIYWN0aXZpdHkYBiABKAsyJC5wZXJmZXR0by5wcm90b3MuQWN0aXZpdHlSZWNvcmRQcm90bxI3Cgx3aW5kb3dfdG9rZW4YByABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93VG9rZW5Qcm90bxIxCgZ3aW5kb3cYCCABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93U3RhdGVQcm90bxI5Cg10YXNrX2ZyYWdtZW50GAkgASgLMiIucGVyZmV0dG8ucHJvdG9zLlRhc2tGcmFnbWVudFByb3RvIu8BChtDb25maWd1cmF0aW9uQ29udGFpbmVyUHJvdG8SQwoWb3ZlcnJpZGVfY29uZmlndXJhdGlvbhgBIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5Db25maWd1cmF0aW9uUHJvdG8SPwoSZnVsbF9jb25maWd1cmF0aW9uGAIgASgLMiMucGVyZmV0dG8ucHJvdG9zLkNvbmZpZ3VyYXRpb25Qcm90bxJKCh1tZXJnZWRfb3ZlcnJpZGVfY29uZmlndXJhdGlvbhgDIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5Db25maWd1cmF0aW9uUHJvdG8i4gYKEVdpbmRvd0ZyYW1lc1Byb3RvEjgKEGNvbnRhaW5pbmdfZnJhbWUYASABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI1Cg1jb250ZW50X2ZyYW1lGAIgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESMwoLZGVjb3JfZnJhbWUYAyABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARIxCg1kaXNwbGF5X2ZyYW1lGAQgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxIpCgVmcmFtZRgFIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SMAoMb3V0c2V0X2ZyYW1lGAYgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90bxI2Cg5vdmVyc2Nhbl9mcmFtZRgHIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjAKDHBhcmVudF9mcmFtZRgIIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SNQoNdmlzaWJsZV9mcmFtZRgJIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG9CAhgBEjcKBmN1dG91dBgKIAEoCzIjLnBlcmZldHRvLnByb3Rvcy5EaXNwbGF5Q3V0b3V0UHJvdG9CAhgBEjYKDmNvbnRlbnRfaW5zZXRzGAsgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESNwoPb3ZlcnNjYW5faW5zZXRzGAwgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESNgoOdmlzaWJsZV9pbnNldHMYDSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARI1Cg1zdGFibGVfaW5zZXRzGA4gASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90b0ICGAESKwoHb3V0c2V0cxgPIAEoCzIaLnBlcmZldHRvLnByb3Rvcy5SZWN0UHJvdG8SMAoMY29tcGF0X2ZyYW1lGBAgASgLMhoucGVyZmV0dG8ucHJvdG9zLlJlY3RQcm90byKnBgoZSW5zZXRzU291cmNlUHJvdmlkZXJQcm90bxIyCgZzb3VyY2UYASABKAsyIi5wZXJmZXR0by5wcm90b3MuSW5zZXRzU291cmNlUHJvdG8SKQoFZnJhbWUYAiABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvEj8KDGZha2VfY29udHJvbBgDIAEoCzIpLnBlcmZldHRvLnByb3Rvcy5JbnNldHNTb3VyY2VDb250cm9sUHJvdG8SOgoHY29udHJvbBgEIAEoCzIpLnBlcmZldHRvLnByb3Rvcy5JbnNldHNTb3VyY2VDb250cm9sUHJvdG8SOQoOY29udHJvbF90YXJnZXQYBSABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93U3RhdGVQcm90bxJBChZwZW5kaW5nX2NvbnRyb2xfdGFyZ2V0GAYgASgLMiEucGVyZmV0dG8ucHJvdG9zLldpbmRvd1N0YXRlUHJvdG8SPgoTZmFrZV9jb250cm9sX3RhcmdldBgHIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dTdGF0ZVByb3RvEjwKDmNhcHR1cmVkX2xlYXNoGAggASgLMiQucGVyZmV0dG8ucHJvdG9zLlN1cmZhY2VDb250cm9sUHJvdG8SPAoUaW1lX292ZXJyaWRkZW5fZnJhbWUYCSABKAsyGi5wZXJmZXR0by5wcm90b3MuUmVjdFByb3RvQgIYARImCh5pc19sZWFzaF9yZWFkeV9mb3JfZGlzcGF0Y2hpbmcYCiABKAgSFgoOY2xpZW50X3Zpc2libGUYCyABKAgSFgoOc2VydmVyX3Zpc2libGUYDCABKAgSGQoRc2VhbWxlc3Nfcm90YXRpbmcYDSABKAgSKwojZmluaXNoX3NlYW1sZXNzX3JvdGF0ZV9mcmFtZV9udW1iZXIYDiABKAMSFAoMY29udHJvbGxhYmxlGA8gASgIEj4KE3NvdXJjZV93aW5kb3dfc3RhdGUYECABKAsyIS5wZXJmZXR0by5wcm90b3MuV2luZG93U3RhdGVQcm90byLLAQocSW1lSW5zZXRzU291cmNlUHJvdmlkZXJQcm90bxJKChZpbnNldHNfc291cmNlX3Byb3ZpZGVyGAEgASgLMioucGVyZmV0dG8ucHJvdG9zLkluc2V0c1NvdXJjZVByb3ZpZGVyUHJvdG8SPgoTaW1lX3RhcmdldF9mcm9tX2ltZRgCIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5XaW5kb3dTdGF0ZVByb3RvEh8KE2lzX2ltZV9sYXlvdXRfZHJhd24YAyABKAhCAhgBIpsBChNCYWNrTmF2aWdhdGlvblByb3RvEh0KFWFuaW1hdGlvbl9pbl9wcm9ncmVzcxgBIAEoCBIWCg5sYXN0X2JhY2tfdHlwZRgCIAEoBRIWCg5zaG93X3dhbGxwYXBlchgDIAEoCBIaChJtYWluX29wZW5fYWN0aXZpdHkYBCABKAkSGQoRYW5pbWF0aW9uX3J1bm5pbmcYBSABKAg", [file_protos_perfetto_trace_android_app_statusbarmanager, file_protos_perfetto_trace_android_content_activityinfo, file_protos_perfetto_trace_android_content_configuration, file_protos_perfetto_trace_android_graphics_rect, file_protos_perfetto_trace_android_server_windowcontainerthumbnail, file_protos_perfetto_trace_android_server_surfaceanimator, file_protos_perfetto_trace_android_view_displaycutout, file_protos_perfetto_trace_android_view_displayinfo, file_protos_perfetto_trace_android_view_surface, file_protos_perfetto_trace_android_view_windowlayoutparams, file_protos_perfetto_trace_android_privacy, file_protos_perfetto_trace_android_typedef, file_protos_perfetto_trace_android_view_surfacecontrol, file_protos_perfetto_trace_android_view_insetssource, file_protos_perfetto_trace_android_view_insetssourcecontrol, file_protos_perfetto_trace_android_view_enums]);

/**
 * @generated from message perfetto.protos.WindowManagerServiceDumpProto
 */
export type WindowManagerServiceDumpProto = Message<"perfetto.protos.WindowManagerServiceDumpProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowManagerPolicyProto policy = 1;
   */
  policy?: WindowManagerPolicyProto;

  /**
   * window hierarchy root
   *
   * @generated from field: optional perfetto.protos.RootWindowContainerProto root_window_container = 2;
   */
  rootWindowContainer?: RootWindowContainerProto;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto focused_window = 3;
   */
  focusedWindow?: IdentifierProto;

  /**
   * @generated from field: optional string focused_app = 4;
   */
  focusedApp: string;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto input_method_window = 5;
   */
  inputMethodWindow?: IdentifierProto;

  /**
   * @generated from field: optional bool display_frozen = 6;
   */
  displayFrozen: boolean;

  /**
   * @generated from field: optional int32 rotation = 7 [deprecated = true];
   * @deprecated
   */
  rotation: number;

  /**
   * @generated from field: optional int32 last_orientation = 8 [deprecated = true];
   * @deprecated
   */
  lastOrientation: number;

  /**
   * @generated from field: optional int32 focused_display_id = 9;
   */
  focusedDisplayId: number;

  /**
   * @generated from field: optional bool hard_keyboard_available = 10;
   */
  hardKeyboardAvailable: boolean;

  /**
   * @generated from field: optional bool window_frames_valid = 11;
   */
  windowFramesValid: boolean;

  /**
   * @generated from field: optional perfetto.protos.BackNavigationProto back_navigation = 12;
   */
  backNavigation?: BackNavigationProto;
};

/**
 * Describes the message perfetto.protos.WindowManagerServiceDumpProto.
 * Use `create(WindowManagerServiceDumpProtoSchema)` to create a new message.
 */
export const WindowManagerServiceDumpProtoSchema: GenMessage<WindowManagerServiceDumpProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 0);

/**
 * represents RootWindowContainer object
 *
 * @generated from message perfetto.protos.RootWindowContainerProto
 */
export type RootWindowContainerProto = Message<"perfetto.protos.RootWindowContainerProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1;
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: repeated perfetto.protos.DisplayContentProto displays = 2 [deprecated = true];
   * @deprecated
   */
  displays: DisplayContentProto[];

  /**
   * window references in top down z order
   *
   * @generated from field: repeated perfetto.protos.WindowStateProto windows = 4 [deprecated = true];
   * @deprecated
   */
  windows: WindowStateProto[];

  /**
   * @generated from field: optional perfetto.protos.KeyguardControllerProto keyguard_controller = 5;
   */
  keyguardController?: KeyguardControllerProto;

  /**
   * Whether or not the home activity is the recents activity. This is needed
   * for the CTS tests to know what activity types to check for when invoking
   * splitscreen multi-window.
   *
   * @generated from field: optional bool is_home_recents_component = 6;
   */
  isHomeRecentsComponent: boolean;

  /**
   * @generated from field: repeated perfetto.protos.IdentifierProto pending_activities = 7 [deprecated = true];
   * @deprecated
   */
  pendingActivities: IdentifierProto[];

  /**
   * @generated from field: optional int32 default_min_size_resizable_task = 8 [deprecated = true];
   * @deprecated
   */
  defaultMinSizeResizableTask: number;
};

/**
 * Describes the message perfetto.protos.RootWindowContainerProto.
 * Use `create(RootWindowContainerProtoSchema)` to create a new message.
 */
export const RootWindowContainerProtoSchema: GenMessage<RootWindowContainerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 1);

/**
 * @generated from message perfetto.protos.BarControllerProto
 */
export type BarControllerProto = Message<"perfetto.protos.BarControllerProto"> & {
  /**
   * @generated from field: optional perfetto.protos.StatusBarManagerProto.WindowState state = 1;
   */
  state: StatusBarManagerProto_WindowState;

  /**
   * @generated from field: optional perfetto.protos.StatusBarManagerProto.TransientWindowState transient_state = 2;
   */
  transientState: StatusBarManagerProto_TransientWindowState;
};

/**
 * Describes the message perfetto.protos.BarControllerProto.
 * Use `create(BarControllerProtoSchema)` to create a new message.
 */
export const BarControllerProtoSchema: GenMessage<BarControllerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 2);

/**
 * @generated from message perfetto.protos.WindowOrientationListenerProto
 */
export type WindowOrientationListenerProto = Message<"perfetto.protos.WindowOrientationListenerProto"> & {
  /**
   * @generated from field: optional bool enabled = 1;
   */
  enabled: boolean;

  /**
   * @generated from field: optional perfetto.protos.SurfaceProto.Rotation rotation = 2;
   */
  rotation: SurfaceProto_Rotation;
};

/**
 * Describes the message perfetto.protos.WindowOrientationListenerProto.
 * Use `create(WindowOrientationListenerProtoSchema)` to create a new message.
 */
export const WindowOrientationListenerProtoSchema: GenMessage<WindowOrientationListenerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 3);

/**
 * @generated from message perfetto.protos.KeyguardServiceDelegateProto
 */
export type KeyguardServiceDelegateProto = Message<"perfetto.protos.KeyguardServiceDelegateProto"> & {
  /**
   * @generated from field: optional bool showing = 1;
   */
  showing: boolean;

  /**
   * @generated from field: optional bool occluded = 2;
   */
  occluded: boolean;

  /**
   * @generated from field: optional bool secure = 3;
   */
  secure: boolean;

  /**
   * @generated from field: optional perfetto.protos.KeyguardServiceDelegateProto.ScreenState screen_state = 4;
   */
  screenState: KeyguardServiceDelegateProto_ScreenState;

  /**
   * @generated from field: optional perfetto.protos.KeyguardServiceDelegateProto.InteractiveState interactive_state = 5;
   */
  interactiveState: KeyguardServiceDelegateProto_InteractiveState;
};

/**
 * Describes the message perfetto.protos.KeyguardServiceDelegateProto.
 * Use `create(KeyguardServiceDelegateProtoSchema)` to create a new message.
 */
export const KeyguardServiceDelegateProtoSchema: GenMessage<KeyguardServiceDelegateProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 4);

/**
 * @generated from enum perfetto.protos.KeyguardServiceDelegateProto.ScreenState
 */
export enum KeyguardServiceDelegateProto_ScreenState {
  /**
   * @generated from enum value: SCREEN_STATE_OFF = 0;
   */
  OFF = 0,

  /**
   * @generated from enum value: SCREEN_STATE_TURNING_ON = 1;
   */
  TURNING_ON = 1,

  /**
   * @generated from enum value: SCREEN_STATE_ON = 2;
   */
  ON = 2,

  /**
   * @generated from enum value: SCREEN_STATE_TURNING_OFF = 3;
   */
  TURNING_OFF = 3,
}

/**
 * Describes the enum perfetto.protos.KeyguardServiceDelegateProto.ScreenState.
 */
export const KeyguardServiceDelegateProto_ScreenStateSchema: GenEnum<KeyguardServiceDelegateProto_ScreenState> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 4, 0);

/**
 * @generated from enum perfetto.protos.KeyguardServiceDelegateProto.InteractiveState
 */
export enum KeyguardServiceDelegateProto_InteractiveState {
  /**
   * @generated from enum value: INTERACTIVE_STATE_SLEEP = 0;
   */
  SLEEP = 0,

  /**
   * @generated from enum value: INTERACTIVE_STATE_WAKING = 1;
   */
  WAKING = 1,

  /**
   * @generated from enum value: INTERACTIVE_STATE_AWAKE = 2;
   */
  AWAKE = 2,

  /**
   * @generated from enum value: INTERACTIVE_STATE_GOING_TO_SLEEP = 3;
   */
  GOING_TO_SLEEP = 3,
}

/**
 * Describes the enum perfetto.protos.KeyguardServiceDelegateProto.InteractiveState.
 */
export const KeyguardServiceDelegateProto_InteractiveStateSchema: GenEnum<KeyguardServiceDelegateProto_InteractiveState> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 4, 1);

/**
 * @generated from message perfetto.protos.KeyguardControllerProto
 */
export type KeyguardControllerProto = Message<"perfetto.protos.KeyguardControllerProto"> & {
  /**
   * @generated from field: optional bool keyguard_showing = 1;
   */
  keyguardShowing: boolean;

  /**
   * @generated from field: repeated perfetto.protos.KeyguardOccludedProto keyguard_occluded_states = 2 [deprecated = true];
   * @deprecated
   */
  keyguardOccludedStates: KeyguardOccludedProto[];

  /**
   * @generated from field: optional bool aod_showing = 3;
   */
  aodShowing: boolean;

  /**
   * @generated from field: repeated perfetto.protos.KeyguardPerDisplayProto keyguard_per_display = 4;
   */
  keyguardPerDisplay: KeyguardPerDisplayProto[];

  /**
   * @generated from field: optional bool keyguard_going_away = 5;
   */
  keyguardGoingAway: boolean;
};

/**
 * Describes the message perfetto.protos.KeyguardControllerProto.
 * Use `create(KeyguardControllerProtoSchema)` to create a new message.
 */
export const KeyguardControllerProtoSchema: GenMessage<KeyguardControllerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 5);

/**
 * @generated from message perfetto.protos.KeyguardOccludedProto
 */
export type KeyguardOccludedProto = Message<"perfetto.protos.KeyguardOccludedProto"> & {
  /**
   * @generated from field: optional int32 display_id = 1;
   */
  displayId: number;

  /**
   * @generated from field: optional bool keyguard_occluded = 2;
   */
  keyguardOccluded: boolean;
};

/**
 * Describes the message perfetto.protos.KeyguardOccludedProto.
 * Use `create(KeyguardOccludedProtoSchema)` to create a new message.
 */
export const KeyguardOccludedProtoSchema: GenMessage<KeyguardOccludedProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 6);

/**
 * @generated from message perfetto.protos.KeyguardPerDisplayProto
 */
export type KeyguardPerDisplayProto = Message<"perfetto.protos.KeyguardPerDisplayProto"> & {
  /**
   * @generated from field: optional int32 display_id = 1;
   */
  displayId: number;

  /**
   * @generated from field: optional bool keyguard_showing = 2;
   */
  keyguardShowing: boolean;

  /**
   * @generated from field: optional bool aod_showing = 3;
   */
  aodShowing: boolean;

  /**
   * @generated from field: optional bool keyguard_occluded = 4;
   */
  keyguardOccluded: boolean;

  /**
   * @generated from field: optional bool keyguard_going_away = 5;
   */
  keyguardGoingAway: boolean;
};

/**
 * Describes the message perfetto.protos.KeyguardPerDisplayProto.
 * Use `create(KeyguardPerDisplayProtoSchema)` to create a new message.
 */
export const KeyguardPerDisplayProtoSchema: GenMessage<KeyguardPerDisplayProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 7);

/**
 * represents PhoneWindowManager
 *
 * @generated from message perfetto.protos.WindowManagerPolicyProto
 */
export type WindowManagerPolicyProto = Message<"perfetto.protos.WindowManagerPolicyProto"> & {
  /**
   * @generated from field: optional int32 last_system_ui_flags = 1 [deprecated = true];
   * @deprecated
   */
  lastSystemUiFlags: number;

  /**
   * @generated from field: optional perfetto.protos.WindowManagerPolicyProto.UserRotationMode rotation_mode = 2;
   */
  rotationMode: WindowManagerPolicyProto_UserRotationMode;

  /**
   * @generated from field: optional perfetto.protos.SurfaceProto.Rotation rotation = 3;
   */
  rotation: SurfaceProto_Rotation;

  /**
   * @generated from field: optional perfetto.protos.ActivityInfoProto.ScreenOrientation orientation = 4;
   */
  orientation: ActivityInfoProto_ScreenOrientation;

  /**
   * @generated from field: optional bool screen_on_fully = 5;
   */
  screenOnFully: boolean;

  /**
   * @generated from field: optional bool keyguard_draw_complete = 6;
   */
  keyguardDrawComplete: boolean;

  /**
   * @generated from field: optional bool window_manager_draw_complete = 7;
   */
  windowManagerDrawComplete: boolean;

  /**
   * @generated from field: optional string focused_app_token = 8 [deprecated = true];
   * @deprecated
   */
  focusedAppToken: string;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto focused_window = 9 [deprecated = true];
   * @deprecated
   */
  focusedWindow?: IdentifierProto;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto top_fullscreen_opaque_window = 10 [deprecated = true];
   * @deprecated
   */
  topFullscreenOpaqueWindow?: IdentifierProto;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto top_fullscreen_opaque_or_dimming_window = 11 [deprecated = true];
   * @deprecated
   */
  topFullscreenOpaqueOrDimmingWindow?: IdentifierProto;

  /**
   * @generated from field: optional bool keyguard_occluded = 12;
   */
  keyguardOccluded: boolean;

  /**
   * @generated from field: optional bool keyguard_occluded_changed = 13;
   */
  keyguardOccludedChanged: boolean;

  /**
   * @generated from field: optional bool keyguard_occluded_pending = 14;
   */
  keyguardOccludedPending: boolean;

  /**
   * @generated from field: optional bool force_status_bar = 15 [deprecated = true];
   * @deprecated
   */
  forceStatusBar: boolean;

  /**
   * @generated from field: optional bool force_status_bar_from_keyguard = 16 [deprecated = true];
   * @deprecated
   */
  forceStatusBarFromKeyguard: boolean;

  /**
   * @generated from field: optional perfetto.protos.BarControllerProto status_bar = 17 [deprecated = true];
   * @deprecated
   */
  statusBar?: BarControllerProto;

  /**
   * @generated from field: optional perfetto.protos.BarControllerProto navigation_bar = 18 [deprecated = true];
   * @deprecated
   */
  navigationBar?: BarControllerProto;

  /**
   * @generated from field: optional perfetto.protos.WindowOrientationListenerProto orientation_listener = 19 [deprecated = true];
   * @deprecated
   */
  orientationListener?: WindowOrientationListenerProto;

  /**
   * @generated from field: optional perfetto.protos.KeyguardServiceDelegateProto keyguard_delegate = 20;
   */
  keyguardDelegate?: KeyguardServiceDelegateProto;
};

/**
 * Describes the message perfetto.protos.WindowManagerPolicyProto.
 * Use `create(WindowManagerPolicyProtoSchema)` to create a new message.
 */
export const WindowManagerPolicyProtoSchema: GenMessage<WindowManagerPolicyProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 8);

/**
 * @generated from enum perfetto.protos.WindowManagerPolicyProto.UserRotationMode
 */
export enum WindowManagerPolicyProto_UserRotationMode {
  /**
   * @generated from enum value: USER_ROTATION_FREE = 0;
   */
  USER_ROTATION_FREE = 0,

  /**
   * @generated from enum value: USER_ROTATION_LOCKED = 1;
   */
  USER_ROTATION_LOCKED = 1,
}

/**
 * Describes the enum perfetto.protos.WindowManagerPolicyProto.UserRotationMode.
 */
export const WindowManagerPolicyProto_UserRotationModeSchema: GenEnum<WindowManagerPolicyProto_UserRotationMode> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 8, 0);

/**
 * represents AppTransition
 *
 * @generated from message perfetto.protos.AppTransitionProto
 */
export type AppTransitionProto = Message<"perfetto.protos.AppTransitionProto"> & {
  /**
   * @generated from field: optional perfetto.protos.AppTransitionProto.AppState app_transition_state = 1;
   */
  appTransitionState: AppTransitionProto_AppState;

  /**
   * @generated from field: optional perfetto.protos.TransitionTypeEnum last_used_app_transition = 2;
   */
  lastUsedAppTransition: TransitionTypeEnum;
};

/**
 * Describes the message perfetto.protos.AppTransitionProto.
 * Use `create(AppTransitionProtoSchema)` to create a new message.
 */
export const AppTransitionProtoSchema: GenMessage<AppTransitionProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 9);

/**
 * @generated from enum perfetto.protos.AppTransitionProto.AppState
 */
export enum AppTransitionProto_AppState {
  /**
   * @generated from enum value: APP_STATE_IDLE = 0;
   */
  IDLE = 0,

  /**
   * @generated from enum value: APP_STATE_READY = 1;
   */
  READY = 1,

  /**
   * @generated from enum value: APP_STATE_RUNNING = 2;
   */
  RUNNING = 2,

  /**
   * @generated from enum value: APP_STATE_TIMEOUT = 3;
   */
  TIMEOUT = 3,
}

/**
 * Describes the enum perfetto.protos.AppTransitionProto.AppState.
 */
export const AppTransitionProto_AppStateSchema: GenEnum<AppTransitionProto_AppState> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 9, 0);

/**
 * represents DisplayContent object
 *
 * @generated from message perfetto.protos.DisplayContentProto
 */
export type DisplayContentProto = Message<"perfetto.protos.DisplayContentProto"> & {
  /**
   * Use root_display_area instead
   *
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1 [deprecated = true];
   * @deprecated
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional int32 id = 2;
   */
  id: number;

  /**
   * @generated from field: optional perfetto.protos.DockedTaskDividerControllerProto docked_task_divider_controller = 4 [deprecated = true];
   * @deprecated
   */
  dockedTaskDividerController?: DockedTaskDividerControllerProto;

  /**
   * Will be removed soon.
   *
   * @generated from field: optional perfetto.protos.PinnedTaskControllerProto pinned_task_controller = 5 [deprecated = true];
   * @deprecated
   */
  pinnedTaskController?: PinnedTaskControllerProto;

  /**
   * non app windows
   *
   * @generated from field: repeated perfetto.protos.WindowTokenProto above_app_windows = 6 [deprecated = true];
   * @deprecated
   */
  aboveAppWindows: WindowTokenProto[];

  /**
   * @generated from field: repeated perfetto.protos.WindowTokenProto below_app_windows = 7 [deprecated = true];
   * @deprecated
   */
  belowAppWindows: WindowTokenProto[];

  /**
   * @generated from field: repeated perfetto.protos.WindowTokenProto ime_windows = 8 [deprecated = true];
   * @deprecated
   */
  imeWindows: WindowTokenProto[];

  /**
   * @generated from field: optional int32 dpi = 9;
   */
  dpi: number;

  /**
   * @generated from field: optional perfetto.protos.DisplayInfoProto display_info = 10;
   */
  displayInfo?: DisplayInfoProto;

  /**
   * @generated from field: optional int32 rotation = 11 [deprecated = true];
   * @deprecated
   */
  rotation: number;

  /**
   * @generated from field: optional perfetto.protos.ScreenRotationAnimationProto screen_rotation_animation = 12;
   */
  screenRotationAnimation?: ScreenRotationAnimationProto;

  /**
   * @generated from field: optional perfetto.protos.DisplayFramesProto display_frames = 13;
   */
  displayFrames?: DisplayFramesProto;

  /**
   * @generated from field: optional int32 surface_size = 14 [deprecated = true];
   * @deprecated
   */
  surfaceSize: number;

  /**
   * @generated from field: optional string focused_app = 15;
   */
  focusedApp: string;

  /**
   * @generated from field: optional perfetto.protos.AppTransitionProto app_transition = 16;
   */
  appTransition?: AppTransitionProto;

  /**
   * @generated from field: repeated perfetto.protos.IdentifierProto opening_apps = 17;
   */
  openingApps: IdentifierProto[];

  /**
   * @generated from field: repeated perfetto.protos.IdentifierProto closing_apps = 18;
   */
  closingApps: IdentifierProto[];

  /**
   * @generated from field: repeated perfetto.protos.IdentifierProto changing_apps = 19;
   */
  changingApps: IdentifierProto[];

  /**
   * @generated from field: repeated perfetto.protos.WindowTokenProto overlay_windows = 20 [deprecated = true];
   * @deprecated
   */
  overlayWindows: WindowTokenProto[];

  /**
   * @generated from field: optional perfetto.protos.DisplayAreaProto root_display_area = 21;
   */
  rootDisplayArea?: DisplayAreaProto;

  /**
   * @generated from field: optional bool single_task_instance = 22 [deprecated = true];
   * @deprecated
   */
  singleTaskInstance: boolean;

  /**
   * @generated from field: optional int32 focused_root_task_id = 23;
   */
  focusedRootTaskId: number;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto resumed_activity = 24;
   */
  resumedActivity?: IdentifierProto;

  /**
   * @generated from field: repeated perfetto.protos.TaskProto tasks = 25 [deprecated = true];
   * @deprecated
   */
  tasks: TaskProto[];

  /**
   * @generated from field: optional bool display_ready = 26;
   */
  displayReady: boolean;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto input_method_target = 27;
   */
  inputMethodTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto input_method_input_target = 28;
   */
  inputMethodInputTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto input_method_control_target = 29;
   */
  inputMethodControlTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto current_focus = 30;
   */
  currentFocus?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.ImeInsetsSourceProviderProto ime_insets_source_provider = 31;
   */
  imeInsetsSourceProvider?: ImeInsetsSourceProviderProto;

  /**
   * @generated from field: optional bool can_show_ime = 32 [deprecated = true];
   * @deprecated
   */
  canShowIme: boolean;

  /**
   * @generated from field: optional perfetto.protos.DisplayRotationProto display_rotation = 33;
   */
  displayRotation?: DisplayRotationProto;

  /**
   * @generated from field: optional int32 ime_policy = 34;
   */
  imePolicy: number;

  /**
   * @generated from field: repeated perfetto.protos.InsetsSourceProviderProto insets_source_providers = 35;
   */
  insetsSourceProviders: InsetsSourceProviderProto[];

  /**
   * @generated from field: optional bool is_sleeping = 36;
   */
  isSleeping: boolean;

  /**
   * @generated from field: repeated string sleep_tokens = 37;
   */
  sleepTokens: string[];

  /**
   * @generated from field: repeated perfetto.protos.RectProto keep_clear_areas = 38;
   */
  keepClearAreas: RectProto[];

  /**
   * @generated from field: optional int32 min_size_of_resizeable_task_dp = 39;
   */
  minSizeOfResizeableTaskDp: number;
};

/**
 * Describes the message perfetto.protos.DisplayContentProto.
 * Use `create(DisplayContentProtoSchema)` to create a new message.
 */
export const DisplayContentProtoSchema: GenMessage<DisplayContentProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 10);

/**
 * represents DisplayArea object
 *
 * @generated from message perfetto.protos.DisplayAreaProto
 */
export type DisplayAreaProto = Message<"perfetto.protos.DisplayAreaProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1;
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional string name = 2;
   */
  name: string;

  /**
   * @generated from field: repeated perfetto.protos.DisplayAreaChildProto children = 3 [deprecated = true];
   * @deprecated
   */
  children: DisplayAreaChildProto[];

  /**
   * @generated from field: optional bool is_task_display_area = 4;
   */
  isTaskDisplayArea: boolean;

  /**
   * @generated from field: optional bool is_root_display_area = 5;
   */
  isRootDisplayArea: boolean;

  /**
   * @generated from field: optional int32 feature_id = 6;
   */
  featureId: number;

  /**
   * @generated from field: optional bool is_organized = 7;
   */
  isOrganized: boolean;

  /**
   * @generated from field: optional bool is_ignoring_orientation_request = 8;
   */
  isIgnoringOrientationRequest: boolean;
};

/**
 * Describes the message perfetto.protos.DisplayAreaProto.
 * Use `create(DisplayAreaProtoSchema)` to create a new message.
 */
export const DisplayAreaProtoSchema: GenMessage<DisplayAreaProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 11);

/**
 * represents a generic child of a DisplayArea
 *
 * At most one of the following should be present:
 *
 * @generated from message perfetto.protos.DisplayAreaChildProto
 */
export type DisplayAreaChildProto = Message<"perfetto.protos.DisplayAreaChildProto"> & {
  /**
   * represents a DisplayArea child
   *
   * @generated from field: optional perfetto.protos.DisplayAreaProto display_area = 1;
   */
  displayArea?: DisplayAreaProto;

  /**
   * represents a WindowToken child
   *
   * @generated from field: optional perfetto.protos.WindowTokenProto window = 2;
   */
  window?: WindowTokenProto;

  /**
   * represents an unknown child - the class name is recorded
   *
   * @generated from field: repeated string unknown = 3;
   */
  unknown: string[];
};

/**
 * Describes the message perfetto.protos.DisplayAreaChildProto.
 * Use `create(DisplayAreaChildProtoSchema)` to create a new message.
 */
export const DisplayAreaChildProtoSchema: GenMessage<DisplayAreaChildProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 12);

/**
 * represents DisplayFrames
 *
 * @generated from message perfetto.protos.DisplayFramesProto
 */
export type DisplayFramesProto = Message<"perfetto.protos.DisplayFramesProto"> & {
  /**
   * @generated from field: optional perfetto.protos.RectProto stable_bounds = 1 [deprecated = true];
   * @deprecated
   */
  stableBounds?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto dock = 2 [deprecated = true];
   * @deprecated
   */
  dock?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto current = 3 [deprecated = true];
   * @deprecated
   */
  current?: RectProto;
};

/**
 * Describes the message perfetto.protos.DisplayFramesProto.
 * Use `create(DisplayFramesProtoSchema)` to create a new message.
 */
export const DisplayFramesProtoSchema: GenMessage<DisplayFramesProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 13);

/**
 * @generated from message perfetto.protos.DisplayRotationProto
 */
export type DisplayRotationProto = Message<"perfetto.protos.DisplayRotationProto"> & {
  /**
   * @generated from field: optional int32 rotation = 1;
   */
  rotation: number;

  /**
   * @generated from field: optional bool frozen_to_user_rotation = 2;
   */
  frozenToUserRotation: boolean;

  /**
   * @generated from field: optional int32 user_rotation = 3;
   */
  userRotation: number;

  /**
   * @generated from field: optional int32 fixed_to_user_rotation_mode = 4;
   */
  fixedToUserRotationMode: number;

  /**
   * @generated from field: optional int32 last_orientation = 5;
   */
  lastOrientation: number;

  /**
   * @generated from field: optional bool is_fixed_to_user_rotation = 6;
   */
  isFixedToUserRotation: boolean;
};

/**
 * Describes the message perfetto.protos.DisplayRotationProto.
 * Use `create(DisplayRotationProtoSchema)` to create a new message.
 */
export const DisplayRotationProtoSchema: GenMessage<DisplayRotationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 14);

/**
 * represents DockedTaskDividerController
 *
 * @generated from message perfetto.protos.DockedTaskDividerControllerProto
 */
export type DockedTaskDividerControllerProto = Message<"perfetto.protos.DockedTaskDividerControllerProto"> & {
  /**
   * @generated from field: optional bool minimized_dock = 1 [deprecated = true];
   * @deprecated
   */
  minimizedDock: boolean;
};

/**
 * Describes the message perfetto.protos.DockedTaskDividerControllerProto.
 * Use `create(DockedTaskDividerControllerProtoSchema)` to create a new message.
 */
export const DockedTaskDividerControllerProtoSchema: GenMessage<DockedTaskDividerControllerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 15);

/**
 * represents PinnedTaskController
 *
 * @generated from message perfetto.protos.PinnedTaskControllerProto
 */
export type PinnedTaskControllerProto = Message<"perfetto.protos.PinnedTaskControllerProto"> & {
  /**
   * @generated from field: optional perfetto.protos.RectProto default_bounds = 1 [deprecated = true];
   * @deprecated
   */
  defaultBounds?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto movement_bounds = 2 [deprecated = true];
   * @deprecated
   */
  movementBounds?: RectProto;
};

/**
 * Describes the message perfetto.protos.PinnedTaskControllerProto.
 * Use `create(PinnedTaskControllerProtoSchema)` to create a new message.
 */
export const PinnedTaskControllerProtoSchema: GenMessage<PinnedTaskControllerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 16);

/**
 * represents Task
 *
 * @generated from message perfetto.protos.TaskProto
 */
export type TaskProto = Message<"perfetto.protos.TaskProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1 [deprecated = true];
   * @deprecated
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional int32 id = 2;
   */
  id: number;

  /**
   * @generated from field: optional bool fills_parent = 4;
   */
  fillsParent: boolean;

  /**
   * @generated from field: optional perfetto.protos.RectProto bounds = 5;
   */
  bounds?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto displayed_bounds = 6 [deprecated = true];
   * @deprecated
   */
  displayedBounds?: RectProto;

  /**
   * @generated from field: optional bool defer_removal = 7;
   */
  deferRemoval: boolean;

  /**
   * @generated from field: optional int32 surface_width = 8;
   */
  surfaceWidth: number;

  /**
   * @generated from field: optional int32 surface_height = 9;
   */
  surfaceHeight: number;

  /**
   * @generated from field: repeated perfetto.protos.TaskProto tasks = 10 [deprecated = true];
   * @deprecated
   */
  tasks: TaskProto[];

  /**
   * @generated from field: repeated perfetto.protos.ActivityRecordProto activities = 11 [deprecated = true];
   * @deprecated
   */
  activities: ActivityRecordProto[];

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto resumed_activity = 12;
   */
  resumedActivity?: IdentifierProto;

  /**
   * @generated from field: optional string real_activity = 13;
   */
  realActivity: string;

  /**
   * @generated from field: optional string orig_activity = 14;
   */
  origActivity: string;

  /**
   * @generated from field: optional int32 display_id = 15 [deprecated = true];
   * @deprecated
   */
  displayId: number;

  /**
   * @generated from field: optional int32 root_task_id = 16;
   */
  rootTaskId: number;

  /**
   * @generated from field: optional int32 activity_type = 17 [deprecated = true];
   * @deprecated
   */
  activityType: number;

  /**
   * @generated from field: optional int32 resize_mode = 18;
   */
  resizeMode: number;

  /**
   * @generated from field: optional int32 min_width = 19 [deprecated = true];
   * @deprecated
   */
  minWidth: number;

  /**
   * @generated from field: optional int32 min_height = 20 [deprecated = true];
   * @deprecated
   */
  minHeight: number;

  /**
   * @generated from field: optional perfetto.protos.RectProto adjusted_bounds = 21;
   */
  adjustedBounds?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto last_non_fullscreen_bounds = 22;
   */
  lastNonFullscreenBounds?: RectProto;

  /**
   * @generated from field: optional bool adjusted_for_ime = 23;
   */
  adjustedForIme: boolean;

  /**
   * @generated from field: optional float adjust_ime_amount = 24;
   */
  adjustImeAmount: number;

  /**
   * @generated from field: optional float adjust_divider_amount = 25;
   */
  adjustDividerAmount: number;

  /**
   * @generated from field: optional bool animating_bounds = 26 [deprecated = true];
   * @deprecated
   */
  animatingBounds: boolean;

  /**
   * @generated from field: optional float minimize_amount = 27;
   */
  minimizeAmount: number;

  /**
   * @generated from field: optional bool created_by_organizer = 28;
   */
  createdByOrganizer: boolean;

  /**
   * @generated from field: optional string affinity = 29;
   */
  affinity: string;

  /**
   * @generated from field: optional bool has_child_pip_activity = 30;
   */
  hasChildPipActivity: boolean;

  /**
   * @generated from field: optional perfetto.protos.TaskFragmentProto task_fragment = 31;
   */
  taskFragment?: TaskFragmentProto;
};

/**
 * Describes the message perfetto.protos.TaskProto.
 * Use `create(TaskProtoSchema)` to create a new message.
 */
export const TaskProtoSchema: GenMessage<TaskProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 17);

/**
 * represents TaskFragment
 *
 * @generated from message perfetto.protos.TaskFragmentProto
 */
export type TaskFragmentProto = Message<"perfetto.protos.TaskFragmentProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1;
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional int32 display_id = 2;
   */
  displayId: number;

  /**
   * @generated from field: optional int32 activity_type = 3;
   */
  activityType: number;

  /**
   * @generated from field: optional int32 min_width = 4;
   */
  minWidth: number;

  /**
   * @generated from field: optional int32 min_height = 5;
   */
  minHeight: number;
};

/**
 * Describes the message perfetto.protos.TaskFragmentProto.
 * Use `create(TaskFragmentProtoSchema)` to create a new message.
 */
export const TaskFragmentProtoSchema: GenMessage<TaskFragmentProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 18);

/**
 * represents ActivityRecordProto
 *
 * @generated from message perfetto.protos.ActivityRecordProto
 */
export type ActivityRecordProto = Message<"perfetto.protos.ActivityRecordProto"> & {
  /**
   * @generated from field: optional string name = 1;
   */
  name: string;

  /**
   * @generated from field: optional perfetto.protos.WindowTokenProto window_token = 2;
   */
  windowToken?: WindowTokenProto;

  /**
   * @generated from field: optional bool last_surface_showing = 3;
   */
  lastSurfaceShowing: boolean;

  /**
   * @generated from field: optional bool is_waiting_for_transition_start = 4;
   */
  isWaitingForTransitionStart: boolean;

  /**
   * @generated from field: optional bool is_animating = 5;
   */
  isAnimating: boolean;

  /**
   * @generated from field: optional perfetto.protos.WindowContainerThumbnailProto thumbnail = 6;
   */
  thumbnail?: WindowContainerThumbnailProto;

  /**
   * @generated from field: optional bool fills_parent = 7;
   */
  fillsParent: boolean;

  /**
   * @generated from field: optional bool app_stopped = 8;
   */
  appStopped: boolean;

  /**
   * @generated from field: optional bool visible_requested = 9;
   */
  visibleRequested: boolean;

  /**
   * @generated from field: optional bool client_visible = 10;
   */
  clientVisible: boolean;

  /**
   * @generated from field: optional bool defer_hiding_client = 11;
   */
  deferHidingClient: boolean;

  /**
   * @generated from field: optional bool reported_drawn = 12;
   */
  reportedDrawn: boolean;

  /**
   * @generated from field: optional bool reported_visible = 13;
   */
  reportedVisible: boolean;

  /**
   * @generated from field: optional int32 num_interesting_windows = 14;
   */
  numInterestingWindows: number;

  /**
   * @generated from field: optional int32 num_drawn_windows = 15;
   */
  numDrawnWindows: number;

  /**
   * @generated from field: optional bool all_drawn = 16;
   */
  allDrawn: boolean;

  /**
   * @generated from field: optional bool last_all_drawn = 17;
   */
  lastAllDrawn: boolean;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto starting_window = 19;
   */
  startingWindow?: IdentifierProto;

  /**
   * @generated from field: optional bool starting_displayed = 20;
   */
  startingDisplayed: boolean;

  /**
   * @generated from field: optional bool starting_moved = 201;
   */
  startingMoved: boolean;

  /**
   * @generated from field: optional bool visible_set_from_transferred_starting_window = 22;
   */
  visibleSetFromTransferredStartingWindow: boolean;

  /**
   * @generated from field: repeated perfetto.protos.RectProto frozen_bounds = 23 [deprecated = true];
   * @deprecated
   */
  frozenBounds: RectProto[];

  /**
   * @generated from field: optional bool visible = 24;
   */
  visible: boolean;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto identifier = 26 [deprecated = true];
   * @deprecated
   */
  identifier?: IdentifierProto;

  /**
   * @generated from field: optional string state = 27;
   */
  state: string;

  /**
   * @generated from field: optional bool front_of_task = 28;
   */
  frontOfTask: boolean;

  /**
   * @generated from field: optional int32 proc_id = 29;
   */
  procId: number;

  /**
   * @generated from field: optional bool translucent = 30;
   */
  translucent: boolean;

  /**
   * @generated from field: optional bool pip_auto_enter_enabled = 31;
   */
  pipAutoEnterEnabled: boolean;

  /**
   * @generated from field: optional bool in_size_compat_mode = 32;
   */
  inSizeCompatMode: boolean;

  /**
   * @generated from field: optional float min_aspect_ratio = 33;
   */
  minAspectRatio: number;

  /**
   * @generated from field: optional bool provides_max_bounds = 34;
   */
  providesMaxBounds: boolean;

  /**
   * @generated from field: optional bool enable_recents_screenshot = 35;
   */
  enableRecentsScreenshot: boolean;

  /**
   * @generated from field: optional int32 last_drop_input_mode = 36;
   */
  lastDropInputMode: number;

  /**
   * @generated from field: optional int32 override_orientation = 37;
   */
  overrideOrientation: number;

  /**
   * @generated from field: optional bool should_send_compat_fake_focus = 38;
   */
  shouldSendCompatFakeFocus: boolean;

  /**
   * @generated from field: optional bool should_force_rotate_for_camera_compat = 39;
   */
  shouldForceRotateForCameraCompat: boolean;

  /**
   * @generated from field: optional bool should_refresh_activity_for_camera_compat = 40;
   */
  shouldRefreshActivityForCameraCompat: boolean;

  /**
   * @generated from field: optional bool should_refresh_activity_via_pause_for_camera_compat = 41;
   */
  shouldRefreshActivityViaPauseForCameraCompat: boolean;

  /**
   * @generated from field: optional bool should_override_min_aspect_ratio = 42;
   */
  shouldOverrideMinAspectRatio: boolean;

  /**
   * @generated from field: optional bool should_ignore_orientation_request_loop = 43;
   */
  shouldIgnoreOrientationRequestLoop: boolean;

  /**
   * @generated from field: optional bool should_override_force_resize_app = 44;
   */
  shouldOverrideForceResizeApp: boolean;

  /**
   * @generated from field: optional bool should_enable_user_aspect_ratio_settings = 45;
   */
  shouldEnableUserAspectRatioSettings: boolean;

  /**
   * @generated from field: optional bool is_user_fullscreen_override_enabled = 46;
   */
  isUserFullscreenOverrideEnabled: boolean;
};

/**
 * Describes the message perfetto.protos.ActivityRecordProto.
 * Use `create(ActivityRecordProtoSchema)` to create a new message.
 */
export const ActivityRecordProtoSchema: GenMessage<ActivityRecordProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 19);

/**
 * represents WindowToken
 *
 * @generated from message perfetto.protos.WindowTokenProto
 */
export type WindowTokenProto = Message<"perfetto.protos.WindowTokenProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1;
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional int32 hash_code = 2;
   */
  hashCode: number;

  /**
   * @generated from field: repeated perfetto.protos.WindowStateProto windows = 3 [deprecated = true];
   * @deprecated
   */
  windows: WindowStateProto[];

  /**
   * @generated from field: optional bool waiting_to_show = 5 [deprecated = true];
   * @deprecated
   */
  waitingToShow: boolean;

  /**
   * @generated from field: optional bool paused = 6;
   */
  paused: boolean;
};

/**
 * Describes the message perfetto.protos.WindowTokenProto.
 * Use `create(WindowTokenProtoSchema)` to create a new message.
 */
export const WindowTokenProtoSchema: GenMessage<WindowTokenProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 20);

/**
 * represents WindowState
 *
 * @generated from message perfetto.protos.WindowStateProto
 */
export type WindowStateProto = Message<"perfetto.protos.WindowStateProto"> & {
  /**
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 1;
   */
  windowContainer?: WindowContainerProto;

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto identifier = 2 [deprecated = true];
   * @deprecated
   */
  identifier?: IdentifierProto;

  /**
   * Unique identifier of a DisplayContent stack.
   *
   * @generated from field: optional int32 display_id = 3;
   */
  displayId: number;

  /**
   * Unique identifier for the task stack.
   *
   * @generated from field: optional int32 stack_id = 4;
   */
  stackId: number;

  /**
   * @generated from field: optional perfetto.protos.WindowLayoutParamsProto attributes = 5;
   */
  attributes?: WindowLayoutParamsProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto given_content_insets = 6;
   */
  givenContentInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto frame = 7 [deprecated = true];
   * @deprecated
   */
  frame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto containing_frame = 8 [deprecated = true];
   * @deprecated
   */
  containingFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto parent_frame = 9 [deprecated = true];
   * @deprecated
   */
  parentFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto content_frame = 10 [deprecated = true];
   * @deprecated
   */
  contentFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto content_insets = 11 [deprecated = true];
   * @deprecated
   */
  contentInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto surface_insets = 12;
   */
  surfaceInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateAnimatorProto animator = 13;
   */
  animator?: WindowStateAnimatorProto;

  /**
   * @generated from field: optional bool animating_exit = 14;
   */
  animatingExit: boolean;

  /**
   * @generated from field: repeated perfetto.protos.WindowStateProto child_windows = 15 [deprecated = true];
   * @deprecated
   */
  childWindows: WindowStateProto[];

  /**
   * @generated from field: optional perfetto.protos.RectProto surface_position = 16;
   */
  surfacePosition?: RectProto;

  /**
   * @generated from field: optional int32 requested_width = 18;
   */
  requestedWidth: number;

  /**
   * @generated from field: optional int32 requested_height = 19;
   */
  requestedHeight: number;

  /**
   * @generated from field: optional int32 view_visibility = 20;
   */
  viewVisibility: number;

  /**
   * @generated from field: optional int32 system_ui_visibility = 21 [deprecated = true];
   * @deprecated
   */
  systemUiVisibility: number;

  /**
   * @generated from field: optional bool has_surface = 22;
   */
  hasSurface: boolean;

  /**
   * @generated from field: optional bool is_ready_for_display = 23;
   */
  isReadyForDisplay: boolean;

  /**
   * @generated from field: optional perfetto.protos.RectProto display_frame = 24 [deprecated = true];
   * @deprecated
   */
  displayFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto overscan_frame = 25 [deprecated = true];
   * @deprecated
   */
  overscanFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto visible_frame = 26 [deprecated = true];
   * @deprecated
   */
  visibleFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto decor_frame = 27 [deprecated = true];
   * @deprecated
   */
  decorFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto outset_frame = 28 [deprecated = true];
   * @deprecated
   */
  outsetFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto overscan_insets = 29 [deprecated = true];
   * @deprecated
   */
  overscanInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto visible_insets = 30 [deprecated = true];
   * @deprecated
   */
  visibleInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto stable_insets = 31 [deprecated = true];
   * @deprecated
   */
  stableInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto outsets = 32 [deprecated = true];
   * @deprecated
   */
  outsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.DisplayCutoutProto cutout = 33 [deprecated = true];
   * @deprecated
   */
  cutout?: DisplayCutoutProto;

  /**
   * @generated from field: optional bool remove_on_exit = 34;
   */
  removeOnExit: boolean;

  /**
   * @generated from field: optional bool destroying = 35;
   */
  destroying: boolean;

  /**
   * @generated from field: optional bool removed = 36;
   */
  removed: boolean;

  /**
   * @generated from field: optional bool is_on_screen = 37;
   */
  isOnScreen: boolean;

  /**
   * @generated from field: optional bool is_visible = 38;
   */
  isVisible: boolean;

  /**
   * @generated from field: optional bool pending_seamless_rotation = 39;
   */
  pendingSeamlessRotation: boolean;

  /**
   * @generated from field: optional int64 finished_seamless_rotation_frame = 40 [deprecated = true];
   * @deprecated
   */
  finishedSeamlessRotationFrame: bigint;

  /**
   * @generated from field: optional perfetto.protos.WindowFramesProto window_frames = 41;
   */
  windowFrames?: WindowFramesProto;

  /**
   * @generated from field: optional bool force_seamless_rotation = 42;
   */
  forceSeamlessRotation: boolean;

  /**
   * @generated from field: optional bool has_compat_scale = 43;
   */
  hasCompatScale: boolean;

  /**
   * @generated from field: optional float global_scale = 44;
   */
  globalScale: number;

  /**
   * @generated from field: repeated perfetto.protos.RectProto keep_clear_areas = 45;
   */
  keepClearAreas: RectProto[];

  /**
   * @generated from field: repeated perfetto.protos.RectProto unrestricted_keep_clear_areas = 46;
   */
  unrestrictedKeepClearAreas: RectProto[];

  /**
   * @generated from field: repeated perfetto.protos.InsetsSourceProto mergedLocalInsetsSources = 47;
   */
  mergedLocalInsetsSources: InsetsSourceProto[];

  /**
   * @generated from field: optional int32 requested_visible_types = 48;
   */
  requestedVisibleTypes: number;

  /**
   * @generated from field: optional perfetto.protos.RectProto dim_bounds = 49;
   */
  dimBounds?: RectProto;
};

/**
 * Describes the message perfetto.protos.WindowStateProto.
 * Use `create(WindowStateProtoSchema)` to create a new message.
 */
export const WindowStateProtoSchema: GenMessage<WindowStateProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 21);

/**
 * @generated from message perfetto.protos.IdentifierProto
 */
export type IdentifierProto = Message<"perfetto.protos.IdentifierProto"> & {
  /**
   * @generated from field: optional int32 hash_code = 1;
   */
  hashCode: number;

  /**
   * @generated from field: optional int32 user_id = 2;
   */
  userId: number;

  /**
   * Either a component name/string (eg: "com.android.settings/.FallbackHome")
   * or a window title ("NavigationBar").
   *
   * @generated from field: optional string title = 3;
   */
  title: string;
};

/**
 * Describes the message perfetto.protos.IdentifierProto.
 * Use `create(IdentifierProtoSchema)` to create a new message.
 */
export const IdentifierProtoSchema: GenMessage<IdentifierProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 22);

/**
 * represents WindowStateAnimator
 *
 * @generated from message perfetto.protos.WindowStateAnimatorProto
 */
export type WindowStateAnimatorProto = Message<"perfetto.protos.WindowStateAnimatorProto"> & {
  /**
   * @generated from field: optional perfetto.protos.RectProto last_clip_rect = 1;
   */
  lastClipRect?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.WindowSurfaceControllerProto surface = 2;
   */
  surface?: WindowSurfaceControllerProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateAnimatorProto.DrawState draw_state = 3;
   */
  drawState: WindowStateAnimatorProto_DrawState;

  /**
   * @generated from field: optional perfetto.protos.RectProto system_decor_rect = 4;
   */
  systemDecorRect?: RectProto;
};

/**
 * Describes the message perfetto.protos.WindowStateAnimatorProto.
 * Use `create(WindowStateAnimatorProtoSchema)` to create a new message.
 */
export const WindowStateAnimatorProtoSchema: GenMessage<WindowStateAnimatorProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 23);

/**
 * @generated from enum perfetto.protos.WindowStateAnimatorProto.DrawState
 */
export enum WindowStateAnimatorProto_DrawState {
  /**
   * @generated from enum value: NO_SURFACE = 0;
   */
  NO_SURFACE = 0,

  /**
   * @generated from enum value: DRAW_PENDING = 1;
   */
  DRAW_PENDING = 1,

  /**
   * @generated from enum value: COMMIT_DRAW_PENDING = 2;
   */
  COMMIT_DRAW_PENDING = 2,

  /**
   * @generated from enum value: READY_TO_SHOW = 3;
   */
  READY_TO_SHOW = 3,

  /**
   * @generated from enum value: HAS_DRAWN = 4;
   */
  HAS_DRAWN = 4,
}

/**
 * Describes the enum perfetto.protos.WindowStateAnimatorProto.DrawState.
 */
export const WindowStateAnimatorProto_DrawStateSchema: GenEnum<WindowStateAnimatorProto_DrawState> = /*@__PURE__*/
  enumDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 23, 0);

/**
 * represents WindowSurfaceController
 *
 * @generated from message perfetto.protos.WindowSurfaceControllerProto
 */
export type WindowSurfaceControllerProto = Message<"perfetto.protos.WindowSurfaceControllerProto"> & {
  /**
   * @generated from field: optional bool shown = 1;
   */
  shown: boolean;

  /**
   * @generated from field: optional int32 layer = 2;
   */
  layer: number;
};

/**
 * Describes the message perfetto.protos.WindowSurfaceControllerProto.
 * Use `create(WindowSurfaceControllerProtoSchema)` to create a new message.
 */
export const WindowSurfaceControllerProtoSchema: GenMessage<WindowSurfaceControllerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 24);

/**
 * represents ScreenRotationAnimation
 *
 * @generated from message perfetto.protos.ScreenRotationAnimationProto
 */
export type ScreenRotationAnimationProto = Message<"perfetto.protos.ScreenRotationAnimationProto"> & {
  /**
   * @generated from field: optional bool started = 1;
   */
  started: boolean;

  /**
   * @generated from field: optional bool animation_running = 2;
   */
  animationRunning: boolean;
};

/**
 * Describes the message perfetto.protos.ScreenRotationAnimationProto.
 * Use `create(ScreenRotationAnimationProtoSchema)` to create a new message.
 */
export const ScreenRotationAnimationProtoSchema: GenMessage<ScreenRotationAnimationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 25);

/**
 * represents WindowContainer
 *
 * @generated from message perfetto.protos.WindowContainerProto
 */
export type WindowContainerProto = Message<"perfetto.protos.WindowContainerProto"> & {
  /**
   * @generated from field: optional perfetto.protos.ConfigurationContainerProto configuration_container = 1;
   */
  configurationContainer?: ConfigurationContainerProto;

  /**
   * @generated from field: optional int32 orientation = 2;
   */
  orientation: number;

  /**
   * @generated from field: optional bool visible = 3;
   */
  visible: boolean;

  /**
   * @generated from field: optional perfetto.protos.SurfaceAnimatorProto surface_animator = 4;
   */
  surfaceAnimator?: SurfaceAnimatorProto;

  /**
   * @generated from field: repeated perfetto.protos.WindowContainerChildProto children = 5;
   */
  children: WindowContainerChildProto[];

  /**
   * @generated from field: optional perfetto.protos.IdentifierProto identifier = 6;
   */
  identifier?: IdentifierProto;

  /**
   * @generated from field: optional perfetto.protos.SurfaceControlProto surface_control = 7;
   */
  surfaceControl?: SurfaceControlProto;
};

/**
 * Describes the message perfetto.protos.WindowContainerProto.
 * Use `create(WindowContainerProtoSchema)` to create a new message.
 */
export const WindowContainerProtoSchema: GenMessage<WindowContainerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 26);

/**
 * represents a generic child of a WindowContainer
 *
 * @generated from message perfetto.protos.WindowContainerChildProto
 */
export type WindowContainerChildProto = Message<"perfetto.protos.WindowContainerChildProto"> & {
  /**
   * A window container can have multiple children of different types stored as
   * a WindowContainerChildProto but each instance of WindowContainerChildProto
   * can only contain a single type.
   *
   * We do not know the derived type and the class is dumped
   * as a WindowContainer
   *
   * @generated from field: optional perfetto.protos.WindowContainerProto window_container = 2;
   */
  windowContainer?: WindowContainerProto;

  /**
   * represents a DisplayContent child
   *
   * @generated from field: optional perfetto.protos.DisplayContentProto display_content = 3;
   */
  displayContent?: DisplayContentProto;

  /**
   * represents a DisplayArea child
   *
   * @generated from field: optional perfetto.protos.DisplayAreaProto display_area = 4;
   */
  displayArea?: DisplayAreaProto;

  /**
   * represents a Task child
   *
   * @generated from field: optional perfetto.protos.TaskProto task = 5;
   */
  task?: TaskProto;

  /**
   * represents an ActivityRecord child
   *
   * @generated from field: optional perfetto.protos.ActivityRecordProto activity = 6;
   */
  activity?: ActivityRecordProto;

  /**
   * represents a WindowToken child
   *
   * @generated from field: optional perfetto.protos.WindowTokenProto window_token = 7;
   */
  windowToken?: WindowTokenProto;

  /**
   * represents a WindowState child
   *
   * @generated from field: optional perfetto.protos.WindowStateProto window = 8;
   */
  window?: WindowStateProto;

  /**
   * represents a WindowState child
   *
   * @generated from field: optional perfetto.protos.TaskFragmentProto task_fragment = 9;
   */
  taskFragment?: TaskFragmentProto;
};

/**
 * Describes the message perfetto.protos.WindowContainerChildProto.
 * Use `create(WindowContainerChildProtoSchema)` to create a new message.
 */
export const WindowContainerChildProtoSchema: GenMessage<WindowContainerChildProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 27);

/**
 * represents ConfigurationContainer
 *
 * @generated from message perfetto.protos.ConfigurationContainerProto
 */
export type ConfigurationContainerProto = Message<"perfetto.protos.ConfigurationContainerProto"> & {
  /**
   * @generated from field: optional perfetto.protos.ConfigurationProto override_configuration = 1;
   */
  overrideConfiguration?: ConfigurationProto;

  /**
   * @generated from field: optional perfetto.protos.ConfigurationProto full_configuration = 2;
   */
  fullConfiguration?: ConfigurationProto;

  /**
   * @generated from field: optional perfetto.protos.ConfigurationProto merged_override_configuration = 3;
   */
  mergedOverrideConfiguration?: ConfigurationProto;
};

/**
 * Describes the message perfetto.protos.ConfigurationContainerProto.
 * Use `create(ConfigurationContainerProtoSchema)` to create a new message.
 */
export const ConfigurationContainerProtoSchema: GenMessage<ConfigurationContainerProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 28);

/**
 * represents WindowFrames
 *
 * @generated from message perfetto.protos.WindowFramesProto
 */
export type WindowFramesProto = Message<"perfetto.protos.WindowFramesProto"> & {
  /**
   * @generated from field: optional perfetto.protos.RectProto containing_frame = 1 [deprecated = true];
   * @deprecated
   */
  containingFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto content_frame = 2 [deprecated = true];
   * @deprecated
   */
  contentFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto decor_frame = 3 [deprecated = true];
   * @deprecated
   */
  decorFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto display_frame = 4;
   */
  displayFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto frame = 5;
   */
  frame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto outset_frame = 6;
   */
  outsetFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto overscan_frame = 7 [deprecated = true];
   * @deprecated
   */
  overscanFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto parent_frame = 8;
   */
  parentFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto visible_frame = 9 [deprecated = true];
   * @deprecated
   */
  visibleFrame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.DisplayCutoutProto cutout = 10 [deprecated = true];
   * @deprecated
   */
  cutout?: DisplayCutoutProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto content_insets = 11 [deprecated = true];
   * @deprecated
   */
  contentInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto overscan_insets = 12 [deprecated = true];
   * @deprecated
   */
  overscanInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto visible_insets = 13 [deprecated = true];
   * @deprecated
   */
  visibleInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto stable_insets = 14 [deprecated = true];
   * @deprecated
   */
  stableInsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto outsets = 15;
   */
  outsets?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto compat_frame = 16;
   */
  compatFrame?: RectProto;
};

/**
 * Describes the message perfetto.protos.WindowFramesProto.
 * Use `create(WindowFramesProtoSchema)` to create a new message.
 */
export const WindowFramesProtoSchema: GenMessage<WindowFramesProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 29);

/**
 * @generated from message perfetto.protos.InsetsSourceProviderProto
 */
export type InsetsSourceProviderProto = Message<"perfetto.protos.InsetsSourceProviderProto"> & {
  /**
   * @generated from field: optional perfetto.protos.InsetsSourceProto source = 1;
   */
  source?: InsetsSourceProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto frame = 2;
   */
  frame?: RectProto;

  /**
   * @generated from field: optional perfetto.protos.InsetsSourceControlProto fake_control = 3;
   */
  fakeControl?: InsetsSourceControlProto;

  /**
   * @generated from field: optional perfetto.protos.InsetsSourceControlProto control = 4;
   */
  control?: InsetsSourceControlProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto control_target = 5;
   */
  controlTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto pending_control_target = 6;
   */
  pendingControlTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto fake_control_target = 7;
   */
  fakeControlTarget?: WindowStateProto;

  /**
   * @generated from field: optional perfetto.protos.SurfaceControlProto captured_leash = 8;
   */
  capturedLeash?: SurfaceControlProto;

  /**
   * @generated from field: optional perfetto.protos.RectProto ime_overridden_frame = 9 [deprecated = true];
   * @deprecated
   */
  imeOverriddenFrame?: RectProto;

  /**
   * @generated from field: optional bool is_leash_ready_for_dispatching = 10;
   */
  isLeashReadyForDispatching: boolean;

  /**
   * @generated from field: optional bool client_visible = 11;
   */
  clientVisible: boolean;

  /**
   * @generated from field: optional bool server_visible = 12;
   */
  serverVisible: boolean;

  /**
   * @generated from field: optional bool seamless_rotating = 13;
   */
  seamlessRotating: boolean;

  /**
   * @generated from field: optional int64 finish_seamless_rotate_frame_number = 14;
   */
  finishSeamlessRotateFrameNumber: bigint;

  /**
   * @generated from field: optional bool controllable = 15;
   */
  controllable: boolean;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto source_window_state = 16;
   */
  sourceWindowState?: WindowStateProto;
};

/**
 * Describes the message perfetto.protos.InsetsSourceProviderProto.
 * Use `create(InsetsSourceProviderProtoSchema)` to create a new message.
 */
export const InsetsSourceProviderProtoSchema: GenMessage<InsetsSourceProviderProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 30);

/**
 * @generated from message perfetto.protos.ImeInsetsSourceProviderProto
 */
export type ImeInsetsSourceProviderProto = Message<"perfetto.protos.ImeInsetsSourceProviderProto"> & {
  /**
   * @generated from field: optional perfetto.protos.InsetsSourceProviderProto insets_source_provider = 1;
   */
  insetsSourceProvider?: InsetsSourceProviderProto;

  /**
   * @generated from field: optional perfetto.protos.WindowStateProto ime_target_from_ime = 2;
   */
  imeTargetFromIme?: WindowStateProto;

  /**
   * @generated from field: optional bool is_ime_layout_drawn = 3 [deprecated = true];
   * @deprecated
   */
  isImeLayoutDrawn: boolean;
};

/**
 * Describes the message perfetto.protos.ImeInsetsSourceProviderProto.
 * Use `create(ImeInsetsSourceProviderProtoSchema)` to create a new message.
 */
export const ImeInsetsSourceProviderProtoSchema: GenMessage<ImeInsetsSourceProviderProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 31);

/**
 * @generated from message perfetto.protos.BackNavigationProto
 */
export type BackNavigationProto = Message<"perfetto.protos.BackNavigationProto"> & {
  /**
   * @generated from field: optional bool animation_in_progress = 1;
   */
  animationInProgress: boolean;

  /**
   * @generated from field: optional int32 last_back_type = 2;
   */
  lastBackType: number;

  /**
   * @generated from field: optional bool show_wallpaper = 3;
   */
  showWallpaper: boolean;

  /**
   * @generated from field: optional string main_open_activity = 4;
   */
  mainOpenActivity: string;

  /**
   * @generated from field: optional bool animation_running = 5;
   */
  animationRunning: boolean;
};

/**
 * Describes the message perfetto.protos.BackNavigationProto.
 * Use `create(BackNavigationProtoSchema)` to create a new message.
 */
export const BackNavigationProtoSchema: GenMessage<BackNavigationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_server_windowmanagerservice, 32);

