We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
CIFAR10 run_fl.py misses license header
https://github.com/NVIDIA/NVFlare/blob/d784e7be9742b4d1bcfa0f389ea063fec984fe50/examples/cifar10/run_fl.py#L1

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `examples/cifar10/run_fl.py`
Content:
```
1 import argparse
2 import os
3 import time
4 
5 from nvflare.fuel.hci.client.fl_admin_api_runner import FLAdminAPIRunner
6 
7 
8 def main():
9     parser = argparse.ArgumentParser()
10     parser.add_argument("--run_number", type=int, default=100, help="FL run number to start at.")
11     parser.add_argument("--admin_dir", type=str, default="./admin/", help="Path to admin directory.")
12     parser.add_argument("--username", type=str, default="admin@nvidia.com", help="Admin username")
13     parser.add_argument("--app", type=str, default="cifar10_fedavg", help="App to be deployed")
14     parser.add_argument("--port", type=int, default=8003, help="The admin server port")
15     parser.add_argument("--poc", action='store_true', help="Whether admin uses POC mode.")
16     parser.add_argument("--min_clients", type=int, default=8, help="Minimum number of clients.")
17     args = parser.parse_args()
18 
19     host = ""
20     port = args.port
21 
22     assert os.path.isdir(args.admin_dir), f"admin directory does not exist at {args.admin_dir}"
23 
24     # Set up certificate names and admin folders
25     upload_dir = os.path.join(args.admin_dir, "transfer")
26     if not os.path.isdir(upload_dir):
27         os.makedirs(upload_dir)
28     download_dir = os.path.join(args.admin_dir, "download")
29     if not os.path.isdir(download_dir):
30         os.makedirs(download_dir)
31 
32     run_number = args.run_number
33 
34     # Initialize the runner
35     runner = FLAdminAPIRunner(
36         host=host,
37         port=port,
38         username=args.username,
39         admin_dir=args.admin_dir,
40         poc=args.poc,
41         debug=False,
42     )
43 
44     # Run
45     start = time.time()
46     runner.run(run_number, args.app, restart_all_first=False, shutdown_on_error=True, shutdown_at_end=True,
47                timeout=7200, min_clients=args.min_clients)  # will time out if not completed in 2 hours
48     print("Total training time", time.time() - start)
49 
50 
51 if __name__ == "__main__":
52     main()
53
```
--- 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/examples/cifar10/run_fl.py b/examples/cifar10/run_fl.py
--- a/examples/cifar10/run_fl.py
+++ b/examples/cifar10/run_fl.py
@@ -1,3 +1,17 @@
+# Copyright (c) 2021, NVIDIA CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import argparse
 import os
 import time

