@vertigis/arcgis-extensions 49.9.0 → 50.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AppConfig.schema.json +23 -6
- package/Hyperlink.d.ts +3 -1
- package/Hyperlink.js +1 -1
- package/data/ArcGISServiceTableExtension.js +1 -1
- package/data/Feature.d.ts +1 -3
- package/data/Feature.js +1 -1
- package/data/FeatureSet.d.ts +40 -2
- package/data/FeatureSet.js +1 -1
- package/data/FeatureSettings.js +1 -1
- package/data/FeatureSourceBase.d.ts +22 -27
- package/data/FeatureSourceBase.js +1 -1
- package/data/FieldExtension.d.ts +0 -3
- package/data/FieldExtension.js +1 -1
- package/data/PopupContentExtension.js +1 -1
- package/data/Schema.js +1 -1
- package/data/_Relationship.d.ts +1 -2
- package/data/_TableExtension.d.ts +1 -1
- package/data/_TableExtension.js +1 -1
- package/docs/html/assets/highlight.css +38 -10
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/Entity.EntityBase.html +12 -74
- package/docs/html/classes/Hyperlink.Hyperlink.html +10 -72
- package/docs/html/classes/LanguageResources.LanguageResources.html +36 -30
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +35 -97
- package/docs/html/classes/data_Attachment.Attachment.html +12 -74
- package/docs/html/classes/data_Feature.Feature.html +16 -76
- package/docs/html/classes/data_FeatureList.FeatureList.html +73 -17
- package/docs/html/classes/data_FeatureSet.FeatureSet.html +39 -33
- package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +11 -71
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +35 -98
- package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +72 -16
- package/docs/html/classes/data_FeatureStream.FeatureStream.html +13 -75
- package/docs/html/classes/data_FieldExtension.FieldExtension.html +13 -75
- package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +13 -75
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +37 -31
- package/docs/html/classes/data_Schema.Schema.html +13 -73
- package/docs/html/classes/data_TaskSettings.TaskSettings.html +12 -72
- package/docs/html/classes/data__TableExtension.TableExtension.html +34 -96
- package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +11 -71
- package/docs/html/classes/data__TableExtension.TableSchema.html +15 -75
- package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +14 -76
- package/docs/html/classes/layer_preset_LayerPresetSettings.LayerPresetSetting.html +36 -30
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +14 -76
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +12 -74
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +11 -53
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +35 -97
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +13 -73
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +13 -75
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +74 -23
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +35 -97
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +35 -97
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +35 -97
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +12 -72
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +13 -75
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +35 -97
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +35 -97
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +35 -97
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +35 -97
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +35 -97
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +35 -97
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +13 -73
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +35 -97
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +13 -73
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +35 -97
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +35 -97
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +74 -23
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +74 -23
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +35 -97
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +13 -73
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +72 -16
- package/docs/html/classes/mapping_support_LayerListSettings.ExtensionBaseLayerListSettings.html +9 -71
- package/docs/html/classes/mapping_support_LayerListSettings.LayerListSettings.html +10 -72
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +77 -26
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +77 -26
- package/docs/html/classes/menus_Menu.Menu.html +13 -75
- package/docs/html/classes/menus_MenuItem.MenuItem.html +13 -75
- package/docs/html/classes/support_FormatSettings.FormatSettings.html +12 -72
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +21 -83
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +73 -17
- package/docs/html/classes/support_Observable.Observable.html +27 -26
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +73 -17
- package/docs/html/classes/support_Serializable.SerializableBase.html +38 -32
- package/docs/html/classes/support_Settings.Settings.html +15 -75
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +72 -16
- package/docs/html/classes/support_observableUtils.ObservableMixin.html +3 -0
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +35 -97
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +33 -95
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +11 -73
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +36 -30
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +36 -30
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +11 -73
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +12 -74
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +24 -27
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +73 -17
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +72 -16
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +72 -16
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +26 -32
- package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +38 -32
- package/docs/html/classes/utilities_ObservableWeakSet.ObservableWeakSet.html +44 -42
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +72 -16
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +23 -29
- package/docs/html/classes/utilities_format_date.DateFormatter.html +37 -31
- package/docs/html/classes/utilities_format_number.NumberFormatter.html +37 -31
- package/docs/html/classes/utilities_format_time.TimeFormatter.html +37 -31
- package/docs/html/functions/support_Observable.deprecatedGetPropertyPath.html +7 -0
- package/docs/html/functions/support_Observable.deprecatedNotifyChange.html +5 -0
- package/docs/html/functions/support_Observable.deprecatedSet.html +9 -0
- package/docs/html/functions/support_Observable.deprecatedWatch.html +9 -0
- package/docs/html/functions/support_Observable.deprecatedWatchProperty.html +14 -0
- package/docs/html/functions/support_Observable.getPropertyByPath.html +3 -2
- package/docs/html/functions/support_observableUtils.createIHandle.html +8 -0
- package/docs/html/functions/support_observableUtils.notifyChange.html +8 -0
- package/docs/html/functions/support_observableUtils.observable-1.html +31 -0
- package/docs/html/functions/support_observableUtils.onWatch.html +14 -0
- package/docs/html/functions/support_observableUtils.once.html +11 -0
- package/docs/html/functions/support_observableUtils.watch.html +24 -0
- package/docs/html/functions/support_observableUtils.watchEach.html +33 -0
- package/docs/html/functions/support_observableUtils.watchEvent.html +12 -0
- package/docs/html/functions/support_observableUtils.when.html +9 -0
- package/docs/html/functions/support_observableUtils.whenOnce.html +9 -0
- package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
- package/docs/html/functions/utilities_watch.onCollectionPropertyChange.html +6 -1
- package/docs/html/functions/utilities_watch.watchCollectionPropertyEach.html +5 -4
- package/docs/html/functions/utilities_watch.watchEach.html +8 -6
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/interfaces/data_ArcGISServiceTableExtension.ArcGISServiceTableExtensionProperties.html +1 -1
- package/docs/html/interfaces/data_Feature.PresentableAttributes.html +24 -30
- package/docs/html/interfaces/data_Schema.SchemaProperties.html +2 -2
- package/docs/html/interfaces/data__Relationship.Relationship-1.html +35 -29
- package/docs/html/interfaces/data__TableExtension.TableExtensionProperties.html +1 -1
- package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +2 -2
- package/docs/html/interfaces/json_BasemapLayerJson.BasemapLayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_BingLayerJson.BingLayerJson.html +2 -2
- package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +2 -2
- package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +2 -2
- package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +2 -2
- package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +2 -2
- package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +2 -2
- package/docs/html/interfaces/json_ItemJson.ItemJson.html +2 -2
- package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +2 -2
- package/docs/html/interfaces/json_LayerJson.LayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +2 -2
- package/docs/html/interfaces/json_OpenStreetMapLayerJson.OpenStreetMapLayerJson.html +2 -2
- package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +2 -2
- package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +2 -2
- package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +2 -2
- package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +2 -2
- package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +2 -2
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapExtension.MapExtensionProperties.html +3 -3
- package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +4 -4
- package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_support_ArrayWrappedCollection.ArrayWrappedCollectionProperties.html +3 -3
- package/docs/html/interfaces/support_InitializableBase.Initializable.html +1 -1
- package/docs/html/interfaces/support_Observable.IDeprecatedObservable.html +57 -0
- package/docs/html/interfaces/support_Serializable.Serializable.html +60 -5
- package/docs/html/interfaces/support_esri.SublayerLike.html +2 -29
- package/docs/html/interfaces/support_observableUtils.IHandle.html +9 -0
- package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +29 -0
- package/docs/html/interfaces/support_observableUtils.WatchOptions.html +26 -0
- package/docs/html/interfaces/utilities_collection.AfterItemChangeEvent.html +4 -0
- package/docs/html/modules/support_Observable.html +8 -2
- package/docs/html/modules/support_esri.html +4 -3
- package/docs/html/modules/support_observableUtils.html +20 -0
- package/docs/html/modules/utilities_ObservableWeakSet.html +1 -1
- package/docs/html/modules/utilities_collection.html +1 -0
- package/docs/html/modules/utilities_watch.html +4 -4
- package/docs/html/modules.html +1 -0
- package/docs/html/types/support_esri.CollectionAfterEvent.html +1 -0
- package/docs/html/types/support_esri.CollectionAfterItemEvent.html +1 -1
- package/docs/html/types/support_esri.CollectionEvent.html +1 -0
- package/docs/html/types/support_esri.CollectionItemEvent.html +1 -0
- package/docs/html/types/support_observableUtils.Observable.html +5 -0
- package/docs/html/types/support_observableUtils.ObservablePropertyPath.html +9 -0
- package/docs/html/types/support_observableUtils.TargetTypeFromPath.html +14 -0
- package/docs/html/types/support_observableUtils.ValueTypeFromPath.html +14 -0
- package/docs/html/types/support_observableUtils.WhenOptions.html +7 -0
- package/docs/html/types/utilities_watch.WatchCallback.html +3 -0
- package/docs/html/variables/version.version.html +1 -1
- package/layer-preset/LayerPreset.js +1 -1
- package/mapping/ArcGISSublayerExtension.js +1 -1
- package/mapping/BasemapExtension.d.ts +1 -1
- package/mapping/BasemapExtension.js +1 -1
- package/mapping/BuildingComponentSublayerExtension.js +1 -1
- package/mapping/CSVLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtensionBase.js +1 -1
- package/mapping/GeoJSONLayerExtension.js +1 -1
- package/mapping/GeoRSSLayerExtension.js +1 -1
- package/mapping/GraphicsLayerExtension.js +1 -1
- package/mapping/GroundExtension.js +1 -1
- package/mapping/GroupLayerExtension.js +1 -1
- package/mapping/ImageryLayerExtension.js +1 -1
- package/mapping/KMLLayerExtension.js +1 -1
- package/mapping/MapExtension.d.ts +1 -1
- package/mapping/MapExtension.js +1 -1
- package/mapping/MapNotesSublayerExtension.js +1 -1
- package/mapping/PointCloudLayerExtension.js +1 -1
- package/mapping/RouteLayerExtension.js +1 -1
- package/mapping/SceneLayerExtension.js +1 -1
- package/mapping/StreamLayerExtension.js +1 -1
- package/mapping/SubtypeGroupLayerExtension.js +1 -1
- package/mapping/SubtypeSublayerExtension.js +1 -1
- package/mapping/WFSLayerExtension.js +1 -1
- package/mapping/WMTSLayerExtension.js +1 -1
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.d.ts +1 -1
- package/mapping/_SublayerExtension.js +1 -1
- package/mapping/support/ArrayWrappedCollection.d.ts +3 -3
- package/mapping/support/ArrayWrappedCollection.js +1 -1
- package/mapping/support/LayerListSettings.d.ts +3 -1
- package/mapping/support/LayerListSettings.js +1 -1
- package/mapping/support/PopupTemplateFeatureSettings.js +1 -1
- package/mapping/support/_LayerExtensionCollection.d.ts +19 -4
- package/mapping/support/_LayerExtensionCollection.js +1 -1
- package/mapping/support/_SublayerExtensionCollection.d.ts +19 -4
- package/mapping/support/_SublayerExtensionCollection.js +1 -1
- package/package.json +1 -1
- package/portal/BuildingSceneLayer.js +1 -1
- package/portal/SubtypeGroupLayer.js +1 -1
- package/portal/WMSLayer.js +1 -1
- package/support/InitializableBase.d.ts +12 -3
- package/support/InitializableBase.js +1 -1
- package/support/InitializeError.js +1 -1
- package/support/Observable.d.ts +164 -14
- package/support/Observable.js +1 -1
- package/support/Serializable.d.ts +40 -3
- package/support/Serializable.js +1 -1
- package/support/Settings.d.ts +6 -7
- package/support/Settings.js +1 -1
- package/support/esri.d.ts +6 -52
- package/support/observableUtils.d.ts +560 -0
- package/support/observableUtils.js +1 -0
- package/tasks/geocoding/ArcGISGeocoder.js +1 -1
- package/tasks/query/ClientSideQueryProvider.js +1 -1
- package/utilities/CollectionProxy.d.ts +54 -23
- package/utilities/CollectionProxy.js +1 -1
- package/utilities/MapTransformCollection.js +1 -1
- package/utilities/ObservableMap.d.ts +35 -4
- package/utilities/ObservableMap.js +1 -1
- package/utilities/ObservableSet.d.ts +44 -3
- package/utilities/ObservableSet.js +1 -1
- package/utilities/ObservableWeakSet.d.ts +3 -0
- package/utilities/ReadOnlyMap.d.ts +15 -2
- package/utilities/ReadOnlyMap.js +1 -1
- package/utilities/collection.d.ts +9 -0
- package/utilities/collection.js +1 -1
- package/utilities/watch.d.ts +25 -7
- package/utilities/watch.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/docs/html/interfaces/support_esri.AccessorLike.html +0 -29
- package/docs/html/types/support_esri.WatchCallback.html +0 -3
package/data/FieldExtension.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as
|
|
1
|
+
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/layers/support/Field";import{EntityBase as s}from"../Entity.js";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as o,ItemType as f}from"../ItemType.js";import{FormatSettings as a}from"../support/FormatSettings.js";import{serializable as n}from"../support/Serializable.js";import{notifyChange as d,onWatch as l,watch as m}from"../support/observableUtils.js";import{isField as h}from"../utilities/esri.js";import{isArcadeExpressionField as _}from"../utilities/field.js";import{esriFormatToGeocortexFormat as p}from"../utilities/format/date.js";import{NumberFormat as F}from"../utilities/format/formats.js";import{esriFormatToGeocortexFormat as c}from"../utilities/format/time.js";import{deepClone as u}from"../utilities/object.js";import{caseInsensitiveEquals as g}from"../utilities/string.js";export const _fieldExtensionMap=new WeakMap;let I=e=class extends s{get field(){return this._field}get schema(){return this._schema}get fieldInfo(){if(this._fieldInfo)return this._fieldInfo;if(!this.field?.name)return;const e=this._schema?._featureSettings?.popupTemplate,i=e?.fieldInfos||[];return this._fieldInfo=i.find((e=>g(e.fieldName,this.field.name))),this._fieldInfo}format="{0}";formatSettings=new S(this);searchable=!0;_itemType=f.FIELD_EXTENSION;_field;_fieldInfo;_schema;_deferredFieldProperties;_originalRef;constructor(e){super(e);const{field:i}=e??{};h(i)?this._setField(i):"string"==typeof i?this._deferredFieldProperties={$ref:i}:i?i.$ref?this._deferredFieldProperties=i:this._setField(t.fromJSON(i)):this._setField(new t),l(this,"fieldInfo",(()=>m(this,"schema._featureSettings.featureSource",(()=>d(this,"fieldInfo")),{sync:!0}))),m(this,"schema._featureSettings",(e=>{this.formatSettings.parent=e?e.formatSettings:void 0}),{sync:!0})}static matchesRef(e,i){return o(e)?g(e.field?.name??e._deferredFieldProperties?.$ref,i.$ref??i.name):g(e.name,i.$ref??i.name)}_switchField(e){e&&this._field!==e&&(this._field=e,_fieldExtensionMap.set(e,this))}_setSchema(e){this._schema=e,this._resolveField(),d(this,"schema"),d(this,"fieldInfo")}_resolveField(){if(this._field||!this._deferredFieldProperties||!this._schema)return;const i=this._schema.fields.find((i=>e.matchesRef(i,this._deferredFieldProperties)));i&&(this._setField(i),this.assignProperties({field:this._deferredFieldProperties}),this._originalRef=this._deferredFieldProperties.$ref,delete this._deferredFieldProperties,_fieldExtensionMap.set(i,this))}_getSerializableProperties(){return{...super._getSerializableProperties(),field:{serializeModes:["initial"],serialize:()=>this.field?this._originalRef?{$ref:this._originalRef}:this._schema?.fields.includes(this._field)&&this.field.name?{$ref:this.field.name}:this.field.toJSON():this._deferredFieldProperties?u(this._deferredFieldProperties):void 0,deserialize:e=>{if(h(e)&&e!==this.field)throw new Error("Property 'field' is read-only.")}},searchable:{serializeModes:["initial"],isDefault:e=>e!==_(this._field?.name)},format:{serializeModes:["initial"],default:"{0}"},formatSettings:"initial"}}async _onInitialize(){if(this._resolveField(),!this._field){const e=this._deferredFieldProperties.$ref;throw this._schema?new r(`Field not found with name: ${e}. Field does not exist.`):new r(`Field not found with name: ${e}. Field does not have a parent schema.`)}}_setField(e){this._field=e,_(this._field?.name)&&(this.searchable=!1),d(this,"field"),d(this,"fieldInfo")}};I=e=i([n],I);export{I as FieldExtension};let S=class extends a{fieldExtension;constructor(e,i){super(i),this.fieldExtension=e,l(this,"dateFormat",(()=>m(this.fieldExtension,"fieldInfo.format.dateFormat",(()=>d(this,"dateFormat")),{sync:!0}))),l(this,"timeFormat",(()=>m(this.fieldExtension,"fieldInfo.format.dateFormat",(()=>d(this,"timeFormat")),{sync:!0}))),l(this,"fractionalDigits",(()=>m(this.fieldExtension,"fieldInfo.format.places",(()=>d(this,"fractionalDigits")),{sync:!0}))),l(this,"numberFormat",(()=>m(this.fieldExtension,"fieldInfo.format.digitSeparator",(()=>d(this,"numberFormat")),{sync:!0})))}get fractionalDigits(){const e=this.fieldExtension.fieldInfo?.format?.places;return!this.isModified("fractionalDigits")&&this.useFieldInfo&&e?e:this._getSetting("fractionalDigits")}set fractionalDigits(e){this._setSetting("fractionalDigits",e)}get numberFormat(){const e=this.fieldExtension.fieldInfo?.format?.digitSeparator;return!this.isModified("numberFormat")&&this.useFieldInfo&&e?e?F.NUMBER:F.FIXED_POINT:this._getSetting("numberFormat")}set numberFormat(e){this._setSetting("numberFormat",e)}get dateFormat(){const e=this.fieldExtension.fieldInfo?.format?.dateFormat;return!this.isModified("dateFormat")&&this.useFieldInfo&&e?p(e):this._getSetting("dateFormat")}set dateFormat(e){this._setSetting("dateFormat",e)}get timeFormat(){const e=this.fieldExtension.fieldInfo?.format?.dateFormat;return!this.isModified("timeFormat")&&this.useFieldInfo&&e&&"time-only"===this.fieldExtension.field.type?c(e):this._getSetting("timeFormat")}set timeFormat(e){this._setSetting("timeFormat",e)}};S=i([n],S);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t;import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import n from"@arcgis/core/popup/content/Content.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{jsonToContent as p}from"../json/PopupInfoJson.js";import{serializable as a}from"../support/Serializable.js";import{
|
|
1
|
+
var t;import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import n from"@arcgis/core/popup/content/Content.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{jsonToContent as p}from"../json/PopupInfoJson.js";import{serializable as a}from"../support/Serializable.js";import{notifyChange as f}from"../support/observableUtils.js";import{compare as d}from"../utilities/array.js";import{isCustomContent as u,isExpressionContent as h,isPopupContent as l,isTextContent as _}from"../utilities/esri.js";import{deepClone as m}from"../utilities/object.js";export const _popupContentExtensionMap=new WeakMap;let c=t=class extends r{get content(){return this._content}get featureSettings(){return this._featureSettings}_deferredContentProperties;visibleInSummary;summaryHiddenFields=new i;_itemType=o.POPUP_CONTENT_EXTENSION;_content;_featureSettings;_originalRef;get _index(){return Array.isArray(this.featureSettings?.popupTemplate?.content)?this.featureSettings.popupTemplate.content.indexOf(this.content):-1}constructor(t){super(t);const{content:e,visibleInSummary:i}=t??{};l(e)?this._setContent(e):"string"==typeof e?this._deferredContentProperties={$ref:e}:e?e.$ref?this._deferredContentProperties=e:this._setContent(p(e)):this._setContent(new n),this.visibleInSummary=i??this._getDefaultSummaryVisibility()}static matchesRef(e,i,n){const r=e.map(((e,i)=>y(e,e instanceof t&&e._index>=0?e._index:i))),s=r[i],{type:o,index:p,title:a,text:f}=n.$ref;if(o!==s.type)return!1;if("text"===o&&f===s.text)return!0;if(a&&a===s.title)return!0;if("number"==typeof p&&p===s.index)return!0;return 1===r.map(((t,e)=>t.type===o?t.index:void 0)).filter((t=>"number"==typeof t)).length}_switchContent(t){t&&this._content!==t&&(this._content=t,this._originalRef=y(t,this._index),_popupContentExtensionMap.set(t,this),f(this,"content"))}_setFeatureSettings(t){this._featureSettings=t,this._resolveContent(),f(this,"featureSettings")}_resolveContent(){if(this._content||!this._deferredContentProperties||!this._featureSettings)return;const e=this._featureSettings._popupContent.find(((e,i)=>t.matchesRef(this.featureSettings._popupContent.toArray(),i,this._deferredContentProperties)));e&&(this._setContent(e),this.assignProperties({content:this._deferredContentProperties}),this._originalRef={...this._deferredContentProperties.$ref},delete this._deferredContentProperties,_popupContentExtensionMap.set(e,this))}_getSerializableProperties(){return{...super._getSerializableProperties(),content:{serializeModes:["initial"],serialize:()=>this.content?this._originalRef?{$ref:this._originalRef}:this._featureSettings?._popupContent.includes(this._content)?{$ref:y(this.content,this._index)}:this.content?.toJSON():this._deferredContentProperties?m(this._deferredContentProperties):void 0,deserialize:t=>{if(l(t)&&t!==this.content)throw new Error("Property 'popupContent' is read-only.")}},visibleInSummary:{serializeModes:["initial"],isDefault:(t,e)=>t===this._getDefaultSummaryVisibility()},summaryHiddenFields:{serializeModes:["initial"],serialize:()=>this.summaryHiddenFields.toArray(),deserialize:t=>{d(this.summaryHiddenFields,t,{onMatch:(t,e,i,n)=>{this.summaryHiddenFields.reorder(t,n)},onMissing:t=>{this.summaryHiddenFields.remove(t)},onNew:t=>{this.summaryHiddenFields.add(t)}})}}}}async _onInitialize(){if(this._resolveContent(),!this._content){const t=this._deferredContentProperties.$ref;throw this._featureSettings?new s(`PopupContent not found with reference: ${JSON.stringify(t)}. PopupContent does not exist.`):new s(`PopupContent not found with reference: ${JSON.stringify(t)}. PopupContent does not have a parent featureSettings.`)}}_setContent(t){this._content=t,f(this,"content")}_getDefaultSummaryVisibility(){return"text"===(this.content?.type??this._deferredContentProperties?.type??this._deferredContentProperties?.$ref?.type)}};c=t=e([a],c);export{c as PopupContentExtension};function y(t,e){const i=t instanceof c?t.content:t;if(!i)return t._deferredContentProperties?.$ref;const n={type:i.type};return e>=0&&(n.index=e),h(i)?n.title=i.expressionInfo.title:_(i)?n.text=i.text:u(i)||(n.title=i.title),n}
|
package/data/Schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/PopupTemplate";import s from"@arcgis/core/core/Collection";import o from"@arcgis/core/layers/support/FeatureType";import n from"@arcgis/core/layers/support/Field";import l from"@arcgis/core/popup/FieldInfo";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as d}from"../ItemType.js";import{jsonToGeometryType as a}from"../json/GeometryJson.js";import{InitializableCollectionProxy as h}from"../support/InitializableCollectionProxy.js";import{filterJSONProperties as m,isDefault as p,serializable as f,shouldExcludeDefaults as c}from"../support/Serializable.js";import{Settings as _}from"../support/Settings.js";import{CaseInsensitiveObservableMap as u}from"../utilities/CaseInsensitiveObservableMap.js";import{CollectionProxy as g}from"../utilities/CollectionProxy.js";import y from"../utilities/_ReferenceCountedHandle.js";import{checkArg as F}from"../utilities/checkArg.js";import{compare as x}from"../utilities/collection.js";import{isFeatureType as v,isField as b}from"../utilities/esri.js";import{fieldWithArcadeXRegex as T,fieldWithRelationshipRegex as S,getArcadeExpressionFromField as w}from"../utilities/field.js";import{isValidTimeZone as I,ERR_TIME_ZONE_INVALID as z}from"../utilities/format/date.js";import{objectKeys as N}from"../utilities/object.js";import{caseInsensitiveEquals as C}from"../utilities/string.js";import{onCollectionPropertyChange as E}from"../utilities/watch.js";import{_fieldExtensionMap as j,FieldExtension as k}from"./FieldExtension.js";const A=new Map;A.set("objectid","oid"),A.set("oid","oid"),A.set("fid","oid"),A.set("shape","geometry"),A.set("shape__length","double"),A.set("shape_length","double"),A.set("shape__area","double"),A.set("shape_area","double"),A.set("area","double"),A.set("perimeter","double"),A.set("length","double"),A.set("fnode_","double"),A.set("tnode_","double"),A.set("lpoly_","double"),A.set("rpoly_","double"),A.set("cover_","integer"),A.set("cover_id","integer"),A.set("idtic","integer"),A.set("xtic","double"),A.set("ytic","double"),A.set("xmin","double"),A.set("ymin","double"),A.set("xmax","double"),A.set("ymax","double"),A.set("arc_","double"),A.set("subclass_","integer"),A.set("subclass_id","integer"),A.set("routelink","integer"),A.set("arclink","integer"),A.set("f_meas","double"),A.set("t_meas","double"),A.set("f_pos","double"),A.set("t_pos","double"),A.set("f_meas","double"),A.set("globalid","global-id"),A.set("guid","guid");export{T as fieldWithArcadeXRegex,S as fieldWithRelationshipRegex};const M=new WeakMap;let L=e=class extends _{fieldExtensions;fields;get spatialReference(){return this._getSetting("spatialReference")}set spatialReference(e){this._setSetting("spatialReference",e)}get primaryKeyField(){const e=this._getSetting("primaryKeyField");if(!e){const e=this.fields.filter((e=>"oid"===e.type));if(1===e.length)return e.getItemAt(0).name}return e}set primaryKeyField(e){this._setSetting("primaryKeyField",e)}get displayField(){return this._getSetting("displayField",this.primaryKeyField)}set displayField(e){!this._featureSettings?.popupTemplate||this._featureSettings.popupTemplate.title&&this._featureSettings.popupTemplate.title!==`{${this.displayField}}`||(this._featureSettings.popupTemplate.title=`{${e}}`),this._setSetting("displayField",e)}get geometryType(){return this._getSetting("geometryType")}set geometryType(e){this._setSetting("geometryType",e)}get hasGeometry(){return void 0!==this.geometryType&&null!==this.geometryType}get timeZone(){return this._getSetting("timeZone","UTC")}set timeZone(e){F("timeZone",e).satisfies((e=>I(e)),z(e)),this._setSetting("timeZone",e)}get typeIdField(){return this._getSetting("typeIdField")}set typeIdField(e){this._setSetting("typeIdField",e)}get types(){return this._getCollectionSetting("types")}get _fields(){return this._getCollectionSetting("_fields")}_featureSettings;_alwaysSerializeFieldExtensions;constructor(e){super(e),this.fieldExtensions=new O(this),this.fields=new R(this)}static createFieldInfoFromField(e){let i=!0;const t=e.name.toLowerCase();return("oid"===e.type||"geometry"===e.type||A.has(t)&&A.get(t)===e.type)&&(i=!1),new l({visible:i,fieldName:e.name,format:void 0,label:e.alias,stringFieldOption:void 0,tooltip:void 0,isEditable:e.editable})}findFieldByName(e){return this.fields.findFieldByName(e)}toJSON(e="all"){const i=m(this._getSerializableProperties(),this,e)||{};let t=i.fieldExtensions;this.parent&&(t=t?.filter((e=>{const i=this.parent;return!i?.fieldExtensions?.some((i=>i.id===e.id))})));const{fields:s}=i;if(i)for(const e of N(i))this.isModified(e)||delete i[e];if(s&&(i.fields=s),t?.length&&(i.fieldExtensions=t),!c(e)||!p(i))return i}createPopupTemplate(){const e=this.createAllFieldInfos();return new t({fieldInfos:e,content:[{type:"fields"},{type:"attachments"}]})}createAllFieldInfos(){return this.fields.toArray().filter((e=>!!e.name)).map((i=>e.createFieldInfoFromField(i)))}_getSerializableProperties(){return{geometryType:{serialize:!1,deserialize:e=>{this.geometryType=e?a(e):void 0}},spatialReference:{serialize:!1},primaryKeyField:{serialize:!1},displayField:{serialize:!1},typeIdField:{serialize:!1},fields:{serializeModes:["initial","project"],serialize:()=>this.isModified("_fields")?this.fields.toArray().map((e=>e.toJSON())):void 0,deserialize:e=>{if(!e)return;const i=e.map((e=>b(e)?e:n.fromJSON(e)));x(this.fields,i,{onNew:(e,i)=>{this.fields.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.alias=i.alias,e.editable=i.editable,e.length=i.length,e.nullable=i.nullable,e.type=i.type),t!==s&&this.fields.reorder(e,s)},onMissing:e=>{this.fields.remove(e)},equals:(e,i)=>C(e.name,i.name)})}},fieldExtensions:{serializeModes:["initial"],serialize:e=>this.fieldExtensions.toArray().map((i=>i.toJSON(e))).filter((e=>this._alwaysSerializeFieldExtensions||!(e&&2===Object.keys(e).length&&e.id&&e.field))),deserialize:e=>{e&&x(this.fieldExtensions,e,{onNew:(e,i)=>{this.fieldExtensions.add(d(e)?e:new k(e),i)},onMatch:(e,i,t,s)=>{d(i)||e.assignProperties(i),t!==s&&this.fieldExtensions.reorder(e,s)},onMissing:e=>{this._alwaysSerializeFieldExtensions&&this.fieldExtensions.remove(e)},equals:(e,i)=>d(i)?i===e:!(!i?.field||!k.matchesRef(e,i.field))||e.id===i.id})}},types:{serialize:!1,deserialize:e=>{if(!e)return;const i=e.map((e=>v(e)||!e?e:o.fromJSON(e)));x(this.types,i,{onNew:(e,i)=>{this.types.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.name=i.name,e.templates=i.templates?[...i.templates]:[],e.domains=i.domains),t!==s&&this.types.reorder(e,s)},onMissing:e=>{this.types.remove(e)},equals:(e,i)=>e.id===i.id})}},timeZone:{serialize:!1,deserialize:e=>{e&&(this.timeZone=e)}}}}};L=e=i([f],L);export{L as Schema};class R extends g{_schema;_fieldNameToField;_backingCollection;_expressionFields;get _expressionFieldsLength(){return this.expressionFields.length}get expressionFields(){return null==this._expressionFields&&this._generateExpressionFields(),this._expressionFields}get _collection(){return null==this._backingCollection&&this._generateCollection(),this._backingCollection}get _popupTemplate(){return this._schema._featureSettings?this._schema._featureSettings.popupTemplate:void 0}constructor(e){super(),this._schema=e,E(this._schema,"_fields",(e=>{this.emit("change",e)})),this._schema.watch("_fields.length",(()=>{this.notifyChange("length")}));const i=()=>{const e=()=>this._schema._featureSettings?.popupTemplate?.watch(["fieldInfos","expressionInfos"],(()=>{this._resetLookups()}),!0);let i=e();const t=this._schema._featureSettings?.watch("popupTemplate",(t=>{this._resetLookups(),i?.remove(),i=e()}),!0);return this._resetLookups(),{remove:()=>{i?.remove(),t?.remove()}}};let t,s=i();this._schema.watch("_featureSettings",(()=>{s?.remove(),s=i()}),!0),null!=this._schema._fields&&(t=this._schema._fields.on("after-changes",(()=>{this._resetLookups()}))),this._schema.watch("_fields",(e=>{t?.remove(),t=e?.on("after-changes",(()=>{this._resetLookups()})),this._resetLookups()}),!0)}clone(){return new R(this._schema)}add(e,i){F("field",e).isNotMissing(),this._backingCollection=void 0,this._fieldNameToField=void 0;const t=w(e.name);if(t){if(!this._popupTemplate)throw new r("Cannot create a field that references an arcade expression without a feature source and popup template.");const i=this._popupTemplate.expressionInfos.find((e=>C(e.name,t)));if(!i)throw new r("Cannot create a field that references a non-existent arcade expression.");this._popupTemplate.fieldInfos||(this._popupTemplate.fieldInfos=[]);let s=this._popupTemplate.fieldInfos.find((i=>C(i.fieldName,e.name)));s||(s=new l({fieldName:e.name,label:i.title}),this._popupTemplate.fieldInfos.push(s));const o=M.get(s);M.set(s,e),null!=this._expressionFields&&(this._expressionFields.remove(o),this._expressionFields.includes(e)||this._expressionFields.add(e));const n={added:[e],moved:[],removed:o?[o]:[],target:this};this.emit("change",n),this.notifyChange("length"),this.notifyChange("_expressionFieldsLength")}else this._schema._fields.add(e,i);return this}removeAt(e){F("index",e).isNotMissing();const i=this.getItemAt(e);if(!i)return;this._backingCollection=void 0,this._fieldNameToField=void 0;if(w(i.name)){const e=this._popupTemplate.fieldInfos.findIndex((e=>C(e.fieldName,i.name)));this._popupTemplate.fieldInfos.splice(e,1),this._expressionFields?.remove(i);const t={added:[],moved:[],removed:[i],target:this};this.emit("change",t),this.notifyChange("length"),this.notifyChange("_expressionFieldsLength")}else this._schema._fields.remove(i);return i}reorder(e,i){if(e&&this._schema._fields.includes(e))return this._backingCollection=void 0,this._schema._fields.reorder(e,i),e}sort(e){return this._backingCollection=void 0,this._schema._fields.sort(e),this}findFieldByName(e){return null==this._fieldNameToField&&this._generateNameLookup(),this._fieldNameToField.get(e)}_generateExpressionFields(){if(this._expressionFields=new s,this._popupTemplate?.fieldInfos&&this._popupTemplate?.expressionInfos)for(const e of this._popupTemplate.fieldInfos){const i=w(e.fieldName);if(null==i)continue;const t=this._popupTemplate.expressionInfos.find((e=>C(e.name,i)));if(null==t)continue;if(M.has(e)){this._expressionFields.add(M.get(e));continue}const s=new n({name:e.fieldName,alias:e.label||t.title||e.fieldName,type:"number"===t.returnType?"double":"string",editable:!1});M.set(e,s),this._expressionFields.add(M.get(e))}}_generateCollection(){this._backingCollection=this._schema._fields.concat(this.expressionFields)}_generateNameLookup(){const e=new u;for(const i of this._collection)e.set(i.name,i);this._fieldNameToField=e}_resetLookups(){this._backingCollection=void 0,this._expressionFields=void 0,this._fieldNameToField=void 0}}class O extends h{get _collection(){return this._schema.fields.map((e=>this._forField(e))).concat(Array.from(this._uninitializedFieldExtensions))}_schema;_uninitializedFieldExtensions=new Set;_schemaFieldsHandle=new y((()=>E(this._schema,"fields",(e=>{const i={added:(e.added||[]).map((e=>this._forField(e))),moved:(e.moved||[]).map((e=>this._forField(e))),removed:(e.removed||[]).map((e=>this._forField(e))),target:this};this.emit("change",i)}))));_schemaFieldsLengthHandle=new y((()=>this._schema.watch("fields.length",(()=>this.notifyChange("length")))));constructor(e){super(),this._schema=e}forField(e){if(F("field",e).isNotMissing(),this._schema.fields.includes(e))return this._forField(e)}add(e,i){if(F("fieldX",e).isNotMissing(),e.schema&&e.schema.fieldExtensions.remove(e),e._setSchema(this._schema),e.field){const t=j.get(e.field);if(j.set(e.field,e),t&&t!==e&&this._onRemoved(t),this._schema.fields.includes(e.field))if(void 0===i){const i={added:[e],moved:[],removed:t?[t]:[],target:this};this.emit("change",i)}else this._schema.fields.reorder(e.field,i);else this._schema.fields.add(e.field,i)}else{this._uninitializedFieldExtensions.add(e);const i={added:[e],moved:[],removed:[],target:this};this.emit("change",i)}return this._onAdded(e),this}removeAt(e){const i=this.getItemAt(e);if(void 0!==i){if(this._uninitializedFieldExtensions.has(i)){this._uninitializedFieldExtensions.delete(i);const e={added:[],moved:[],removed:[i],target:this};this.emit("change",e)}else this._schema.fields.remove(i.field);return this._onRemoved(i),i}}reorder(e,i){if(e&&this._schema.fields.includes(e.field))return this._schema.fields.reorder(e.field,i),e}sort(e){return this._schema.fields.sort(((i,t)=>e(this._forField(i),this._forField(t)))),this}on(e,i){if("change"===e){const t=[this._schemaFieldsHandle.add(),super.on(e,i)];return{remove:()=>{for(const e of t)e.remove()}}}return super.on(e,i)}watch(e,i,t){if((Array.isArray(e)?e:[e]).includes("length")){const s=[this._schemaFieldsLengthHandle.add(),super.watch(e,i,t)];return{remove:()=>{for(const e of s)e.remove()}}}return super.watch(e,i,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.field}_onAdded(e){}_onRemoved(e){e.schema===this._schema&&e._setSchema(void 0)}_forField(e){if(this._uninitializedFieldExtensions.size)for(const e of this._uninitializedFieldExtensions)e._resolveField(),e.field&&(j.set(e.field,e),this._uninitializedFieldExtensions.delete(e));if(!j.has(e)){const i=new k({field:e});j.set(e,i),i._setSchema(this._schema),this._onAdded(i)}return j.get(e)}}
|
|
1
|
+
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/PopupTemplate";import s from"@arcgis/core/core/Collection";import o from"@arcgis/core/layers/support/FeatureType";import l from"@arcgis/core/layers/support/Field";import n from"@arcgis/core/popup/FieldInfo";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as d}from"../ItemType.js";import{jsonToGeometryType as a}from"../json/GeometryJson.js";import{InitializableCollectionProxy as h}from"../support/InitializableCollectionProxy.js";import{filterJSONProperties as m,isDefault as f,serializable as p,shouldExcludeDefaults as c}from"../support/Serializable.js";import{Settings as _}from"../support/Settings.js";import{createIHandle as u,notifyChange as g,onWatch as F,watch as y}from"../support/observableUtils.js";import{CaseInsensitiveObservableMap as x}from"../utilities/CaseInsensitiveObservableMap.js";import{CollectionProxy as v}from"../utilities/CollectionProxy.js";import{ReadOnlyCollection as b}from"../utilities/ReadOnlyCollection.js";import S from"../utilities/_ReferenceCountedHandle.js";import{checkArg as T}from"../utilities/checkArg.js";import{compare as I}from"../utilities/collection.js";import{isFeatureType as w,isField as z}from"../utilities/esri.js";import{fieldWithArcadeXRegex as N,fieldWithRelationshipRegex as E,getArcadeExpressionFromField as A}from"../utilities/field.js";import{isValidTimeZone as j,ERR_TIME_ZONE_INVALID as C}from"../utilities/format/date.js";import{objectKeys as M}from"../utilities/object.js";import{caseInsensitiveEquals as R}from"../utilities/string.js";import{_fieldExtensionMap as H,FieldExtension as O}from"./FieldExtension.js";const B=new Map;B.set("objectid","oid"),B.set("oid","oid"),B.set("fid","oid"),B.set("shape","geometry"),B.set("shape__length","double"),B.set("shape_length","double"),B.set("shape__area","double"),B.set("shape_area","double"),B.set("area","double"),B.set("perimeter","double"),B.set("length","double"),B.set("fnode_","double"),B.set("tnode_","double"),B.set("lpoly_","double"),B.set("rpoly_","double"),B.set("cover_","integer"),B.set("cover_id","integer"),B.set("idtic","integer"),B.set("xtic","double"),B.set("ytic","double"),B.set("xmin","double"),B.set("ymin","double"),B.set("xmax","double"),B.set("ymax","double"),B.set("arc_","double"),B.set("subclass_","integer"),B.set("subclass_id","integer"),B.set("routelink","integer"),B.set("arclink","integer"),B.set("f_meas","double"),B.set("t_meas","double"),B.set("f_pos","double"),B.set("t_pos","double"),B.set("f_meas","double"),B.set("globalid","global-id"),B.set("guid","guid");export{N as fieldWithArcadeXRegex,E as fieldWithRelationshipRegex};const P=new WeakMap;let Z=e=class extends _{fieldExtensions;fields;get spatialReference(){return this._getSetting("spatialReference")}set spatialReference(e){this._setSetting("spatialReference",e)}get primaryKeyField(){const e=this._getSetting("primaryKeyField");if(!e){const e=this.fields.filter((e=>"oid"===e.type));if(1===e.length)return e.getItemAt(0).name}return e}set primaryKeyField(e){this._setSetting("primaryKeyField",e)}get displayField(){return this._getSetting("displayField",this.primaryKeyField)}set displayField(e){!this._featureSettings?.popupTemplate||this._featureSettings.popupTemplate.title&&this._featureSettings.popupTemplate.title!==`{${this.displayField}}`||(this._featureSettings.popupTemplate.title=`{${e}}`),this._setSetting("displayField",e)}get geometryType(){return this._getSetting("geometryType")}set geometryType(e){this._setSetting("geometryType",e)}get hasGeometry(){return void 0!==this.geometryType&&null!==this.geometryType}get timeZone(){return this._getSetting("timeZone","UTC")}set timeZone(e){T("timeZone",e).satisfies((e=>j(e)),C(e)),this._setSetting("timeZone",e)}get typeIdField(){return this._getSetting("typeIdField")}set typeIdField(e){this._setSetting("typeIdField",e)}get types(){return this._getCollectionSetting("types")}get _fields(){return this._getCollectionSetting("_fields")}_featureSettings;_alwaysSerializeFieldExtensions;constructor(e){super(e),this.fieldExtensions=new K(this),this.fields=new J(this)}static createFieldInfoFromField(e){let i=!0;const t=e.name.toLowerCase();return("oid"===e.type||"geometry"===e.type||B.has(t)&&B.get(t)===e.type)&&(i=!1),new n({visible:i,fieldName:e.name,format:void 0,label:e.alias,stringFieldOption:void 0,tooltip:void 0,isEditable:e.editable})}findFieldByName(e){return this.fields.findFieldByName(e)}toJSON(e="all"){const i=m(this._getSerializableProperties(),this,e)||{};let t=i.fieldExtensions;this.parent&&(t=t?.filter((e=>{const i=this.parent;return!i?.fieldExtensions?.some((i=>i.id===e.id))})));const{fields:s}=i;if(i)for(const e of M(i))this.isModified(e)||delete i[e];if(s&&(i.fields=s),t?.length&&(i.fieldExtensions=t),!c(e)||!f(i))return i}createPopupTemplate(){const e=this.createAllFieldInfos();return new t({fieldInfos:e,content:[{type:"fields"},{type:"attachments"}]})}createAllFieldInfos(){return this.fields.toArray().filter((e=>!!e.name)).map((i=>e.createFieldInfoFromField(i)))}_getSerializableProperties(){return{geometryType:{serialize:!1,deserialize:e=>{this.geometryType=e?a(e):void 0}},spatialReference:{serialize:!1},primaryKeyField:{serialize:!1},displayField:{serialize:!1},typeIdField:{serialize:!1},fields:{serializeModes:["initial","project"],serialize:()=>this.isModified("_fields")?this.fields.toArray().map((e=>e.toJSON())):void 0,deserialize:e=>{if(!e)return;const i=e.map((e=>z(e)?e:l.fromJSON(e)));I(this.fields,i,{onNew:(e,i)=>{this.fields.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.alias=i.alias,e.editable=i.editable,e.length=i.length,e.nullable=i.nullable,e.type=i.type),t!==s&&this.fields.reorder(e,s)},onMissing:e=>{this.fields.remove(e)},equals:(e,i)=>R(e.name,i.name)})}},fieldExtensions:{serializeModes:["initial"],serialize:e=>this.fieldExtensions.toArray().map((i=>i.toJSON(e))).filter((e=>this._alwaysSerializeFieldExtensions||!(e&&2===Object.keys(e).length&&e.id&&e.field))),deserialize:e=>{e&&I(this.fieldExtensions,e,{onNew:(e,i)=>{this.fieldExtensions.add(d(e)?e:new O(e),i)},onMatch:(e,i,t,s)=>{d(i)||e.assignProperties(i),t!==s&&this.fieldExtensions.reorder(e,s)},onMissing:e=>{this._alwaysSerializeFieldExtensions&&this.fieldExtensions.remove(e)},equals:(e,i)=>d(i)?i===e:!(!i?.field||!O.matchesRef(e,i.field))||e.id===i.id})}},types:{serialize:!1,deserialize:e=>{if(!e)return;const i=e.map((e=>w(e)||!e?e:o.fromJSON(e)));I(this.types,i,{onNew:(e,i)=>{this.types.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.name=i.name,e.templates=i.templates?[...i.templates]:[],e.domains=i.domains),t!==s&&this.types.reorder(e,s)},onMissing:e=>{this.types.remove(e)},equals:(e,i)=>e.id===i.id})}},timeZone:{serialize:!1,deserialize:e=>{e&&(this.timeZone=e)}}}}};Z=e=i([p],Z);export{Z as Schema};class J extends v{_schema;_fieldNameToField=new x;_expressionFields=new s;_expressionFieldsReadOnly=new b(this._expressionFields);get _expressionFieldsLength(){return this.expressionFields.length}get expressionFields(){return this._expressionFieldsReadOnly}get _popupTemplate(){return this._schema._featureSettings?this._schema._featureSettings.popupTemplate:void 0}constructor(e){super(new s),this._schema=e,F(this,"length",(()=>y(this._schema,"_fields.length",(()=>g(this,"length")),{sync:!0})));const i=[];y(this._schema,"_fields",(e=>{for(const e of i)e.remove();if(null!=e){i.push(e.on("after-add",(i=>{this._collection.add(i.item,e.indexOf(i.item)),this._fieldNameToField.set(i.item.name,i.item)})),e.on("after-remove",(e=>{this._collection.remove(e.item),this._fieldNameToField.delete(e.item.name)})));for(const i of this._collection)e.includes(i)||(this._collection.remove(i),this._fieldNameToField.delete(i.name));for(const i of e)this._collection.includes(i)||(this._collection.add(i),this._fieldNameToField.set(i.name,i))}else for(const e of this._collection.filter((e=>!this._expressionFields.includes(e))))this._collection.remove(e),this._fieldNameToField.delete(e.name)}),{sync:!0,initial:!0}),this._generateExpressionFields(),y(this._schema,"_featureSettings.popupTemplate.fieldInfos",(()=>{this._generateExpressionFields()}),{sync:!0}),y(this._schema,"_featureSettings.popupTemplate.expressionInfos",(()=>{this._generateExpressionFields()}),{sync:!0})}clone(){return new J(this._schema)}add(e,i){T("field",e).isNotMissing();const t=A(e.name);if(t){if(!this._popupTemplate)throw new r("Cannot create a field that references an arcade expression without a feature source and popup template.");const i=this._popupTemplate.expressionInfos.find((e=>R(e.name,t)));if(!i)throw new r("Cannot create a field that references a non-existent arcade expression.");this._popupTemplate.fieldInfos||(this._popupTemplate.fieldInfos=[]);let s=this._popupTemplate.fieldInfos.find((i=>R(i.fieldName,e.name)));s||(s=new n({fieldName:e.name,label:i.title}),this._popupTemplate.fieldInfos.push(s));const o=P.get(s);P.set(s,e),null!=this._expressionFields&&(this._expressionFields.remove(o),this._expressionFields.includes(e)||(this._expressionFields.add(e),this._collection.add(e),this._fieldNameToField.set(e.name,e))),g(this,"_expressionFieldsLength")}else this._schema._fields.add(e,i);return this}removeAt(e){T("index",e).isNotMissing();const i=this.getItemAt(e);if(!i)return;if(A(i.name)){const e=this._popupTemplate.fieldInfos.findIndex((e=>R(e.fieldName,i.name)));this._popupTemplate.fieldInfos.splice(e,1),this._expressionFields.remove(i),this._collection.remove(i),this._fieldNameToField.delete(i.name),g(this,"_expressionFieldsLength")}else this._schema._fields.remove(i);return i}reorder(e,i){if(e&&this._schema._fields.includes(e))return this._schema._fields.reorder(e,i),this._collection.reorder(e,i),e}sort(e){return this._schema._fields.sort(e),this._collection.sort(((i,t)=>this._expressionFields.includes(i)&&this._expressionFields.includes(t)?0:this._expressionFields.includes(i)?1:this._expressionFields.includes(t)?-1:e(i,t))),this}findFieldByName(e){return this._fieldNameToField.get(e)}_generateExpressionFields(){if(!this._popupTemplate?.fieldInfos||!this._popupTemplate?.expressionInfos){for(const e of this._expressionFields)this._collection.remove(e),this._fieldNameToField.delete(e.name);return void this._expressionFields.removeAll()}const e=this._expressionFields.slice();for(const i of this._popupTemplate.fieldInfos){const t=A(i.fieldName);if(null==t)continue;const s=this._popupTemplate.expressionInfos.find((e=>R(e.name,t)));if(null==s)continue;let o=P.get(i);null==o&&(o=new l({name:i.fieldName,alias:i.label||s.title||i.fieldName,type:"number"===s.returnType?"double":"string",editable:!1})),this._expressionFields.includes(o)?e.remove(o):(P.set(i,o),this._expressionFields.add(o),this._collection.add(o),this._fieldNameToField.set(o.name,o),e.remove(o))}for(const i of e)this._expressionFields.remove(i),this._collection.remove(i),this._fieldNameToField.delete(i.name)}}class K extends h{get _collection(){return this._schema.fields.map((e=>this._forField(e))).concat(Array.from(this._uninitializedFieldExtensions))}_schema;_uninitializedFieldExtensions=new Set;_onChangeSchemaFieldsHandle=new S((()=>this._schema.fields.on("change",(e=>{const i={added:(e.added||[]).map((e=>this._forField(e))),moved:(e.moved||[]).map((e=>this._forField(e))),removed:(e.removed||[]).map((e=>this._forField(e))),target:this};this.emit("change",i)}))));_onBeforeAddSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-add",(e=>{this.emit("before-add",{...e,item:this._forField(e.item),target:this})}))));_onBeforeRemoveSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-remove",(e=>{this.emit("before-remove",{...e,item:this._forField(e.item),target:this})}))));_onBeforeChangesSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-changes",(e=>{this.emit("before-changes",{...e,target:this})}))));_onAfterAddSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-add",(e=>{this.emit("after-add",{...e,item:this._forField(e.item),target:this})}))));_onAfterRemoveSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-remove",(e=>{this.emit("after-remove",{...e,item:this._forField(e.item),target:this})}))));_onAfterChangesSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-changes",(e=>{this.emit("after-changes",{...e,target:this})}))));constructor(e){super(),this._schema=e,F(this,"length",(()=>y(this._schema.fields,"length",(()=>g(this,"length")),{sync:!0})))}forField(e){if(T("field",e).isNotMissing(),this._schema.fields.includes(e))return this._forField(e)}add(e,i){if(T("fieldX",e).isNotMissing(),e.schema&&e.schema.fieldExtensions.remove(e),e._setSchema(this._schema),e.field){const t=H.get(e.field);if(H.set(e.field,e),t&&t!==e&&this._onRemoved(t),this._schema.fields.includes(e.field))if(void 0===i){const i={added:[e],moved:[],removed:t?[t]:[],target:this};this.emit("change",i),this.emit("after-add",{item:e,target:this}),this.emit("after-changes",{target:this})}else this._schema.fields.reorder(e.field,i);else this._schema.fields.add(e.field,i)}else{this._uninitializedFieldExtensions.add(e);const i={added:[e],moved:[],removed:[],target:this};this.emit("change",i),this.emit("after-add",{item:e,target:this}),this.emit("after-changes",{target:this})}return this._onAdded(e),this}removeAt(e){const i=this.getItemAt(e);if(void 0!==i){if(this._uninitializedFieldExtensions.has(i)){this._uninitializedFieldExtensions.delete(i);const e={added:[],moved:[],removed:[i],target:this};this.emit("change",e),this.emit("after-remove",{item:i,target:this}),this.emit("after-changes",{target:this})}else this._schema.fields.remove(i.field);return this._onRemoved(i),i}}reorder(e,i){if(e&&this._schema.fields.includes(e.field))return this._schema.fields.reorder(e.field,i),e}sort(e){return this._schema.fields.sort(((i,t)=>e(this._forField(i),this._forField(t)))),this}on(e,i){const t=[];return"change"===e?t.push(this._onChangeSchemaFieldsHandle.add()):"before-add"===e?t.push(this._onBeforeAddSchemaFieldsHandle.add()):"before-remove"===e?t.push(this._onBeforeRemoveSchemaFieldsHandle.add()):"before-changes"===e?t.push(this._onBeforeChangesSchemaFieldsHandle.add()):"after-add"===e?t.push(this._onAfterAddSchemaFieldsHandle.add()):"after-remove"===e?t.push(this._onAfterRemoveSchemaFieldsHandle.add()):"after-changes"===e&&t.push(this._onAfterChangesSchemaFieldsHandle.add()),t.push(super.on(e,i)),u(t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.field}_onAdded(e){}_onRemoved(e){e.schema===this._schema&&e._setSchema(void 0)}_forField(e){if(this._uninitializedFieldExtensions.size)for(const e of this._uninitializedFieldExtensions)e._resolveField(),e.field&&(H.set(e.field,e),this._uninitializedFieldExtensions.delete(e));if(!H.has(e)){const i=new O({field:e});H.set(e,i),i._setSchema(this._schema),this._onAdded(i)}return H.get(e)}}
|
package/data/_Relationship.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Entity, EntityBaseProperties } from "../Entity.js";
|
|
2
|
-
import type { Observable } from "../support/Observable.js";
|
|
3
2
|
import type { Serializable } from "../support/Serializable.js";
|
|
4
3
|
import type { Feature, FetchRelatedFeaturesOptions } from "./Feature.js";
|
|
5
4
|
import type { FeatureSet } from "./FeatureSet.js";
|
|
@@ -24,7 +23,7 @@ export interface RelationshipProperties extends EntityBaseProperties {
|
|
|
24
23
|
* Describes a relationship between a {@link data/FeatureSource!FeatureSource}
|
|
25
24
|
* and another source.
|
|
26
25
|
*/
|
|
27
|
-
export interface Relationship extends
|
|
26
|
+
export interface Relationship extends Entity, Serializable<RelationshipProperties> {
|
|
28
27
|
/**
|
|
29
28
|
* The human-readable name for the relationship.
|
|
30
29
|
*/
|
|
@@ -125,7 +125,7 @@ export declare class TableSchema extends Schema {
|
|
|
125
125
|
/**
|
|
126
126
|
* Maps schema properties to equivalent properties on the table.
|
|
127
127
|
*/
|
|
128
|
-
protected readonly _tableBindings: Map<keyof this, "listMode" | "title" | "url" | "id" | "gdbVersion" | "
|
|
128
|
+
protected readonly _tableBindings: Map<keyof this, "listMode" | "title" | "url" | "id" | "gdbVersion" | "watch" | "destroyed" | "initialized" | "declaredClass" | "destroy" | "set" | "addHandles" | "removeHandles" | "hasHandles" | "get" | "on" | "emit" | "hasEventListener" | "clone" | "fields" | "hasM" | "hasZ" | "labelingInfo" | "renderer" | "opacity" | "persistenceEnabled" | "refresh" | "spatialReference" | "mode" | "elevationInfo" | "cancelLoad" | "isFulfilled" | "isRejected" | "isResolved" | "load" | "when" | "floorInfo" | "visible" | "definitionExpression" | "outFields" | "popupEnabled" | "popupTemplate" | "createPopupTemplate" | "createQuery" | "getField" | "getFieldDomain" | "queryExtent" | "queryFeatureCount" | "queryFeatures" | "queryObjectIds" | "objectIdField" | "geometryType" | "labelsVisible" | "customParameters" | "apiKey" | "copyright" | "layerId" | "legendEnabled" | "maxScale" | "minScale" | "portalItem" | "save" | "saveAs" | "parent" | "fullExtent" | "visibilityTimeExtent" | "createLayerView" | "fetchAttributionData" | "sourceJSON" | "blendMode" | "effect" | "dateFieldsTimeZone" | "displayField" | "displayFilterEnabled" | "displayFilterInfo" | "refreshInterval" | "returnM" | "returnZ" | "useViewTime" | "historicMoment" | "orderBy" | "timeExtent" | "timeInfo" | "timeOffset" | "formTemplate" | "editingEnabled" | "addAttachment" | "applyEdits" | "deleteAttachments" | "queryAttachments" | "queryRelatedFeatures" | "queryRelatedFeaturesCount" | "updateAttachment" | "queryAttributeBins" | "queryTopFeatures" | "source" | "typeIdField" | "types" | "screenSizePerspectiveEnabled" | "attributeTableTemplate" | "featureEffect" | "featureReduction" | "trackInfo" | "charts" | "dynamicDataSource" | "templates" | "getFeatureType" | "queryTopFeatureCount" | "queryTopFeaturesExtent" | "queryTopObjectIds">;
|
|
129
129
|
/**
|
|
130
130
|
* The collection of fields.
|
|
131
131
|
*/
|
package/data/_TableExtension.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{ItemType as s}from"../ItemType.js";import{applyJsonToTable as r,jsonToTable as a,tableToJson as l}from"../json/TableJson.js";import{serializable as o}from"../support/Serializable.js";import{
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{ItemType as s}from"../ItemType.js";import{applyJsonToTable as r,jsonToTable as a,tableToJson as l}from"../json/TableJson.js";import{serializable as o}from"../support/Serializable.js";import{notifyChange as n,onWatch as b,watch as h}from"../support/observableUtils.js";import{CollectionProxy as d}from"../utilities/CollectionProxy.js";import{isFeatureLayer as p,isLayer as f}from"../utilities/_layers.js";import{checkArg as _}from"../utilities/checkArg.js";import{deepClone as c}from"../utilities/object.js";import{FeatureSettings as g}from"./FeatureSettings.js";import{FeatureSourceBase as m}from"./FeatureSourceBase.js";import{FieldExtension as u}from"./FieldExtension.js";import{Schema as T}from"./Schema.js";const y="Invalid type of table for this type of table extension.",w="Spatial settings are not supported for tables.",x=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export class TableExtension extends m{static factory;get mapExtension(){return this._mapExtension}get table(){return this._table}get capabilities(){return x}get title(){return this.table?.title??this._deferredTableProperties?.title??("string"==typeof this._deferredTableProperties?.$ref?this._deferredTableProperties?.$ref:this._deferredTableProperties?.$ref?.title??this._deferredTableProperties?.$ref?.id)??"Table"}get canChangeDefinitionExpression(){return!1}get _tableId(){return this.table?.id??this._deferredTableProperties?.$ref?.id}_itemType=s.TABLE_EXTENSION;_table;_mapExtension;_deferredTableProperties;_originalRef;constructor(e){super(e);const{table:t}={...this.getDefaults(),...e};if(f(t))_("properties.table",t).satisfies((e=>p(e)),y),this._setTable(t);else{if(!t)throw new Error("Missing 'table' property.");this._deferredTableProperties=t}}static create(e){if(!TableExtension.factory)throw new i("Cannot create table extension: no table extension factory has been registered.");return TableExtension.factory.create(e)}static _matchesRef(e,t){if(!e||!t)return!1;const i=e.table?.id??e._deferredTableProperties.id,s=e.table?.title??e._deferredTableProperties.title,r=t.$ref;return"string"==typeof r?i===r||s===r:!!r&&(i===r.id||s===r.title)}async _createBackingTable(){this.table||this._deferredTableProperties?.$ref||(this._setTable(await a(this._deferredTableProperties)),await this.table.load(),_("properties.table",this.table).satisfies((e=>this._isSupportedTable(e)),y),this._deferredTableProperties=void 0)}async _switchTable(e){if(e===this.table)return;_("newTable",e).isNotMissing().satisfies((e=>this._isSupportedTable(e)),y),this.isInitialized&&await e.load(),e.visible=this.table.visible,e.opacity=this.table.opacity,e.listMode=this.table.listMode,e.hasOwnProperty("labelsVisible")&&this.table.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.table.labelsVisible);const t=this.schema.fieldExtensions.toArray();this._setTable(e),t.forEach((e=>{const t=this.schema.fields.find((t=>u.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),this.isInitialized&&await this._initializeChildren()}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveTable(),n(this,"mapExtension")}_resolveTable(){if(this._table||!this._deferredTableProperties||!this.mapExtension)return;let e;e="string"==typeof this._deferredTableProperties.$ref?{id:this._deferredTableProperties.$ref,title:this._deferredTableProperties.$ref}:this._deferredTableProperties.$ref;let t=this._mapExtension.map?.tables.find((t=>t.id===e.id));if(t||(t=this._mapExtension.map?.tables.find((t=>t.title===e.title))),t&&this._isSupportedTable(t)){this._setTable(t);const e={table:this._deferredTableProperties};this.assignProperties(e),this._originalRef=this._deferredTableProperties.$ref,this._deferredTableProperties=void 0}}_getSerializableProperties(){return{...super._getSerializableProperties(),table:{serializeModes:["initial","project"],serialize:()=>this.table?this._mapExtension&&(this.table.id||this.table.title)?this._originalRef?{$ref:this._originalRef}:{$ref:{id:this.table.id,title:this.table.title}}:l(this.table):this._deferredTableProperties?c(this._deferredTableProperties):void 0,deserialize:e=>{if(f(e)){if(e!==this.table)throw new Error("Property 'table' is read-only.")}else{if(this.table)return r(e,this.table);this._deferredTableProperties&&(this._deferredTableProperties={...this._deferredTableProperties,...e})}}}}}async _onInitialize(){if(await super._onInitialize(),await this._createBackingTable(),this._resolveTable(),!this.table){const e=this._deferredTableProperties.$ref;throw this._mapExtension?new i(`No table found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new i("Cannot resolve table reference: missing parent map extension.")}await this.table.load()}_createSchema(){return new P(this)}_createFeatureSettings(){return new S}_setTable(e){this._table=e,n(this,"table"),n(this,"title"),n(this,"capabilities")}}let P=class extends T{_tableExtension;_tableBindings=new Map;_fieldCollection;constructor(e){super(),this._tableExtension=e,this._bindSettingToTableProperty("primaryKeyField","objectIdField"),this._fieldCollection=this._createFieldCollection(),e.table?this._onTableResolved(e.table):h(e,"table",(()=>{this._onTableResolved(e.table)}),{sync:!0,once:!0}),n(this,"_fields")}get _fields(){return this._fieldCollection}get geometryType(){}set geometryType(e){throw new i("Tables do not support a geometry type.")}get spatialReference(){}set spatialReference(e){throw new i("Tables do not support a spatial reference.")}_getSetting(e,t){return this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]:super._getSetting(e,t)}_setSetting(e,t){this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]=t:super._setSetting(e,t)}_bindSettingToTableProperty(e,t){const i=t??e;this._tableBindings.set(e,i),b(this,e,(()=>h(this._tableExtension,`table.${i}`,(()=>n(this,e)),{sync:!0})))}_onTableResolved(e){for(const[t,i]of this._tableBindings.entries())this.isModified(t)&&(e[i]=this[t],this.reset(t))}_createFieldCollection(){return new E(this._tableExtension)}};P=e([o],P);export{P as TableSchema};class E extends d{_tableResolved=!1;constructor(e){super(new t);const i=[],s=()=>{if(e.table?.fields){this._onTableResolved(e.table);for(const e of i)e.remove();i.length=0}};e.table?.fields?s():i.push(h(e,"table.fields",(()=>{s()}),{sync:!0}),h(e,"table.loaded",(()=>{s()}),{sync:!0}))}_onTableResolved(e){this._tableResolved||(this._tableResolved=!0,this.length&&(e.fields.length=0,e.fields.push(...this.toArray())),e.fields||(e.fields=[]),this._collection=function(e){const i=new t;return Object.defineProperty(i,"_items",{get:()=>e}),Object.defineProperty(i,"length",{get:()=>e.length,set:t=>e.length=t}),i}(e.fields))}}let S=class extends g{get returnGeometry(){}set returnGeometry(e){throw new i(w)}get outSpatialReference(){}set outSpatialReference(e){throw new i(w)}get maxAllowableOffset(){}set maxAllowableOffset(e){throw new i(w)}get zoomScale(){}set zoomScale(e){throw new i(w)}get zoomFactor(){}set zoomFactor(e){throw new i(w)}};S=e([o],S);export{S as TableFeatureSettings};
|
|
@@ -3,16 +3,24 @@
|
|
|
3
3
|
--dark-hl-0: #569CD6;
|
|
4
4
|
--light-hl-1: #000000;
|
|
5
5
|
--dark-hl-1: #D4D4D4;
|
|
6
|
-
--light-hl-2: #
|
|
7
|
-
--dark-hl-2: #
|
|
8
|
-
--light-hl-3: #
|
|
9
|
-
--dark-hl-3: #
|
|
10
|
-
--light-hl-4: #
|
|
11
|
-
--dark-hl-4: #
|
|
12
|
-
--light-hl-5: #
|
|
13
|
-
--dark-hl-5: #
|
|
14
|
-
--light-hl-6: #
|
|
15
|
-
--dark-hl-6: #
|
|
6
|
+
--light-hl-2: #267F99;
|
|
7
|
+
--dark-hl-2: #4EC9B0;
|
|
8
|
+
--light-hl-3: #795E26;
|
|
9
|
+
--dark-hl-3: #DCDCAA;
|
|
10
|
+
--light-hl-4: #001080;
|
|
11
|
+
--dark-hl-4: #9CDCFE;
|
|
12
|
+
--light-hl-5: #A31515;
|
|
13
|
+
--dark-hl-5: #CE9178;
|
|
14
|
+
--light-hl-6: #0070C1;
|
|
15
|
+
--dark-hl-6: #4FC1FF;
|
|
16
|
+
--light-hl-7: #AF00DB;
|
|
17
|
+
--dark-hl-7: #C586C0;
|
|
18
|
+
--light-hl-8: #000000FF;
|
|
19
|
+
--dark-hl-8: #D4D4D4;
|
|
20
|
+
--light-hl-9: #098658;
|
|
21
|
+
--dark-hl-9: #B5CEA8;
|
|
22
|
+
--light-hl-10: #008000;
|
|
23
|
+
--dark-hl-10: #6A9955;
|
|
16
24
|
--light-code-background: #FFFFFF;
|
|
17
25
|
--dark-code-background: #1E1E1E;
|
|
18
26
|
}
|
|
@@ -25,6 +33,10 @@
|
|
|
25
33
|
--hl-4: var(--light-hl-4);
|
|
26
34
|
--hl-5: var(--light-hl-5);
|
|
27
35
|
--hl-6: var(--light-hl-6);
|
|
36
|
+
--hl-7: var(--light-hl-7);
|
|
37
|
+
--hl-8: var(--light-hl-8);
|
|
38
|
+
--hl-9: var(--light-hl-9);
|
|
39
|
+
--hl-10: var(--light-hl-10);
|
|
28
40
|
--code-background: var(--light-code-background);
|
|
29
41
|
} }
|
|
30
42
|
|
|
@@ -36,6 +48,10 @@
|
|
|
36
48
|
--hl-4: var(--dark-hl-4);
|
|
37
49
|
--hl-5: var(--dark-hl-5);
|
|
38
50
|
--hl-6: var(--dark-hl-6);
|
|
51
|
+
--hl-7: var(--dark-hl-7);
|
|
52
|
+
--hl-8: var(--dark-hl-8);
|
|
53
|
+
--hl-9: var(--dark-hl-9);
|
|
54
|
+
--hl-10: var(--dark-hl-10);
|
|
39
55
|
--code-background: var(--dark-code-background);
|
|
40
56
|
} }
|
|
41
57
|
|
|
@@ -47,6 +63,10 @@
|
|
|
47
63
|
--hl-4: var(--light-hl-4);
|
|
48
64
|
--hl-5: var(--light-hl-5);
|
|
49
65
|
--hl-6: var(--light-hl-6);
|
|
66
|
+
--hl-7: var(--light-hl-7);
|
|
67
|
+
--hl-8: var(--light-hl-8);
|
|
68
|
+
--hl-9: var(--light-hl-9);
|
|
69
|
+
--hl-10: var(--light-hl-10);
|
|
50
70
|
--code-background: var(--light-code-background);
|
|
51
71
|
}
|
|
52
72
|
|
|
@@ -58,6 +78,10 @@
|
|
|
58
78
|
--hl-4: var(--dark-hl-4);
|
|
59
79
|
--hl-5: var(--dark-hl-5);
|
|
60
80
|
--hl-6: var(--dark-hl-6);
|
|
81
|
+
--hl-7: var(--dark-hl-7);
|
|
82
|
+
--hl-8: var(--dark-hl-8);
|
|
83
|
+
--hl-9: var(--dark-hl-9);
|
|
84
|
+
--hl-10: var(--dark-hl-10);
|
|
61
85
|
--code-background: var(--dark-code-background);
|
|
62
86
|
}
|
|
63
87
|
|
|
@@ -68,4 +92,8 @@
|
|
|
68
92
|
.hl-4 { color: var(--hl-4); }
|
|
69
93
|
.hl-5 { color: var(--hl-5); }
|
|
70
94
|
.hl-6 { color: var(--hl-6); }
|
|
95
|
+
.hl-7 { color: var(--hl-7); }
|
|
96
|
+
.hl-8 { color: var(--hl-8); }
|
|
97
|
+
.hl-9 { color: var(--hl-9); }
|
|
98
|
+
.hl-10 { color: var(--hl-10); }
|
|
71
99
|
pre, code { background: var(--code-background); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,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"
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA7V9a3MbyZHtf5G+jn13Zrx7vf5G8SHRQ4oyAEmzu+FgFIEi2MNGN6a7QYm+sf/9RvWzHlmZpxqYD46xiDznZGU9ut71P//vTaO/N2/+9uZsvdZ1faGLTG8uq6qs3vzwZq+apzd/e7MrN4dc1/8nMPnzU7PL3/zw5jkrNm/+9tMPb9ZPWb6pdPHmb/+DEK9zVdcksSD1409//d9//u8Pk0a1Pex00cQct3/GnKYJR4cdQoY+5uhtVtdZsRX8ta2S3Kbpfe8delkzlpa7Q3P3uFDFVgvJ8QyTUhQV8RPli0DiftLWZfGYbcOUdH+HHD/3KLKi0dWjWk8s5xTZv/8H48aLqjL1YDnS/edPP7okP//kJGajGvWGdvJ+oXPVZGVRP2X7MLkGee/YQElPJo0r/IVWeFTrpqxeqchI9D00iJgV9UqrRk/cj4di3cJF7g7pUv/HX5zMoGNjFQ5Bw89rt8DYlp+qcq+rJtP1HJ0Jzemdq2qTFSrPGisvmtc9zW9Ze6T/9p//98d/t/PgvS4NwYOqdZoGDZTkbIrV614DQj5Eknisyt1lXWVn+4xMEVvKaHBQ0Ca1ppytRUHZIn2/MjXv8nujizori1iNd62ghiRGPLT5JDGnY9r5H1z6K62aQ6WXummyYluniHhQUWq5ftI7laLQIUTiEQXVeTZeWL1vMbPFEjQW+lFXuljrRIkRFyq4XZj1++vlUlcv2VpDxZhBgP0ZQNEpGJwi7I1baBgYkqkzPeKy3cmUplHrJ9Nni+XBaICFnOBzIzzxxai9+I1W18VjyQSKIjYQrtxPllBeUBJYBWtKKjLet8Hit+3ZD8K52quHLM9cz50stE2w7jTJ6UfDoWU0vBK3LosXXcWKW/8r5OZ7Xe50U71eldVOWYS6OOw8OtfUZbcL27nO84uuCx9J9cA4WHKZflWVu/P65W7f5rHM6dpLzMsntdePWa6T+H2UpPLrzfLXJAELwH5xypTI2NY8a3pUQgyvkBQRx5zj/bzPS7UxJQrmDiBsXl5f3lzcfzy7vbxfXL6//DU6nBvz0gMwg7htX7tM1/yDVhtd1SI9geGGifXLqpy6gNEWdGD37JnOe2s5RRJjnuwZ5nooVUmekyhMJSEVJIod4pzXLyJra8WyjDUN4BptWUZTvQAyY8bwHMYgJGUWDWN0vuf19yQFHyByJxQCH8D2M3oXIp/t/lfosx0wOf3DgYlkdHuGvQnSc/NYsT7blW7WT+1wXW96YC02zpNSFMxqth0UXMU253g/VbrWRWMa4rOmqbKHQ4PEi4RxOsvzu8XlffvtiH4CBnLLlmn6K12X+Yv2Qhkt3AM5DWObkqBgRqhHS5btfaX2T9kaYOstkep3k9WxnrNlkVINXUaqKraMUXayShqzhGrpK4DVM8sbXZ3n6lAzMxaOhIVgC3FZNSm8kz3fnLSI83K3V5W+6ksDOftJxMWDSTOgY0OnN9namWHnZUaAJGDSfJFVGkuEY01TE6V9qV5iy1y2wmiWUu4JbqrwT9y8mL+oRX3iSd/9T7rgtRYqq+GLUZNVdalTaqpLj04yRad9IxEhZnjFsHATyj5zwlyyZ5oWKlINa9w+lfvD/rwsGrPUPUzqnZd57lc4SV0gwjKuPFRroevX2aRk2kKrTdDRYahDGLR8eXF5dfb5ZrWUuiNxlYGB6aSYNaNIsOjPflwtoEL6BWQsY0UjJs0vd0aSB4mQhSPOnlLLCB20d99CvlZZI88VkWo2NKEevVM1VJeMXVIjSLCTzeDELui5TaG9cEm1RIIWDUfa3pEjuVzQiUz9bDWVVjshx1qbpNzyWMnodayMBh2w1jAlWIQOHKRM5xtpIc81wsIU4XXj5PJyMl6kHEsoVJwUOmDR+WauFpof5Pc+ki2kLZQ7goqTSbQKoO1mWW+LxI/mDgjYzTad8UI/zpRZ6Mfk/t38tAl0fJH5x0FXr13zCKwmRqyhYiMq+amNiWFOeOkEtsolb78jt/zwlG9dTN95/fE///Lzv/3lSG/feiCEmyp0CSoOHNFzt3wlKPVAVyOWv0wnyzdL3mbJdLECbl7MnzXwNy05flP7kyLePpovxteseTqr1mqjf13orf4u076N4WL5OtrbyUwWo8AxRXZbV88ub+Rqv6jIaLqn8uzFj3zSiN3WgEbofjSQz4YTGvTDUB/2+7LdqkEVMjVuUIm1HD3+3rLENhFtNtPuF3FsRqlQDNg+oMvCTA1sbtSrrhI1SQ5WdbU6O/9we/lxdb/6r0+X95eLxd1CWJ4nleM8zJyFsmMUna+g9Bwkswiy0blu9BlVTgCVAM0oZfVkZ74T3swuoEYycOvuHYeFutxkZsotSTXKkqScFlcCzy5kTXZX3MI9JeWD2amsC/2oDnljfw2u/KMHZPMSB0KtDaLrfGYAXdQlvwPQ49y9nElRIKEpcRC0uUjQ2rhjfjTSi8LcMsAqxRp/Skx2wPvGzsnq+XksqMVSSgsibrSpjac3ktATHl+QeN8GwFjXU967nagFDZ2iu/8xMVyD2P2PSdjA+OBspepnYQHQNgHznOJ0WiiHMy7gn/OY7JDOdVSE72jb4bksGnIKofs7FI2tLnSlGn29YWneOnaxItEB6JFuTzaZcLH0E2bFzuHh+smTkpAbgWfYZF9nn8KNjqDaXiQ9FzH+BGUuQTRmx0gUofzxp7/+0Fm3ffJ9pc0Gj80bdx5fZfmh0rflhvDV+hGbvKfIuq0hNlWcltgT8uF1r6s8K55D98afIOcIoiGUE1GE0i3bo5FQdAhatABdFy8qzzZ3e1Nls7KIbIchzaBoCAJDZGgBQNbv0103ekdPAQ6/YG4HNN2pj5GEZvtrZMxIjWpGBtuQHYOaqrdTe6IXQrL65jx3WT7vVPUscfZmLBez0dGikjc5jjbuJkKOLdxASDNG9kaHhPye6MnMW25lKYmFVp81sjpJ0zLLkh7ve12uy40mpy4sxsGM56rKQwE76VmzzDeq2B7UVi903S7BkPMPFndgL7C/6gp12zWWedsNzVLRsixZxlu8rt+i9fxWFweJSxcHkcPYAzzmnyyXsNJLEgNru54KvdhFkseX6DzO5eEhTylKgT3LHhtvktTceNabBfutbtnIafGiKJs27W0B/XtNjXMN/p6wxCbeOQWrQxMVkYW9/k3/DWTSYllAaSAZfd9t0riAM0hQ+33+aoxWZY+gMj1gD2FMsfotmf43lpmItFR0fLOUmI8gd6ASCf4kQcG5rIgnpRtjYCrykONdVmzFeNk2WLBo1iBKDjEn41epQ5ZvsmK7XOtCi+6TxlhjcWieyiortuaQfXe04l1erp+FZNGCHBm7hBbiTJt7Kh8GLrY0CvEG1aGcIA7AOF6fP+n180P5fZYHAp/syvzsT8jxzvQIFUzATEosyzzbHKHkcGCSX7NKX1VqN68ER3gw6XhLKomBralNM3S20KbJtsdaWVmNDaojiLritcTnyy9S+2ubYBvOSE4/KQ4to+EUhZty3XbdTMVPoPdhfEwu9GNWZO1k0SZrSi42lCm6kslo+IkhZQBtJ3bXxf7QzNAZcexmUWVqstjqkQIOVsiacqeygsuQ0QArquVGb76o/KAp5sD7iZwC8pt1B/sZEhL5BOJ7tRa5C+GLzZM2p0g2iREicJxMexVnooSHwUJEfj/IyNDfC4qTuiMwzhu/HtAp6pX61ndxuPLuWmFtT4w5CLVHzou5DbV60PksER/Jb1HPiuY8Lw+bd1nTbtZEul6+IseCqS90c6iK47R9Dky5bR+OE/YoMF1K0i73UbWoEFEFLnP9Ak0mhYbYiiXDbyWGYBcFqdQUL1lVFmaJhkuKa4V9xUxgX79q1TxJxcCnD6D8Ryw3i7fr5207E5+oFIL5Be9ItCQdPoDeTSbb7byw+Uj+y5YV81R8JLvPuii/zVPxkazKobjJtk9m50iiiAsUNGbGy0dyKl+yqjmofF5qCDA/GUhXGbuN8RTYihL0ROhUMPSM5wE5mRUMdzwD4tdoTGcJmKaRtMU2e/AqfnbTQog8fTxXTlNqSiD/ba+lIrrtLvhZeZ01b1rfJnMQ4oIBc9VQwOwg2AWDYcVe6B74ZimRBmYyAnpBL3r1iJyE3iglAQFvxP2BmlWiTlZzXg+/Yw6HbIGvI2GMOjzpxA7QCEJseGauNRPGZrYJFoCy2lnHLHIt934cjSie7wRVu3eqMps1lmtVFLoCJooC2QiDJHxe7h7Kd+X3OZIBVhK7UI1eZTv9KVs/z0tlhEESvvy+r3RdQ/OWgWYIluS6zTyzSo8PlaTMlpz9PCkfKknNCB0asIXaZOW7Q9OURT2nWJB4UdTaJDIvghEGSXj5LWvWT3PS6SEloZX+3pxVWs2RCrCI2MyGxIfy37z3uvz78u6j1OfwzaAPQJzbT0RAL+iFiWivNuYTMJpgsylm85AQe4d0AnCZa0P46W2H3IdxEreHvMn2ZooqwXsXJM6aJTB/wkjz1600kPFoR4REnGeFMMQImAcImpVkbyyag9IY1baN9vWi7Mh7PfZl4MIoydEJcfJYyYJgIiGOHTa91+ViuQRaMNsKbcBoZqL8OOS8mN96EXMpruuxmZOI18B0pkUZZY9txusA8ayc+AIQn4+mCyVmo2MEx4PipWJiUbNK/qGRndrq/lkYKQWkLZQQQcVPDy2EyHuvrhUbbbYnLQ650IzS3AEBHssv2hxxTYmoh0iOa1SRS6svijsUHD5q9NYcFdzc6vpJTDdtjaVZUgrSGxHDnPDT2egdl7D+ZywlAVfg+kAX4fWc++X2Roq8bQI5SXP6jjq0jIbncGs27UVh/CYssTV21aju8i+530pphHh2d8NroXbZ2oCAoJF6BAOgeEtucU4QvI3vdnaXA4cFV3kagFIL4OxwspsBTZm1oTSjNID2Qm8ObRfhPD/U4to+o04RpegvNbRignjgUImztncvuqoyf8snpOvDOa2/l1nRHn1xK1yaYoSE3x/DtECIptwwhXpm6nJeWQ7gnNZdtdHVu9fuuYF0rQDOabW3LB6dgTEWccPavGg6UF7D1NljUkYxcIpHhzIxikOZuvxubnHpr0GboRqjYb9hkWRaUwbyp1maNxi/PMMu9Oj0BPvdstGSpN/wJqWOAkuCpv1LTpoNkgRWercvK5V/LrImWYgCy+t7Uoc28UBVXpa7y8dHvW6G51GAQt7SR6DsfpP8UM0Vo5CsVmW2khS6rmcqMnh+L1rRVKpu5qnG0WyDUZX75ZPalN/mqXJ4dt60Uq/1WuV6niwD51Q/HPTCnJSdqcrA+e3m5uG3eZIxrNgxAsdoU1cIGZTd7dU6a17nJSUKZnfOmaZ7dobF0aymKVgXem+mrIo+9rBiBMvq6X2mZiaQhrLDTkbI/+x0H2yJPuwgECFjqBFKfjszUZRhQv7D65IiH/YbvVXrV//YM6ISBWKS431AKk+XjYElaWt2v8VFVwQmQR/CLB5tdRNJSpTdh4hLU6jbv0Eet2cUhcW0idOyZldFbtUeXFggLKHeHKvgtz+UiCzsTVje6k1GTe25yXGM0PW6argbUUiGS+4D2eX1iPOCBJscPz5lrbJ1uN7ixscxwnI6whu47lKzSp7rd3tdmOucdENPpjpJoI2hpEg6fpIiUpAHYRKD9jKewMAUTV4A5Lt0pFSMhu/occmzviOwojw8nQ5USRElLKGAsgp+LCkRWZh6F0jYU+vY4LuK5Xk6l9gBSVvPlNDh9ahHhNhmpnrtgIAZ2jaVwmybqxAA+Z1Ee3BzqCvi42SNhJUaSipphSZSSgEdaMa3ewx6oddltalTZWg0pwccSXclsAPpqtFTOY/2q13mECT1p9vynqDg2EvkXRe2vyIu2j11BRwM20md5uXhQ64cBGoJMU0/+1nZBJ+Cl67MHhc+wZYJlEDnXiAhVTZ3gGMnHs11s+8qrZ4TVUIgJlPToQK1aiaK4eHe+Ymj0aLgHBmYfKF2wiV7IfmAEcmXTZlMPmBE8s9F9vtBt22tSa3wjQ6FKDw716tVs1P7GSWNQIp7odtO4XEFXOTBnLjKvuvNMvuXPsu3ZZU1T8LGqIgPNA3mgk3JD1gi4j4BKPv+3VFh9/CY6HKfq+a4UIcUoHRT6Wb9dFSaCQ5M3KqORzkQ4WGdqPSm3GWFKtaztCNwef9rcolOKceL/grXxM+HD2MXGrLdPp8TshDIy/wL2EXiCfwL2j1i7BJpEcrED58NYXeC9Mv0MyJOQVmpShX1XpnJy9fE2FNQVCoxcBSUk7Iah/abmCBFQUGpq6rcLZvXWTVFogFdaM8dzJMdoaBUYmkhkKDQcdFEg9httW9nc2YIRtCsYFYfVP6lfy8y8QNBgzm5YGAXnSjgx4PIfEFbcbLHrLtp8lY3TyV/9UA4YIugxWkQtS2y5rDR4vYoR5KESVp0t1MWo3GSWprGXGYsXD5CVOj7GgkKHkJSCOuDrBFi0lWw1NA4eWUDuhN8xl3g6N3XHrV017Xj+l41memGkCuqbgIIUywZrEaQGEoG0PYT1j43I2aKa4UlJ8YcpMQj58V8/+WrnJNvb8YubHZo+WuZyX0iAyQ6Ae1wEkBxS0eawm8oed2bCNs7HHIXw86fLw8PpuGBTsCStmgecypEZhNCiLx3AV4LOKU46AMRYazq+JYp0YUrUiAiC/tpet09lDmXlNEA29ZdmvVQwfGJcjJnJ4BVnpfSJSYWq2XP0l7fUsnniG0Eu0vye1MdNroz/vkCKawTbwzMrrpneT5PjUTyC/zS4rXNXsor1tfrspjnO4nk9zY/6DG1sEyAYiWyQqcreCBUIC1cJJLdc6EaXWUKryA2gN/MUT8lB8kHsfs5Hn7T62ZemCJYVu7QyDfE2BKTPTtVrZqneWkgkaxUtjannKbWAJeikIDUraqedTVPzMeKiw7JhS1A8RLtRUIzRAIcv4zQPcU4NXuwEg1FxOzakCzng+XlhRkFkALKQlNjmCjkAmWhWeWchrJiz2Yl7nKz1cI8t63iYlh68yRSIrsDYcnNPHeHRIfxlkwEzApaNY6fb7WFPBAiAO68JVTgzbYTNlEDITc3Ac77ApFITGqGhkT+xbzbvVb53eNjLV3/azGGMHGjisttzQXa44jBUJpqJCoczRirZgFjh/npAiG1bTFe/9vH8ZLfuygvv4+cqz/JCtHZXE4FmZ6mSjdHj3uf5jbvrz09sArn0Z3ZgVVkzpyeHCDY/Lo3EcaoY/OCrX10Vm1i8yHidCBK/BvE2ZjfhSnAidOyZif/zHq/2ejMZZVlguUWyRlkmE3LaHjzTqss15txhyx4Oo0HYYkCdYNk8tJJnlGhSLn9Lw7AQ5B4DyAjCXtDJRs/mRgzx5OcdEYxKgf64Sc2eN7WTRz9Ym0kMeJTuSNd/CXcfzp9I7NrwSRMygTCEnKZVfC9p0RkYT9Nmf5G3F/spsa2gdJxrna6UoL7DuuE4DeBkN7y1Jz7XjS+6odb9r32yQA7VrDf5/3GjE9VuTedZGlcaClE0VyI3pXl805VwkvFlooNYKez1TrLs+a1LVjybiZLgUSyUnlpdgfJT9PZIi6GnUc3V/yofNmIH22L3wexM8/6RefpcQph/Jzzvk1zkoQPEgTAm8pcAfiOsk+VrnUx7VyBBHwQOzVnPIGZR2t+qqrR6TkboFiJXLy80KbOgbsKzSVnrSFen1yIsFF1rc/L4jHbHqq0zKSh7EbHpm1KPurmW5nQyIUwToT6DDDk0Y9ChJSffiKJpemnr9lmqxv802LZg8PGDhwdilncAYgZ5X1rDYRhnsVt27MDva/6od1/xX/LRxPoa/5BmwvHzH16OVT7J3YCKRQVwnlWgUkMk6MthIv7xEkA+XxtTeScnRRcjJS7SDfcN4PHQFD2utQ2TMhbsH8fSAjJcWVuV8sZqbBhQlf5SnwGwjaBQv/1CvHZZrUQbDRIZyVmcAj19VaOxG1qJEjOwGGbltEIHQb2ZnlWqNvYniyfnBdr/Xev2Cy2B7XVw/JpHaYhMIESwBCvzT57kliQ+vGnv3KuT0M7MlyA3MTA53sb3j+ZGyu0uZaATv+rrj4NFl5IW/x9h7+3LMHIEsxDTKPMURU/qKOZEE5EiYsnqemW9W5FAREiinrsPtkOsNSNeXuXKO4xuQGRmkc9Ds+qUSj8G5hzvfXMDGT0sfwc2p/0LB2lQ4pY7jrVsjSXWRJZ2v4dy7jWdKHrQ97QUeu4bDt2huTjl7PF9dnH1UT20h/HGLlGG5foZ3vRbaMbvW5uvAROncCeyjZjOpVbTd6m0pNs/SbCx77TdXOrmvWT6E9o7DP/0NWHNon7Sq/N3TlvXLkWnRXbjqDm5TxjPiELvc3M5Sl6A3EH5qmJyeqJgpGyzVIl8lJx1ObnVMq9qmotZrVlxR1JYEte8HHyRis7td93bSlVd7uWpH3R0FwkFbYDPfzeM8RbdIJ7aM1j3JwU0YCPlgutNndF/rpcP+mdmqvnsuDqx6mmqgkfKkw0oa/hOdojX99lxSYrtv3LBUe4wtGKzo07ytIdGKFHRsD/XB+RamkzSf/xD/MfUI7meLipabG4X55/uLw9u19cnl3c3328+S/qgxyTo/DBx9puqDyC8zLv39253u1zuGFyYTOaqZiuUJ09XdwpU8mdMAz9OKRRDmyhBDMKQSpDBUHTbbQGY7FxjOvILePy8BDAp5CnijJUSEqTW2ggwqljiGOF0/TA1jcuB7XBgzG1gQ7QwN7KbWiVqdPFKHlotlN2Vq3fXy8TanoEgO0DkMT8ehETg5xwa4ULsV9+Ryoo5gjNinvFthlESU4MT8wl78oPGgzW5USXsPrtgk/qCTpp2D+UAFQQ3xKqGXF6vyQG9LyeW9x8WzCUoiaWjT3qSFFMa6Mf1SFvfJIrZTaGvXLdx0CXp2J7ksOmIqa09BZYKQnogtIx0NG8XmnobdAM8bnBXO+tuxffYh/MgLwzl6eF3x2y3IxVzsvdvix00SR8y2Qsli0JLgQZJruQ6qWXyTG01BE+xjO5pyyzo6XyFAGEvwI9U3sNxIyCRuOSCpkkHcvGiHSKZ3QOOki0UKV4gxcmmjWxIM0KVGoBmi5FSig9BCip6LCisZyiRGGH6GyaYOg8aZoz+Lwpw5tYahLDBH46A4I/xKtEZ2YOViCfUoYsZL1Kb5OPa45ntMTxtmVW+zuA+ndnw7Xx+X54lCnewDVadCKhFh/Z8idkzLwqc3J/0M/Oumwf9oxXht4AKvrvdbnTTfXaPTWCcb4NQJ3EX378z7/8/G/2GuOqPK9fglUcltuDxJmXT2qvH7Ncp/ITwLjKrzfLX1MFXEyMe12/rMq+UlKtbjg7OMjQSG6pd0jxTEEOz8g2JisR/taQJRrzDKMbzVlSk08Yn7FkqL7n9feZoY1A2Wne8+UXtLcZmEKNAiPgN/2hgCDptvaBMdiqArJoc+o+1QPENAKAIiuK+fGNiUFOuLGOQMCIJzqCRj8o+WguCEAoN2BxP1ck8STn3Fy6ujxbfV5c3p/f3dxcnq+u7z7e35z91+XifvVfny65qU7RJ46YnfjsmRNzZn5+JOYCHfuEiFMAsFYkuID1Mm3oyXxIrIwuk3uyC8ps4mRXQoa7glCmt4KgK/HMRycwMBfwiQsbdRrtNE0DP6asBfIuIVrcHb6T+hNh5ivDe13+fXn3EW31SHN0CMYJ+SWAFgLk3QJAAsCoJ7iQEO3FcpkQ7MAajTUjQ4Q6lJG1g0AH9nicMX2ssl1cXp19vlndv7+8u18sl/efV9c31yt2+x3pQYSH7UO8r9T+KVvXcA6T9lgeC1JBLtNSiAdeTpMINK9TvMDy+/3i7NOH6/Ml2IGMeRCyCDldHooNlMWOIZi3EfIwU11yVszPRscUzj9WEMyxFnSUYorQTfYcXcOn2Q1C2u/Wb7HwCIDNGr4kSySWwT3e1ATGcFmMilDl0RcRhcNy6Zkju91AZWyLGwFMKK2AG2h/ob10rHpF85g0h3JZEPKjTQsB8m6cSQAY6QQXEqM9nqvHIx5CUqLOCUYiTwiCrpA5EILSciHFHazp9uHykQ3cFekch1MmikZvK3NCzdzNDxcLBoWVDEg2KBycLO6TV0QYHFpK5vqF1txfbm/QrAlMofxgBPxMCAUESTfcgTEYY0A2bfz0y+0NMnYKdQkCthvzy+1Nwh4IyhrNwoSdD6SMrB3k5dytJ7A+tkOeQuIFC/MEraxoTZ1RTc+qSr1+rdR+rzdUoAGJt1GO2BL3Eel5G2AxESrr0uUcFkzYn7hNFx0ZUgSj50Xn6oeErDtHxRsPM3EYDFaxsa6IXfdu1f68LOqmUlnRMIlx7aC6F6P2W1aPmlNyW1PXEmy9WDXsg2huoV2+FmsydbIkAefbx1vozM5t6nkdmpbInYk2rhHkTOpXJaqD5Ul7f3zqN9XRjDEA6zjdOY9Pld6YO36jc0uOHA2VJplu6aNHjM4tc9qIeOZXfzNXG0LMg7FE2t35yE26ObSTOUDcbcRNoB4B8kjvVu3bgSL6Oaft0arIShGVkpJCPAgqKoHAqyzuBVaNHSxU0kUPUgb3AzBh+BGFJGV8wkAkLgi6QpeAuaOBGe6kFYXEjce4P+jw5FbtP5aNhtfwaHu0OLBSRFmgpBAPglJAIPCQ416AmX/26f7j3eoSXcSLuUDQsFMPA09aA0BDknI8rQGICIKu0FkfgKQ9OTP8kDfoRKF4ly7VKayrF4UnVpIEx+AGSm8yBbdOoTFWUDmRoGgQIqKwVxBCczTSmDga3bu9LpZNpc3NfvDiKgOCog2J+lHnRGGH3FxgYGBuzHQKzZ32zdrzvDxs0KyJIaB8keX8TInKYX642RHDgHmR7Av2sfbQJ3YGLQmL8tDAYzXCGMp/VsTPekpEFHYznDCXPsugqvwpJkBg1oIuYKVrcfd5dQl2A0lhD8/2/5LOtM89y550hp0SSTyzPv9kOCiOVlHT1qsdHF7CGosvKxMEmJKRtb0QT/ZS/ZT0gBv6CAY0Q9HEwlmKD5TmDZCi18hh9G9DfGzF5eikvKUYYDVkSQnVhVaYuImVROEkPWBRS5CLL22FatICpSAlrk4eVTjxkgmNh3FVni6+XLg8PJgZ2KSNpnEM1poDkkEbG5dEvQnuI3VRqZcvpniUfgVjQCF+hBLcga6MjbChn6U5+ZXwiTIMac07iUgprwkTelE5zA8yL+ZeEor6MruMoperoI7ApXPujGJy7mDziTF0Wo3BvYJvIbbRJ3YGrbH1Yb8vq9jDRvfPLTRSd3vsvbHyVCyF6H3jAHEMCrUOMTB/+lfW5ni5yiHHgcjv+e7w+R52WJIyBq+J4E3uydnDeSCwCy3YrKbrWL/43ErdWzl4Q+NOsp0zljERScQT/65rCgE2k7O8mXu5c3DwLJYd0J3AkfxAbyieo/1WJI8Nl0R3mLyJeYRFycuTiy4FbmMIB4dDQ7mDycfqDCuP++a/yNEjg1YnNSwxgpTIyE4IwYk6keSkH6LH4crC6iXjZkkGZ1x7rCE1TwBfbrLmk6rUDmu2PBmPgutVqsGUfN5M0JnAroR3O5h07jYWPOSYLd/6/QHKbyXqWNMn+cJkb8QdKD7sgQ44IPNbOkGQSTWtiXhCpfkmq5mHPUltGwKldXTLfJIY1VjTFaryjOLo4Vj54xSpvtcR2rHuluvFY1XuRqi7YTreroXqAQ3bwrVfEqBYdXbxsW+5Xcsk5XYNlcZvj3VwA9t4sSPU3BslnoWNyqdyf9iv9G6fq0ZH7w+OJZNDxyM4v/NyVK9FlmUauqgy6FLwcHfKqfiZx+FTzsETEmkn32cfeYeUwVMs+Ol2TjVly7sBJUyNk+ZwZiZMitNCgHyYq3PnWBNcwLM3cWpV9gGdIPhc9E2BhrfKRSFQhgOCfqbHBUFX/KHUF23aspSmKoaAkizL+SmOymF+uIU9hgHLWrIvaNH7qh9SsoA0h+IvCPnBp4UAeTfsJACMeYILcLSv4AsFA1MsynGBIMKBgCDpRdY3RqMqy8LRvMWj6Zti0YwLBNEMBARJL5q+MRpNWTYhmgmdDcoajWlCV4OUkbWD4M5dpoH1sZVlConnNOYJ1t+xkCdyAC9nq4Rq69uCZSwuEZawQEJS9UuXbw0HFFDmo2rHdaeLQx1Zl7/VxYGIskHcm9/AY0Y2yRjHiSRk8s8NFQcpNi4bfsyqOFw3esel0fwOp9MlC9PaktGsYZqNDZxuhzk1/cvGueOADkJrlBQJjzbqd8fM6STtJjFE8embVnmYQrFM4ZSxUzRR9rhSJE8SUmCZJ+VPWkpsFV61b2PsVH0sm6t21aGqyipMk/MzlIYI4VDlXEKG3h9efiqrRuWfqyx0cvwJPFcWEA3OTUQRSrctyOqrQ56//uOg8uwx0xuCeZqLnRijsGDy1ZaCyRG6ppzleRTGThsLW8y6B7alzZNDXo/7bDgYuMEF0R2KBqaLO+UX73tdV5m5jrEqFLHlbpS3zZg9d/3CrlnLZcgsK4Zr29/a/Y+Dppq9kc2xY/h+F3h+J/B0Fq6Ha51ayVW26y4ValaluTCHKsueCE/Alur7Sv9+0HVzrtZPxCd6FLLNsETlWlUeK5EAh3fCMJV+q31nJdoBIQWibs722d9rtr5aVtjxz87+vNzozReVH+j+CkkfQNkzj77xRblTGT2KxNQ6AkDzVu37nRem5F0Xj2WyakgB6C5UsZ2bTAsLKB2bvPS09dug05U6HKDgB65bK+K4yXAR60NnwjfvDP+4vTO9Kp+PCEVPaZlzEfAJ3aT3eJImuFCss/qodsF1YiSdMZQo2/fa66zRkJuetUS+zHb7HGO2TYFM77sMbbP7Qed7TXTDp+2sgXHKJjxWy+/pUFpxHn4nLyNLFUqCXk65W1JD84Wu92VR800DKD1wwS4ED7zO0e5J+GHquSrWOs/NYf14ObKMoPJDkvoFxiaNCniPc/ZmfJ+bIpZ2j3d2q/JZR6trSNuaSy3BujXNHl+5fpTNPQKYvtlo8zVrns4eyqpZZltnJABqeHi252bGEvEyYn4FVwLz/Jei/Fb0G7cnSl0cdh6hb+wqODn4ZLoaly+6aNhq09JaxlydbOdiTYiGSW6+RrbUIYZT8G5UabvPGzNzltVNtgbkBIIjtK/avn3RtJ3U4z1x6Y7w60NWN+W2UrujXRqZjvDmRj3o/GhPWpZjvTg+jzqaI/ww/+94N1oWzouharnXy8bUbGuO9d0hy80N421Xr9DFeEbgXO3VQ5Zn1KYvRwlikD4YEMmFatTxrhgW1J32chn6SgVGPkCJvfKpZT5Xef6g1s+sEGEPSFRNe+2cO8ik2S1Tkfj69iYr9PJ191DmPK9tCdC2FQbjtUwh4vx1WxYotWUMkHeGxKUiNL1nLo/fhqnSs8dGV2ebTVsKPqhik9sjBkqMhSYKdyWwnitOwBMd8Po8siTV75FEzCpRstAIShRb6F35oudGNETj8u/0Y1npeWWJxKZKzy9NUXyqC7OjH4PjDpCdeFYz3pPHZNJSGAJx0ZRUJaYntXLi9XL55SapB0QBJJELc8CjrHaKd38yEwmzujED3M9FJlBahiIpO4/b0TETtz6R2IOazETCSn3Liu2qFL7glp1EaZb49KY/dbPQ9SHnA0nYz5Bw/sSXMxGNyF9lOt/UYifQNUWIazBkNRiqXL+0M1jCARSXPwKCxajXRmgF5KmRy7rKvD0eFOVgBdNd6EZluRAKz1gkh0cfSeMO+HuT8n25mtbkgUIXWCfTy3lIQ0Ch640uGrNZBNKYrEH6ti6cEWfe4xoeZJ7QXLUjJIMlBFiUXjdgZd1LeASl8E4dnhzufMRAKWJjoyZ+FqKoFDmwMachoFBwW0VcgL6oQiCeUcxpZJrsQtftC131u4NpKRNkPaQoa779aEa5thC12BUcrSS697rc6aZ6FRltQ5G026f1QehLT2YSof3wNxhWGiIKhc8Vo3ocUpRt9A7qPdiGEGm526tK49yuPSJhHkRE6S1bhHqhN4c17rxrjgis2o1oIL1tLJG3yyKfcrXWO2mM7ZrKxK+6MlsHzyutGmDegwLAIhe6bqryNUHFRogyutg2T+KQezITCbNCq8pY8nXVsiMpf+g2CLS3Au0rbd5y3LxxdPyLQkgR6hoQwulStQtZB8Hn0UwizMu1akozRV1ps8thVd6Yv5gOmn9BFKEjotPkjxGfK708bLe6bmYI00hJFnzn0BFMetXQkXKel5I0HGOA3FRh8z/p0+2aisRmOUzsYYxWIl1Zq2x9q5unUu4J+cYY+d1eV20RAPkde0nio3rJtq319GqwqBMDSWLhs0xgCeWAouih2R+aT9l3nYsJ82wlauB9IkIEfYaIkLPuFILFSIwsZc66xI7+kTohABcRM8Y1FYkrXeuiUbErVCkBEiIJLVTd6Oqq36wGSsVAmJg4sJ/MRELr5E57JARNQByXIrkohWGvbyyT07tPSWpmj2mMONxTG2eO7JkNd1qPjx6BwacAkIj5PoKDYcIelviQNasu/dJsLg0RhbpJEHSdIjTH9r5fZXne7ehYNq9COSURokyebfSXrM4e+utYhGwPzEWB6fEltGhRCFGmTbLYgE9mEiFwVZnDDF9OZkuYEzaNrl5ULo/QAmuJ3rvVCExHFCXKZfrbTxdTT0yQ8a0ReqnBAPvexmxvej8iWWsl09VZO0n+Kg6AXVOJ+Kt+uFV7MN98Y4zcFKq2Tld3D7/pNR8RGoIJfc02W93UsIpjD0i0rTgeKs8cEEitRzREFLpawgs1ni1A3U/gi62kawoQt6kUu4S2Ib4tZ6Kc3sOM7MhxSX8WJ63aKTm9ERV6u1T6b96xi1XW5HaeRtRomC/uHCrpdvTEr4Ud+F076KBJjNo/L+RRc0ruoSHXUrjiBVJDL3y5LrImU3n2L5MJ7uKrH7jAFIodI+CHLxQQJN0gOsZs5AQhbmt/AAUzC0gbdt/WCLOuUUYO+TEOhEyYA19VVWTFVj4pxWnbJOmy0ioNqowu4GREzCbt8KhcqE8xuKreYTmHwnkz5jtzmQWHSq+3UVm2CvuyuE9MxRbu2zvGEbCl1JEriwJpjV9eFCWPBrgnZ8X8u17uHmozdGJP6E42kOMUpe+zRRlj//Gnv0o9ieuL8c+UKFEGLDESHOS35ML01/e66Zvr109Gn2kCLL0o3m8AcEc+lk32+NrtJk/2wgbPd2Gpm2TlpW7mC35VzTo95C3qSNEhz+aJD+hUJ7ZTYXmXUtwCHCZstxjlyPa5cTbH+s2GZ5jYdtxm3zPmHL5P7gHZb0e3+5VtJ3z6HsP1Rtr8vFTrJ6Tr5fP7YFFotgggQLWlbh8qHn1xvW+0pBtLVCfeVBITiqra6nYJ9Koqdyl6IVKc9TIn0OdIBUBxfuFJh718XsOCSOzrdg9QUFXCxsXXcIBBL3YSKMCvlM9fMB8ospVKIZ/+/acfOXLnwClAG5w49ejEz1fISH677FmWVMpvCKFpopJJDUgkdkeMKHM4RHSpnzQ7FgtIn/w7VwK6u8S8HzDsgG6h1eauyF/FYY3/jRWA0DcXFve/wZJ4knP+wGSpK2Lmxk+/bQUl1gbwU08OtQ/j+hfDp+lCP7KfZ0fAAnGfZjoqEjkTJfcCjsmJ6Dcl5rW8n2SyHTg0tzIUE3LAwHr0VPLaji2iFqBQGTxBSalQdZ1tyQ0sYfvjqPhApm3zTc/q12I9W6hFM2qPWd7o6u/Lu48zUkWBGa2tbvq74mCFCQLx4q5bGJ7ZRs0IUZSBUc3q1DCNCJaVbrNE6nij5fDXc9htENvTq5/KQ765/L7ODxudnNskmlFrSvLbIag4KLabIa+EJa2ByatfI118xcv279AEC7y+g6MJ5GFW07f6hRGdeF0MEU/b40bVz7GHMc7LQxHstBrS0wLvLRMoPSSl9fUPWeMK3lz2Vpfr0tyqFElNd/vj+9aKuha0kx5Z7l17KHVnFxeLy+Xy/ur68uZilsJbn6LTCx9MXp7fLS6PEXIJYjKxoA31RFDiYkhdazpYCguQSaroqjFeMpLKRG8cTHSI5C7Q1fpL5Gbay6uzzzerJbUVAdUZOIJ9CVbfpyp3w5nR9qgo1S6hegEZ+wHAS6Kvx5a+WCYxZS6SHv9j7I5PBhC9FyhBjTvBTSom1qhAD1vI708zuTcPdoOIqIKFkYYRkfYVKOQOkt1yw3zCffbUT3msMY1XGvujzrWlwWc96+5+eI29EyKmciC4j6YyaLyHs1f9vRNm2/5LxjSoowQPx768oAdua4F6kOKg3yV0se15hiMDRHLMiJLgCxQq2pdkf/2gxe/nzDPzr2yjk4M4gxMK6lG+RoI8x9ej0wdnQn+g4nQ5ECE8Lvyil6mxj3l5XLL8qB9Rwo8syEeUV0Y5pfQxUWg/8LFnK+0exiyfCHZxIzPJwbzeehonpXdliUcxhlsHf76YW3FFBqx84X7EipnoR6KnQeUbLmgcYz/vgw3yJIUN9kkInuTTLN/9QG66ucLBWO5m+oCT9vpSNN+KpPxcyXE9PcSlGHPMrz+iM0X7OU8p2e+5zVii03GZmMfHt7S0iwiv5NOxTRrvmcwe88++vO3UcUO5Ed9OXllgcsS7U+Ypwhvz6b0uzbLmH5KbKDfi2x9TG9IUGD8Xy/5E3cn8YhijfvRPkJ68gEHEMa/sy+5O5I9AGfPkl9ubk4dG4oz54t9/dEqfUO6Yb96FNKdtFGDymHeL8tCcvg2VWaMLe+MFHCf/4oDUsmenzUKEV/bplLkns0b9me64+GM+MUkCUS+791n/sHFACj/o40ljiFHHPBuOu588bBCx5NUpAyVxRn257XDDReTFY3kqjyBmxq8TTxbwjK4f/zz5qAdigWZSEv2JTDFh/szw2p9eOtHADKNJDuARE+mgR3Mc52I4r9EQGZIjN29mU/Yj0VM/VKcZ1UIs6J6iFH8iYcP8meE1F75je0UJXMmhPHaGPcW32ekggjt7toDBosGTtePBimrDfgXBOH7KQqbAQpPgSSxCsiepzvrxmtuUHdN4zW2uYppwkxQkO2k5WZBHFo+dmzd6nsi9G564Yw1FOcIfia3Lz6j5BWgwFba3BkL0IV4+KXM1WM3ZO2lhudNuqIVl0/bVRmMc7BFFHaA2wlKKcJszq7GJq8gJG4UEZSFh9AVkgiZ+FRmrJlR3R012IVb5gyeUhETS7yjx6Qs0hKQNGqym+1XI6t44ix3FErRcAr6+HbOKwYGxoELqsQhz6rhrfmE6bjWFRUMxAfUjQeH1E7zzw3KahR2IBQpToj+RcGH+zPDaD9+J1p4wGiiAqR5FIgh6NMdxP4bHrpAJeChqsA+RcEk+JPkY3PRwiiU7hAQ71JrkTSRekDfpLscjN7dmigyJMZtbH2U/Ej2Nh2peLRTwiWGaVwslH5J8DAJ0uqVXnAoL2wzPYhHEPZubCCauR0fzJDEUvIgO1EU/0hz1zg2ebk0dZsICl+5XrOzBfs1MQVDyTrEFACGZE8iZ9RfxJt1lP3In2KIgU0BRS/EkEjPAk1RnY/GaV8RYdFKU5hUqXj/BuyAsJ9jHAXBgIUrxJRYowJdkf4mgzd5kwmDRIM0+A81pw351wbDD8bspduyVLPY7bLEItSz3oX3CMSFaxg1GVEZSpi4zsa2h6xcS1NFLTfqTQ90E5cp0i4YX9dgCaXsSBacc0ZIdiGdE3IEkB4GD+UlhoYBzT+EnhYMUhp2acdQ+ITapbKc6YZ8QxWQXj0tT/Hx3QliPid6sIMUE4SRHE4ye407y45jj2yMBeHY72bEjjmzPKyw8+JhDx2DhERxIcnDuyeLOlWOOFc/7aLIneBnKhFPFJ3AkQnfEEeKjPZuhkXjm9RjvZEr4mOYxbnBkM849HuMKRgsccjyFJzEu5BTh0focGXR48BjxGFHSScFjHJAIwYN3x7gQp0o5ZXe0GwgpeJDtNG7A4tGlgqP8QFhTjn8d5QzPB52qOkY/RoQdEUqQj8LmHcbAenxxUdCdhCMDWBgAgmPPB2ChQRxJdpY5BJAWIxKVuvc/LRq0JOaLvN8fTHkUN3NzP5j6uCzqUbAHc15HJgpL3j+YkPy4KOgOu2cQSzgJSd8giCWYFgNcgHYBYglmofO3/GEB4MUTXPMD0pqaHcobfPWAxkAhkOSotEfkEC/cCTQakbCikOQJurLQotnTK5Y4fm6Foo1Gt6ONKZBlRjhEYpGnHFGZSR3XmX0sRVI57WkUSS3tEAodRa5QU6LSwZOEtjO9rYyQc2kY+Tk1Lg3cARNCBz5awohEa6QjIsiS9VM4S2JJpZwioamjqRio4zpEC32hH9t30COPePMiE5jP+FmTJhHQnI3X2Gc/Jgg5guyuTki8CJ+9qTohILITiW4Ku4NTQ3NMQGaFIZb4lCQfOWkl44/c3AvGRHYj1VNkHyUYIwY5e9MkGBdOGveL3emHBYGEpG/rw5JNiwEuhDuvaq2q9rHbeS+AdPCE9z+Gp0mWLVCKbU/PQRMWayVtN9SINu7Y3BXq3osjlqhnRZxbF44SMst4p/IgWbvvRR0tTPPEJ+ZnpfmIEj6rbEf05pTn9DgTiJRuekIyKSVRPXyp2diycxm9nGWJff4oZjIhNnNUhXZcmHdwBFImNeazM1qzJzYAodPObQCCadMbkXgGY0RZWJriSKqsM+ppjJ9PytR74xTZpHBTHaQWPNnB6TAV1tGRpOnqK8x4OHIpcx4RdiYxAzuj5d+Y0Zny92WQGjYUqDXLw3ara3dyhYvTaJ4SKkKDL9GWjKDrl2pi/JJWaUWC2cOzpO8v4Eeqq34t6R84/j/dAMlFfm6yXPo0DQ8kR/FQpC6/71Wx6dBnlVbiG8awOs1MlR8yKtU4p8YHY/DDs48P6laqfuYff54soBBShEHYLM4ofRAMeyxLDna3uvx7TbUdI/J+sEnaFZIVetlU3ZvTYYoI8gAYJi3YBHN7yJtstpSHRvXai0PmSLVAXCV/3UbaW1GnhQJKc5KCpmJeAnDf/SMIcU7pwIOuq2xVBrTTx5qgdjDBV3ri3nYWq/KyrjKQ28GwPYD7bfsbU3N3OVZrdznX+/YYJ2sun/oQ2R7Syd7lfx5tuVDuciyMu/zPoy0fvvaz+6d9pWtNNOUWZ2t43xlCAV1XWjX6KldNowvdXTH0601WN4LzjlCUhIlSh1nox3ShhX5kS3LzTq2fs2Lb+pFC70EZkay+bnQV6zTH+CcUS92KL/Tj5e8HJRVKj9+BsiJDZ26ejo9mpJryVu2JA1myjIsEagjRdfK5sa5iG8avWfN0o7e62FwWJs82/b6aV6np6YV4Eq5FWmU7ffZN9XtuQTkXxNE/qFrv1L4+q/Tl74fsReW6gOp7/WcSylfG0W79unrd66uyuvHyihNkCHjZrn9cQeW6lRkADO2Tqm93ag+3K/WfbQRbHd9lxfZW7esEbg/E08dOZsFSMQJI9n1VHvZzJR0wJDctRqdqTUhWaDhKhtIP9izpZa5f2j18SdQuihWwN/Kj9DYGJnfn3nCBcL7NE7F32aMCNkYiX9RpFdCC8NT21nCY3AYJ9OUhpVWyEXwnx9rUjVLbGIR8leVpRdLH8SJFo7eVavTmVtdPaTohlJUaNoWj/IO9RJrabloQuZuJksqeon0mQAfsNHkO3Kp9WzSS0uWAIPrU7PBxkki7nz41DRMIop+RBgfHi+hNptISMCJY4ru9LsxGKt3cJnXCKCQr5F25i6p4MFZi2keJsk8IflyX3PcB+zzWFjaYeYJAY1GYFymG/aJF+rcxACIyM5Jgw1gJ86XbdG1It/SWlBwaLQveqv1sOQ8riiUrILT0GFrijg+iPYEvet2UVbL3HoyV+KofkvltDE/eb0iEiXt7nvQ2kfQWI02tXhZEoF6lOryCPF7NcHmF+NzZz5i6IYD8lFpx2D1Qq9gWdWcCTall9cfDTlfZ+rpo9wWJbvfcIY73utyuWZfL7Rry9267/qh2ut4re+uFLg67gM42dbntnRbvd/kXXVGXUnl0k6G0IPT1scYoJ0OJ8pt+uNXVWjVldZZnqrY3F0/7uTz6EMTs3zIzevt6e15upDkCQ21Z8/N973f5xyVG2Jpy9bd41BWVXVFSD8EP1nc5UbDi1A6AYS6362VVd6tJS6nVMcwugK9V+6r8Ta/5tafeBqpdAR/p5cBIMvsuLvSjrnSx1ufloWj05oMqNjmxJ8vipyFQAvp9yOHeGpm+h/JbZu5f/MJH+P9C1mnaYVPuNw9YkR54HQwf/W/PfOH49owVjG6B9esvK8FFwzfaMrXC2Hx9zjar8uuzVNwGztFe5G2MWbaBeXt7hvebsQEWjw3naMtmjarWasPWg84Cyp7FoThrrS+/m0U6Uy4+qUrtpOX4XiIK55arsrrDLNdVtm/O6tdizQenFyNwTOCr0DVIhcAJKsaR2VIUWMj+Sr3yuV8pfzUycqNkudurSmMbMDpaF8Ll8vrpUDxLYTCUrSG3saCThKg6U5kMKnQWo1TY1uaDgPEd2PXVx27PBULVm3K9KDPj8U6Yqu3IelOupKtiC2VCa8gR6V35gjG1lnxtMBkTbt0gaoVtCNWONs//cdAHYqd2jHfCcHu0W3OT5LvK2c7rd/Vdbhcl9fvXZbFWUpF0+DsE94nc7aV5f5exBXCEL9099DihAXC1J8sbaYDuMnYIlrIQugM+YcF1Bx6zStqK5fNV7LYrrMFwKcWG47GsLlV7ThUn7SAcaVXukhircifQLbNim+vrRicTT0hGYqf2Kbw7tWfI6nInNXoOm7HndmGp5yQ6Y89u6jpz+xUAYwdhm+dhexHXMg82UKMsbHUS2N/G4J1meJ6125+4bFSxUdXmXYfmgzQKklh+zsMzvhZanlGKggprP3NSFODYvD9Xtb4uarPZr8le9N1DrasXU3JuFXEr2CTH4bBuLSQcfspZYdwrf+S/ftLr57Nqy6V5sME6JtX2sNNFc25A4nbCkdqDcX13E5mq+Wg+t3zRGMktBNdNDkLBktJR8YrZusxzvaaPoVmcoxVWhJ5MJ/byRWhcPNa3LizWqMSGXQC/j4xJnD02ujJfNzIhdDmZtCg0V1zOiSyg5pYtifNIfvxsMsTUzHZKbl/ptdmv8yZ1OGgpnXJMGNLSA8N/ksH5VJXf2ZG7ZwqO4SP0RPvm0bNywRsp5f71rvhaZY2msptKDAEAk8RKUQmjpAAHgmtCVMMOIs3vUBIuzPGJstoptvkY6d469rFKPRk1/DIexduw93Y4dtQ1lrCIA+bklrppsmKboGEhosTddQP3n84Wy+uP7++v7ha3Z/YVBqxGFByTu1ws7lfXt5f3/3338fL++uOXs5vrC0wsBo1JmfnmLsjt6a91WTX6e0oR4wliso8JCo8SWacGfPcmTh8So+4DeH9xtrrEmD1EjDirv6jcXhHgOCdjgc5sS/nvssAam7chKEa/VxV1GwNFOpjGqD6Z35PyykOwPn5u2FV9z83OOkZYJ7UktdyKbHVzWxbNk1ml5TsELa1tzo/vvmr9vFGvOK8FYDsZZhsDl3zzO7irwyvulHctW2/Ju+WsexFuBWtd8cXOszy/ynS+Ma9/CmeNWlofwufMWZ6Pq7ubFtQu0cM6FJgdgZ81jVo/mfFYfV4Wjbjrp9WiYKyK2Wax+aLyg74odyoTpgl7DR8kKOSlMEgcaXP/8iSf61A35S4lHA6C5TbLqncP8h6Fnngy51nHNbsUrwOUoJFALLINdyNpjHEyR1jNcb4UWmPP85rKhDEaS5krqbI5CH4PkC53upEWM3rawZhn7A4LYYSdLcvXbhhu9+Wb1hCidSEse2uVElobIDDXwjrEyFhzqw9Z3V5RsXcvnuD4RnOW9RNMSNxfEXB5N1ewbMR9FQRfnhVYlRyMBcb9YZ+SzzZAZl7p3T53xuAS9YAQuKtG5fIy0Ug8mLOs9gsNKSEhcPxc/V41mZp6GJCID2IVVvp7k5ICy57l/ZLpb3iFG60ZzrxUyOfAmLE7ENQGaapbO76DO1xmwA4+JiuwDx4+TQret2ApsSxstkWPhs9xQiaDfHHOjB/jB00E+TCdqzrGAYKF7xT3R83naAZYpBM3TZbO1hWYEC+O1U5QtA+Uz1Ek8ZLicMx8pmAAFzqTw9G3WXIhWu5q9gfG5+iReFZxOHk9Ry3A8p1I+3jxHDmaANI8pvmLcsjd+vlJDdFyV3o6bjtHMkbBd7COatdT23PrDO0sOQLO6/mnX2epRkkQ7WMKboyC79AOBybnKIZgVms4RjlHKsDySrdHKPlYSemYPKPggt7qmKT5YLbL/uhOKYW99cdwJinSUW8tzd0W3Qb+Xxd6q7/zWyA6chLob4TwfTb29tgxXS1AM5JmWts7lnBlrlaXJ+Q6UQ7PT8XbXqZKklh+Ht53ElWLQFmx/uRrayjPlQ46PgqelUhISwDj69Cw0ht9xoYdD3fw7hkb5rZjaTdGTzNjU4azfyLcT2ITOyBuU7+4hYLcdRWV4t78lDZSQEoDjKOPLNiL/A6OE6AXmUV+G8aGR9oOQjaadqBoAqbdpDciSDo2iiEPV7ol4prMZYdU2MRCthqWAglnmihoI4skypDwxxqSVB4lQmi13GaMLZoDG0RA6gHISHibRCTi1lyic/ZzQIyfG37fZAdAviO95eyNef4dEB7tBHEV7Mb/Y3u3RSKxDYpTmwxNJJ4gPu0/g8Yd2YbX07sAKNwxDa6F92RYVae1T2odPdpoO2lHTL5ApSdPuEbFLgRYt6Qn94Bc12TGZ7wXgT/knjep/R86TVgfqAOllTFHDylb6R2VXgLtqiQV3p4b+LgnfPJ6UvGjh38+ekb6A+K8nOK9ohGtWDX1YAZdsZBdgSErsj2we7Ujpcr2Ah7wxFW2F4GrbELR6KkjRcPOySbbIWM2Ywbl4vQpwyLdEjugE0e5FfgDxzctP9poOAlNbXPDUGHtrYGktbajEtLSHjNma4XSx2xJbW+rAbS8x45zWp0/fJzTqpywyW/5Yg3+vN7nCbudEPnbAH3MxnNKIPqNsQO0DbYUhuRbcich/0AWzPd2AsQCwLy5BZI7UEEm+ugWqBXiEUFvg1+K1gDFZLy9f2lCA1iQmpcYMB1zkwB4T7wSJZLbmBhxuLtaorUQcdJwO7BMa2HixO5uWJm0t2cIiU2xAK2NipMnlrYJwFEmljEbwtO6O2Ux3h4TI15Vqqi7L6NwWtYlD3AxgfOyrDZZYabzX+tG796Vh2JTc/3kUYiGcr3l97rcdjvNXf/cZxzJjuCoynFwvcIYbtno/Sn0Bx7Wh8u794uzTx+uz+/f3X3+eCH0SSdNH8f0Gr9evru/vVycn63uFmkqBJLReTg8PkqXO4zUnTHTP+yuOjmvyro2C5SfC3EFf+SmoIzSRhcmy/LsXxo5FzPKBDhhhQJ8lnHkR59lBN8m9HnZ9wnBKzY9zpNds+nwnviqTY9bvm4z4dnLkZt/9tLZm+C3rwJvQzWqwaU/60rrIqk0eyiOH3u7cmKOvl9pjQaRu35Hxthdv/Z2fHPN33+3Jw7R2DoYhhu8fnXkxa5gHfpq/d76y6oq2WUByh4dszFC4dedFJLV/XswMuBCxSzlLsXg0haB7+0EiHd90Ft0XGb4Dh3kBsUMvzxRvuswO+U1h9kJbzjMTne5YXbSew2zE19pmKXdZoheP5gl3zyY62LboM52xgybeMNbhl1hWOnNQTp/NlJ1xgybfCFixt6FaDdY6HvKM59Tdl41Bljf2rBY+xJ91xgRCMHxwS1yPW6o4ODi5JG3jTEFHxyXib9ujCkR+JhY7H1jRCjAxud35QeOE943Jt/HZRnfupBYMOgXcnlmDxPPVOARW16Jp5CFI8/YoqI+XBakHnND1RxsXCp8ylYSsBDMPGnkMVuJPMDFJejnbCUBD4XRuw/apkj0SHbul3jSVpLwUCx9+KgtwG6BGHL6WVuR3oNxAuHjfTK7hWG+cuTTthK5hxLpiefbQAkbychwz9uKSiQ4LhY+cCspWAiWNr1NdUFCfwOnlb1Fn7mFlDgeZhGGfuhWUvRhskB6thDIuAz3nqskRGKFpSXqRVdJJwQync4ZX2vwK00+vipyOyC5s5zAjGQv8wArwB9ARaFZyfCAcRHpEVZJK4oXJKPPsEKCIZqXm6EhE0dfSpXoQ2BchH4rVVLwUAx98LCpSD0hWNr0YuuCOPLgcVOZegV5TT1vinADfrMPnPIaNJQZU5fsrqC8xLYO35TbG/2iraG0f+DCMA1WLqW9YH5eFnWZ65tyu+U3rxo6x5hbhu8s3BEMTTlZCny3qlCAi5OlwHdZOJtfyCX5nrA15Vbd/ehxZIFnAdWtrmu1BbfkDml2MJjAQtfloVrPEvKwcnCulGlWrYD7D0lN4elNPc7g9aibcht4HiGlvQwYzXSTl5PUlK8hHU3ZqehausHSUBETve4c9CAVhDDG6CNEcq8l4XmJBsWb6d6p/V7Y/NiboBOHpkuRdMXcwE9jmYBkNfTezMA/mrOUpk8pLWBNjJ01S3iL+xe8/eLfa6EfEtg6a4mwHWAkULb2bJG6VftxMxT2tgONgAqcJBZ+eSJiiA/+uvZONez2SfM7lAr1oislPYfYsvWW7JambaV1vSoXapOpQtgB0ZL6EK6h7CxW5UWHAdh9CNfE9e9BXeiXzNvjGKUPMBz/QVha7Rj9y829Ai6f20w4sCm/iGCRnfBNBJsVfRWBPpbMc3sYhFp4jiTGzj9JApwoTZKCHiaJnSVFlIADI+LzDDbrqR5osDnBJxqQgy02LXBocrzGhq/PPetozdbr8kF6w74krnCP1Ovutndv5OL3eXs+y1bq92603p/VdbYVmsaeeTJnvxh6f56Lt0NYlK21wLjUqlo/nRWb8bMK04fQZC3g9S1WUHqhGdkz1QuIO6a2uhnm9S903b5GLr2B0FOTSLbHdyk/uttz97Ys26dcZQXyDMLIaSGO2WHU8/Gd+XKsVpnUUen5HITI/It+TaE15gxnA+wP7/kaelu43ZbBz2Omv4cJP4DpUgtPXDrjB/yZQZfVhYYzHXSElvwmL8cwMUIONRchQ80I+SOPyfSrVs9wAnrjxEQEElxCBglB9Mef/kq/zGinct/enM8lrbOA0jNdw2+/g+t/kXtC21j6JE+2N5n9iLJIbcxxcmcvlsj9ufKjQk2hTfYfml3uKFDNT69CAfnPBBl6RsGFgNxu9EH2MA+i/Gh4PAw7o1dl7Rki9EWJXoHAsR+WRHobwH5k9lW5y/gRSG+CzYKYPtdVrhpxkmtgtRFsFzGX3iIfGFtThkqLm74HJs1v+Ba7OAMP38fZq0rluc7lzegDn43giKtyL/RuRkZjeuQ+74FL3OZtboQoD0J3c2DrjdlC/PtB8yerWwNsd3d5kM5cdWStIZNIz6c4EeGb28J0s+lXwGilo3IAbNwWWm3uivwVm+INraGIciJhL4QQkXT9jtVgL/SaLbOkdAg9Zps2KuG7XFl37bJTLI4h5HZW/8OUCrNusrGv9OVLkqsT42ALV6WLja6EDe2jEZiWcxPvd5VWz/Wih0oJGQRIMNtvuMhaOlW9pmuFWF6qbC7MCYFmjlSAZaU+6PZbm67jAVmRZbbb5zpdw8WxEp+L7PeDbo97pusQYKGl/P2g6+aDzvf8zLZjCBXqC/2oDnkTUaAaGFuBQnMj84gMOTB3SbmUeePyeq1yvTCDeLbyW2ZQpJajveC4TTyBuF0TrRU3qAwo5UHlN53nvxTlt2JJhYO6ucEWodCuonu32Pe9Kjbd4e9V2WL42mBrEWB+rvOj/t4katgonpzKZoA9ltH+xZL8RAt6CnCTPUI7IwzfZHvkbLQhO8Hh3Y6G3/NgqlXtd9diZLY1Q3qQLwExbAfywo+0y0ETbgWVV2/ty0BPt3prs6Krt8gq3KmuLuWZQ1hMYK12Ol+Vv+gH9XCupEsDew0fxJSqtar1dVG3PaDsRZ/79wqwKhQU12rPjQojbFqqQ3KTFPVa7fVCby+/C131XsAGMLzPJqKr8tzEF84NH8RXztfdQ8nO+HYWaI//+ra9oM9jJb3teD0M24k8v75tj3+k0lsgmb+9bCxdwYLxGtkujXyw91np2XwvOanp6Oz/9CO/pPm9qQ6bPsN+vvB2tLMSFJTVusryfI5QgGNVrtdD3qWpBDhW5UY96NEpUMHB8OxjHcLJLQjMnRKfAMdv3NT103jXTUrBDYGiTmKkbAjL3a20z4kVgeTXSVTzNEcnwPEq2docnZ6qE6ri4xCVW1U962qOjo0UVpeyoplVyAikrJRYzByMwN5+cGamhMAiasmpcVCigrmMc3aCQjAw5ZVcrH0YoJHcH/JhgMaMihMCeZ0kbpQPLkpQGTLP2if5OQFY3i9lfjDlStr7OPJOAJbXbO5vXvO00uGC2L79SnjLYZXyiAM3ybka3gfg100a+DZd1xLzMUJOTjl6/CtOzpstPdhXEYaeH/ybByPufrZpwogams8+lTs3rDabdp3nk6rUTouzUYYxgLDF8+yhLvNDoz9Lly8aasdc6Lesn9UWZZ2sWdJunesFZbXM2WV0c0dlapApFLtZJCnOjjlb+w+HjH0m1/wOFdWtLrS5lOTzQbrttaW0zVkHv6lmzZ7maQ0gF78ay3OV5w9q/RxfFugIHWNyWUAaWpfFtLo9bAfutkHy8en042huA2whbzgZ6IWNJmVxJ06ED1R3/DR4axamBnWVgafOdrRUSbq4ivvwyYuu6Hvl+h+gAhuQTAtMAw1J1z5o98//D/O9996VCwMA"
|