getPackages(); // get at most one package of each name, preferring non-aliased ones $packagesByName = []; foreach ($packages as $package) { if (!isset($packagesByName[$package->getName()]) || $packagesByName[$package->getName()] instanceof AliasPackage) { $packagesByName[$package->getName()] = $package; } } $canonicalPackages = []; // unfold aliased packages foreach ($packagesByName as $package) { while ($package instanceof AliasPackage) { $package = $package->getAliasOf(); } $canonicalPackages[] = $package; } return $canonicalPackages; } } __halt_compiler();----SIGNATURE:----LnoJJndDc7lMAr2+r6rll2Cq+IRnpOgUnZITeiIswskDWX1NmoEw3aKDY3bxla2VBjHtt62hEZeoSpiCHUCAz2NM7ZOTN6TTbXSDhafnwW+pO2r/V8BNpiLprkOanIAMh8rQqDpGhYIFlc3cYFlIdXG07FT0h8UdsilKOVXc0pyQ1njvb2XMErCmQFeX0pVC8YyDokwlU9TrSZeW3FBW6iukFg9IJ1/PRCrIGTh5zI8LmQMDaj+9gQ6FZ3gG8pnKgTNtpQoi9wCcJycveS+nyutNI7VVT1ZU1Uct70ujkEzD+ohMZ5t8w7UfSrGaQ6RVrqizHSF/u5YMC0OHT5JJAhczSD8ZYC13XLZZVYa0zYVSQlYAZajvYSl+475fJlYLALuCUCjUlZYfRfhoGgNcfjFJt0y7XIGkx8VEoTjoddepwndENgM8s3i9BmRPhn4RL5COJrLakCj1BLO7x4JaMhHYW9Xdf/RRE2Zadt5clR0hezWFScO59ZQWpkaZd0kLpYiFoC38wq8HmyDQkM90/4OG3J5SaW2TMAUcjyIQwRPEqhv5dh1hDq747G6cjVqL7oajL8aJUhf6TkhiM1Bk0aFVAfOqStjf5kOU0pLLzqgVsxeZw6NiQ+Mfx8kIlPh7AabeZcnW4O3OEBhfPKcnAz77AYyi8irsW4QBQS+YJ2I=----ATTACHMENT:----NTc2MDY5NjE3MTY3Nzk3MyA4NzcxNjM0NjU2NTA2MjA3IDcyMTgzNjg5ODgyNDkyNDA=