{"golden_diff": "diff --git a/examples/cifar10/run_fl.py b/examples/cifar10/run_fl.py\n--- a/examples/cifar10/run_fl.py\n+++ b/examples/cifar10/run_fl.py\n@@ -1,3 +1,17 @@\n+# Copyright (c) 2021, NVIDIA CORPORATION.\n+#\n+# Licensed under the Apache License, Version 2.0 (the \"License\");\n+# you may not use this file except in compliance with the License.\n+# You may obtain a copy of the License at\n+#\n+#     http://www.apache.org/licenses/LICENSE-2.0\n+#\n+# Unless required by applicable law or agreed to in writing, software\n+# distributed under the License is distributed on an \"AS IS\" BASIS,\n+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+# See the License for the specific language governing permissions and\n+# limitations under the License.\n+\n import argparse\n import os\n import time\n", "issue": "CIFAR10 run_fl.py misses license header\nhttps://github.com/NVIDIA/NVFlare/blob/d784e7be9742b4d1bcfa0f389ea063fec984fe50/examples/cifar10/run_fl.py#L1\n", "before_files": [{"content": "import argparse\nimport os\nimport time\n\nfrom nvflare.fuel.hci.client.fl_admin_api_runner import FLAdminAPIRunner\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--run_number\", type=int, default=100, help=\"FL run number to start at.\")\n    parser.add_argument(\"--admin_dir\", type=str, default=\"./admin/\", help=\"Path to admin directory.\")\n    parser.add_argument(\"--username\", type=str, default=\"admin@nvidia.com\", help=\"Admin username\")\n    parser.add_argument(\"--app\", type=str, default=\"cifar10_fedavg\", help=\"App to be deployed\")\n    parser.add_argument(\"--port\", type=int, default=8003, help=\"The admin server port\")\n    parser.add_argument(\"--poc\", action='store_true', help=\"Whether admin uses POC mode.\")\n    parser.add_argument(\"--min_clients\", type=int, default=8, help=\"Minimum number of clients.\")\n    args = parser.parse_args()\n\n    host = \"\"\n    port = args.port\n\n    assert os.path.isdir(args.admin_dir), f\"admin directory does not exist at {args.admin_dir}\"\n\n    # Set up certificate names and admin folders\n    upload_dir = os.path.join(args.admin_dir, \"transfer\")\n    if not os.path.isdir(upload_dir):\n        os.makedirs(upload_dir)\n    download_dir = os.path.join(args.admin_dir, \"download\")\n    if not os.path.isdir(download_dir):\n        os.makedirs(download_dir)\n\n    run_number = args.run_number\n\n    # Initialize the runner\n    runner = FLAdminAPIRunner(\n        host=host,\n        port=port,\n        username=args.username,\n        admin_dir=args.admin_dir,\n        poc=args.poc,\n        debug=False,\n    )\n\n    # Run\n    start = time.time()\n    runner.run(run_number, args.app, restart_all_first=False, shutdown_on_error=True, shutdown_at_end=True,\n               timeout=7200, min_clients=args.min_clients)  # will time out if not completed in 2 hours\n    print(\"Total training time\", time.time() - start)\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "examples/cifar10/run_fl.py"}], "after_files": [{"content": "# Copyright (c) 2021, NVIDIA CORPORATION.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport argparse\nimport os\nimport time\n\nfrom nvflare.fuel.hci.client.fl_admin_api_runner import FLAdminAPIRunner\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument(\"--run_number\", type=int, default=100, help=\"FL run number to start at.\")\n    parser.add_argument(\"--admin_dir\", type=str, default=\"./admin/\", help=\"Path to admin directory.\")\n    parser.add_argument(\"--username\", type=str, default=\"admin@nvidia.com\", help=\"Admin username\")\n    parser.add_argument(\"--app\", type=str, default=\"cifar10_fedavg\", help=\"App to be deployed\")\n    parser.add_argument(\"--port\", type=int, default=8003, help=\"The admin server port\")\n    parser.add_argument(\"--poc\", action='store_true', help=\"Whether admin uses POC mode.\")\n    parser.add_argument(\"--min_clients\", type=int, default=8, help=\"Minimum number of clients.\")\n    args = parser.parse_args()\n\n    host = \"\"\n    port = args.port\n\n    assert os.path.isdir(args.admin_dir), f\"admin directory does not exist at {args.admin_dir}\"\n\n    # Set up certificate names and admin folders\n    upload_dir = os.path.join(args.admin_dir, \"transfer\")\n    if not os.path.isdir(upload_dir):\n        os.makedirs(upload_dir)\n    download_dir = os.path.join(args.admin_dir, \"download\")\n    if not os.path.isdir(download_dir):\n        os.makedirs(download_dir)\n\n    run_number = args.run_number\n\n    # Initialize the runner\n    runner = FLAdminAPIRunner(\n        host=host,\n        port=port,\n        username=args.username,\n        admin_dir=args.admin_dir,\n        poc=args.poc,\n        debug=False,\n    )\n\n    # Run\n    start = time.time()\n    runner.run(run_number, args.app, restart_all_first=False, shutdown_on_error=True, shutdown_at_end=True,\n               timeout=7200, min_clients=args.min_clients)  # will time out if not completed in 2 hours\n    print(\"Total training time\", time.time() - start)\n\n\nif __name__ == \"__main__\":\n    main()\n", "path": "examples/cifar10/run_fl.py"}]}