§
    ¸i»jÆ  ã            
       ót  — d Z ddlZddlmc mZ ddlZddlZddl	Z	ej
                             de	j
                             e	j
                             e	j
                             e¦  «        d¦  «        ¦  «        ¦  «         ddlmZmZmZmZ ddlmZmZ ddlmZ ddlmZmZ ej        d„ ¦   «         Zd	„ Zd
„ Z dS )u  
Unit tests for End-of-Season Migration Pipeline (LuÃ¢n Há»“i Chuyá»ƒn Sinh).
Verifies that when a big update / season ends:
1. Expiring league transitions through FREEZING -> MIGRATING -> ARCHIVED.
2. All active listings on Universal Consignment Vault are canceled and returned.
3. All seasonal stashes are transferred to Standard as 'Remove-Only' tabs.
4. All characters are reassigned to Standard realm.
5. Hall of Fame leaderboard snapshot is preserved.
6. The new season starts completely fresh (clean slate: level 1, 0 items).
é    Nz../../server)Ú
LeagueTypeÚLeagueStatusÚSeasonLeagueManagerÚSeasonStashItem)ÚSeasonMigrationPipelineÚMigrationReport)ÚUniversalConsignmentVault)ÚGearItemÚ
ItemRarityc                  ó   — t          ¦   «         } t          ¦   «         }t          | |¬¦  «        }|                      ddt          j        t          j        d¬¦  «        }|                      dddd¬	¦  «        }d
|_	        |  
                    dd¦  «        }|d         }t          ddddd¬¦  «        }|                     |¦  «         t          dddt          j        ¬¦  «        }|                     d|dd¬¦  «        }	| ||||	fS )N)Úleague_managerÚvaultÚseason_01_minh_nguyetu#   MÃ¹a 1: Minh Nguyá»‡t Tráº£m ThiÃªnzv1.0.0)Ú	league_idÚdisplay_nameÚleague_typeÚstatusÚversion_requirementÚacc_player1ÚKiemTonMua1Ú
ThienVuong©Ú
account_idÚcharacter_nameÚmartial_classr   éU   r   Úitem_ancient_bladeõ   Cá»• Kiáº¿m Tráº£m YÃªué   éP   ÚCUC_PHAM)Ú	item_uuidÚ	item_nameÚstack_countÚ
item_levelÚrarityÚgear_vault_ringu   Há»—n NguyÃªn Giá»›i Chá»‰éK   )r"   r#   r%   r&   Ú	ThienMenhé
   )Ú	seller_idÚitemÚprice_currencyÚprice_amount)r   r	   r   Úcreate_leaguer   Ú	CHALLENGEr   ÚACTIVEÚcreate_characterÚlevelÚget_account_stashesr   Údeposit_itemr
   r   Ú	LINH_PHAMÚlist_item_for_sale)
r   r   ÚpipelineÚs1Úchar_player1Ú
s1_stashesÚs1_tabÚs1_itemÚlisted_gearÚ
listing_ids
             úBC:\Projects\FreeExile\tests\unit\test_season_migration_pipeline.pyÚsetup_season_environmentrA       sG  € å(Ñ*Ô*€NÝ%Ñ'Ô'€EÝ&°nÈEÐRÑRÔR€Hð 
×	%Ò	%Ø)Ø:ÝÔ(ÝÔ"Ø$ð 
&ñ 
ô 
€Bð "×2Ò2Ø Ø$Ø"Ø)ð	 3ñ ô €Lð €LÔð  ×3Ò3°MÐCZÑ[Ô[€JØ˜Œ]€FÝØ&Ø+ØØØðñ ô €Gð ×Ò˜Ñ Ô Ð õ Ø#Ø.ØÝÔ#ð	ñ ô €Kð ×)Ò)ØØØ"Øð	 *ñ ô €Jð ˜5 (¨L¸*ÐDÐDó    c                 ó"  — | \  }}}}}|                      dddd¬¦  «        }|j        }d}||u }	|	sªt          j        d|	fd||f¦  «        d	t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|j
        }d}||k    }	|	sªt          j        d|	fd||f¦  «        d	t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        d	t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        d	t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd	t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|                     d¦  «        }|j        }t          j        }||k    }	|	sòt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|                     d¦  «        }d }||u}|s—t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}}|j        }t          j        }||k    }	|	sòt          j        d|	fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|                     |j        ¦  «        }|j        }d }||k    }	|	sªt          j        d|	fd!||f¦  «        d"t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|j        }d#}||k    }	|	sªt          j        d|	fd$||f¦  «        d"t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|j                             |¦  «        }d }||u}|s—t          j        d|fd||f¦  «        d%t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd%t          j        |¦  «        dœz  }dd|iz  }
