code: def test_clsd012_clientside_callback_context_states(dash_duo):
      app = Dash(__name__, assets_folder="assets")
  
      app.layout = html.Div(
          [
              dcc.Input(id="in0"),
              dcc.Input(id={"in1": 0}),
              dcc.Input(id={"in1": 1}),
              dcc.Input(id={"in1": 2}),
              html.Div(
                  id="output-clientside",
                  style={"font-family": "monospace"},
              ),
          ]
      )
  
      app.clientside_callback(
          ClientsideFunction(
              namespace="clientside", function_name="states_to_str"
          ),
          Output("output-clientside", "children"),
          [Input("in0", "n_submit"), Input({"in1": ALL}, "n_submit")],
          [State("in0", "value"), State({"in1": ALL}, "value")],
      )
  
      dash_duo.start_server(app)
  
      dash_duo.wait_for_text_to_equal(
          "#output-clientside",
          (
              "in0.value = null, "
              '{"in1":0}.value = null, '
              '{"in1":1}.value = null, '
              '{"in1":2}.value = null'
          ),
      )
  
      dash_duo.find_element("#in0").send_keys("test 0" + Keys.RETURN)
  
      dash_duo.wait_for_text_to_equal(
          "#output-clientside",
          (
              "in0.value = test 0, "
              '{"in1":0}.value = null, '
              '{"in1":1}.value = null, '
              '{"in1":2}.value = null'
          ),
      )
  
      dash_duo.find_element("input[id*='in1\":0']").send_keys(
          "test 1" + Keys.RETURN
      )
  
      dash_duo.wait_for_text_to_equal(
          "#output-clientside",
          (
              "in0.value = test 0, "
              '{"in1":0}.value = test 1, '
              '{"in1":1}.value = null, '
              '{"in1":2}.value = null'
          ),
      )
  
      dash_duo.find_element("input[id*='in1\":2']").send_keys(
          "test 2" + Keys.RETURN
      )
  
      dash_duo.wait_for_text_to_equal(
          "#output-clientside",
          (
              "in0.value = test 0, "
              '{"in1":0}.value = test 1, '
              '{"in1":1}.value = null, '
              '{"in1":2}.value = test 2'
          ),
      )
  
imports: from multiprocessing import Value, Lock
  from dash import Dash, Input, Output, State, ClientsideFunction, ALL, html, dcc
  from selenium.webdriver.common.keys import Keys
label_desc: Use image node_id 11 for calling a global function with example usage: test_clsd012_clientside_callback_context_states(dash_duo) without return types