code: def __init__(self, **kwargs):
      import dash  # pylint: disable=import-outside-toplevel, cyclic-import
  
      # pylint: disable=super-init-not-called
      for k, v in list(kwargs.items()):
          # pylint: disable=no-member
          k_in_propnames = k in self._prop_names
          k_in_wildcards = any(
              k.startswith(w) for w in self._valid_wildcard_attributes
          )
          # e.g. "The dash_core_components.Dropdown component (version 1.6.0)
          # with the ID "my-dropdown"
          id_suffix = (
              f' with the ID "{kwargs["id"]}"' if "id" in kwargs else ""
          )
          try:
              # Get fancy error strings that have the version numbers
              error_string_prefix = (
                  "The `{}.{}` component (version {}){}"
              )
              # These components are part of dash now, so extract the dash version:
              dash_packages = {
                  "dash_html_components": "html",
                  "dash_core_components": "dcc",
                  "dash_table": "dash_table",
              }
              if self._namespace in dash_packages:
                  error_string_prefix = error_string_prefix.format(
                      dash_packages[self._namespace],
                      self._type,
                      dash.__version__,
                      id_suffix,
                  )
              else:
                  # Otherwise import the package and extract the version number
                  error_string_prefix = error_string_prefix.format(
                      self._namespace,
                      self._type,
                      getattr(
                          __import__(self._namespace),
                          "__version__",
                          "unknown",
                      ),
                      id_suffix,
                  )
          except ImportError:
              # Our tests create mock components with libraries that
              # aren't importable
              error_string_prefix = (
                  f"The `{self._type}` component{id_suffix}"
              )
  
          if not k_in_propnames and not k_in_wildcards:
              allowed_args = ", ".join(
                  sorted(self._prop_names)
              )  # pylint: disable=no-member
              raise TypeError(
                  f"{error_string_prefix} received an unexpected keyword argument: `{k}`"
                  f"\nAllowed arguments: {allowed_args}"
              )
  
          if k not in self._base_nodes and isinstance(v, Component):
              raise TypeError(
                  error_string_prefix
                  + " detected a Component for a prop other than `children`\n"
                  + f"Prop {k} has value {v!r}\n\n"
                  + "Did you forget to wrap multiple `children` in an array?\n"
                  + 'For example, it must be html.Div(["a", "b", "c"]) not html.Div("a", "b", "c")\n'
              )
  
          if k == "id":
              if isinstance(v, dict):
                  for id_key, id_val in v.items():
                      if not isinstance(id_key, str):
                          raise TypeError(
                              "dict id keys must be strings,\n"
                              + f"found {id_key!r} in id {v!r}"
                          )
                      if not isinstance(
                          id_val, (str, int, float, bool)
                      ):
                          raise TypeError(
                              "dict id values must be strings, numbers or bools,\n"
                              + f"found {id_val!r} in id {v!r}"
                          )
              elif not isinstance(v, str):
                  raise TypeError(
                      f"`id` prop must be a string or dict, not {v!r}"
                  )
  
          setattr(self, k, v)
  
imports: import abc
  import collections
  import inspect
  import sys
  import uuid
  import random
  from .._utils import patch_collections_abc, stringify_id, OrderedSet
label_desc: Use image node_id 1 to create a new Component object  with example: obj = Component()