We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
person_link error in charter document view
### What happened?

A 500 error occurs when retrieving some group charter documents. E.g., when getting `/doc/charter-ietf-cat/`:
```
ERROR: django.request:228: Internal Server Error: /doc/charter-ietf-cat/
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/workspace/ietf/doc/views_doc.py", line 548, in document_main
    can_manage=can_manage,
  File "/usr/local/lib/python3.6/site-packages/django/shortcuts.py", line 36, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/usr/local/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/library.py", line 214, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/workspace/ietf/person/templatetags/person_filters.py", line 44, in person_link
    plain_name = person.plain_name()
AttributeError: 'str' object has no attribute 'plain_name'
ERROR: django.request:228: Internal Server Error: /doc/charter-ietf-cat/
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/workspace/ietf/doc/views_doc.py", line 548, in document_main
    can_manage=can_manage,
  File "/usr/local/lib/python3.6/site-packages/django/shortcuts.py", line 36, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/usr/local/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py", line 312, in render
    return nodelist.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/usr/local/lib/python3.6/site-packages/django/template/library.py", line 214, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/workspace/ietf/person/templatetags/person_filters.py", line 44, in person_link
    plain_name = person.plain_name()
AttributeError: 'str' object has no attribute 'plain_name'
```

### What browser(s) are you seeing the problem on?

Not Applicable

### Code of Conduct

- [X] I agree to follow the IETF's Code of Conduct

