Ñò £Tc@sRddkZddkZd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCs‚t|tiƒo |}nP|o|iƒ}nyt|ƒ}Wn%yti|ƒ}WqldSXnX|djodS|S(Niÿÿÿÿiÿÿ(t isinstancettypestIntTypetstriptinttsockett getservbyname(tporttid((s1/usr/share/system-config-firewall/fw_functions.pyt getPortIDs   cCs§t|tiƒo&t|ƒ}|djo|fSdS|idƒ}g}xtt|ƒddƒD]}tdi|| ƒƒ}di||ƒ}t|ƒdjo†t|ƒ}|djoi|djo\||jo|i||fƒq.||jo|i||fƒq.|i|fƒqkqg|djo,|i|fƒ|t|ƒjoPqkqgqgWt|ƒdjodSt|ƒdjodS|dS(Niiÿÿÿÿt-i( RRRR tsplittxrangetlentjointappendtNone(tportsRtsplitstmatchedtitid1tport2tid2((s1/usr/share/system-config-firewall/fw_functions.pyt getPortRange's8       cCs+ytit|ƒ|ƒ}WndSX|S(N(Rt getservbyportRR(Rtprototname((s1/usr/share/system-config-firewall/fw_functions.pytgetServiceNameHs cCsPyt|dƒ}WntSXx!|iƒD]}|i|ƒq+W|iƒtS(Ntr(topentFalset xreadlinestwritetclosetTrue(tfdtfilenamet source_fdtline((s1/usr/share/system-config-firewall/fw_functions.pytcatFileOs  cCs—|djo†|idƒ}t|ƒdjotSx\tt|ƒƒD]D}yt||ƒ}WntSX|djp |djotSqGWntS(Ntt.iiiÿ(R R RR RR#(tipRRtl((s1/usr/share/system-config-firewall/fw_functions.pytcheckIPYs  cCsh| pt|ƒdjotSx/dddddgD]}||jotSq6W|djotStS(Nit t/t!t:t*t+(R RR#(tifacetch((s1/usr/share/system-config-firewall/fw_functions.pytcheckInterfacegs   (RRR RRR(R-R6(((s1/usr/share/system-config-firewall/fw_functions.pyts   !