We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
/doc/help/state/draft-stream-editorial/ fails with a 404
The page is looking for a state it cannot find.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `ietf/doc/views_help.py`
Content:
```
1 # Copyright The IETF Trust 2013-2023, All Rights Reserved
2 
3 from django.shortcuts import render, get_object_or_404
4 from django.http import Http404
5 
6 from ietf.doc.models import State, StateType, IESG_SUBSTATE_TAGS
7 from ietf.name.models import DocRelationshipName,  DocTagName
8 from ietf.doc.utils import get_tags_for_stream_id
9 
10 def state_help(request, type=None):
11     slug, title = {
12         "draft-iesg": ("draft-iesg", "IESG States for Internet-Drafts"),
13         "draft-rfceditor": ("draft-rfceditor", "RFC Editor States for Internet-Drafts"),
14         "draft-iana-action": ("draft-iana-action", "IANA Action States for Internet-Drafts"),
15         "draft-iana-review": ("draft-iana-review", "IANA Review States for Internet-Drafts"),
16         "draft-iana-experts": ("draft-iana-experts", "IANA Expert Review States for Internet-Drafts"),
17         "draft-stream-ietf": ("draft-stream-ietf", "IETF Stream States for Internet-Drafts"),
18         "draft-stream-irtf": ("draft-stream-irtf", "IRTF Stream States for Internet-Drafts"),
19         "draft-stream-ise": ("draft-stream-ise", "ISE Stream States for Internet-Drafts"),
20         "draft-stream-iab": ("draft-stream-iab", "IAB Stream States for Internet-Drafts"),
21         "charter": ("charter", "Charter States"),
22         "conflict-review": ("conflrev", "Conflict Review States"),
23         "status-change": ("statchg", "RFC Status Change States"),
24         "bofreq": ("bofreq", "BOF Request States"),
25         "procmaterials": ("procmaterials", "Proceedings Materials States"),
26         "statement": {"statement", "Statement States"}
27         }.get(type, (None, None))
28     state_type = get_object_or_404(StateType, slug=slug)
29 
30     states = State.objects.filter(used=True, type=state_type).order_by("order")
31 
32     has_next_states = False
33     for state in states:
34         if state.next_states.all():
35             has_next_states = True
36             break
37 
38     tags = []
39 
40     if state_type.slug == "draft-iesg":
41         tags = DocTagName.objects.filter(slug__in=IESG_SUBSTATE_TAGS)
42     elif state_type.slug.startswith("draft-stream-"):
43         possible = get_tags_for_stream_id(state_type.slug.replace("draft-stream-", ""))
44         tags = DocTagName.objects.filter(slug__in=possible)
45 
46     return render(request, "doc/state_help.html",
47                            {
48                                "title": title,
49                                "state_type": state_type,
50                                "states": states,
51                                "has_next_states": has_next_states,
52                                "tags": tags,
53                            } )
54 
55 def relationship_help(request,subset=None):
56     subsets = { "reference": ['refnorm','refinfo','refunk','refold'],
57                 "status" : ['tops','tois','tohist','toinf','tobcp','toexp'],
58               }
59     if subset and subset not in subsets:
60         raise Http404()
61     rels = DocRelationshipName.objects.filter(used=True)
62     if subset:
63        rels = rels.filter(slug__in=subsets[subset]) 
64     return render(request, "doc/relationship_help.html", { "relations": rels } )
65
```
--- 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/ietf/doc/views_help.py b/ietf/doc/views_help.py
--- a/ietf/doc/views_help.py
+++ b/ietf/doc/views_help.py
@@ -1,5 +1,7 @@
 # Copyright The IETF Trust 2013-2023, All Rights Reserved
 
+import debug # pyflakes: ignore
+
 from django.shortcuts import render, get_object_or_404
 from django.http import Http404
 
@@ -18,6 +20,7 @@
         "draft-stream-irtf": ("draft-stream-irtf", "IRTF Stream States for Internet-Drafts"),
         "draft-stream-ise": ("draft-stream-ise", "ISE Stream States for Internet-Drafts"),
         "draft-stream-iab": ("draft-stream-iab", "IAB Stream States for Internet-Drafts"),
+        "draft-stream-editorial": ("draft-stream-editorial", "Editorial Stream States for Internet-Drafts"),
         "charter": ("charter", "Charter States"),
         "conflict-review": ("conflrev", "Conflict Review States"),
         "status-change": ("statchg", "RFC Status Change States"),

