| // 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 MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_TEST_STRUCTS_MOJOM_BLINK_H_ |
| #define MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_TEST_STRUCTS_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 "mojo/public/interfaces/bindings/tests/test_structs.mojom-shared.h" |
| #include "mojo/public/interfaces/bindings/tests/test_structs.mojom-blink-forward.h" |
| #include "mojo/public/interfaces/bindings/tests/rect.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" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace WTF { |
| struct mojo_test_internal_ScopedConstants_EType_DataHashFn { |
| static unsigned GetHash(const ::mojo::test::ScopedConstants_EType& value) { |
| using utype = std::underlying_type<::mojo::test::ScopedConstants_EType>::type; |
| return DefaultHash<utype>::Hash().GetHash(static_cast<utype>(value)); |
| } |
| static bool Equal(const ::mojo::test::ScopedConstants_EType& left, const ::mojo::test::ScopedConstants_EType& right) { |
| return left == right; |
| } |
| static const bool safe_to_compare_to_empty_or_deleted = true; |
| }; |
| |
| template <> |
| struct HashTraits<::mojo::test::ScopedConstants_EType> |
| : public GenericHashTraits<::mojo::test::ScopedConstants_EType> { |
| 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 ::mojo::test::ScopedConstants_EType& value) { |
| return value == static_cast<::mojo::test::ScopedConstants_EType>(-1000000); |
| } |
| static void ConstructDeletedValue(::mojo::test::ScopedConstants_EType& slot, bool) { |
| slot = static_cast<::mojo::test::ScopedConstants_EType>(-1000001); |
| } |
| static bool IsDeletedValue(const ::mojo::test::ScopedConstants_EType& value) { |
| return value == static_cast<::mojo::test::ScopedConstants_EType>(-1000001); |
| } |
| }; |
| } // namespace WTF |
| |
| |
| namespace mojo { |
| namespace test { |
| namespace blink { |
| |
| class SomeInterfaceProxy; |
| |
| template <typename ImplRefTraits> |
| class SomeInterfaceStub; |
| |
| class SomeInterfaceRequestValidator; |
| class SomeInterfaceResponseValidator; |
| |
| |
| // @generated_from: mojo.test.SomeInterface |
| class SomeInterface |
| : public SomeInterfaceInterfaceBase { |
| public: |
| static const char Name_[]; |
| static constexpr uint32_t Version_ = 0; |
| static constexpr bool PassesAssociatedKinds_ = false; |
| static constexpr bool HasSyncMethods_ = false; |
| |
| using Base_ = SomeInterfaceInterfaceBase; |
| using Proxy_ = SomeInterfaceProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = SomeInterfaceStub<ImplRefTraits>; |
| |
| using RequestValidator_ = SomeInterfaceRequestValidator; |
| using ResponseValidator_ = SomeInterfaceResponseValidator; |
| enum MethodMinVersions : uint32_t { |
| kSomeMethodMinVersion = 0, |
| }; |
| virtual ~SomeInterface() {} |
| |
| |
| using SomeMethodCallback = base::OnceCallback<void(RectPairPtr)>; |
| |
| // @generated_from: mojo.test.SomeInterface.SomeMethod |
| virtual void SomeMethod(RectPairPtr pair, SomeMethodCallback callback) = 0; |
| }; |
| |
| class SomeInterfaceProxy |
| : public SomeInterface { |
| public: |
| using InterfaceType = SomeInterface; |
| |
| explicit SomeInterfaceProxy(mojo::MessageReceiverWithResponder* receiver); |
| void SomeMethod(RectPairPtr pair, SomeMethodCallback callback) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| class SomeInterfaceStubDispatch { |
| public: |
| static bool Accept(SomeInterface* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| SomeInterface* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<SomeInterface>> |
| class SomeInterfaceStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| SomeInterfaceStub() {} |
| ~SomeInterfaceStub() override {} |
| |
| void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } |
| ImplPointerType& sink() { return sink_; } |
| |
| bool Accept(mojo::Message* message) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return SomeInterfaceStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return SomeInterfaceStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class SomeInterfaceRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class SomeInterfaceResponseValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.EmptyStruct |
| class EmptyStruct { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<EmptyStruct, T>::value>; |
| using DataView = EmptyStructDataView; |
| using Data_ = internal::EmptyStruct_Data; |
| |
| template <typename... Args> |
| static EmptyStructPtr New(Args&&... args) { |
| return EmptyStructPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static EmptyStructPtr From(const U& u) { |
| return mojo::TypeConverter<EmptyStructPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, EmptyStruct>::Convert(*this); |
| } |
| |
| |
| EmptyStruct(); |
| |
| ~EmptyStruct(); |
| |
| // 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 = EmptyStructPtr> |
| EmptyStructPtr 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, EmptyStruct::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< |
| EmptyStruct::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| EmptyStruct::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::EmptyStruct_UnserializedMessageContext< |
| UserType, EmptyStruct::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<EmptyStruct::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 EmptyStruct::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::EmptyStruct_UnserializedMessageContext< |
| UserType, EmptyStruct::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<EmptyStruct::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| 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, EmptyStruct::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, EmptyStruct::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, EmptyStruct::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, EmptyStruct::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV0 |
| class MultiVersionStructV0 { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStructV0, T>::value>; |
| using DataView = MultiVersionStructV0DataView; |
| using Data_ = internal::MultiVersionStructV0_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructV0Ptr New(Args&&... args) { |
| return MultiVersionStructV0Ptr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructV0Ptr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructV0Ptr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStructV0>::Convert(*this); |
| } |
| |
| |
| MultiVersionStructV0(); |
| |
| explicit MultiVersionStructV0( |
| int32_t f_int32); |
| |
| ~MultiVersionStructV0(); |
| |
| // 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 = MultiVersionStructV0Ptr> |
| MultiVersionStructV0Ptr 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, MultiVersionStructV0::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< |
| MultiVersionStructV0::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStructV0::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::MultiVersionStructV0_UnserializedMessageContext< |
| UserType, MultiVersionStructV0::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<MultiVersionStructV0::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 MultiVersionStructV0::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::MultiVersionStructV0_UnserializedMessageContext< |
| UserType, MultiVersionStructV0::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStructV0::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV0.f_int32 |
| int32_t f_int32; |
| |
| 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, MultiVersionStructV0::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStructV0::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStructV0::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStructV0::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ReorderedStruct |
| class ReorderedStruct { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ReorderedStruct, T>::value>; |
| using DataView = ReorderedStructDataView; |
| using Data_ = internal::ReorderedStruct_Data; |
| |
| template <typename... Args> |
| static ReorderedStructPtr New(Args&&... args) { |
| return ReorderedStructPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ReorderedStructPtr From(const U& u) { |
| return mojo::TypeConverter<ReorderedStructPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ReorderedStruct>::Convert(*this); |
| } |
| |
| |
| ReorderedStruct(); |
| |
| explicit ReorderedStruct( |
| int32_t c); |
| |
| ReorderedStruct( |
| int32_t a, |
| int32_t c); |
| |
| ReorderedStruct( |
| int32_t a, |
| int32_t b, |
| int32_t c); |
| |
| ~ReorderedStruct(); |
| |
| // 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 = ReorderedStructPtr> |
| ReorderedStructPtr 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, ReorderedStruct::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< |
| ReorderedStruct::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ReorderedStruct::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::ReorderedStruct_UnserializedMessageContext< |
| UserType, ReorderedStruct::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<ReorderedStruct::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 ReorderedStruct::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::ReorderedStruct_UnserializedMessageContext< |
| UserType, ReorderedStruct::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ReorderedStruct::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ReorderedStruct.a |
| int32_t a; |
| |
| // @generated_from: mojo.test.ReorderedStruct.b |
| int32_t b; |
| |
| // @generated_from: mojo.test.ReorderedStruct.c |
| int32_t c; |
| |
| 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, ReorderedStruct::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ReorderedStruct::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ReorderedStruct::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ReorderedStruct::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ContainsOther |
| class ContainsOther { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ContainsOther, T>::value>; |
| using DataView = ContainsOtherDataView; |
| using Data_ = internal::ContainsOther_Data; |
| |
| template <typename... Args> |
| static ContainsOtherPtr New(Args&&... args) { |
| return ContainsOtherPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ContainsOtherPtr From(const U& u) { |
| return mojo::TypeConverter<ContainsOtherPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ContainsOther>::Convert(*this); |
| } |
| |
| |
| ContainsOther(); |
| |
| explicit ContainsOther( |
| int32_t other); |
| |
| ~ContainsOther(); |
| |
| // 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 = ContainsOtherPtr> |
| ContainsOtherPtr 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, ContainsOther::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< |
| ContainsOther::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ContainsOther::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::ContainsOther_UnserializedMessageContext< |
| UserType, ContainsOther::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<ContainsOther::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 ContainsOther::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::ContainsOther_UnserializedMessageContext< |
| UserType, ContainsOther::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ContainsOther::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ContainsOther.other |
| int32_t other; |
| |
| 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, ContainsOther::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ContainsOther::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ContainsOther::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ContainsOther::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.SingleBoolStruct |
| class SingleBoolStruct { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<SingleBoolStruct, T>::value>; |
| using DataView = SingleBoolStructDataView; |
| using Data_ = internal::SingleBoolStruct_Data; |
| |
| template <typename... Args> |
| static SingleBoolStructPtr New(Args&&... args) { |
| return SingleBoolStructPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static SingleBoolStructPtr From(const U& u) { |
| return mojo::TypeConverter<SingleBoolStructPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, SingleBoolStruct>::Convert(*this); |
| } |
| |
| |
| SingleBoolStruct(); |
| |
| explicit SingleBoolStruct( |
| bool value); |
| |
| ~SingleBoolStruct(); |
| |
| // 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 = SingleBoolStructPtr> |
| SingleBoolStructPtr 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, SingleBoolStruct::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< |
| SingleBoolStruct::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| SingleBoolStruct::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::SingleBoolStruct_UnserializedMessageContext< |
| UserType, SingleBoolStruct::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<SingleBoolStruct::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 SingleBoolStruct::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::SingleBoolStruct_UnserializedMessageContext< |
| UserType, SingleBoolStruct::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<SingleBoolStruct::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.SingleBoolStruct.value |
| bool value; |
| |
| 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, SingleBoolStruct::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, SingleBoolStruct::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, SingleBoolStruct::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, SingleBoolStruct::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.NamedRegion |
| class NamedRegion { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<NamedRegion, T>::value>; |
| using DataView = NamedRegionDataView; |
| using Data_ = internal::NamedRegion_Data; |
| |
| template <typename... Args> |
| static NamedRegionPtr New(Args&&... args) { |
| return NamedRegionPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static NamedRegionPtr From(const U& u) { |
| return mojo::TypeConverter<NamedRegionPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, NamedRegion>::Convert(*this); |
| } |
| |
| |
| NamedRegion(); |
| |
| NamedRegion( |
| const WTF::String& name, |
| base::Optional<WTF::Vector<::mojo::test::blink::RectPtr>> rects); |
| |
| ~NamedRegion(); |
| |
| // 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 = NamedRegionPtr> |
| NamedRegionPtr 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, NamedRegion::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| NamedRegion::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| NamedRegion::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::NamedRegion_UnserializedMessageContext< |
| UserType, NamedRegion::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<NamedRegion::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 NamedRegion::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::NamedRegion_UnserializedMessageContext< |
| UserType, NamedRegion::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<NamedRegion::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.NamedRegion.name |
| WTF::String name; |
| |
| // @generated_from: mojo.test.NamedRegion.rects |
| base::Optional<WTF::Vector<::mojo::test::blink::RectPtr>> rects; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(NamedRegion); |
| }; |
| |
| // 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, NamedRegion::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, NamedRegion::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, NamedRegion::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, NamedRegion::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.RectPair |
| class RectPair { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<RectPair, T>::value>; |
| using DataView = RectPairDataView; |
| using Data_ = internal::RectPair_Data; |
| |
| template <typename... Args> |
| static RectPairPtr New(Args&&... args) { |
| return RectPairPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static RectPairPtr From(const U& u) { |
| return mojo::TypeConverter<RectPairPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, RectPair>::Convert(*this); |
| } |
| |
| |
| RectPair(); |
| |
| RectPair( |
| ::mojo::test::blink::RectPtr first, |
| ::mojo::test::blink::RectPtr second); |
| |
| ~RectPair(); |
| |
| // 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 = RectPairPtr> |
| RectPairPtr 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, RectPair::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| RectPair::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| RectPair::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::RectPair_UnserializedMessageContext< |
| UserType, RectPair::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<RectPair::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 RectPair::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::RectPair_UnserializedMessageContext< |
| UserType, RectPair::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<RectPair::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.RectPair.first |
| ::mojo::test::blink::RectPtr first; |
| |
| // @generated_from: mojo.test.RectPair.second |
| ::mojo::test::blink::RectPtr second; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(RectPair); |
| }; |
| |
| // 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, RectPair::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, RectPair::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, RectPair::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, RectPair::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues |
| class NoDefaultFieldValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<NoDefaultFieldValues, T>::value>; |
| using DataView = NoDefaultFieldValuesDataView; |
| using Data_ = internal::NoDefaultFieldValues_Data; |
| |
| template <typename... Args> |
| static NoDefaultFieldValuesPtr New(Args&&... args) { |
| return NoDefaultFieldValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static NoDefaultFieldValuesPtr From(const U& u) { |
| return mojo::TypeConverter<NoDefaultFieldValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, NoDefaultFieldValues>::Convert(*this); |
| } |
| |
| |
| NoDefaultFieldValues(); |
| |
| NoDefaultFieldValues( |
| bool f0, |
| int8_t f1, |
| uint8_t f2, |
| int16_t f3, |
| uint16_t f4, |
| int32_t f5, |
| uint32_t f6, |
| int64_t f7, |
| uint64_t f8, |
| float f9, |
| double f10, |
| const WTF::String& f11, |
| const WTF::String& f12, |
| mojo::ScopedMessagePipeHandle f13, |
| mojo::ScopedDataPipeConsumerHandle f14, |
| mojo::ScopedDataPipeProducerHandle f15, |
| mojo::ScopedMessagePipeHandle f16, |
| mojo::ScopedDataPipeConsumerHandle f17, |
| mojo::ScopedDataPipeProducerHandle f18, |
| mojo::ScopedHandle f19, |
| mojo::ScopedHandle f20, |
| mojo::ScopedSharedBufferHandle f21, |
| mojo::ScopedSharedBufferHandle f22, |
| const WTF::Vector<WTF::String>& f23, |
| const WTF::Vector<WTF::String>& f24, |
| const base::Optional<WTF::Vector<WTF::String>>& f25, |
| const base::Optional<WTF::Vector<WTF::String>>& f26, |
| EmptyStructPtr f27, |
| EmptyStructPtr f28); |
| |
| ~NoDefaultFieldValues(); |
| |
| // 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 = NoDefaultFieldValuesPtr> |
| NoDefaultFieldValuesPtr 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, NoDefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| NoDefaultFieldValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| NoDefaultFieldValues::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::NoDefaultFieldValues_UnserializedMessageContext< |
| UserType, NoDefaultFieldValues::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<NoDefaultFieldValues::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 NoDefaultFieldValues::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::NoDefaultFieldValues_UnserializedMessageContext< |
| UserType, NoDefaultFieldValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<NoDefaultFieldValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f0 |
| bool f0; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f1 |
| int8_t f1; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f2 |
| uint8_t f2; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f3 |
| int16_t f3; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f4 |
| uint16_t f4; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f5 |
| int32_t f5; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f6 |
| uint32_t f6; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f7 |
| int64_t f7; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f8 |
| uint64_t f8; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f9 |
| float f9; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f10 |
| double f10; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f11 |
| WTF::String f11; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f12 |
| WTF::String f12; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f13 |
| mojo::ScopedMessagePipeHandle f13; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f14 |
| mojo::ScopedDataPipeConsumerHandle f14; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f15 |
| mojo::ScopedDataPipeProducerHandle f15; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f16 |
| mojo::ScopedMessagePipeHandle f16; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f17 |
| mojo::ScopedDataPipeConsumerHandle f17; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f18 |
| mojo::ScopedDataPipeProducerHandle f18; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f19 |
| mojo::ScopedHandle f19; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f20 |
| mojo::ScopedHandle f20; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f21 |
| mojo::ScopedSharedBufferHandle f21; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f22 |
| mojo::ScopedSharedBufferHandle f22; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f23 |
| WTF::Vector<WTF::String> f23; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f24 |
| WTF::Vector<WTF::String> f24; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f25 |
| base::Optional<WTF::Vector<WTF::String>> f25; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f26 |
| base::Optional<WTF::Vector<WTF::String>> f26; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f27 |
| EmptyStructPtr f27; |
| |
| // @generated_from: mojo.test.NoDefaultFieldValues.f28 |
| EmptyStructPtr f28; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(NoDefaultFieldValues); |
| }; |
| |
| // 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, NoDefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, NoDefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, NoDefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, NoDefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.DefaultFieldValues |
| class DefaultFieldValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<DefaultFieldValues, T>::value>; |
| using DataView = DefaultFieldValuesDataView; |
| using Data_ = internal::DefaultFieldValues_Data; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.kFoo |
| static const char kFoo[]; |
| |
| template <typename... Args> |
| static DefaultFieldValuesPtr New(Args&&... args) { |
| return DefaultFieldValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static DefaultFieldValuesPtr From(const U& u) { |
| return mojo::TypeConverter<DefaultFieldValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, DefaultFieldValues>::Convert(*this); |
| } |
| |
| |
| DefaultFieldValues(); |
| |
| DefaultFieldValues( |
| bool f0, |
| int8_t f1, |
| uint8_t f2, |
| int16_t f3, |
| uint16_t f4, |
| int32_t f5, |
| uint32_t f6, |
| int64_t f7, |
| uint64_t f8, |
| float f9, |
| float f10, |
| double f11, |
| double f12, |
| const WTF::String& f13, |
| const WTF::String& f14, |
| ::mojo::test::blink::RectPtr f15, |
| ::mojo::test::blink::RectPtr f16); |
| |
| ~DefaultFieldValues(); |
| |
| // 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 = DefaultFieldValuesPtr> |
| DefaultFieldValuesPtr 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, DefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| DefaultFieldValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| DefaultFieldValues::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::DefaultFieldValues_UnserializedMessageContext< |
| UserType, DefaultFieldValues::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<DefaultFieldValues::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 DefaultFieldValues::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::DefaultFieldValues_UnserializedMessageContext< |
| UserType, DefaultFieldValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<DefaultFieldValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f0 |
| bool f0; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f1 |
| int8_t f1; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f2 |
| uint8_t f2; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f3 |
| int16_t f3; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f4 |
| uint16_t f4; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f5 |
| int32_t f5; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f6 |
| uint32_t f6; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f7 |
| int64_t f7; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f8 |
| uint64_t f8; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f9 |
| float f9; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f10 |
| float f10; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f11 |
| double f11; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f12 |
| double f12; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f13 |
| WTF::String f13; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f14 |
| WTF::String f14; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f15 |
| ::mojo::test::blink::RectPtr f15; |
| |
| // @generated_from: mojo.test.DefaultFieldValues.f16 |
| ::mojo::test::blink::RectPtr f16; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(DefaultFieldValues); |
| }; |
| |
| // 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, DefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, DefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, DefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, DefaultFieldValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ScopedConstants |
| class ScopedConstants { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ScopedConstants, T>::value>; |
| using DataView = ScopedConstantsDataView; |
| using Data_ = internal::ScopedConstants_Data; |
| // @generated_from: mojo.test.ScopedConstants.EType |
| using EType = ScopedConstants_EType; |
| |
| // @generated_from: mojo.test.ScopedConstants.TEN |
| static constexpr int32_t TEN = 10; |
| |
| // @generated_from: mojo.test.ScopedConstants.ALSO_TEN |
| static constexpr int32_t ALSO_TEN = ScopedConstants::TEN; |
| |
| template <typename... Args> |
| static ScopedConstantsPtr New(Args&&... args) { |
| return ScopedConstantsPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ScopedConstantsPtr From(const U& u) { |
| return mojo::TypeConverter<ScopedConstantsPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ScopedConstants>::Convert(*this); |
| } |
| |
| |
| ScopedConstants(); |
| |
| ScopedConstants( |
| ScopedConstants::EType f0, |
| ScopedConstants::EType f1, |
| ScopedConstants::EType f2, |
| ScopedConstants::EType f3, |
| ScopedConstants::EType f4, |
| int32_t f5, |
| int32_t f6); |
| |
| ~ScopedConstants(); |
| |
| // 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 = ScopedConstantsPtr> |
| ScopedConstantsPtr 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, ScopedConstants::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< |
| ScopedConstants::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ScopedConstants::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::ScopedConstants_UnserializedMessageContext< |
| UserType, ScopedConstants::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<ScopedConstants::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 ScopedConstants::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::ScopedConstants_UnserializedMessageContext< |
| UserType, ScopedConstants::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ScopedConstants::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ScopedConstants.f0 |
| ScopedConstants::EType f0; |
| |
| // @generated_from: mojo.test.ScopedConstants.f1 |
| ScopedConstants::EType f1; |
| |
| // @generated_from: mojo.test.ScopedConstants.f2 |
| ScopedConstants::EType f2; |
| |
| // @generated_from: mojo.test.ScopedConstants.f3 |
| ScopedConstants::EType f3; |
| |
| // @generated_from: mojo.test.ScopedConstants.f4 |
| ScopedConstants::EType f4; |
| |
| // @generated_from: mojo.test.ScopedConstants.f5 |
| int32_t f5; |
| |
| // @generated_from: mojo.test.ScopedConstants.f6 |
| int32_t f6; |
| |
| 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, ScopedConstants::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ScopedConstants::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ScopedConstants::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ScopedConstants::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MapKeyTypes |
| class MapKeyTypes { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MapKeyTypes, T>::value>; |
| using DataView = MapKeyTypesDataView; |
| using Data_ = internal::MapKeyTypes_Data; |
| |
| template <typename... Args> |
| static MapKeyTypesPtr New(Args&&... args) { |
| return MapKeyTypesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MapKeyTypesPtr From(const U& u) { |
| return mojo::TypeConverter<MapKeyTypesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MapKeyTypes>::Convert(*this); |
| } |
| |
| |
| MapKeyTypes(); |
| |
| MapKeyTypes( |
| const WTF::HashMap<int8_t, int8_t>& f1, |
| const WTF::HashMap<uint8_t, uint8_t>& f2, |
| const WTF::HashMap<int16_t, int16_t>& f3, |
| const WTF::HashMap<uint16_t, uint16_t>& f4, |
| const WTF::HashMap<int32_t, int32_t>& f5, |
| const WTF::HashMap<uint32_t, uint32_t>& f6, |
| const WTF::HashMap<int64_t, int64_t>& f7, |
| const WTF::HashMap<uint64_t, uint64_t>& f8, |
| const WTF::HashMap<float, float>& f9, |
| const WTF::HashMap<double, double>& f10, |
| const WTF::HashMap<WTF::String, WTF::String>& f11); |
| |
| ~MapKeyTypes(); |
| |
| // 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 = MapKeyTypesPtr> |
| MapKeyTypesPtr 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, MapKeyTypes::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MapKeyTypes::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MapKeyTypes::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::MapKeyTypes_UnserializedMessageContext< |
| UserType, MapKeyTypes::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<MapKeyTypes::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 MapKeyTypes::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::MapKeyTypes_UnserializedMessageContext< |
| UserType, MapKeyTypes::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MapKeyTypes::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MapKeyTypes.f1 |
| WTF::HashMap<int8_t, int8_t> f1; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f2 |
| WTF::HashMap<uint8_t, uint8_t> f2; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f3 |
| WTF::HashMap<int16_t, int16_t> f3; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f4 |
| WTF::HashMap<uint16_t, uint16_t> f4; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f5 |
| WTF::HashMap<int32_t, int32_t> f5; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f6 |
| WTF::HashMap<uint32_t, uint32_t> f6; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f7 |
| WTF::HashMap<int64_t, int64_t> f7; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f8 |
| WTF::HashMap<uint64_t, uint64_t> f8; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f9 |
| WTF::HashMap<float, float> f9; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f10 |
| WTF::HashMap<double, double> f10; |
| |
| // @generated_from: mojo.test.MapKeyTypes.f11 |
| WTF::HashMap<WTF::String, WTF::String> f11; |
| |
| 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, MapKeyTypes::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MapKeyTypes::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MapKeyTypes::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MapKeyTypes::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MapValueTypes |
| class MapValueTypes { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MapValueTypes, T>::value>; |
| using DataView = MapValueTypesDataView; |
| using Data_ = internal::MapValueTypes_Data; |
| |
| template <typename... Args> |
| static MapValueTypesPtr New(Args&&... args) { |
| return MapValueTypesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MapValueTypesPtr From(const U& u) { |
| return mojo::TypeConverter<MapValueTypesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MapValueTypes>::Convert(*this); |
| } |
| |
| |
| MapValueTypes(); |
| |
| MapValueTypes( |
| const WTF::HashMap<WTF::String, WTF::Vector<WTF::String>>& f0, |
| const WTF::HashMap<WTF::String, base::Optional<WTF::Vector<WTF::String>>>& f1, |
| const WTF::HashMap<WTF::String, WTF::Vector<WTF::String>>& f2, |
| const WTF::HashMap<WTF::String, WTF::Vector<WTF::String>>& f3, |
| const WTF::HashMap<WTF::String, WTF::Vector<base::Optional<WTF::Vector<WTF::String>>>>& f4, |
| const WTF::HashMap<WTF::String, WTF::Vector<WTF::Vector<WTF::String>>>& f5, |
| WTF::HashMap<WTF::String, ::mojo::test::blink::RectPtr> f6, |
| const WTF::HashMap<WTF::String, WTF::HashMap<WTF::String, WTF::String>>& f7, |
| const WTF::HashMap<WTF::String, WTF::Vector<WTF::HashMap<WTF::String, WTF::String>>>& f8, |
| WTF::HashMap<WTF::String, mojo::ScopedHandle> f9, |
| WTF::HashMap<WTF::String, WTF::Vector<mojo::ScopedHandle>> f10, |
| WTF::HashMap<WTF::String, WTF::HashMap<WTF::String, mojo::ScopedHandle>> f11); |
| |
| ~MapValueTypes(); |
| |
| // 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 = MapValueTypesPtr> |
| MapValueTypesPtr 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, MapValueTypes::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MapValueTypes::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MapValueTypes::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::MapValueTypes_UnserializedMessageContext< |
| UserType, MapValueTypes::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<MapValueTypes::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 MapValueTypes::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::MapValueTypes_UnserializedMessageContext< |
| UserType, MapValueTypes::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MapValueTypes::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MapValueTypes.f0 |
| WTF::HashMap<WTF::String, WTF::Vector<WTF::String>> f0; |
| |
| // @generated_from: mojo.test.MapValueTypes.f1 |
| WTF::HashMap<WTF::String, base::Optional<WTF::Vector<WTF::String>>> f1; |
| |
| // @generated_from: mojo.test.MapValueTypes.f2 |
| WTF::HashMap<WTF::String, WTF::Vector<WTF::String>> f2; |
| |
| // @generated_from: mojo.test.MapValueTypes.f3 |
| WTF::HashMap<WTF::String, WTF::Vector<WTF::String>> f3; |
| |
| // @generated_from: mojo.test.MapValueTypes.f4 |
| WTF::HashMap<WTF::String, WTF::Vector<base::Optional<WTF::Vector<WTF::String>>>> f4; |
| |
| // @generated_from: mojo.test.MapValueTypes.f5 |
| WTF::HashMap<WTF::String, WTF::Vector<WTF::Vector<WTF::String>>> f5; |
| |
| // @generated_from: mojo.test.MapValueTypes.f6 |
| WTF::HashMap<WTF::String, ::mojo::test::blink::RectPtr> f6; |
| |
| // @generated_from: mojo.test.MapValueTypes.f7 |
| WTF::HashMap<WTF::String, WTF::HashMap<WTF::String, WTF::String>> f7; |
| |
| // @generated_from: mojo.test.MapValueTypes.f8 |
| WTF::HashMap<WTF::String, WTF::Vector<WTF::HashMap<WTF::String, WTF::String>>> f8; |
| |
| // @generated_from: mojo.test.MapValueTypes.f9 |
| WTF::HashMap<WTF::String, mojo::ScopedHandle> f9; |
| |
| // @generated_from: mojo.test.MapValueTypes.f10 |
| WTF::HashMap<WTF::String, WTF::Vector<mojo::ScopedHandle>> f10; |
| |
| // @generated_from: mojo.test.MapValueTypes.f11 |
| WTF::HashMap<WTF::String, WTF::HashMap<WTF::String, mojo::ScopedHandle>> f11; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MapValueTypes); |
| }; |
| |
| // 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, MapValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MapValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MapValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MapValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ArrayValueTypes |
| class ArrayValueTypes { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ArrayValueTypes, T>::value>; |
| using DataView = ArrayValueTypesDataView; |
| using Data_ = internal::ArrayValueTypes_Data; |
| |
| template <typename... Args> |
| static ArrayValueTypesPtr New(Args&&... args) { |
| return ArrayValueTypesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ArrayValueTypesPtr From(const U& u) { |
| return mojo::TypeConverter<ArrayValueTypesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ArrayValueTypes>::Convert(*this); |
| } |
| |
| |
| ArrayValueTypes(); |
| |
| ArrayValueTypes( |
| const WTF::Vector<int8_t>& f0, |
| const WTF::Vector<int16_t>& f1, |
| const WTF::Vector<int32_t>& f2, |
| const WTF::Vector<int64_t>& f3, |
| const WTF::Vector<float>& f4, |
| const WTF::Vector<double>& f5, |
| WTF::Vector<mojo::PendingRemote<SomeInterface>> f6, |
| WTF::Vector<mojo::PendingReceiver<SomeInterface>> f7); |
| |
| ~ArrayValueTypes(); |
| |
| // 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 = ArrayValueTypesPtr> |
| ArrayValueTypesPtr 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, ArrayValueTypes::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ArrayValueTypes::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ArrayValueTypes::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::ArrayValueTypes_UnserializedMessageContext< |
| UserType, ArrayValueTypes::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<ArrayValueTypes::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 ArrayValueTypes::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::ArrayValueTypes_UnserializedMessageContext< |
| UserType, ArrayValueTypes::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ArrayValueTypes::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f0 |
| WTF::Vector<int8_t> f0; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f1 |
| WTF::Vector<int16_t> f1; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f2 |
| WTF::Vector<int32_t> f2; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f3 |
| WTF::Vector<int64_t> f3; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f4 |
| WTF::Vector<float> f4; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f5 |
| WTF::Vector<double> f5; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f6 |
| WTF::Vector<mojo::PendingRemote<SomeInterface>> f6; |
| |
| // @generated_from: mojo.test.ArrayValueTypes.f7 |
| WTF::Vector<mojo::PendingReceiver<SomeInterface>> f7; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ArrayValueTypes); |
| }; |
| |
| // 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, ArrayValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ArrayValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ArrayValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ArrayValueTypes::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.FloatNumberValues |
| class FloatNumberValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<FloatNumberValues, T>::value>; |
| using DataView = FloatNumberValuesDataView; |
| using Data_ = internal::FloatNumberValues_Data; |
| |
| // @generated_from: mojo.test.FloatNumberValues.V0 |
| static constexpr double V0 = std::numeric_limits<double>::infinity(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V1 |
| static constexpr double V1 = -std::numeric_limits<double>::infinity(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V2 |
| static constexpr double V2 = std::numeric_limits<double>::quiet_NaN(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V3 |
| static constexpr float V3 = std::numeric_limits<float>::infinity(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V4 |
| static constexpr float V4 = -std::numeric_limits<float>::infinity(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V5 |
| static constexpr float V5 = std::numeric_limits<float>::quiet_NaN(); |
| |
| // @generated_from: mojo.test.FloatNumberValues.V6 |
| static constexpr float V6 = 0; |
| |
| // @generated_from: mojo.test.FloatNumberValues.V7 |
| static constexpr double V7 = 1234567890.123; |
| |
| // @generated_from: mojo.test.FloatNumberValues.V8 |
| static constexpr double V8 = 1.2E+20; |
| |
| // @generated_from: mojo.test.FloatNumberValues.V9 |
| static constexpr double V9 = -1.2E+20; |
| |
| template <typename... Args> |
| static FloatNumberValuesPtr New(Args&&... args) { |
| return FloatNumberValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static FloatNumberValuesPtr From(const U& u) { |
| return mojo::TypeConverter<FloatNumberValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, FloatNumberValues>::Convert(*this); |
| } |
| |
| |
| FloatNumberValues(); |
| |
| FloatNumberValues( |
| double f0, |
| double f1, |
| double f2, |
| float f3, |
| float f4, |
| float f5, |
| float f6, |
| double f7, |
| double f8, |
| double f9); |
| |
| ~FloatNumberValues(); |
| |
| // 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 = FloatNumberValuesPtr> |
| FloatNumberValuesPtr 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, FloatNumberValues::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< |
| FloatNumberValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| FloatNumberValues::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::FloatNumberValues_UnserializedMessageContext< |
| UserType, FloatNumberValues::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<FloatNumberValues::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 FloatNumberValues::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::FloatNumberValues_UnserializedMessageContext< |
| UserType, FloatNumberValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<FloatNumberValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.FloatNumberValues.f0 |
| double f0; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f1 |
| double f1; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f2 |
| double f2; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f3 |
| float f3; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f4 |
| float f4; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f5 |
| float f5; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f6 |
| float f6; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f7 |
| double f7; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f8 |
| double f8; |
| |
| // @generated_from: mojo.test.FloatNumberValues.f9 |
| double f9; |
| |
| 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, FloatNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, FloatNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, FloatNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, FloatNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.IntegerNumberValues |
| class IntegerNumberValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<IntegerNumberValues, T>::value>; |
| using DataView = IntegerNumberValuesDataView; |
| using Data_ = internal::IntegerNumberValues_Data; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V0 |
| static constexpr int8_t V0 = -128; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V1 |
| static constexpr int8_t V1 = -1; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V2 |
| static constexpr int8_t V2 = 0; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V3 |
| static constexpr int8_t V3 = 42; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V4 |
| static constexpr int8_t V4 = 127; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V5 |
| static constexpr int16_t V5 = -32768; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V6 |
| static constexpr int16_t V6 = -1; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V7 |
| static constexpr int16_t V7 = 0; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V8 |
| static constexpr int16_t V8 = 12345; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V9 |
| static constexpr int16_t V9 = 32767; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V10 |
| static constexpr int32_t V10 = (-2147483647 - 1) /* Workaround for MSVC bug; see https://crbug.com/445618 */; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V11 |
| static constexpr int32_t V11 = -1; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V12 |
| static constexpr int32_t V12 = 0; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V13 |
| static constexpr int32_t V13 = 1234567890; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V14 |
| static constexpr int32_t V14 = 2147483647; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V15 |
| static constexpr int64_t V15 = -9007199254740991; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V16 |
| static constexpr int64_t V16 = -1; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V17 |
| static constexpr int64_t V17 = 0; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V18 |
| static constexpr int64_t V18 = 1234567890123456; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.V19 |
| static constexpr int64_t V19 = 9007199254740991; |
| |
| template <typename... Args> |
| static IntegerNumberValuesPtr New(Args&&... args) { |
| return IntegerNumberValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static IntegerNumberValuesPtr From(const U& u) { |
| return mojo::TypeConverter<IntegerNumberValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, IntegerNumberValues>::Convert(*this); |
| } |
| |
| |
| IntegerNumberValues(); |
| |
| IntegerNumberValues( |
| int8_t f0, |
| int8_t f1, |
| int8_t f2, |
| int8_t f3, |
| int8_t f4, |
| int16_t f5, |
| int16_t f6, |
| int16_t f7, |
| int16_t f8, |
| int16_t f9, |
| int32_t f10, |
| int32_t f11, |
| int32_t f12, |
| int32_t f13, |
| int32_t f14, |
| int64_t f15, |
| int64_t f16, |
| int64_t f17, |
| int64_t f18, |
| int64_t f19); |
| |
| ~IntegerNumberValues(); |
| |
| // 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 = IntegerNumberValuesPtr> |
| IntegerNumberValuesPtr 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, IntegerNumberValues::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< |
| IntegerNumberValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| IntegerNumberValues::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::IntegerNumberValues_UnserializedMessageContext< |
| UserType, IntegerNumberValues::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<IntegerNumberValues::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 IntegerNumberValues::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::IntegerNumberValues_UnserializedMessageContext< |
| UserType, IntegerNumberValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<IntegerNumberValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f0 |
| int8_t f0; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f1 |
| int8_t f1; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f2 |
| int8_t f2; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f3 |
| int8_t f3; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f4 |
| int8_t f4; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f5 |
| int16_t f5; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f6 |
| int16_t f6; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f7 |
| int16_t f7; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f8 |
| int16_t f8; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f9 |
| int16_t f9; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f10 |
| int32_t f10; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f11 |
| int32_t f11; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f12 |
| int32_t f12; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f13 |
| int32_t f13; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f14 |
| int32_t f14; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f15 |
| int64_t f15; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f16 |
| int64_t f16; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f17 |
| int64_t f17; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f18 |
| int64_t f18; |
| |
| // @generated_from: mojo.test.IntegerNumberValues.f19 |
| int64_t f19; |
| |
| 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, IntegerNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, IntegerNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, IntegerNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, IntegerNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.UnsignedNumberValues |
| class UnsignedNumberValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<UnsignedNumberValues, T>::value>; |
| using DataView = UnsignedNumberValuesDataView; |
| using Data_ = internal::UnsignedNumberValues_Data; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V0 |
| static constexpr uint8_t V0 = 0U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V1 |
| static constexpr uint8_t V1 = 42U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V2 |
| static constexpr uint8_t V2 = 0xFFU; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V3 |
| static constexpr uint16_t V3 = 0U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V4 |
| static constexpr uint16_t V4 = 12345U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V5 |
| static constexpr uint16_t V5 = 0xFFFFU; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V6 |
| static constexpr uint32_t V6 = 0U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V7 |
| static constexpr uint32_t V7 = 1234567890U; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V8 |
| static constexpr uint32_t V8 = 0xFFFFFFFFU; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V9 |
| static constexpr uint64_t V9 = 0ULL; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V10 |
| static constexpr uint64_t V10 = 1234567890123456ULL; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.V11 |
| static constexpr uint64_t V11 = 9007199254740991ULL; |
| |
| template <typename... Args> |
| static UnsignedNumberValuesPtr New(Args&&... args) { |
| return UnsignedNumberValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static UnsignedNumberValuesPtr From(const U& u) { |
| return mojo::TypeConverter<UnsignedNumberValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, UnsignedNumberValues>::Convert(*this); |
| } |
| |
| |
| UnsignedNumberValues(); |
| |
| UnsignedNumberValues( |
| uint8_t f0, |
| uint8_t f1, |
| uint8_t f2, |
| uint16_t f3, |
| uint16_t f4, |
| uint16_t f5, |
| uint32_t f6, |
| uint32_t f7, |
| uint32_t f8, |
| uint64_t f9, |
| uint64_t f10, |
| uint64_t f11); |
| |
| ~UnsignedNumberValues(); |
| |
| // 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 = UnsignedNumberValuesPtr> |
| UnsignedNumberValuesPtr 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, UnsignedNumberValues::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< |
| UnsignedNumberValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| UnsignedNumberValues::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::UnsignedNumberValues_UnserializedMessageContext< |
| UserType, UnsignedNumberValues::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<UnsignedNumberValues::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 UnsignedNumberValues::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::UnsignedNumberValues_UnserializedMessageContext< |
| UserType, UnsignedNumberValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<UnsignedNumberValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f0 |
| uint8_t f0; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f1 |
| uint8_t f1; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f2 |
| uint8_t f2; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f3 |
| uint16_t f3; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f4 |
| uint16_t f4; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f5 |
| uint16_t f5; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f6 |
| uint32_t f6; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f7 |
| uint32_t f7; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f8 |
| uint32_t f8; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f9 |
| uint64_t f9; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f10 |
| uint64_t f10; |
| |
| // @generated_from: mojo.test.UnsignedNumberValues.f11 |
| uint64_t f11; |
| |
| 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, UnsignedNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, UnsignedNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, UnsignedNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, UnsignedNumberValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.BitArrayValues |
| class BitArrayValues { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<BitArrayValues, T>::value>; |
| using DataView = BitArrayValuesDataView; |
| using Data_ = internal::BitArrayValues_Data; |
| |
| template <typename... Args> |
| static BitArrayValuesPtr New(Args&&... args) { |
| return BitArrayValuesPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static BitArrayValuesPtr From(const U& u) { |
| return mojo::TypeConverter<BitArrayValuesPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, BitArrayValues>::Convert(*this); |
| } |
| |
| |
| BitArrayValues(); |
| |
| BitArrayValues( |
| const WTF::Vector<bool>& f0, |
| const WTF::Vector<bool>& f1, |
| const WTF::Vector<bool>& f2, |
| const WTF::Vector<bool>& f3, |
| const WTF::Vector<WTF::Vector<bool>>& f4, |
| const WTF::Vector<base::Optional<WTF::Vector<bool>>>& f5, |
| const WTF::Vector<base::Optional<WTF::Vector<bool>>>& f6); |
| |
| ~BitArrayValues(); |
| |
| // 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 = BitArrayValuesPtr> |
| BitArrayValuesPtr 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, BitArrayValues::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| BitArrayValues::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| BitArrayValues::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::BitArrayValues_UnserializedMessageContext< |
| UserType, BitArrayValues::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<BitArrayValues::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 BitArrayValues::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::BitArrayValues_UnserializedMessageContext< |
| UserType, BitArrayValues::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<BitArrayValues::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.BitArrayValues.f0 |
| WTF::Vector<bool> f0; |
| |
| // @generated_from: mojo.test.BitArrayValues.f1 |
| WTF::Vector<bool> f1; |
| |
| // @generated_from: mojo.test.BitArrayValues.f2 |
| WTF::Vector<bool> f2; |
| |
| // @generated_from: mojo.test.BitArrayValues.f3 |
| WTF::Vector<bool> f3; |
| |
| // @generated_from: mojo.test.BitArrayValues.f4 |
| WTF::Vector<WTF::Vector<bool>> f4; |
| |
| // @generated_from: mojo.test.BitArrayValues.f5 |
| WTF::Vector<base::Optional<WTF::Vector<bool>>> f5; |
| |
| // @generated_from: mojo.test.BitArrayValues.f6 |
| WTF::Vector<base::Optional<WTF::Vector<bool>>> f6; |
| |
| 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, BitArrayValues::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, BitArrayValues::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, BitArrayValues::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, BitArrayValues::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStruct |
| class MultiVersionStruct { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStruct, T>::value>; |
| using DataView = MultiVersionStructDataView; |
| using Data_ = internal::MultiVersionStruct_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructPtr New(Args&&... args) { |
| return MultiVersionStructPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructPtr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStruct>::Convert(*this); |
| } |
| |
| |
| MultiVersionStruct(); |
| |
| explicit MultiVersionStruct( |
| int32_t f_int32); |
| |
| MultiVersionStruct( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect); |
| |
| MultiVersionStruct( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string); |
| |
| MultiVersionStruct( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array); |
| |
| MultiVersionStruct( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array, |
| mojo::ScopedMessagePipeHandle f_message_pipe, |
| bool f_bool); |
| |
| MultiVersionStruct( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array, |
| mojo::ScopedMessagePipeHandle f_message_pipe, |
| bool f_bool, |
| int16_t f_int16); |
| |
| ~MultiVersionStruct(); |
| |
| // 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 = MultiVersionStructPtr> |
| MultiVersionStructPtr 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, MultiVersionStruct::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MultiVersionStruct::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStruct::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::MultiVersionStruct_UnserializedMessageContext< |
| UserType, MultiVersionStruct::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<MultiVersionStruct::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 MultiVersionStruct::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::MultiVersionStruct_UnserializedMessageContext< |
| UserType, MultiVersionStruct::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStruct::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_int32 |
| int32_t f_int32; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_rect |
| ::mojo::test::blink::RectPtr f_rect; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_string |
| WTF::String f_string; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_array |
| base::Optional<WTF::Vector<int8_t>> f_array; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_message_pipe |
| mojo::ScopedMessagePipeHandle f_message_pipe; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_bool |
| bool f_bool; |
| |
| // @generated_from: mojo.test.MultiVersionStruct.f_int16 |
| int16_t f_int16; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MultiVersionStruct); |
| }; |
| |
| // 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, MultiVersionStruct::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStruct::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStruct::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStruct::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV1 |
| class MultiVersionStructV1 { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStructV1, T>::value>; |
| using DataView = MultiVersionStructV1DataView; |
| using Data_ = internal::MultiVersionStructV1_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructV1Ptr New(Args&&... args) { |
| return MultiVersionStructV1Ptr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructV1Ptr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructV1Ptr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStructV1>::Convert(*this); |
| } |
| |
| |
| MultiVersionStructV1(); |
| |
| explicit MultiVersionStructV1( |
| int32_t f_int32); |
| |
| MultiVersionStructV1( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect); |
| |
| ~MultiVersionStructV1(); |
| |
| // 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 = MultiVersionStructV1Ptr> |
| MultiVersionStructV1Ptr 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, MultiVersionStructV1::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MultiVersionStructV1::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStructV1::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::MultiVersionStructV1_UnserializedMessageContext< |
| UserType, MultiVersionStructV1::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<MultiVersionStructV1::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 MultiVersionStructV1::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::MultiVersionStructV1_UnserializedMessageContext< |
| UserType, MultiVersionStructV1::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStructV1::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV1.f_int32 |
| int32_t f_int32; |
| |
| // @generated_from: mojo.test.MultiVersionStructV1.f_rect |
| ::mojo::test::blink::RectPtr f_rect; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MultiVersionStructV1); |
| }; |
| |
| // 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, MultiVersionStructV1::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStructV1::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStructV1::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStructV1::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV3 |
| class MultiVersionStructV3 { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStructV3, T>::value>; |
| using DataView = MultiVersionStructV3DataView; |
| using Data_ = internal::MultiVersionStructV3_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructV3Ptr New(Args&&... args) { |
| return MultiVersionStructV3Ptr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructV3Ptr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructV3Ptr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStructV3>::Convert(*this); |
| } |
| |
| |
| MultiVersionStructV3(); |
| |
| explicit MultiVersionStructV3( |
| int32_t f_int32); |
| |
| MultiVersionStructV3( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect); |
| |
| MultiVersionStructV3( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string); |
| |
| ~MultiVersionStructV3(); |
| |
| // 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 = MultiVersionStructV3Ptr> |
| MultiVersionStructV3Ptr 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, MultiVersionStructV3::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MultiVersionStructV3::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStructV3::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::MultiVersionStructV3_UnserializedMessageContext< |
| UserType, MultiVersionStructV3::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<MultiVersionStructV3::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 MultiVersionStructV3::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::MultiVersionStructV3_UnserializedMessageContext< |
| UserType, MultiVersionStructV3::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStructV3::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV3.f_int32 |
| int32_t f_int32; |
| |
| // @generated_from: mojo.test.MultiVersionStructV3.f_rect |
| ::mojo::test::blink::RectPtr f_rect; |
| |
| // @generated_from: mojo.test.MultiVersionStructV3.f_string |
| WTF::String f_string; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MultiVersionStructV3); |
| }; |
| |
| // 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, MultiVersionStructV3::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStructV3::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStructV3::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStructV3::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV5 |
| class MultiVersionStructV5 { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStructV5, T>::value>; |
| using DataView = MultiVersionStructV5DataView; |
| using Data_ = internal::MultiVersionStructV5_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructV5Ptr New(Args&&... args) { |
| return MultiVersionStructV5Ptr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructV5Ptr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructV5Ptr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStructV5>::Convert(*this); |
| } |
| |
| |
| MultiVersionStructV5(); |
| |
| explicit MultiVersionStructV5( |
| int32_t f_int32); |
| |
| MultiVersionStructV5( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect); |
| |
| MultiVersionStructV5( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string); |
| |
| MultiVersionStructV5( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array); |
| |
| ~MultiVersionStructV5(); |
| |
| // 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 = MultiVersionStructV5Ptr> |
| MultiVersionStructV5Ptr 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, MultiVersionStructV5::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MultiVersionStructV5::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStructV5::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::MultiVersionStructV5_UnserializedMessageContext< |
| UserType, MultiVersionStructV5::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<MultiVersionStructV5::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 MultiVersionStructV5::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::MultiVersionStructV5_UnserializedMessageContext< |
| UserType, MultiVersionStructV5::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStructV5::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV5.f_int32 |
| int32_t f_int32; |
| |
| // @generated_from: mojo.test.MultiVersionStructV5.f_rect |
| ::mojo::test::blink::RectPtr f_rect; |
| |
| // @generated_from: mojo.test.MultiVersionStructV5.f_string |
| WTF::String f_string; |
| |
| // @generated_from: mojo.test.MultiVersionStructV5.f_array |
| base::Optional<WTF::Vector<int8_t>> f_array; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MultiVersionStructV5); |
| }; |
| |
| // 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, MultiVersionStructV5::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStructV5::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStructV5::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStructV5::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV7 |
| class MultiVersionStructV7 { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<MultiVersionStructV7, T>::value>; |
| using DataView = MultiVersionStructV7DataView; |
| using Data_ = internal::MultiVersionStructV7_Data; |
| |
| template <typename... Args> |
| static MultiVersionStructV7Ptr New(Args&&... args) { |
| return MultiVersionStructV7Ptr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static MultiVersionStructV7Ptr From(const U& u) { |
| return mojo::TypeConverter<MultiVersionStructV7Ptr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, MultiVersionStructV7>::Convert(*this); |
| } |
| |
| |
| MultiVersionStructV7(); |
| |
| explicit MultiVersionStructV7( |
| int32_t f_int32); |
| |
| MultiVersionStructV7( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect); |
| |
| MultiVersionStructV7( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string); |
| |
| MultiVersionStructV7( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array); |
| |
| MultiVersionStructV7( |
| int32_t f_int32, |
| ::mojo::test::blink::RectPtr f_rect, |
| const WTF::String& f_string, |
| const base::Optional<WTF::Vector<int8_t>>& f_array, |
| mojo::ScopedMessagePipeHandle f_message_pipe, |
| bool f_bool); |
| |
| ~MultiVersionStructV7(); |
| |
| // 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 = MultiVersionStructV7Ptr> |
| MultiVersionStructV7Ptr 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, MultiVersionStructV7::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| MultiVersionStructV7::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| MultiVersionStructV7::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::MultiVersionStructV7_UnserializedMessageContext< |
| UserType, MultiVersionStructV7::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<MultiVersionStructV7::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 MultiVersionStructV7::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::MultiVersionStructV7_UnserializedMessageContext< |
| UserType, MultiVersionStructV7::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<MultiVersionStructV7::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_int32 |
| int32_t f_int32; |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_rect |
| ::mojo::test::blink::RectPtr f_rect; |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_string |
| WTF::String f_string; |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_array |
| base::Optional<WTF::Vector<int8_t>> f_array; |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_message_pipe |
| mojo::ScopedMessagePipeHandle f_message_pipe; |
| |
| // @generated_from: mojo.test.MultiVersionStructV7.f_bool |
| bool f_bool; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(MultiVersionStructV7); |
| }; |
| |
| // 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, MultiVersionStructV7::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, MultiVersionStructV7::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, MultiVersionStructV7::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, MultiVersionStructV7::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ContainsInterface |
| class ContainsInterface { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ContainsInterface, T>::value>; |
| using DataView = ContainsInterfaceDataView; |
| using Data_ = internal::ContainsInterface_Data; |
| |
| template <typename... Args> |
| static ContainsInterfacePtr New(Args&&... args) { |
| return ContainsInterfacePtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ContainsInterfacePtr From(const U& u) { |
| return mojo::TypeConverter<ContainsInterfacePtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ContainsInterface>::Convert(*this); |
| } |
| |
| |
| ContainsInterface(); |
| |
| explicit ContainsInterface( |
| mojo::PendingRemote<SomeInterface> some_interface); |
| |
| ~ContainsInterface(); |
| |
| // 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 = ContainsInterfacePtr> |
| ContainsInterfacePtr 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, ContainsInterface::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ContainsInterface::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ContainsInterface::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::ContainsInterface_UnserializedMessageContext< |
| UserType, ContainsInterface::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<ContainsInterface::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 ContainsInterface::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::ContainsInterface_UnserializedMessageContext< |
| UserType, ContainsInterface::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ContainsInterface::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ContainsInterface.some_interface |
| mojo::PendingRemote<SomeInterface> some_interface; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ContainsInterface); |
| }; |
| |
| // 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, ContainsInterface::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ContainsInterface::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ContainsInterface::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ContainsInterface::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ContainsInterfaceRequest |
| class ContainsInterfaceRequest { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ContainsInterfaceRequest, T>::value>; |
| using DataView = ContainsInterfaceRequestDataView; |
| using Data_ = internal::ContainsInterfaceRequest_Data; |
| |
| template <typename... Args> |
| static ContainsInterfaceRequestPtr New(Args&&... args) { |
| return ContainsInterfaceRequestPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ContainsInterfaceRequestPtr From(const U& u) { |
| return mojo::TypeConverter<ContainsInterfaceRequestPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ContainsInterfaceRequest>::Convert(*this); |
| } |
| |
| |
| ContainsInterfaceRequest(); |
| |
| explicit ContainsInterfaceRequest( |
| mojo::PendingReceiver<SomeInterface> request); |
| |
| ~ContainsInterfaceRequest(); |
| |
| // 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 = ContainsInterfaceRequestPtr> |
| ContainsInterfaceRequestPtr 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, ContainsInterfaceRequest::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static WTF::Vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| ContainsInterfaceRequest::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ContainsInterfaceRequest::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::ContainsInterfaceRequest_UnserializedMessageContext< |
| UserType, ContainsInterfaceRequest::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<ContainsInterfaceRequest::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 ContainsInterfaceRequest::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::ContainsInterfaceRequest_UnserializedMessageContext< |
| UserType, ContainsInterfaceRequest::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ContainsInterfaceRequest::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ContainsInterfaceRequest.request |
| mojo::PendingReceiver<SomeInterface> request; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(ContainsInterfaceRequest); |
| }; |
| |
| // 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, ContainsInterfaceRequest::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ContainsInterfaceRequest::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ContainsInterfaceRequest::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ContainsInterfaceRequest::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.ContainsHashable |
| class ContainsHashable { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<ContainsHashable, T>::value>; |
| using DataView = ContainsHashableDataView; |
| using Data_ = internal::ContainsHashable_Data; |
| |
| template <typename... Args> |
| static ContainsHashablePtr New(Args&&... args) { |
| return ContainsHashablePtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static ContainsHashablePtr From(const U& u) { |
| return mojo::TypeConverter<ContainsHashablePtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, ContainsHashable>::Convert(*this); |
| } |
| |
| |
| ContainsHashable(); |
| |
| explicit ContainsHashable( |
| const mojo::test::RectBlink& rect); |
| |
| ~ContainsHashable(); |
| |
| // 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 = ContainsHashablePtr> |
| ContainsHashablePtr 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, ContainsHashable::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< |
| ContainsHashable::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| ContainsHashable::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::ContainsHashable_UnserializedMessageContext< |
| UserType, ContainsHashable::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<ContainsHashable::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 ContainsHashable::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::ContainsHashable_UnserializedMessageContext< |
| UserType, ContainsHashable::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<ContainsHashable::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.ContainsHashable.rect |
| mojo::test::RectBlink rect; |
| |
| 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, ContainsHashable::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, ContainsHashable::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, ContainsHashable::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, ContainsHashable::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: mojo.test.SimpleNestedStruct |
| class SimpleNestedStruct { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<SimpleNestedStruct, T>::value>; |
| using DataView = SimpleNestedStructDataView; |
| using Data_ = internal::SimpleNestedStruct_Data; |
| |
| template <typename... Args> |
| static SimpleNestedStructPtr New(Args&&... args) { |
| return SimpleNestedStructPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static SimpleNestedStructPtr From(const U& u) { |
| return mojo::TypeConverter<SimpleNestedStructPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, SimpleNestedStruct>::Convert(*this); |
| } |
| |
| |
| SimpleNestedStruct(); |
| |
| explicit SimpleNestedStruct( |
| ContainsOtherPtr nested); |
| |
| ~SimpleNestedStruct(); |
| |
| // 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 = SimpleNestedStructPtr> |
| SimpleNestedStructPtr 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, SimpleNestedStruct::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< |
| SimpleNestedStruct::DataView, WTF::Vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| SimpleNestedStruct::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::SimpleNestedStruct_UnserializedMessageContext< |
| UserType, SimpleNestedStruct::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<SimpleNestedStruct::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 SimpleNestedStruct::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::SimpleNestedStruct_UnserializedMessageContext< |
| UserType, SimpleNestedStruct::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<SimpleNestedStruct::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: mojo.test.SimpleNestedStruct.nested |
| ContainsOtherPtr nested; |
| |
| private: |
| static bool Validate(const void* data, |
| mojo::internal::ValidationContext* validation_context); |
| DISALLOW_COPY_AND_ASSIGN(SimpleNestedStruct); |
| }; |
| |
| // 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, SimpleNestedStruct::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, SimpleNestedStruct::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, SimpleNestedStruct::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, SimpleNestedStruct::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| template <typename StructPtrType> |
| NamedRegionPtr NamedRegion::Clone() const { |
| return New( |
| mojo::Clone(name), |
| mojo::Clone(rects) |
| ); |
| } |
| |
| template <typename T, NamedRegion::EnableIfSame<T>*> |
| bool NamedRegion::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->name, other_struct.name)) |
| return false; |
| if (!mojo::Equals(this->rects, other_struct.rects)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, NamedRegion::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.rects < rhs.rects) |
| return true; |
| if (rhs.rects < lhs.rects) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| RectPairPtr RectPair::Clone() const { |
| return New( |
| mojo::Clone(first), |
| mojo::Clone(second) |
| ); |
| } |
| |
| template <typename T, RectPair::EnableIfSame<T>*> |
| bool RectPair::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->first, other_struct.first)) |
| return false; |
| if (!mojo::Equals(this->second, other_struct.second)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, RectPair::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.first < rhs.first) |
| return true; |
| if (rhs.first < lhs.first) |
| return false; |
| if (lhs.second < rhs.second) |
| return true; |
| if (rhs.second < lhs.second) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| EmptyStructPtr EmptyStruct::Clone() const { |
| return New( |
| ); |
| } |
| |
| template <typename T, EmptyStruct::EnableIfSame<T>*> |
| bool EmptyStruct::Equals(const T& other_struct) const { |
| return true; |
| } |
| |
| template <typename T, EmptyStruct::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| return false; |
| } |
| template <typename StructPtrType> |
| NoDefaultFieldValuesPtr NoDefaultFieldValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11), |
| mojo::Clone(f12), |
| mojo::Clone(f13), |
| mojo::Clone(f14), |
| mojo::Clone(f15), |
| mojo::Clone(f16), |
| mojo::Clone(f17), |
| mojo::Clone(f18), |
| mojo::Clone(f19), |
| mojo::Clone(f20), |
| mojo::Clone(f21), |
| mojo::Clone(f22), |
| mojo::Clone(f23), |
| mojo::Clone(f24), |
| mojo::Clone(f25), |
| mojo::Clone(f26), |
| mojo::Clone(f27), |
| mojo::Clone(f28) |
| ); |
| } |
| |
| template <typename T, NoDefaultFieldValues::EnableIfSame<T>*> |
| bool NoDefaultFieldValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| if (!mojo::Equals(this->f12, other_struct.f12)) |
| return false; |
| if (!mojo::Equals(this->f13, other_struct.f13)) |
| return false; |
| if (!mojo::Equals(this->f14, other_struct.f14)) |
| return false; |
| if (!mojo::Equals(this->f15, other_struct.f15)) |
| return false; |
| if (!mojo::Equals(this->f16, other_struct.f16)) |
| return false; |
| if (!mojo::Equals(this->f17, other_struct.f17)) |
| return false; |
| if (!mojo::Equals(this->f18, other_struct.f18)) |
| return false; |
| if (!mojo::Equals(this->f19, other_struct.f19)) |
| return false; |
| if (!mojo::Equals(this->f20, other_struct.f20)) |
| return false; |
| if (!mojo::Equals(this->f21, other_struct.f21)) |
| return false; |
| if (!mojo::Equals(this->f22, other_struct.f22)) |
| return false; |
| if (!mojo::Equals(this->f23, other_struct.f23)) |
| return false; |
| if (!mojo::Equals(this->f24, other_struct.f24)) |
| return false; |
| if (!mojo::Equals(this->f25, other_struct.f25)) |
| return false; |
| if (!mojo::Equals(this->f26, other_struct.f26)) |
| return false; |
| if (!mojo::Equals(this->f27, other_struct.f27)) |
| return false; |
| if (!mojo::Equals(this->f28, other_struct.f28)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, NoDefaultFieldValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| if (lhs.f12 < rhs.f12) |
| return true; |
| if (rhs.f12 < lhs.f12) |
| return false; |
| if (lhs.f13 < rhs.f13) |
| return true; |
| if (rhs.f13 < lhs.f13) |
| return false; |
| if (lhs.f14 < rhs.f14) |
| return true; |
| if (rhs.f14 < lhs.f14) |
| return false; |
| if (lhs.f15 < rhs.f15) |
| return true; |
| if (rhs.f15 < lhs.f15) |
| return false; |
| if (lhs.f16 < rhs.f16) |
| return true; |
| if (rhs.f16 < lhs.f16) |
| return false; |
| if (lhs.f17 < rhs.f17) |
| return true; |
| if (rhs.f17 < lhs.f17) |
| return false; |
| if (lhs.f18 < rhs.f18) |
| return true; |
| if (rhs.f18 < lhs.f18) |
| return false; |
| if (lhs.f19 < rhs.f19) |
| return true; |
| if (rhs.f19 < lhs.f19) |
| return false; |
| if (lhs.f20 < rhs.f20) |
| return true; |
| if (rhs.f20 < lhs.f20) |
| return false; |
| if (lhs.f21 < rhs.f21) |
| return true; |
| if (rhs.f21 < lhs.f21) |
| return false; |
| if (lhs.f22 < rhs.f22) |
| return true; |
| if (rhs.f22 < lhs.f22) |
| return false; |
| if (lhs.f23 < rhs.f23) |
| return true; |
| if (rhs.f23 < lhs.f23) |
| return false; |
| if (lhs.f24 < rhs.f24) |
| return true; |
| if (rhs.f24 < lhs.f24) |
| return false; |
| if (lhs.f25 < rhs.f25) |
| return true; |
| if (rhs.f25 < lhs.f25) |
| return false; |
| if (lhs.f26 < rhs.f26) |
| return true; |
| if (rhs.f26 < lhs.f26) |
| return false; |
| if (lhs.f27 < rhs.f27) |
| return true; |
| if (rhs.f27 < lhs.f27) |
| return false; |
| if (lhs.f28 < rhs.f28) |
| return true; |
| if (rhs.f28 < lhs.f28) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| DefaultFieldValuesPtr DefaultFieldValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11), |
| mojo::Clone(f12), |
| mojo::Clone(f13), |
| mojo::Clone(f14), |
| mojo::Clone(f15), |
| mojo::Clone(f16) |
| ); |
| } |
| |
| template <typename T, DefaultFieldValues::EnableIfSame<T>*> |
| bool DefaultFieldValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| if (!mojo::Equals(this->f12, other_struct.f12)) |
| return false; |
| if (!mojo::Equals(this->f13, other_struct.f13)) |
| return false; |
| if (!mojo::Equals(this->f14, other_struct.f14)) |
| return false; |
| if (!mojo::Equals(this->f15, other_struct.f15)) |
| return false; |
| if (!mojo::Equals(this->f16, other_struct.f16)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, DefaultFieldValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| if (lhs.f12 < rhs.f12) |
| return true; |
| if (rhs.f12 < lhs.f12) |
| return false; |
| if (lhs.f13 < rhs.f13) |
| return true; |
| if (rhs.f13 < lhs.f13) |
| return false; |
| if (lhs.f14 < rhs.f14) |
| return true; |
| if (rhs.f14 < lhs.f14) |
| return false; |
| if (lhs.f15 < rhs.f15) |
| return true; |
| if (rhs.f15 < lhs.f15) |
| return false; |
| if (lhs.f16 < rhs.f16) |
| return true; |
| if (rhs.f16 < lhs.f16) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ScopedConstantsPtr ScopedConstants::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6) |
| ); |
| } |
| |
| template <typename T, ScopedConstants::EnableIfSame<T>*> |
| bool ScopedConstants::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ScopedConstants::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MapKeyTypesPtr MapKeyTypes::Clone() const { |
| return New( |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11) |
| ); |
| } |
| |
| template <typename T, MapKeyTypes::EnableIfSame<T>*> |
| bool MapKeyTypes::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MapKeyTypes::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MapValueTypesPtr MapValueTypes::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11) |
| ); |
| } |
| |
| template <typename T, MapValueTypes::EnableIfSame<T>*> |
| bool MapValueTypes::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MapValueTypes::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ArrayValueTypesPtr ArrayValueTypes::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7) |
| ); |
| } |
| |
| template <typename T, ArrayValueTypes::EnableIfSame<T>*> |
| bool ArrayValueTypes::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ArrayValueTypes::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| FloatNumberValuesPtr FloatNumberValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9) |
| ); |
| } |
| |
| template <typename T, FloatNumberValues::EnableIfSame<T>*> |
| bool FloatNumberValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, FloatNumberValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| IntegerNumberValuesPtr IntegerNumberValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11), |
| mojo::Clone(f12), |
| mojo::Clone(f13), |
| mojo::Clone(f14), |
| mojo::Clone(f15), |
| mojo::Clone(f16), |
| mojo::Clone(f17), |
| mojo::Clone(f18), |
| mojo::Clone(f19) |
| ); |
| } |
| |
| template <typename T, IntegerNumberValues::EnableIfSame<T>*> |
| bool IntegerNumberValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| if (!mojo::Equals(this->f12, other_struct.f12)) |
| return false; |
| if (!mojo::Equals(this->f13, other_struct.f13)) |
| return false; |
| if (!mojo::Equals(this->f14, other_struct.f14)) |
| return false; |
| if (!mojo::Equals(this->f15, other_struct.f15)) |
| return false; |
| if (!mojo::Equals(this->f16, other_struct.f16)) |
| return false; |
| if (!mojo::Equals(this->f17, other_struct.f17)) |
| return false; |
| if (!mojo::Equals(this->f18, other_struct.f18)) |
| return false; |
| if (!mojo::Equals(this->f19, other_struct.f19)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, IntegerNumberValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| if (lhs.f12 < rhs.f12) |
| return true; |
| if (rhs.f12 < lhs.f12) |
| return false; |
| if (lhs.f13 < rhs.f13) |
| return true; |
| if (rhs.f13 < lhs.f13) |
| return false; |
| if (lhs.f14 < rhs.f14) |
| return true; |
| if (rhs.f14 < lhs.f14) |
| return false; |
| if (lhs.f15 < rhs.f15) |
| return true; |
| if (rhs.f15 < lhs.f15) |
| return false; |
| if (lhs.f16 < rhs.f16) |
| return true; |
| if (rhs.f16 < lhs.f16) |
| return false; |
| if (lhs.f17 < rhs.f17) |
| return true; |
| if (rhs.f17 < lhs.f17) |
| return false; |
| if (lhs.f18 < rhs.f18) |
| return true; |
| if (rhs.f18 < lhs.f18) |
| return false; |
| if (lhs.f19 < rhs.f19) |
| return true; |
| if (rhs.f19 < lhs.f19) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| UnsignedNumberValuesPtr UnsignedNumberValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6), |
| mojo::Clone(f7), |
| mojo::Clone(f8), |
| mojo::Clone(f9), |
| mojo::Clone(f10), |
| mojo::Clone(f11) |
| ); |
| } |
| |
| template <typename T, UnsignedNumberValues::EnableIfSame<T>*> |
| bool UnsignedNumberValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| if (!mojo::Equals(this->f7, other_struct.f7)) |
| return false; |
| if (!mojo::Equals(this->f8, other_struct.f8)) |
| return false; |
| if (!mojo::Equals(this->f9, other_struct.f9)) |
| return false; |
| if (!mojo::Equals(this->f10, other_struct.f10)) |
| return false; |
| if (!mojo::Equals(this->f11, other_struct.f11)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, UnsignedNumberValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| if (lhs.f7 < rhs.f7) |
| return true; |
| if (rhs.f7 < lhs.f7) |
| return false; |
| if (lhs.f8 < rhs.f8) |
| return true; |
| if (rhs.f8 < lhs.f8) |
| return false; |
| if (lhs.f9 < rhs.f9) |
| return true; |
| if (rhs.f9 < lhs.f9) |
| return false; |
| if (lhs.f10 < rhs.f10) |
| return true; |
| if (rhs.f10 < lhs.f10) |
| return false; |
| if (lhs.f11 < rhs.f11) |
| return true; |
| if (rhs.f11 < lhs.f11) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| BitArrayValuesPtr BitArrayValues::Clone() const { |
| return New( |
| mojo::Clone(f0), |
| mojo::Clone(f1), |
| mojo::Clone(f2), |
| mojo::Clone(f3), |
| mojo::Clone(f4), |
| mojo::Clone(f5), |
| mojo::Clone(f6) |
| ); |
| } |
| |
| template <typename T, BitArrayValues::EnableIfSame<T>*> |
| bool BitArrayValues::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f0, other_struct.f0)) |
| return false; |
| if (!mojo::Equals(this->f1, other_struct.f1)) |
| return false; |
| if (!mojo::Equals(this->f2, other_struct.f2)) |
| return false; |
| if (!mojo::Equals(this->f3, other_struct.f3)) |
| return false; |
| if (!mojo::Equals(this->f4, other_struct.f4)) |
| return false; |
| if (!mojo::Equals(this->f5, other_struct.f5)) |
| return false; |
| if (!mojo::Equals(this->f6, other_struct.f6)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, BitArrayValues::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f0 < rhs.f0) |
| return true; |
| if (rhs.f0 < lhs.f0) |
| return false; |
| if (lhs.f1 < rhs.f1) |
| return true; |
| if (rhs.f1 < lhs.f1) |
| return false; |
| if (lhs.f2 < rhs.f2) |
| return true; |
| if (rhs.f2 < lhs.f2) |
| return false; |
| if (lhs.f3 < rhs.f3) |
| return true; |
| if (rhs.f3 < lhs.f3) |
| return false; |
| if (lhs.f4 < rhs.f4) |
| return true; |
| if (rhs.f4 < lhs.f4) |
| return false; |
| if (lhs.f5 < rhs.f5) |
| return true; |
| if (rhs.f5 < lhs.f5) |
| return false; |
| if (lhs.f6 < rhs.f6) |
| return true; |
| if (rhs.f6 < lhs.f6) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructPtr MultiVersionStruct::Clone() const { |
| return New( |
| mojo::Clone(f_int32), |
| mojo::Clone(f_rect), |
| mojo::Clone(f_string), |
| mojo::Clone(f_array), |
| mojo::Clone(f_message_pipe), |
| mojo::Clone(f_bool), |
| mojo::Clone(f_int16) |
| ); |
| } |
| |
| template <typename T, MultiVersionStruct::EnableIfSame<T>*> |
| bool MultiVersionStruct::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| if (!mojo::Equals(this->f_rect, other_struct.f_rect)) |
| return false; |
| if (!mojo::Equals(this->f_string, other_struct.f_string)) |
| return false; |
| if (!mojo::Equals(this->f_array, other_struct.f_array)) |
| return false; |
| if (!mojo::Equals(this->f_message_pipe, other_struct.f_message_pipe)) |
| return false; |
| if (!mojo::Equals(this->f_bool, other_struct.f_bool)) |
| return false; |
| if (!mojo::Equals(this->f_int16, other_struct.f_int16)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStruct::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| if (lhs.f_rect < rhs.f_rect) |
| return true; |
| if (rhs.f_rect < lhs.f_rect) |
| return false; |
| if (lhs.f_string < rhs.f_string) |
| return true; |
| if (rhs.f_string < lhs.f_string) |
| return false; |
| if (lhs.f_array < rhs.f_array) |
| return true; |
| if (rhs.f_array < lhs.f_array) |
| return false; |
| if (lhs.f_message_pipe < rhs.f_message_pipe) |
| return true; |
| if (rhs.f_message_pipe < lhs.f_message_pipe) |
| return false; |
| if (lhs.f_bool < rhs.f_bool) |
| return true; |
| if (rhs.f_bool < lhs.f_bool) |
| return false; |
| if (lhs.f_int16 < rhs.f_int16) |
| return true; |
| if (rhs.f_int16 < lhs.f_int16) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructV0Ptr MultiVersionStructV0::Clone() const { |
| return New( |
| mojo::Clone(f_int32) |
| ); |
| } |
| |
| template <typename T, MultiVersionStructV0::EnableIfSame<T>*> |
| bool MultiVersionStructV0::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStructV0::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructV1Ptr MultiVersionStructV1::Clone() const { |
| return New( |
| mojo::Clone(f_int32), |
| mojo::Clone(f_rect) |
| ); |
| } |
| |
| template <typename T, MultiVersionStructV1::EnableIfSame<T>*> |
| bool MultiVersionStructV1::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| if (!mojo::Equals(this->f_rect, other_struct.f_rect)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStructV1::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| if (lhs.f_rect < rhs.f_rect) |
| return true; |
| if (rhs.f_rect < lhs.f_rect) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructV3Ptr MultiVersionStructV3::Clone() const { |
| return New( |
| mojo::Clone(f_int32), |
| mojo::Clone(f_rect), |
| mojo::Clone(f_string) |
| ); |
| } |
| |
| template <typename T, MultiVersionStructV3::EnableIfSame<T>*> |
| bool MultiVersionStructV3::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| if (!mojo::Equals(this->f_rect, other_struct.f_rect)) |
| return false; |
| if (!mojo::Equals(this->f_string, other_struct.f_string)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStructV3::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| if (lhs.f_rect < rhs.f_rect) |
| return true; |
| if (rhs.f_rect < lhs.f_rect) |
| return false; |
| if (lhs.f_string < rhs.f_string) |
| return true; |
| if (rhs.f_string < lhs.f_string) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructV5Ptr MultiVersionStructV5::Clone() const { |
| return New( |
| mojo::Clone(f_int32), |
| mojo::Clone(f_rect), |
| mojo::Clone(f_string), |
| mojo::Clone(f_array) |
| ); |
| } |
| |
| template <typename T, MultiVersionStructV5::EnableIfSame<T>*> |
| bool MultiVersionStructV5::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| if (!mojo::Equals(this->f_rect, other_struct.f_rect)) |
| return false; |
| if (!mojo::Equals(this->f_string, other_struct.f_string)) |
| return false; |
| if (!mojo::Equals(this->f_array, other_struct.f_array)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStructV5::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| if (lhs.f_rect < rhs.f_rect) |
| return true; |
| if (rhs.f_rect < lhs.f_rect) |
| return false; |
| if (lhs.f_string < rhs.f_string) |
| return true; |
| if (rhs.f_string < lhs.f_string) |
| return false; |
| if (lhs.f_array < rhs.f_array) |
| return true; |
| if (rhs.f_array < lhs.f_array) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| MultiVersionStructV7Ptr MultiVersionStructV7::Clone() const { |
| return New( |
| mojo::Clone(f_int32), |
| mojo::Clone(f_rect), |
| mojo::Clone(f_string), |
| mojo::Clone(f_array), |
| mojo::Clone(f_message_pipe), |
| mojo::Clone(f_bool) |
| ); |
| } |
| |
| template <typename T, MultiVersionStructV7::EnableIfSame<T>*> |
| bool MultiVersionStructV7::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->f_int32, other_struct.f_int32)) |
| return false; |
| if (!mojo::Equals(this->f_rect, other_struct.f_rect)) |
| return false; |
| if (!mojo::Equals(this->f_string, other_struct.f_string)) |
| return false; |
| if (!mojo::Equals(this->f_array, other_struct.f_array)) |
| return false; |
| if (!mojo::Equals(this->f_message_pipe, other_struct.f_message_pipe)) |
| return false; |
| if (!mojo::Equals(this->f_bool, other_struct.f_bool)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, MultiVersionStructV7::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.f_int32 < rhs.f_int32) |
| return true; |
| if (rhs.f_int32 < lhs.f_int32) |
| return false; |
| if (lhs.f_rect < rhs.f_rect) |
| return true; |
| if (rhs.f_rect < lhs.f_rect) |
| return false; |
| if (lhs.f_string < rhs.f_string) |
| return true; |
| if (rhs.f_string < lhs.f_string) |
| return false; |
| if (lhs.f_array < rhs.f_array) |
| return true; |
| if (rhs.f_array < lhs.f_array) |
| return false; |
| if (lhs.f_message_pipe < rhs.f_message_pipe) |
| return true; |
| if (rhs.f_message_pipe < lhs.f_message_pipe) |
| return false; |
| if (lhs.f_bool < rhs.f_bool) |
| return true; |
| if (rhs.f_bool < lhs.f_bool) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ReorderedStructPtr ReorderedStruct::Clone() const { |
| return New( |
| mojo::Clone(a), |
| mojo::Clone(b), |
| mojo::Clone(c) |
| ); |
| } |
| |
| template <typename T, ReorderedStruct::EnableIfSame<T>*> |
| bool ReorderedStruct::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->a, other_struct.a)) |
| return false; |
| if (!mojo::Equals(this->b, other_struct.b)) |
| return false; |
| if (!mojo::Equals(this->c, other_struct.c)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ReorderedStruct::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.a < rhs.a) |
| return true; |
| if (rhs.a < lhs.a) |
| return false; |
| if (lhs.b < rhs.b) |
| return true; |
| if (rhs.b < lhs.b) |
| return false; |
| if (lhs.c < rhs.c) |
| return true; |
| if (rhs.c < lhs.c) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ContainsInterfacePtr ContainsInterface::Clone() const { |
| return New( |
| mojo::Clone(some_interface) |
| ); |
| } |
| |
| template <typename T, ContainsInterface::EnableIfSame<T>*> |
| bool ContainsInterface::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->some_interface, other_struct.some_interface)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ContainsInterface::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.some_interface < rhs.some_interface) |
| return true; |
| if (rhs.some_interface < lhs.some_interface) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ContainsOtherPtr ContainsOther::Clone() const { |
| return New( |
| mojo::Clone(other) |
| ); |
| } |
| |
| template <typename T, ContainsOther::EnableIfSame<T>*> |
| bool ContainsOther::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->other, other_struct.other)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ContainsOther::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.other < rhs.other) |
| return true; |
| if (rhs.other < lhs.other) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ContainsInterfaceRequestPtr ContainsInterfaceRequest::Clone() const { |
| return New( |
| mojo::Clone(request) |
| ); |
| } |
| |
| template <typename T, ContainsInterfaceRequest::EnableIfSame<T>*> |
| bool ContainsInterfaceRequest::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->request, other_struct.request)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ContainsInterfaceRequest::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.request < rhs.request) |
| return true; |
| if (rhs.request < lhs.request) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| SingleBoolStructPtr SingleBoolStruct::Clone() const { |
| return New( |
| mojo::Clone(value) |
| ); |
| } |
| |
| template <typename T, SingleBoolStruct::EnableIfSame<T>*> |
| bool SingleBoolStruct::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->value, other_struct.value)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, SingleBoolStruct::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.value < rhs.value) |
| return true; |
| if (rhs.value < lhs.value) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| ContainsHashablePtr ContainsHashable::Clone() const { |
| return New( |
| mojo::Clone(rect) |
| ); |
| } |
| |
| template <typename T, ContainsHashable::EnableIfSame<T>*> |
| bool ContainsHashable::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->rect, other_struct.rect)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, ContainsHashable::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.rect < rhs.rect) |
| return true; |
| if (rhs.rect < lhs.rect) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| SimpleNestedStructPtr SimpleNestedStruct::Clone() const { |
| return New( |
| mojo::Clone(nested) |
| ); |
| } |
| |
| template <typename T, SimpleNestedStruct::EnableIfSame<T>*> |
| bool SimpleNestedStruct::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->nested, other_struct.nested)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, SimpleNestedStruct::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.nested < rhs.nested) |
| return true; |
| if (rhs.nested < lhs.nested) |
| return false; |
| return false; |
| } |
| |
| |
| } // namespace blink |
| } // namespace test |
| } // namespace mojo |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::NamedRegion::DataView, |
| ::mojo::test::blink::NamedRegionPtr> { |
| static bool IsNull(const ::mojo::test::blink::NamedRegionPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::NamedRegionPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::NamedRegion::name)& name( |
| const ::mojo::test::blink::NamedRegionPtr& input) { |
| return input->name; |
| } |
| |
| static const decltype(::mojo::test::blink::NamedRegion::rects)& rects( |
| const ::mojo::test::blink::NamedRegionPtr& input) { |
| return input->rects; |
| } |
| |
| static bool Read(::mojo::test::blink::NamedRegion::DataView input, ::mojo::test::blink::NamedRegionPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::RectPair::DataView, |
| ::mojo::test::blink::RectPairPtr> { |
| static bool IsNull(const ::mojo::test::blink::RectPairPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::RectPairPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::RectPair::first)& first( |
| const ::mojo::test::blink::RectPairPtr& input) { |
| return input->first; |
| } |
| |
| static const decltype(::mojo::test::blink::RectPair::second)& second( |
| const ::mojo::test::blink::RectPairPtr& input) { |
| return input->second; |
| } |
| |
| static bool Read(::mojo::test::blink::RectPair::DataView input, ::mojo::test::blink::RectPairPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::EmptyStruct::DataView, |
| ::mojo::test::blink::EmptyStructPtr> { |
| static bool IsNull(const ::mojo::test::blink::EmptyStructPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::EmptyStructPtr* output) { output->reset(); } |
| |
| static bool Read(::mojo::test::blink::EmptyStruct::DataView input, ::mojo::test::blink::EmptyStructPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::NoDefaultFieldValues::DataView, |
| ::mojo::test::blink::NoDefaultFieldValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::NoDefaultFieldValuesPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f0) f0( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f1) f1( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f2) f2( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f3) f3( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f4) f4( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f5) f5( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f6) f6( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f7) f7( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f7; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f8) f8( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f9) f9( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f9; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f10) f10( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f10; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f11)& f11( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f11; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f12)& f12( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f12; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f13)& f13( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f13; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f14)& f14( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f14; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f15)& f15( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f15; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f16)& f16( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f16; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f17)& f17( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f17; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f18)& f18( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f18; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f19)& f19( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f19; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f20)& f20( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f20; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f21)& f21( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f21; |
| } |
| |
| static decltype(::mojo::test::blink::NoDefaultFieldValues::f22)& f22( |
| ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f22; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f23)& f23( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f23; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f24)& f24( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f24; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f25)& f25( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f25; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f26)& f26( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f26; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f27)& f27( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f27; |
| } |
| |
| static const decltype(::mojo::test::blink::NoDefaultFieldValues::f28)& f28( |
| const ::mojo::test::blink::NoDefaultFieldValuesPtr& input) { |
| return input->f28; |
| } |
| |
| static bool Read(::mojo::test::blink::NoDefaultFieldValues::DataView input, ::mojo::test::blink::NoDefaultFieldValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::DefaultFieldValues::DataView, |
| ::mojo::test::blink::DefaultFieldValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::DefaultFieldValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::DefaultFieldValuesPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f0) f0( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f1) f1( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f2) f2( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f3) f3( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f4) f4( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f5) f5( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f6) f6( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f7) f7( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f7; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f8) f8( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f9) f9( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f9; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f10) f10( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f10; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f11) f11( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f11; |
| } |
| |
| static decltype(::mojo::test::blink::DefaultFieldValues::f12) f12( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f12; |
| } |
| |
| static const decltype(::mojo::test::blink::DefaultFieldValues::f13)& f13( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f13; |
| } |
| |
| static const decltype(::mojo::test::blink::DefaultFieldValues::f14)& f14( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f14; |
| } |
| |
| static const decltype(::mojo::test::blink::DefaultFieldValues::f15)& f15( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f15; |
| } |
| |
| static const decltype(::mojo::test::blink::DefaultFieldValues::f16)& f16( |
| const ::mojo::test::blink::DefaultFieldValuesPtr& input) { |
| return input->f16; |
| } |
| |
| static bool Read(::mojo::test::blink::DefaultFieldValues::DataView input, ::mojo::test::blink::DefaultFieldValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ScopedConstants::DataView, |
| ::mojo::test::blink::ScopedConstantsPtr> { |
| static bool IsNull(const ::mojo::test::blink::ScopedConstantsPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ScopedConstantsPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f0) f0( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f1) f1( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f2) f2( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f3) f3( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f4) f4( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f5) f5( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::ScopedConstants::f6) f6( |
| const ::mojo::test::blink::ScopedConstantsPtr& input) { |
| return input->f6; |
| } |
| |
| static bool Read(::mojo::test::blink::ScopedConstants::DataView input, ::mojo::test::blink::ScopedConstantsPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MapKeyTypes::DataView, |
| ::mojo::test::blink::MapKeyTypesPtr> { |
| static bool IsNull(const ::mojo::test::blink::MapKeyTypesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MapKeyTypesPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f1)& f1( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f1; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f2)& f2( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f2; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f3)& f3( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f3; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f4)& f4( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f4; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f5)& f5( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f5; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f6)& f6( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f6; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f7)& f7( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f7; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f8)& f8( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f8; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f9)& f9( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f9; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f10)& f10( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f10; |
| } |
| |
| static const decltype(::mojo::test::blink::MapKeyTypes::f11)& f11( |
| const ::mojo::test::blink::MapKeyTypesPtr& input) { |
| return input->f11; |
| } |
| |
| static bool Read(::mojo::test::blink::MapKeyTypes::DataView input, ::mojo::test::blink::MapKeyTypesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MapValueTypes::DataView, |
| ::mojo::test::blink::MapValueTypesPtr> { |
| static bool IsNull(const ::mojo::test::blink::MapValueTypesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MapValueTypesPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f0)& f0( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f0; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f1)& f1( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f1; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f2)& f2( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f2; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f3)& f3( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f3; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f4)& f4( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f4; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f5)& f5( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f5; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f6)& f6( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f6; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f7)& f7( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f7; |
| } |
| |
| static const decltype(::mojo::test::blink::MapValueTypes::f8)& f8( |
| const ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::MapValueTypes::f9)& f9( |
| ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f9; |
| } |
| |
| static decltype(::mojo::test::blink::MapValueTypes::f10)& f10( |
| ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f10; |
| } |
| |
| static decltype(::mojo::test::blink::MapValueTypes::f11)& f11( |
| ::mojo::test::blink::MapValueTypesPtr& input) { |
| return input->f11; |
| } |
| |
| static bool Read(::mojo::test::blink::MapValueTypes::DataView input, ::mojo::test::blink::MapValueTypesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ArrayValueTypes::DataView, |
| ::mojo::test::blink::ArrayValueTypesPtr> { |
| static bool IsNull(const ::mojo::test::blink::ArrayValueTypesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ArrayValueTypesPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f0)& f0( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f0; |
| } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f1)& f1( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f1; |
| } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f2)& f2( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f2; |
| } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f3)& f3( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f3; |
| } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f4)& f4( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f4; |
| } |
| |
| static const decltype(::mojo::test::blink::ArrayValueTypes::f5)& f5( |
| const ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::ArrayValueTypes::f6)& f6( |
| ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::ArrayValueTypes::f7)& f7( |
| ::mojo::test::blink::ArrayValueTypesPtr& input) { |
| return input->f7; |
| } |
| |
| static bool Read(::mojo::test::blink::ArrayValueTypes::DataView input, ::mojo::test::blink::ArrayValueTypesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::FloatNumberValues::DataView, |
| ::mojo::test::blink::FloatNumberValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::FloatNumberValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::FloatNumberValuesPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f0) f0( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f1) f1( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f2) f2( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f3) f3( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f4) f4( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f5) f5( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f6) f6( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f7) f7( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f7; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f8) f8( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::FloatNumberValues::f9) f9( |
| const ::mojo::test::blink::FloatNumberValuesPtr& input) { |
| return input->f9; |
| } |
| |
| static bool Read(::mojo::test::blink::FloatNumberValues::DataView input, ::mojo::test::blink::FloatNumberValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::IntegerNumberValues::DataView, |
| ::mojo::test::blink::IntegerNumberValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::IntegerNumberValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::IntegerNumberValuesPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f0) f0( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f1) f1( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f2) f2( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f3) f3( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f4) f4( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f5) f5( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f6) f6( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f7) f7( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f7; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f8) f8( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f9) f9( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f9; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f10) f10( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f10; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f11) f11( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f11; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f12) f12( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f12; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f13) f13( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f13; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f14) f14( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f14; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f15) f15( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f15; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f16) f16( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f16; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f17) f17( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f17; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f18) f18( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f18; |
| } |
| |
| static decltype(::mojo::test::blink::IntegerNumberValues::f19) f19( |
| const ::mojo::test::blink::IntegerNumberValuesPtr& input) { |
| return input->f19; |
| } |
| |
| static bool Read(::mojo::test::blink::IntegerNumberValues::DataView input, ::mojo::test::blink::IntegerNumberValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::UnsignedNumberValues::DataView, |
| ::mojo::test::blink::UnsignedNumberValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::UnsignedNumberValuesPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f0) f0( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f1) f1( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f2) f2( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f3) f3( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f4) f4( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f5) f5( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f6) f6( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f7) f7( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f7; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f8) f8( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f8; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f9) f9( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f9; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f10) f10( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f10; |
| } |
| |
| static decltype(::mojo::test::blink::UnsignedNumberValues::f11) f11( |
| const ::mojo::test::blink::UnsignedNumberValuesPtr& input) { |
| return input->f11; |
| } |
| |
| static bool Read(::mojo::test::blink::UnsignedNumberValues::DataView input, ::mojo::test::blink::UnsignedNumberValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::BitArrayValues::DataView, |
| ::mojo::test::blink::BitArrayValuesPtr> { |
| static bool IsNull(const ::mojo::test::blink::BitArrayValuesPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::BitArrayValuesPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f0)& f0( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f0; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f1)& f1( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f1; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f2)& f2( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f2; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f3)& f3( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f3; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f4)& f4( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f4; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f5)& f5( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f5; |
| } |
| |
| static const decltype(::mojo::test::blink::BitArrayValues::f6)& f6( |
| const ::mojo::test::blink::BitArrayValuesPtr& input) { |
| return input->f6; |
| } |
| |
| static bool Read(::mojo::test::blink::BitArrayValues::DataView input, ::mojo::test::blink::BitArrayValuesPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStruct::DataView, |
| ::mojo::test::blink::MultiVersionStructPtr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStruct::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_int32; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStruct::f_rect)& f_rect( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_rect; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStruct::f_string)& f_string( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_string; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStruct::f_array)& f_array( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_array; |
| } |
| |
| static decltype(::mojo::test::blink::MultiVersionStruct::f_message_pipe)& f_message_pipe( |
| ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_message_pipe; |
| } |
| |
| static decltype(::mojo::test::blink::MultiVersionStruct::f_bool) f_bool( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_bool; |
| } |
| |
| static decltype(::mojo::test::blink::MultiVersionStruct::f_int16) f_int16( |
| const ::mojo::test::blink::MultiVersionStructPtr& input) { |
| return input->f_int16; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStruct::DataView input, ::mojo::test::blink::MultiVersionStructPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStructV0::DataView, |
| ::mojo::test::blink::MultiVersionStructV0Ptr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructV0Ptr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructV0Ptr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV0::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructV0Ptr& input) { |
| return input->f_int32; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStructV0::DataView input, ::mojo::test::blink::MultiVersionStructV0Ptr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStructV1::DataView, |
| ::mojo::test::blink::MultiVersionStructV1Ptr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructV1Ptr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructV1Ptr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV1::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructV1Ptr& input) { |
| return input->f_int32; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV1::f_rect)& f_rect( |
| const ::mojo::test::blink::MultiVersionStructV1Ptr& input) { |
| return input->f_rect; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStructV1::DataView input, ::mojo::test::blink::MultiVersionStructV1Ptr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStructV3::DataView, |
| ::mojo::test::blink::MultiVersionStructV3Ptr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructV3Ptr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructV3Ptr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV3::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructV3Ptr& input) { |
| return input->f_int32; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV3::f_rect)& f_rect( |
| const ::mojo::test::blink::MultiVersionStructV3Ptr& input) { |
| return input->f_rect; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV3::f_string)& f_string( |
| const ::mojo::test::blink::MultiVersionStructV3Ptr& input) { |
| return input->f_string; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStructV3::DataView input, ::mojo::test::blink::MultiVersionStructV3Ptr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStructV5::DataView, |
| ::mojo::test::blink::MultiVersionStructV5Ptr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructV5Ptr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructV5Ptr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV5::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructV5Ptr& input) { |
| return input->f_int32; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV5::f_rect)& f_rect( |
| const ::mojo::test::blink::MultiVersionStructV5Ptr& input) { |
| return input->f_rect; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV5::f_string)& f_string( |
| const ::mojo::test::blink::MultiVersionStructV5Ptr& input) { |
| return input->f_string; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV5::f_array)& f_array( |
| const ::mojo::test::blink::MultiVersionStructV5Ptr& input) { |
| return input->f_array; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStructV5::DataView input, ::mojo::test::blink::MultiVersionStructV5Ptr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::MultiVersionStructV7::DataView, |
| ::mojo::test::blink::MultiVersionStructV7Ptr> { |
| static bool IsNull(const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::MultiVersionStructV7Ptr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV7::f_int32) f_int32( |
| const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_int32; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV7::f_rect)& f_rect( |
| const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_rect; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV7::f_string)& f_string( |
| const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_string; |
| } |
| |
| static const decltype(::mojo::test::blink::MultiVersionStructV7::f_array)& f_array( |
| const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_array; |
| } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV7::f_message_pipe)& f_message_pipe( |
| ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_message_pipe; |
| } |
| |
| static decltype(::mojo::test::blink::MultiVersionStructV7::f_bool) f_bool( |
| const ::mojo::test::blink::MultiVersionStructV7Ptr& input) { |
| return input->f_bool; |
| } |
| |
| static bool Read(::mojo::test::blink::MultiVersionStructV7::DataView input, ::mojo::test::blink::MultiVersionStructV7Ptr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ReorderedStruct::DataView, |
| ::mojo::test::blink::ReorderedStructPtr> { |
| static bool IsNull(const ::mojo::test::blink::ReorderedStructPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ReorderedStructPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::ReorderedStruct::a) a( |
| const ::mojo::test::blink::ReorderedStructPtr& input) { |
| return input->a; |
| } |
| |
| static decltype(::mojo::test::blink::ReorderedStruct::b) b( |
| const ::mojo::test::blink::ReorderedStructPtr& input) { |
| return input->b; |
| } |
| |
| static decltype(::mojo::test::blink::ReorderedStruct::c) c( |
| const ::mojo::test::blink::ReorderedStructPtr& input) { |
| return input->c; |
| } |
| |
| static bool Read(::mojo::test::blink::ReorderedStruct::DataView input, ::mojo::test::blink::ReorderedStructPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ContainsInterface::DataView, |
| ::mojo::test::blink::ContainsInterfacePtr> { |
| static bool IsNull(const ::mojo::test::blink::ContainsInterfacePtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ContainsInterfacePtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::ContainsInterface::some_interface)& some_interface( |
| ::mojo::test::blink::ContainsInterfacePtr& input) { |
| return input->some_interface; |
| } |
| |
| static bool Read(::mojo::test::blink::ContainsInterface::DataView input, ::mojo::test::blink::ContainsInterfacePtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ContainsOther::DataView, |
| ::mojo::test::blink::ContainsOtherPtr> { |
| static bool IsNull(const ::mojo::test::blink::ContainsOtherPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ContainsOtherPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::ContainsOther::other) other( |
| const ::mojo::test::blink::ContainsOtherPtr& input) { |
| return input->other; |
| } |
| |
| static bool Read(::mojo::test::blink::ContainsOther::DataView input, ::mojo::test::blink::ContainsOtherPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ContainsInterfaceRequest::DataView, |
| ::mojo::test::blink::ContainsInterfaceRequestPtr> { |
| static bool IsNull(const ::mojo::test::blink::ContainsInterfaceRequestPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ContainsInterfaceRequestPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::ContainsInterfaceRequest::request)& request( |
| ::mojo::test::blink::ContainsInterfaceRequestPtr& input) { |
| return input->request; |
| } |
| |
| static bool Read(::mojo::test::blink::ContainsInterfaceRequest::DataView input, ::mojo::test::blink::ContainsInterfaceRequestPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::SingleBoolStruct::DataView, |
| ::mojo::test::blink::SingleBoolStructPtr> { |
| static bool IsNull(const ::mojo::test::blink::SingleBoolStructPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::SingleBoolStructPtr* output) { output->reset(); } |
| |
| static decltype(::mojo::test::blink::SingleBoolStruct::value) value( |
| const ::mojo::test::blink::SingleBoolStructPtr& input) { |
| return input->value; |
| } |
| |
| static bool Read(::mojo::test::blink::SingleBoolStruct::DataView input, ::mojo::test::blink::SingleBoolStructPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::ContainsHashable::DataView, |
| ::mojo::test::blink::ContainsHashablePtr> { |
| static bool IsNull(const ::mojo::test::blink::ContainsHashablePtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::ContainsHashablePtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::ContainsHashable::rect)& rect( |
| const ::mojo::test::blink::ContainsHashablePtr& input) { |
| return input->rect; |
| } |
| |
| static bool Read(::mojo::test::blink::ContainsHashable::DataView input, ::mojo::test::blink::ContainsHashablePtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::mojo::test::blink::SimpleNestedStruct::DataView, |
| ::mojo::test::blink::SimpleNestedStructPtr> { |
| static bool IsNull(const ::mojo::test::blink::SimpleNestedStructPtr& input) { return !input; } |
| static void SetToNull(::mojo::test::blink::SimpleNestedStructPtr* output) { output->reset(); } |
| |
| static const decltype(::mojo::test::blink::SimpleNestedStruct::nested)& nested( |
| const ::mojo::test::blink::SimpleNestedStructPtr& input) { |
| return input->nested; |
| } |
| |
| static bool Read(::mojo::test::blink::SimpleNestedStruct::DataView input, ::mojo::test::blink::SimpleNestedStructPtr* output); |
| }; |
| |
| } // namespace mojo |
| |
| #endif // MOJO_PUBLIC_INTERFACES_BINDINGS_TESTS_TEST_STRUCTS_MOJOM_BLINK_H_
|
| /* Metadata comment
|
| eyJtZXRhIjogW3siZW5kIjogMzgwNiwgImJlZ2luIjogMzc5MywgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5Tb21lSW50ZXJmYWNlIn19LCB7ImVu
|
| ZCI6IDQ1ODEsICJiZWdpbiI6IDQ1NzEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuU29tZUludGVyZmFjZS5Tb21lTWV0aG9kIn19LCB7ImVuZCI6
|
| IDY1NjAsICJiZWdpbiI6IDY1NDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuRW1wdHlTdHJ1Y3QifX0sIHsiZW5kIjogMTA4NTcsICJiZWdpbiI6
|
| IDEwODM3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0Lk11bHRpVmVyc2lvblN0cnVjdFYwIn19LCB7ImVuZCI6IDE0NTQ3LCAiYmVnaW4iOiAxNDU0
|
| MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5N
|
| dWx0aVZlcnNpb25TdHJ1Y3RWMC5mX2ludDMyIn19LCB7ImVuZCI6IDE1NTA5LCAiYmVnaW4iOiAx
|
| NTQ5NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5SZW9yZGVyZWRTdHJ1Y3QifX0sIHsiZW5kIjogMTkxODgsICJiZWdpbiI6IDE5MTg3LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
|
| dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
|
| YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlJlb3JkZXJl
|
| ZFN0cnVjdC5hIn19LCB7ImVuZCI6IDE5MjUyLCAiYmVnaW4iOiAxOTI1MSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5SZW9yZGVyZWRTdHJ1Y3Qu
|
| YiJ9fSwgeyJlbmQiOiAxOTMxNiwgImJlZ2luIjogMTkzMTUsICJlZGdlIjogIiUva3l0aGUvZWRn
|
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
|
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
|
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuUmVvcmRlcmVkU3RydWN0LmMifX0sIHsi
|
| ZW5kIjogMjAyNTEsICJiZWdpbiI6IDIwMjM4LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkNvbnRhaW5zT3RoZXIifX0sIHsiZW5kIjogMjM3Njcs
|
| ICJiZWdpbiI6IDIzNzYyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUi
|
| OiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVz
|
| b3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUi
|
| OiAibW9qby50ZXN0LkNvbnRhaW5zT3RoZXIub3RoZXIifX0sIHsiZW5kIjogMjQ3MDAsICJiZWdp
|
| biI6IDI0Njg0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
|
| Y29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9q
|
| by50ZXN0LlNpbmdsZUJvb2xTdHJ1Y3QifX0sIHsiZW5kIjogMjgyODIsICJiZWdpbiI6IDI4Mjc3
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlNp
|
| bmdsZUJvb2xTdHJ1Y3QudmFsdWUifX0sIHsiZW5kIjogMjkyMjAsICJiZWdpbiI6IDI5MjA5LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
|
| L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk5hbWVk
|
| UmVnaW9uIn19LCB7ImVuZCI6IDMyNzI4LCAiYmVnaW4iOiAzMjcyNCwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5OYW1lZFJlZ2lvbi5uYW1lIn19
|
| LCB7ImVuZCI6IDMyODQ2LCAiYmVnaW4iOiAzMjg0MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5OYW1lZFJlZ2lvbi5yZWN0cyJ9fSwgeyJlbmQi
|
| OiAzMzc5NSwgImJlZ2luIjogMzM3ODcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuUmVjdFBhaXIifX0sIHsiZW5kIjogMzcyMzMsICJiZWdpbiI6
|
| IDM3MjI4LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LlJlY3RQYWlyLmZpcnN0In19LCB7ImVuZCI6IDM3MzIxLCAiYmVnaW4iOiAzNzMxNSwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5SZWN0UGFp
|
| ci5zZWNvbmQifX0sIHsiZW5kIjogMzgyODEsICJiZWdpbiI6IDM4MjYxLCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFs
|
| dWVzIn19LCB7ImVuZCI6IDQyODEzLCAiYmVnaW4iOiA0MjgxMSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5m
|
| MCJ9fSwgeyJlbmQiOiA0Mjg4MywgImJlZ2luIjogNDI4ODEsICJlZGdlIjogIiUva3l0aGUvZWRn
|
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
|
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
|
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjEi
|
| fX0sIHsiZW5kIjogNDI5NTQsICJiZWdpbiI6IDQyOTUyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYyIn19
|
| LCB7ImVuZCI6IDQzMDI1LCAiYmVnaW4iOiA0MzAyMywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMyJ9fSwg
|
| eyJlbmQiOiA0MzA5NywgImJlZ2luIjogNDMwOTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjQifX0sIHsi
|
| ZW5kIjogNDMxNjgsICJiZWdpbiI6IDQzMTY2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmY1In19LCB7ImVu
|
| ZCI6IDQzMjQwLCAiYmVnaW4iOiA0MzIzOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mNiJ9fSwgeyJlbmQi
|
| OiA0MzMxMSwgImJlZ2luIjogNDMzMDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjcifX0sIHsiZW5kIjog
|
| NDMzODMsICJiZWdpbiI6IDQzMzgxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg
|
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n
|
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu
|
| YXR1cmUiOiAibW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmY4In19LCB7ImVuZCI6IDQz
|
| NDUyLCAiYmVnaW4iOiA0MzQ1MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
|
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
|
| dXJlIjogIm1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mOSJ9fSwgeyJlbmQiOiA0MzUy
|
| NCwgImJlZ2luIjogNDM1MjEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2ds
|
| ZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVy
|
| ZSI6ICJtb2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjEwIn19LCB7ImVuZCI6IDQzNjAx
|
| LCAiYmVnaW4iOiA0MzU5OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
|
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
|
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
|
| IjogIm1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMTEifX0sIHsiZW5kIjogNDM2Nzgs
|
| ICJiZWdpbiI6IDQzNjc1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUi
|
| OiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVz
|
| b3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUi
|
| OiAibW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYxMiJ9fSwgeyJlbmQiOiA0Mzc3Mywg
|
| ImJlZ2luIjogNDM3NzAsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjEzIn19LCB7ImVuZCI6IDQzODczLCAi
|
| YmVnaW4iOiA0Mzg3MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
|
| cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
|
| Im1vam8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMTQifX0sIHsiZW5kIjogNDM5NzMsICJi
|
| ZWdpbiI6IDQzOTcwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
|
| YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
|
| Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
|
| bW9qby50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYxNSJ9fSwgeyJlbmQiOiA0NDA2OCwgImJl
|
| Z2luIjogNDQwNjUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJh
|
| bmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJt
|
| b2pvLnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjE2In19LCB7ImVuZCI6IDQ0MTY4LCAiYmVn
|
| aW4iOiA0NDE2NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMTcifX0sIHsiZW5kIjogNDQyNjgsICJiZWdp
|
| biI6IDQ0MjY1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
|
| Y29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9q
|
| by50ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYxOCJ9fSwgeyJlbmQiOiA0NDM1MiwgImJlZ2lu
|
| IjogNDQzNDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pv
|
| LnRlc3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjE5In19LCB7ImVuZCI6IDQ0NDM2LCAiYmVnaW4i
|
| OiA0NDQzMywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
|
| bS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8u
|
| dGVzdC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMjAifX0sIHsiZW5kIjogNDQ1MzIsICJiZWdpbiI6
|
| IDQ0NTI5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYyMSJ9fSwgeyJlbmQiOiA0NDYyOCwgImJlZ2luIjog
|
| NDQ2MjUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRl
|
| c3QuTm9EZWZhdWx0RmllbGRWYWx1ZXMuZjIyIn19LCB7ImVuZCI6IDQ0NzE4LCAiYmVnaW4iOiA0
|
| NDcxNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5Ob0RlZmF1bHRGaWVsZFZhbHVlcy5mMjMifX0sIHsiZW5kIjogNDQ4MDgsICJiZWdpbiI6IDQ0
|
| ODA1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl
|
| ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
|
| cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0
|
| Lk5vRGVmYXVsdEZpZWxkVmFsdWVzLmYyNCJ9fSwgeyJlbmQiOiA0NDkxNCwgImJlZ2luIjogNDQ5
|
| MTEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVm
|
| aW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
|
| b21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3Qu
|
| Tm9EZWZhdWx0RmllbGRWYWx1ZXMuZjI1In19LCB7ImVuZCI6IDQ1MDIwLCAiYmVnaW4iOiA0NTAx
|
| NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5O
|
| b0RlZmF1bHRGaWVsZFZhbHVlcy5mMjYifX0sIHsiZW5kIjogNDUxMDAsICJiZWdpbiI6IDQ1MDk3
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk5v
|
| RGVmYXVsdEZpZWxkVmFsdWVzLmYyNyJ9fSwgeyJlbmQiOiA0NTE4MCwgImJlZ2luIjogNDUxNzcs
|
| ICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5l
|
| cyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21p
|
| dW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTm9E
|
| ZWZhdWx0RmllbGRWYWx1ZXMuZjI4In19LCB7ImVuZCI6IDQ2MTk0LCAiYmVnaW4iOiA0NjE3Niwg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5EZWZh
|
| dWx0RmllbGRWYWx1ZXMifX0sIHsiZW5kIjogNDY0OTQsICJiZWdpbiI6IDQ2NDkwLCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVs
|
| ZFZhbHVlcy5rRm9vIn19LCB7ImVuZCI6IDUwMjEyLCAiYmVnaW4iOiA1MDIxMCwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5EZWZhdWx0RmllbGRW
|
| YWx1ZXMuZjAifX0sIHsiZW5kIjogNTAyODAsICJiZWdpbiI6IDUwMjc4LCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVsZFZhbHVl
|
| cy5mMSJ9fSwgeyJlbmQiOiA1MDM0OSwgImJlZ2luIjogNTAzNDcsICJlZGdlIjogIiUva3l0aGUv
|
| ZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29y
|
| cHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdl
|
| IjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRGVmYXVsdEZpZWxkVmFsdWVzLmYy
|
| In19LCB7ImVuZCI6IDUwNDE4LCAiYmVnaW4iOiA1MDQxNiwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
|
| OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
|
| bW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5EZWZhdWx0RmllbGRWYWx1ZXMuZjMifX0s
|
| IHsiZW5kIjogNTA0ODgsICJiZWdpbiI6IDUwNDg2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2Vu
|
| ZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJj
|
| aHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pv
|
| bSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVsZFZhbHVlcy5mNCJ9fSwgeyJl
|
| bmQiOiA1MDU1NywgImJlZ2luIjogNTA1NTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
|
| ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
|
| aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
|
| InNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRGVmYXVsdEZpZWxkVmFsdWVzLmY1In19LCB7ImVuZCI6
|
| IDUwNjI3LCAiYmVnaW4iOiA1MDYyNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm1vam8udGVzdC5EZWZhdWx0RmllbGRWYWx1ZXMuZjYifX0sIHsiZW5kIjogNTA2
|
| OTYsICJiZWdpbiI6IDUwNjk0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
|
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
|
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
|
| cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVsZFZhbHVlcy5mNyJ9fSwgeyJlbmQiOiA1MDc2Niwg
|
| ImJlZ2luIjogNTA3NjQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuRGVmYXVsdEZpZWxkVmFsdWVzLmY4In19LCB7ImVuZCI6IDUwODMzLCAiYmVn
|
| aW4iOiA1MDgzMSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5EZWZhdWx0RmllbGRWYWx1ZXMuZjkifX0sIHsiZW5kIjogNTA5MDIsICJiZWdpbiI6
|
| IDUwODk5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LkRlZmF1bHRGaWVsZFZhbHVlcy5mMTAifX0sIHsiZW5kIjogNTA5NzIsICJiZWdpbiI6IDUw
|
| OTY5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl
|
| ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
|
| cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0
|
| LkRlZmF1bHRGaWVsZFZhbHVlcy5mMTEifX0sIHsiZW5kIjogNTEwNDIsICJiZWdpbiI6IDUxMDM5
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRl
|
| ZmF1bHRGaWVsZFZhbHVlcy5mMTIifX0sIHsiZW5kIjogNTExMTcsICJiZWdpbiI6IDUxMTE0LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
|
| L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1
|
| bHRGaWVsZFZhbHVlcy5mMTMifX0sIHsiZW5kIjogNTExOTIsICJiZWdpbiI6IDUxMTg5LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
|
| dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
|
| YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRG
|
| aWVsZFZhbHVlcy5mMTQifX0sIHsiZW5kIjogNTEyODQsICJiZWdpbiI6IDUxMjgxLCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVs
|
| ZFZhbHVlcy5mMTUifX0sIHsiZW5kIjogNTEzNzYsICJiZWdpbiI6IDUxMzczLCAiZWRnZSI6ICIl
|
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
|
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
|
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkRlZmF1bHRGaWVsZFZh
|
| bHVlcy5mMTYifX0sIHsiZW5kIjogNTIzNzQsICJiZWdpbiI6IDUyMzU5LCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlNjb3BlZENvbnN0YW50cyJ9
|
| fSwgeyJlbmQiOiA1MjY0OSwgImJlZ2luIjogNTI2NDQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
|
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
|
| am9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuU2NvcGVkQ29uc3RhbnRzLkVUeXBlIn19LCB7
|
| ImVuZCI6IDUyNzU4LCAiYmVnaW4iOiA1Mjc1NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
|
| LCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5TY29wZWRDb25zdGFudHMuVEVOIn19LCB7ImVuZCI6
|
| IDUyODU4LCAiYmVnaW4iOiA1Mjg1MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm1vam8udGVzdC5TY29wZWRDb25zdGFudHMuQUxTT19URU4ifX0sIHsiZW5kIjog
|
| NTY0MTcsICJiZWdpbiI6IDU2NDE1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg
|
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n
|
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu
|
| YXR1cmUiOiAibW9qby50ZXN0LlNjb3BlZENvbnN0YW50cy5mMCJ9fSwgeyJlbmQiOiA1NjQ5OCwg
|
| ImJlZ2luIjogNTY0OTYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuU2NvcGVkQ29uc3RhbnRzLmYxIn19LCB7ImVuZCI6IDU2NTc5LCAiYmVnaW4i
|
| OiA1NjU3NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
|
| bS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8u
|
| dGVzdC5TY29wZWRDb25zdGFudHMuZjIifX0sIHsiZW5kIjogNTY2NjAsICJiZWdpbiI6IDU2NjU4
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlNj
|
| b3BlZENvbnN0YW50cy5mMyJ9fSwgeyJlbmQiOiA1Njc0MSwgImJlZ2luIjogNTY3MzksICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
|
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
|
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuU2NvcGVkQ29u
|
| c3RhbnRzLmY0In19LCB7ImVuZCI6IDU2ODA3LCAiYmVnaW4iOiA1NjgwNSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5TY29wZWRDb25zdGFudHMu
|
| ZjUifX0sIHsiZW5kIjogNTY4NzMsICJiZWdpbiI6IDU2ODcxLCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlNjb3BlZENvbnN0YW50cy5mNiJ9fSwg
|
| eyJlbmQiOiA1NzgwMywgImJlZ2luIjogNTc3OTIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTWFwS2V5VHlwZXMifX0sIHsiZW5kIjogNjE3NTgs
|
| ICJiZWdpbiI6IDYxNzU2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUi
|
| OiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVz
|
| b3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUi
|
| OiAibW9qby50ZXN0Lk1hcEtleVR5cGVzLmYxIn19LCB7ImVuZCI6IDYxODQzLCAiYmVnaW4iOiA2
|
| MTg0MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5NYXBLZXlUeXBlcy5mMiJ9fSwgeyJlbmQiOiA2MTkyOCwgImJlZ2luIjogNjE5MjYsICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
|
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
|
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTWFwS2V5VHlw
|
| ZXMuZjMifX0sIHsiZW5kIjogNjIwMTUsICJiZWdpbiI6IDYyMDEzLCAiZWRnZSI6ICIlL2t5dGhl
|
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
|
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk1hcEtleVR5cGVzLmY0In19LCB7
|
| ImVuZCI6IDYyMTAwLCAiYmVnaW4iOiA2MjA5OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
|
| LCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBLZXlUeXBlcy5mNSJ9fSwgeyJlbmQiOiA2MjE4
|
| NywgImJlZ2luIjogNjIxODUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2ds
|
| ZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVy
|
| ZSI6ICJtb2pvLnRlc3QuTWFwS2V5VHlwZXMuZjYifX0sIHsiZW5kIjogNjIyNzIsICJiZWdpbiI6
|
| IDYyMjcwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0Lk1hcEtleVR5cGVzLmY3In19LCB7ImVuZCI6IDYyMzU5LCAiYmVnaW4iOiA2MjM1NywgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBLZXlU
|
| eXBlcy5mOCJ9fSwgeyJlbmQiOiA2MjQ0MCwgImJlZ2luIjogNjI0MzgsICJlZGdlIjogIiUva3l0
|
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi
|
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1
|
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTWFwS2V5VHlwZXMuZjkifX0s
|
| IHsiZW5kIjogNjI1MjUsICJiZWdpbiI6IDYyNTIyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2Vu
|
| ZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJj
|
| aHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pv
|
| bSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk1hcEtleVR5cGVzLmYxMCJ9fSwgeyJlbmQiOiA2
|
| MjYyMCwgImJlZ2luIjogNjI2MTcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuTWFwS2V5VHlwZXMuZjExIn19LCB7ImVuZCI6IDYzNTM4LCAiYmVn
|
| aW4iOiA2MzUyNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5NYXBWYWx1ZVR5cGVzIn19LCB7ImVuZCI6IDY3OTU1LCAiYmVnaW4iOiA2Nzk1Mywg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBW
|
| YWx1ZVR5cGVzLmYwIn19LCB7ImVuZCI6IDY4MDc5LCAiYmVnaW4iOiA2ODA3NywgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVz
|
| LmYxIn19LCB7ImVuZCI6IDY4MTg3LCAiYmVnaW4iOiA2ODE4NSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmYyIn19LCB7
|
| ImVuZCI6IDY4Mjk1LCAiYmVnaW4iOiA2ODI5MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
|
| LCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmYzIn19LCB7ImVuZCI6IDY4
|
| NDMyLCAiYmVnaW4iOiA2ODQzMCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
|
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
|
| dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmY0In19LCB7ImVuZCI6IDY4NTUzLCAiYmVn
|
| aW4iOiA2ODU1MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5NYXBWYWx1ZVR5cGVzLmY1In19LCB7ImVuZCI6IDY4NjY1LCAiYmVnaW4iOiA2ODY2
|
| MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5N
|
| YXBWYWx1ZVR5cGVzLmY2In19LCB7ImVuZCI6IDY4Nzg3LCAiYmVnaW4iOiA2ODc4NSwgImVkZ2Ui
|
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
|
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
|
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5
|
| cGVzLmY3In19LCB7ImVuZCI6IDY4OTIyLCAiYmVnaW4iOiA2ODkyMCwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmY4In19
|
| LCB7ImVuZCI6IDY5MDI0LCAiYmVnaW4iOiA2OTAyMiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmY5In19LCB7ImVuZCI6
|
| IDY5MTQxLCAiYmVnaW4iOiA2OTEzOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm1vam8udGVzdC5NYXBWYWx1ZVR5cGVzLmYxMCJ9fSwgeyJlbmQiOiA2OTI3Miwg
|
| ImJlZ2luIjogNjkyNjksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuTWFwVmFsdWVUeXBlcy5mMTEifX0sIHsiZW5kIjogNzAyNDUsICJiZWdpbiI6
|
| IDcwMjMwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LkFycmF5VmFsdWVUeXBlcyJ9fSwgeyJlbmQiOiA3NDA5MywgImJlZ2luIjogNzQwOTEsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuQXJyYXlW
|
| YWx1ZVR5cGVzLmYwIn19LCB7ImVuZCI6IDc0MTcyLCAiYmVnaW4iOiA3NDE3MCwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5BcnJheVZhbHVlVHlw
|
| ZXMuZjEifX0sIHsiZW5kIjogNzQyNTEsICJiZWdpbiI6IDc0MjQ5LCAiZWRnZSI6ICIlL2t5dGhl
|
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
|
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkFycmF5VmFsdWVUeXBlcy5mMiJ9
|
| fSwgeyJlbmQiOiA3NDMzMCwgImJlZ2luIjogNzQzMjgsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
|
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
|
| am9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuQXJyYXlWYWx1ZVR5cGVzLmYzIn19LCB7ImVu
|
| ZCI6IDc0NDA3LCAiYmVnaW4iOiA3NDQwNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5BcnJheVZhbHVlVHlwZXMuZjQifX0sIHsiZW5kIjogNzQ0
|
| ODUsICJiZWdpbiI6IDc0NDgzLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
|
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
|
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
|
| cmUiOiAibW9qby50ZXN0LkFycmF5VmFsdWVUeXBlcy5mNSJ9fSwgeyJlbmQiOiA3NDU5MSwgImJl
|
| Z2luIjogNzQ1ODksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJh
|
| bmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJt
|
| b2pvLnRlc3QuQXJyYXlWYWx1ZVR5cGVzLmY2In19LCB7ImVuZCI6IDc0Njk5LCAiYmVnaW4iOiA3
|
| NDY5NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5BcnJheVZhbHVlVHlwZXMuZjcifX0sIHsiZW5kIjogNzU2ODYsICJiZWdpbiI6IDc1NjY5LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
|
| L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkZsb2F0
|
| TnVtYmVyVmFsdWVzIn19LCB7ImVuZCI6IDc1OTg0LCAiYmVnaW4iOiA3NTk4MiwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5GbG9hdE51bWJlclZh
|
| bHVlcy5WMCJ9fSwgeyJlbmQiOiA3NjExMCwgImJlZ2luIjogNzYxMDgsICJlZGdlIjogIiUva3l0
|
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi
|
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1
|
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMu
|
| VjEifX0sIHsiZW5kIjogNzYyMzcsICJiZWdpbiI6IDc2MjM1LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkZsb2F0TnVtYmVyVmFsdWVzLlYyIn19
|
| LCB7ImVuZCI6IDc2MzYzLCAiYmVnaW4iOiA3NjM2MSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5GbG9hdE51bWJlclZhbHVlcy5WMyJ9fSwgeyJl
|
| bmQiOiA3NjQ4NywgImJlZ2luIjogNzY0ODUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
|
| ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
|
| aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
|
| InNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMuVjQifX0sIHsiZW5kIjog
|
| NzY2MTIsICJiZWdpbiI6IDc2NjEwLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg
|
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n
|
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu
|
| YXR1cmUiOiAibW9qby50ZXN0LkZsb2F0TnVtYmVyVmFsdWVzLlY1In19LCB7ImVuZCI6IDc2NzM3
|
| LCAiYmVnaW4iOiA3NjczNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
|
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
|
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
|
| IjogIm1vam8udGVzdC5GbG9hdE51bWJlclZhbHVlcy5WNiJ9fSwgeyJlbmQiOiA3NjgyNSwgImJl
|
| Z2luIjogNzY4MjMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJh
|
| bmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJt
|
| b2pvLnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMuVjcifX0sIHsiZW5kIjogNzY5MjYsICJiZWdpbiI6
|
| IDc2OTI0LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LkZsb2F0TnVtYmVyVmFsdWVzLlY4In19LCB7ImVuZCI6IDc3MDIwLCAiYmVnaW4iOiA3NzAx
|
| OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5G
|
| bG9hdE51bWJlclZhbHVlcy5WOSJ9fSwgeyJlbmQiOiA4MDU1OCwgImJlZ2luIjogODA1NTYsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRmxvYXRO
|
| dW1iZXJWYWx1ZXMuZjAifX0sIHsiZW5kIjogODA2MjUsICJiZWdpbiI6IDgwNjIzLCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkZsb2F0TnVtYmVy
|
| VmFsdWVzLmYxIn19LCB7ImVuZCI6IDgwNjkyLCAiYmVnaW4iOiA4MDY5MCwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5GbG9hdE51bWJlclZhbHVl
|
| cy5mMiJ9fSwgeyJlbmQiOiA4MDc1OCwgImJlZ2luIjogODA3NTYsICJlZGdlIjogIiUva3l0aGUv
|
| ZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29y
|
| cHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdl
|
| IjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMuZjMi
|
| fX0sIHsiZW5kIjogODA4MjQsICJiZWdpbiI6IDgwODIyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkZsb2F0TnVtYmVyVmFsdWVzLmY0In19LCB7
|
| ImVuZCI6IDgwODkwLCAiYmVnaW4iOiA4MDg4OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
|
| LCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5GbG9hdE51bWJlclZhbHVlcy5mNSJ9fSwgeyJlbmQi
|
| OiA4MDk1NiwgImJlZ2luIjogODA5NTQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMuZjYifX0sIHsiZW5kIjogODEw
|
| MjMsICJiZWdpbiI6IDgxMDIxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
|
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
|
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
|
| cmUiOiAibW9qby50ZXN0LkZsb2F0TnVtYmVyVmFsdWVzLmY3In19LCB7ImVuZCI6IDgxMDkwLCAi
|
| YmVnaW4iOiA4MTA4OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
|
| cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
|
| Im1vam8udGVzdC5GbG9hdE51bWJlclZhbHVlcy5mOCJ9fSwgeyJlbmQiOiA4MTE1NywgImJlZ2lu
|
| IjogODExNTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pv
|
| LnRlc3QuRmxvYXROdW1iZXJWYWx1ZXMuZjkifX0sIHsiZW5kIjogODIxMTEsICJiZWdpbiI6IDgy
|
| MDkyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2Rl
|
| ZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2No
|
| cm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0
|
| LkludGVnZXJOdW1iZXJWYWx1ZXMifX0sIHsiZW5kIjogODI0MTcsICJiZWdpbiI6IDgyNDE1LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
|
| L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVn
|
| ZXJOdW1iZXJWYWx1ZXMuVjAifX0sIHsiZW5kIjogODI1MTAsICJiZWdpbiI6IDgyNTA4LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
|
| dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
|
| YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJO
|
| dW1iZXJWYWx1ZXMuVjEifX0sIHsiZW5kIjogODI2MDEsICJiZWdpbiI6IDgyNTk5LCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1i
|
| ZXJWYWx1ZXMuVjIifX0sIHsiZW5kIjogODI2OTEsICJiZWdpbiI6IDgyNjg5LCAiZWRnZSI6ICIl
|
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
|
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
|
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJW
|
| YWx1ZXMuVjMifX0sIHsiZW5kIjogODI3ODIsICJiZWdpbiI6IDgyNzgwLCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1
|
| ZXMuVjQifX0sIHsiZW5kIjogODI4NzUsICJiZWdpbiI6IDgyODczLCAiZWRnZSI6ICIlL2t5dGhl
|
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
|
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMu
|
| VjUifX0sIHsiZW5kIjogODI5NzEsICJiZWdpbiI6IDgyOTY5LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjYi
|
| fX0sIHsiZW5kIjogODMwNjMsICJiZWdpbiI6IDgzMDYxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjcifX0s
|
| IHsiZW5kIjogODMxNTQsICJiZWdpbiI6IDgzMTUyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2Vu
|
| ZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJj
|
| aHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pv
|
| bSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjgifX0sIHsi
|
| ZW5kIjogODMyNDksICJiZWdpbiI6IDgzMjQ3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjkifX0sIHsiZW5k
|
| IjogODMzNDYsICJiZWdpbiI6IDgzMzQzLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVz
|
| IiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1
|
| bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJz
|
| aWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjEwIn19LCB7ImVuZCI6
|
| IDgzNTE1LCAiYmVnaW4iOiA4MzUxMiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLlYxMSJ9fSwgeyJlbmQiOiA4
|
| MzYwOSwgImJlZ2luIjogODM2MDYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5WMTIifX0sIHsiZW5kIjogODM3
|
| MDIsICJiZWdpbiI6IDgzNjk5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5
|
| cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29n
|
| bGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1
|
| cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjEzIn19LCB7ImVuZCI6IDgzODA0
|
| LCAiYmVnaW4iOiA4MzgwMSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBl
|
| IjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xl
|
| c291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJl
|
| IjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLlYxNCJ9fSwgeyJlbmQiOiA4MzkwNiwg
|
| ImJlZ2luIjogODM5MDMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5WMTUifX0sIHsiZW5kIjogODQwMTUsICJi
|
| ZWdpbiI6IDg0MDEyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
|
| YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
|
| Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
|
| bW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjE2In19LCB7ImVuZCI6IDg0MTA5LCAiYmVn
|
| aW4iOiA4NDEwNiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLlYxNyJ9fSwgeyJlbmQiOiA4NDIwMiwgImJlZ2lu
|
| IjogODQxOTksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pv
|
| LnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5WMTgifX0sIHsiZW5kIjogODQzMTAsICJiZWdpbiI6
|
| IDg0MzA3LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuVjE5In19LCB7ImVuZCI6IDg4MDk3LCAiYmVnaW4iOiA4
|
| ODA5NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmYwIn19LCB7ImVuZCI6IDg4MTY2LCAiYmVnaW4iOiA4ODE2
|
| NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5J
|
| bnRlZ2VyTnVtYmVyVmFsdWVzLmYxIn19LCB7ImVuZCI6IDg4MjM1LCAiYmVnaW4iOiA4ODIzMywg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRl
|
| Z2VyTnVtYmVyVmFsdWVzLmYyIn19LCB7ImVuZCI6IDg4MzA0LCAiYmVnaW4iOiA4ODMwMiwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2Vy
|
| TnVtYmVyVmFsdWVzLmYzIn19LCB7ImVuZCI6IDg4MzczLCAiYmVnaW4iOiA4ODM3MSwgImVkZ2Ui
|
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
|
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
|
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVt
|
| YmVyVmFsdWVzLmY0In19LCB7ImVuZCI6IDg4NDQzLCAiYmVnaW4iOiA4ODQ0MSwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVy
|
| VmFsdWVzLmY1In19LCB7ImVuZCI6IDg4NTEzLCAiYmVnaW4iOiA4ODUxMSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFs
|
| dWVzLmY2In19LCB7ImVuZCI6IDg4NTgzLCAiYmVnaW4iOiA4ODU4MSwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVz
|
| LmY3In19LCB7ImVuZCI6IDg4NjUzLCAiYmVnaW4iOiA4ODY1MSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmY4
|
| In19LCB7ImVuZCI6IDg4NzIzLCAiYmVnaW4iOiA4ODcyMSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
|
| OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
|
| bW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmY5In19
|
| LCB7ImVuZCI6IDg4Nzk1LCAiYmVnaW4iOiA4ODc5MiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmYxMCJ9fSwg
|
| eyJlbmQiOiA4ODg2NywgImJlZ2luIjogODg4NjQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5mMTEifX0sIHsi
|
| ZW5kIjogODg5MzksICJiZWdpbiI6IDg4OTM2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuZjEyIn19LCB7ImVu
|
| ZCI6IDg5MDExLCAiYmVnaW4iOiA4OTAwOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmYxMyJ9fSwgeyJlbmQi
|
| OiA4OTA4MywgImJlZ2luIjogODkwODAsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5mMTQifX0sIHsiZW5kIjog
|
| ODkxNTUsICJiZWdpbiI6IDg5MTUyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg
|
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n
|
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu
|
| YXR1cmUiOiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuZjE1In19LCB7ImVuZCI6IDg5
|
| MjI3LCAiYmVnaW4iOiA4OTIyNCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
|
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
|
| dXJlIjogIm1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmYxNiJ9fSwgeyJlbmQiOiA4OTI5
|
| OSwgImJlZ2luIjogODkyOTYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2ds
|
| ZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVy
|
| ZSI6ICJtb2pvLnRlc3QuSW50ZWdlck51bWJlclZhbHVlcy5mMTcifX0sIHsiZW5kIjogODkzNzEs
|
| ICJiZWdpbiI6IDg5MzY4LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUi
|
| OiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVz
|
| b3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUi
|
| OiAibW9qby50ZXN0LkludGVnZXJOdW1iZXJWYWx1ZXMuZjE4In19LCB7ImVuZCI6IDg5NDQzLCAi
|
| YmVnaW4iOiA4OTQ0MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
|
| cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
|
| Im1vam8udGVzdC5JbnRlZ2VyTnVtYmVyVmFsdWVzLmYxOSJ9fSwgeyJlbmQiOiA5MDQwNywgImJl
|
| Z2luIjogOTAzODcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJh
|
| bmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJj
|
| ZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJt
|
| b2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1ZXMifX0sIHsiZW5kIjogOTA3MTgsICJiZWdpbiI6
|
| IDkwNzE2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9y
|
| X2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29t
|
| L2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50
|
| ZXN0LlVuc2lnbmVkTnVtYmVyVmFsdWVzLlYwIn19LCB7ImVuZCI6IDkwODExLCAiYmVnaW4iOiA5
|
| MDgwOSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5VbnNpZ25lZE51bWJlclZhbHVlcy5WMSJ9fSwgeyJlbmQiOiA5MDkwNSwgImJlZ2luIjogOTA5
|
| MDMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVm
|
| aW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
|
| b21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3Qu
|
| VW5zaWduZWROdW1iZXJWYWx1ZXMuVjIifX0sIHsiZW5kIjogOTEwMDIsICJiZWdpbiI6IDkxMDAw
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVu
|
| c2lnbmVkTnVtYmVyVmFsdWVzLlYzIn19LCB7ImVuZCI6IDkxMDk2LCAiYmVnaW4iOiA5MTA5NCwg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNp
|
| Z25lZE51bWJlclZhbHVlcy5WNCJ9fSwgeyJlbmQiOiA5MTE5NCwgImJlZ2luIjogOTExOTIsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWdu
|
| ZWROdW1iZXJWYWx1ZXMuVjUifX0sIHsiZW5kIjogOTEyOTMsICJiZWdpbiI6IDkxMjkxLCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
|
| dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
|
| YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVk
|
| TnVtYmVyVmFsdWVzLlY2In19LCB7ImVuZCI6IDkxMzg3LCAiYmVnaW4iOiA5MTM4NSwgImVkZ2Ui
|
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
|
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
|
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNpZ25lZE51
|
| bWJlclZhbHVlcy5WNyJ9fSwgeyJlbmQiOiA5MTQ5MCwgImJlZ2luIjogOTE0ODgsICJlZGdlIjog
|
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFt
|
| ZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwg
|
| Imxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1i
|
| ZXJWYWx1ZXMuVjgifX0sIHsiZW5kIjogOTE1OTMsICJiZWdpbiI6IDkxNTkxLCAiZWRnZSI6ICIl
|
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
|
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
|
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVy
|
| VmFsdWVzLlY5In19LCB7ImVuZCI6IDkxNjkxLCAiYmVnaW4iOiA5MTY4OCwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNpZ25lZE51bWJlclZh
|
| bHVlcy5WMTAifX0sIHsiZW5kIjogOTE4MDQsICJiZWdpbiI6IDkxODAxLCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVyVmFs
|
| dWVzLlYxMSJ9fSwgeyJlbmQiOiA5NTQ3OCwgImJlZ2luIjogOTU0NzYsICJlZGdlIjogIiUva3l0
|
| aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsi
|
| Y29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1
|
| YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1
|
| ZXMuZjAifX0sIHsiZW5kIjogOTU1NDksICJiZWdpbiI6IDk1NTQ3LCAiZWRnZSI6ICIlL2t5dGhl
|
| L2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNv
|
| cnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFn
|
| ZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVyVmFsdWVz
|
| LmYxIn19LCB7ImVuZCI6IDk1NjIwLCAiYmVnaW4iOiA5NTYxOCwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNpZ25lZE51bWJlclZhbHVlcy5m
|
| MiJ9fSwgeyJlbmQiOiA5NTY5MiwgImJlZ2luIjogOTU2OTAsICJlZGdlIjogIiUva3l0aGUvZWRn
|
| ZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVz
|
| IjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjog
|
| Im1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1ZXMuZjMi
|
| fX0sIHsiZW5kIjogOTU3NjQsICJiZWdpbiI6IDk1NzYyLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVyVmFsdWVzLmY0In19
|
| LCB7ImVuZCI6IDk1ODM2LCAiYmVnaW4iOiA5NTgzNCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNpZ25lZE51bWJlclZhbHVlcy5mNSJ9fSwg
|
| eyJlbmQiOiA5NTkwOCwgImJlZ2luIjogOTU5MDYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1ZXMuZjYifX0sIHsi
|
| ZW5kIjogOTU5ODAsICJiZWdpbiI6IDk1OTc4LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVyVmFsdWVzLmY3In19LCB7ImVu
|
| ZCI6IDk2MDUyLCAiYmVnaW4iOiA5NjA1MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5VbnNpZ25lZE51bWJlclZhbHVlcy5mOCJ9fSwgeyJlbmQi
|
| OiA5NjEyNCwgImJlZ2luIjogOTYxMjIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1ZXMuZjkifX0sIHsiZW5kIjog
|
| OTYxOTgsICJiZWdpbiI6IDk2MTk1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwg
|
| InR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5n
|
| b29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWdu
|
| YXR1cmUiOiAibW9qby50ZXN0LlVuc2lnbmVkTnVtYmVyVmFsdWVzLmYxMCJ9fSwgeyJlbmQiOiA5
|
| NjI3MiwgImJlZ2luIjogOTYyNjksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuVW5zaWduZWROdW1iZXJWYWx1ZXMuZjExIn19LCB7ImVuZCI6IDk3
|
| MjI4LCAiYmVnaW4iOiA5NzIxNCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
|
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
|
| dXJlIjogIm1vam8udGVzdC5CaXRBcnJheVZhbHVlcyJ9fSwgeyJlbmQiOiAxMDEwMjQsICJiZWdp
|
| biI6IDEwMTAyMiwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5CaXRBcnJheVZhbHVlcy5mMCJ9fSwgeyJlbmQiOiAxMDEwOTksICJiZWdpbiI6IDEw
|
| MTA5NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5CaXRBcnJheVZhbHVlcy5mMSJ9fSwgeyJlbmQiOiAxMDExNzQsICJiZWdpbiI6IDEwMTE3Miwg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5CaXRB
|
| cnJheVZhbHVlcy5mMiJ9fSwgeyJlbmQiOiAxMDEyNDksICJiZWdpbiI6IDEwMTI0NywgImVkZ2Ui
|
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
|
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
|
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5CaXRBcnJheVZh
|
| bHVlcy5mMyJ9fSwgeyJlbmQiOiAxMDEzMzcsICJiZWdpbiI6IDEwMTMzNSwgImVkZ2UiOiAiJS9r
|
| eXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjog
|
| eyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFu
|
| Z3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5CaXRBcnJheVZhbHVlcy5m
|
| NCJ9fSwgeyJlbmQiOiAxMDE0NDEsICJiZWdpbiI6IDEwMTQzOSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5CaXRBcnJheVZhbHVlcy5mNSJ9fSwg
|
| eyJlbmQiOiAxMDE1NDUsICJiZWdpbiI6IDEwMTU0MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5CaXRBcnJheVZhbHVlcy5mNiJ9fSwgeyJlbmQi
|
| OiAxMDI0ODUsICJiZWdpbiI6IDEwMjQ2NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3QifX0sIHsiZW5kIjogMTA3
|
| MDIyLCAiYmVnaW4iOiAxMDcwMTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0LmZfaW50MzIifX0sIHsiZW5kIjog
|
| MTA3MTIwLCAiYmVnaW4iOiAxMDcxMTQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0LmZfcmVjdCJ9fSwgeyJlbmQi
|
| OiAxMDcyMDUsICJiZWdpbiI6IDEwNzE5NywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3QuZl9zdHJpbmcifX0sIHsi
|
| ZW5kIjogMTA3MzEyLCAiYmVnaW4iOiAxMDczMDUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0LmZfYXJyYXkifX0s
|
| IHsiZW5kIjogMTA3NDI3LCAiYmVnaW4iOiAxMDc0MTMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
|
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
|
| am9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0LmZfbWVzc2Fn
|
| ZV9waXBlIn19LCB7ImVuZCI6IDEwNzUwMSwgImJlZ2luIjogMTA3NDk1LCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk11bHRpVmVyc2lvblN0cnVj
|
| dC5mX2Jvb2wifX0sIHsiZW5kIjogMTA3NTgwLCAiYmVnaW4iOiAxMDc1NzMsICJlZGdlIjogIiUv
|
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
|
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
|
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3Ry
|
| dWN0LmZfaW50MTYifX0sIHsiZW5kIjogMTA4NTg5LCAiYmVnaW4iOiAxMDg1NjksICJlZGdlIjog
|
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFt
|
| ZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwg
|
| Imxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9u
|
| U3RydWN0VjEifX0sIHsiZW5kIjogMTEyMzM3LCAiYmVnaW4iOiAxMTIzMzAsICJlZGdlIjogIiUv
|
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
|
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
|
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3Ry
|
| dWN0VjEuZl9pbnQzMiJ9fSwgeyJlbmQiOiAxMTI0MzcsICJiZWdpbiI6IDExMjQzMSwgImVkZ2Ui
|
| OiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZu
|
| YW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMi
|
| LCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNp
|
| b25TdHJ1Y3RWMS5mX3JlY3QifX0sIHsiZW5kIjogMTEzNDU1LCAiYmVnaW4iOiAxMTM0MzUsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlW
|
| ZXJzaW9uU3RydWN0VjMifX0sIHsiZW5kIjogMTE3MzMwLCAiYmVnaW4iOiAxMTczMjMsICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
|
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
|
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJz
|
| aW9uU3RydWN0VjMuZl9pbnQzMiJ9fSwgeyJlbmQiOiAxMTc0MzAsICJiZWdpbiI6IDExNzQyNCwg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0
|
| aVZlcnNpb25TdHJ1Y3RWMy5mX3JlY3QifX0sIHsiZW5kIjogMTE3NTE3LCAiYmVnaW4iOiAxMTc1
|
| MDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVm
|
| aW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hy
|
| b21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRlc3Qu
|
| TXVsdGlWZXJzaW9uU3RydWN0VjMuZl9zdHJpbmcifX0sIHsiZW5kIjogMTE4NTM1LCAiYmVnaW4i
|
| OiAxMTg1MTUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pv
|
| LnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0VjUifX0sIHsiZW5kIjogMTIyNTk1LCAiYmVnaW4iOiAx
|
| MjI1ODgsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRl
|
| c3QuTXVsdGlWZXJzaW9uU3RydWN0VjUuZl9pbnQzMiJ9fSwgeyJlbmQiOiAxMjI2OTUsICJiZWdp
|
| biI6IDEyMjY4OSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFu
|
| Y2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNl
|
| LmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1v
|
| am8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3RWNS5mX3JlY3QifX0sIHsiZW5kIjogMTIyNzgyLCAi
|
| YmVnaW4iOiAxMjI3NzQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0VjUuZl9zdHJpbmcifX0sIHsiZW5kIjogMTIy
|
| ODkxLCAiYmVnaW4iOiAxMjI4ODQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJtb2pvLnRlc3QuTXVsdGlWZXJzaW9uU3RydWN0VjUuZl9hcnJheSJ9fSwgeyJlbmQi
|
| OiAxMjM5MDksICJiZWdpbiI6IDEyMzg4OSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3RWNyJ9fSwgeyJlbmQiOiAx
|
| MjgyMjUsICJiZWdpbiI6IDEyODIxOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3RWNy5mX2ludDMyIn19LCB7ImVu
|
| ZCI6IDEyODMyNSwgImJlZ2luIjogMTI4MzE5LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJh
|
| dGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJv
|
| bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIs
|
| ICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk11bHRpVmVyc2lvblN0cnVjdFY3LmZfcmVjdCJ9fSwg
|
| eyJlbmQiOiAxMjg0MTIsICJiZWdpbiI6IDEyODQwNCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dl
|
| bmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAi
|
| Y2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9q
|
| b20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3RWNy5mX3N0cmlu
|
| ZyJ9fSwgeyJlbmQiOiAxMjg1MjEsICJiZWdpbiI6IDEyODUxNCwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5NdWx0aVZlcnNpb25TdHJ1Y3RWNy5m
|
| X2FycmF5In19LCB7ImVuZCI6IDEyODYzOCwgImJlZ2luIjogMTI4NjI0LCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk11bHRpVmVyc2lvblN0cnVj
|
| dFY3LmZfbWVzc2FnZV9waXBlIn19LCB7ImVuZCI6IDEyODcxNCwgImJlZ2luIjogMTI4NzA4LCAi
|
| ZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMi
|
| LCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVt
|
| L3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0Lk11bHRp
|
| VmVyc2lvblN0cnVjdFY3LmZfYm9vbCJ9fSwgeyJlbmQiOiAxMjk3MjcsICJiZWdpbiI6IDEyOTcx
|
| MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZp
|
| bmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJv
|
| bWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5D
|
| b250YWluc0ludGVyZmFjZSJ9fSwgeyJlbmQiOiAxMzMzODYsICJiZWdpbiI6IDEzMzM3MiwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVzdC5Db250YWlu
|
| c0ludGVyZmFjZS5zb21lX2ludGVyZmFjZSJ9fSwgeyJlbmQiOiAxMzQzOTgsICJiZWdpbiI6IDEz
|
| NDM3NCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8udGVz
|
| dC5Db250YWluc0ludGVyZmFjZVJlcXVlc3QifX0sIHsiZW5kIjogMTM4MjA4LCAiYmVnaW4iOiAx
|
| MzgyMDEsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRl
|
| c3QuQ29udGFpbnNJbnRlcmZhY2VSZXF1ZXN0LnJlcXVlc3QifX0sIHsiZW5kIjogMTM5MjM5LCAi
|
| YmVnaW4iOiAxMzkyMjMsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6
|
| ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNv
|
| dXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6
|
| ICJtb2pvLnRlc3QuQ29udGFpbnNIYXNoYWJsZSJ9fSwgeyJlbmQiOiAxNDI4NTksICJiZWdpbiI6
|
| IDE0Mjg1NSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hv
|
| cl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNv
|
| bS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm1vam8u
|
| dGVzdC5Db250YWluc0hhc2hhYmxlLnJlY3QifX0sIHsiZW5kIjogMTQzODA3LCAiYmVnaW4iOiAx
|
| NDM3ODksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJtb2pvLnRl
|
| c3QuU2ltcGxlTmVzdGVkU3RydWN0In19LCB7ImVuZCI6IDE0NzQ2NCwgImJlZ2luIjogMTQ3NDU4
|
| LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmlu
|
| ZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9t
|
| aXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibW9qby50ZXN0LlNp
|
| bXBsZU5lc3RlZFN0cnVjdC5uZXN0ZWQifX1dLCAidHlwZSI6ICJreXRoZTAifQ==
|
| */ |