--- 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/person/templatetags/person_filters.py`
Content:
```
1 # Copyright The IETF Trust 2017-2020, All Rights Reserved
2 
3 import datetime
4 
5 from django import template
6 
7 import debug  # pyflakes:ignore
8 
9 from ietf.nomcom.utils import is_eligible
10 from ietf.person.models import Alias
11 
12 register = template.Library()
13 
14 
15 @register.filter
16 def is_nomcom_eligible(person, date=datetime.date.today()):
17     return is_eligible(person=person, date=date)
18 
19 
20 @register.filter
21 def person_by_name(name):
22     "Look up a person record from name"
23     if not isinstance(name, (type(b""), type(""))):
24         return None
25     alias = Alias.objects.filter(name=name).first()
26     return alias.person if alias else None
27 
28 
29 # CLEANUP: There are several hundred Person objects with no Alias object,
30 # violating the expectations of the code. The check for the existence of an
31 # alias object below matching the person's name avoids presenting a link that
32 # we know will 404. When the database is corrected and we can expect that the
33 # Alias for the person's name to always be there, we can remove this extra
34 # database query (or leave it as a safeguard until it becomes a performance
35 # issue.)
36 
37 
38 @register.inclusion_tag("person/person_link.html")
39 def person_link(person, **kwargs):
40     title = kwargs.get("title", "")
41     cls = kwargs.get("class", "")
42     with_email = kwargs.get("with_email", True)
43     if person:
44         plain_name = person.plain_name()
45         name = (
46             person.name
47             if person.alias_set.filter(name=person.name).exists()
48             else plain_name
49         )
50         email = person.email_address()
51         return {
52             "name": name,
53             "plain_name": plain_name,
54             "email": email,
55             "title": title,
56             "class": cls,
57             "with_email": with_email,
58         }
59     else:
60         return {}
61 
62 
63 @register.inclusion_tag("person/person_link.html")
64 def email_person_link(email, **kwargs):
65     title = kwargs.get("title", "")
66     cls = kwargs.get("class", "")
67     with_email = kwargs.get("with_email", True)
68     plain_name = email.person.plain_name()
69     name = (
70         email.person.name
71         if email.person.alias_set.filter(name=email.person.name).exists()
72         else plain_name
73     )
74     email = email.address
75     return {
76         "name": name,
77         "plain_name": plain_name,
78         "email": email,
79         "title": title,
80         "class": cls,
81         "with_email": with_email,
82     }
```
--- 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/person/templatetags/person_filters.py b/ietf/person/templatetags/person_filters.py
--- a/ietf/person/templatetags/person_filters.py
+++ b/ietf/person/templatetags/person_filters.py
@@ -37,10 +37,19 @@
 
 @register.inclusion_tag("person/person_link.html")
 def person_link(person, **kwargs):
+    """Render a link to a Person
+
+    If person is None or a string, renders as a span containing '(None)'.
+    """
+    if isinstance(person, str):
+        # If person is a string, most likely an invalid template variable was referenced.
+        # That normally comes in as an empty string, but may be non-empty if string_if_invalid
+        # is set. Translate strings into None to try to get consistent behavior.
+        person = None
     title = kwargs.get("title", "")
     cls = kwargs.get("class", "")
     with_email = kwargs.get("with_email", True)
-    if person:
+    if person is not None:
         plain_name = person.plain_name()
         name = (
             person.name

{"golden_diff": "diff --git a/ietf/person/templatetags/person_filters.py b/ietf/person/templatetags/person_filters.py\n--- a/ietf/person/templatetags/person_filters.py\n+++ b/ietf/person/templatetags/person_filters.py\n@@ -37,10 +37,19 @@\n \n @register.inclusion_tag(\"person/person_link.html\")\n def person_link(person, **kwargs):\n+    \"\"\"Render a link to a Person\n+\n+    If person is None or a string, renders as a span containing '(None)'.\n+    \"\"\"\n+    if isinstance(person, str):\n+        # If person is a string, most likely an invalid template variable was referenced.\n+        # That normally comes in as an empty string, but may be non-empty if string_if_invalid\n+        # is set. Translate strings into None to try to get consistent behavior.\n+        person = None\n     title = kwargs.get(\"title\", \"\")\n     cls = kwargs.get(\"class\", \"\")\n     with_email = kwargs.get(\"with_email\", True)\n-    if person:\n+    if person is not None:\n         plain_name = person.plain_name()\n         name = (\n             person.name\n", "issue": "person_link error in charter document view\n### What happened?\n\nA 500 error occurs when retrieving some group charter documents. E.g., when getting `/doc/charter-ietf-cat/`:\r\n```\r\nERROR: django.request:228: Internal Server Error: /doc/charter-ietf-cat/\r\nTraceback (most recent call last):\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py\", line 34, in inner\r\n    response = get_response(request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py\", line 115, in _get_response\r\n    response = self.process_exception_by_middleware(e, request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py\", line 113, in _get_response\r\n    response = wrapped_callback(request, *callback_args, **callback_kwargs)\r\n  File \"/workspace/ietf/doc/views_doc.py\", line 548, in document_main\r\n    can_manage=can_manage,\r\n  File \"/usr/local/lib/python3.6/site-packages/django/shortcuts.py\", line 36, in render\r\n    content = loader.render_to_string(template_name, context, request, using=using)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader.py\", line 62, in render_to_string\r\n    return template.render(context, request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/backends/django.py\", line 61, in render\r\n    return self.template.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 171, in render\r\n    return self._render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 163, in _render\r\n    return self.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py\", line 150, in render\r\n    return compiled_parent._render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 163, in _render\r\n    return self.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py\", line 62, in render\r\n    result = block.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py\", line 312, in render\r\n    return nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/library.py\", line 214, in render\r\n    _dict = self.func(*resolved_args, **resolved_kwargs)\r\n  File \"/workspace/ietf/person/templatetags/person_filters.py\", line 44, in person_link\r\n    plain_name = person.plain_name()\r\nAttributeError: 'str' object has no attribute 'plain_name'\r\nERROR: django.request:228: Internal Server Error: /doc/charter-ietf-cat/\r\nTraceback (most recent call last):\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py\", line 34, in inner\r\n    response = get_response(request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py\", line 115, in _get_response\r\n    response = self.process_exception_by_middleware(e, request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py\", line 113, in _get_response\r\n    response = wrapped_callback(request, *callback_args, **callback_kwargs)\r\n  File \"/workspace/ietf/doc/views_doc.py\", line 548, in document_main\r\n    can_manage=can_manage,\r\n  File \"/usr/local/lib/python3.6/site-packages/django/shortcuts.py\", line 36, in render\r\n    content = loader.render_to_string(template_name, context, request, using=using)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader.py\", line 62, in render_to_string\r\n    return template.render(context, request)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/backends/django.py\", line 61, in render\r\n    return self.template.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 171, in render\r\n    return self._render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 163, in _render\r\n    return self.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py\", line 150, in render\r\n    return compiled_parent._render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 163, in _render\r\n    return self.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/loader_tags.py\", line 62, in render\r\n    result = block.nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/defaulttags.py\", line 312, in render\r\n    return nodelist.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 937, in render\r\n    bit = node.render_annotated(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/base.py\", line 904, in render_annotated\r\n    return self.render(context)\r\n  File \"/usr/local/lib/python3.6/site-packages/django/template/library.py\", line 214, in render\r\n    _dict = self.func(*resolved_args, **resolved_kwargs)\r\n  File \"/workspace/ietf/person/templatetags/person_filters.py\", line 44, in person_link\r\n    plain_name = person.plain_name()\r\nAttributeError: 'str' object has no attribute 'plain_name'\r\n```\n\n### What browser(s) are you seeing the problem on?\n\nNot Applicable\n\n### Code of Conduct\n\n- [X] I agree to follow the IETF's Code of Conduct\n", "before_files": [{"content": "# Copyright The IETF Trust 2017-2020, All Rights Reserved\n\nimport datetime\n\nfrom django import template\n\nimport debug  # pyflakes:ignore\n\nfrom ietf.nomcom.utils import is_eligible\nfrom ietf.person.models import Alias\n\nregister = template.Library()\n\n\n@register.filter\ndef is_nomcom_eligible(person, date=datetime.date.today()):\n    return is_eligible(person=person, date=date)\n\n\n@register.filter\ndef person_by_name(name):\n    \"Look up a person record from name\"\n    if not isinstance(name, (type(b\"\"), type(\"\"))):\n        return None\n    alias = Alias.objects.filter(name=name).first()\n    return alias.person if alias else None\n\n\n# CLEANUP: There are several hundred Person objects with no Alias object,\n# violating the expectations of the code. The check for the existence of an\n# alias object below matching the person's name avoids presenting a link that\n# we know will 404. When the database is corrected and we can expect that the\n# Alias for the person's name to always be there, we can remove this extra\n# database query (or leave it as a safeguard until it becomes a performance\n# issue.)\n\n\n@register.inclusion_tag(\"person/person_link.html\")\ndef person_link(person, **kwargs):\n    title = kwargs.get(\"title\", \"\")\n    cls = kwargs.get(\"class\", \"\")\n    with_email = kwargs.get(\"with_email\", True)\n    if person:\n        plain_name = person.plain_name()\n        name = (\n            person.name\n            if person.alias_set.filter(name=person.name).exists()\n            else plain_name\n        )\n        email = person.email_address()\n        return {\n            \"name\": name,\n            \"plain_name\": plain_name,\n            \"email\": email,\n            \"title\": title,\n            \"class\": cls,\n            \"with_email\": with_email,\n        }\n    else:\n        return {}\n\n\n@register.inclusion_tag(\"person/person_link.html\")\ndef email_person_link(email, **kwargs):\n    title = kwargs.get(\"title\", \"\")\n    cls = kwargs.get(\"class\", \"\")\n    with_email = kwargs.get(\"with_email\", True)\n    plain_name = email.person.plain_name()\n    name = (\n        email.person.name\n        if email.person.alias_set.filter(name=email.person.name).exists()\n        else plain_name\n    )\n    email = email.address\n    return {\n        \"name\": name,\n        \"plain_name\": plain_name,\n        \"email\": email,\n        \"title\": title,\n        \"class\": cls,\n        \"with_email\": with_email,\n    }", "path": "ietf/person/templatetags/person_filters.py"}], "after_files": [{"content": "# Copyright The IETF Trust 2017-2020, All Rights Reserved\n\nimport datetime\n\nfrom django import template\n\nimport debug  # pyflakes:ignore\n\nfrom ietf.nomcom.utils import is_eligible\nfrom ietf.person.models import Alias\n\nregister = template.Library()\n\n\n@register.filter\ndef is_nomcom_eligible(person, date=datetime.date.today()):\n    return is_eligible(person=person, date=date)\n\n\n@register.filter\ndef person_by_name(name):\n    \"Look up a person record from name\"\n    if not isinstance(name, (type(b\"\"), type(\"\"))):\n        return None\n    alias = Alias.objects.filter(name=name).first()\n    return alias.person if alias else None\n\n\n# CLEANUP: There are several hundred Person objects with no Alias object,\n# violating the expectations of the code. The check for the existence of an\n# alias object below matching the person's name avoids presenting a link that\n# we know will 404. When the database is corrected and we can expect that the\n# Alias for the person's name to always be there, we can remove this extra\n# database query (or leave it as a safeguard until it becomes a performance\n# issue.)\n\n\n@register.inclusion_tag(\"person/person_link.html\")\ndef person_link(person, **kwargs):\n    \"\"\"Render a link to a Person\n\n    If person is None or a string, renders as a span containing '(None)'.\n    \"\"\"\n    if isinstance(person, str):\n        # If person is a string, most likely an invalid template variable was referenced.\n        # That normally comes in as an empty string, but may be non-empty if string_if_invalid\n        # is set. Translate strings into None to try to get consistent behavior.\n        person = None\n    title = kwargs.get(\"title\", \"\")\n    cls = kwargs.get(\"class\", \"\")\n    with_email = kwargs.get(\"with_email\", True)\n    if person is not None:\n        plain_name = person.plain_name()\n        name = (\n            person.name\n            if person.alias_set.filter(name=person.name).exists()\n            else plain_name\n        )\n        email = person.email_address()\n        return {\n            \"name\": name,\n            \"plain_name\": plain_name,\n            \"email\": email,\n            \"title\": title,\n            \"class\": cls,\n            \"with_email\": with_email,\n        }\n    else:\n        return {}\n\n\n@register.inclusion_tag(\"person/person_link.html\")\ndef email_person_link(email, **kwargs):\n    title = kwargs.get(\"title\", \"\")\n    cls = kwargs.get(\"class\", \"\")\n    with_email = kwargs.get(\"with_email\", True)\n    plain_name = email.person.plain_name()\n    name = (\n        email.person.name\n        if email.person.alias_set.filter(name=email.person.name).exists()\n        else plain_name\n    )\n    email = email.address\n    return {\n        \"name\": name,\n        \"plain_name\": plain_name,\n        \"email\": email,\n        \"title\": title,\n        \"class\": cls,\n        \"with_email\": with_email,\n    }", "path": "ietf/person/templatetags/person_filters.py"}]}