Ë
    7^(hT  ã                   óˆ   — d dl mZ d dlmZ d dlmZmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZ ej&                  Zd„ Zd„ Zy	)
é    )Úsymbols)Ú	FiniteSet)Ú
PolyhedronÚtetrahedronÚcubeÚ
octahedronÚdodecahedronÚicosahedronÚ
cube_faces)ÚPermutation)ÚPermutationGroup)Úraisesc                  óP  ‡	— t        t        d„ «       t        g d¢g d¢g«      t        g d¢g d¢g«      t        g d¢g d¢g«      t        g d¢g d	¢d
gdgg«      t        g d¢g d¢dgdgg«      t        g d¢g d¢dgdgg«      t        g d¢g d¢dgdgg«      t        dd
gddgddgddgg«      t        ddgddgd
dgddgg«      t        d
dgddgddgddgg«      t        ddgddgddgdd
gg«      t        ddgddgdd
gddgg«      t        dd
gddgddgddgg«      t        g d¢«      g} t        t	        d«      «      }t
        }t        ||| «      Š	‰	j                  t        dŽ k(  sJ ‚t        d«      D ]#  }‰	j                  ‰	j                  |   d
z  «       Œ% ‰	j                  |k(  sJ ‚t        dd«      D ]#  }‰	j                  ‰	j                  |   d
z  «       Œ% ‰	j                  |k(  sJ ‚‰	j                  d«       t        t        ˆ	fd„«       ‰	j                  |k7  sJ ‚‰	j                  g d¢k(  sJ ‚‰	j                  g d¢g d¢gk(  sJ ‚‰	j                  «        ‰	j                  |k(  sJ ‚d„ }t!        t"        t$        t&        t(        t*        fdd d!«      D ]  \  }}}} |||||«       Œ y )"Nc                  óD   — t        t        d«      t        dg«      g¬«      S )NÚabr   )Úpgroup)r   Úlistr   © ó    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/combinatorics/tests/test_polyhedron.pyú<lambda>z!test_polyhedron.<locals>.<lambda>   s   € œz¬$¨t«*Ü˜Q˜CÓ Ð!ô #€ r   )r   é   é   é   )é   é   é   é   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   zA:H))r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   c                  ó<   •— ‰ j                  t        ddg«      «      S )Nr   r   )Úrotater   )r   s   €r   r   z!test_polyhedron.<locals>.<lambda>0   s   ø€ ˜tŸ{™{¬;¸¸1°vÓ+>Ó?€ r   )r   r   r   r   r   r   r   r   )r   r   r   r   c                 ó–  — t        | j                  «      t        | j                  «      z   t        | j                  «      z
  dk(  sJ ‚| j                  |k(  sJ ‚t        «       }| j                  D �]
  }| j                  «       }|j                  }t        |«      D ]$  }|j                  |«       |j                  |k(  sŒ$ n t        d|j                  «       t        |«      D ]•  }|j                  |«       |j                  t        |j                  «      «       |j                  }	|j                  D �
�cg c]  }
|
D �cg c]  }|	|   ‘Œ	 c}‘Œ c}}
}
| j                  t        |	|
«      j                  k(  rŒ•J ‚ �Œ t        |«      |k(  sJ ‚t!        |D �cg c]  }t#        |«      ‘Œ c}«      j$                  sJ ‚y c c}w c c}}
w c c}w )Nr   zerror in permutation)ÚlenÚfacesÚverticesÚedgesÚsizeÚsetr   ÚcopyÚcornersÚranger    ÚprintÚ
array_formÚaddÚtupler   r   r   Úis_group)Úhr&   ÚrptÚtargetÚgotÚpÚPÚhitÚiÚcÚfÚgs               r   Úcheckztest_polyhedron.<locals>.check7   sp  € ä�1—7‘7‹|œc !§*¡*›oÑ-´°A·G±G³Ñ<ÀÒAÐAÐAØ�v‰v˜Š~Ðˆ~ä‹eˆØ—‘ó 	9ˆAà—‘“ˆAØ—)‘)ˆCÜ˜3“Zò <�Ø—‘˜”Ø—9‘9 Ó#Ùð<ô
 Ð,¨a¯l©lÔ;Ü˜3“Zò 9�Ø—‘˜”Ø—‘œ˜aŸi™iÓ(Ô)Ø—I‘I�Ø01·±×8¨1 AÖ&˜q�a˜“dÔ&Ó8�Ø—w‘w¤*¨Q°Ó"2×"8Ñ"8Ó8Ð8Ð8ò9ð	9ô  �3‹x˜6Ò!Ð!Ð!Ü¸Ö =°A¤¨Q¥Ò =Ó>×GÒGÐGÑGùò 'ùÓ8ùò !>s   Ä4	G 
