| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_BLINK_H_ |
| #define THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_BLINK_H_ |
| |
| #include <stdint.h> |
| |
| #include <limits> |
| #include <type_traits> |
| #include <utility> |
| |
| #include "base/callback.h" |
| #include "base/macros.h" |
| #include "base/optional.h" |
| |
| #include "mojo/public/cpp/bindings/mojo_buildflags.h" |
| #if BUILDFLAG(MOJO_TRACE_ENABLED) |
| #include "base/trace_event/trace_event.h" |
| #endif |
| #include "mojo/public/cpp/bindings/clone_traits.h" |
| #include "mojo/public/cpp/bindings/equals_traits.h" |
| #include "mojo/public/cpp/bindings/lib/serialization.h" |
| #include "mojo/public/cpp/bindings/struct_ptr.h" |
| #include "mojo/public/cpp/bindings/struct_traits.h" |
| #include "mojo/public/cpp/bindings/union_traits.h" |
| #include "third_party/blink/public/mojom/manifest/manifest.mojom-shared.h" |
| #include "third_party/blink/public/mojom/manifest/manifest.mojom-blink-forward.h" |
| #include "services/device/public/mojom/screen_orientation_lock_types.mojom-blink.h" |
| #include "mojo/public/mojom/base/string16.mojom-blink.h" |
| #include "third_party/blink/public/mojom/manifest/display_mode.mojom-blink.h" |
| #include "ui/gfx/geometry/mojo/geometry.mojom-blink.h" |
| #include "url/mojom/url.mojom-blink.h" |
| |
| #include "mojo/public/cpp/bindings/lib/wtf_clone_equals_util.h" |
| #include "mojo/public/cpp/bindings/lib/wtf_hash_util.h" |
| #include "third_party/blink/renderer/platform/wtf/hash_functions.h" |
| #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" |
| |
| #include "mojo/public/cpp/bindings/associated_interface_ptr.h" |
| #include "mojo/public/cpp/bindings/associated_interface_ptr_info.h" |
| #include "mojo/public/cpp/bindings/associated_interface_request.h" |
| #include "mojo/public/cpp/bindings/interface_ptr.h" |
| #include "mojo/public/cpp/bindings/interface_request.h" |
| #include "mojo/public/cpp/bindings/lib/control_message_handler.h" |
| #include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h" |
| #include "mojo/public/cpp/bindings/thread_safe_interface_ptr.h" |
| |
| |
| #include "mojo/public/cpp/bindings/lib/native_enum_serialization.h" |
| #include "mojo/public/cpp/bindings/lib/native_struct_serialization.h" |
| #include "third_party/blink/renderer/platform/platform_export.h" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace WTF { |
| struct blink_mojom_internal_ManifestImageResource_Purpose_DataHashFn { |
| static unsigned GetHash(const ::blink::mojom::ManifestImageResource_Purpose& value) { |
| using utype = std::underlying_type<::blink::mojom::ManifestImageResource_Purpose>::type; |
| return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value)); |
| } |
| static bool Equal(const ::blink::mojom::ManifestImageResource_Purpose& left, const ::blink::mojom::ManifestImageResource_Purpose& right) { |
| return left == right; |
| } |
| static const bool safe_to_compare_to_empty_or_deleted = true; |
| }; |
| |
| template <> |
| struct HashTraits<::blink::mojom::ManifestImageResource_Purpose> |
| : public GenericHashTraits<::blink::mojom::ManifestImageResource_Purpose> { |
| static_assert(true, |
| "-1000000 is a reserved enum value"); |
| static_assert(true, |
| "-1000001 is a reserved enum value"); |
| static const bool hasIsEmptyValueFunction = true; |
| static bool IsEmptyValue(const ::blink::mojom::ManifestImageResource_Purpose& value) { |
| return value == static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000000); |
| } |
| static void ConstructDeletedValue(::blink::mojom::ManifestImageResource_Purpose& slot, bool) { |
| slot = static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000001); |
| } |
| static bool IsDeletedValue(const ::blink::mojom::ManifestImageResource_Purpose& value) { |
| return value == static_cast<::blink::mojom::ManifestImageResource_Purpose>(-1000001); |
| } |
| }; |
| } // namespace WTF |
| |
| |
| namespace WTF { |
| struct blink_mojom_internal_ManifestShareTarget_Method_DataHashFn { |
| static unsigned GetHash(const ::blink::mojom::ManifestShareTarget_Method& value) { |
| using utype = std::underlying_type<::blink::mojom::ManifestShareTarget_Method>::type; |
| return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value)); |
| } |
| static bool Equal(const ::blink::mojom::ManifestShareTarget_Method& left, const ::blink::mojom::ManifestShareTarget_Method& right) { |
| return left == right; |
| } |
| static const bool safe_to_compare_to_empty_or_deleted = true; |
| }; |
| |
| template <> |
| struct HashTraits<::blink::mojom::ManifestShareTarget_Method> |
| : public GenericHashTraits<::blink::mojom::ManifestShareTarget_Method> { |
| static_assert(true, |
| "-1000000 is a reserved enum value"); |
| static_assert(true, |
| "-1000001 is a reserved enum value"); |
| static const bool hasIsEmptyValueFunction = true; |
| static bool IsEmptyValue(const ::blink::mojom::ManifestShareTarget_Method& value) { |
| return value == static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000000); |
| } |
| static void ConstructDeletedValue(::blink::mojom::ManifestShareTarget_Method& slot, bool) { |
| slot = static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000001); |
| } |
| static bool IsDeletedValue(const ::blink::mojom::ManifestShareTarget_Method& value) { |
| return value == static_cast<::blink::mojom::ManifestShareTarget_Method>(-1000001); |
| } |
| }; |
| } // namespace WTF |
| |
| |
| namespace WTF { |
| struct blink_mojom_internal_ManifestShareTarget_Enctype_DataHashFn { |
| static unsigned GetHash(const ::blink::mojom::ManifestShareTarget_Enctype& value) { |
| using utype = std::underlying_type<::blink::mojom::ManifestShareTarget_Enctype>::type; |
| return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value)); |
| } |
| static bool Equal(const ::blink::mojom::ManifestShareTarget_Enctype& left, const ::blink::mojom::ManifestShareTarget_Enctype& right) { |
| return left == right; |
| } |
| static const bool safe_to_compare_to_empty_or_deleted = true; |
| }; |
| |
| template <> |
| struct HashTraits<::blink::mojom::ManifestShareTarget_Enctype> |
| : public GenericHashTraits<::blink::mojom::ManifestShareTarget_Enctype> { |
| static_assert(true, |
| "-1000000 is a reserved enum value"); |
| static_assert(true, |
| "-1000001 is a reserved enum value"); |
| static const bool hasIsEmptyValueFunction = true; |
| static bool IsEmptyValue(const ::blink::mojom::ManifestShareTarget_Enctype& value) { |
| return value == static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000000); |
| } |
| static void ConstructDeletedValue(::blink::mojom::ManifestShareTarget_Enctype& slot, bool) { |
| slot = static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000001); |
| } |
| static bool IsDeletedValue(const ::blink::mojom::ManifestShareTarget_Enctype& value) { |
| return value == static_cast<::blink::mojom::ManifestShareTarget_Enctype>(-1000001); |
| } |
| }; |
| } // namespace WTF |
| |
| |
| namespace blink { |
| namespace mojom { |
| namespace blink { |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestError |
| class PLATFORM_EXPORT ManifestError { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestError, T>::value>; |
| using DataView = ManifestErrorDataView; |
| using Data_ = internal::ManifestError_Data; |
| |
| template <typename... Args> |
| static ManifestErrorPtr New(Args&&... args) { |
| return ManifestErrorPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestErrorPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestErrorPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestError>::Convert(*this); |
| } |
| |
| |
| ManifestError(); |
| |
| ManifestError( |
| const WTF::String& message, |
| bool critical, |
| uint32_t line, |
| uint32_t column); |
| |
| ~ManifestError(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestErrorPtr> |
| ManifestErrorPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestError::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| size_t Hash(size_t seed) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestError::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestError::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestError_UnserializedMessageContext< |
| UserType, ManifestError::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestError::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestError::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestError_UnserializedMessageContext< |
| UserType, ManifestError::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestError::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestError.message |
| WTF::String message; |
| |
| // @generated_from: blink.mojom.ManifestError.critical |
| bool critical; |
| |
| // @generated_from: blink.mojom.ManifestError.line |
| uint32_t line; |
| |
| // @generated_from: blink.mojom.ManifestError.column |
| uint32_t column; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestError::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestError::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestError::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestError::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.Manifest |
| class PLATFORM_EXPORT Manifest { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<Manifest, T>::value>; |
| using DataView = ManifestDataView; |
| using Data_ = internal::Manifest_Data; |
| |
| template <typename... Args> |
| static ManifestPtr New(Args&&... args) { |
| return ManifestPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, Manifest>::Convert(*this); |
| } |
| |
| |
| Manifest(); |
| |
| Manifest( |
| const WTF::String& name, |
| const WTF::String& short_name, |
| const ::blink::KURL& start_url, |
| ::blink::WebDisplayMode display, |
| ::blink::WebScreenOrientationLockType orientation, |
| WTF::Vector<ManifestImageResourcePtr> icons, |
| ManifestShareTargetPtr share_target, |
| ManifestFileHandlerPtr file_handler, |
| WTF::Vector<ManifestRelatedApplicationPtr> related_applications, |
| bool prefer_related_applications, |
| bool has_theme_color, |
| uint32_t theme_color, |
| bool has_background_color, |
| uint32_t background_color, |
| const WTF::String& gcm_sender_id, |
| const ::blink::KURL& scope); |
| |
| ~Manifest(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestPtr> |
| ManifestPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, Manifest::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| Manifest::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| Manifest::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::Manifest_UnserializedMessageContext< |
| UserType, Manifest::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<Manifest::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return Manifest::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::Manifest_UnserializedMessageContext< |
| UserType, Manifest::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<Manifest::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.Manifest.name |
| WTF::String name; |
| |
| // @generated_from: blink.mojom.Manifest.short_name |
| WTF::String short_name; |
| |
| // @generated_from: blink.mojom.Manifest.start_url |
| ::blink::KURL start_url; |
| |
| // @generated_from: blink.mojom.Manifest.display |
| ::blink::WebDisplayMode display; |
| |
| // @generated_from: blink.mojom.Manifest.orientation |
| ::blink::WebScreenOrientationLockType orientation; |
| |
| // @generated_from: blink.mojom.Manifest.icons |
| WTF::Vector<ManifestImageResourcePtr> icons; |
| |
| // @generated_from: blink.mojom.Manifest.share_target |
| ManifestShareTargetPtr share_target; |
| |
| // @generated_from: blink.mojom.Manifest.file_handler |
| ManifestFileHandlerPtr file_handler; |
| |
| // @generated_from: blink.mojom.Manifest.related_applications |
| WTF::Vector<ManifestRelatedApplicationPtr> related_applications; |
| |
| // @generated_from: blink.mojom.Manifest.prefer_related_applications |
| bool prefer_related_applications; |
| |
| // @generated_from: blink.mojom.Manifest.has_theme_color |
| bool has_theme_color; |
| |
| // @generated_from: blink.mojom.Manifest.theme_color |
| uint32_t theme_color; |
| |
| // @generated_from: blink.mojom.Manifest.has_background_color |
| bool has_background_color; |
| |
| // @generated_from: blink.mojom.Manifest.background_color |
| uint32_t background_color; |
| |
| // @generated_from: blink.mojom.Manifest.gcm_sender_id |
| WTF::String gcm_sender_id; |
| |
| // @generated_from: blink.mojom.Manifest.scope |
| ::blink::KURL scope; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(Manifest); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, Manifest::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, Manifest::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, Manifest::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, Manifest::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestImageResource |
| class PLATFORM_EXPORT ManifestImageResource { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestImageResource, T>::value>; |
| using DataView = ManifestImageResourceDataView; |
| using Data_ = internal::ManifestImageResource_Data; |
| // @generated_from: blink.mojom.ManifestImageResource.Purpose |
| using Purpose = ManifestImageResource_Purpose; |
| |
| template <typename... Args> |
| static ManifestImageResourcePtr New(Args&&... args) { |
| return ManifestImageResourcePtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestImageResourcePtr From(const U& u) { |
| return mojo::TypeConverter<ManifestImageResourcePtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestImageResource>::Convert(*this); |
| } |
| |
| |
| ManifestImageResource(); |
| |
| ManifestImageResource( |
| const ::blink::KURL& src, |
| const WTF::String& type, |
| const WTF::Vector<::blink::WebSize>& sizes, |
| const WTF::Vector<ManifestImageResource::Purpose>& purpose); |
| |
| ~ManifestImageResource(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestImageResourcePtr> |
| ManifestImageResourcePtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestImageResource::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestImageResource::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestImageResource_UnserializedMessageContext< |
| UserType, ManifestImageResource::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestImageResource::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestImageResource::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestImageResource_UnserializedMessageContext< |
| UserType, ManifestImageResource::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestImageResource::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestImageResource.src |
| ::blink::KURL src; |
| |
| // @generated_from: blink.mojom.ManifestImageResource.type |
| WTF::String type; |
| |
| // @generated_from: blink.mojom.ManifestImageResource.sizes |
| WTF::Vector<::blink::WebSize> sizes; |
| |
| // @generated_from: blink.mojom.ManifestImageResource.purpose |
| WTF::Vector<ManifestImageResource::Purpose> purpose; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestImageResource::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestFileFilter |
| class PLATFORM_EXPORT ManifestFileFilter { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestFileFilter, T>::value>; |
| using DataView = ManifestFileFilterDataView; |
| using Data_ = internal::ManifestFileFilter_Data; |
| |
| template <typename... Args> |
| static ManifestFileFilterPtr New(Args&&... args) { |
| return ManifestFileFilterPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestFileFilterPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestFileFilterPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestFileFilter>::Convert(*this); |
| } |
| |
| |
| ManifestFileFilter(); |
| |
| ManifestFileFilter( |
| const WTF::String& name, |
| const WTF::Vector<WTF::String>& accept); |
| |
| ~ManifestFileFilter(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestFileFilterPtr> |
| ManifestFileFilterPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestFileFilter::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestFileFilter::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestFileFilter_UnserializedMessageContext< |
| UserType, ManifestFileFilter::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestFileFilter::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestFileFilter::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestFileFilter_UnserializedMessageContext< |
| UserType, ManifestFileFilter::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestFileFilter::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestFileFilter.name |
| WTF::String name; |
| |
| // @generated_from: blink.mojom.ManifestFileFilter.accept |
| WTF::Vector<WTF::String> accept; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestFileFilter::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestRelatedApplication |
| class PLATFORM_EXPORT ManifestRelatedApplication { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestRelatedApplication, T>::value>; |
| using DataView = ManifestRelatedApplicationDataView; |
| using Data_ = internal::ManifestRelatedApplication_Data; |
| |
| template <typename... Args> |
| static ManifestRelatedApplicationPtr New(Args&&... args) { |
| return ManifestRelatedApplicationPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestRelatedApplicationPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestRelatedApplicationPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestRelatedApplication>::Convert(*this); |
| } |
| |
| |
| ManifestRelatedApplication(); |
| |
| ManifestRelatedApplication( |
| const WTF::String& platform, |
| const base::Optional<::blink::KURL>& url, |
| const WTF::String& id); |
| |
| ~ManifestRelatedApplication(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestRelatedApplicationPtr> |
| ManifestRelatedApplicationPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestRelatedApplication::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestRelatedApplication::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestRelatedApplication_UnserializedMessageContext< |
| UserType, ManifestRelatedApplication::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestRelatedApplication::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestRelatedApplication::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestRelatedApplication_UnserializedMessageContext< |
| UserType, ManifestRelatedApplication::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestRelatedApplication::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestRelatedApplication.platform |
| WTF::String platform; |
| |
| // @generated_from: blink.mojom.ManifestRelatedApplication.url |
| base::Optional<::blink::KURL> url; |
| |
| // @generated_from: blink.mojom.ManifestRelatedApplication.id |
| WTF::String id; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestShareTargetParams |
| class PLATFORM_EXPORT ManifestShareTargetParams { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestShareTargetParams, T>::value>; |
| using DataView = ManifestShareTargetParamsDataView; |
| using Data_ = internal::ManifestShareTargetParams_Data; |
| |
| template <typename... Args> |
| static ManifestShareTargetParamsPtr New(Args&&... args) { |
| return ManifestShareTargetParamsPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestShareTargetParamsPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestShareTargetParamsPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestShareTargetParams>::Convert(*this); |
| } |
| |
| |
| ManifestShareTargetParams(); |
| |
| ManifestShareTargetParams( |
| const WTF::String& title, |
| const WTF::String& text, |
| const WTF::String& url, |
| base::Optional<WTF::Vector<ManifestFileFilterPtr>> files); |
| |
| ~ManifestShareTargetParams(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestShareTargetParamsPtr> |
| ManifestShareTargetParamsPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestShareTargetParams::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestShareTargetParams::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestShareTargetParams_UnserializedMessageContext< |
| UserType, ManifestShareTargetParams::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestShareTargetParams::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestShareTargetParams::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestShareTargetParams_UnserializedMessageContext< |
| UserType, ManifestShareTargetParams::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestShareTargetParams::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestShareTargetParams.title |
| WTF::String title; |
| |
| // @generated_from: blink.mojom.ManifestShareTargetParams.text |
| WTF::String text; |
| |
| // @generated_from: blink.mojom.ManifestShareTargetParams.url |
| WTF::String url; |
| |
| // @generated_from: blink.mojom.ManifestShareTargetParams.files |
| base::Optional<WTF::Vector<ManifestFileFilterPtr>> files; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ManifestShareTargetParams); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestShareTarget |
| class PLATFORM_EXPORT ManifestShareTarget { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestShareTarget, T>::value>; |
| using DataView = ManifestShareTargetDataView; |
| using Data_ = internal::ManifestShareTarget_Data; |
| // @generated_from: blink.mojom.ManifestShareTarget.Method |
| using Method = ManifestShareTarget_Method; |
| // @generated_from: blink.mojom.ManifestShareTarget.Enctype |
| using Enctype = ManifestShareTarget_Enctype; |
| |
| template <typename... Args> |
| static ManifestShareTargetPtr New(Args&&... args) { |
| return ManifestShareTargetPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestShareTargetPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestShareTargetPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestShareTarget>::Convert(*this); |
| } |
| |
| |
| ManifestShareTarget(); |
| |
| ManifestShareTarget( |
| const ::blink::KURL& action, |
| ManifestShareTarget::Method method, |
| ManifestShareTarget::Enctype enctype, |
| ManifestShareTargetParamsPtr params); |
| |
| ~ManifestShareTarget(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestShareTargetPtr> |
| ManifestShareTargetPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestShareTarget::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestShareTarget::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestShareTarget_UnserializedMessageContext< |
| UserType, ManifestShareTarget::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestShareTarget::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestShareTarget::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestShareTarget_UnserializedMessageContext< |
| UserType, ManifestShareTarget::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestShareTarget::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestShareTarget.action |
| ::blink::KURL action; |
| |
| // @generated_from: blink.mojom.ManifestShareTarget.method |
| ManifestShareTarget::Method method; |
| |
| // @generated_from: blink.mojom.ManifestShareTarget.enctype |
| ManifestShareTarget::Enctype enctype; |
| |
| // @generated_from: blink.mojom.ManifestShareTarget.params |
| ManifestShareTargetParamsPtr params; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ManifestShareTarget); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestShareTarget::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestFileHandler |
| class PLATFORM_EXPORT ManifestFileHandler { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestFileHandler, T>::value>; |
| using DataView = ManifestFileHandlerDataView; |
| using Data_ = internal::ManifestFileHandler_Data; |
| |
| template <typename... Args> |
| static ManifestFileHandlerPtr New(Args&&... args) { |
| return ManifestFileHandlerPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestFileHandlerPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestFileHandlerPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestFileHandler>::Convert(*this); |
| } |
| |
| |
| ManifestFileHandler(); |
| |
| ManifestFileHandler( |
| const ::blink::KURL& action, |
| WTF::Vector<ManifestFileFilterPtr> files); |
| |
| ~ManifestFileHandler(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestFileHandlerPtr> |
| ManifestFileHandlerPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestFileHandler::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestFileHandler::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestFileHandler_UnserializedMessageContext< |
| UserType, ManifestFileHandler::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestFileHandler::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestFileHandler::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestFileHandler_UnserializedMessageContext< |
| UserType, ManifestFileHandler::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestFileHandler::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestFileHandler.action |
| ::blink::KURL action; |
| |
| // @generated_from: blink.mojom.ManifestFileHandler.files |
| WTF::Vector<ManifestFileFilterPtr> files; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ManifestFileHandler); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestFileHandler::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: blink.mojom.ManifestDebugInfo |
| class PLATFORM_EXPORT ManifestDebugInfo { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ManifestDebugInfo, T>::value>; |
| using DataView = ManifestDebugInfoDataView; |
| using Data_ = internal::ManifestDebugInfo_Data; |
| |
| template <typename... Args> |
| static ManifestDebugInfoPtr New(Args&&... args) { |
| return ManifestDebugInfoPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ManifestDebugInfoPtr From(const U& u) { |
| return mojo::TypeConverter<ManifestDebugInfoPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ManifestDebugInfo>::Convert(*this); |
| } |
| |
| |
| ManifestDebugInfo(); |
| |
| ManifestDebugInfo( |
| WTF::Vector<ManifestErrorPtr> errors, |
| const WTF::String& raw_manifest); |
| |
| ~ManifestDebugInfo(); |
| |
| // Clone() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Clone() or copy |
| // constructor/assignment are available for members. |
| template <typename StructPtrType = ManifestDebugInfoPtr> |
| ManifestDebugInfoPtr Clone() const; |
| |
| // Equals() is a template so it is only instantiated if it is used. Thus, the |
| // bindings generator does not need to know whether Equals() or == operator |
| // are available for members. |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ManifestDebugInfo::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ManifestDebugInfo::DataView>(input); |
| } |
| |
| // The returned Message is serialized only if the message is moved |
| // cross-process or cross-language. Otherwise if the message is Deserialized |
| // as the same UserType |input| will just be moved to |output| in |
| // DeserializeFromMessage. |
| template <typename UserType> |
| static mojo::Message WrapAsMessage(UserType input) { |
| return mojo::Message(std::make_unique< |
| internal::ManifestDebugInfo_UnserializedMessageContext< |
| UserType, ManifestDebugInfo::DataView>>(0, 0, std::move(input))); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const void* data, |
| size_t data_num_bytes, |
| UserType* output) { |
| return mojo::internal::DeserializeImpl<ManifestDebugInfo::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const WTF::Vector<uint8_t>& input, |
| UserType* output) { |
| return ManifestDebugInfo::Deserialize( |
| input.size() == 0 ? nullptr : &input.front(), input.size(), output); |
| } |
| |
| template <typename UserType> |
| static bool DeserializeFromMessage(mojo::Message input, |
| UserType* output) { |
| auto context = input.TakeUnserializedContext< |
| internal::ManifestDebugInfo_UnserializedMessageContext< |
| UserType, ManifestDebugInfo::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ManifestDebugInfo::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: blink.mojom.ManifestDebugInfo.errors |
| WTF::Vector<ManifestErrorPtr> errors; |
| |
| // @generated_from: blink.mojom.ManifestDebugInfo.raw_manifest |
| WTF::String raw_manifest; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ManifestDebugInfo); |
| }; |
| |
| // The comparison operators are templates, so they are only instantiated if they |
| // are used. Thus, the bindings generator does not need to know whether |
| // comparison operators are available for members. |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| template <typename StructPtrType> |
| ManifestPtr Manifest::Clone() const { |
| return New( |
| mojo::Clone(name), |
| mojo::Clone(short_name), |
| mojo::Clone(start_url), |
| mojo::Clone(display), |
| mojo::Clone(orientation), |
| mojo::Clone(icons), |
| mojo::Clone(share_target), |
| mojo::Clone(file_handler), |
| mojo::Clone(related_applications), |
| mojo::Clone(prefer_related_applications), |
| mojo::Clone(has_theme_color), |
| mojo::Clone(theme_color), |
| mojo::Clone(has_background_color), |
| mojo::Clone(background_color), |
| mojo::Clone(gcm_sender_id), |
| mojo::Clone(scope) |
| ); |
| } |
| |
| template <typename T, Manifest::EnableIfSame<T>*> |
| bool Manifest::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->name, other_struct.name)) |
| return false; |
| if (!mojo::Equals(this->short_name, other_struct.short_name)) |
| return false; |
| if (!mojo::Equals(this->start_url, other_struct.start_url)) |
| return false; |
| if (!mojo::Equals(this->display, other_struct.display)) |
| return false; |
| if (!mojo::Equals(this->orientation, other_struct.orientation)) |
| return false; |
| if (!mojo::Equals(this->icons, other_struct.icons)) |
| return false; |
| if (!mojo::Equals(this->share_target, other_struct.share_target)) |
| return false; |
| if (!mojo::Equals(this->file_handler, other_struct.file_handler)) |
| return false; |
| if (!mojo::Equals(this->related_applications, other_struct.related_applications)) |
| return false; |
| if (!mojo::Equals(this->prefer_related_applications, other_struct.prefer_related_applications)) |
| return false; |
| if (!mojo::Equals(this->has_theme_color, other_struct.has_theme_color)) |
| return false; |
| if (!mojo::Equals(this->theme_color, other_struct.theme_color)) |
| return false; |
| if (!mojo::Equals(this->has_background_color, other_struct.has_background_color)) |
| return false; |
| if (!mojo::Equals(this->background_color, other_struct.background_color)) |
| return false; |
| if (!mojo::Equals(this->gcm_sender_id, other_struct.gcm_sender_id)) |
| return false; |
| if (!mojo::Equals(this->scope, other_struct.scope)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, Manifest::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.name < rhs.name) |
| return true; |
| if (rhs.name < lhs.name) |
| return false; |
| if (lhs.short_name < rhs.short_name) |
| return true; |
| if (rhs.short_name < lhs.short_name) |
| return false; |
| if (lhs.start_url < rhs.start_url) |
| return true; |
| if (rhs.start_url < lhs.start_url) |
| return false; |
| if (lhs.display < rhs.display) |
| return true; |
| if (rhs.display < lhs.display) |
| return false; |
| if (lhs.orientation < rhs.orientation) |
| return true; |
| if (rhs.orientation < lhs.orientation) |
| return false; |
| if (lhs.icons < rhs.icons) |
| return true; |
| if (rhs.icons < lhs.icons) |
| return false; |
| if (lhs.share_target < rhs.share_target) |
| return true; |
| if (rhs.share_target < lhs.share_target) |
| return false; |
| if (lhs.file_handler < rhs.file_handler) |
| return true; |
| if (rhs.file_handler < lhs.file_handler) |
| return false; |
| if (lhs.related_applications < rhs.related_applications) |
| return true; |
| if (rhs.related_applications < lhs.related_applications) |
| return false; |
| if (lhs.prefer_related_applications < rhs.prefer_related_applications) |
| return true; |
| if (rhs.prefer_related_applications < lhs.prefer_related_applications) |
| return false; |
| if (lhs.has_theme_color < rhs.has_theme_color) |
| return true; |
| if (rhs.has_theme_color < lhs.has_theme_color) |
| return false; |
| if (lhs.theme_color < rhs.theme_color) |
| return true; |
| if (rhs.theme_color < lhs.theme_color) |
| return false; |
| if (lhs.has_background_color < rhs.has_background_color) |
| return true; |
| if (rhs.has_background_color < lhs.has_background_color) |
| return false; |
| if (lhs.background_color < rhs.background_color) |
| return true; |
| if (rhs.background_color < lhs.background_color) |
| return false; |
| if (lhs.gcm_sender_id < rhs.gcm_sender_id) |
| return true; |
| if (rhs.gcm_sender_id < lhs.gcm_sender_id) |
| return false; |
| if (lhs.scope < rhs.scope) |
| return true; |
| if (rhs.scope < lhs.scope) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestImageResourcePtr ManifestImageResource::Clone() const { |
| return New( |
| mojo::Clone(src), |
| mojo::Clone(type), |
| mojo::Clone(sizes), |
| mojo::Clone(purpose) |
| ); |
| } |
| |
| template <typename T, ManifestImageResource::EnableIfSame<T>*> |
| bool ManifestImageResource::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->src, other_struct.src)) |
| return false; |
| if (!mojo::Equals(this->type, other_struct.type)) |
| return false; |
| if (!mojo::Equals(this->sizes, other_struct.sizes)) |
| return false; |
| if (!mojo::Equals(this->purpose, other_struct.purpose)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestImageResource::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.src < rhs.src) |
| return true; |
| if (rhs.src < lhs.src) |
| return false; |
| if (lhs.type < rhs.type) |
| return true; |
| if (rhs.type < lhs.type) |
| return false; |
| if (lhs.sizes < rhs.sizes) |
| return true; |
| if (rhs.sizes < lhs.sizes) |
| return false; |
| if (lhs.purpose < rhs.purpose) |
| return true; |
| if (rhs.purpose < lhs.purpose) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestFileFilterPtr ManifestFileFilter::Clone() const { |
| return New( |
| mojo::Clone(name), |
| mojo::Clone(accept) |
| ); |
| } |
| |
| template <typename T, ManifestFileFilter::EnableIfSame<T>*> |
| bool ManifestFileFilter::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->name, other_struct.name)) |
| return false; |
| if (!mojo::Equals(this->accept, other_struct.accept)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestFileFilter::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.name < rhs.name) |
| return true; |
| if (rhs.name < lhs.name) |
| return false; |
| if (lhs.accept < rhs.accept) |
| return true; |
| if (rhs.accept < lhs.accept) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestRelatedApplicationPtr ManifestRelatedApplication::Clone() const { |
| return New( |
| mojo::Clone(platform), |
| mojo::Clone(url), |
| mojo::Clone(id) |
| ); |
| } |
| |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>*> |
| bool ManifestRelatedApplication::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->platform, other_struct.platform)) |
| return false; |
| if (!mojo::Equals(this->url, other_struct.url)) |
| return false; |
| if (!mojo::Equals(this->id, other_struct.id)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestRelatedApplication::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.platform < rhs.platform) |
| return true; |
| if (rhs.platform < lhs.platform) |
| return false; |
| if (lhs.url < rhs.url) |
| return true; |
| if (rhs.url < lhs.url) |
| return false; |
| if (lhs.id < rhs.id) |
| return true; |
| if (rhs.id < lhs.id) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestShareTargetParamsPtr ManifestShareTargetParams::Clone() const { |
| return New( |
| mojo::Clone(title), |
| mojo::Clone(text), |
| mojo::Clone(url), |
| mojo::Clone(files) |
| ); |
| } |
| |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>*> |
| bool ManifestShareTargetParams::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->title, other_struct.title)) |
| return false; |
| if (!mojo::Equals(this->text, other_struct.text)) |
| return false; |
| if (!mojo::Equals(this->url, other_struct.url)) |
| return false; |
| if (!mojo::Equals(this->files, other_struct.files)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestShareTargetParams::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.title < rhs.title) |
| return true; |
| if (rhs.title < lhs.title) |
| return false; |
| if (lhs.text < rhs.text) |
| return true; |
| if (rhs.text < lhs.text) |
| return false; |
| if (lhs.url < rhs.url) |
| return true; |
| if (rhs.url < lhs.url) |
| return false; |
| if (lhs.files < rhs.files) |
| return true; |
| if (rhs.files < lhs.files) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestShareTargetPtr ManifestShareTarget::Clone() const { |
| return New( |
| mojo::Clone(action), |
| mojo::Clone(method), |
| mojo::Clone(enctype), |
| mojo::Clone(params) |
| ); |
| } |
| |
| template <typename T, ManifestShareTarget::EnableIfSame<T>*> |
| bool ManifestShareTarget::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->action, other_struct.action)) |
| return false; |
| if (!mojo::Equals(this->method, other_struct.method)) |
| return false; |
| if (!mojo::Equals(this->enctype, other_struct.enctype)) |
| return false; |
| if (!mojo::Equals(this->params, other_struct.params)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestShareTarget::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.action < rhs.action) |
| return true; |
| if (rhs.action < lhs.action) |
| return false; |
| if (lhs.method < rhs.method) |
| return true; |
| if (rhs.method < lhs.method) |
| return false; |
| if (lhs.enctype < rhs.enctype) |
| return true; |
| if (rhs.enctype < lhs.enctype) |
| return false; |
| if (lhs.params < rhs.params) |
| return true; |
| if (rhs.params < lhs.params) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestFileHandlerPtr ManifestFileHandler::Clone() const { |
| return New( |
| mojo::Clone(action), |
| mojo::Clone(files) |
| ); |
| } |
| |
| template <typename T, ManifestFileHandler::EnableIfSame<T>*> |
| bool ManifestFileHandler::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->action, other_struct.action)) |
| return false; |
| if (!mojo::Equals(this->files, other_struct.files)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestFileHandler::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.action < rhs.action) |
| return true; |
| if (rhs.action < lhs.action) |
| return false; |
| if (lhs.files < rhs.files) |
| return true; |
| if (rhs.files < lhs.files) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestDebugInfoPtr ManifestDebugInfo::Clone() const { |
| return New( |
| mojo::Clone(errors), |
| mojo::Clone(raw_manifest) |
| ); |
| } |
| |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>*> |
| bool ManifestDebugInfo::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->errors, other_struct.errors)) |
| return false; |
| if (!mojo::Equals(this->raw_manifest, other_struct.raw_manifest)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestDebugInfo::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.errors < rhs.errors) |
| return true; |
| if (rhs.errors < lhs.errors) |
| return false; |
| if (lhs.raw_manifest < rhs.raw_manifest) |
| return true; |
| if (rhs.raw_manifest < lhs.raw_manifest) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ManifestErrorPtr ManifestError::Clone() const { |
| return New( |
| mojo::Clone(message), |
| mojo::Clone(critical), |
| mojo::Clone(line), |
| mojo::Clone(column) |
| ); |
| } |
| |
| template <typename T, ManifestError::EnableIfSame<T>*> |
| bool ManifestError::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->message, other_struct.message)) |
| return false; |
| if (!mojo::Equals(this->critical, other_struct.critical)) |
| return false; |
| if (!mojo::Equals(this->line, other_struct.line)) |
| return false; |
| if (!mojo::Equals(this->column, other_struct.column)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ManifestError::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.message < rhs.message) |
| return true; |
| if (rhs.message < lhs.message) |
| return false; |
| if (lhs.critical < rhs.critical) |
| return true; |
| if (rhs.critical < lhs.critical) |
| return false; |
| if (lhs.line < rhs.line) |
| return true; |
| if (rhs.line < lhs.line) |
| return false; |
| if (lhs.column < rhs.column) |
| return true; |
| if (rhs.column < lhs.column) |
| return false; |
| return false; |
| } |
| |
| |
| } // namespace blink |
| } // namespace mojom |
| } // namespace blink |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::Manifest::DataView, |
| ::blink::mojom::blink::ManifestPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::Manifest::name)& name( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->name; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::short_name)& short_name( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->short_name; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::start_url)& start_url( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->start_url; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::display) display( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->display; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::orientation) orientation( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->orientation; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::icons)& icons( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->icons; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::share_target)& share_target( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->share_target; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::file_handler)& file_handler( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->file_handler; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::related_applications)& related_applications( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->related_applications; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::prefer_related_applications) prefer_related_applications( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->prefer_related_applications; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::has_theme_color) has_theme_color( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->has_theme_color; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::theme_color) theme_color( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->theme_color; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::has_background_color) has_background_color( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->has_background_color; |
| } |
| |
| static decltype(::blink::mojom::blink::Manifest::background_color) background_color( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->background_color; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::gcm_sender_id)& gcm_sender_id( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->gcm_sender_id; |
| } |
| |
| static const decltype(::blink::mojom::blink::Manifest::scope)& scope( |
| const ::blink::mojom::blink::ManifestPtr& input) { |
| return input->scope; |
| } |
| |
| static bool Read(::blink::mojom::blink::Manifest::DataView input, ::blink::mojom::blink::ManifestPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestImageResource::DataView, |
| ::blink::mojom::blink::ManifestImageResourcePtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestImageResourcePtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestImageResourcePtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestImageResource::src)& src( |
| const ::blink::mojom::blink::ManifestImageResourcePtr& input) { |
| return input->src; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestImageResource::type)& type( |
| const ::blink::mojom::blink::ManifestImageResourcePtr& input) { |
| return input->type; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestImageResource::sizes)& sizes( |
| const ::blink::mojom::blink::ManifestImageResourcePtr& input) { |
| return input->sizes; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestImageResource::purpose)& purpose( |
| const ::blink::mojom::blink::ManifestImageResourcePtr& input) { |
| return input->purpose; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestImageResource::DataView input, ::blink::mojom::blink::ManifestImageResourcePtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestFileFilter::DataView, |
| ::blink::mojom::blink::ManifestFileFilterPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestFileFilterPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestFileFilterPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestFileFilter::name)& name( |
| const ::blink::mojom::blink::ManifestFileFilterPtr& input) { |
| return input->name; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestFileFilter::accept)& accept( |
| const ::blink::mojom::blink::ManifestFileFilterPtr& input) { |
| return input->accept; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestFileFilter::DataView input, ::blink::mojom::blink::ManifestFileFilterPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestRelatedApplication::DataView, |
| ::blink::mojom::blink::ManifestRelatedApplicationPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestRelatedApplicationPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestRelatedApplication::platform)& platform( |
| const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) { |
| return input->platform; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestRelatedApplication::url)& url( |
| const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) { |
| return input->url; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestRelatedApplication::id)& id( |
| const ::blink::mojom::blink::ManifestRelatedApplicationPtr& input) { |
| return input->id; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestRelatedApplication::DataView input, ::blink::mojom::blink::ManifestRelatedApplicationPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestShareTargetParams::DataView, |
| ::blink::mojom::blink::ManifestShareTargetParamsPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestShareTargetParamsPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTargetParams::title)& title( |
| const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { |
| return input->title; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTargetParams::text)& text( |
| const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { |
| return input->text; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTargetParams::url)& url( |
| const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { |
| return input->url; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTargetParams::files)& files( |
| const ::blink::mojom::blink::ManifestShareTargetParamsPtr& input) { |
| return input->files; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestShareTargetParams::DataView input, ::blink::mojom::blink::ManifestShareTargetParamsPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestShareTarget::DataView, |
| ::blink::mojom::blink::ManifestShareTargetPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestShareTargetPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestShareTargetPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTarget::action)& action( |
| const ::blink::mojom::blink::ManifestShareTargetPtr& input) { |
| return input->action; |
| } |
| |
| static decltype(::blink::mojom::blink::ManifestShareTarget::method) method( |
| const ::blink::mojom::blink::ManifestShareTargetPtr& input) { |
| return input->method; |
| } |
| |
| static decltype(::blink::mojom::blink::ManifestShareTarget::enctype) enctype( |
| const ::blink::mojom::blink::ManifestShareTargetPtr& input) { |
| return input->enctype; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestShareTarget::params)& params( |
| const ::blink::mojom::blink::ManifestShareTargetPtr& input) { |
| return input->params; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestShareTarget::DataView input, ::blink::mojom::blink::ManifestShareTargetPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestFileHandler::DataView, |
| ::blink::mojom::blink::ManifestFileHandlerPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestFileHandlerPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestFileHandlerPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestFileHandler::action)& action( |
| const ::blink::mojom::blink::ManifestFileHandlerPtr& input) { |
| return input->action; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestFileHandler::files)& files( |
| const ::blink::mojom::blink::ManifestFileHandlerPtr& input) { |
| return input->files; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestFileHandler::DataView input, ::blink::mojom::blink::ManifestFileHandlerPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestDebugInfo::DataView, |
| ::blink::mojom::blink::ManifestDebugInfoPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestDebugInfoPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestDebugInfoPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestDebugInfo::errors)& errors( |
| const ::blink::mojom::blink::ManifestDebugInfoPtr& input) { |
| return input->errors; |
| } |
| |
| static const decltype(::blink::mojom::blink::ManifestDebugInfo::raw_manifest)& raw_manifest( |
| const ::blink::mojom::blink::ManifestDebugInfoPtr& input) { |
| return input->raw_manifest; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestDebugInfo::DataView input, ::blink::mojom::blink::ManifestDebugInfoPtr* output); |
| }; |
| |
| |
| template <> |
| struct PLATFORM_EXPORT StructTraits<::blink::mojom::blink::ManifestError::DataView, |
| ::blink::mojom::blink::ManifestErrorPtr> { |
| static bool IsNull(const ::blink::mojom::blink::ManifestErrorPtr& input) { return !input; } |
| static void SetToNull(::blink::mojom::blink::ManifestErrorPtr* output) { output->reset(); } |
| |
| static const decltype(::blink::mojom::blink::ManifestError::message)& message( |
| const ::blink::mojom::blink::ManifestErrorPtr& input) { |
| return input->message; |
| } |
| |
| static decltype(::blink::mojom::blink::ManifestError::critical) critical( |
| const ::blink::mojom::blink::ManifestErrorPtr& input) { |
| return input->critical; |
| } |
| |
| static decltype(::blink::mojom::blink::ManifestError::line) line( |
| const ::blink::mojom::blink::ManifestErrorPtr& input) { |
| return input->line; |
| } |
| |
| static decltype(::blink::mojom::blink::ManifestError::column) column( |
| const ::blink::mojom::blink::ManifestErrorPtr& input) { |
| return input->column; |
| } |
| |
| static bool Read(::blink::mojom::blink::ManifestError::DataView input, ::blink::mojom::blink::ManifestErrorPtr* output); |
| }; |
| |
| } // namespace mojo |
| |
| #endif // THIRD_PARTY_BLINK_PUBLIC_MOJOM_MANIFEST_MANIFEST_MOJOM_BLINK_H_ |
| |
| /* Metadata comment |
| eyJtZXRhIjogW3siZW5kIjogNzA4MiwgImJlZ2luIjogNzA2OSwgImVkZ2UiOiAiJS9reXRoZS9l |
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw |
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui |
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IifX0sIHsi |
| ZW5kIjogMTA2NzcsICJiZWdpbiI6IDEwNjcwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh |
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv |
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs |
| ICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RFcnJvci5tZXNzYWdlIn19LCB7ImVu |
| ZCI6IDEwNzUyLCAiYmVnaW4iOiAxMDc0NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl |
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p |
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi |
| c2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IuY3JpdGljYWwifX0sIHsiZW5k |
| IjogMTA4MjMsICJiZWdpbiI6IDEwODE5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz |
| IiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1 |
| bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJz |
| aWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RFcnJvci5saW5lIn19LCB7ImVuZCI6IDEw |
| ODk4LCAiYmVnaW4iOiAxMDg5MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0 |
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v |
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0 |
| dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0RXJyb3IuY29sdW1uIn19LCB7ImVuZCI6IDExODMz |
| LCAiYmVnaW4iOiAxMTgyNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl |
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl |
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl |
| IjogImJsaW5rLm1vam9tLk1hbmlmZXN0In19LCB7ImVuZCI6IDE1ODE1LCAiYmVnaW4iOiAxNTgx |
| MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp |
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv |
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9t |
| Lk1hbmlmZXN0Lm5hbWUifX0sIHsiZW5kIjogMTU4OTYsICJiZWdpbiI6IDE1ODg2LCAiZWRnZSI6 |
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h |
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs |
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3Qu |
| c2hvcnRfbmFtZSJ9fSwgeyJlbmQiOiAxNTk3NywgImJlZ2luIjogMTU5NjgsICJlZGdlIjogIiUv |
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6 |
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh |
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5zdGFy |
| dF91cmwifX0sIHsiZW5kIjogMTYwNjQsICJiZWdpbiI6IDE2MDU3LCAiZWRnZSI6ICIlL2t5dGhl |
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv |
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn |
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuZGlzcGxheSJ9 |
| fSwgeyJlbmQiOiAxNjE3MywgImJlZ2luIjogMTYxNjIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n |
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog |
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v |
| am9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5vcmllbnRhdGlvbiJ9fSwg |
| eyJlbmQiOiAxNjI3MCwgImJlZ2luIjogMTYyNjUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l |
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo |
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t |
| IiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5pY29ucyJ9fSwgeyJlbmQiOiAx |
| NjM2NiwgImJlZ2luIjogMTYzNTQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi |
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv |
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h |
| dHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5zaGFyZV90YXJnZXQifX0sIHsiZW5kIjogMTY0 |
| NjIsICJiZWdpbiI6IDE2NDUwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5 |
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n |
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1 |
| cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuZmlsZV9oYW5kbGVyIn19LCB7ImVuZCI6IDE2NTk0 |
| LCAiYmVnaW4iOiAxNjU3NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl |
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl |
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl |
| IjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnJlbGF0ZWRfYXBwbGljYXRpb25zIn19LCB7ImVuZCI6 |
| IDE2NzAyLCAiYmVnaW4iOiAxNjY3NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs |
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u |
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln |
| bmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnByZWZlcl9yZWxhdGVkX2FwcGxpY2F0aW9u |
| cyJ9fSwgeyJlbmQiOiAxNjc4NiwgImJlZ2luIjogMTY3NzEsICJlZGdlIjogIiUva3l0aGUvZWRn |
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz |
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog |
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5oYXNfdGhlbWVfY29s |
| b3IifX0sIHsiZW5kIjogMTY4NjYsICJiZWdpbiI6IDE2ODU1LCAiZWRnZSI6ICIlL2t5dGhlL2Vk |
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1 |
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6 |
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QudGhlbWVfY29sb3Ii |
| fX0sIHsiZW5kIjogMTY5NjAsICJiZWdpbiI6IDE2OTQwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv |
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6 |
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt |
| b2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuaGFzX2JhY2tncm91bmRf |
| Y29sb3IifX0sIHsiZW5kIjogMTcwNTAsICJiZWdpbiI6IDE3MDM0LCAiZWRnZSI6ICIlL2t5dGhl |
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv |
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn |
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3QuYmFja2dyb3Vu |
| ZF9jb2xvciJ9fSwgeyJlbmQiOiAxNzEzNywgImJlZ2luIjogMTcxMjQsICJlZGdlIjogIiUva3l0 |
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi |
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1 |
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdC5nY21fc2Vu |
| ZGVyX2lkIn19LCB7ImVuZCI6IDE3MjEwLCAiYmVnaW4iOiAxNzIwNSwgImVkZ2UiOiAiJS9reXRo |
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj |
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh |
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0LnNjb3BlIn19 |
| LCB7ImVuZCI6IDE4MTg3LCAiYmVnaW4iOiAxODE2NiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl |
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi |
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q |
| b20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNvdXJjZSJ9fSwg |
| eyJlbmQiOiAxODQ5MiwgImJlZ2luIjogMTg0ODUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l |
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo |
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t |
| IiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdlUmVzb3VyY2UuUHVycG9z |
| ZSJ9fSwgeyJlbmQiOiAyMjEyNSwgImJlZ2luIjogMjIxMjIsICJlZGdlIjogIiUva3l0aGUvZWRn |
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz |
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog |
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdlUmVzb3VyY2Uu |
| c3JjIn19LCB7ImVuZCI6IDIyMjA3LCAiYmVnaW4iOiAyMjIwMywgImVkZ2UiOiAiJS9reXRoZS9l |
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw |
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui |
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNvdXJj |
| ZS50eXBlIn19LCB7ImVuZCI6IDIyMzA5LCAiYmVnaW4iOiAyMjMwNCwgImVkZ2UiOiAiJS9reXRo |
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj |
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh |
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0SW1hZ2VSZXNv |
| dXJjZS5zaXplcyJ9fSwgeyJlbmQiOiAyMjQyMCwgImJlZ2luIjogMjI0MTMsICJlZGdlIjogIiUv |
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6 |
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh |
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdEltYWdl |
| UmVzb3VyY2UucHVycG9zZSJ9fSwgeyJlbmQiOiAyMzQxNCwgImJlZ2luIjogMjMzOTYsICJlZGdl |
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2 |
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj |
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVz |
| dEZpbGVGaWx0ZXIifX0sIHsiZW5kIjogMjcwNjcsICJiZWdpbiI6IDI3MDYzLCAiZWRnZSI6ICIl |
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi |
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs |
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RGaWxl |
| RmlsdGVyLm5hbWUifX0sIHsiZW5kIjogMjcxNjMsICJiZWdpbiI6IDI3MTU3LCAiZWRnZSI6ICIl |
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi |
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs |
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RGaWxl |
| RmlsdGVyLmFjY2VwdCJ9fSwgeyJlbmQiOiAyODE1MiwgImJlZ2luIjogMjgxMjYsICJlZGdlIjog |
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFt |
| ZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwg |
| Imxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFJl |
| bGF0ZWRBcHBsaWNhdGlvbiJ9fSwgeyJlbmQiOiAzMjA0MCwgImJlZ2luIjogMzIwMzIsICJlZGdl |
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2 |
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj |
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVz |
| dFJlbGF0ZWRBcHBsaWNhdGlvbi5wbGF0Zm9ybSJ9fSwgeyJlbmQiOiAzMjE0MywgImJlZ2luIjog |
| MzIxNDAsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf |
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v |
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5t |
| b2pvbS5NYW5pZmVzdFJlbGF0ZWRBcHBsaWNhdGlvbi51cmwifX0sIHsiZW5kIjogMzIyMjYsICJi |
| ZWdpbiI6IDMyMjI0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi |
| YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy |
| Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi |
| YmxpbmsubW9qb20uTWFuaWZlc3RSZWxhdGVkQXBwbGljYXRpb24uaWQifX0sIHsiZW5kIjogMzMy |
| NDUsICJiZWdpbiI6IDMzMjIwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5 |
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n |
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1 |
| cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RTaGFyZVRhcmdldFBhcmFtcyJ9fSwgeyJlbmQiOiAz |
| NzE0OCwgImJlZ2luIjogMzcxNDMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi |
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv |
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h |
| dHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0UGFyYW1zLnRpdGxlIn19LCB7 |
| ImVuZCI6IDM3MjM0LCAiYmVnaW4iOiAzNzIzMCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy |
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy |
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i |
| LCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0U2hhcmVUYXJnZXRQYXJhbXMudGV4 |
| dCJ9fSwgeyJlbmQiOiAzNzMxOCwgImJlZ2luIjogMzczMTUsICJlZGdlIjogIiUva3l0aGUvZWRn |
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz |
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog |
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0UGFy |
| YW1zLnVybCJ9fSwgeyJlbmQiOiAzNzQ0NSwgImJlZ2luIjogMzc0NDAsICJlZGdlIjogIiUva3l0 |
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi |
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1 |
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5tb2pvbS5NYW5pZmVzdFNoYXJlVGFy |
| Z2V0UGFyYW1zLmZpbGVzIn19LCB7ImVuZCI6IDM4NTAzLCAiYmVnaW4iOiAzODQ4NCwgImVkZ2Ui |
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu |
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi |
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlmZXN0 |
| U2hhcmVUYXJnZXQifX0sIHsiZW5kIjogMzg3OTgsICJiZWdpbiI6IDM4NzkyLCAiZWRnZSI6ICIl |
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi |
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs |
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RTaGFy |
| ZVRhcmdldC5NZXRob2QifX0sIHsiZW5kIjogMzg5MDQsICJiZWdpbiI6IDM4ODk3LCAiZWRnZSI6 |
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h |
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs |
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9qb20uTWFuaWZlc3RT |
| aGFyZVRhcmdldC5FbmN0eXBlIn19LCB7ImVuZCI6IDQyNDg0LCAiYmVnaW4iOiA0MjQ3OCwgImVk |
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg |
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z |
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1hbmlm |
| ZXN0U2hhcmVUYXJnZXQuYWN0aW9uIn19LCB7ImVuZCI6IDQyNTc3LCAiYmVnaW4iOiA0MjU3MSwg |
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz |
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1 |
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9tLk1h |
| bmlmZXN0U2hhcmVUYXJnZXQubWV0aG9kIn19LCB7ImVuZCI6IDQyNjc5LCAiYmVnaW4iOiA0MjY3 |
| MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp |
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv |
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1vam9t |
| Lk1hbmlmZXN0U2hhcmVUYXJnZXQuZW5jdHlwZSJ9fSwgeyJlbmQiOiA0Mjc4MSwgImJlZ2luIjog |
| NDI3NTMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf |
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v |
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGluay5t |
| b2pvbS5NYW5pZmVzdFNoYXJlVGFyZ2V0LnBhcmFtcyJ9fSwgeyJlbmQiOiA0MzgxNiwgImJlZ2lu |
| IjogNDM3OTcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo |
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j |
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJibGlu |
| ay5tb2pvbS5NYW5pZmVzdEZpbGVIYW5kbGVyIn19LCB7ImVuZCI6IDQ3NTA1LCAiYmVnaW4iOiA0 |
| NzQ5OSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k |
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j |
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1v |
| am9tLk1hbmlmZXN0RmlsZUhhbmRsZXIuYWN0aW9uIn19LCB7ImVuZCI6IDQ3NjEwLCAiYmVnaW4i |
| OiA0NzYwNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hv |
| cl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv |
| bS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5r |
| Lm1vam9tLk1hbmlmZXN0RmlsZUhhbmRsZXIuZmlsZXMifX0sIHsiZW5kIjogNDg2MzQsICJiZWdp |
| biI6IDQ4NjE3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5j |
| aG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu |
| Y29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxp |
| bmsubW9qb20uTWFuaWZlc3REZWJ1Z0luZm8ifX0sIHsiZW5kIjogNTIyOTEsICJiZWdpbiI6IDUy |
| Mjg1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl |
| ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No |
| cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAiYmxpbmsubW9q |
| b20uTWFuaWZlc3REZWJ1Z0luZm8uZXJyb3JzIn19LCB7ImVuZCI6IDUyMzg1LCAiYmVnaW4iOiA1 |
| MjM3MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k |
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j |
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogImJsaW5rLm1v |
| am9tLk1hbmlmZXN0RGVidWdJbmZvLnJhd19tYW5pZmVzdCJ9fV0sICJ0eXBlIjogImt5dGhlMCJ9 |
| */ |