ð¿/gÜìýžÞ¬zˆ{™­1mŸ�Ì‰T~LWý&Kæ:,¸W>r¯k±�”u‹%ÄÞU•R  ½•øOÍ;¤£?Ä�¨JF+ƒØž>•Œ/Ï¤vþ@…¸õ°$¶Pä„¸[ª$¢0‹*±¤çÕÁ0�,™ïºÙk—‘`m­™�g!ó2Ú®J¸ó¦gµºšrŠˆöEID>8i-=sE¢³>uü_Eûì!2 4C‚5P3ÕÖ¾µèw â£ U°¡ÏŸütµÔ»Ÿç-…<V—C m=Ø¸Tjvpï®=ƒzòõêZÙŸ`»PÜ×XÉ�s“q 2‡‚äùë�%sì«©É”¾è+ðL¦d�.ž:‡—ñµ6ÑªƒhCR×›]¯¼JÌ´9iY_éµO,ÇÇiòhÒ^†Y4½Å(<Ÿ8¾ÐäA}­“2jdÈÓP€fMô—sÂwv ¡c½Ý�_~}1�È2O¾Y•A8S�GR÷È|—niœ\þ+jú’š€×¤œî=òTT9p@]ò…´Ž4õ³÷Ý*ZZ»¿LªÕ»Ö]I‹omAh-ƒ„7·©cEÈ7X“ÝeÊW�×yžKÅœù¹3†ODiï<\üÑvz‹MN(é7ÖÉ�ýÃ$iãoÑºÔ²®¯�åù‘|£ÞžþÎ
À†"{,Ðb
Ka™GŸ%8ó’*“ñß…’Î“'é*•ž^RüPõkì7d¬fjeG£ ¼S¼ª)’ÑW5	DkW‘ŠðÊ@À+í!ÌCN¯©³h8¼~ŸBÕ‹˜�àÀrC³¬g@ò^e5ÒgÇ‘F*wP>îýaË‡qÒ‹�h$k5žÖ‹,ûôè˜1Ðàs»í!¡=}Ç8ÐhYãAJO-ágÝZPÂÎ†ÅAz ^Á¼�þ¨Ÿâ9´'êžW§xnòŽg')±WEÌ Þÿóš‡Ö~TDrb­šœ1Øæ3mNÿÊØñWC?"û¨DíÓÉØôMÉbË\·k„=xL&©%Ó»­£‚�¥Mµx@þœ—K§ól¦·L‹Qøð÷Îï}Ç@‹�ž�ý#×U™xáÏ›Daôuôÿw?®VÈÙ¥–’®êÍE°,Û&	LÝ×ˆêáŸÊaú•APm…	'
Ø‡­{|4}˜ÍÚÖN*aRRu6.7z¿¸Ä­íYUÃ?å[ý4¼.AÝP§Ø{¯“žGüa�ìÜ¿Ìë†$‡Q ÃÈFÂâÌ›È²' ‹ýÙGÝ„6`ËÚbl˜ý†ÈdOlÆó ZÈ*E�šº…ëG ˆºº˜T- 0šA,/!NnôSêJ1~:„dÅT¡Såò]>“Œ­�>$¢·%ÚÙ÷\Â@ÆFBT4–ü:>¢Á jN}3ŠÃjQ=Z¨C·Í Ù†�<Š‘ßxƒjÂJÆ‚{wòÄ$ï÷)ª“+Ív�6¯g~ó¸Ú"	üÈ˜¦Òè~`Ž½žs•AÞÏ:õç™µûB¾r�YŸ{+Ã¤QkølókF›ÆØF×FôãÐAò)£?�uŒ„	Ûw¢¦äô!1€KØÔô²„*ÉÍ!SüË’^¯8Ë×¶…5¶€?^~Á€]¦ð›ñ7¾Ü3âà¤¥Líg(Œ8ÊMÓ8Z;‘d,ƒ‡²e�°¬Og8)ÃjXD”ðIù·=6ñ´DÄòmç®v2·E[}Œ,BÿBðd°›Üð[îÐ¦ÒÉ©VCggPÝô‰P`¸¾Í° sßd/�£.ïˆÃ2+;½ôæÐlQò¡»ØõÌuÄ¢ósô¶MÑ?rç×+ó[¼ÎÄ‚ÏrŽtñl!ÿð‚™ÓÐÄÈ‰Æ"³v˜vèãß3`/hóžf%»�¢®íÐB ›ÅyóÕ§,|œöj«¸PåRR*GúJ”¼²Yq^ÜÚZ='VÊh—NÉI§œÙoç7Ù~GµÓ/ðAO§O¢"Ëñ6ývƒâ�@èªÝeº%œÖÛQþækIGË\ùcî¶`z°ñ;ƒãÂÏ–ÀV€þôÊ£Q¡×ßÁ¼•›E^ÕZ÷þC•Lšr¯b�!˜s8ìWláqÿÚ3Mðê—Óï(Õ/vš4ß+�¡ˆþÉS_À©]q�ÜÞþdÒƒt¦ï™åÊ”¥í2×~H|UMtö
 EŸ{ñ�@ÖsÛªý¯x°,ˆŠGáÍÐ]S+ 6¢ý_ô0á8ÿ^PÑ¼àà›òè‰@ªê4Ü3
=^üøÅå,4UR)ßyV¼#1á¢†Ä6wqœªqå�gœÃ)Þi„SÉ¬io#6F®‹Ía ì’Ë{…+¤r¬„2ÓÓf$e±P;
H¤[�Qh±½o=ìŒ^×¡§Å‰a6CRÿ–7ûÊAÅÜLÎ·‘UÎî.Ñ×ÒªÏþ©a±•œiä¤Ä�Ýµ}¥H
+Bébœ`š•	X{n`ýŠ˜|Ñš#³ƒ¥ñvDßC<!I	g)DÎo¥/§‰z‹X:Î)—X’“õ‘0{œu ï“ÇDÜ5ÿ'3‰ÂTÓU¬ÒÅ­«
O2s/ó¿þ® #£Êƒ�Ç6ô­_³ôËRèzsò»Xâ»Q±€eevÍÌ�ÌÃÅ^ýUUQµF�Ã$9K°�Å–Ã�LŒíóˆˆx¡Ð–Xƒsµ�!Èíj÷Éçe®HAßä÷‘GáV
û`yB Fç‹'®µ×"à’—~÷ª<á±°ðAB¯ZûF§¿¿Ïä˜¦\hçòu!JÏ$Ñ%ÁÏ�1Q»ëí«ÓEŽb
N¨�,×üv¬W7dn0ÌŸôä�o’‘%sA_½Þ)Ý$üÓ·+[ úÓ3H
›¬N!Gã“ô‘W@³Ó`jÓtG×®Ðò`ÚÈÂî®Mn|r�/k~!R¸@û%,±;,<~AfY�˜Þ?æGk`›eã_û
dŸC«ú`Ïã%ç2AÁã0^¨‰%½«Áž‚¸™á`¹{Øãz#¹ ßýAö·\e¿lû7s_±ç¥ðuKSBåZä·n V{Ð}b”‘¤=#qÜûz!½È”>½ß4À(vÿ"–Ï¼ÕÖˆ?tÎNá™-9šMî·=üü„ìø<¥Í¡°Lý;�žN¦®(Ÿ­õŠã¡ìoÄï§`m€éÚR)ßyV¼#1á¢†Ä6wq¦ê;o]´3ÏÊ%}-ý¢ñßÔÕ•]×âÅ;ÿf�ÃËò¬‘cp%–à$b±`fØ�áK ž3_*°òžj-uì(è?Â(À¯y1ä¸·Aûôòû”#¸˜èç °!ë|CXìøG7	ÜŸ?ö'è)QØµ	Jší:�ÑòâàŠV ér†ž�fòàûç_Õò?S’QBUørÛÜ1…>+ëhÍÖÇË—™�@êJz¦ZN´®˜ì˜JÜÔùs–�_2·ÆNš·ÙB¥ÿTÊÍ_šî£rüö'°ŸïÃà	­Õ3n':ƒ_ÁD=ƒê�‚ûz!½È”>½ß4À(vÿnBÆÄsnBñÐ;OëT¿*'—˜sV²´¨øŠ¼¤�žôL,ï?ßåG>Õ’Ëß©i—?ü,×Hc›ÞÒ»6™ÅË¦mfIÆ÷Z“=Úæ¦BdtMæ¬e­-Ÿû‡*0“×§6Ýöj|Œ€®¶6ñ’fù²^³ÂŸ­õŠã¡ìoÄï§`m€éÚUÕë³æ8¿%‰}…E/™Â`àÞÉåÍ>1xÁêì»Äj‚6
Ëè;ž`w
‰V©'9ëžîõÇÚ?0ï—ÒfšæÜç:V”¼‚;HÙf "	¨büçø\I“æ¾ý§ÀÙÁ±½Ê]½6ŠêœËN¼ªÈvŽÉJ_ˆ;©t×í¶càˆãY�`|$ÿ¿±¶ÀÌ—Ù�¯ÖÎ6Öó"È^•˜ Í z-Íž„SZy©xò¢‘ö�üÙärboß÷iïYÛt4ú53Î,wI!bô7W°O¶�qféç°Ô¡á-º;¼#üã-ÉŽU•ÇÎŽóûÍ6¤kÐ¶ÉÈÿ�Ùå~…b³á£t³Ér…rdÄ‹Ëp¹id¤�1\ •¿ü¬¯8¥›ŒYÖ"b×™kØ¨@›v´-’‘¢ÿƒPyðü[C…Ê²ˆˆývtL£†P×’	Äê±3‘ŒF/¿‘˜àsWáJ_Å–i²¸^ÙPyèoæ&™
 	Y„šñ~7'¿JwÉ¦›§™'ÕØ²Ñý.è�Óºòºeï>÷«ã´Òýaî›ÀaîÎ2ZòÚï	›žÍ-ahß—5¢oyÀtÅ~P˜ÌZKŽ½Çîk°§Ó$v¯ÕÏîƒs/¾±ƒæð +ÃèH	A°€¢¡)FÇ›	®„mæ¸h�î`—ô­/Ájçqjß6â©d¼ÞÂ˜Û{‰Ý0Oyà^o ‘Ý˜…�kñæ#šcÛ%¯Ë°Æ|l6èxÐÐ³‰ï@±2Ñ(—»×TÑ“�FÍö×“á7²Ñ+K{¯La<E-`©qÜÿH÷·W—Ã½ˆ°'²)~ºâ
Þ‚0Oyà^o ‘Ý˜…�kñæ#šcÛ%¯Ë°Æ|l6èxÐÐ³‰ï@±2Ñ(—»×±Ð>)¦¾Ëôx
ÿPpÐ/Aþˆƒ‡A÷&¤mþÐ/Aþˆƒ‡A÷&¤mþ÷Ê|AQªIž.BÊ¤!ÈØ8ž9Êæà	]y<uWAˆA8ô5ÆçS]‰(r8Ô3·¤ÞîÚ’8³�çñW¿ËC£c6 ýÎÌ‹XG^œ_+BCÿ)üR«=û¯ÐJz©jºFçt]�z�¸€‘pV&*’Æ^O"ÊÓîŽQKF6ãŒØ¢¤9½UþP½DÕž7\—ï¡C�î­Å}	gVB�ÜñÂ+N/Ÿò•_‚Km½ÕÎø·ó6|Ä–­*Æò÷È­Y‰�UióÈ»Ÿé{D¢<paÌhöÈøø3Ï§ÀÛy’ÂX.ôÜ1äƒ­4þíê|¾ˆ¿(]��•:Sd»fˆXî.\')ÊÜgävkÁ&Áf1štSeþ*X…E/Ð/Aþˆƒ‡A÷&¤mþXV7ihU>QïÐ˜“ïÐ¸æX¿^Rø£Ýú´�î¿êvï§|"üíFÏbÜßÄPp‚˜8±îe†mÈ¯ÿ‹nòË®Iñæ#šcÛ%¯Ë°Æ|l6ñæ#šcÛ%¯Ë°Æ|l6ç�¯µê™ø‡´*d�Q°€‚±ª¾P~õ—“jöqQüãÇÐ/Aþˆƒ‡A÷&¤mþ:§ÁCDX?´ânO9AŸdµÜht§Øùe!·�·¦]gñæ#šcÛ%¯Ë°Æ|l6ÙŸUÇ¤“,Z ç‹{Ñ=
    print("--                                   --")

    built = []
    for (project, _) in sorted(deps.items()):
        if project not in built:
            BuildProject(project, built, projects, deps)

    print("--                                   --")


def PrintVCProj(projects):

    for project in projects:
        print("-------------------------------------")
        print("-------------------------------------")
        print(project)
        print(project)
        print(project)
        print("-------------------------------------")
        print("-------------------------------------")

        project_path = os.path.abspath(
            os.path.join(os.path.dirname(sys.argv[1]), projects[project][2])
        )

        pretty = pretty_vcproj
        argv = [
            "",
            project_path,
            "$(SolutionDir)=%s\\" % os.path.dirname(sys.argv[1]),
        ]
        argv.extend(sys.argv[3:])
        pretty.main(argv)


def main():
    # check if we have exactly 1 parameter.
    if len(sys.argv) < 2:
        print('Usage: %s "c:\\path\\to\\project.sln"' % sys.argv[0])
        return 1

    (projects, deps) = ParseSolution(sys.argv[1])
    PrintDependencies(projects, deps)
    PrintBuildOrder(projects, deps)

    if "--recursive" in sys.argv:
        PrintVCProj(projects)
    return 0


if __name__ == "__main__":
    sys.exit(main())
