=begin
#Ory APIs

## Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers.  ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages:  | Language       | Download SDK                                                     | Documentation                                                                        | | -------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Dart           | [pub.dev](https://pub.dev/packages/ory_client)                   | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md)       | | .NET           | [nuget.org](https://www.nuget.org/packages/Ory.Client/)          | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md)     | | Elixir         | [hex.pm](https://hex.pm/packages/ory_client)                     | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md)     | | Go             | [github.com](https://github.com/ory/client-go)                   | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md)         | | Java           | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md)       | | JavaScript     | [npmjs.com](https://www.npmjs.com/package/@ory/client)           | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch)           | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) |  | PHP            | [packagist.org](https://packagist.org/packages/ory/client)       | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md)        | | Python         | [pypi.org](https://pypi.org/project/ory-client/)                 | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md)     | | Ruby           | [rubygems.org](https://rubygems.org/gems/ory-client)             | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md)       | | Rust           | [crates.io](https://crates.io/crates/ory-client)                 | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md)       | 

The version of the OpenAPI document: v1.22.6
Contact: support@ory.sh
Generated by: https://openapi-generator.tech
Generator version: 7.12.0

=end

require 'date'
require 'time'

module OryClient
  class AccountExperienceColors
    attr_accessor :ax_background_default

    attr_accessor :brand_100

    attr_accessor :brand_200

    attr_accessor :brand_300

    attr_accessor :brand_400

    attr_accessor :brand_50

    attr_accessor :brand_500

    attr_accessor :brand_600

    attr_accessor :brand_700

    attr_accessor :brand_800

    attr_accessor :brand_900

    attr_accessor :brand_950

    attr_accessor :button_identifier_background_default

    attr_accessor :button_identifier_background_hover

    attr_accessor :button_identifier_border_border_default

    attr_accessor :button_identifier_border_border_hover

    attr_accessor :button_identifier_foreground_default

    attr_accessor :button_identifier_foreground_hover

    attr_accessor :button_link_brand_brand

    attr_accessor :button_link_brand_brand_hover

    attr_accessor :button_link_default_primary

    attr_accessor :button_link_default_primary_hover

    attr_accessor :button_link_default_secondary

    attr_accessor :button_link_default_secondary_hover

    attr_accessor :button_link_disabled_disabled

    attr_accessor :button_primary_background_default

    attr_accessor :button_primary_background_disabled

    attr_accessor :button_primary_background_hover

    attr_accessor :button_primary_border_default

    attr_accessor :button_primary_border_disabled

    attr_accessor :button_primary_border_hover

    attr_accessor :button_primary_foreground_default

    attr_accessor :button_primary_foreground_disabled

    attr_accessor :button_primary_foreground_hover

    attr_accessor :button_secondary_background_default

    attr_accessor :button_secondary_background_disabled

    attr_accessor :button_secondary_background_hover

    attr_accessor :button_secondary_border_default

    attr_accessor :button_secondary_border_disabled

    attr_accessor :button_secondary_border_hover

    attr_accessor :button_secondary_foreground_default

    attr_accessor :button_secondary_foreground_disabled

    attr_accessor :button_secondary_foreground_hover

    attr_accessor :button_social_background_default

    attr_accessor :button_social_background_disabled

    attr_accessor :button_social_background_generic_provider

    attr_accessor :button_social_background_hover

    attr_accessor :button_social_border_default

    attr_accessor :button_social_border_disabled

    attr_accessor :button_social_border_generic_provider

    attr_accessor :button_social_border_hover

    attr_accessor :button_social_foreground_default

    attr_accessor :button_social_foreground_disabled

    attr_accessor :button_social_foreground_generic_provider

    attr_accessor :button_social_foreground_hover

    attr_accessor :checkbox_background_checked

    attr_accessor :checkbox_background_default

    attr_accessor :checkbox_border_checkbox_border_checked

    attr_accessor :checkbox_border_checkbox_border_default

    attr_accessor :checkbox_foreground_checked

    attr_accessor :checkbox_foreground_default

    attr_accessor :form_background_default

    attr_accessor :form_border_default

    attr_accessor :input_background_default

    attr_accessor :input_background_disabled

    attr_accessor :input_background_hover

    attr_accessor :input_border_default

    attr_accessor :input_border_disabled

    attr_accessor :input_border_focus

    attr_accessor :input_border_hover

    attr_accessor :input_foreground_disabled

    attr_accessor :input_foreground_primary

    attr_accessor :input_foreground_secondary

    attr_accessor :input_foreground_tertiary

    attr_accessor :interface_background_brand_primary

    attr_accessor :interface_background_brand_primary_hover

    attr_accessor :interface_background_brand_secondary

    attr_accessor :interface_background_brand_secondary_hover

    attr_accessor :interface_background_default_inverted

    attr_accessor :interface_background_default_inverted_hover

    attr_accessor :interface_background_default_none

    attr_accessor :interface_background_default_primary

    attr_accessor :interface_background_default_primary_hover

    attr_accessor :interface_background_default_secondary

    attr_accessor :interface_background_default_secondary_hover

    attr_accessor :interface_background_default_tertiary

    attr_accessor :interface_background_default_tertiary_hover

    attr_accessor :interface_background_disabled_disabled

    attr_accessor :interface_background_validation_danger

    attr_accessor :interface_background_validation_success

    attr_accessor :interface_background_validation_warning

    attr_accessor :interface_border_brand_brand

    attr_accessor :interface_border_default_inverted

    attr_accessor :interface_border_default_none

    attr_accessor :interface_border_default_primary

    attr_accessor :interface_border_disabled_disabled

    attr_accessor :interface_border_validation_danger

    attr_accessor :interface_border_validation_success

    attr_accessor :interface_border_validation_warning

    attr_accessor :interface_foreground_brand_on_primary

    attr_accessor :interface_foreground_brand_on_secondary

    attr_accessor :interface_foreground_brand_primary

    attr_accessor :interface_foreground_brand_secondary

    attr_accessor :interface_foreground_default_inverted

    attr_accessor :interface_foreground_default_primary

    attr_accessor :interface_foreground_default_secondary

    attr_accessor :interface_foreground_default_tertiary

    attr_accessor :interface_foreground_disabled_disabled

    attr_accessor :interface_foreground_disabled_on_disabled

    attr_accessor :interface_foreground_validation_danger

    attr_accessor :interface_foreground_validation_success

    attr_accessor :interface_foreground_validation_warning

    attr_accessor :ory_background_default

    attr_accessor :ory_border_default

    attr_accessor :ory_foreground_default

    attr_accessor :radio_background_checked

    attr_accessor :radio_background_default

    attr_accessor :radio_border_checked

    attr_accessor :radio_border_default

    attr_accessor :radio_foreground_checked

    attr_accessor :radio_foreground_default

    attr_accessor :toggle_background_checked

    attr_accessor :toggle_background_default

    attr_accessor :toggle_border_checked

    attr_accessor :toggle_border_default

    attr_accessor :toggle_foreground_checked

    attr_accessor :toggle_foreground_default

    attr_accessor :ui_100

    attr_accessor :ui_200

    attr_accessor :ui_300

    attr_accessor :ui_400

    attr_accessor :ui_50

    attr_accessor :ui_500

    attr_accessor :ui_600

    attr_accessor :ui_700

    attr_accessor :ui_800

    attr_accessor :ui_900

    attr_accessor :ui_950

    attr_accessor :ui_black

    attr_accessor :ui_danger

    attr_accessor :ui_success

    attr_accessor :ui_transparent

    attr_accessor :ui_warning

    attr_accessor :ui_white

    # Attribute mapping from ruby-style variable name to JSON key.
    def self.attribute_map
      {
        :'ax_background_default' => :'ax_background_default',
        :'brand_100' => :'brand_100',
        :'brand_200' => :'brand_200',
        :'brand_300' => :'brand_300',
        :'brand_400' => :'brand_400',
        :'brand_50' => :'brand_50',
        :'brand_500' => :'brand_500',
        :'brand_600' => :'brand_600',
        :'brand_700' => :'brand_700',
        :'brand_800' => :'brand_800',
        :'brand_900' => :'brand_900',
        :'brand_950' => :'brand_950',
        :'button_identifier_background_default' => :'button_identifier_background_default',
        :'button_identifier_background_hover' => :'button_identifier_background_hover',
        :'button_identifier_border_border_default' => :'button_identifier_border_border_default',
        :'button_identifier_border_border_hover' => :'button_identifier_border_border_hover',
        :'button_identifier_foreground_default' => :'button_identifier_foreground_default',
        :'button_identifier_foreground_hover' => :'button_identifier_foreground_hover',
        :'button_link_brand_brand' => :'button_link_brand_brand',
        :'button_link_brand_brand_hover' => :'button_link_brand_brand_hover',
        :'button_link_default_primary' => :'button_link_default_primary',
        :'button_link_default_primary_hover' => :'button_link_default_primary_hover',
        :'button_link_default_secondary' => :'button_link_default_secondary',
        :'button_link_default_secondary_hover' => :'button_link_default_secondary_hover',
        :'button_link_disabled_disabled' => :'button_link_disabled_disabled',
        :'button_primary_background_default' => :'button_primary_background_default',
        :'button_primary_background_disabled' => :'button_primary_background_disabled',
        :'button_primary_background_hover' => :'button_primary_background_hover',
        :'button_primary_border_default' => :'button_primary_border_default',
        :'button_primary_border_disabled' => :'button_primary_border_disabled',
        :'button_primary_border_hover' => :'button_primary_border_hover',
        :'button_primary_foreground_default' => :'button_primary_foreground_default',
        :'button_primary_foreground_disabled' => :'button_primary_foreground_disabled',
        :'button_primary_foreground_hover' => :'button_primary_foreground_hover',
        :'button_secondary_background_default' => :'button_secondary_background_default',
        :'button_secondary_background_disabled' => :'button_secondary_background_disabled',
        :'button_secondary_background_hover' => :'button_secondary_background_hover',
        :'button_secondary_border_default' => :'button_secondary_border_default',
        :'button_secondary_border_disabled' => :'button_secondary_border_disabled',
        :'button_secondary_border_hover' => :'button_secondary_border_hover',
        :'button_secondary_foreground_default' => :'button_secondary_foreground_default',
        :'button_secondary_foreground_disabled' => :'button_secondary_foreground_disabled',
        :'button_secondary_foreground_hover' => :'button_secondary_foreground_hover',
        :'button_social_background_default' => :'button_social_background_default',
        :'button_social_background_disabled' => :'button_social_background_disabled',
        :'button_social_background_generic_provider' => :'button_social_background_generic_provider',
        :'button_social_background_hover' => :'button_social_background_hover',
        :'button_social_border_default' => :'button_social_border_default',
        :'button_social_border_disabled' => :'button_social_border_disabled',
        :'button_social_border_generic_provider' => :'button_social_border_generic_provider',
        :'button_social_border_hover' => :'button_social_border_hover',
        :'button_social_foreground_default' => :'button_social_foreground_default',
        :'button_social_foreground_disabled' => :'button_social_foreground_disabled',
        :'button_social_foreground_generic_provider' => :'button_social_foreground_generic_provider',
        :'button_social_foreground_hover' => :'button_social_foreground_hover',
        :'checkbox_background_checked' => :'checkbox_background_checked',
        :'checkbox_background_default' => :'checkbox_background_default',
        :'checkbox_border_checkbox_border_checked' => :'checkbox_border_checkbox_border_checked',
        :'checkbox_border_checkbox_border_default' => :'checkbox_border_checkbox_border_default',
        :'checkbox_foreground_checked' => :'checkbox_foreground_checked',
        :'checkbox_foreground_default' => :'checkbox_foreground_default',
        :'form_background_default' => :'form_background_default',
        :'form_border_default' => :'form_border_default',
        :'input_background_default' => :'input_background_default',
        :'input_background_disabled' => :'input_background_disabled',
        :'input_background_hover' => :'input_background_hover',
        :'input_border_default' => :'input_border_default',
        :'input_border_disabled' => :'input_border_disabled',
        :'input_border_focus' => :'input_border_focus',
        :'input_border_hover' => :'input_border_hover',
        :'input_foreground_disabled' => :'input_foreground_disabled',
        :'input_foreground_primary' => :'input_foreground_primary',
        :'input_foreground_secondary' => :'input_foreground_secondary',
        :'input_foreground_tertiary' => :'input_foreground_tertiary',
        :'interface_background_brand_primary' => :'interface_background_brand_primary',
        :'interface_background_brand_primary_hover' => :'interface_background_brand_primary_hover',
        :'interface_background_brand_secondary' => :'interface_background_brand_secondary',
        :'interface_background_brand_secondary_hover' => :'interface_background_brand_secondary_hover',
        :'interface_background_default_inverted' => :'interface_background_default_inverted',
        :'interface_background_default_inverted_hover' => :'interface_background_default_inverted_hover',
        :'interface_background_default_none' => :'interface_background_default_none',
        :'interface_background_default_primary' => :'interface_background_default_primary',
        :'interface_background_default_primary_hover' => :'interface_background_default_primary_hover',
        :'interface_background_default_secondary' => :'interface_background_default_secondary',
        :'interface_background_default_secondary_hover' => :'interface_background_default_secondary_hover',
        :'interface_background_default_tertiary' => :'interface_background_default_tertiary',
        :'interface_background_default_tertiary_hover' => :'interface_background_default_tertiary_hover',
        :'interface_background_disabled_disabled' => :'interface_background_disabled_disabled',
        :'interface_background_validation_danger' => :'interface_background_validation_danger',
        :'interface_background_validation_success' => :'interface_background_validation_success',
        :'interface_background_validation_warning' => :'interface_background_validation_warning',
        :'interface_border_brand_brand' => :'interface_border_brand_brand',
        :'interface_border_default_inverted' => :'interface_border_default_inverted',
        :'interface_border_default_none' => :'interface_border_default_none',
        :'interface_border_default_primary' => :'interface_border_default_primary',
        :'interface_border_disabled_disabled' => :'interface_border_disabled_disabled',
        :'interface_border_validation_danger' => :'interface_border_validation_danger',
        :'interface_border_validation_success' => :'interface_border_validation_success',
        :'interface_border_validation_warning' => :'interface_border_validation_warning',
        :'interface_foreground_brand_on_primary' => :'interface_foreground_brand_on_primary',
        :'interface_foreground_brand_on_secondary' => :'interface_foreground_brand_on_secondary',
        :'interface_foreground_brand_primary' => :'interface_foreground_brand_primary',
        :'interface_foreground_brand_secondary' => :'interface_foreground_brand_secondary',
        :'interface_foreground_default_inverted' => :'interface_foreground_default_inverted',
        :'interface_foreground_default_primary' => :'interface_foreground_default_primary',
        :'interface_foreground_default_secondary' => :'interface_foreground_default_secondary',
        :'interface_foreground_default_tertiary' => :'interface_foreground_default_tertiary',
        :'interface_foreground_disabled_disabled' => :'interface_foreground_disabled_disabled',
        :'interface_foreground_disabled_on_disabled' => :'interface_foreground_disabled_on_disabled',
        :'interface_foreground_validation_danger' => :'interface_foreground_validation_danger',
        :'interface_foreground_validation_success' => :'interface_foreground_validation_success',
        :'interface_foreground_validation_warning' => :'interface_foreground_validation_warning',
        :'ory_background_default' => :'ory_background_default',
        :'ory_border_default' => :'ory_border_default',
        :'ory_foreground_default' => :'ory_foreground_default',
        :'radio_background_checked' => :'radio_background_checked',
        :'radio_background_default' => :'radio_background_default',
        :'radio_border_checked' => :'radio_border_checked',
        :'radio_border_default' => :'radio_border_default',
        :'radio_foreground_checked' => :'radio_foreground_checked',
        :'radio_foreground_default' => :'radio_foreground_default',
        :'toggle_background_checked' => :'toggle_background_checked',
        :'toggle_background_default' => :'toggle_background_default',
        :'toggle_border_checked' => :'toggle_border_checked',
        :'toggle_border_default' => :'toggle_border_default',
        :'toggle_foreground_checked' => :'toggle_foreground_checked',
        :'toggle_foreground_default' => :'toggle_foreground_default',
        :'ui_100' => :'ui_100',
        :'ui_200' => :'ui_200',
        :'ui_300' => :'ui_300',
        :'ui_400' => :'ui_400',
        :'ui_50' => :'ui_50',
        :'ui_500' => :'ui_500',
        :'ui_600' => :'ui_600',
        :'ui_700' => :'ui_700',
        :'ui_800' => :'ui_800',
        :'ui_900' => :'ui_900',
        :'ui_950' => :'ui_950',
        :'ui_black' => :'ui_black',
        :'ui_danger' => :'ui_danger',
        :'ui_success' => :'ui_success',
        :'ui_transparent' => :'ui_transparent',
        :'ui_warning' => :'ui_warning',
        :'ui_white' => :'ui_white'
      }
    end

    # Returns attribute mapping this model knows about
    def self.acceptable_attribute_map
      attribute_map
    end

    # Returns all the JSON keys this model knows about
    def self.acceptable_attributes
      acceptable_attribute_map.values
    end

    # Attribute type mapping.
    def self.openapi_types
      {
        :'ax_background_default' => :'String',
        :'brand_100' => :'String',
        :'brand_200' => :'String',
        :'brand_300' => :'String',
        :'brand_400' => :'String',
        :'brand_50' => :'String',
        :'brand_500' => :'String',
        :'brand_600' => :'String',
        :'brand_700' => :'String',
        :'brand_800' => :'String',
        :'brand_900' => :'String',
        :'brand_950' => :'String',
        :'button_identifier_background_default' => :'String',
        :'button_identifier_background_hover' => :'String',
        :'button_identifier_border_border_default' => :'String',
        :'button_identifier_border_border_hover' => :'String',
        :'button_identifier_foreground_default' => :'String',
        :'button_identifier_foreground_hover' => :'String',
        :'button_link_brand_brand' => :'String',
        :'button_link_brand_brand_hover' => :'String',
        :'button_link_default_primary' => :'String',
        :'button_link_default_primary_hover' => :'String',
        :'button_link_default_secondary' => :'String',
        :'button_link_default_secondary_hover' => :'String',
        :'button_link_disabled_disabled' => :'String',
        :'button_primary_background_default' => :'String',
        :'button_primary_background_disabled' => :'String',
        :'button_primary_background_hover' => :'String',
        :'button_primary_border_default' => :'String',
        :'button_primary_border_disabled' => :'String',
        :'button_primary_border_hover' => :'String',
        :'button_primary_foreground_default' => :'String',
        :'button_primary_foreground_disabled' => :'String',
        :'button_primary_foreground_hover' => :'String',
        :'button_secondary_background_default' => :'String',
        :'button_secondary_background_disabled' => :'String',
        :'button_secondary_background_hover' => :'String',
        :'button_secondary_border_default' => :'String',
        :'button_secondary_border_disabled' => :'String',
        :'button_secondary_border_hover' => :'String',
        :'button_secondary_foreground_default' => :'String',
        :'button_secondary_foreground_disabled' => :'String',
        :'button_secondary_foreground_hover' => :'String',
        :'button_social_background_default' => :'String',
        :'button_social_background_disabled' => :'String',
        :'button_social_background_generic_provider' => :'String',
        :'button_social_background_hover' => :'String',
        :'button_social_border_default' => :'String',
        :'button_social_border_disabled' => :'String',
        :'button_social_border_generic_provider' => :'String',
        :'button_social_border_hover' => :'String',
        :'button_social_foreground_default' => :'String',
        :'button_social_foreground_disabled' => :'String',
        :'button_social_foreground_generic_provider' => :'String',
        :'button_social_foreground_hover' => :'String',
        :'checkbox_background_checked' => :'String',
        :'checkbox_background_default' => :'String',
        :'checkbox_border_checkbox_border_checked' => :'String',
        :'checkbox_border_checkbox_border_default' => :'String',
        :'checkbox_foreground_checked' => :'String',
        :'checkbox_foreground_default' => :'String',
        :'form_background_default' => :'String',
        :'form_border_default' => :'String',
        :'input_background_default' => :'String',
        :'input_background_disabled' => :'String',
        :'input_background_hover' => :'String',
        :'input_border_default' => :'String',
        :'input_border_disabled' => :'String',
        :'input_border_focus' => :'String',
        :'input_border_hover' => :'String',
        :'input_foreground_disabled' => :'String',
        :'input_foreground_primary' => :'String',
        :'input_foreground_secondary' => :'String',
        :'input_foreground_tertiary' => :'String',
        :'interface_background_brand_primary' => :'String',
        :'interface_background_brand_primary_hover' => :'String',
        :'interface_background_brand_secondary' => :'String',
        :'interface_background_brand_secondary_hover' => :'String',
        :'interface_background_default_inverted' => :'String',
        :'interface_background_default_inverted_hover' => :'String',
        :'interface_background_default_none' => :'String',
        :'interface_background_default_primary' => :'String',
        :'interface_background_default_primary_hover' => :'String',
        :'interface_background_default_secondary' => :'String',
        :'interface_background_default_secondary_hover' => :'String',
        :'interface_background_default_tertiary' => :'String',
        :'interface_background_default_tertiary_hover' => :'String',
        :'interface_background_disabled_disabled' => :'String',
        :'interface_background_validation_danger' => :'String',
        :'interface_background_validation_success' => :'String',
        :'interface_background_validation_warning' => :'String',
        :'interface_border_brand_brand' => :'String',
        :'interface_border_default_inverted' => :'String',
        :'interface_border_default_none' => :'String',
        :'interface_border_default_primary' => :'String',
        :'interface_border_disabled_disabled' => :'String',
        :'interface_border_validation_danger' => :'String',
        :'interface_border_validation_success' => :'String',
        :'interface_border_validation_warning' => :'String',
        :'interface_foreground_brand_on_primary' => :'String',
        :'interface_foreground_brand_on_secondary' => :'String',
        :'interface_foreground_brand_primary' => :'String',
        :'interface_foreground_brand_secondary' => :'String',
        :'interface_foreground_default_inverted' => :'String',
        :'interface_foreground_default_primary' => :'String',
        :'interface_foreground_default_secondary' => :'String',
        :'interface_foreground_default_tertiary' => :'String',
        :'interface_foreground_disabled_disabled' => :'String',
        :'interface_foreground_disabled_on_disabled' => :'String',
        :'interface_foreground_validation_danger' => :'String',
        :'interface_foreground_validation_success' => :'String',
        :'interface_foreground_validation_warning' => :'String',
        :'ory_background_default' => :'String',
        :'ory_border_default' => :'String',
        :'ory_foreground_default' => :'String',
        :'radio_background_checked' => :'String',
        :'radio_background_default' => :'String',
        :'radio_border_checked' => :'String',
        :'radio_border_default' => :'String',
        :'radio_foreground_checked' => :'String',
        :'radio_foreground_default' => :'String',
        :'toggle_background_checked' => :'String',
        :'toggle_background_default' => :'String',
        :'toggle_border_checked' => :'String',
        :'toggle_border_default' => :'String',
        :'toggle_foreground_checked' => :'String',
        :'toggle_foreground_default' => :'String',
        :'ui_100' => :'String',
        :'ui_200' => :'String',
        :'ui_300' => :'String',
        :'ui_400' => :'String',
        :'ui_50' => :'String',
        :'ui_500' => :'String',
        :'ui_600' => :'String',
        :'ui_700' => :'String',
        :'ui_800' => :'String',
        :'ui_900' => :'String',
        :'ui_950' => :'String',
        :'ui_black' => :'String',
        :'ui_danger' => :'String',
        :'ui_success' => :'String',
        :'ui_transparent' => :'String',
        :'ui_warning' => :'String',
        :'ui_white' => :'String'
      }
    end

    # List of attributes with nullable: true
    def self.openapi_nullable
      Set.new([
      ])
    end

    # Initializes the object
    # @param [Hash] attributes Model attributes in the form of hash
    def initialize(attributes = {})
      if (!attributes.is_a?(Hash))
        fail ArgumentError, "The input argument (attributes) must be a hash in `OryClient::AccountExperienceColors` initialize method"
      end

      # check to see if the attribute exists and convert string to symbol for hash key
      acceptable_attribute_map = self.class.acceptable_attribute_map
      attributes = attributes.each_with_object({}) { |(k, v), h|
        if (!acceptable_attribute_map.key?(k.to_sym))
          fail ArgumentError, "`#{k}` is not a valid attribute in `OryClient::AccountExperienceColors`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
        end
        h[k.to_sym] = v
      }

      if attributes.key?(:'ax_background_default')
        self.ax_background_default = attributes[:'ax_background_default']
      end

      if attributes.key?(:'brand_100')
        self.brand_100 = attributes[:'brand_100']
      end

      if attributes.key?(:'brand_200')
        self.brand_200 = attributes[:'brand_200']
      end

      if attributes.key?(:'brand_300')
        self.brand_300 = attributes[:'brand_300']
      end

      if attributes.key?(:'brand_400')
        self.brand_400 = attributes[:'brand_400']
      end

      if attributes.key?(:'brand_50')
        self.brand_50 = attributes[:'brand_50']
      end

      if attributes.key?(:'brand_500')
        self.brand_500 = attributes[:'brand_500']
      end

      if attributes.key?(:'brand_600')
        self.brand_600 = attributes[:'brand_600']
      end

      if attributes.key?(:'brand_700')
        self.brand_700 = attributes[:'brand_700']
      end

      if attributes.key?(:'brand_800')
        self.brand_800 = attributes[:'brand_800']
      end

      if attributes.key?(:'brand_900')
        self.brand_900 = attributes[:'brand_900']
      end

      if attributes.key?(:'brand_950')
        self.brand_950 = attributes[:'brand_950']
      end

      if attributes.key?(:'button_identifier_background_default')
        self.button_identifier_background_default = attributes[:'button_identifier_background_default']
      end

      if attributes.key?(:'button_identifier_background_hover')
        self.button_identifier_background_hover = attributes[:'button_identifier_background_hover']
      end

      if attributes.key?(:'button_identifier_border_border_default')
        self.button_identifier_border_border_default = attributes[:'button_identifier_border_border_default']
      end

      if attributes.key?(:'button_identifier_border_border_hover')
        self.button_identifier_border_border_hover = attributes[:'button_identifier_border_border_hover']
      end

      if attributes.key?(:'button_identifier_foreground_default')
        self.button_identifier_foreground_default = attributes[:'button_identifier_foreground_default']
      end

      if attributes.key?(:'button_identifier_foreground_hover')
        self.button_identifier_foreground_hover = attributes[:'button_identifier_foreground_hover']
      end

      if attributes.key?(:'button_link_brand_brand')
        self.button_link_brand_brand = attributes[:'button_link_brand_brand']
      end

      if attributes.key?(:'button_link_brand_brand_hover')
        self.button_link_brand_brand_hover = attributes[:'button_link_brand_brand_hover']
      end

      if attributes.key?(:'button_link_default_primary')
        self.button_link_default_primary = attributes[:'button_link_default_primary']
      end

      if attributes.key?(:'button_link_default_primary_hover')
        self.button_link_default_primary_hover = attributes[:'button_link_default_primary_hover']
      end

      if attributes.key?(:'button_link_default_secondary')
        self.button_link_default_secondary = attributes[:'button_link_default_secondary']
      end

      if attributes.key?(:'button_link_default_secondary_hover')
        self.button_link_default_secondary_hover = attributes[:'button_link_default_secondary_hover']
      end

      if attributes.key?(:'button_link_disabled_disabled')
        self.button_link_disabled_disabled = attributes[:'button_link_disabled_disabled']
      end

      if attributes.key?(:'button_primary_background_default')
        self.button_primary_background_default = attributes[:'button_primary_background_default']
      end

      if attributes.key?(:'button_primary_background_disabled')
        self.button_primary_background_disabled = attributes[:'button_primary_background_disabled']
      end

      if attributes.key?(:'button_primary_background_hover')
        self.button_primary_background_hover = attributes[:'button_primary_background_hover']
      end

      if attributes.key?(:'button_primary_border_default')
        self.button_primary_border_default = attributes[:'button_primary_border_default']
      end

      if attributes.key?(:'button_primary_border_disabled')
        self.button_primary_border_disabled = attributes[:'button_primary_border_disabled']
      end

      if attributes.key?(:'button_primary_border_hover')
        self.button_primary_border_hover = attributes[:'button_primary_border_hover']
      end

      if attributes.key?(:'button_primary_foreground_default')
        self.button_primary_foreground_default = attributes[:'button_primary_foreground_default']
      end

      if attributes.key?(:'button_primary_foreground_disabled')
        self.button_primary_foreground_disabled = attributes[:'button_primary_foreground_disabled']
      end

      if attributes.key?(:'button_primary_foreground_hover')
        self.button_primary_foreground_hover = attributes[:'button_primary_foreground_hover']
      end

      if attributes.key?(:'button_secondary_background_default')
        self.button_secondary_background_default = attributes[:'button_secondary_background_default']
      end

      if attributes.key?(:'button_secondary_background_disabled')
        self.button_secondary_background_disabled = attributes[:'button_secondary_background_disabled']
      end

      if attributes.key?(:'button_secondary_background_hover')
        self.button_secondary_background_hover = attributes[:'button_secondary_background_hover']
      end

      if attributes.key?(:'button_secondary_border_default')
        self.button_secondary_border_default = attributes[:'button_secondary_border_default']
      end

      if attributes.key?(:'button_secondary_border_disabled')
        self.button_secondary_border_disabled = attributes[:'button_secondary_border_disabled']
      end

      if attributes.key?(:'button_secondary_border_hover')
        self.button_secondary_border_hover = attributes[:'button_secondary_border_hover']
      end

      if attributes.key?(:'button_secondary_foreground_default')
        self.button_secondary_foreground_default = attributes[:'button_secondary_foreground_default']
      end

      if attributes.key?(:'button_secondary_foreground_disabled')
        self.button_secondary_foreground_disabled = attributes[:'button_secondary_foreground_disabled']
      end

      if attributes.key?(:'button_secondary_foreground_hover')
        self.button_secondary_foreground_hover = attributes[:'button_secondary_foreground_hover']
      end

      if attributes.key?(:'button_social_background_default')
        self.button_social_background_default = attributes[:'button_social_background_default']
      end

      if attributes.key?(:'button_social_background_disabled')
        self.button_social_background_disabled = attributes[:'button_social_background_disabled']
      end

      if attributes.key?(:'button_social_background_generic_provider')
        self.button_social_background_generic_provider = attributes[:'button_social_background_generic_provider']
      end

      if attributes.key?(:'button_social_background_hover')
        self.button_social_background_hover = attributes[:'button_social_background_hover']
      end

      if attributes.key?(:'button_social_border_default')
        self.button_social_border_default = attributes[:'button_social_border_default']
      end

      if attributes.key?(:'button_social_border_disabled')
        self.button_social_border_disabled = attributes[:'button_social_border_disabled']
      end

      if attributes.key?(:'button_social_border_generic_provider')
        self.button_social_border_generic_provider = attributes[:'button_social_border_generic_provider']
      end

      if attributes.key?(:'button_social_border_hover')
        self.button_social_border_hover = attributes[:'button_social_border_hover']
      end

      if attributes.key?(:'button_social_foreground_default')
        self.button_social_foreground_default = attributes[:'button_social_foreground_default']
      end

      if attributes.key?(:'button_social_foreground_disabled')
        self.button_social_foreground_disabled = attributes[:'button_social_foreground_disabled']
      end

      if attributes.key?(:'button_social_foreground_generic_provider')
        self.button_social_foreground_generic_provider = attributes[:'button_social_foreground_generic_provider']
      end

      if attributes.key?(:'button_social_foreground_hover')
        self.button_social_foreground_hover = attributes[:'button_social_foreground_hover']
      end

      if attributes.key?(:'checkbox_background_checked')
        self.checkbox_background_checked = attributes[:'checkbox_background_checked']
      end

      if attributes.key?(:'checkbox_background_default')
        self.checkbox_background_default = attributes[:'checkbox_background_default']
      end

      if attributes.key?(:'checkbox_border_checkbox_border_checked')
        self.checkbox_border_checkbox_border_checked = attributes[:'checkbox_border_checkbox_border_checked']
      end

      if attributes.key?(:'checkbox_border_checkbox_border_default')
        self.checkbox_border_checkbox_border_default = attributes[:'checkbox_border_checkbox_border_default']
      end

      if attributes.key?(:'checkbox_foreground_checked')
        self.checkbox_foreground_checked = attributes[:'checkbox_foreground_checked']
      end

      if attributes.key?(:'checkbox_foreground_default')
        self.checkbox_foreground_default = attributes[:'checkbox_foreground_default']
      end

      if attributes.key?(:'form_background_default')
        self.form_background_default = attributes[:'form_background_default']
      end

      if attributes.key?(:'form_border_default')
        self.form_border_default = attributes[:'form_border_default']
      end

      if attributes.key?(:'input_background_default')
        self.input_background_default = attributes[:'input_background_default']
      end

      if attributes.key?(:'input_background_disabled')
        self.input_background_disabled = attributes[:'input_background_disabled']
      end

      if attributes.key?(:'input_background_hover')
        self.input_background_hover = attributes[:'input_background_hover']
      end

      if attributes.key?(:'input_border_default')
        self.input_border_default = attributes[:'input_border_default']
      end

      if attributes.key?(:'input_border_disabled')
        self.input_border_disabled = attributes[:'input_border_disabled']
      end

      if attributes.key?(:'input_border_focus')
        self.input_border_focus = attributes[:'input_border_focus']
      end

      if attributes.key?(:'input_border_hover')
        self.input_border_hover = attributes[:'input_border_hover']
      end

      if attributes.key?(:'input_foreground_disabled')
        self.input_foreground_disabled = attributes[:'input_foreground_disabled']
      end

      if attributes.key?(:'input_foreground_primary')
        self.input_foreground_primary = attributes[:'input_foreground_primary']
      end

      if attributes.key?(:'input_foreground_secondary')
        self.input_foreground_secondary = attributes[:'input_foreground_secondary']
      end

      if attributes.key?(:'input_foreground_tertiary')
        self.input_foreground_tertiary = attributes[:'input_foreground_tertiary']
      end

      if attributes.key?(:'interface_background_brand_primary')
        self.interface_background_brand_primary = attributes[:'interface_background_brand_primary']
      end

      if attributes.key?(:'interface_background_brand_primary_hover')
        self.interface_background_brand_primary_hover = attributes[:'interface_background_brand_primary_hover']
      end

      if attributes.key?(:'interface_background_brand_secondary')
        self.interface_background_brand_secondary = attributes[:'interface_background_brand_secondary']
      end

      if attributes.key?(:'interface_background_brand_secondary_hover')
        self.interface_background_brand_secondary_hover = attributes[:'interface_background_brand_secondary_hover']
      end

      if attributes.key?(:'interface_background_default_inverted')
        self.interface_background_default_inverted = attributes[:'interface_background_default_inverted']
      end

      if attributes.key?(:'interface_background_default_inverted_hover')
        self.interface_background_default_inverted_hover = attributes[:'interface_background_default_inverted_hover']
      end

      if attributes.key?(:'interface_background_default_none')
        self.interface_background_default_none = attributes[:'interface_background_default_none']
      end

      if attributes.key?(:'interface_background_default_primary')
        self.interface_background_default_primary = attributes[:'interface_background_default_primary']
      end

      if attributes.key?(:'interface_background_default_primary_hover')
        self.interface_background_default_primary_hover = attributes[:'interface_background_default_primary_hover']
      end

      if attributes.key?(:'interface_background_default_secondary')
        self.interface_background_default_secondary = attributes[:'interface_background_default_secondary']
      end

      if attributes.key?(:'interface_background_default_secondary_hover')
        self.interface_background_default_secondary_hover = attributes[:'interface_background_default_secondary_hover']
      end

      if attributes.key?(:'interface_background_default_tertiary')
        self.interface_background_default_tertiary = attributes[:'interface_background_default_tertiary']
      end

      if attributes.key?(:'interface_background_default_tertiary_hover')
        self.interface_background_default_tertiary_hover = attributes[:'interface_background_default_tertiary_hover']
      end

      if attributes.key?(:'interface_background_disabled_disabled')
        self.interface_background_disabled_disabled = attributes[:'interface_background_disabled_disabled']
      end

      if attributes.key?(:'interface_background_validation_danger')
        self.interface_background_validation_danger = attributes[:'interface_background_validation_danger']
      end

      if attributes.key?(:'interface_background_validation_success')
        self.interface_background_validation_success = attributes[:'interface_background_validation_success']
      end

      if attributes.key?(:'interface_background_validation_warning')
        self.interface_background_validation_warning = attributes[:'interface_background_validation_warning']
      end

      if attributes.key?(:'interface_border_brand_brand')
        self.interface_border_brand_brand = attributes[:'interface_border_brand_brand']
      end

      if attributes.key?(:'interface_border_default_inverted')
        self.interface_border_default_inverted = attributes[:'interface_border_default_inverted']
      end

      if attributes.key?(:'interface_border_default_none')
        self.interface_border_default_none = attributes[:'interface_border_default_none']
      end

      if attributes.key?(:'interface_border_default_primary')
        self.interface_border_default_primary = attributes[:'interface_border_default_primary']
      end

      if attributes.key?(:'interface_border_disabled_disabled')
        self.interface_border_disabled_disabled = attributes[:'interface_border_disabled_disabled']
      end

      if attributes.key?(:'interface_border_validation_danger')
        self.interface_border_validation_danger = attributes[:'interface_border_validation_danger']
      end

      if attributes.key?(:'interface_border_validation_success')
        self.interface_border_validation_success = attributes[:'interface_border_validation_success']
      end

      if attributes.key?(:'interface_border_validation_warning')
        self.interface_border_validation_warning = attributes[:'interface_border_validation_warning']
      end

      if attributes.key?(:'interface_foreground_brand_on_primary')
        self.interface_foreground_brand_on_primary = attributes[:'interface_foreground_brand_on_primary']
      end

      if attributes.key?(:'interface_foreground_brand_on_secondary')
        self.interface_foreground_brand_on_secondary = attributes[:'interface_foreground_brand_on_secondary']
      end

      if attributes.key?(:'interface_foreground_brand_primary')
        self.interface_foreground_brand_primary = attributes[:'interface_foreground_brand_primary']
      end

      if attributes.key?(:'interface_foreground_brand_secondary')
        self.interface_foreground_brand_secondary = attributes[:'interface_foreground_brand_secondary']
      end

      if attributes.key?(:'interface_foreground_default_inverted')
        self.interface_foreground_default_inverted = attributes[:'interface_foreground_default_inverted']
      end

      if attributes.key?(:'interface_foreground_default_primary')
        self.interface_foreground_default_primary = attributes[:'interface_foreground_default_primary']
      end

      if attributes.key?(:'interface_foreground_default_secondary')
        self.interface_foreground_default_secondary = attributes[:'interface_foreground_default_secondary']
      end

      if attributes.key?(:'interface_foreground_default_tertiary')
        self.interface_foreground_default_tertiary = attributes[:'interface_foreground_default_tertiary']
      end

      if attributes.key?(:'interface_foreground_disabled_disabled')
        self.interface_foreground_disabled_disabled = attributes[:'interface_foreground_disabled_disabled']
      end

      if attributes.key?(:'interface_foreground_disabled_on_disabled')
        self.interface_foreground_disabled_on_disabled = attributes[:'interface_foreground_disabled_on_disabled']
      end

      if attributes.key?(:'interface_foreground_validation_danger')
        self.interface_foreground_validation_danger = attributes[:'interface_foreground_validation_danger']
      end

      if attributes.key?(:'interface_foreground_validation_success')
        self.interface_foreground_validation_success = attributes[:'interface_foreground_validation_success']
      end

      if attributes.key?(:'interface_foreground_validation_warning')
        self.interface_foreground_validation_warning = attributes[:'interface_foreground_validation_warning']
      end

      if attributes.key?(:'ory_background_default')
        self.ory_background_default = attributes[:'ory_background_default']
      end

      if attributes.key?(:'ory_border_default')
        self.ory_border_default = attributes[:'ory_border_default']
      end

      if attributes.key?(:'ory_foreground_default')
        self.ory_foreground_default = attributes[:'ory_foreground_default']
      end

      if attributes.key?(:'radio_background_checked')
        self.radio_background_checked = attributes[:'radio_background_checked']
      end

      if attributes.key?(:'radio_background_default')
        self.radio_background_default = attributes[:'radio_background_default']
      end

      if attributes.key?(:'radio_border_checked')
        self.radio_border_checked = attributes[:'radio_border_checked']
      end

      if attributes.key?(:'radio_border_default')
        self.radio_border_default = attributes[:'radio_border_default']
      end

      if attributes.key?(:'radio_foreground_checked')
        self.radio_foreground_checked = attributes[:'radio_foreground_checked']
      end

      if attributes.key?(:'radio_foreground_default')
        self.radio_foreground_default = attributes[:'radio_foreground_default']
      end

      if attributes.key?(:'toggle_background_checked')
        self.toggle_background_checked = attributes[:'toggle_background_checked']
      end

      if attributes.key?(:'toggle_background_default')
        self.toggle_background_default = attributes[:'toggle_background_default']
      end

      if attributes.key?(:'toggle_border_checked')
        self.toggle_border_checked = attributes[:'toggle_border_checked']
      end

      if attributes.key?(:'toggle_border_default')
        self.toggle_border_default = attributes[:'toggle_border_default']
      end

      if attributes.key?(:'toggle_foreground_checked')
        self.toggle_foreground_checked = attributes[:'toggle_foreground_checked']
      end

      if attributes.key?(:'toggle_foreground_default')
        self.toggle_foreground_default = attributes[:'toggle_foreground_default']
      end

      if attributes.key?(:'ui_100')
        self.ui_100 = attributes[:'ui_100']
      end

      if attributes.key?(:'ui_200')
        self.ui_200 = attributes[:'ui_200']
      end

      if attributes.key?(:'ui_300')
        self.ui_300 = attributes[:'ui_300']
      end

      if attributes.key?(:'ui_400')
        self.ui_400 = attributes[:'ui_400']
      end

      if attributes.key?(:'ui_50')
        self.ui_50 = attributes[:'ui_50']
      end

      if attributes.key?(:'ui_500')
        self.ui_500 = attributes[:'ui_500']
      end

      if attributes.key?(:'ui_600')
        self.ui_600 = attributes[:'ui_600']
      end

      if attributes.key?(:'ui_700')
        self.ui_700 = attributes[:'ui_700']
      end

      if attributes.key?(:'ui_800')
        self.ui_800 = attributes[:'ui_800']
      end

      if attributes.key?(:'ui_900')
        self.ui_900 = attributes[:'ui_900']
      end

      if attributes.key?(:'ui_950')
        self.ui_950 = attributes[:'ui_950']
      end

      if attributes.key?(:'ui_black')
        self.ui_black = attributes[:'ui_black']
      end

      if attributes.key?(:'ui_danger')
        self.ui_danger = attributes[:'ui_danger']
      end

      if attributes.key?(:'ui_success')
        self.ui_success = attributes[:'ui_success']
      end

      if attributes.key?(:'ui_transparent')
        self.ui_transparent = attributes[:'ui_transparent']
      end

      if attributes.key?(:'ui_warning')
        self.ui_warning = attributes[:'ui_warning']
      end

      if attributes.key?(:'ui_white')
        self.ui_white = attributes[:'ui_white']
      end
    end

    # Show invalid properties with the reasons. Usually used together with valid?
    # @return Array for valid properties with the reasons
    def list_invalid_properties
      warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
      invalid_properties = Array.new
      invalid_properties
    end

    # Check to see if the all the properties in the model are valid
    # @return true if the model is valid
    def valid?
      warn '[DEPRECATED] the `valid?` method is obsolete'
      true
    end

    # Checks equality by comparing each attribute.
    # @param [Object] Object to be compared
    def ==(o)
      return true if self.equal?(o)
      self.class == o.class &&
          ax_background_default == o.ax_background_default &&
          brand_100 == o.brand_100 &&
          brand_200 == o.brand_200 &&
          brand_300 == o.brand_300 &&
          brand_400 == o.brand_400 &&
          brand_50 == o.brand_50 &&
          brand_500 == o.brand_500 &&
          brand_600 == o.brand_600 &&
          brand_700 == o.brand_700 &&
          brand_800 == o.brand_800 &&
          brand_900 == o.brand_900 &&
          brand_950 == o.brand_950 &&
          button_identifier_background_default == o.button_identifier_background_default &&
          button_identifier_background_hover == o.button_identifier_background_hover &&
          button_identifier_border_border_default == o.button_identifier_border_border_default &&
          button_identifier_border_border_hover == o.button_identifier_border_border_hover &&
          button_identifier_foreground_default == o.button_identifier_foreground_default &&
          button_identifier_foreground_hover == o.button_identifier_foreground_hover &&
          button_link_brand_brand == o.button_link_brand_brand &&
          button_link_brand_brand_hover == o.button_link_brand_brand_hover &&
          button_link_default_primary == o.button_link_default_primary &&
          button_link_default_primary_hover == o.button_link_default_primary_hover &&
          button_link_default_secondary == o.button_link_default_secondary &&
          button_link_default_secondary_hover == o.button_link_default_secondary_hover &&
          button_link_disabled_disabled == o.button_link_disabled_disabled &&
          button_primary_background_default == o.button_primary_background_default &&
          button_primary_background_disabled == o.button_primary_background_disabled &&
          button_primary_background_hover == o.button_primary_background_hover &&
          button_primary_border_default == o.button_primary_border_default &&
          button_primary_border_disabled == o.button_primary_border_disabled &&
          button_primary_border_hover == o.button_primary_border_hover &&
          button_primary_foreground_default == o.button_primary_foreground_default &&
          button_primary_foreground_disabled == o.button_primary_foreground_disabled &&
          button_primary_foreground_hover == o.button_primary_foreground_hover &&
          button_secondary_background_default == o.button_secondary_background_default &&
          button_secondary_background_disabled == o.button_secondary_background_disabled &&
          button_secondary_background_hover == o.button_secondary_background_hover &&
          button_secondary_border_default == o.button_secondary_border_default &&
          button_secondary_border_disabled == o.button_secondary_border_disabled &&
          button_secondary_border_hover == o.button_secondary_border_hover &&
          button_secondary_foreground_default == o.button_secondary_foreground_default &&
          button_secondary_foreground_disabled == o.button_secondary_foreground_disabled &&
          button_secondary_foreground_hover == o.button_secondary_foreground_hover &&
          button_social_background_default == o.button_social_background_default &&
          button_social_background_disabled == o.button_social_background_disabled &&
          button_social_background_generic_provider == o.button_social_background_generic_provider &&
          button_social_background_hover == o.button_social_background_hover &&
          button_social_border_default == o.button_social_border_default &&
          button_social_border_disabled == o.button_social_border_disabled &&
          button_social_border_generic_provider == o.button_social_border_generic_provider &&
          button_social_border_hover == o.button_social_border_hover &&
          button_social_foreground_default == o.button_social_foreground_default &&
          button_social_foreground_disabled == o.button_social_foreground_disabled &&
          button_social_foreground_generic_provider == o.button_social_foreground_generic_provider &&
          button_social_foreground_hover == o.button_social_foreground_hover &&
          checkbox_background_checked == o.checkbox_background_checked &&
          checkbox_background_default == o.checkbox_background_default &&
          checkbox_border_checkbox_border_checked == o.checkbox_border_checkbox_border_checked &&
          checkbox_border_checkbox_border_default == o.checkbox_border_checkbox_border_default &&
          checkbox_foreground_checked == o.checkbox_foreground_checked &&
          checkbox_foreground_default == o.checkbox_foreground_default &&
          form_background_default == o.form_background_default &&
          form_border_default == o.form_border_default &&
          input_background_default == o.input_background_default &&
          input_background_disabled == o.input_background_disabled &&
          input_background_hover == o.input_background_hover &&
          input_border_default == o.input_border_default &&
          input_border_disabled == o.input_border_disabled &&
          input_border_focus == o.input_border_focus &&
          input_border_hover == o.input_border_hover &&
          input_foreground_disabled == o.input_foreground_disabled &&
          input_foreground_primary == o.input_foreground_primary &&
          input_foreground_secondary == o.input_foreground_secondary &&
          input_foreground_tertiary == o.input_foreground_tertiary &&
          interface_background_brand_primary == o.interface_background_brand_primary &&
          interface_background_brand_primary_hover == o.interface_background_brand_primary_hover &&
          interface_background_brand_secondary == o.interface_background_brand_secondary &&
          interface_background_brand_secondary_hover == o.interface_background_brand_secondary_hover &&
          interface_background_default_inverted == o.interface_background_default_inverted &&
          interface_background_default_inverted_hover == o.interface_background_default_inverted_hover &&
          interface_background_default_none == o.interface_background_default_none &&
          interface_background_default_primary == o.interface_background_default_primary &&
          interface_background_default_primary_hover == o.interface_background_default_primary_hover &&
          interface_background_default_secondary == o.interface_background_default_secondary &&
          interface_background_default_secondary_hover == o.interface_background_default_secondary_hover &&
          interface_background_default_tertiary == o.interface_background_default_tertiary &&
          interface_background_default_tertiary_hover == o.interface_background_default_tertiary_hover &&
          interface_background_disabled_disabled == o.interface_background_disabled_disabled &&
          interface_background_validation_danger == o.interface_background_validation_danger &&
          interface_background_validation_success == o.interface_background_validation_success &&
          interface_background_validation_warning == o.interface_background_validation_warning &&
          interface_border_brand_brand == o.interface_border_brand_brand &&
          interface_border_default_inverted == o.interface_border_default_inverted &&
          interface_border_default_none == o.interface_border_default_none &&
          interface_border_default_primary == o.interface_border_default_primary &&
          interface_border_disabled_disabled == o.interface_border_disabled_disabled &&
          interface_border_validation_danger == o.interface_border_validation_danger &&
          interface_border_validation_success == o.interface_border_validation_success &&
          interface_border_validation_warning == o.interface_border_validation_warning &&
          interface_foreground_brand_on_primary == o.interface_foreground_brand_on_primary &&
          interface_foreground_brand_on_secondary == o.interface_foreground_brand_on_secondary &&
          interface_foreground_brand_primary == o.interface_foreground_brand_primary &&
          interface_foreground_brand_secondary == o.interface_foreground_brand_secondary &&
          interface_foreground_default_inverted == o.interface_foreground_default_inverted &&
          interface_foreground_default_primary == o.interface_foreground_default_primary &&
          interface_foreground_default_secondary == o.interface_foreground_default_secondary &&
          interface_foreground_default_tertiary == o.interface_foreground_default_tertiary &&
          interface_foreground_disabled_disabled == o.interface_foreground_disabled_disabled &&
          interface_foreground_disabled_on_disabled == o.interface_foreground_disabled_on_disabled &&
          interface_foreground_validation_danger == o.interface_foreground_validation_danger &&
          interface_foreground_validation_success == o.interface_foreground_validation_success &&
          interface_foreground_validation_warning == o.interface_foreground_validation_warning &&
          ory_background_default == o.ory_background_default &&
          ory_border_default == o.ory_border_default &&
          ory_foreground_default == o.ory_foreground_default &&
          radio_background_checked == o.radio_background_checked &&
          radio_background_default == o.radio_background_default &&
          radio_border_checked == o.radio_border_checked &&
          radio_border_default == o.radio_border_default &&
          radio_foreground_checked == o.radio_foreground_checked &&
          radio_foreground_default == o.radio_foreground_default &&
          toggle_background_checked == o.toggle_background_checked &&
          toggle_background_default == o.toggle_background_default &&
          toggle_border_checked == o.toggle_border_checked &&
          toggle_border_default == o.toggle_border_default &&
          toggle_foreground_checked == o.toggle_foreground_checked &&
          toggle_foreground_default == o.toggle_foreground_default &&
          ui_100 == o.ui_100 &&
          ui_200 == o.ui_200 &&
          ui_300 == o.ui_300 &&
          ui_400 == o.ui_400 &&
          ui_50 == o.ui_50 &&
          ui_500 == o.ui_500 &&
          ui_600 == o.ui_600 &&
          ui_700 == o.ui_700 &&
          ui_800 == o.ui_800 &&
          ui_900 == o.ui_900 &&
          ui_950 == o.ui_950 &&
          ui_black == o.ui_black &&
          ui_danger == o.ui_danger &&
          ui_success == o.ui_success &&
          ui_transparent == o.ui_transparent &&
          ui_warning == o.ui_warning &&
          ui_white == o.ui_white
    end

    # @see the `==` method
    # @param [Object] Object to be compared
    def eql?(o)
      self == o
    end

    # Calculates hash code according to all attributes.
    # @return [Integer] Hash code
    def hash
      [ax_background_default, brand_100, brand_200, brand_300, brand_400, brand_50, brand_500, brand_600, brand_700, brand_800, brand_900, brand_950, button_identifier_background_default, button_identifier_background_hover, button_identifier_border_border_default, button_identifier_border_border_hover, button_identifier_foreground_default, button_identifier_foreground_hover, button_link_brand_brand, button_link_brand_brand_hover, button_link_default_primary, button_link_default_primary_hover, button_link_default_secondary, button_link_default_secondary_hover, button_link_disabled_disabled, button_primary_background_default, button_primary_background_disabled, button_primary_background_hover, button_primary_border_default, button_primary_border_disabled, button_primary_border_hover, button_primary_foreground_default, button_primary_foreground_disabled, button_primary_foreground_hover, button_secondary_background_default, button_secondary_background_disabled, button_secondary_background_hover, button_secondary_border_default, button_secondary_border_disabled, button_secondary_border_hover, button_secondary_foreground_default, button_secondary_foreground_disabled, button_secondary_foreground_hover, button_social_background_default, button_social_background_disabled, button_social_background_generic_provider, button_social_background_hover, button_social_border_default, button_social_border_disabled, button_social_border_generic_provider, button_social_border_hover, button_social_foreground_default, button_social_foreground_disabled, button_social_foreground_generic_provider, button_social_foreground_hover, checkbox_background_checked, checkbox_background_default, checkbox_border_checkbox_border_checked, checkbox_border_checkbox_border_default, checkbox_foreground_checked, checkbox_foreground_default, form_background_default, form_border_default, input_background_default, input_background_disabled, input_background_hover, input_border_default, input_border_disabled, input_border_focus, input_border_hover, input_foreground_disabled, input_foreground_primary, input_foreground_secondary, input_foreground_tertiary, interface_background_brand_primary, interface_background_brand_primary_hover, interface_background_brand_secondary, interface_background_brand_secondary_hover, interface_background_default_inverted, interface_background_default_inverted_hover, interface_background_default_none, interface_background_default_primary, interface_background_default_primary_hover, interface_background_default_secondary, interface_background_default_secondary_hover, interface_background_default_tertiary, interface_background_default_tertiary_hover, interface_background_disabled_disabled, interface_background_validation_danger, interface_background_validation_success, interface_background_validation_warning, interface_border_brand_brand, interface_border_default_inverted, interface_border_default_none, interface_border_default_primary, interface_border_disabled_disabled, interface_border_validation_danger, interface_border_validation_success, interface_border_validation_warning, interface_foreground_brand_on_primary, interface_foreground_brand_on_secondary, interface_foreground_brand_primary, interface_foreground_brand_secondary, interface_foreground_default_inverted, interface_foreground_default_primary, interface_foreground_default_secondary, interface_foreground_default_tertiary, interface_foreground_disabled_disabled, interface_foreground_disabled_on_disabled, interface_foreground_validation_danger, interface_foreground_validation_success, interface_foreground_validation_warning, ory_background_default, ory_border_default, ory_foreground_default, radio_background_checked, radio_background_default, radio_border_checked, radio_border_default, radio_foreground_checked, radio_foreground_default, toggle_background_checked, toggle_background_default, toggle_border_checked, toggle_border_default, toggle_foreground_checked, toggle_foreground_default, ui_100, ui_200, ui_300, ui_400, ui_50, ui_500, ui_600, ui_700, ui_800, ui_900, ui_950, ui_black, ui_danger, ui_success, ui_transparent, ui_warning, ui_white].hash
    end

    # Builds the object from hash
    # @param [Hash] attributes Model attributes in the form of hash
    # @return [Object] Returns the model itself
    def self.build_from_hash(attributes)
      return nil unless attributes.is_a?(Hash)
      attributes = attributes.transform_keys(&:to_sym)
      transformed_hash = {}
      openapi_types.each_pair do |key, type|
        if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
          transformed_hash["#{key}"] = nil
        elsif type =~ /\AArray<(.*)>/i
          # check to ensure the input is an array given that the attribute
          # is documented as an array but the input is not
          if attributes[attribute_map[key]].is_a?(Array)
            transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
          end
        elsif !attributes[attribute_map[key]].nil?
          transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
        end
      end
      new(transformed_hash)
    end

    # Deserializes the data based on type
    # @param string type Data type
    # @param string value Value to be deserialized
    # @return [Object] Deserialized data
    def self._deserialize(type, value)
      case type.to_sym
      when :Time
        Time.parse(value)
      when :Date
        Date.parse(value)
      when :String
        value.to_s
      when :Integer
        value.to_i
      when :Float
        value.to_f
      when :Boolean
        if value.to_s =~ /\A(true|t|yes|y|1)\z/i
          true
        else
          false
        end
      when :Object
        # generic object (usually a Hash), return directly
        value
      when /\AArray<(?<inner_type>.+)>\z/
        inner_type = Regexp.last_match[:inner_type]
        value.map { |v| _deserialize(inner_type, v) }
      when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
        k_type = Regexp.last_match[:k_type]
        v_type = Regexp.last_match[:v_type]
        {}.tap do |hash|
          value.each do |k, v|
            hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
          end
        end
      else # model
        # models (e.g. Pet) or oneOf
        klass = OryClient.const_get(type)
        klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
      end
    end

    # Returns the string representation of the object
    # @return [String] String presentation of the object
    def to_s
      to_hash.to_s
    end

    # to_body is an alias to to_hash (backward compatibility)
    # @return [Hash] Returns the object in the form of hash
    def to_body
      to_hash
    end

    # Returns the object in the form of hash
    # @return [Hash] Returns the object in the form of hash
    def to_hash
      hash = {}
      self.class.attribute_map.each_pair do |attr, param|
        value = self.send(attr)
        if value.nil?
          is_nullable = self.class.openapi_nullable.include?(attr)
          next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
        end

        hash[param] = _to_hash(value)
      end
      hash
    end

    # Outputs non-array value in the form of hash
    # For object, use to_hash. Otherwise, just return the value
    # @param [Object] value Any valid value
    # @return [Hash] Returns the value in the form of hash
    def _to_hash(value)
      if value.is_a?(Array)
        value.compact.map { |v| _to_hash(v) }
      elsif value.is_a?(Hash)
        {}.tap do |hash|
          value.each { |k, v| hash[k] = _to_hash(v) }
        end
      elsif value.respond_to? :to_hash
        value.to_hash
      else
        value
      end
    end

  end

end
