We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Typing: ManualScheduleTrigger `points` should accept `int`


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py`
Content:
```
1 # mypy: ignore-errors
2 
3 from typing import List, Union, TYPE_CHECKING
4 
5 from pytorch_pfn_extras.training import trigger
6 
7 
8 if TYPE_CHECKING:
9     from pytorch_pfn_extras.training.manager import _BaseExtensionsManager
10     from pytorch_pfn_extras.training._trigger_util import UnitLiteral
11 
12 
13 class ManualScheduleTrigger(trigger.Trigger):
14 
15     """Trigger invoked at specified point(s) of iterations or epochs.
16 
17     This trigger accepts iterations or epochs indicated by given point(s).
18     There are two ways to specify the point(s): iteration and epoch.
19     ``iteration`` means the number of updates, while ``epoch`` means the number
20     of sweeps over the training dataset. Fractional values are allowed
21     if the point is a number of epochs; the trigger uses the ``iteration``
22     and ``epoch_detail`` attributes defined by the manager.
23 
24     Args:
25         points (int, float, or list of int or float): time of the trigger.
26             Must be an integer or list of integer if unit is ``'iteration'``.
27         unit (str): Unit of the time specified by ``points``. It must be
28             either ``'iteration'`` or ``'epoch'``.
29 
30     """
31 
32     def __init__(self, points: Union[float, List[float]], unit: 'UnitLiteral'):
33         if unit not in ('epoch', 'iteration'):
34             raise ValueError(
35                 'Trigger unit must be either \'epoch\' or \'iteration\'.')
36 
37         self.points = (points if isinstance(points, list) else [points])
38         self.unit = unit
39 
40     def __call__(self, manager: '_BaseExtensionsManager') -> bool:
41         """Decides whether the extension should be called on this iteration.
42 
43         Args:
44             manager (~pytorch_pfn_extras.training.ExtensionsManager):
45                 Manager object that this trigger is associated with.
46                 The iteration information in this manager is used to
47                 determine if the trigger should fire.
48 
49         Returns:
50             bool: True if the corresponding extension should be invoked in this
51             iteration.
52 
53         """
54         fire = self.may_fire(manager.iteration, manager._iters_per_epoch)
55         return fire
56 
57     def may_fire(self, iteration: int, epoch_length: int) -> bool:
58         if self.unit == 'epoch':
59             fire = any(
60                 int(p * epoch_length) == iteration for p in self.points)
61         else:
62             fire = any(p == iteration for p in self.points)
63         return fire
64
```
--- 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()

```

diff --git a/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py b/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py
--- a/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py
+++ b/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py
@@ -1,6 +1,6 @@
 # mypy: ignore-errors
 
-from typing import List, Union, TYPE_CHECKING
+from typing import Sequence, Union, TYPE_CHECKING
 
 from pytorch_pfn_extras.training import trigger
 