t          t          j	        |
¦  «        ¦  «        ‚d x}}g }|j        }	d}|	|u }|}|s)d&„ |j                             ¦   «         D ¦   «         }||v}|}|�skt          j        d|fd'|	|f¦  «        d%t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd%t          j        |	¦  «        t          j        |¦  «        d(œz  }d)d*|iz  }|                     |¦  «         |s‹t          j        d+|fd,||f¦  «        d-t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd-t          j        |¦  «        d.œz  }d/d0|iz  }|                     |¦  «         t          j        |d¦  «        i z  }d1d2|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}x}	x}x}x}}|                     d3d ¦  «        }d4„ |D ¦   «         }t;          |¦  «        }d}||k    }|sòt          j        d|fd5||f¦  «        d6t	          j        ¦   «         v st          j        t:          ¦  «        rt          j        t:          ¦  «        nd6d7t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd7t          j        |¦  «        t          j        |¦  «        d8œz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|d9         } d:}| j        }||v }|sªt          j        d;|fd<||f¦  «        t          j        |¦  «        d=t	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nd=t          j        |¦  «        d>œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}| j        }d}||u }	|	sªt          j        d|	fd?||f¦  «        d=t	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nd=t          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}|                       d:¦  «        }!|!j!        }d@}||k    }	|	sªt          j        d|	fdA||f¦  «        dBt	          j        ¦   «         v st          j        |!¦  «        rt          j        |!¦  «        ndBt          j        |¦  «        t          j        |¦  «        d
œz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}	}tE          j#        tH          dC¬D¦  «        5  |  %                    tM          dEdF¬G¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )HNr   Úseason_02_hon_donõ   MÃ¹a 2: Há»—n Ä�á»™n SÆ¡ Khaiúv1.1.0©Úexpiring_league_idÚnext_season_idÚnext_season_nameÚnext_season_versionT©Úis)z/%(py2)s
{%(py2)s = %(py0)s.success
} is %(py5)sÚreport©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7r   ©ú==)z;%(py2)s
{%(py2)s = %(py0)s.characters_migrated
} == %(py5)s)z?%(py2)s
{%(py2)s = %(py0)s.vault_listings_canceled
} == %(py5)s)ú>=)z@%(py2)s
{%(py2)s = %(py0)s.remove_only_tabs_created
} >= %(py5)s)zL%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.ARCHIVED
}Ú
old_leaguer   )rP   rQ   Úpy4Úpy6úassert %(py8)sÚpy8)úis not)z%(py0)s is not %(py3)sÚ
new_league)rP   Úpy3zassert %(py5)srR   )zJ%(py2)s
{%(py2)s = %(py0)s.status
} == %(py6)s
{%(py6)s = %(py4)s.ACTIVE
}Ústandard©z1%(py2)s
{%(py2)s = %(py0)s.league_id
} == %(py5)sÚupdated_charr   ©z-%(py2)s
{%(py2)s = %(py0)s.level
} == %(py5)sÚlistingc                 ó*   — g | ]}|j         °	|j        ‘ŒS © )Úis_soldr?   )Ú.0Úls     r@   ú
<listcomp>z:test_end_of_season_migration_execution.<locals>.<listcomp>v   s#   € Ð8xÐ8xÐ8xÈ!ÐnoÔnwÐ8x¸¼Ð8xÐ8xÐ8xrB   )z/%(py4)s
{%(py4)s = %(py2)s.is_sold
} is %(py7)s)rQ   rY   rT   z%(py9)sÚpy9©únot in)z%(py11)s not in %(py14)sr?   )Úpy11Úpy14z%(py16)sÚpy16zassert %(py19)sÚpy19r   c                 ó    — g | ]}|j         ¯	|‘ŒS rf   )Úis_remove_only)rh   Úts     r@   rj   z:test_end_of_season_migration_execution.<locals>.<listcomp>z   s    € ÐCÐCÐC˜a°!Ô2BÐC˜ÐCÐCÐCrB   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} >= %(py6)sÚlenÚremove_only_tabs©rP   Úpy1r_   rZ   r   r   )Úin)z-%(py1)s in %(py5)s
{%(py5)s = %(py3)s.items
}Úmigrated_tab)rx   r_   rR   )z6%(py2)s
{%(py2)s = %(py0)s.is_remove_only
} is %(py5)sr   )z1%(py2)s
{%(py2)s = %(py0)s.item_name
} == %(py5)sÚ	withdrawnz)Cannot deposit into Remove-Only stash tab)ÚmatchÚjunku   RÃ¡c)r"   r#   )'Úexecute_season_migrationÚsuccessÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚcharacters_migratedÚvault_listings_canceledÚremove_only_tabs_createdÚ
get_leaguer   r   ÚARCHIVEDr1   Úget_characterÚcharacter_idr   r3   ÚlistingsÚgetrg   ÚvaluesÚappendÚ_format_boolopr4   ru   Úitemsrs   Úwithdraw_itemr#   ÚpytestÚraisesÚ
ValueErrorr5   r   )"rA   r   r   r8   r:   r?   rN   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8rX   Ú@py_assert5Ú@py_format7Ú@py_format9r^   Ú@py_assert2Ú@py_format4rb   rd   Ú@py_assert6Ú@py_assert0Ú@py_assert13Ú@py_assert12Ú@py_format10Ú@py_format15Ú@py_format17Ú@py_format18Ú@py_format20Ústd_stashesrv   rz   r{   s"                                     r@   Ú&test_end_of_season_migration_executionr­   U   s„  € Ø@XÑ=€N�E˜8 \°:ð '×?Ò?Ø2Ø*Ø8Ø$ð	 @ñ ô €Fð Œ>Ð!˜TÐ!ˆ>˜TÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ>˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ6Ñ!Ô!Ð!Õ!Ô!ˆ6Ñ!Ô!Ð!Ð!Õ!Ô!ˆ>Ñ!Ô!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ØÔ%Ð*¨Ð*Ð%¨Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð%¨Ð*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆ6Ñ*Ô*Ð*Õ*Ô*ˆ6Ñ*Ô*Ð*Ð*Õ*Ô*Ð%Ñ*Ô*Õ*Ô*¨Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØÔ)Ð.¨QÐ.Ð)¨QÒ.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð)¨QÐ.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆ6Ñ.Ô.Ð.Õ.Ô.ˆ6Ñ.Ô.Ð.Ð.Õ.Ô.Ð)Ñ.Ô.Õ.Ô.¨QÑ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ØÔ*Ð/¨aÐ/Ð*¨aÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð*¨aÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/ˆ6Ñ/Ô/Ð/Õ/Ô/ˆ6Ñ/Ô/Ð/Ð/Õ/Ô/Ð*Ñ/Ô/Õ/Ô/¨aÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ð  ×*Ò*Ð+BÑCÔC€JØÔÐ5¥Ô 5Ð5ÐÐ 5Ò5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5ÐÐ 5Ð5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5ˆ:Ñ5Ô5Ð5Õ5Ô5ˆ:Ñ5Ô5Ð5Ð5Õ5Ô5ÐÑ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5¥Ñ5Ô5Ð5Õ5Ô5¥Ñ5Ô5Ð5Ð5Õ5Ô5Ð 5Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5à×*Ò*Ð+>Ñ?Ô?€JØ!Ð!ˆ:˜TÐ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ:˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ:Ñ!Ô!Ð!Õ!Ô!ˆ:Ñ!Ô!Ð!Ð!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!ØÔÐ3¥Ô 3Ð3ÐÐ 3Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3ÐÐ 3Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆ:Ñ3Ô3Ð3Õ3Ô3ˆ:Ñ3Ô3Ð3Ð3Õ3Ô3ÐÑ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3¥Ñ3Ô3Ð3Õ3Ô3¥Ñ3Ô3Ð3Ð3Õ3Ô3Ð 3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ð "×/Ò/°Ô0IÑJÔJ€LØÔ!Ð/ ZÐ/Ð! ZÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð! ZÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/ˆ<Ñ/Ô/Ð/Õ/Ô/ˆ<Ñ/Ô/Ð/Ð/Õ/Ô/Ð!Ñ/Ô/Õ/Ô/ ZÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ØÔÐ# Ð#Ð Ò#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#Ð Ð#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆ<Ñ#Ô#Ð#Õ#Ô#ˆ<Ñ#Ô#Ð#Ð#Õ#Ô#ÐÑ#Ô#Õ#Ô# Ñ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#ð Œn× Ò  Ñ,Ô,€GØÐˆ7˜$ÐÐÐÐÕÔÐÐÐÐˆ7˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆ7ÑÔÐÕÔˆ7ÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØxÐxˆ7Œ?Ðx˜dÐxˆ?˜dÐ"ÐxÐxÐxÐxÐxÐ8xÐ8xÈuÌ~×OdÒOdÑOfÔOfÐ8xÑ8xÔ8xÐx jÐ8xÐ&xÐxÐxÐxÐxÑxÕxÔxÐxÐxÐxÐxˆ?˜dÐxÑxÔxÐxÕxÔxÑxÔxÐxÐxÕxÔxˆ7ÑxÔxÐxÕxÔxˆ7ÑxÔxÐxÐxÕxÔxˆ?ÑxÔxÕxÔx˜dÑxÔxÐxÐxÑxÐxÐxÐxÐxÐxÑxÐxÐx×xÒxÐxÑxÔxÐxÐxÐxÕxÔxÐxÐxÐxÐx jÐ8xÐxÑxÔxÐxÕxÔxÑxÔxÐxÐxÕxÔx jÑxÔxÐxÕxÔx jÑxÔxÐxÐxÕxÔxÐ8xÑxÔxÐxÐxÑxÐxÐxÐxÐxÐxÑxÐxÐx×xÒxÐxÑxÔxÐxÕxÔxÐxÐxÑxÔxÐxÑxÐxÐxÐxÐxÐxÑxÐxÕxÕxÔxÐxÑxÔxÑxÔxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxÐxð !×4Ò4°]ÀJÑOÔO€KØCÐC ;ÐCÑCÔCÐÝÐÑ Ô Ð% AÐ%Ð  AÒ%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð  AÐ%Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%�3Ñ%Ô%Ð%Õ%Ô%�3Ñ%Ô%Ð%Ð%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%ÐÑ%Ô%Ð%Õ%Ô%ÐÑ%Ô%Ð%Ð%Õ%Ô%Ð Ñ%Ô%Õ%Ô% AÑ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%à# AÔ&€LØÐ5 <Ô#5Ð5ÐÐ#5Ð5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5ÐÐ#5Ð5Ñ5Ô5Õ5Ô5ÐÑ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5 <Ñ5Ô5Ð5Õ5Ô5 <Ñ5Ô5Ð5Ð5Õ5Ô5Ð#5Ñ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ØÔ&Ð.¨$Ð.Ð&¨$Ð.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð&¨$Ð.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆ<Ñ.Ô.Ð.Õ.Ô.ˆ<Ñ.Ô.Ð.Ð.Õ.Ô.Ð&Ñ.Ô.Õ.Ô.¨$Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ð ×*Ò*Ð+?Ñ@Ô@€IØÔÐ;Ð";Ð;ÐÐ";Ò;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;ÐÐ";Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;ˆ9Ñ;Ô;Ð;Õ;Ô;ˆ9Ñ;Ô;Ð;Ð;Õ;Ô;ÐÑ;Ô;Õ;Ô;Ð";Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;Ð;õ 
Œ•zÐ)TÐ	UÑ	UÔ	Uð Wð WØ×!Ò!¥/¸FÈfÐ"UÑ"UÔ"UÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð Ws   ÷%xøxøxc                 ó¾	  — | \  }}}}}|                      dddd¬¦  «         |                     dddd¬	¦  «        }|j        }d
}||k    }	|	sªt          j        d|	fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	}|j        }d}||k    }	|	sªt          j        d|	fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	}|                     dd¦  «        }t          |¦  «        }d
}||k    }|sòt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}|d         }|j        }d}||u }|st          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}}|d         }|j        } |¦   «         }d}||u }|s’t          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d d!|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}d"}|d         }	|	j        }||v}|st          j        d#|fd$||f¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |¦  «        d%œz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}	}d S )&Nr   rD   rE   rF   rG   r   ÚKiemTonMua2r   r   r   rU   rc   Ús2_charrO   rS   rT   ra   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sru   Ú
s2_stashesrw   r[   r\   r   FrL   )z6%(py3)s
{%(py3)s = %(py1)s.is_remove_only
} is %(py6)s)rx   r_   rZ   T)zG%(py5)s
{%(py5)s = %(py3)s
{%(py3)s = %(py1)s.is_empty
}()
} is %(py8)s)rx   r_   rR   r\   zassert %(py10)sÚpy10r   rl   )z1%(py1)s not in %(py6)s
{%(py6)s = %(py4)s.items
})rx   rY   rZ   )r~   r2   r3   r€   r�   r‚   rƒ   r„   r…   r†   r‡   r   r4   ru   rs   Úis_emptyr”   )rA   r   r   r8   r:   r?   r°   r™   rš   r›   rœ   r�   r±   r¡   rž   rŸ   r    r¤   Ú@py_assert7r£   Ú@py_format11s                        r@   Ú%test_new_season_clean_slate_isolationr¶   Š   sÕ  € Ø@XÑ=€N�E˜8 \°:ð ×%Ò%Ø2Ø*Ø8Ø$ð	 &ñ ô ð ð ×-Ò-Ø Ø$Ø"Ø%ð	 .ñ ô €Gð Œ=Ð˜AÐˆ=˜AÒÐÐÐÕÔÐÐÐÐˆ=˜AÐÑÔÐÕÔÑÔÐÐÕÔˆ7ÑÔÐÕÔˆ7ÑÔÐÐÕÔˆ=ÑÔÕÔ˜AÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØÔÐ3Ð 3Ð3ÐÐ 3Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3ÐÐ 3Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆ7Ñ3Ô3Ð3Õ3Ô3ˆ7Ñ3Ô3Ð3Ð3Õ3Ô3ÐÑ3Ô3Õ3Ô3Ð 3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ð  ×3Ò3°MÐCVÑWÔW€JÝˆz‰?Œ?Ð˜aÐˆ?˜aÒÐÐÐÕÔÐÐÐÐˆ?˜aÐÑÔÐÕÔÑÔÐÐÕÔ�3ÑÔÐÕÔ�3ÑÔÐÐÐÕÔÑÔÐÐÕÔˆzÑÔÐÕÔˆzÑÔÐÐÕÔˆ?ÑÔÕÔ˜aÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐØ�aŒ=Ð0ˆ=Ô'Ð0¨5Ð0Ð'¨5Ð0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð'¨5Ð0Ñ0Ô0Õ0Ô0ˆ=Ñ0Ô0Õ0Ô0Ð'Ñ0Ô0Õ0Ô0¨5Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø�aŒ=Ð+ˆ=Ô!Ð+Ð!Ð!Ñ#Ô#Ð+ tÐ+Ð# tÐ+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð# tÐ+Ñ+Ô+Õ+Ô+ˆ=Ñ+Ô+Õ+Ô+Ð!Ñ+Ô+Õ+Ô+Ð#Ñ+Ô+Õ+Ô+ tÑ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ØÐ: z°!¤}Ð: }Ô':Ð:ÐÐ':Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:ÐÐ':Ð:Ñ:Ô:Õ:Ô:ÐÑ:Ô:Õ:Ô: }Ñ:Ô:Õ:Ô:Ð':Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:rB   )!Ú__doc__Úbuiltinsr‚   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter€   r–   ÚsysÚosÚpathÚinsertÚabspathÚjoinÚdirnameÚ__file__Úworld.season_league_managerr   r   r   r   Úworld.season_migration_pipeliner   r   Útrade.consignment_vaultr	   Úworld.primal_stones_craftingr
   r   ÚfixturerA   r­   r¶   rf   rB   r@   ú<module>rÉ      se  ðð	ð 	ð € € € € € € € € € € € € €€€€Ø 
€
€
€
Ø 	€	€	€	à „‡‚��2”7—?’? 2¤7§<¢<°´·²ÀÑ0IÔ0IÈ>Ñ#ZÔ#ZÑ[Ô[Ñ \Ô \Ð \ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð >Ð =Ð =Ð =Ð =Ð =Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ð „ð1Eð 1Eñ „ð1Eðh2Wð 2Wð 2Wðj;ð ;ð ;ð ;ð ;rB   