Ë F#ÑlìÌiãóf—dZddlmZmZddlZddlmZddlm Z ddl Z ddl Z ddl Z Gd„de«Zy)a/ Complete implementation of the XDG Desktop Entry Specification http://standards.freedesktop.org/desktop-entry-spec/ Not supported: - Encoding: Legacy Mixed - Does not check exec parameters - Does not check URL's - Does not completly validate deprecated/kde items - Does not completly check categories é)ÚIniFileÚis_asciiN)Ú ParsingError)Úwhichcó`—eZdZdZdZd;d„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/„Z0d0„Z1d1„Z2d2„Z3d3„Z4d4„Z5d5„Z6d6„Z7d7„Z8d8„Z9d9„Z:d:„Z;y)<Ú DesktopEntryz+Class to parse and validate Desktop Entriesú Desktop EntryNcó°—t«|_|r1tjj |«r|j |«y|r|j |«yy)z¼Create a new DesktopEntry. If filename exists, it will be parsed as a desktop entry file. If not, or if filename is None, a blank DesktopEntry is created. N)ÚdictÚcontentÚosÚpathÚexistsÚparseÚnew)ÚselfÚfilenames ú5/usr/lib/python3.12/site-packages/xdg/DesktopEntry.pyÚ__init__zDesktopEntry.__init__s?€ô “vˆŒ Ù œŸ™Ÿ™ xÔ0Ø �J‰J�xÕ Ù Ø �H‰H�XÕ ðócó"—|j«S©N)ÚgetName©rs rÚ__str__zDesktopEntry.__str__&s€Ø�|‰|‹~Ðrcó6—tj||ddg«y)z×Parse a desktop entry file. This can raise :class:`~xdg.Exceptions.ParsingError`, :class:`~xdg.Exceptions.DuplicateGroupError` or :class:`~xdg.Exceptions.DuplicateKeyError`. r úKDE Desktop EntryN)rr)rÚfiles rrzDesktopEntry.parse)s€ô � ‰ �d˜D ?Ð4GÐ"HÕIrcó>—|jdd¬«}t|«S)zíLooks in the PATH for the executable given in the TryExec field. Returns the full path to the executable if it is found, None if not. Raises :class:`~xdg.Exceptions.NoKeyError` if TryExec is not present. ÚTryExecT)Ústrict)Úgetr)rÚtryexecs rÚ findTryExeczDesktopEntry.findTryExec2s €ð —(‘(˜9¨T�(Ó2ˆÜ�W‹~Ðrcó$—|jd«S)NÚType©r"rs rÚgetTypezDesktopEntry.getType<ó€Ø�x‰x˜ÓÐrcó(—|jdd¬«S)z)deprecated, use getVersionString instead ÚVersionÚnumeric©Útyper'rs rÚ getVersionzDesktopEntry.getVersion>s€à�x‰x˜ ¨ ˆxÓ2Ð2rcó$—|jd«S)Nr+r'rs rÚgetVersionStringzDesktopEntry.getVersionStringAó€Ø�x‰x˜ Ó"Ð"rcó(—|jdd¬«S)NÚNameT©Úlocaler'rs rrzDesktopEntry.getNameCó€Ø�x‰x˜ tˆxÓ,Ð,rcó(—|jdd¬«S)NÚ GenericNameTr5r'rs rÚgetGenericNamezDesktopEntry.getGenericNameEó€Ø�x‰x˜ ¨dˆxÓ3Ð3rcó(—|jdd¬«S)NÚ NoDisplayÚbooleanr-r'rs rÚ getNoDisplayzDesktopEntry.getNoDisplayGs€Ø�x‰x˜ ¨)ˆxÓ4Ð4rcó(—|jdd¬«S)NÚCommentTr5r'rs rÚ getCommentzDesktopEntry.getCommentIs€Ø�x‰x˜ ¨$ˆxÓ/Ð/rcó(—|jdd¬«S)NÚIconTr5r'rs rÚgetIconzDesktopEntry.getIconKr7rcó(—|jdd¬«S)NÚHiddenr>r-r'rs rÚ getHiddenzDesktopEntry.getHiddenMs€Ø�x‰x˜ yˆxÓ1Ð1rcó(—|jdd¬«S)NÚ OnlyShowInT©Úlistr'rs rÚ getOnlyShowInzDesktopEntry.getOnlyShowInOó€Ø�x‰x˜ ¨4ˆxÓ0Ð0rcó(—|jdd¬«S)NÚ NotShowInTrKr'rs rÚ getNotShowInzDesktopEntry.getNotShowInQó€Ø�x‰x˜ ¨$ˆxÓ/Ð/rcó$—|jd«S)Nr r'rs rÚ getTryExeczDesktopEntry.getTryExecSr2rcó$—|jd«S)NÚExecr'rs rÚgetExeczDesktopEntry.getExecUr)rcó$—|jd«S)NÚPathr'rs rÚgetPathzDesktopEntry.getPathWr)rcó(—|jdd¬«S)NÚTerminalr>r-r'rs rÚ getTerminalzDesktopEntry.getTerminalYó€Ø�x‰x˜ ¨ˆxÓ3Ð3rcó*—|jddd¬«S)z%deprecated, use getMimeTypes instead ÚMimeTypeTÚregex)rLr.r'rs rÚ getMimeTypezDesktopEntry.getMimeType[s€à�x‰x˜ ¨°GˆxÓ<Ðr-r'rs rÚgetStartupNotifyzDesktopEntry.getStartupNotifybs€Ø�x‰x˜¨iˆxÓ8Ð8rcó$—|jd«S)NÚStartupWMClassr'rs rÚgetStartupWMClasszDesktopEntry.getStartupWMClassds€Ø�x‰xÐ(Ó)Ð)rcó$—|jd«S)NÚURLr'rs rÚgetURLzDesktopEntry.getURLfó€Ø�x‰x˜‹Ðrcó(—|jdd¬«S)NÚ ServiceTypesTrKr'rs rÚgetServiceTypeszDesktopEntry.getServiceTypesks€Ø�x‰x˜¨TˆxÓ2Ð2rcó$—|jd«S)NÚDocPathr'rs rÚ getDocPathzDesktopEntry.getDocPathmr2rcó*—|jddd¬«S)NÚKeywordsT)rLr6r'rs rÚ getKeywordszDesktopEntry.getKeywordsos€Ø�x‰x˜ ¨°dˆxÓ;Ð;rcó$—|jd«S)NÚInitialPreferencer'rs rÚgetInitialPreferencez!DesktopEntry.getInitialPreferenceqs€Ø�x‰xÐ+Ó,Ð,rcó$—|jd«S)NÚDevr'rs rÚgetDevzDesktopEntry.getDevsrqrcó$—|jd«S)NÚFSTyper'rs rÚ getFSTypezDesktopEntry.getFSTypeus€Ø�x‰x˜Ó!Ð!rcó$—|jd«S)NÚ MountPointr'rs rÚ getMountPointzDesktopEntry.getMountPointwó€Ø�x‰x˜ Ó%Ð%rcó(—|jdd¬«S)NÚReadOnlyr>r-r'rs rÚ getReadonlyzDesktopEntry.getReadonlyyr^rcó(—|jdd¬«S)NÚ UnmountIconTr5r'rs rÚgetUnmountIconzDesktopEntry.getUnmountIcon{r;rcó(—|jdd¬«S)NÚMiniIconTr5r'rs rÚ getMiniIconzDesktopEntry.getMiniIcon€s€Ø�x‰x˜ ¨4ˆxÓ0Ð0rcó$—|jd«S)NÚTerminalOptionsr'rs rÚgetTerminalOptionszDesktopEntry.getTerminalOptions‚s€Ø�x‰xÐ)Ó*Ð*rcó$—|jd«S)NÚ DefaultAppr'rs rÚ getDefaultAppzDesktopEntry.getDefaultApp„r‡rcó(—|jdd¬«S)NÚ ProtocolsTrKr'rs rÚ getProtocolszDesktopEntry.getProtocols†rRrcó(—|jdd¬«S)NÚ ExtensionsTrKr'rs rÚ getExtensionszDesktopEntry.getExtensionsˆrNrcó$—|jd«S)NÚ BinaryPatternr'rs rÚgetBinaryPatternzDesktopEntry.getBinaryPatternŠs€Ø�x‰x˜Ó(Ð(rcó$—|jd«S)NÚ MapNotifyr'rs rÚ getMapNotifyzDesktopEntry.getMapNotifyŒs€Ø�x‰x˜ Ó$Ð$rcó$—|jd«S)NÚEncodingr'rs rÚ getEncodingzDesktopEntry.getEncodingŽs€Ø�x‰x˜ Ó#Ð#rcó(—|jdd¬«S)NÚ SwallowTitleTr5r'rs rÚgetSwallowTitlezDesktopEntry.getSwallowTitle�s€Ø�x‰x˜¨tˆxÓ4Ð4rcó$—|jd«S)NÚ SwallowExecr'rs rÚgetSwallowExeczDesktopEntry.getSwallowExec’s€Ø�x‰x˜ Ó&Ð&rcó(—|jdd¬«S)NÚ SortOrderTrKr'rs rÚ getSortOrderzDesktopEntry.getSortOrder”rRrcó(—|jdd¬«S)NÚ FilePatternrar-r'rs rÚgetFilePatternzDesktopEntry.getFilePattern–s€Ø�x‰x˜ ¨GˆxÓ4Ð4rcó(—|jdd¬«S)NÚActionsTrKr'rs rÚ getActionszDesktopEntry.getActions˜s€Ø�x‰x˜ ¨ˆxÓ-Ð-rcóB—tjj|«ddk(rd}n4tjj|«ddk(rd}n td|«‚t «|_|j |j«|jd|«||_ y) a$Make this instance into a new, blank desktop entry. If filename has a .desktop extension, Type is set to Application. If it has a .directory extension, Type is Directory. Other extensions will cause :class:`~xdg.Exceptions.ParsingError` to be raised. éú.desktopÚ Applicationú .directoryÚ DirectoryzUnknown extensionr&N) r rÚsplitextrr r ÚaddGroupÚ defaultGroupÚsetr)rrr.s rrzDesktopEntry.new�s„€ô �7‰7× Ñ ˜HÓ % aÑ (¨JÒ 6Ø ‰DÜ �W‰W× Ñ ˜hÓ '¨Ñ *¨lÒ :؉DäÐ2°HÓ=Ð =ä“vˆŒ Ø � ‰ �d×'Ñ'Ô(Ø �‰�˜ÔØ ˆ� rcóP—|jdk(r|jjd«|jdk(r|jjd«n9|jdk7r*|jdk7r|jjd« |j|jd|_ |j|jd |_y#t $r|jjd «YŒIwxYw#t $r|jjd «YywxYw) Nrz([KDE Desktop Entry]-Header is deprecatedz.kdelnkz$File extension .kdelnk is deprecatedr·r¹zUnknown File extensionr&zKey 'Type' is missingr4zKey 'Name' is missing) r½ÚwarningsÚappendÚ fileExtensionr r.ÚKeyErrorÚerrorsÚnamers rÚ checkExtraszDesktopEntry.checkExtras²sü€à × Ñ Ð 3Ò 3Ø �M‰M× Ñ Ð!KÔ Lð × Ñ  Ò *Ø �M‰M× Ñ Ð!GÕ HØ × Ñ  :Ò -°$×2DÑ2DÈ Ò2TØ �M‰M× Ñ Ð!9Ô :ð 8ØŸ ™  T×%6Ñ%6Ñ7¸Ñ?ˆDŒIð  8ØŸ ™  T×%6Ñ%6Ñ7¸Ñ?ˆD�Iøô ò 8Ø �K‰K× Ñ Ð6Ö 7ð 8ûô ò 8Ø �K‰K× Ñ Ð6Ö 7ð 8ús$Â!CÂ2!C>Ã$C;Ã:C;Ã>$D%Ä$D%cóL—||jk(sVtjd|«s@tjd|«r t|«s|jj d|z«yd|j |vr.d|j |vr|jj d«yyy)Nz^Desktop Action [a-zA-Z0-9-]+$z^X-zInvalid Group name: %srJrPz;Group may either have OnlyShowIn or NotShowIn, but not both)r½ÚreÚmatchrrÄrÁr )rÚgroups rÚ checkGroupzDesktopEntry.checkGroupÉs‹€à˜×*Ñ*Ò*Ü �8‰8Ð4°eÔ <Ü �H‰H�U˜EÔ "¤x°¤Ø �K‰K× Ñ Ð7¸%Ñ?Õ @ð § ¡ ¨UÑ 3Ñ3¸+ÈÏÉÐV[ÑI\Ñ:\Ø— ‘ ×"Ñ"Ð#`Õað;]Ð3rcóV—|dk(�rC|dk(s |dk(s|dk(r|jjd|z«nN|dk(r|jjd«n-|dk(s(|d k(s#|d k(s|jjd |z«|jd k(r$|d k(s|jjd |z«n/|jdk(r |d k(r|jjd«|dk(r,d|j|vr|jjd«|d k(r.d|j|vr|jjd«yyy|dk(r|j ||«yt jdtjjzdz|«ryt jdtjjzdz|«ry|dk(r|j ||d¬«yt jdtjjzdz|«ryt jdtjjzdz|«r|j ||«y|dk(r|j ||d¬«y|dk(r&|j ||d¬ «|j|«y|d!k(r&|j ||d¬ «|j|«y|d"k(r%|j ||«|j|d«y|dk(r%|j ||«|j|d«y|d#k(r%|j ||«|j|d«y|d$k(r'|j ||d¬«|j|d«y|d%k(r'|j ||d¬ «|j|d«y|dk(r'|j ||d¬ «|j|d«y|d&k(r6|j ||«|j|d«|j|«yt jd'tjjzdz|«r(|j ||d(d¬)«|j|d«y|d*k(r'|j ||d¬«|j|d«y|d+k(r|j|d«y|dk(r%|j ||«|j|d«y|d,k(r3|j ||d¬ «|jjd-|z«y|d.k(r1|j ||«|jjd-|z«y|d/k(r3|j ||d0¬«|jjd-|z«y|d1k(rC|j ||«|j|d«|jjd-|z«y|d2k(rC|j ||«|j|d«|jjd-|z«y|d3k(rC|j ||«|j|d«|jjd-|z«y|d4k(rE|j ||d¬«|j|d«|jjd-|z«yt jd5tjjzdz|«rC|j ||«|j|d«|jjd-|z«y|d6k(r1|j ||«|jjd7|z«yt jd8tjjzdz|«r1|j ||«|jjd7|z«y|d9k(r1|j ||«|jjd7|z«y|d:k(r1|j ||«|jjd7|z«y|d;k(r3|j ||d¬ «|jjd7|z«y|dk(r1|j ||«|jjd7|z«yt jd?tjjzdz|«r|jjd7|z«y|d@k(r1|j ||«|jjd7|z«y|dAk(r4|j ||dBd¬)«|jjd7|z«y|dCk(r3|j ||d¬ «|jjd7|z«yt jdD|«ry|jjdE|z«y)FNr&Ú ServiceTypeÚServiceÚFSDevicezType=%s is a KDE extensionr`zType=MimeType is deprecatedr¸ÚLinkrºzGValue of key 'Type' must be Application, Link or Directory, but is '%s'r¹z.File extension is .directory, but Type is '%s'r·z>Files with Type=Directory should have the extension .directoryrVz!Type=Application needs 'Exec' keyrozType=Link needs 'URL' keyr+z^NameÚ$z ^GenericNamer=r>r-z^Commentz^IconrGrJTrKrPr rYr\r³rfz ^KeywordsÚ localestring)r.rLrirlrszKey '%s' is a KDE extensionrvr|r,rr‚r…r‰z ^UnmountIconr¤zKey '%s' is deprecatedz ^MiniIconr’r•r˜r›ržr¡z ^SwallowTitlerªr°rar­z^X-[a-zA-Z0-9-]+zInvalid key: %s)rÀrÁrÄrÂr Ú checkValuerÈrÉÚxdgÚLocaleraÚcheckOnlyShowInÚ checkTypeÚcheckCategories)rÚkeyÚvaluerÊs rÚcheckKeyzDesktopEntry.checkKeyÔs™€à �&‹=ؘ Ò%¨°)Ò);¸uÈ Ò?RØ— ‘ ×$Ñ$Ð%AÀCÑ%GÕHؘ*Ò$Ø— ‘ ×$Ñ$Ð%BÕCؘ}Ò,°¸²À5ÈKÒCWØ— ‘ ×"Ñ"Ð#lÐotÑ#tÔuà×!Ñ! \Ò1¸%À;Ò:NØ— ‘ ×$Ñ$Ð%UÐX]Ñ%]Õ^Ø×#Ñ# zÒ1°e¸{Ò6JØ— ‘ ×$Ñ$Ð%eÔfà˜ Ò%Ø §¡¨eÑ!4Ñ4Ø—M‘M×(Ñ(Ð)LÔMØ˜ŠØ § ¡ ¨UÑ 3Ñ3Ø—M‘M×(Ñ(Ð)DÕEð4ðð�IÒ Ø �O‰O˜C Õ 'ä �X‰X�gœcŸj™j×.Ñ.Ñ.¨sÑ2°CÔ 8Ø ä �X‰X�n¤S§Z¡Z×%5Ñ%5Ñ5°cÑ9¸3Ô ?Ø à �KÒ Ø �O‰O˜C ¨YˆOÕ 7ä �X‰X�j¤§¡×!1Ñ!1Ñ1°#Ñ5°sÔ ;Ø ä �X‰X�gœcŸj™j×.Ñ.Ñ.¨sÑ2°CÔ 8Ø �O‰O˜C Õ 'à �HŠ_Ø �O‰O˜C ¨YˆOÕ 7à �LÒ Ø �O‰O˜C ¨TˆOÔ 2Ø × Ñ  Õ 'à �KÒ Ø �O‰O˜C ¨TˆOÔ 2Ø × Ñ  Õ 'à �IÒ Ø �O‰O˜C Ô 'Ø �N‰N˜3  Õ .à �FŠ]Ø �O‰O˜C Ô 'Ø �N‰N˜3  Õ .à �FŠ]Ø �O‰O˜C Ô 'Ø �N‰N˜3  Õ .à �JÒ Ø �O‰O˜C ¨YˆOÔ 7Ø �N‰N˜3  Õ .à �IÒ Ø �O‰O˜C ¨TˆOÔ 2Ø �N‰N˜3  Õ .à �JÒ Ø �O‰O˜C ¨TˆOÔ 2Ø �N‰N˜3  Õ .à �LÒ Ø �O‰O˜C Ô 'Ø �N‰N˜3  Ô .Ø × Ñ  Õ 'ä �X‰X�k¤#§*¡*×"2Ñ"2Ñ2°3Ñ6¸Ô <Ø �O‰O˜C ¨^À$ˆOÔ GØ �N‰N˜3  Õ .à �OÒ #Ø �O‰O˜C ¨YˆOÔ 7Ø �N‰N˜3  Õ .à Ð$Ò $Ø �N‰N˜3  Õ .à �EŠ\Ø �O‰O˜C Ô 'Ø �N‰N˜3 Õ &ð�NÒ "Ø �O‰O˜C ¨TˆOÔ 2Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà �IÒ Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà Ð'Ò 'Ø �O‰O˜C ¨YˆOÔ 7Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà �EŠ\Ø �O‰O˜C Ô 'Ø �N‰N˜3  Ô +Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà �HŠ_Ø �O‰O˜C Ô 'Ø �N‰N˜3  Ô +Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà �LÒ Ø �O‰O˜C Ô 'Ø �N‰N˜3  Ô +Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eà �JÒ Ø �O‰O˜C ¨YˆOÔ 7Ø �N‰N˜3  Ô +Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eä �X‰X�n¤S§Z¡Z×%5Ñ%5Ñ5°cÑ9¸3Ô ?Ø �O‰O˜C Ô 'Ø �N‰N˜3  Ô +Ø �M‰M× Ñ Ð!>ÀÑ!DÕ Eð�JÒ Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @ä �X‰X�k¤#§*¡*×"2Ñ"2Ñ2°3Ñ6¸Ô <Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à Ð%Ò %Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �LÒ Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �KÒ Ø �O‰O˜C ¨TˆOÔ 2Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �LÒ Ø �O‰O˜C ¨TˆOÔ 2Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �OÒ #Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �KÒ Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @ä �X‰X�o¤c§j¡j×&6Ñ&6Ñ6°sÑ:¸CÔ @Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �MÒ !Ø �O‰O˜C Ô 'Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �MÒ !Ø �O‰O˜C ¨W¸4ˆOÔ @Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @à �KÒ Ø �O‰O˜C ¨TˆOÔ 2Ø �M‰M× Ñ Ð!9¸CÑ!?Õ @ô�X‰XÐ(¨#Ô .Ø ð �K‰K× Ñ Ð0°3Ñ6Õ 7rcón—|j«|k(s"|jjd|›d|›�«yy)NzKey 'z' only allowed in Type=)r(rÄrÁ)rrÙr.s rr×zDesktopEntry.checkType�s,€Ø�|‰|‹~ Ò%Ø �K‰K× Ò ÂSÉ$ÐOÕ Pð&rcó”—|j|«}gd¢}|D].}||vsŒ|dddk7sŒ|jjd|z«Œ0y)N) ÚGNOMEÚKDEÚLXDEÚMATEÚRazorÚROXÚTDEÚUnityÚXFCEÚOldréúX-z)'%s' is not a registered OnlyShowIn value)ÚgetListrÄrÁ)rrÚÚvaluesÚvalidÚitems rrÖzDesktopEntry.checkOnlyShowIn”sO€Ø—‘˜eÓ$ˆò ˆãˆDؘ5Ò  T¨!¨A Y°$Ó%6Ø— ‘ ×"Ñ"Ð#NÐQUÑ#UÕVñrcó‡—|j|«}gd¢Štˆfd„|D««s|jjd«gd¢}|‰z}|D]7}||vsŒ|j d«rŒ|jjd|z«Œ9y)N) Ú AudioVideoÚAudioÚVideoÚ DevelopmentÚ EducationÚGameÚGraphicsÚNetworkÚOfficeÚScienceÚSettingsÚSystemÚUtilityc3ó&•K—|]}|‰v–—Œ y­wr©)Ú.0ríÚmains €rÚ z/DesktopEntry.checkCategories.. søèø€Ð3©F D�4˜4”<©FùsƒzMissing main category)~ÚBuildingÚDebuggerÚIDEÚ GUIDesignerÚ ProfilingÚRevisionControlÚ TranslationÚCalendarÚContactManagementÚDatabaseÚ DictionaryÚChartÚEmailÚFinanceÚ FlowChartÚPDAÚProjectManagementÚ PresentationÚ SpreadsheetÚ WordProcessorÚ 2DGraphicsÚVectorGraphicsÚRasterGraphicsÚ 3DGraphicsÚScanningÚOCRÚ PhotographyÚ PublishingÚViewerÚ TextToolsÚDesktopSettingsÚHardwareSettingsÚPrintingÚPackageManagerÚDialupÚInstantMessagingÚChatÚ IRCClientÚFeedÚ FileTransferÚHamRadioÚNewsÚP2PÚ RemoteAccessÚ TelephonyÚTelephonyToolsÚVideoConferenceÚ WebBrowserÚWebDevelopmentÚMidiÚMixerÚ SequencerÚTunerÚTVÚAudioVideoEditingÚPlayerÚRecorderÚ DiscBurningÚ ActionGameÚ AdventureGameÚ ArcadeGameÚ BoardGameÚ BlocksGameÚCardGameÚKidsGameÚ LogicGameÚ RolePlayingÚShooterÚ SimulationÚ SportsGameÚ StrategyGameÚArtÚ ConstructionÚMusicÚ LanguagesÚArtificialIntelligenceÚ AstronomyÚBiologyÚ ChemistryÚComputerScienceÚDataVisualizationÚEconomyÚ ElectricityÚ GeographyÚGeologyÚ GeoscienceÚHistoryÚ HumanitiesÚImageProcessingÚ LiteratureÚMapsÚMathÚNumericalAnalysisÚMedicalSoftwareÚPhysicsÚRoboticsÚ SpiritualityÚSportsÚParallelComputingÚ AmusementÚ ArchivingÚ CompressionÚ ElectronicsÚEmulatorÚ EngineeringÚ FileToolsÚ FileManagerÚTerminalEmulatorÚ FilesystemÚMonitorÚSecurityÚ AccessibilityÚ CalculatorÚClockÚ TextEditorÚ DocumentationÚAdultÚCorerßrÞræÚGTKÚQtÚMotifÚJavaÚ ConsoleOnlyréz!'%s' is not a registered Category)rêÚanyrÄrÁÚ startswith)rrÚrëÚ additionalÚ allcategoriesrírÿs @rrØzDesktopEntry.checkCategoriesœs�ø€Ø—‘˜eÓ$ˆòaˆÜÓ3©FÓ3Ô3Ø �K‰K× Ñ Ð6Ô 7òcˆ Ø" TÑ)ˆ ãˆDؘ=Ò(°·±ÀÕ1FØ— ‘ ×"Ñ"Ð#FÈÑ#MÕNñrcóX—tjdt«|j|«S)z`Deprecated alias for checkCategories - only exists for backwards compatibility. z1checkCategorie is deprecated, use checkCategories)rÀÚwarnÚDeprecationWarningrØ)rrÚs rÚcheckCategoriezDesktopEntry.checkCategorieªs(€ô � ‰ ÐIÜr�s/ðñ ÷*ÛÝ'ÝÛÛ Ûô[+�7õ[+r