{"golden_diff": "diff --git a/ietf/doc/views_help.py b/ietf/doc/views_help.py\n--- a/ietf/doc/views_help.py\n+++ b/ietf/doc/views_help.py\n@@ -1,5 +1,7 @@\n # Copyright The IETF Trust 2013-2023, All Rights Reserved\n \n+import debug # pyflakes: ignore\n+\n from django.shortcuts import render, get_object_or_404\n from django.http import Http404\n \n@@ -18,6 +20,7 @@\n         \"draft-stream-irtf\": (\"draft-stream-irtf\", \"IRTF Stream States for Internet-Drafts\"),\n         \"draft-stream-ise\": (\"draft-stream-ise\", \"ISE Stream States for Internet-Drafts\"),\n         \"draft-stream-iab\": (\"draft-stream-iab\", \"IAB Stream States for Internet-Drafts\"),\n+        \"draft-stream-editorial\": (\"draft-stream-editorial\", \"Editorial Stream States for Internet-Drafts\"),\n         \"charter\": (\"charter\", \"Charter States\"),\n         \"conflict-review\": (\"conflrev\", \"Conflict Review States\"),\n         \"status-change\": (\"statchg\", \"RFC Status Change States\"),\n", "issue": "/doc/help/state/draft-stream-editorial/ fails with a 404\nThe page is looking for a state it cannot find.\n", "before_files": [{"content": "# Copyright The IETF Trust 2013-2023, All Rights Reserved\n\nfrom django.shortcuts import render, get_object_or_404\nfrom django.http import Http404\n\nfrom ietf.doc.models import State, StateType, IESG_SUBSTATE_TAGS\nfrom ietf.name.models import DocRelationshipName,  DocTagName\nfrom ietf.doc.utils import get_tags_for_stream_id\n\ndef state_help(request, type=None):\n    slug, title = {\n        \"draft-iesg\": (\"draft-iesg\", \"IESG States for Internet-Drafts\"),\n        \"draft-rfceditor\": (\"draft-rfceditor\", \"RFC Editor States for Internet-Drafts\"),\n        \"draft-iana-action\": (\"draft-iana-action\", \"IANA Action States for Internet-Drafts\"),\n        \"draft-iana-review\": (\"draft-iana-review\", \"IANA Review States for Internet-Drafts\"),\n        \"draft-iana-experts\": (\"draft-iana-experts\", \"IANA Expert Review States for Internet-Drafts\"),\n        \"draft-stream-ietf\": (\"draft-stream-ietf\", \"IETF Stream States for Internet-Drafts\"),\n        \"draft-stream-irtf\": (\"draft-stream-irtf\", \"IRTF Stream States for Internet-Drafts\"),\n        \"draft-stream-ise\": (\"draft-stream-ise\", \"ISE Stream States for Internet-Drafts\"),\n        \"draft-stream-iab\": (\"draft-stream-iab\", \"IAB Stream States for Internet-Drafts\"),\n        \"charter\": (\"charter\", \"Charter States\"),\n        \"conflict-review\": (\"conflrev\", \"Conflict Review States\"),\n        \"status-change\": (\"statchg\", \"RFC Status Change States\"),\n        \"bofreq\": (\"bofreq\", \"BOF Request States\"),\n        \"procmaterials\": (\"procmaterials\", \"Proceedings Materials States\"),\n        \"statement\": {\"statement\", \"Statement States\"}\n        }.get(type, (None, None))\n    state_type = get_object_or_404(StateType, slug=slug)\n\n    states = State.objects.filter(used=True, type=state_type).order_by(\"order\")\n\n    has_next_states = False\n    for state in states:\n        if state.next_states.all():\n            has_next_states = True\n            break\n\n    tags = []\n\n    if state_type.slug == \"draft-iesg\":\n        tags = DocTagName.objects.filter(slug__in=IESG_SUBSTATE_TAGS)\n    elif state_type.slug.startswith(\"draft-stream-\"):\n        possible = get_tags_for_stream_id(state_type.slug.replace(\"draft-stream-\", \"\"))\n        tags = DocTagName.objects.filter(slug__in=possible)\n\n    return render(request, \"doc/state_help.html\",\n                           {\n                               \"title\": title,\n                               \"state_type\": state_type,\n                               \"states\": states,\n                               \"has_next_states\": has_next_states,\n                               \"tags\": tags,\n                           } )\n\ndef relationship_help(request,subset=None):\n    subsets = { \"reference\": ['refnorm','refinfo','refunk','refold'],\n                \"status\" : ['tops','tois','tohist','toinf','tobcp','toexp'],\n              }\n    if subset and subset not in subsets:\n        raise Http404()\n    rels = DocRelationshipName.objects.filter(used=True)\n    if subset:\n       rels = rels.filter(slug__in=subsets[subset]) \n    return render(request, \"doc/relationship_help.html\", { \"relations\": rels } )\n", "path": "ietf/doc/views_help.py"}], "after_files": [{"content": "# Copyright The IETF Trust 2013-2023, All Rights Reserved\n\nimport debug # pyflakes: ignore\n\nfrom django.shortcuts import render, get_object_or_404\nfrom django.http import Http404\n\nfrom ietf.doc.models import State, StateType, IESG_SUBSTATE_TAGS\nfrom ietf.name.models import DocRelationshipName,  DocTagName\nfrom ietf.doc.utils import get_tags_for_stream_id\n\ndef state_help(request, type=None):\n    slug, title = {\n        \"draft-iesg\": (\"draft-iesg\", \"IESG States for Internet-Drafts\"),\n        \"draft-rfceditor\": (\"draft-rfceditor\", \"RFC Editor States for Internet-Drafts\"),\n        \"draft-iana-action\": (\"draft-iana-action\", \"IANA Action States for Internet-Drafts\"),\n        \"draft-iana-review\": (\"draft-iana-review\", \"IANA Review States for Internet-Drafts\"),\n        \"draft-iana-experts\": (\"draft-iana-experts\", \"IANA Expert Review States for Internet-Drafts\"),\n        \"draft-stream-ietf\": (\"draft-stream-ietf\", \"IETF Stream States for Internet-Drafts\"),\n        \"draft-stream-irtf\": (\"draft-stream-irtf\", \"IRTF Stream States for Internet-Drafts\"),\n        \"draft-stream-ise\": (\"draft-stream-ise\", \"ISE Stream States for Internet-Drafts\"),\n        \"draft-stream-iab\": (\"draft-stream-iab\", \"IAB Stream States for Internet-Drafts\"),\n        \"draft-stream-editorial\": (\"draft-stream-editorial\", \"Editorial Stream States for Internet-Drafts\"),\n        \"charter\": (\"charter\", \"Charter States\"),\n        \"conflict-review\": (\"conflrev\", \"Conflict Review States\"),\n        \"status-change\": (\"statchg\", \"RFC Status Change States\"),\n        \"bofreq\": (\"bofreq\", \"BOF Request States\"),\n        \"procmaterials\": (\"procmaterials\", \"Proceedings Materials States\"),\n        \"statement\": {\"statement\", \"Statement States\"}\n        }.get(type, (None, None))\n    state_type = get_object_or_404(StateType, slug=slug)\n\n    states = State.objects.filter(used=True, type=state_type).order_by(\"order\")\n\n    has_next_states = False\n    for state in states:\n        if state.next_states.all():\n            has_next_states = True\n            break\n\n    tags = []\n\n    if state_type.slug == \"draft-iesg\":\n        tags = DocTagName.objects.filter(slug__in=IESG_SUBSTATE_TAGS)\n    elif state_type.slug.startswith(\"draft-stream-\"):\n        possible = get_tags_for_stream_id(state_type.slug.replace(\"draft-stream-\", \"\"))\n        tags = DocTagName.objects.filter(slug__in=possible)\n\n    return render(request, \"doc/state_help.html\",\n                           {\n                               \"title\": title,\n                               \"state_type\": state_type,\n                               \"states\": states,\n                               \"has_next_states\": has_next_states,\n                               \"tags\": tags,\n                           } )\n\ndef relationship_help(request,subset=None):\n    subsets = { \"reference\": ['refnorm','refinfo','refunk','refold'],\n                \"status\" : ['tops','tois','tohist','toinf','tobcp','toexp'],\n              }\n    if subset and subset not in subsets:\n        raise Http404()\n    rels = DocRelationshipName.objects.filter(used=True)\n    if subset:\n       rels = rels.filter(slug__in=subsets[subset]) \n    return render(request, \"doc/relationship_help.html\", { \"relations\": rels } )\n", "path": "ietf/doc/views_help.py"}]}