prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Missing import for types breaking LocalDataCluster
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `zhaquirks/__init__.py`
  Content:
  ```
  1 import importlib
  2 import pkgutil
  3 from zigpy.quirks import CustomCluster
  4 from zigpy.util import ListenableMixin
  5 
  6 UNKNOWN = 'Unknown'
  7 
  8 
  9 class Bus(ListenableMixin):
  10 
  11     def __init__(self, *args, **kwargs):
  12         super().__init__(*args, **kwargs)
  13         self._listeners = {}
  14 
  15 
  16 class LocalDataCluster(CustomCluster):
  17 
  18     def __init__(self, *args, **kwargs):
  19         super().__init__(*args, **kwargs)
  20 
  21     async def read_attributes_raw(self, attributes, manufacturer=None):
  22         attributes = [types.uint16_t(a) for a in attributes]
  23         v = [self._attr_cache.get(attr) for attr in attributes]
  24         return v
  25 
  26     def _update_attribute(self, attrid, value):
  27         super()._update_attribute(attrid, value)
  28 
  29 
  30 class EventableCluster(CustomCluster):
  31 
  32     def __init__(self, *args, **kwargs):
  33         super().__init__(*args, **kwargs)
  34 
  35     def handle_cluster_request(self, tsn, command_id, args):
  36         super().handle_cluster_request(tsn, command_id, args)
  37         if self.server_commands is not None and\
  38                 self.server_commands.get(command_id) is not None:
  39             self.listener_event(
  40                 'zha_send_event',
  41                 self,
  42                 self.server_commands.get(command_id)[0],
  43                 args
  44             )
  45 
  46     def _update_attribute(self, attrid, value):
  47         super()._update_attribute(attrid, value)
  48         self.listener_event(
  49             'zha_send_event',
  50             self,
  51             'attribute_updated',
  52             {
  53                 'attribute_id': attrid,
  54                 'attribute_name': self.attributes.get(attrid, [UNKNOWN])[0],
  55                 'value': value
  56             }
  57         )
  58 
  59 name = __name__
  60 path = __path__
  61 for importer, modname, ispkg in pkgutil.walk_packages(
  62         path=path,
  63         prefix=name +'.'
  64         ):
  65     importlib.import_module(modname)
  66
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/zhaquirks/__init__.py b/zhaquirks/__init__.py
  --- a/zhaquirks/__init__.py
  +++ b/zhaquirks/__init__.py
  @@ -2,6 +2,7 @@
   import pkgutil
   from zigpy.quirks import CustomCluster
   from zigpy.util import ListenableMixin
  +import zigpy.types as types
   
   UNKNOWN = 'Unknown'
  
verification_info: {"golden_diff": "diff --git a/zhaquirks/__init__.py b/zhaquirks/__init__.py\n--- a/zhaquirks/__init__.py\n+++ b/zhaquirks/__init__.py\n@@ -2,6 +2,7 @@\n import pkgutil\n from zigpy.quirks import CustomCluster\n from zigpy.util import ListenableMixin\n+import zigpy.types as types\n \n UNKNOWN = 'Unknown'\n", "issue": "Missing import for types breaking LocalDataCluster\n\n", "before_files": [{"content": "import importlib\nimport pkgutil\nfrom zigpy.quirks import CustomCluster\nfrom zigpy.util import ListenableMixin\n\nUNKNOWN = 'Unknown'\n\n\nclass Bus(ListenableMixin):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n        self._listeners = {}\n\n\nclass LocalDataCluster(CustomCluster):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n\n    async def read_attributes_raw(self, attributes, manufacturer=None):\n        attributes = [types.uint16_t(a) for a in attributes]\n        v = [self._attr_cache.get(attr) for attr in attributes]\n        return v\n\n    def _update_attribute(self, attrid, value):\n        super()._update_attribute(attrid, value)\n\n\nclass EventableCluster(CustomCluster):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n\n    def handle_cluster_request(self, tsn, command_id, args):\n        super().handle_cluster_request(tsn, command_id, args)\n        if self.server_commands is not None and\\\n                self.server_commands.get(command_id) is not None:\n            self.listener_event(\n                'zha_send_event',\n                self,\n                self.server_commands.get(command_id)[0],\n                args\n            )\n\n    def _update_attribute(self, attrid, value):\n        super()._update_attribute(attrid, value)\n        self.listener_event(\n            'zha_send_event',\n            self,\n            'attribute_updated',\n            {\n                'attribute_id': attrid,\n                'attribute_name': self.attributes.get(attrid, [UNKNOWN])[0],\n                'value': value\n            }\n        )\n\nname = __name__\npath = __path__\nfor importer, modname, ispkg in pkgutil.walk_packages(\n        path=path,\n        prefix=name +'.'\n        ):\n    importlib.import_module(modname)\n", "path": "zhaquirks/__init__.py"}], "after_files": [{"content": "import importlib\nimport pkgutil\nfrom zigpy.quirks import CustomCluster\nfrom zigpy.util import ListenableMixin\nimport zigpy.types as types\n\nUNKNOWN = 'Unknown'\n\n\nclass Bus(ListenableMixin):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n        self._listeners = {}\n\n\nclass LocalDataCluster(CustomCluster):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n\n    async def read_attributes_raw(self, attributes, manufacturer=None):\n        attributes = [types.uint16_t(a) for a in attributes]\n        v = [self._attr_cache.get(attr) for attr in attributes]\n        return v\n\n    def _update_attribute(self, attrid, value):\n        super()._update_attribute(attrid, value)\n\n\nclass EventableCluster(CustomCluster):\n\n    def __init__(self, *args, **kwargs):\n        super().__init__(*args, **kwargs)\n\n    def handle_cluster_request(self, tsn, command_id, args):\n        super().handle_cluster_request(tsn, command_id, args)\n        if self.server_commands is not None and\\\n                self.server_commands.get(command_id) is not None:\n            self.listener_event(\n                'zha_send_event',\n                self,\n                self.server_commands.get(command_id)[0],\n                args\n            )\n\n    def _update_attribute(self, attrid, value):\n        super()._update_attribute(attrid, value)\n        self.listener_event(\n            'zha_send_event',\n            self,\n            'attribute_updated',\n            {\n                'attribute_id': attrid,\n                'attribute_name': self.attributes.get(attrid, [UNKNOWN])[0],\n                'value': value\n            }\n        )\n\nname = __name__\npath = __path__\nfor importer, modname, ispkg in pkgutil.walk_packages(\n        path=path,\n        prefix=name +'.'\n        ):\n    importlib.import_module(modname)\n", "path": "zhaquirks/__init__.py"}]}