Ä=F;Å	G 
ÆGÆ;G 
)r   é   r   é   é   )r   r   r   r   r   )r>   é   r?   é<   r@   )r   Ú
ValueErrorr   r.   r   r   r   r%   r   r*   r    r   r)   r,   Úcyclic_formÚresetÚzipr   Úsquarer   r	   r
   )
r   r)   r#   r7   r;   r0   r&   r1   r2   r   s
            @r   Útest_polyhedronrF      sç  ø€ Ü
Œ:ñ #ô $äš<ªÐ6Ó7Üš<ªÐ6Ó7Üš<ªÐ6Ó7Üš9¢i°!°°q°cÐ:Ó;Üš9¢i°!°°q°cÐ:Ó;Üš9¢i°!°°q°cÐ:Ó;Üš9¢i°!°°q°cÐ:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;Ü˜A˜q˜6 A q 6¨A¨q¨6°A°q°6Ð:Ó;ÜÒ2Ó3ð5€Fô ”G˜E“NÓ#€GÜ€EÜ�g˜u fÓ-€Dà�:‰:œð %8ð 9ò 9ð 9ð 9ô �1‹Xò 'ˆØ�‰�D—K‘K ‘N AÑ%Õ&ð'ð �<‰<˜7Ò"Ð"Ð"ä�1�a‹[ò 'ˆØ�‰�D—K‘K ‘N AÑ%Õ&ð'ð �<‰<˜7Ò"Ð"Ð"Ø‡K�K�„NÜ
Œ:Ó?Ô@Ø�<‰<˜7Ò"Ð"Ð"Ø�?‰?Ò6Ò6Ð6Ð6Ø×Ñ¢ªlÐ;Ò;Ð;Ð;Ø‡J�J„LØ�<‰<˜7Ò"Ð"Ð"òHô2 !$Ü	”fœj¬,¼ÐDØØØ ó	!"ò $Ñˆˆ4��fñ
 	ˆa��s˜FÕ#ñ$r   c            
      óð  — ddl m} m}m}m}m} ddl m}  |«       \
  }}}}	}
}}}}}t        |k(  sJ ‚| |k(  sJ ‚t        |k(  sJ ‚t        |	k(  sJ ‚t        |
k(  sJ ‚t        t        t        |«      «      t        t        t        |«      «      k(  sJ ‚t        t        «      t        |«      k(  sJ ‚t        |«      t        |«      k(  sJ ‚t        |«      t        |«      k(  sJ ‚t        |«      t        |«      k(  sJ ‚y )Nr   )r   Útetrahedron_facesÚoctahedron_facesÚdodecahedron_facesÚicosahedron_faces)Ú_pgroup_calcs)Úsympy.combinatorics.polyhedronr   rH   rI   rJ   rK   rL   r   r   r	   r
   ÚsortedÚmapr   )r   rH   rI   rJ   rK   rL   Útetrahedron2Úcube2Úoctahedron2Údodecahedron2Úicosahedron2Útetrahedron_faces2Úcube_faces2Úoctahedron_faces2Údodecahedron_faces2Úicosahedron_faces2s                   r   Útest_pgroupsrZ   X   s  € ÷Eõ Eå<ñ 1>³ñ.€\�5˜+ }°lØ˜Ð&7ØÐ,ä˜,Ò&Ð&Ð&Ø�5Š=Ðˆ=Ü˜Ò$Ð$Ð$Ü˜=Ò(Ð(Ð(Ü˜,Ò&Ð&Ð&Ü”#”fÐ/Ó0Ó1´V¼CÄÐHZÓ<[Ó5\Ò\Ð\Ð\Ü”*Ó¤¨Ó!4Ò4Ð4Ð4ÜÐ"Ó#¤vÐ.?Ó'@Ò@Ð@Ð@ÜÐ$Ó%¬Ð0CÓ)DÒDÐDÐDÜÐ#Ó$¬Ð/AÓ(BÒBÐBÑBr   N)Úsympy.core.symbolr   Úsympy.sets.setsr   rM   r   r   r   rE   r   r	   r
   r   Ú sympy.combinatorics.permutationsr   Úsympy.combinatorics.perm_groupsr   Úsympy.testing.pytestr   ÚrmulrF   rZ   r   r   r   ú<module>ra      s=   ðÝ %Ý %÷÷ ñ õ 9Ý <Ý 'à×Ñ€òH$óVCr   