{#- Beside every pup.json download: the packs it leaves behind (core/pupfile.packs_left_behind). `left_behind` from the page; `moving` when the pup is already packing (a leave cannot reach the den while sync is stopped); `retired` when this box is retired — it never syncs again, so a leave from here could never arrive: no leave links, the way back instead. A warning with the way out, never a block. -#} {% if left_behind %}

⚠ pup.json carries no pack — and this box is still in {% for k in left_behind %}{{ k.name or k.uid }}{% if k.status == 'leaving' %} (leaving){% endif %}{{ ', ' if not loop.last }}{% endfor %}. Each den keeps your membership through this box, and refuses a join by your Pup ID from the new one until it has let go of this one.

{% set to_leave = left_behind|rejectattr('status', 'equalto', 'leaving')|list %} {% if retired %}

This box is retired, so it tells no den anything any more — a leave from here would never arrive. Bring your pup back to this box and leave from here (then retire it again), or ask their operators to remove you. Then join again from the new box with fresh tags. The whole game (bundle.zip) keeps your packs instead.

{% else %}

{% if moving %}Cancel the move (a leave cannot reach a den while you are packing), leave here and sync, then prepare again{% else %}Leave them here first{% endif %}{% if to_leave %}: {% for k in to_leave %}leave {{ k.name or k.uid }}{{ ', ' if not loop.last }}{% endfor %}{% endif %} — or ask their operators to remove you. Then join again from the new box with fresh tags. {%- if left_behind|selectattr('status', 'equalto', 'leaving')|list %} A pack you are leaving lets go once your box has told its den (or after seven days).{% endif %} The whole game (bundle.zip) keeps your packs instead.

{% endif %}
{% endif %}