| // 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 SERVICES_NETWORK_PUBLIC_MOJOM_COOKIE_MANAGER_MOJOM_H_ |
| #define SERVICES_NETWORK_PUBLIC_MOJOM_COOKIE_MANAGER_MOJOM_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 "services/network/public/mojom/cookie_manager.mojom-shared.h" |
| #include "services/network/public/mojom/cookie_manager.mojom-forward.h" |
| #include "components/content_settings/core/common/content_settings.mojom.h" |
| #include "mojo/public/mojom/base/time.mojom.h" |
| #include "url/mojom/url.mojom.h" |
| #include <string> |
| #include <vector> |
| |
| #include "mojo/public/cpp/bindings/associated_interface_ptr.h" |
| #include "mojo/public/cpp/bindings/associated_interface_ptr_info.h" |
| #include "mojo/public/cpp/bindings/associated_interface_request.h" |
| #include "mojo/public/cpp/bindings/interface_ptr.h" |
| #include "mojo/public/cpp/bindings/interface_request.h" |
| #include "mojo/public/cpp/bindings/lib/control_message_handler.h" |
| #include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h" |
| #include "mojo/public/cpp/bindings/thread_safe_interface_ptr.h" |
| |
| |
| #include "mojo/public/cpp/bindings/lib/native_enum_serialization.h" |
| #include "mojo/public/cpp/bindings/lib/native_struct_serialization.h" |
| #include "ipc/ipc_message_utils.h" |
| #include "net/cookies/canonical_cookie.h" |
| #include "net/cookies/cookie_constants.h" |
| #include "net/cookies/cookie_options.h" |
| |
| #ifdef KYTHE_IS_RUNNING |
| #pragma kythe_inline_metadata "Metadata comment" |
| #endif |
| |
| |
| namespace network { |
| namespace mojom { |
| |
| class CookieChangeListenerProxy; |
| |
| template <typename ImplRefTraits> |
| class CookieChangeListenerStub; |
| |
| class CookieChangeListenerRequestValidator; |
| |
| |
| // @generated_from: network.mojom.CookieChangeListener |
| class CookieChangeListener |
| : public CookieChangeListenerInterfaceBase { |
| public: |
| static const char Name_[]; |
| static constexpr uint32_t Version_ = 0; |
| static constexpr bool PassesAssociatedKinds_ = false; |
| static constexpr bool HasSyncMethods_ = false; |
| |
| using Base_ = CookieChangeListenerInterfaceBase; |
| using Proxy_ = CookieChangeListenerProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = CookieChangeListenerStub<ImplRefTraits>; |
| |
| using RequestValidator_ = CookieChangeListenerRequestValidator; |
| using ResponseValidator_ = mojo::PassThroughFilter; |
| enum MethodMinVersions : uint32_t { |
| kOnCookieChangeMinVersion = 0, |
| }; |
| virtual ~CookieChangeListener() {} |
| |
| |
| // @generated_from: network.mojom.CookieChangeListener.OnCookieChange |
| virtual void OnCookieChange(const net::CanonicalCookie& cookie, CookieChangeCause cause) = 0; |
| }; |
| |
| class CookieManagerProxy; |
| |
| template <typename ImplRefTraits> |
| class CookieManagerStub; |
| |
| class CookieManagerRequestValidator; |
| class CookieManagerResponseValidator; |
| |
| |
| // @generated_from: network.mojom.CookieManager |
| class CookieManager |
| : public CookieManagerInterfaceBase { |
| public: |
| static const char Name_[]; |
| static constexpr uint32_t Version_ = 0; |
| static constexpr bool PassesAssociatedKinds_ = false; |
| static constexpr bool HasSyncMethods_ = false; |
| |
| using Base_ = CookieManagerInterfaceBase; |
| using Proxy_ = CookieManagerProxy; |
| |
| template <typename ImplRefTraits> |
| using Stub_ = CookieManagerStub<ImplRefTraits>; |
| |
| using RequestValidator_ = CookieManagerRequestValidator; |
| using ResponseValidator_ = CookieManagerResponseValidator; |
| enum MethodMinVersions : uint32_t { |
| kGetAllCookiesMinVersion = 0, |
| kGetCookieListMinVersion = 0, |
| kSetCanonicalCookieMinVersion = 0, |
| kDeleteCanonicalCookieMinVersion = 0, |
| kDeleteCookiesMinVersion = 0, |
| kAddCookieChangeListenerMinVersion = 0, |
| kAddGlobalChangeListenerMinVersion = 0, |
| kCloneInterfaceMinVersion = 0, |
| kFlushCookieStoreMinVersion = 0, |
| kAllowFileSchemeCookiesMinVersion = 0, |
| kSetContentSettingsMinVersion = 0, |
| kSetForceKeepSessionStateMinVersion = 0, |
| kBlockThirdPartyCookiesMinVersion = 0, |
| }; |
| virtual ~CookieManager() {} |
| |
| |
| using GetAllCookiesCallback = base::OnceCallback<void(const std::vector<net::CanonicalCookie>&)>; |
| |
| // @generated_from: network.mojom.CookieManager.GetAllCookies |
| virtual void GetAllCookies(GetAllCookiesCallback callback) = 0; |
| |
| |
| using GetCookieListCallback = base::OnceCallback<void(const std::vector<net::CanonicalCookie>&, const std::vector<net::CookieWithStatus>&)>; |
| |
| // @generated_from: network.mojom.CookieManager.GetCookieList |
| virtual void GetCookieList(const GURL& url, const net::CookieOptions& cookie_options, GetCookieListCallback callback) = 0; |
| |
| |
| using SetCanonicalCookieCallback = base::OnceCallback<void(net::CanonicalCookie::CookieInclusionStatus)>; |
| |
| // @generated_from: network.mojom.CookieManager.SetCanonicalCookie |
| virtual void SetCanonicalCookie(const net::CanonicalCookie& cookie, const std::string& source_scheme, const net::CookieOptions& cookie_options, SetCanonicalCookieCallback callback) = 0; |
| |
| |
| using DeleteCanonicalCookieCallback = base::OnceCallback<void(bool)>; |
| |
| // @generated_from: network.mojom.CookieManager.DeleteCanonicalCookie |
| virtual void DeleteCanonicalCookie(const net::CanonicalCookie& cookie, DeleteCanonicalCookieCallback callback) = 0; |
| |
| |
| using DeleteCookiesCallback = base::OnceCallback<void(uint32_t)>; |
| |
| // @generated_from: network.mojom.CookieManager.DeleteCookies |
| virtual void DeleteCookies(CookieDeletionFilterPtr filter, DeleteCookiesCallback callback) = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.AddCookieChangeListener |
| virtual void AddCookieChangeListener(const GURL& url, const std::string& name, CookieChangeListenerPtr listener) = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.AddGlobalChangeListener |
| virtual void AddGlobalChangeListener(CookieChangeListenerPtr notification_pointer) = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.CloneInterface |
| virtual void CloneInterface(CookieManagerRequest new_interface) = 0; |
| |
| |
| using FlushCookieStoreCallback = base::OnceCallback<void()>; |
| |
| // @generated_from: network.mojom.CookieManager.FlushCookieStore |
| virtual void FlushCookieStore(FlushCookieStoreCallback callback) = 0; |
| |
| |
| using AllowFileSchemeCookiesCallback = base::OnceCallback<void(bool)>; |
| |
| // @generated_from: network.mojom.CookieManager.AllowFileSchemeCookies |
| virtual void AllowFileSchemeCookies(bool allow, AllowFileSchemeCookiesCallback callback) = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.SetContentSettings |
| virtual void SetContentSettings(const std::vector<::ContentSettingPatternSource>& settings) = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.SetForceKeepSessionState |
| virtual void SetForceKeepSessionState() = 0; |
| |
| |
| // @generated_from: network.mojom.CookieManager.BlockThirdPartyCookies |
| virtual void BlockThirdPartyCookies(bool block) = 0; |
| }; |
| |
| class CookieChangeListenerProxy |
| : public CookieChangeListener { |
| public: |
| using InterfaceType = CookieChangeListener; |
| |
| explicit CookieChangeListenerProxy(mojo::MessageReceiverWithResponder* receiver); |
| void OnCookieChange(const net::CanonicalCookie& cookie, CookieChangeCause cause) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| |
| class CookieManagerProxy |
| : public CookieManager { |
| public: |
| using InterfaceType = CookieManager; |
| |
| explicit CookieManagerProxy(mojo::MessageReceiverWithResponder* receiver); |
| void GetAllCookies(GetAllCookiesCallback callback) final; |
| void GetCookieList(const GURL& url, const net::CookieOptions& cookie_options, GetCookieListCallback callback) final; |
| void SetCanonicalCookie(const net::CanonicalCookie& cookie, const std::string& source_scheme, const net::CookieOptions& cookie_options, SetCanonicalCookieCallback callback) final; |
| void DeleteCanonicalCookie(const net::CanonicalCookie& cookie, DeleteCanonicalCookieCallback callback) final; |
| void DeleteCookies(CookieDeletionFilterPtr filter, DeleteCookiesCallback callback) final; |
| void AddCookieChangeListener(const GURL& url, const std::string& name, CookieChangeListenerPtr listener) final; |
| void AddGlobalChangeListener(CookieChangeListenerPtr notification_pointer) final; |
| void CloneInterface(CookieManagerRequest new_interface) final; |
| void FlushCookieStore(FlushCookieStoreCallback callback) final; |
| void AllowFileSchemeCookies(bool allow, AllowFileSchemeCookiesCallback callback) final; |
| void SetContentSettings(const std::vector<::ContentSettingPatternSource>& settings) final; |
| void SetForceKeepSessionState() final; |
| void BlockThirdPartyCookies(bool block) final; |
| |
| private: |
| mojo::MessageReceiverWithResponder* receiver_; |
| }; |
| class CookieChangeListenerStubDispatch { |
| public: |
| static bool Accept(CookieChangeListener* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| CookieChangeListener* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<CookieChangeListener>> |
| class CookieChangeListenerStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| CookieChangeListenerStub() {} |
| ~CookieChangeListenerStub() 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 CookieChangeListenerStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return CookieChangeListenerStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class CookieManagerStubDispatch { |
| public: |
| static bool Accept(CookieManager* impl, mojo::Message* message); |
| static bool AcceptWithResponder( |
| CookieManager* impl, |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| }; |
| |
| template <typename ImplRefTraits = |
| mojo::RawPtrImplRefTraits<CookieManager>> |
| class CookieManagerStub |
| : public mojo::MessageReceiverWithResponderStatus { |
| public: |
| using ImplPointerType = typename ImplRefTraits::PointerType; |
| |
| CookieManagerStub() {} |
| ~CookieManagerStub() 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 CookieManagerStubDispatch::Accept( |
| ImplRefTraits::GetRawPointer(&sink_), message); |
| } |
| |
| bool AcceptWithResponder( |
| mojo::Message* message, |
| std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| if (ImplRefTraits::IsNull(sink_)) |
| return false; |
| return CookieManagerStubDispatch::AcceptWithResponder( |
| ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| } |
| |
| private: |
| ImplPointerType sink_; |
| }; |
| class CookieChangeListenerRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class CookieManagerRequestValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| class CookieManagerResponseValidator : public mojo::MessageReceiver { |
| public: |
| bool Accept(mojo::Message* message) override; |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CookieManagerParams |
| class CookieManagerParams { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CookieManagerParams, T>::value>; |
| using DataView = CookieManagerParamsDataView; |
| using Data_ = internal::CookieManagerParams_Data; |
| |
| template <typename... Args> |
| static CookieManagerParamsPtr New(Args&&... args) { |
| return CookieManagerParamsPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CookieManagerParamsPtr From(const U& u) { |
| return mojo::TypeConverter<CookieManagerParamsPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CookieManagerParams>::Convert(*this); |
| } |
| |
| |
| CookieManagerParams(); |
| |
| CookieManagerParams( |
| bool block_third_party_cookies, |
| const std::vector<::ContentSettingPatternSource>& settings, |
| const std::vector<std::string>& secure_origin_cookies_allowed_schemes, |
| const std::vector<std::string>& matching_scheme_cookies_allowed_schemes, |
| const std::vector<std::string>& third_party_cookies_allowed_schemes, |
| bool allow_file_scheme_cookies); |
| |
| ~CookieManagerParams(); |
| |
| // 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 = CookieManagerParamsPtr> |
| CookieManagerParamsPtr 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, CookieManagerParams::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CookieManagerParams::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CookieManagerParams::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::CookieManagerParams_UnserializedMessageContext< |
| UserType, CookieManagerParams::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<CookieManagerParams::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CookieManagerParams::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::CookieManagerParams_UnserializedMessageContext< |
| UserType, CookieManagerParams::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CookieManagerParams::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CookieManagerParams.block_third_party_cookies |
| bool block_third_party_cookies; |
| |
| // @generated_from: network.mojom.CookieManagerParams.settings |
| std::vector<::ContentSettingPatternSource> settings; |
| |
| // @generated_from: network.mojom.CookieManagerParams.secure_origin_cookies_allowed_schemes |
| std::vector<std::string> secure_origin_cookies_allowed_schemes; |
| |
| // @generated_from: network.mojom.CookieManagerParams.matching_scheme_cookies_allowed_schemes |
| std::vector<std::string> matching_scheme_cookies_allowed_schemes; |
| |
| // @generated_from: network.mojom.CookieManagerParams.third_party_cookies_allowed_schemes |
| std::vector<std::string> third_party_cookies_allowed_schemes; |
| |
| // @generated_from: network.mojom.CookieManagerParams.allow_file_scheme_cookies |
| bool allow_file_scheme_cookies; |
| |
| 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, CookieManagerParams::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CookieManagerParams::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CookieManagerParams::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CookieManagerParams::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CookieOptions |
| class CookieOptions { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CookieOptions, T>::value>; |
| using DataView = CookieOptionsDataView; |
| using Data_ = internal::CookieOptions_Data; |
| |
| template <typename... Args> |
| static CookieOptionsPtr New(Args&&... args) { |
| return CookieOptionsPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CookieOptionsPtr From(const U& u) { |
| return mojo::TypeConverter<CookieOptionsPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CookieOptions>::Convert(*this); |
| } |
| |
| |
| CookieOptions(); |
| |
| CookieOptions( |
| bool exclude_httponly, |
| net::CookieOptions::SameSiteCookieContext same_site_cookie_context, |
| bool update_access_time, |
| base::Optional<base::Time> server_time, |
| bool return_excluded_cookies); |
| |
| ~CookieOptions(); |
| |
| // 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 = CookieOptionsPtr> |
| CookieOptionsPtr 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, CookieOptions::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CookieOptions::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CookieOptions::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::CookieOptions_UnserializedMessageContext< |
| UserType, CookieOptions::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<CookieOptions::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CookieOptions::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::CookieOptions_UnserializedMessageContext< |
| UserType, CookieOptions::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CookieOptions::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CookieOptions.exclude_httponly |
| bool exclude_httponly; |
| |
| // @generated_from: network.mojom.CookieOptions.same_site_cookie_context |
| net::CookieOptions::SameSiteCookieContext same_site_cookie_context; |
| |
| // @generated_from: network.mojom.CookieOptions.update_access_time |
| bool update_access_time; |
| |
| // @generated_from: network.mojom.CookieOptions.server_time |
| base::Optional<base::Time> server_time; |
| |
| // @generated_from: network.mojom.CookieOptions.return_excluded_cookies |
| bool return_excluded_cookies; |
| |
| 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, CookieOptions::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CookieOptions::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CookieOptions::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CookieOptions::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CanonicalCookie |
| class CanonicalCookie { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CanonicalCookie, T>::value>; |
| using DataView = CanonicalCookieDataView; |
| using Data_ = internal::CanonicalCookie_Data; |
| |
| template <typename... Args> |
| static CanonicalCookiePtr New(Args&&... args) { |
| return CanonicalCookiePtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CanonicalCookiePtr From(const U& u) { |
| return mojo::TypeConverter<CanonicalCookiePtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CanonicalCookie>::Convert(*this); |
| } |
| |
| |
| CanonicalCookie(); |
| |
| CanonicalCookie( |
| const std::string& name, |
| const std::string& value, |
| const std::string& domain, |
| const std::string& path, |
| base::Time creation, |
| base::Time expiry, |
| base::Time last_access, |
| bool secure, |
| bool httponly, |
| net::CookieSameSite site_restrictions, |
| net::CookiePriority priority); |
| |
| ~CanonicalCookie(); |
| |
| // 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 = CanonicalCookiePtr> |
| CanonicalCookiePtr 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, CanonicalCookie::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CanonicalCookie::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CanonicalCookie::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::CanonicalCookie_UnserializedMessageContext< |
| UserType, CanonicalCookie::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<CanonicalCookie::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CanonicalCookie::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::CanonicalCookie_UnserializedMessageContext< |
| UserType, CanonicalCookie::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CanonicalCookie::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CanonicalCookie.name |
| std::string name; |
| |
| // @generated_from: network.mojom.CanonicalCookie.value |
| std::string value; |
| |
| // @generated_from: network.mojom.CanonicalCookie.domain |
| std::string domain; |
| |
| // @generated_from: network.mojom.CanonicalCookie.path |
| std::string path; |
| |
| // @generated_from: network.mojom.CanonicalCookie.creation |
| base::Time creation; |
| |
| // @generated_from: network.mojom.CanonicalCookie.expiry |
| base::Time expiry; |
| |
| // @generated_from: network.mojom.CanonicalCookie.last_access |
| base::Time last_access; |
| |
| // @generated_from: network.mojom.CanonicalCookie.secure |
| bool secure; |
| |
| // @generated_from: network.mojom.CanonicalCookie.httponly |
| bool httponly; |
| |
| // @generated_from: network.mojom.CanonicalCookie.site_restrictions |
| net::CookieSameSite site_restrictions; |
| |
| // @generated_from: network.mojom.CanonicalCookie.priority |
| net::CookiePriority priority; |
| |
| 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, CanonicalCookie::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CanonicalCookie::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CanonicalCookie::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CanonicalCookie::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CookieWithStatus |
| class CookieWithStatus { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CookieWithStatus, T>::value>; |
| using DataView = CookieWithStatusDataView; |
| using Data_ = internal::CookieWithStatus_Data; |
| |
| template <typename... Args> |
| static CookieWithStatusPtr New(Args&&... args) { |
| return CookieWithStatusPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CookieWithStatusPtr From(const U& u) { |
| return mojo::TypeConverter<CookieWithStatusPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CookieWithStatus>::Convert(*this); |
| } |
| |
| |
| CookieWithStatus(); |
| |
| CookieWithStatus( |
| const net::CanonicalCookie& cookie, |
| net::CanonicalCookie::CookieInclusionStatus status); |
| |
| ~CookieWithStatus(); |
| |
| // 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 = CookieWithStatusPtr> |
| CookieWithStatusPtr 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, CookieWithStatus::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CookieWithStatus::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CookieWithStatus::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::CookieWithStatus_UnserializedMessageContext< |
| UserType, CookieWithStatus::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<CookieWithStatus::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CookieWithStatus::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::CookieWithStatus_UnserializedMessageContext< |
| UserType, CookieWithStatus::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CookieWithStatus::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CookieWithStatus.cookie |
| net::CanonicalCookie cookie; |
| |
| // @generated_from: network.mojom.CookieWithStatus.status |
| net::CanonicalCookie::CookieInclusionStatus status; |
| |
| 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, CookieWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CookieWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CookieWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CookieWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CookieAndLineWithStatus |
| class CookieAndLineWithStatus { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CookieAndLineWithStatus, T>::value>; |
| using DataView = CookieAndLineWithStatusDataView; |
| using Data_ = internal::CookieAndLineWithStatus_Data; |
| |
| template <typename... Args> |
| static CookieAndLineWithStatusPtr New(Args&&... args) { |
| return CookieAndLineWithStatusPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CookieAndLineWithStatusPtr From(const U& u) { |
| return mojo::TypeConverter<CookieAndLineWithStatusPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CookieAndLineWithStatus>::Convert(*this); |
| } |
| |
| |
| CookieAndLineWithStatus(); |
| |
| CookieAndLineWithStatus( |
| const base::Optional<net::CanonicalCookie>& cookie, |
| const std::string& cookie_string, |
| net::CanonicalCookie::CookieInclusionStatus status); |
| |
| ~CookieAndLineWithStatus(); |
| |
| // 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 = CookieAndLineWithStatusPtr> |
| CookieAndLineWithStatusPtr 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, CookieAndLineWithStatus::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CookieAndLineWithStatus::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CookieAndLineWithStatus::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::CookieAndLineWithStatus_UnserializedMessageContext< |
| UserType, CookieAndLineWithStatus::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<CookieAndLineWithStatus::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CookieAndLineWithStatus::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::CookieAndLineWithStatus_UnserializedMessageContext< |
| UserType, CookieAndLineWithStatus::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CookieAndLineWithStatus::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CookieAndLineWithStatus.cookie |
| base::Optional<net::CanonicalCookie> cookie; |
| |
| // @generated_from: network.mojom.CookieAndLineWithStatus.cookie_string |
| std::string cookie_string; |
| |
| // @generated_from: network.mojom.CookieAndLineWithStatus.status |
| net::CanonicalCookie::CookieInclusionStatus status; |
| |
| 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, CookieAndLineWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CookieAndLineWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CookieAndLineWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CookieAndLineWithStatus::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| |
| |
| |
| |
| // @generated_from: network.mojom.CookieDeletionFilter |
| class CookieDeletionFilter { |
| public: |
| template <typename T> |
| using EnableIfSame = std::enable_if_t<std::is_same<CookieDeletionFilter, T>::value>; |
| using DataView = CookieDeletionFilterDataView; |
| using Data_ = internal::CookieDeletionFilter_Data; |
| |
| template <typename... Args> |
| static CookieDeletionFilterPtr New(Args&&... args) { |
| return CookieDeletionFilterPtr( |
| base::in_place, std::forward<Args>(args)...); |
| } |
| |
| template <typename U> |
| static CookieDeletionFilterPtr From(const U& u) { |
| return mojo::TypeConverter<CookieDeletionFilterPtr, U>::Convert(u); |
| } |
| |
| template <typename U> |
| U To() const { |
| return mojo::TypeConverter<U, CookieDeletionFilter>::Convert(*this); |
| } |
| |
| |
| CookieDeletionFilter(); |
| |
| CookieDeletionFilter( |
| base::Optional<base::Time> created_after_time, |
| base::Optional<base::Time> created_before_time, |
| const base::Optional<std::vector<std::string>>& excluding_domains, |
| const base::Optional<std::vector<std::string>>& including_domains, |
| const base::Optional<std::string>& cookie_name, |
| const base::Optional<std::string>& host_name, |
| const base::Optional<GURL>& url, |
| CookieDeletionSessionControl session_control); |
| |
| ~CookieDeletionFilter(); |
| |
| // 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 = CookieDeletionFilterPtr> |
| CookieDeletionFilterPtr 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, CookieDeletionFilter::EnableIfSame<T>* = nullptr> |
| bool Equals(const T& other) const; |
| |
| template <typename UserType> |
| static std::vector<uint8_t> Serialize(UserType* input) { |
| return mojo::internal::SerializeImpl< |
| CookieDeletionFilter::DataView, std::vector<uint8_t>>(input); |
| } |
| |
| template <typename UserType> |
| static mojo::Message SerializeAsMessage(UserType* input) { |
| return mojo::internal::SerializeAsMessageImpl< |
| CookieDeletionFilter::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::CookieDeletionFilter_UnserializedMessageContext< |
| UserType, CookieDeletionFilter::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<CookieDeletionFilter::DataView>( |
| data, data_num_bytes, std::vector<mojo::ScopedHandle>(), output, Validate); |
| } |
| |
| template <typename UserType> |
| static bool Deserialize(const std::vector<uint8_t>& input, |
| UserType* output) { |
| return CookieDeletionFilter::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::CookieDeletionFilter_UnserializedMessageContext< |
| UserType, CookieDeletionFilter::DataView>>(); |
| if (context) { |
| *output = std::move(context->TakeData()); |
| return true; |
| } |
| input.SerializeIfNecessary(); |
| return mojo::internal::DeserializeImpl<CookieDeletionFilter::DataView>( |
| input.payload(), input.payload_num_bytes(), |
| std::move(*input.mutable_handles()), output, Validate); |
| } |
| |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.created_after_time |
| base::Optional<base::Time> created_after_time; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.created_before_time |
| base::Optional<base::Time> created_before_time; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.excluding_domains |
| base::Optional<std::vector<std::string>> excluding_domains; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.including_domains |
| base::Optional<std::vector<std::string>> including_domains; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.cookie_name |
| base::Optional<std::string> cookie_name; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.host_name |
| base::Optional<std::string> host_name; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.url |
| base::Optional<GURL> url; |
| |
| // @generated_from: network.mojom.CookieDeletionFilter.session_control |
| CookieDeletionSessionControl session_control; |
| |
| 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, CookieDeletionFilter::EnableIfSame<T>* = nullptr> |
| bool operator<(const T& lhs, const T& rhs); |
| |
| template <typename T, CookieDeletionFilter::EnableIfSame<T>* = nullptr> |
| bool operator<=(const T& lhs, const T& rhs) { |
| return !(rhs < lhs); |
| } |
| |
| template <typename T, CookieDeletionFilter::EnableIfSame<T>* = nullptr> |
| bool operator>(const T& lhs, const T& rhs) { |
| return rhs < lhs; |
| } |
| |
| template <typename T, CookieDeletionFilter::EnableIfSame<T>* = nullptr> |
| bool operator>=(const T& lhs, const T& rhs) { |
| return !(lhs < rhs); |
| } |
| |
| template <typename StructPtrType> |
| CookieManagerParamsPtr CookieManagerParams::Clone() const { |
| return New( |
| mojo::Clone(block_third_party_cookies), |
| mojo::Clone(settings), |
| mojo::Clone(secure_origin_cookies_allowed_schemes), |
| mojo::Clone(matching_scheme_cookies_allowed_schemes), |
| mojo::Clone(third_party_cookies_allowed_schemes), |
| mojo::Clone(allow_file_scheme_cookies) |
| ); |
| } |
| |
| template <typename T, CookieManagerParams::EnableIfSame<T>*> |
| bool CookieManagerParams::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->block_third_party_cookies, other_struct.block_third_party_cookies)) |
| return false; |
| if (!mojo::Equals(this->settings, other_struct.settings)) |
| return false; |
| if (!mojo::Equals(this->secure_origin_cookies_allowed_schemes, other_struct.secure_origin_cookies_allowed_schemes)) |
| return false; |
| if (!mojo::Equals(this->matching_scheme_cookies_allowed_schemes, other_struct.matching_scheme_cookies_allowed_schemes)) |
| return false; |
| if (!mojo::Equals(this->third_party_cookies_allowed_schemes, other_struct.third_party_cookies_allowed_schemes)) |
| return false; |
| if (!mojo::Equals(this->allow_file_scheme_cookies, other_struct.allow_file_scheme_cookies)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CookieManagerParams::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.block_third_party_cookies < rhs.block_third_party_cookies) |
| return true; |
| if (rhs.block_third_party_cookies < lhs.block_third_party_cookies) |
| return false; |
| if (lhs.settings < rhs.settings) |
| return true; |
| if (rhs.settings < lhs.settings) |
| return false; |
| if (lhs.secure_origin_cookies_allowed_schemes < rhs.secure_origin_cookies_allowed_schemes) |
| return true; |
| if (rhs.secure_origin_cookies_allowed_schemes < lhs.secure_origin_cookies_allowed_schemes) |
| return false; |
| if (lhs.matching_scheme_cookies_allowed_schemes < rhs.matching_scheme_cookies_allowed_schemes) |
| return true; |
| if (rhs.matching_scheme_cookies_allowed_schemes < lhs.matching_scheme_cookies_allowed_schemes) |
| return false; |
| if (lhs.third_party_cookies_allowed_schemes < rhs.third_party_cookies_allowed_schemes) |
| return true; |
| if (rhs.third_party_cookies_allowed_schemes < lhs.third_party_cookies_allowed_schemes) |
| return false; |
| if (lhs.allow_file_scheme_cookies < rhs.allow_file_scheme_cookies) |
| return true; |
| if (rhs.allow_file_scheme_cookies < lhs.allow_file_scheme_cookies) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| CookieOptionsPtr CookieOptions::Clone() const { |
| return New( |
| mojo::Clone(exclude_httponly), |
| mojo::Clone(same_site_cookie_context), |
| mojo::Clone(update_access_time), |
| mojo::Clone(server_time), |
| mojo::Clone(return_excluded_cookies) |
| ); |
| } |
| |
| template <typename T, CookieOptions::EnableIfSame<T>*> |
| bool CookieOptions::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->exclude_httponly, other_struct.exclude_httponly)) |
| return false; |
| if (!mojo::Equals(this->same_site_cookie_context, other_struct.same_site_cookie_context)) |
| return false; |
| if (!mojo::Equals(this->update_access_time, other_struct.update_access_time)) |
| return false; |
| if (!mojo::Equals(this->server_time, other_struct.server_time)) |
| return false; |
| if (!mojo::Equals(this->return_excluded_cookies, other_struct.return_excluded_cookies)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CookieOptions::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.exclude_httponly < rhs.exclude_httponly) |
| return true; |
| if (rhs.exclude_httponly < lhs.exclude_httponly) |
| return false; |
| if (lhs.same_site_cookie_context < rhs.same_site_cookie_context) |
| return true; |
| if (rhs.same_site_cookie_context < lhs.same_site_cookie_context) |
| return false; |
| if (lhs.update_access_time < rhs.update_access_time) |
| return true; |
| if (rhs.update_access_time < lhs.update_access_time) |
| return false; |
| if (lhs.server_time < rhs.server_time) |
| return true; |
| if (rhs.server_time < lhs.server_time) |
| return false; |
| if (lhs.return_excluded_cookies < rhs.return_excluded_cookies) |
| return true; |
| if (rhs.return_excluded_cookies < lhs.return_excluded_cookies) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| CanonicalCookiePtr CanonicalCookie::Clone() const { |
| return New( |
| mojo::Clone(name), |
| mojo::Clone(value), |
| mojo::Clone(domain), |
| mojo::Clone(path), |
| mojo::Clone(creation), |
| mojo::Clone(expiry), |
| mojo::Clone(last_access), |
| mojo::Clone(secure), |
| mojo::Clone(httponly), |
| mojo::Clone(site_restrictions), |
| mojo::Clone(priority) |
| ); |
| } |
| |
| template <typename T, CanonicalCookie::EnableIfSame<T>*> |
| bool CanonicalCookie::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->name, other_struct.name)) |
| return false; |
| if (!mojo::Equals(this->value, other_struct.value)) |
| return false; |
| if (!mojo::Equals(this->domain, other_struct.domain)) |
| return false; |
| if (!mojo::Equals(this->path, other_struct.path)) |
| return false; |
| if (!mojo::Equals(this->creation, other_struct.creation)) |
| return false; |
| if (!mojo::Equals(this->expiry, other_struct.expiry)) |
| return false; |
| if (!mojo::Equals(this->last_access, other_struct.last_access)) |
| return false; |
| if (!mojo::Equals(this->secure, other_struct.secure)) |
| return false; |
| if (!mojo::Equals(this->httponly, other_struct.httponly)) |
| return false; |
| if (!mojo::Equals(this->site_restrictions, other_struct.site_restrictions)) |
| return false; |
| if (!mojo::Equals(this->priority, other_struct.priority)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CanonicalCookie::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.value < rhs.value) |
| return true; |
| if (rhs.value < lhs.value) |
| return false; |
| if (lhs.domain < rhs.domain) |
| return true; |
| if (rhs.domain < lhs.domain) |
| return false; |
| if (lhs.path < rhs.path) |
| return true; |
| if (rhs.path < lhs.path) |
| return false; |
| if (lhs.creation < rhs.creation) |
| return true; |
| if (rhs.creation < lhs.creation) |
| return false; |
| if (lhs.expiry < rhs.expiry) |
| return true; |
| if (rhs.expiry < lhs.expiry) |
| return false; |
| if (lhs.last_access < rhs.last_access) |
| return true; |
| if (rhs.last_access < lhs.last_access) |
| return false; |
| if (lhs.secure < rhs.secure) |
| return true; |
| if (rhs.secure < lhs.secure) |
| return false; |
| if (lhs.httponly < rhs.httponly) |
| return true; |
| if (rhs.httponly < lhs.httponly) |
| return false; |
| if (lhs.site_restrictions < rhs.site_restrictions) |
| return true; |
| if (rhs.site_restrictions < lhs.site_restrictions) |
| return false; |
| if (lhs.priority < rhs.priority) |
| return true; |
| if (rhs.priority < lhs.priority) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| CookieWithStatusPtr CookieWithStatus::Clone() const { |
| return New( |
| mojo::Clone(cookie), |
| mojo::Clone(status) |
| ); |
| } |
| |
| template <typename T, CookieWithStatus::EnableIfSame<T>*> |
| bool CookieWithStatus::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->cookie, other_struct.cookie)) |
| return false; |
| if (!mojo::Equals(this->status, other_struct.status)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CookieWithStatus::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.cookie < rhs.cookie) |
| return true; |
| if (rhs.cookie < lhs.cookie) |
| return false; |
| if (lhs.status < rhs.status) |
| return true; |
| if (rhs.status < lhs.status) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| CookieAndLineWithStatusPtr CookieAndLineWithStatus::Clone() const { |
| return New( |
| mojo::Clone(cookie), |
| mojo::Clone(cookie_string), |
| mojo::Clone(status) |
| ); |
| } |
| |
| template <typename T, CookieAndLineWithStatus::EnableIfSame<T>*> |
| bool CookieAndLineWithStatus::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->cookie, other_struct.cookie)) |
| return false; |
| if (!mojo::Equals(this->cookie_string, other_struct.cookie_string)) |
| return false; |
| if (!mojo::Equals(this->status, other_struct.status)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CookieAndLineWithStatus::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.cookie < rhs.cookie) |
| return true; |
| if (rhs.cookie < lhs.cookie) |
| return false; |
| if (lhs.cookie_string < rhs.cookie_string) |
| return true; |
| if (rhs.cookie_string < lhs.cookie_string) |
| return false; |
| if (lhs.status < rhs.status) |
| return true; |
| if (rhs.status < lhs.status) |
| return false; |
| return false; |
| } |
| template <typename StructPtrType> |
| CookieDeletionFilterPtr CookieDeletionFilter::Clone() const { |
| return New( |
| mojo::Clone(created_after_time), |
| mojo::Clone(created_before_time), |
| mojo::Clone(excluding_domains), |
| mojo::Clone(including_domains), |
| mojo::Clone(cookie_name), |
| mojo::Clone(host_name), |
| mojo::Clone(url), |
| mojo::Clone(session_control) |
| ); |
| } |
| |
| template <typename T, CookieDeletionFilter::EnableIfSame<T>*> |
| bool CookieDeletionFilter::Equals(const T& other_struct) const { |
| if (!mojo::Equals(this->created_after_time, other_struct.created_after_time)) |
| return false; |
| if (!mojo::Equals(this->created_before_time, other_struct.created_before_time)) |
| return false; |
| if (!mojo::Equals(this->excluding_domains, other_struct.excluding_domains)) |
| return false; |
| if (!mojo::Equals(this->including_domains, other_struct.including_domains)) |
| return false; |
| if (!mojo::Equals(this->cookie_name, other_struct.cookie_name)) |
| return false; |
| if (!mojo::Equals(this->host_name, other_struct.host_name)) |
| return false; |
| if (!mojo::Equals(this->url, other_struct.url)) |
| return false; |
| if (!mojo::Equals(this->session_control, other_struct.session_control)) |
| return false; |
| return true; |
| } |
| |
| template <typename T, CookieDeletionFilter::EnableIfSame<T>*> |
| bool operator<(const T& lhs, const T& rhs) { |
| if (lhs.created_after_time < rhs.created_after_time) |
| return true; |
| if (rhs.created_after_time < lhs.created_after_time) |
| return false; |
| if (lhs.created_before_time < rhs.created_before_time) |
| return true; |
| if (rhs.created_before_time < lhs.created_before_time) |
| return false; |
| if (lhs.excluding_domains < rhs.excluding_domains) |
| return true; |
| if (rhs.excluding_domains < lhs.excluding_domains) |
| return false; |
| if (lhs.including_domains < rhs.including_domains) |
| return true; |
| if (rhs.including_domains < lhs.including_domains) |
| return false; |
| if (lhs.cookie_name < rhs.cookie_name) |
| return true; |
| if (rhs.cookie_name < lhs.cookie_name) |
| return false; |
| if (lhs.host_name < rhs.host_name) |
| return true; |
| if (rhs.host_name < lhs.host_name) |
| return false; |
| if (lhs.url < rhs.url) |
| return true; |
| if (rhs.url < lhs.url) |
| return false; |
| if (lhs.session_control < rhs.session_control) |
| return true; |
| if (rhs.session_control < lhs.session_control) |
| return false; |
| return false; |
| } |
| |
| |
| } // namespace mojom |
| } // namespace network |
| |
| namespace mojo { |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CookieManagerParams::DataView, |
| ::network::mojom::CookieManagerParamsPtr> { |
| static bool IsNull(const ::network::mojom::CookieManagerParamsPtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CookieManagerParamsPtr* output) { output->reset(); } |
| |
| static decltype(::network::mojom::CookieManagerParams::block_third_party_cookies) block_third_party_cookies( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->block_third_party_cookies; |
| } |
| |
| static const decltype(::network::mojom::CookieManagerParams::settings)& settings( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->settings; |
| } |
| |
| static const decltype(::network::mojom::CookieManagerParams::secure_origin_cookies_allowed_schemes)& secure_origin_cookies_allowed_schemes( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->secure_origin_cookies_allowed_schemes; |
| } |
| |
| static const decltype(::network::mojom::CookieManagerParams::matching_scheme_cookies_allowed_schemes)& matching_scheme_cookies_allowed_schemes( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->matching_scheme_cookies_allowed_schemes; |
| } |
| |
| static const decltype(::network::mojom::CookieManagerParams::third_party_cookies_allowed_schemes)& third_party_cookies_allowed_schemes( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->third_party_cookies_allowed_schemes; |
| } |
| |
| static decltype(::network::mojom::CookieManagerParams::allow_file_scheme_cookies) allow_file_scheme_cookies( |
| const ::network::mojom::CookieManagerParamsPtr& input) { |
| return input->allow_file_scheme_cookies; |
| } |
| |
| static bool Read(::network::mojom::CookieManagerParams::DataView input, ::network::mojom::CookieManagerParamsPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CookieOptions::DataView, |
| ::network::mojom::CookieOptionsPtr> { |
| static bool IsNull(const ::network::mojom::CookieOptionsPtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CookieOptionsPtr* output) { output->reset(); } |
| |
| static decltype(::network::mojom::CookieOptions::exclude_httponly) exclude_httponly( |
| const ::network::mojom::CookieOptionsPtr& input) { |
| return input->exclude_httponly; |
| } |
| |
| static decltype(::network::mojom::CookieOptions::same_site_cookie_context) same_site_cookie_context( |
| const ::network::mojom::CookieOptionsPtr& input) { |
| return input->same_site_cookie_context; |
| } |
| |
| static decltype(::network::mojom::CookieOptions::update_access_time) update_access_time( |
| const ::network::mojom::CookieOptionsPtr& input) { |
| return input->update_access_time; |
| } |
| |
| static const decltype(::network::mojom::CookieOptions::server_time)& server_time( |
| const ::network::mojom::CookieOptionsPtr& input) { |
| return input->server_time; |
| } |
| |
| static decltype(::network::mojom::CookieOptions::return_excluded_cookies) return_excluded_cookies( |
| const ::network::mojom::CookieOptionsPtr& input) { |
| return input->return_excluded_cookies; |
| } |
| |
| static bool Read(::network::mojom::CookieOptions::DataView input, ::network::mojom::CookieOptionsPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CanonicalCookie::DataView, |
| ::network::mojom::CanonicalCookiePtr> { |
| static bool IsNull(const ::network::mojom::CanonicalCookiePtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CanonicalCookiePtr* output) { output->reset(); } |
| |
| static const decltype(::network::mojom::CanonicalCookie::name)& name( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->name; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::value)& value( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->value; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::domain)& domain( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->domain; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::path)& path( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->path; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::creation)& creation( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->creation; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::expiry)& expiry( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->expiry; |
| } |
| |
| static const decltype(::network::mojom::CanonicalCookie::last_access)& last_access( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->last_access; |
| } |
| |
| static decltype(::network::mojom::CanonicalCookie::secure) secure( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->secure; |
| } |
| |
| static decltype(::network::mojom::CanonicalCookie::httponly) httponly( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->httponly; |
| } |
| |
| static decltype(::network::mojom::CanonicalCookie::site_restrictions) site_restrictions( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->site_restrictions; |
| } |
| |
| static decltype(::network::mojom::CanonicalCookie::priority) priority( |
| const ::network::mojom::CanonicalCookiePtr& input) { |
| return input->priority; |
| } |
| |
| static bool Read(::network::mojom::CanonicalCookie::DataView input, ::network::mojom::CanonicalCookiePtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CookieWithStatus::DataView, |
| ::network::mojom::CookieWithStatusPtr> { |
| static bool IsNull(const ::network::mojom::CookieWithStatusPtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CookieWithStatusPtr* output) { output->reset(); } |
| |
| static const decltype(::network::mojom::CookieWithStatus::cookie)& cookie( |
| const ::network::mojom::CookieWithStatusPtr& input) { |
| return input->cookie; |
| } |
| |
| static decltype(::network::mojom::CookieWithStatus::status) status( |
| const ::network::mojom::CookieWithStatusPtr& input) { |
| return input->status; |
| } |
| |
| static bool Read(::network::mojom::CookieWithStatus::DataView input, ::network::mojom::CookieWithStatusPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CookieAndLineWithStatus::DataView, |
| ::network::mojom::CookieAndLineWithStatusPtr> { |
| static bool IsNull(const ::network::mojom::CookieAndLineWithStatusPtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CookieAndLineWithStatusPtr* output) { output->reset(); } |
| |
| static const decltype(::network::mojom::CookieAndLineWithStatus::cookie)& cookie( |
| const ::network::mojom::CookieAndLineWithStatusPtr& input) { |
| return input->cookie; |
| } |
| |
| static const decltype(::network::mojom::CookieAndLineWithStatus::cookie_string)& cookie_string( |
| const ::network::mojom::CookieAndLineWithStatusPtr& input) { |
| return input->cookie_string; |
| } |
| |
| static decltype(::network::mojom::CookieAndLineWithStatus::status) status( |
| const ::network::mojom::CookieAndLineWithStatusPtr& input) { |
| return input->status; |
| } |
| |
| static bool Read(::network::mojom::CookieAndLineWithStatus::DataView input, ::network::mojom::CookieAndLineWithStatusPtr* output); |
| }; |
| |
| |
| template <> |
| struct StructTraits<::network::mojom::CookieDeletionFilter::DataView, |
| ::network::mojom::CookieDeletionFilterPtr> { |
| static bool IsNull(const ::network::mojom::CookieDeletionFilterPtr& input) { return !input; } |
| static void SetToNull(::network::mojom::CookieDeletionFilterPtr* output) { output->reset(); } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::created_after_time)& created_after_time( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->created_after_time; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::created_before_time)& created_before_time( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->created_before_time; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::excluding_domains)& excluding_domains( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->excluding_domains; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::including_domains)& including_domains( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->including_domains; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::cookie_name)& cookie_name( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->cookie_name; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::host_name)& host_name( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->host_name; |
| } |
| |
| static const decltype(::network::mojom::CookieDeletionFilter::url)& url( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->url; |
| } |
| |
| static decltype(::network::mojom::CookieDeletionFilter::session_control) session_control( |
| const ::network::mojom::CookieDeletionFilterPtr& input) { |
| return input->session_control; |
| } |
| |
| static bool Read(::network::mojom::CookieDeletionFilter::DataView input, ::network::mojom::CookieDeletionFilterPtr* output); |
| }; |
| |
| } // namespace mojo |
| |
| #endif // SERVICES_NETWORK_PUBLIC_MOJOM_COOKIE_MANAGER_MOJOM_H_
|
| /* Metadata comment
|
| eyJtZXRhIjogW3siZW5kIjogMjM4NSwgImJlZ2luIjogMjM2NSwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llQ2hhbmdlTGlzdGVu
|
| ZXIifX0sIHsiZW5kIjogMzE0OSwgImJlZ2luIjogMzEzNSwgImVkZ2UiOiAiJS9reXRoZS9lZGdl
|
| L2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMi
|
| OiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAi
|
| bW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llQ2hhbmdlTGlzdGVuZXIu
|
| T25Db29raWVDaGFuZ2UifX0sIHsiZW5kIjogMzQ1MiwgImJlZ2luIjogMzQzOSwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llTWFu
|
| YWdlciJ9fSwgeyJlbmQiOiA0NzUxLCAiYmVnaW4iOiA0NzM4LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVNYW5hZ2VyLkdldEFs
|
| bENvb2tpZXMifX0sIHsiZW5kIjogNTAyNywgImJlZ2luIjogNTAxNCwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llTWFuYWdlci5H
|
| ZXRDb29raWVMaXN0In19LCB7ImVuZCI6IDUzMzcsICJiZWdpbiI6IDUzMTksICJlZGdlIjogIiUv
|
| a3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6
|
| IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxh
|
| bmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU1hbmFn
|
| ZXIuU2V0Q2Fub25pY2FsQ29va2llIn19LCB7ImVuZCI6IDU2NzUsICJiZWdpbiI6IDU2NTQsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNv
|
| b2tpZU1hbmFnZXIuRGVsZXRlQ2Fub25pY2FsQ29va2llIn19LCB7ImVuZCI6IDU5MjAsICJiZWdp
|
| biI6IDU5MDcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3
|
| b3JrLm1vam9tLkNvb2tpZU1hbmFnZXIuRGVsZXRlQ29va2llcyJ9fSwgeyJlbmQiOiA2MTA0LCAi
|
| YmVnaW4iOiA2MDgxLCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
|
| YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
|
| Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
|
| bmV0d29yay5tb2pvbS5Db29raWVNYW5hZ2VyLkFkZENvb2tpZUNoYW5nZUxpc3RlbmVyIn19LCB7
|
| ImVuZCI6IDYzMDAsICJiZWdpbiI6IDYyNzcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
|
| ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
|
| aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
|
| InNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU1hbmFnZXIuQWRkR2xvYmFsQ2hhbmdl
|
| TGlzdGVuZXIifX0sIHsiZW5kIjogNjQ0OCwgImJlZ2luIjogNjQzNCwgImVkZ2UiOiAiJS9reXRo
|
| ZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJj
|
| b3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3Vh
|
| Z2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llTWFuYWdlci5D
|
| bG9uZUludGVyZmFjZSJ9fSwgeyJlbmQiOiA2NjU0LCAiYmVnaW4iOiA2NjM4LCAiZWRnZSI6ICIl
|
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
|
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
|
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVNYW5h
|
| Z2VyLkZsdXNoQ29va2llU3RvcmUifX0sIHsiZW5kIjogNjg4MSwgImJlZ2luIjogNjg1OSwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29v
|
| a2llTWFuYWdlci5BbGxvd0ZpbGVTY2hlbWVDb29raWVzIn19LCB7ImVuZCI6IDcwNDQsICJiZWdp
|
| biI6IDcwMjYsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3
|
| b3JrLm1vam9tLkNvb2tpZU1hbmFnZXIuU2V0Q29udGVudFNldHRpbmdzIn19LCB7ImVuZCI6IDcy
|
| MjYsICJiZWdpbiI6IDcyMDIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlw
|
| ZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2ds
|
| ZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVy
|
| ZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU1hbmFnZXIuU2V0Rm9yY2VLZWVwU2Vzc2lvblN0YXRl
|
| In19LCB7ImVuZCI6IDczNDYsICJiZWdpbiI6IDczMjQsICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
|
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
|
| am9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU1hbmFnZXIuQmxvY2tUaGly
|
| ZFBhcnR5Q29va2llcyJ9fSwgeyJlbmQiOiAxMjI1MiwgImJlZ2luIjogMTIyMzMsICJlZGdlIjog
|
| IiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFt
|
| ZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwg
|
| Imxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU1h
|
| bmFnZXJQYXJhbXMifX0sIHsiZW5kIjogMTYyNjIsICJiZWdpbiI6IDE2MjM3LCAiZWRnZSI6ICIl
|
| L2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUi
|
| OiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJs
|
| YW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVNYW5h
|
| Z2VyUGFyYW1zLmJsb2NrX3RoaXJkX3BhcnR5X2Nvb2tpZXMifX0sIHsiZW5kIjogMTYzODMsICJi
|
| ZWdpbiI6IDE2Mzc1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAi
|
| YW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3Vy
|
| Y2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAi
|
| bmV0d29yay5tb2pvbS5Db29raWVNYW5hZ2VyUGFyYW1zLnNldHRpbmdzIn19LCB7ImVuZCI6IDE2
|
| NTQ0LCAiYmVnaW4iOiAxNjUwNywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0
|
| eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29v
|
| Z2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0
|
| dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llTWFuYWdlclBhcmFtcy5zZWN1cmVfb3JpZ2luX2Nv
|
| b2tpZXNfYWxsb3dlZF9zY2hlbWVzIn19LCB7ImVuZCI6IDE2NzA5LCAiYmVnaW4iOiAxNjY3MCwg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20u
|
| Q29va2llTWFuYWdlclBhcmFtcy5tYXRjaGluZ19zY2hlbWVfY29va2llc19hbGxvd2VkX3NjaGVt
|
| ZXMifX0sIHsiZW5kIjogMTY4NjYsICJiZWdpbiI6IDE2ODMxLCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVNYW5hZ2VyUGFyYW1z
|
| LnRoaXJkX3BhcnR5X2Nvb2tpZXNfYWxsb3dlZF9zY2hlbWVzIn19LCB7ImVuZCI6IDE2OTgzLCAi
|
| YmVnaW4iOiAxNjk1OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
|
| cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
|
| Im5ldHdvcmsubW9qb20uQ29va2llTWFuYWdlclBhcmFtcy5hbGxvd19maWxlX3NjaGVtZV9jb29r
|
| aWVzIn19LCB7ImVuZCI6IDE3OTM3LCAiYmVnaW4iOiAxNzkyNCwgImVkZ2UiOiAiJS9reXRoZS9l
|
| ZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3Jw
|
| dXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2Ui
|
| OiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llT3B0aW9ucyJ9fSwg
|
| eyJlbmQiOiAyMTYyOCwgImJlZ2luIjogMjE2MTIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU9wdGlvbnMuZXhjbHVkZV9odHRw
|
| b25seSJ9fSwgeyJlbmQiOiAyMTc3NCwgImJlZ2luIjogMjE3NTAsICJlZGdlIjogIiUva3l0aGUv
|
| ZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29y
|
| cHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdl
|
| IjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZU9wdGlvbnMuc2Ft
|
| ZV9zaXRlX2Nvb2tpZV9jb250ZXh0In19LCB7ImVuZCI6IDIxODcxLCAiYmVnaW4iOiAyMTg1Mywg
|
| ImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVz
|
| IiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1
|
| bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20u
|
| Q29va2llT3B0aW9ucy51cGRhdGVfYWNjZXNzX3RpbWUifX0sIHsiZW5kIjogMjE5NzYsICJiZWdp
|
| biI6IDIxOTY1LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5j
|
| aG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2Uu
|
| Y29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0
|
| d29yay5tb2pvbS5Db29raWVPcHRpb25zLnNlcnZlcl90aW1lIn19LCB7ImVuZCI6IDIyMDgzLCAi
|
| YmVnaW4iOiAyMjA2MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjog
|
| ImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291
|
| cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjog
|
| Im5ldHdvcmsubW9qb20uQ29va2llT3B0aW9ucy5yZXR1cm5fZXhjbHVkZWRfY29va2llcyJ9fSwg
|
| eyJlbmQiOiAyMzAxNywgImJlZ2luIjogMjMwMDIsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNhbm9uaWNhbENvb2tpZSJ9fSwgeyJlbmQi
|
| OiAyNjg1MywgImJlZ2luIjogMjY4NDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNhbm9uaWNhbENvb2tpZS5uYW1lIn19LCB7ImVuZCI6
|
| IDI2OTMzLCAiYmVnaW4iOiAyNjkyOCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ2Fub25pY2FsQ29va2llLnZhbHVlIn19LCB7ImVuZCI6
|
| IDI3MDE1LCAiYmVnaW4iOiAyNzAwOSwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ2Fub25pY2FsQ29va2llLmRvbWFpbiJ9fSwgeyJlbmQi
|
| OiAyNzA5MywgImJlZ2luIjogMjcwODksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMi
|
| LCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVt
|
| Lmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNp
|
| Z25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNhbm9uaWNhbENvb2tpZS5wYXRoIn19LCB7ImVuZCI6
|
| IDI3MTc4LCAiYmVnaW4iOiAyNzE3MCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIs
|
| ICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0u
|
| Z29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2ln
|
| bmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ2Fub25pY2FsQ29va2llLmNyZWF0aW9uIn19LCB7ImVu
|
| ZCI6IDI3MjU5LCAiYmVnaW4iOiAyNzI1MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ2Fub25pY2FsQ29va2llLmV4cGlyeSJ9fSwgeyJl
|
| bmQiOiAyNzM1MCwgImJlZ2luIjogMjczMzksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0
|
| ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9t
|
| aXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwg
|
| InNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNhbm9uaWNhbENvb2tpZS5sYXN0X2FjY2VzcyJ9
|
| fSwgeyJlbmQiOiAyNzQyNSwgImJlZ2luIjogMjc0MTksICJlZGdlIjogIiUva3l0aGUvZWRnZS9n
|
| ZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjog
|
| ImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1v
|
| am9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNhbm9uaWNhbENvb2tpZS5zZWN1cmUi
|
| fX0sIHsiZW5kIjogMjc1MDQsICJiZWdpbiI6IDI3NDk2LCAiZWRnZSI6ICIlL2t5dGhlL2VkZ2Uv
|
| Z2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1cyI6
|
| ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6ICJt
|
| b2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5DYW5vbmljYWxDb29raWUuaHR0cG9u
|
| bHkifX0sIHsiZW5kIjogMjc2MTYsICJiZWdpbiI6IDI3NTk5LCAiZWRnZSI6ICIlL2t5dGhlL2Vk
|
| Z2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7ImNvcnB1
|
| cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5ndWFnZSI6
|
| ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5DYW5vbmljYWxDb29raWUuc2l0
|
| ZV9yZXN0cmljdGlvbnMifX0sIHsiZW5kIjogMjc3MTAsICJiZWdpbiI6IDI3NzAyLCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5DYW5vbmlj
|
| YWxDb29raWUucHJpb3JpdHkifX0sIHsiZW5kIjogMjg2NTQsICJiZWdpbiI6IDI4NjM4LCAiZWRn
|
| ZSI6ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAi
|
| dm5hbWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3Ny
|
| YyIsICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29r
|
| aWVXaXRoU3RhdHVzIn19LCB7ImVuZCI6IDMyMjk3LCAiYmVnaW4iOiAzMjI5MSwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llV2l0
|
| aFN0YXR1cy5jb29raWUifX0sIHsiZW5kIjogMzI0MTIsICJiZWdpbiI6IDMyNDA2LCAiZWRnZSI6
|
| ICIlL2t5dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5h
|
| bWUiOiB7ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIs
|
| ICJsYW5ndWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVX
|
| aXRoU3RhdHVzLnN0YXR1cyJ9fSwgeyJlbmQiOiAzMzM3NCwgImJlZ2luIjogMzMzNTEsICJlZGdl
|
| IjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2
|
| bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3Jj
|
| IiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tp
|
| ZUFuZExpbmVXaXRoU3RhdHVzIn19LCB7ImVuZCI6IDM3MjU3LCAiYmVnaW4iOiAzNzI1MSwgImVk
|
| Z2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwg
|
| InZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
|
| cmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29v
|
| a2llQW5kTGluZVdpdGhTdGF0dXMuY29va2llIn19LCB7ImVuZCI6IDM3MzYxLCAiYmVnaW4iOiAz
|
| NzM0OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9k
|
| ZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
|
| aHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsu
|
| bW9qb20uQ29va2llQW5kTGluZVdpdGhTdGF0dXMuY29va2llX3N0cmluZyJ9fSwgeyJlbmQiOiAz
|
| NzQ4MywgImJlZ2luIjogMzc0NzcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAi
|
| dHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdv
|
| b2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25h
|
| dHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZUFuZExpbmVXaXRoU3RhdHVzLnN0YXR1cyJ9fSwg
|
| eyJlbmQiOiAzODQ2NywgImJlZ2luIjogMzg0NDcsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5l
|
| cmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNo
|
| cm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9t
|
| IiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNvb2tpZURlbGV0aW9uRmlsdGVyIn19LCB7
|
| ImVuZCI6IDQyNTg2LCAiYmVnaW4iOiA0MjU2OCwgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVy
|
| YXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hy
|
| b21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20i
|
| LCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llRGVsZXRpb25GaWx0ZXIuY3JlYXRl
|
| ZF9hZnRlcl90aW1lIn19LCB7ImVuZCI6IDQyNzE0LCAiYmVnaW4iOiA0MjY5NSwgImVkZ2UiOiAi
|
| JS9reXRoZS9lZGdlL2dlbmVyYXRlcyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1l
|
| IjogeyJjb3JwdXMiOiAiY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAi
|
| bGFuZ3VhZ2UiOiAibW9qb20iLCAic2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llRGVs
|
| ZXRpb25GaWx0ZXIuY3JlYXRlZF9iZWZvcmVfdGltZSJ9fSwgeyJlbmQiOiA0Mjg1MiwgImJlZ2lu
|
| IjogNDI4MzUsICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3
|
| b3JrLm1vam9tLkNvb2tpZURlbGV0aW9uRmlsdGVyLmV4Y2x1ZGluZ19kb21haW5zIn19LCB7ImVu
|
| ZCI6IDQyOTkwLCAiYmVnaW4iOiA0Mjk3MywgImVkZ2UiOiAiJS9reXRoZS9lZGdlL2dlbmVyYXRl
|
| cyIsICJ0eXBlIjogImFuY2hvcl9kZWZpbmVzIiwgInZuYW1lIjogeyJjb3JwdXMiOiAiY2hyb21p
|
| dW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMiLCAibGFuZ3VhZ2UiOiAibW9qb20iLCAi
|
| c2lnbmF0dXJlIjogIm5ldHdvcmsubW9qb20uQ29va2llRGVsZXRpb25GaWx0ZXIuaW5jbHVkaW5n
|
| X2RvbWFpbnMifX0sIHsiZW5kIjogNDMxMDMsICJiZWdpbiI6IDQzMDkyLCAiZWRnZSI6ICIlL2t5
|
| dGhlL2VkZ2UvZ2VuZXJhdGVzIiwgInR5cGUiOiAiYW5jaG9yX2RlZmluZXMiLCAidm5hbWUiOiB7
|
| ImNvcnB1cyI6ICJjaHJvbWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3NyYyIsICJsYW5n
|
| dWFnZSI6ICJtb2pvbSIsICJzaWduYXR1cmUiOiAibmV0d29yay5tb2pvbS5Db29raWVEZWxldGlv
|
| bkZpbHRlci5jb29raWVfbmFtZSJ9fSwgeyJlbmQiOiA0MzIxMiwgImJlZ2luIjogNDMyMDMsICJl
|
| ZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3JfZGVmaW5lcyIs
|
| ICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0v
|
| c3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3JrLm1vam9tLkNv
|
| b2tpZURlbGV0aW9uRmlsdGVyLmhvc3RfbmFtZSJ9fSwgeyJlbmQiOiA0MzMwMiwgImJlZ2luIjog
|
| NDMyOTksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNob3Jf
|
| ZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5jb20v
|
| Y2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3b3Jr
|
| Lm1vam9tLkNvb2tpZURlbGV0aW9uRmlsdGVyLnVybCJ9fSwgeyJlbmQiOiA0MzQyNCwgImJlZ2lu
|
| IjogNDM0MDksICJlZGdlIjogIiUva3l0aGUvZWRnZS9nZW5lcmF0ZXMiLCAidHlwZSI6ICJhbmNo
|
| b3JfZGVmaW5lcyIsICJ2bmFtZSI6IHsiY29ycHVzIjogImNocm9taXVtLmdvb2dsZXNvdXJjZS5j
|
| b20vY2hyb21pdW0vc3JjIiwgImxhbmd1YWdlIjogIm1vam9tIiwgInNpZ25hdHVyZSI6ICJuZXR3
|
| b3JrLm1vam9tLkNvb2tpZURlbGV0aW9uRmlsdGVyLnNlc3Npb25fY29udHJvbCJ9fV0sICJ0eXBl
|
| IjogImt5dGhlMCJ9
|
| */ |