{# shallow copy errors so we can remove processed keys #}
{%- set unprocessed = errors.copy() -%}
{% block errors_list %}
{{ _('The form contains invalid entries:') }}
{% block all_errors %}
{%- for field in fields -%}
{%- if 'error_snippet' in field -%}
{%- set error_snippet = field.error_snippet -%}
{%- if '/' not in error_snippet -%}
{%- set error_snippet = 'scheming/error_snippets/' +
error_snippet -%}
{%- endif -%}
{%- snippet error_snippet, unprocessed=unprocessed,
field=field, fields=fields,
entity_type=entity_type, object_type=object_type -%}
{%- endif -%}
{%- if field.field_name in unprocessed -%}
{%- set errors = unprocessed.pop(field.field_name) -%}
{%- if 'repeating_subfields' in field %}
{%- for se in errors -%}
{%- if se -%}
{%- for sf in field.repeating_subfields -%}
{%- set se_unprocessed = se.copy() -%}
{%- if 'error_snippet' in sf -%}
{%- set sfe_snippet = sf.error_snippet -%}
{%- if '/' not in sfe_snippet -%}
{%- set sfe_snippet = 'scheming/error_snippets/' +
sfe_snippet -%}
{%- endif -%}
{%- snippet sfe_snippet, unprocessed=se_unprocessed,
field=sf, fields=field.repeating_subfileds,
entity_type=entity_type, object_type=object_type -%}
{%- endif -%}
{%- if sf.field_name in se_unprocessed -%}