@@ -29,7 +29,7 @@
 
     """
 
-    def __init__(self, points: Union[float, List[float]], unit: 'UnitLiteral'):
+    def __init__(self, points: Union[float, Sequence[float]], unit: 'UnitLiteral'):
         if unit not in ('epoch', 'iteration'):
             raise ValueError(
                 'Trigger unit must be either \'epoch\' or \'iteration\'.')

{"golden_diff": "diff --git a/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py b/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py\n--- a/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py\n+++ b/pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py\n@@ -1,6 +1,6 @@\n # mypy: ignore-errors\n \n-from typing import List, Union, TYPE_CHECKING\n+from typing import Sequence, Union, TYPE_CHECKING\n \n from pytorch_pfn_extras.training import trigger\n \n@@ -29,7 +29,7 @@\n \n     \"\"\"\n \n-    def __init__(self, points: Union[float, List[float]], unit: 'UnitLiteral'):\n+    def __init__(self, points: Union[float, Sequence[float]], unit: 'UnitLiteral'):\n         if unit not in ('epoch', 'iteration'):\n             raise ValueError(\n                 'Trigger unit must be either \\'epoch\\' or \\'iteration\\'.')\n", "issue": "Typing: ManualScheduleTrigger `points` should accept `int`\n\n", "before_files": [{"content": "# mypy: ignore-errors\n\nfrom typing import List, Union, TYPE_CHECKING\n\nfrom pytorch_pfn_extras.training import trigger\n\n\nif TYPE_CHECKING:\n    from pytorch_pfn_extras.training.manager import _BaseExtensionsManager\n    from pytorch_pfn_extras.training._trigger_util import UnitLiteral\n\n\nclass ManualScheduleTrigger(trigger.Trigger):\n\n    \"\"\"Trigger invoked at specified point(s) of iterations or epochs.\n\n    This trigger accepts iterations or epochs indicated by given point(s).\n    There are two ways to specify the point(s): iteration and epoch.\n    ``iteration`` means the number of updates, while ``epoch`` means the number\n    of sweeps over the training dataset. Fractional values are allowed\n    if the point is a number of epochs; the trigger uses the ``iteration``\n    and ``epoch_detail`` attributes defined by the manager.\n\n    Args:\n        points (int, float, or list of int or float): time of the trigger.\n            Must be an integer or list of integer if unit is ``'iteration'``.\n        unit (str): Unit of the time specified by ``points``. It must be\n            either ``'iteration'`` or ``'epoch'``.\n\n    \"\"\"\n\n    def __init__(self, points: Union[float, List[float]], unit: 'UnitLiteral'):\n        if unit not in ('epoch', 'iteration'):\n            raise ValueError(\n                'Trigger unit must be either \\'epoch\\' or \\'iteration\\'.')\n\n        self.points = (points if isinstance(points, list) else [points])\n        self.unit = unit\n\n    def __call__(self, manager: '_BaseExtensionsManager') -> bool:\n        \"\"\"Decides whether the extension should be called on this iteration.\n\n        Args:\n            manager (~pytorch_pfn_extras.training.ExtensionsManager):\n                Manager object that this trigger is associated with.\n                The iteration information in this manager is used to\n                determine if the trigger should fire.\n\n        Returns:\n            bool: True if the corresponding extension should be invoked in this\n            iteration.\n\n        \"\"\"\n        fire = self.may_fire(manager.iteration, manager._iters_per_epoch)\n        return fire\n\n    def may_fire(self, iteration: int, epoch_length: int) -> bool:\n        if self.unit == 'epoch':\n            fire = any(\n                int(p * epoch_length) == iteration for p in self.points)\n        else:\n            fire = any(p == iteration for p in self.points)\n        return fire\n", "path": "pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py"}], "after_files": [{"content": "# mypy: ignore-errors\n\nfrom typing import Sequence, Union, TYPE_CHECKING\n\nfrom pytorch_pfn_extras.training import trigger\n\n\nif TYPE_CHECKING:\n    from pytorch_pfn_extras.training.manager import _BaseExtensionsManager\n    from pytorch_pfn_extras.training._trigger_util import UnitLiteral\n\n\nclass ManualScheduleTrigger(trigger.Trigger):\n\n    \"\"\"Trigger invoked at specified point(s) of iterations or epochs.\n\n    This trigger accepts iterations or epochs indicated by given point(s).\n    There are two ways to specify the point(s): iteration and epoch.\n    ``iteration`` means the number of updates, while ``epoch`` means the number\n    of sweeps over the training dataset. Fractional values are allowed\n    if the point is a number of epochs; the trigger uses the ``iteration``\n    and ``epoch_detail`` attributes defined by the manager.\n\n    Args:\n        points (int, float, or list of int or float): time of the trigger.\n            Must be an integer or list of integer if unit is ``'iteration'``.\n        unit (str): Unit of the time specified by ``points``. It must be\n            either ``'iteration'`` or ``'epoch'``.\n\n    \"\"\"\n\n    def __init__(self, points: Union[float, Sequence[float]], unit: 'UnitLiteral'):\n        if unit not in ('epoch', 'iteration'):\n            raise ValueError(\n                'Trigger unit must be either \\'epoch\\' or \\'iteration\\'.')\n\n        self.points = (points if isinstance(points, list) else [points])\n        self.unit = unit\n\n    def __call__(self, manager: '_BaseExtensionsManager') -> bool:\n        \"\"\"Decides whether the extension should be called on this iteration.\n\n        Args:\n            manager (~pytorch_pfn_extras.training.ExtensionsManager):\n                Manager object that this trigger is associated with.\n                The iteration information in this manager is used to\n                determine if the trigger should fire.\n\n        Returns:\n            bool: True if the corresponding extension should be invoked in this\n            iteration.\n\n        \"\"\"\n        fire = self.may_fire(manager.iteration, manager._iters_per_epoch)\n        return fire\n\n    def may_fire(self, iteration: int, epoch_length: int) -> bool:\n        if self.unit == 'epoch':\n            fire = any(\n                int(p * epoch_length) == iteration for p in self.points)\n        else:\n            fire = any(p == iteration for p in self.points)\n        return fire\n", "path": "pytorch_pfn_extras/training/triggers/manual_schedule_trigger.py"}]}