§ x<ˆj§ƒãó’—ddlmZddlmZmZmZmZmZddl m Z m Z Gd„de ¦«Z Gd„de ¦«Z Gd„d e ¦«Zd S) é)Úmessages)ÚFutureImportationÚ ImportationÚImportationFromÚStarImportationÚSubmoduleImportation)ÚTestCaseÚskipcót—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„ZdS)ÚTestImportationObjectcól—tddd¦«}|jdksJ‚t|¦«dksJ‚dS)NÚazimport a©rÚsource_statementÚstr©ÚselfÚbindings úl/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/pyflakes/test/test_imports.pyÚtest_import_basicz'TestImportationObject.test_import_basicsD€Ý˜c 4¨Ñ-Ô-ˆØÔ'¨:Ò5Ð5Ð5Ð5Ý�7‰|Œ|˜sÒ"Ð"Ð"Ð"Ð"Ð"ócól—tddd¦«}|jdksJ‚t|¦«dksJ‚dS)NÚcrz import a as cza as crrs rÚtest_import_asz$TestImportationObject.test_import_assD€Ý˜c 4¨Ñ-Ô-ˆØÔ'¨?Ò:Ð:Ð:Ð:Ý�7‰|Œ|˜xÒ'Ð'Ð'Ð'Ð'Ð'rcój—tdd¦«}|jdksJ‚t|¦«dksJ‚dS)Núa.bz import a.b)rrrrs rÚtest_import_submodulez+TestImportationObject.test_import_submodulesB€Ý& u¨dÑ3Ô3ˆØÔ'¨<Ò7Ð7Ð7Ð7Ý�7‰|Œ|˜uÒ$Ð$Ð$Ð$Ð$Ð$rcól—tddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrrzimport a.b as cúa.b as crrs rÚtest_import_submodule_asz.TestImportationObject.test_import_submodule_assE€å˜c 4¨Ñ/Ô/ˆØÔ'Ð+<Ò<Ð<Ð<Ð<Ý�7‰|Œ|˜zÒ)Ð)Ð)Ð)Ð)Ð)rcól—tddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrrzimport a.b as aza.b as arrs rÚ$test_import_submodule_as_source_namez:TestImportationObject.test_import_submodule_as_source_name#sE€Ý˜c 4¨Ñ/Ô/ˆØÔ'Ð+<Ò<Ð<Ð<Ð<Ý�7‰|Œ|˜zÒ)Ð)Ð)Ð)Ð)Ð)rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrú.zfrom . import az.a©rrrrs rÚtest_importfrom_relativez.TestImportationObject.test_importfrom_relative(sG€Ý! # t¨S°#Ñ6Ô6ˆØÔ'Ð+<Ò<Ð<Ð<Ð<Ý�7‰|Œ|˜tÒ#Ð#Ð#Ð#Ð#Ð#rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrú..zfrom .. import aú..ar%rs rÚtest_importfrom_relative_parentz5TestImportationObject.test_importfrom_relative_parent-sG€Ý! # t¨T°3Ñ7Ô7ˆØÔ'Ð+=Ò=Ð=Ð=Ð=Ý�7‰|Œ|˜uÒ$Ð$Ð$Ð$Ð$Ð$rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)NÚbr)zfrom ..a import bz..a.br%rs rÚ$test_importfrom_relative_with_modulez:TestImportationObject.test_importfrom_relative_with_module2óG€Ý! # t¨U°CÑ8Ô8ˆØÔ'Ð+>Ò>Ð>Ð>Ð>Ý�7‰|Œ|˜wÒ&Ð&Ð&Ð&Ð&Ð&rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrr)r,zfrom ..a import b as cz ..a.b as cr%rs rÚ'test_importfrom_relative_with_module_asz=TestImportationObject.test_importfrom_relative_with_module_as7óG€Ý! # t¨U°CÑ8Ô8ˆØÔ'Ð+CÒCÐCÐCÐCÝ�7‰|Œ|˜|Ò+Ð+Ð+Ð+Ð+Ð+rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nr,rzfrom a import brr%rs rÚtest_importfrom_memberz,TestImportationObject.test_importfrom_member<sG€Ý! # t¨S°#Ñ6Ô6ˆØÔ'Ð+<Ò<Ð<Ð<Ð<Ý�7‰|Œ|˜uÒ$Ð$Ð$Ð$Ð$Ð$rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrrzfrom a.b import cza.b.cr%rs rÚ test_importfrom_submodule_memberz6TestImportationObject.test_importfrom_submodule_memberAr.rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrrr,zfrom a import b as crr%rs rÚtest_importfrom_member_asz/TestImportationObject.test_importfrom_member_asFsG€Ý! # t¨S°#Ñ6Ô6ˆØÔ'Ð+AÒAÐAÐAÐAÝ�7‰|Œ|˜zÒ)Ð)Ð)Ð)Ð)Ð)rcón—tdddd¦«}|jdksJ‚t|¦«dksJ‚dS)NÚdrrzfrom a.b import c as dz a.b.c as dr%rs rÚ#test_importfrom_submodule_member_asz9TestImportationObject.test_importfrom_submodule_member_asKr1rcój—tdd¦«}|jdksJ‚t|¦«dksJ‚dS)Nrzfrom a.b import *za.b.*©rrrrs rÚtest_importfrom_starz*TestImportationObject.test_importfrom_starPsC€Ý! %¨Ñ.Ô.ˆØÔ'Ð+>Ò>Ð>Ð>Ð>Ý�7‰|Œ|˜wÒ&Ð&Ð&Ð&Ð&Ð&rcój—tdd¦«}|jdksJ‚t|¦«dksJ‚dS)Nz.bzfrom .b import *z.b.*r<rs rÚtest_importfrom_star_relativez3TestImportationObject.test_importfrom_star_relativeUsC€Ý! $¨Ñ-Ô-ˆØÔ'Ð+=Ò=Ð=Ð=Ð=Ý�7‰|Œ|˜vÒ%Ð%Ð%Ð%Ð%Ð%rcól—tddd¦«}|jdksJ‚t|¦«dksJ‚dS)NÚprint_functionz%from __future__ import print_functionz__future__.print_function)rrrrs rÚtest_importfrom_futurez,TestImportationObject.test_importfrom_futureZsG€Ý#Ð$4°d¸DÑAÔAˆØÔ'Ð+RÒRÐRÐRÐRÝ�7‰|Œ|Ð:Ò:Ð:Ð:Ð:Ð:Ð:rcóF—| dtj¦«dS)zm The magic underscore var should be reported as unused when used as an import alias. zimport fu as _N©ÚflakesÚmÚ UnusedImport©rs rÚtest_unusedImport_underscorez2TestImportationObject.test_unusedImport_underscore_s!€ð � Š Ð$¥a¤nÑ5Ô5Ð5Ð5Ð5rN)Ú__name__Ú __module__Ú __qualname__rrrr r"r&r*r-r0r3r5r7r:r=r?rBrI©rrr r s€€€€€ð#ð#ð#ð (ð(ð(ð %ð%ð%ð *ð*ð*ð *ð*ð*ð $ð$ð$ð %ð%ð%ð 'ð'ð'ð ,ð,ð,ð %ð%ð%ð 'ð'ð'ð *ð*ð*ð ,ð,ð,ð 'ð'ð'ð &ð&ð&ð ;ð;ð;ð 6ð6ð6ð6ð6rr có|—eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!d „Z"d!„Z#d"„Z$d#„Z%d$„Z&d%„Z'd&„Z(d'„Z)d(„Z*d)„Z+d*„Z,d+„Z-d,„Z.d-„Z/d.„Z0d/„Z1d0„Z2d1„Z3d2„Z4d3„Z5d4„Z6d5„Z7d6„Z8d7„Z9d8„Z:d9„Z;d:„Zd=„Z?d>„Z@d?„ZAd@„ZBdA„ZCdB„ZDdC„ZEdD„ZFdE„ZGdF„ZHdG„ZIdH„ZJdI„ZKdJ„ZLdK„ZMdL„ZNdM„ZOdN„ZPdO„ZQdP„ZRdQ„ZSdR„ZTdS„ZUdT„ZVdU„ZWdV„ZXdW„ZYdX„ZZdY„Z[dZ„Z\e]d[¦«d\„¦«Z^d]„Z_d^„Z`d_„Zad`„Zbda„Zcdb„Zddc„ZeddS)eÚTestcó²—| dtjtj¦«| dtjtj¦«dS)Nzimport fu, barzfrom baz import fu, barrDrHs rÚtest_unusedImportzTest.test_unusedImportis>€Ø � Š Ð$¥a¤nµa´nÑEÔEÐEØ � Š Ð-­q¬~½q¼~ÑNÔNÐNÐNÐNrcób—| dtj¦«| dtj¦«| dtj¦«| dtj¦«| dtj¦«| dtj¦«| dtj¦«| dtj¦«| d tj¦«| dtj¦«}|jd }|jd ksJ‚|jd ksJ‚| dtj¦«}|jd }|jd ksJ‚|jd ksJ‚dS)Nzfrom . import fuzfrom . import fu as bazzfrom .. import fuzfrom ... import fuzfrom .. import fu as bazzfrom .bar import fuzfrom ..bar import fuzfrom ...bar import fuzfrom ...bar import fu as bazrú%r imported but unused©z.fu)z .fu as baz)rErFrGrÚmessageÚ message_args©rÚcheckerÚerrors rÚtest_unusedImport_relativezTest.test_unusedImport_relativemsn€Ø � Š Ð&­¬Ñ7Ô7Ð7Ø � Š Ð-­q¬~Ñ>Ô>Ð>Ø � Š Ð'­¬Ñ8Ô8Ð8Ø � Š Ð(­!¬.Ñ9Ô9Ð9Ø � Š Ð.µ´Ñ?Ô?Ð?Ø � Š Ð)­1¬>Ñ:Ô:Ð:Ø � Š Ð*­A¬NÑ;Ô;Ð;Ø � Š Ð+­Q¬^Ñ<Ô<Ð<Ø � Š Ð2µA´NÑCÔCÐCà—+’+Ð0µ!´.ÑAÔAˆàÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ! YÒ.Ð.Ð.Ð.à—+’+Ð7½¼ÑHÔHˆàÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ!Ð%5Ò5Ð5Ð5Ð5Ð5Ð5rcó²—| dtjtj¦«| dtjtj¦«dS)Nzimport fu as FU, bar as FUz#from moo import fu as FU, bar as FU©rErFÚRedefinedWhileUnusedrGrHs rÚtest_aliasedImportzTest.test_aliasedImport„sR€Ø � Š Ð0ÝÔ*­A¬Nñ <ô <ð <à � Š Ð9ÝÔ*­A¬Nñ <ô <ð <ð <ð Ô>Ð>Ð>Ð>rcóÆ—| dtj¦«| dtj¦«| dtj¦«dS)Nzimport fu; fu = 3zimport fu; fu, bar = 3zimport fu; [fu, bar] = 3©rErFr]rHs rÚtest_redefinedWhileUnusedzTest.test_redefinedWhileUnused›sP€Ø � Š Ð'­Ô)?Ñ@Ô@Ð@Ø � Š Ð,­aÔ.DÑEÔEÐEØ � Š Ð.µÔ0FÑGÔGÐGÐGÐGrcóF—| dtj¦«dS)ze Test that importing a module twice within an if block does raise a warning. z[ i = 2 if i==1: import os import os os.pathNrgrHs rÚtest_redefinedIfzTest.test_redefinedIf s1€ð � Š ðõ Ô*ñ  ,ô ,ð ,ð ,ð ,rcó0—| d¦«dS)zl Test that importing a module twice in if and else blocks does not raise a warning. zi i = 2 if i==1: import os else: import os os.pathNr`rHs rÚtest_redefinedIfElsezTest.test_redefinedIfElse¬s)€ð � Š ðñ ô ð ð ð rcóF—| dtj¦«dS)za Test that importing a module twice in a try block does raise a warning. zj try: import os import os except: pass os.pathNrgrHs rÚtest_redefinedTryzTest.test_redefinedTry¹s1€ð � Š ðõ Ô*ñ  ,ô ,ð ,ð ,ð ,rcó0—| d¦«dS)zp Test that importing a module twice in a try and except block does not raise a warning. zY try: import os except: import os os.pathNr`rHs rÚtest_redefinedTryExceptzTest.test_redefinedTryExceptÆs)€ð � Š ðñ ô ð ð ð rcó0—| d¦«dS)z~ Test that importing a module twice using a nested try/except and if blocks does not issue a warning. z� try: if True: if True: import os except: import os os.pathNr`rHs rÚtest_redefinedTryNestedzTest.test_redefinedTryNestedÒs)€ð � Š ðñ ô ð ð ð rcó0—| d¦«dS)Nzù try: from aa import mixer except AttributeError: from bb import mixer except RuntimeError: from cc import mixer except: from dd import mixer mixer(123) r`rHs rÚtest_redefinedTryExceptMultiz!Test.test_redefinedTryExceptMultiàs'€Ø � Š ð  ñ ô ð ð ð rcóF—| dtj¦«dS)Nz¦ try: from aa import mixer except ImportError: pass else: from bb import mixer mixer(123) rgrHs rÚtest_redefinedTryElsezTest.test_redefinedTryElseís/€Ø � Š ð õÔ #ñ %ô %ð %ð %ð %rcó0—| d¦«dS)NzÙ try: import funca except ImportError: from bb import funca from bb import funcb else: from bbb import funcb print(funca, funcb) r`rHs rÚtest_redefinedTryExceptElsez Test.test_redefinedTryExceptElseøs'€Ø � Š ð  ñ ô ð ð ð rcó0—| d¦«dS)Nz¡ try: from aa import a except ImportError: from bb import a finally: a = 42 print(a) r`rHs rÚtest_redefinedTryExceptFinallyz#Test.test_redefinedTryExceptFinallys'€Ø � Š ð ñ ô ð ð ð rcó0—| d¦«dS)Nzà try: import b except ImportError: b = Ellipsis from bb import a else: from aa import a finally: a = 42 print(a, b) r`rHs rÚ"test_redefinedTryExceptElseFinallyz'Test.test_redefinedTryExceptElseFinallys'€Ø � Š ð  ñ ô ð ð ð rcóF—| dtj¦«dS)Nz> import fu def fu(): pass rgrHs rÚtest_redefinedByFunctionzTest.test_redefinedByFunctionó/€Ø � Š ð õÔ #ñ  %ô %ð %ð %ð %rcó\—| dtjtj¦«dS)úr Test that shadowing a global name with a nested function definition generates a warning. zx import fu def bar(): def baz(): def fu(): pass Nr\rHs rÚtest_redefinedInNestedFunctionz#Test.test_redefinedInNestedFunction$s5€ð � Š ð õ Ô #¥Q¤^ñ  5ô 5ð 5ð 5ð 5rcóˆ—| dtjtjtjtj¦«dS)r�zŽ import fu def bar(): import fu def baz(): def fu(): pass Nr\rHs rÚ#test_redefinedInNestedFunctionTwicez(Test.test_redefinedInNestedFunctionTwice1s?€ð � Š ð õÔ*­AÔ,BÝ”N¥A¤Nñ 4ô 4ð 4ð 4ð 4rcó0—| d¦«dS)zŒ Test that a global import which is redefined locally, but used later in another scope does not generate a warning. aq import unittest, transport class GetTransportTestCase(unittest.TestCase): def test_get_transport(self): transport = 'transport' self.assertIsNotNone(transport) class TestTransportMethodArgs(unittest.TestCase): def test_send_defaults(self): transport.Transport() Nr`rHs rÚtest_redefinedButUsedLaterzTest.test_redefinedButUsedLaterAs)€ð � Š ð  ñ ô ð ð ð rcóF—| dtj¦«dS)Nz> import fu class fu: pass rgrHs rÚtest_redefinedByClasszTest.test_redefinedByClassSrrcó0—| d¦«dS)z“ If an imported name is redefined by a class statement which also uses that name in the bases list, no warning is emitted. zM from fu import bar class bar(bar): pass Nr`rHs rÚtest_redefinedBySubclasszTest.test_redefinedBySubclassZó)€ð � Š ð ñ ô ð ð ð rcó0—| d¦«dS)zi Test that shadowing a global with a class attribute does not produce a warning. zS import fu class bar: fu = 1 print(fu) Nr`rHs rÚtest_redefinedInClasszTest.test_redefinedInClasses)€ð � Š ð ñ ô ð ð ð rcóp—| d¦«| dtj¦«dS)zN Test that import within class is a locally scoped attribute. z2 class bar: import fu z> class bar: import fu fu N©rErFÚ UndefinedNamerHs rÚtest_importInClasszTest.test_importInClassqsM€ð � Š ð ñ ô ð ð � Š ð õ Œ_ñ  ô ð ð ð rcó0—| d¦«dS)NzD import fu def fun(): print(fu) r`rHs rÚtest_usedInFunctionzTest.test_usedInFunction�ó'€Ø � Š ð ñ ô ð ð ð rcó†—| dtjtj¦«| d¦«dS)NzF import fu def fun(fu): print(fu) zX import fu def fun(fu): print(fu) print(fu) ©rErFrGr]rHs rÚtest_shadowedByParameterzTest.test_shadowedByParameterˆsP€Ø � Š ð õŒ^�QÔ3ñ  5ô 5ð 5ð � Š ð ñ ô ð ð ð rcó0—| d¦«dS)Nz fu = Noner`rHs rÚtest_newAssignmentzTest.test_newAssignment–s€Ø � Š �KÑ Ô Ð Ð Ð rcóp—| d¦«| dtj¦«dS)Nzimport fu; fu.bar.bazzimport fu; "bar".fu.bazrDrHs rÚtest_usedInGetattrzTest.test_usedInGetattr™s2€Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð-­q¬~Ñ>Ô>Ð>Ð>Ð>rcó0—| d¦«dS)Nzimport fu; print(fu.bar[1:])r`rHs rÚtest_usedInSlicezTest.test_usedInSlice�s€Ø � Š Ð2Ñ3Ô3Ð3Ð3Ð3rcó0—| d¦«dS)Nz6 import fu if True: print(fu) r`rHs rÚtest_usedInIfBodyzTest.test_usedInIfBody ó'€Ø � Š ð ñ ô ð ð ð rcó0—| d¦«dS)Nz/ import fu if fu: pass r`rHs rÚtest_usedInIfConditionalzTest.test_usedInIfConditional¦r rcó0—| d¦«dS)NzH import fu if False: pass elif fu: pass r`rHs rÚtest_usedInElifConditionalzTest.test_usedInElifConditional¬r”rcó0—| d¦«dS)NzJ import fu if False: pass else: print(fu) r`rHs rÚtest_usedInElsezTest.test_usedInElse³r”rcó0—| d¦«dS)Nzimport fu; fu.bar()r`rHs rÚtest_usedInCallzTest.test_usedInCallºs€Ø � Š Ð)Ñ*Ô*Ð*Ð*Ð*rcó0—| d¦«dS)NzC import fu class bar: bar = fu r`rHs rÚtest_usedInClasszTest.test_usedInClass½r”rcó0—| d¦«dS)NzO import fu class bar(object, fu.baz): pass r`rHs rÚtest_usedInClassBasezTest.test_usedInClassBaseÄr”rcó0—| d¦«dS)NzR import fu def bleh(): pass print(fu) r`rHs rÚtest_notUsedInNestedScopezTest.test_notUsedInNestedScopeËó'€Ø � Š ð ñ ô ð ð ð rcó0—| d¦«dS)NzN import fu for bar in range(9): print(fu) r`rHs rÚtest_usedInForzTest.test_usedInForÓr”rcó0—| d¦«dS)Nzn import fu for bar in range(10): pass else: print(fu) r`rHs rÚtest_usedInForElsezTest.test_usedInForElseÚó'€Ø � Š ð ñ ô ð ð ð rcóF—| dtj¦«dS)NzH import fu for fu in range(2): pass ©rErFÚImportShadowedByLoopVarrHs rÚtest_redefinedByForzTest.test_redefinedByForãs/€Ø � Š ð õÔ &ñ  (ô (ð (ð (ð (rcóF—| dtj¦«dS)zi Test that shadowing a global name with a for loop variable generates a warning. zS import fu fu.bar() for fu in (): pass Nr¶rHs rÚtest_shadowedByForzTest.test_shadowedByForês1€ð � Š ð õ Ô &ñ  (ô (ð (ð (ð (rcó†—| dtj¦«| dtj¦«dS)z‚ Test that shadowing a global name with a for loop variable nested in a tuple unpack generates a warning. zl import fu fu.bar() for (x, y, z, (a, b, c, (fu,))) in (): pass zl import fu fu.bar() for [x, y, z, (a, b, c, (fu,))] in (): pass Nr¶rHs rÚtest_shadowedByForDeepzTest.test_shadowedByForDeepösV€ð � Š ð õ Ô &ñ  (ô (ð (ð � Š ð õ Ô &ñ  (ô (ð (ð (ð (rcó0—| d¦«dS)NzD import fu def fun(): return fu r`rHs rÚtest_usedInReturnzTest.test_usedInReturn r”rcó|—| d¦«| d¦«| d¦«| d¦«| d¦«| d¦«| d¦«| d¦«| d ¦«| d ¦«| d ¦«| d ¦«| d ¦«| d¦«| d¦«dS)Nzimport fu; 3 + fu.barzimport fu; 3 % fu.barzimport fu; 3 - fu.barzimport fu; 3 * fu.barzimport fu; 3 ** fu.barzimport fu; 3 / fu.barzimport fu; 3 // fu.barzimport fu; -fu.barzimport fu; ~fu.barzimport fu; 1 == fu.barzimport fu; 1 | fu.barzimport fu; 1 & fu.barzimport fu; 1 ^ fu.barzimport fu; 1 >> fu.barzimport fu; 1 << fu.barr`rHs rÚtest_usedInOperatorszTest.test_usedInOperatorss%€Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð,Ñ-Ô-Ð-Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð,Ñ-Ô-Ð-Ø � Š Ð(Ñ)Ô)Ð)Ø � Š Ð(Ñ)Ô)Ð)Ø � Š Ð,Ñ-Ô-Ð-Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð+Ñ,Ô,Ð,Ø � Š Ð,Ñ-Ô-Ð-Ø � Š Ð,Ñ-Ô-Ð-Ð-Ð-rcó0—| d¦«dS)Nzimport fu; assert fu.barr`rHs rÚtest_usedInAssertzTest.test_usedInAssert!s€Ø � Š Ð.Ñ/Ô/Ð/Ð/Ð/rcó0—| d¦«dS)Nzimport fu; fu.bar[1]r`rHs rÚtest_usedInSubscriptzTest.test_usedInSubscript$s€Ø � Š Ð*Ñ+Ô+Ð+Ð+Ð+rcó„—| d¦«| d¦«| d¦«dS)Nzimport fu; fu and Falsezimport fu; fu or Falsezimport fu; not fu.barr`rHs rÚtest_usedInLogiczTest.test_usedInLogic'sA€Ø � Š Ð-Ñ.Ô.Ð.Ø � Š Ð,Ñ-Ô-Ð-Ø � Š Ð+Ñ,Ô,Ð,Ð,Ð,rcó0—| d¦«dS)Nzimport fu; [fu]r`rHs rÚtest_usedInListzTest.test_usedInList,s€Ø � Š Ð%Ñ&Ô&Ð&Ð&Ð&rcó0—| d¦«dS)Nzimport fu; (fu,)r`rHs rÚtest_usedInTuplezTest.test_usedInTuple/s€Ø � Š Ð&Ñ'Ô'Ð'Ð'Ð'rcó0—| d¦«dS©Nz@ import fu try: fu except: pass r`rHs rÚtest_usedInTryzTest.test_usedInTry2r”rcó0—| d¦«dSrÌr`rHs rÚtest_usedInExceptzTest.test_usedInExcept9r”rcóz—tjg}| tj¦«|jdg|¢RŽdS)NzR import fu try: pass except Exception as fu: pass )rFr]ÚappendÚUnusedVariablerE)rÚexpecteds rÚtest_redefinedByExceptzTest.test_redefinedByExcept@sV€ÝÔ*Ð+ˆà�Š�Ô(Ñ)Ô)Ð)؈Œ ð ð ðð  ð ð ð ð ð rcó0—| d¦«dS)Nz0 import fu raise fu.bar r`rHs rÚtest_usedInRaisezTest.test_usedInRaiseJr rcó0—| d¦«dS)NzC import fu def gen(): yield fu r`rHs rÚtest_usedInYieldzTest.test_usedInYieldPr”rcóZ—| d¦«| d¦«dS)Nzimport fu; {fu:None}zimport fu; {1:fu}r`rHs rÚtest_usedInDictzTest.test_usedInDictWs.€Ø � Š Ð*Ñ+Ô+Ð+Ø � Š Ð'Ñ(Ô(Ð(Ð(Ð(rcó0—| d¦«dS)NzC import fu def f(bar=fu): pass r`rHs rÚtest_usedInParameterDefaultz Test.test_usedInParameterDefault[r”rcó0—| d¦«dS)Nzimport fu; fu.bar = 1r`rHs rÚtest_usedInAttributeAssignzTest.test_usedInAttributeAssignbó€Ø � Š Ð+Ñ,Ô,Ð,Ð,Ð,rcó0—| d¦«dS)Nzimport fu; fu.bar(stuff=fu)r`rHs rÚtest_usedInKeywordArgzTest.test_usedInKeywordArges€Ø � Š Ð1Ñ2Ô2Ð2Ð2Ð2rcóZ—| d¦«| d¦«dS)Nzimport fu; bar=fuzimport fu; n=0; n+=fur`rHs rÚtest_usedInAssignmentzTest.test_usedInAssignmenths.€Ø � Š Ð'Ñ(Ô(Ð(Ø � Š Ð+Ñ,Ô,Ð,Ð,Ð,rcóZ—| d¦«| d¦«dS)Nz!import fu; [fu for _ in range(1)]z&import fu; [1 for _ in range(1) if fu]r`rHs rÚtest_usedInListCompzTest.test_usedInListCompls.€Ø � Š Ð7Ñ8Ô8Ð8Ø � Š Ð<Ñ=Ô=Ð=Ð=Ð=rcóZ—| d¦«| d¦«dS)NzA import fu try: pass finally: fu zA import fu try: fu finally: pass r`rHs rÚtest_usedInTryFinallyzTest.test_usedInTryFinallypsD€Ø � Š ð ñ ô ð ð � Š ð ñ ô ð ð ð rcóZ—| d¦«| d¦«dS)Nz; import fu while 0: fu z2 import fu while fu: pass r`rHs rÚtest_usedInWhilezTest.test_usedInWhile}sD€Ø � Š ð ñ ô ð ð � Š ð ñ ô ð ð ð rcóF—| dtj¦«dS)zt A 'global' statement shadowing an unused import should not prevent it from being reported. z6 import fu def f(): global fu NrDrHs rÚtest_usedInGlobalzTest.test_usedInGlobal‰s0€ð � Š ð õŒ^ñ ô ð ð ð rcó0—| d¦«dS)zt A 'global' statement shadowing a used import should not cause it to be reported as unused. zc import foo def f(): global foo def g(): foo.is_used() Nr`rHs rÚtest_usedAndGlobalzTest.test_usedAndGlobal“r‹rcó0—| d¦«dS)zn Binding an import to a declared global should not cause it to be reported as unused. zX def f(): global foo; import foo def g(): foo.is_used() Nr`rHs rÚtest_assignedToGlobalzTest.test_assignedToGlobalžs)€ð � Š ð ñ ô ð ð ð rcó:—d}| d|z¦«dS)Nzexec("print(1)", fu.bar)z import fu; %sr`)rÚ exec_stmts rÚtest_usedInExeczTest.test_usedInExec¨s$€Ø.ˆ Ø � Š �O iÑ/Ñ0Ô0Ð0Ð0Ð0rcó0—| d¦«dS)Nzimport fu; lambda: fur`rHs rÚtest_usedInLambdazTest.test_usedInLambda¬rßrcó†—| dtjtj¦«| d¦«dS)Nzimport fu; lambda fu: fuzimport fu; lambda fu: fu fu()r–rHs rÚtest_shadowedByLambdazTest.test_shadowedByLambda¯s>€Ø � Š Ð.Ý”N¥AÔ$:ñ <ô <ð <à � Š Ð4Ñ5Ô5Ð5Ð5Ð5rcó0—| d¦«dS)Nzimport fu; "meow"[::fu]r`rHs rÚtest_usedInSliceObjzTest.test_usedInSliceObj´s€Ø � Š Ð-Ñ.Ô.Ð.Ð.Ð.rcó\—| dtjtj¦«dS)Nz= def bar(): import fu fu )rErFrGr�rHs rÚtest_unusedInNestedScopezTest.test_unusedInNestedScope·s2€Ø � Š ð õŒ^�Qœ_ñ  .ô .ð .ð .ð .rcóF—| dtj¦«dS)Nz` class bar: import fu def fun(self): fu r�rHs rÚtest_methodsDontUseClassScopez"Test.test_methodsDontUseClassScope¾s.€Ø � Š ð õ Œ_ñ  ô ð ð ð rcó0—| d¦«dS)NzX def a(): def b(): fu import fu r`rHs rÚtest_nestedFunctionsNestScopez"Test.test_nestedFunctionsNestScopeÆr¯rcó0—| d¦«dS)Nz€ def a(): import fu class b: def c(self): print(fu) r`rHs rÚ test_nestedClassAndFunctionScopez%Test.test_nestedClassAndFunctionScopeÎr´rcó—| dtjtj¦«| dtjtj¦«| dtjtj¦«}|jd}|j d¦«sJ‚|jdksJ‚|jd}|jdksJ‚|jdksJ‚d S) z,Use of import * at module level is reported.zfrom fu import *zT try: from fu import * except: pass rú 'from %s import *' used; unable )ÚfuérS)zfu.*N©rErFÚImportStarUsedrGrrUÚ startswithrVrWs rÚtest_importStarzTest.test_importStar×sä€à � Š Ð&­Ô(8½!¼.ÑIÔIÐIØ � Š ð õ Ô �qœ~ñ  /ô /ð /ð—+’+Ð0ÝÔ.µ´ñ@ô@ˆðÔ  Ô#ˆØŒ}×'Ò'Ð(JÑKÔKÐKÐKÐKØÔ! XÒ-Ð-Ð-Ð-àÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ! ZÒ/Ð/Ð/Ð/Ð/Ð/rcóÒ—| dtjtj¦«| dtjtj¦«| dtjtj¦«}|jd}|j d¦«sJ‚|jdksJ‚|jd}|jdksJ‚|jdksJ‚| d tjtj¦«}|jd}|j d¦«sJ‚|jd ksJ‚|jd}|jdksJ‚|jd ksJ‚d S) z3Use of import * from a relative import is reported.zfrom .fu import *zU try: from .fu import * except: pass rrrTrrS)z.fu.*úfrom .. import *©r()r NrrWs rÚtest_importStar_relativezTest.test_importStar_relativeìs|€à � Š Ð'­Ô)9½1¼>ÑJÔJÐJØ � Š ð õ Ô �qœ~ñ  /ô /ð /ð—+’+Ð1ÝÔ.µ´ñ@ô@ˆðÔ  Ô#ˆØŒ}×'Ò'Ð(JÑKÔKÐKÐKÐKØÔ! YÒ.Ð.Ð.Ð.àÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ! [Ò0Ð0Ð0Ð0à—+’+Ð0ÝÔ.µ´ñ@ô@ˆðÔ  Ô#ˆØŒ}×'Ò'Ð(JÑKÔKÐKÐKÐKØÔ! XÒ-Ð-Ð-Ð-àÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ!Ð%;Ò;Ð;Ð;Ð;Ð;Ð;rcó—| dtj¦«| dtj¦«| dtj¦«}|jd}|jdksJ‚|jdksJ‚dS)z)import * is only allowed at module level.z7 def a(): from fu import * z7 class a: from fu import * z7 class a: from .. import * rz/'from %s import *' only allowed at module levelr N)rErFÚImportStarNotPermittedrrUrVrWs rÚtest_localImportStarzTest.test_localImportStar s©€à � Š ð õÔ %ñ 'ô 'ð 'ð � Š ð õÔ %ñ 'ô 'ð 'ð —+’+ð õÔ %ñ'ô'ˆðÔ  Ô#ˆØŒ}Ð QÒQÐQÐQÐQØÔ! XÒ-Ð-Ð-Ð-Ð-Ð-rcó0—| d¦«dS)zP If a dotted name is imported and used, no warning is reported. z. import fu.bar fu.bar Nr`rHs rÚtest_packageImportzTest.test_packageImports)€ð � Š ð ñ ô ð ð ð rcóF—| dtj¦«dS)zj If a dotted name is imported and not used, an unused import warning is reported. z import fu.barNrDrHs rÚtest_unusedPackageImportzTest.test_unusedPackageImport(s €ð � Š �O¥Q¤^Ñ4Ô4Ð4Ð4Ð4rcó†—| dtj¦«| dtj¦«dS)z” If a submodule of a package is imported twice, an unused import warning and a redefined while unused warning are reported. z6 import fu.bar, fu.bar fu.bar zD import fu.bar import fu.bar fu.bar NrgrHs rÚtest_duplicateSubmoduleImportz"Test.test_duplicateSubmoduleImport/sV€ð � Š ð õÔ #ñ %ô %ð %ð � Š ð õÔ #ñ  %ô %ð %ð %ð %rcóZ—| d¦«| d¦«dS)z‰ If two different submodules of a package are imported, no duplicate import warning is reported for the package. z> import fu.bar, fu.baz fu.bar, fu.baz zL import fu.bar import fu.baz fu.bar, fu.baz Nr`rHs rÚtest_differentSubmoduleImportz"Test.test_differentSubmoduleImport>sF€ð � Š ð ñ ô ð ð � Š ð ñ ô ð ð ð rcóZ—| d¦«| d¦«dS)zC Usage of package marks submodule imports as used. z> import fu import fu.bar fu.x z> import fu.bar import fu fu.x Nr`rHs rÚ'test_used_package_with_submodule_importz,Test.test_used_package_with_submodule_importMóF€ð � Š ð ñ ô ð ð � Š ð ñ ô ð ð ð rcóZ—| d¦«| d¦«dS)zL Usage of package by alias marks submodule imports as used. zU import foo as f import foo.bar f.bar.do_something() z_ import foo as f import foo.bar.blah f.bar.blah.do_something() Nr`rHs rÚ0test_used_package_with_submodule_import_of_aliasz5Test.test_used_package_with_submodule_import_of_alias]rrcó—| dtj¦«}|jd}|jdksJ‚|jdksJ‚|jr |jdksndSJ‚dS)zR When a package and its submodule are imported, only report once. z1 import fu import fu.bar rrS)zfu.barééN)rErFrGrrUrVÚ withDoctestÚlinenorWs rÚ)test_unused_package_with_submodule_importz.Test.test_unused_package_with_submodule_importms„€ð—+’+ð õŒ^ñôˆðÔ  Ô#ˆØŒ}Ð 8Ò8Ð8Ð8Ð8ØÔ! \Ò1Ð1Ð1Ð1Ø$(Ô$4Ð;ˆuŒ|˜qÒ Ð Ð Ð Ð Ð Ð;Ð Ð rcó®—| d¦«| d¦«| d¦«| d¦«dS)Nzimport fu; fu = fuzimport fu; fu, bar = fuzimport fu; [fu, bar] = fuzimport fu; fu += fur`rHs rÚtest_assignRHSFirstzTest.test_assignRHSFirstzsT€Ø � Š Ð(Ñ)Ô)Ð)Ø � Š Ð-Ñ.Ô.Ð.Ø � Š Ð/Ñ0Ô0Ð0Ø � Š Ð)Ñ*Ô*Ð*Ð*Ð*rcó0—| d¦«dS)Nzp try: import fu except ImportError: import bar as fu fu r`rHs rÚtest_tryingMultipleImportszTest.test_tryingMultipleImports€r´rcó0—| d¦«dS)Nz` import fu def a(): fu = 3 return fu fu r`rHs rÚtest_nonGlobalDoesNotRedefinez"Test.test_nonGlobalDoesNotRedefine‰r´rcó0—| d¦«dS)Nz; def a(): fu import fu r`rHs rÚtest_functionsRunLaterzTest.test_functionsRunLater’r”rcóF—| dtj¦«dS)NzG import fu def fu(): fu fu rgrHs rÚtest_functionNamesAreBoundNowz"Test.test_functionNamesAreBoundNow™s/€Ø � Š ð õ Ô #ñ  %ô %ð %ð %ð %rcó0—| d¦«dS)Nz a = 1; a = 2r`rHs rÚ!test_ignoreNonImportRedefinitionsz&Test.test_ignoreNonImportRedefinitions¡s€Ø � Š �NÑ#Ô#Ð#Ð#Ð#rÚtodocó0—| d¦«dS)NzY try: import fu except ImportError: pass r`rHs rÚtest_importingForImportErrorz!Test.test_importingForImportError¤ó'€à � Š ð ñ ô ð ð ð rcó0—| d¦«dS)z0Imports in class scope can be used through self.zf class c: import i def __init__(self): self.i Nr`rHs rÚtest_importedInClasszTest.test_importedInClass­r2rcó0—| d¦«dS)zW Method named 'foo' with default args referring to module named 'foo'. z€ import foo class Thing(object): def foo(self, parser=foo.parse_foo): pass Nr`rHs rÚ!test_importUsedInMethodDefinitionz&Test.test_importUsedInMethodDefinition¶s)€ð � Š ð ñ ô ð ð ð rcóZ—| d¦«| d¦«dS)z__future__ is special.zfrom __future__ import divisionze "docstring is allowed before future import" from __future__ import division Nr`rHs rÚtest_futureImportzTest.test_futureImportÂs:€à � Š Ð5Ñ6Ô6Ð6Ø � Š ð ñ ô ð ð ð rcó†—| dtj¦«| dtj¦«dS)zD __future__ imports must come before anything else. z? x = 5 from __future__ import division zY from foo import bar from __future__ import division bar N)rErFÚLateFutureImportrHs rÚtest_futureImportFirstzTest.test_futureImportFirstÊsV€ð � Š ð õÔ ñ !ô !ð !ð � Š ð õÔ ñ  !ô !ð !ð !ð !rcó0—| d¦«dS)z?__future__ is special, but names are injected in the namespace.zŽ from __future__ import division from __future__ import print_function assert print_function is not division Nr`rHs rÚtest_futureImportUsedzTest.test_futureImportUsedØr2rcóF—| dtj¦«dS)z0Importing undefined names from __future__ fails.z8 from __future__ import print_statement N©rErFÚFutureFeatureNotDefinedrHs rÚtest_futureImportUndefinedzTest.test_futureImportUndefinedáó-€à � Š ð å Ô &ñ (ô (ð (ð (ð (rcóF—| dtj¦«dS)z$Importing '*' from __future__ fails.z* from __future__ import * Nr?rHs rÚtest_futureImportStarzTest.test_futureImportStarçrBrN)frJrKrLrQrZr^rarcrerhrjrlrnrprrrtrvrxrzr|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þrrr rrrrrrrr"r$r&r(r*r,r.r r1r4r6r8r;r=rArDrMrrrOrOgs퀀€€€ðOðOðOð6ð6ð6ð.<ð<ð<ð /ð/ð/ð )ð)ð)ð ?ð?ð?ð HðHðHð ,ð ,ð ,ð ð ð ð ,ð ,ð ,ð ð ð ð ð ð ð  ð  ð  ð %ð %ð %ð  ð  ð  ð  ð  ð  ð  ð  ð  ð%ð%ð%ð 5ð 5ð 5ð4ð4ð4ð  ð ð ð$%ð%ð%ð  ð  ð  ð  ð  ð  ðððð  ð ð ð  ð  ð  ð!ð!ð!ð?ð?ð?ð4ð4ð4ð ð ð ð  ð ð ð  ð ð ð ð ð ð+ð+ð+ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð(ð(ð(ð (ð (ð (ð(ð(ð(ð& ð ð ð.ð.ð.ð"0ð0ð0ð,ð,ð,ð-ð-ð-ð 'ð'ð'ð(ð(ð(ð ð ð ð ð ð ðððð ð ð ð  ð ð ð)ð)ð)ð ð ð ð-ð-ð-ð3ð3ð3ð-ð-ð-ð>ð>ð>ð  ð  ð  ð  ð  ð  ðððð  ð  ð  ð ð ð ð1ð1ð1ð-ð-ð-ð6ð6ð6ð /ð/ð/ð.ð.ð.ðððð ð ð ð ð ð ð0ð0ð0ð*<ð<ð<ð@.ð.ð.ð& ð ð ð5ð5ð5ð %ð %ð %ð  ð  ð  ð ð ð ð  ð ð ð <ð <ð <ð+ð+ð+ð  ð ð ð ð ð ð ð ð ð%ð%ð%ð$ð$ð$ð €Tˆ&�\„\ð ð ñ„\ð ð ð ð ð  ð  ð  ð ð ð ð !ð !ð !ð ð ð ð(ð(ð(ð (ð(ð(ð(ð(rrOcó~—eZdZdZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZdS)ÚTestSpecialAllzH Tests for suppression of unused import warnings by C{__all__}. có\—| dtjtj¦«dS)zp An C{__all__} definition does not suppress unused import warnings in a function scope. zQ def foo(): import bar __all__ = ["bar"] N)rErFrGrÒrHs rÚtest_ignoredInFunctionz%TestSpecialAll.test_ignoredInFunctionòs5€ð � Š ð õŒ^�QÔ-ñ  /ô /ð /ð /ð /rcóF—| dtj¦«dS)z_ An C{__all__} definition in a class does not suppress unused import warnings. zM import bar class foo: __all__ = ["bar"] NrDrHs rÚtest_ignoredInClassz"TestSpecialAll.test_ignoredInClassýs0€ð � Š ð õŒ^ñ  ô ð ð ð rcóF—| dtj¦«dS)Nz: import bar (__all__,) = ("foo",) rDrHs rÚ'test_ignored_when_not_directly_assignedz6TestSpecialAll.test_ignored_when_not_directly_assigneds.€Ø � Š ð õŒ^ñ ô ð ð ð rcóZ—| d¦«| d¦«dS)zn If a name is imported and unused but is named in C{__all__}, no warning is reported. z6 import foo __all__ = ["foo"] z7 import foo __all__ = ("foo",) Nr`rHs rÚtest_warningSuppressedz%TestSpecialAll.test_warningSuppressed sF€ð � Š ð ñ ô ð ð � Š ð ñ ô ð ð ð rcó\—| dtjtj¦«dS)zC The C{__all__} variable is defined incrementally. z� import a import c __all__ = ['a'] __all__ += ['b'] if 1 < 3: __all__ += ['c', 'd'] N©rErFÚUndefinedExportrHs rÚtest_augmentedAssignmentz'TestSpecialAll.test_augmentedAssignments6€ð � Š ð õÔ ¥Ô 1ñ 3ô 3ð 3ð 3ð 3rcóˆ—| dtjtjtjtj¦«dS)zP The C{__all__} variable is defined through list concatenation. zD import sys __all__ = ['a'] + ['b'] + ['c'] N©rErFrQrGrHs rÚ"test_list_concatenation_assignmentz1TestSpecialAll.test_list_concatenation_assignment(óD€ð � Š ð õÔ ¥Ô 1µ1Ô3DÅaÄnñ Vô Vð Vð Vð Vrcóˆ—| dtjtjtjtj¦«dS)zQ The C{__all__} variable is defined through tuple concatenation. zG import sys __all__ = ('a',) + ('b',) + ('c',) NrTrHs rÚ#test_tuple_concatenation_assignmentz2TestSpecialAll.test_tuple_concatenation_assignment1rVrcó0—| d¦«dS)NzF from foo import bar __all__ = [bar.__name__] r`rHs rÚtest_all_with_attributesz'TestSpecialAll.test_all_with_attributes:r rcó0—| d¦«dS)Nz= from foo import bar __all__ = [bar] r`rHs rÚtest_all_with_namesz"TestSpecialAll.test_all_with_names@s'€à � Š ð ñ ô ð ð ð rcó0—| d¦«dS)Nzs from foo import bar from bar import baz __all__ = [bar.__name__] + [baz.__name__] r`rHs rÚtest_all_with_attributes_addedz-TestSpecialAll.test_all_with_attributes_addedGr”rcó0—| d¦«dS)Nzi from foo import bar from foo import baz __all__ = ['bar', baz.__name__] r`rHs rÚ%test_all_mixed_attributes_and_stringsz4TestSpecialAll.test_all_mixed_attributes_and_stringsNr”rcó~—| dtj¦«dD]}| d|¬¦«ŒdS)zY If C{__all__} includes a name which is not bound, a warning is emitted. z# __all__ = ["foo"] )zfoo/__init__.pyz __init__.pyz+ __all__ = ["foo"] )ÚfilenameNrP)rrbs rÚtest_unboundExportedz#TestSpecialAll.test_unboundExportedUsh€ð � Š ð å Ô ñ ô ð ð ;ð $ð $ˆHØ �KŠKðà"ð ñ $ô $ð $ð $ð $ð $rcóˆ—| dtjtjtjtj¦«dS)z6 Report undefined if import * is used zT from math import * __all__ = ['sin', 'cos'] csc(1) N)rErFrÚImportStarUsagerHs rÚtest_importStarExportedz&TestSpecialAll.test_importStarExporteddsE€ð � Š ð õÔ �qÔ0µ!Ô2CÅQÔEVñ  Xô Xð Xð Xð Xrcó\—| dtjtj¦«dS)z8Report unused import when not needed to satisfy __all__.zL from foolib import * a = 1 __all__ = ['a'] N)rErFrrGrHs rÚtest_importStarNotExportedz)TestSpecialAll.test_importStarNotExportedns3€à � Š ð õÔ �qœ~ñ  /ô /ð /ð /ð /rcóZ—| d¦«| d¦«dS)zR Using a global in a generator expression results in no warnings. z!import fu; (fu for _ in range(1))z&import fu; (1 for _ in range(1) if fu)Nr`rHs rÚtest_usedInGenExpz TestSpecialAll.test_usedInGenExpvs0€ð � Š Ð7Ñ8Ô8Ð8Ø � Š Ð<Ñ=Ô=Ð=Ð=Ð=rcó\—| dtjtj¦«dS)zƒ Re-using a global name as the loop variable for a generator expression results in a redefinition warning. z!import fu; (1 for fu in range(1))Nr\rHs rÚtest_redefinedByGenExpz%TestSpecialAll.test_redefinedByGenExp}s1€ð � Š Ð7ÝÔ*­A¬Nñ <ô <ð <ð <ð ð>ð>ð<ð<ð<ðððð4ððððrrFN)ÚpyflakesrrFÚpyflakes.checkerrrrrrÚpyflakes.test.harnessr r r rOrFrMrrúrvsðØ"Ð"Ð"Ð"Ð"Ð"ððððððððððððððð1Ð0Ð0Ð0Ð0Ð0Ð0Ð0ðX6ðX6ðX6ðX6ðX6˜HñX6ôX6ðX6ðvD(ðD(ðD(ðD(ðD(ˆ8ñD(ôD(ðD(ðNIðIðIðIðI�XñIôIðIðIðIr