Alternative format for the configuration file

Free Ekanayaka free@agnula.org
Tue, 27 Jul 2004 12:17:20 +0200


--Multipart_Tue_Jul_27_12:17:20_2004-1
Content-Type: text/plain; charset=US-ASCII


Hi all,

I  know that  this  proposal  might sound   rather annoying as  you've
already written   the configuration parser,   so please  feel  free to
reject this idea.

As far as  I  noticed  most programs  using the   libapt-pkg interface
(native  or with  python  bindings),   use a   common format  for  the
configuration file.

I attach here three examples for apt-get, apt-ftparchive and katie.

I  feel that  such  format is  both   flexible and easy parsable  with
python. 

Looking at the code of utils.py at:

http://cvs.debian.org/dak/?cvsroot=dak

it seems that there is alread an apt-pkg function for this:

apt_pkg.init();

Cnf = apt_pkg.newConfiguration();
apt_pkg.ReadConfigFileISC(Cnf,default_config);

if which_conf_file() != default_config:
	apt_pkg.ReadConfigFileISC(Cnf,which_conf_file());

and some  very  easy   to fetch variable    values with  a  dictionary
approach,  like   Cnf["APT::Get::Arch-Only"]  to get   the  value from
apt-get.conf.

Maybe debpartial-mirror.conf could look like:

Defaults
{
        // Show debug information?
        //Debug "true";

        // Mirror destination directory
        MirrorDir "/var/cache/debpartial-mirror/";

        // Which architectures should I download?
        Architectures
        {
                i386;
        };
        Components
        {
                main;
        };
        Distributions
        {
                stable;
        };
        // What should I get?
        GetSuggests "true";
        GetRecommends "true";
        GetProvides "true";
}

RemoteBackend
{
        Sarge
        {
                Location "http://ftp.debian.org/debian";
                Distributions
                {
                          sarge;
                };
             	Components
              	{
                	  main;
                      	  contrib;
                       	  non-free;
              	};                
              	Architectures
                {
                	  source;
                          i386;
                       	  powerpc;
               	};
                Filters
                {
                        Section
                        {
                                base;
                                sound;
                        };
                        Priority
                        {
                                required;
                                important;
                        };
                };
                Include "/usr/share/debian-cd/tasks/base-sarge"
                Exclude "/usr/share/debian-cd/tasks/exclude-sarge"

        };
        Sid-Debian-Installer
        {
                Location "http://ftp.debian.org/debian";
                Distributions
                {
                          sid;
                };
             	Components
              	{
                	  main/debian-installer;
              	};                
              	Architectures
                {
                	  source;
               	};
                Include "/usr/share/debian-cd/tasks/debian-installer"
        };
        Local-Custom-Packages
        {
                Location "file:///var/lib/custom-packages";
                Distributions
                {
                          local;
                };
             	Components
              	{
                	  main;
              	};                
              	Architectures
                {
                	  i386;
               	};
                ResolveDepsUsing
                {
                        Sarge;
                        Sid-Debian-Installer;
                };
        };
};

MergeBackend
{
        My-Custom-Debian-Distro
        {
                Name "sarge-with-sids-installer-and-some-other-stuff";
                Backends
                {
                        Sarge;
                        Sid-Debian-Installer;
                        Local-Custom-Packages;

                };
        };
};

Cheers,

Free Ekanayaka

--Multipart_Tue_Jul_27_12:17:20_2004-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="apt-get.conf"
Content-Transfer-Encoding: base64

Ly8gJElkOiBjb25maWd1cmUtaW5kZXgsdiAxLjggMjAwMy8wNC8yNCAwMzozMjozMiBkb29n
aWUgRXhwICQKLyogVGhpcyBmaWxlIGlzIGFuIGluZGV4IG9mIGFsbCBBUFQgY29uZmlndXJh
dGlvbiBkaXJlY3RpdmVzLiBJdCBzaG91bGQKICAgTk9UIGFjdHVhbGx5IGJlIHVzZWQgYXMg
YSByZWFsIGNvbmZpZyBmaWxlLCB0aG91Z2ggaXQgaXMgYSBjb21wbGV0ZWx5CiAgIHZhbGlk
IGZpbGUuIE1vc3Qgb2YgdGhlIG9wdGlvbnMgaGF2ZSBzYW5lIGRlZmF1bHQgdmFsdWVzLCB1
bmxlc3MKICAgeW91IGhhdmUgc3BlY2lmaWMgbmVlZHMgeW91IHNob3VsZCBOT1QgaW5jbHVk
ZSBhcmJpdGFyeSBpdGVtcyBpbiBhIGN1c3RvbQogICBjb25maWd1cmF0aW9uLgogICAKICAg
SW4gc29tZSBpbnN0YW5jZXMgaW52b2x2aW5nIGZpbGVuYW1lcyBpdCBpcyBwb3NzaWJsZSB0
byBzZXQgdGhlIGRlZmF1bHQKICAgZGlyZWN0b3J5IHdoZW4gdGhlIHBhdGggaXMgZXZhbHVh
dGVkLiBUaGlzIG1lYW5zIHlvdSBjYW4gdXNlIHJlbGF0aXZlCiAgIHBhdGhzIHdpdGhpbiB0
aGUgc3ViIHNjb3BlLgogICAKICAgVGhlIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBhcmUg
c3BlY2lmaWVkIGluIGEgdHJlZSB3aXRoIHt9IGRlc2lnbmF0aW5nCiAgIGEgc3Vic2NvcGUg
cmVsYXRpdmUgdG8gdGhlIHRhZyBiZWZvcmUgdGhlIHt9LiBZb3UgY2FuIGZ1cnRoZXIgc3Bl
Y2lmeQogICBhIHN1YnNjb3BlIHVzaW5nIHNjb3BlIG5vdGF0aW9uIGVnLAogICAgIEFQVDo6
QXJjaGl0ZWN0dXJlICJpMzg2IjsKICAgVGhpcyBpcyBwcmVmaXhlZCB3aXRoIHRoZSBjdXJy
ZW50IHNjb3BlLiBTY29wZSBub3RhdGlvbiBtdXN0IGJlIHVzZWQKICAgaWYgYW4gb3B0aW9u
IGlzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lIHdpdGggLW8uCiovCgovLyBPcHRp
b25zIGZvciBBUFQgaW4gZ2VuZXJhbApBUFQgCnsKICBBcmNoaXRlY3R1cmUgImkzODYiOwog
IEJ1aWxkLUVzc2VudGlhbCAiYnVpbGQtZXNzZW50aWFsIjsKICAKICAvLyBPcHRpb25zIGZv
ciBhcHQtZ2V0CiAgR2V0IAogIHsKICAgICBBcmNoLU9ubHkgImZhbHNlIjsKICAgICBEb3du
bG9hZC1Pbmx5ICJmYWxzZSI7CiAgICAgU2ltdWxhdGUgImZhbHNlIjsKICAgICBBc3N1bWUt
WWVzICJmYWxzZSI7CiAgICAgRm9yY2UtWWVzICJmYWxzZSI7ICAgICAgICAgICAgIC8vIEkg
d291bGQgbmV2ZXIgc2V0IHRoaXMuCiAgICAgRml4LUJyb2tlbiAiZmFsc2UiOyAgCiAgICAg
Rml4LU1pc3NpbmcgImZhbHNlIjsgICAgIAogICAgIFNob3ctVXBncmFkZWQgImZhbHNlIjsK
ICAgICBVcGdyYWRlICJ0cnVlIjsKICAgICBQcmludC1VUklzICJmYWxzZSI7CiAgICAgQ29t
cGlsZSAiZmFsc2UiOwogICAgIERvd25sb2FkICJ0cnVlIjsKICAgICBQdXJnZSAiZmFsc2Ui
OwogICAgIExpc3QtQ2xlYW51cCAidHJ1ZSI7CiAgICAgUmVJbnN0YWxsICJmYWxzZSI7CiAg
ICAgVHJpdmlhbC1Pbmx5ICJmYWxzZSI7CiAgICAgUmVtb3ZlICJ0cnVlIjsKICB9OwoKICBD
YWNoZSAKICB7CiAgICAgSW1wb3J0YW50ICJmYWxzZSI7CiAgICAgQWxsVmVyc2lvbnMgImZh
bHNlIjsKICAgICBHaXZlbk9ubHkgImZhbHNlIjsKICAgICBSZWNydXNlRGVwZW5kcyAiZmFs
c2UiOwogIH07CgogIENEUk9NIAogIHsKICAgICBSZW5hbWUgImZhbHNlIjsKICAgICBOb01v
dW50ICJmYWxzZSI7CiAgICAgRmFzdCAiZmFsc2UiOwogICAgIE5vQWN0ICJmYWxzZSI7CiAg
fTsKCiAgLy8gU29tZSBnZW5lcmFsIG9wdGlvbnMKICBJZ25vcmUtSG9sZCAiZmFsc2UiOwog
IENsZWFuLUluc3RhbGxlZCAidHJ1ZSI7CiAgSW1tZWRpYXRlLUNvbmZpZ3VyZSAidHJ1ZSI7
ICAgICAgLy8gRE8gTk9UIHR1cm4gdGhpcyBvZmYsIHNlZSB0aGUgbWFuIHBhZ2UKICBGb3Jj
ZS1Mb29wQnJlYWsgImZhbHNlIjsgICAgICAgICAvLyBETyBOT1QgdHVybiB0aGlzIG9uLCBz
ZWUgdGhlIG1hbiBwYWdlCiAgQ2FjaGUtTGltaXQgIjQxOTQzMDQiOwogIERlZmF1bHQtUmVs
ZWFzZSAiIjsKfTsKCi8vIE9wdGlvbnMgZm9yIHRoZSBkb3dubG9hZGluZyByb3V0aW5lcwpB
Y3F1aXJlCnsKICBRdWV1ZS1Nb2RlICJob3N0IjsgICAgICAgLy8gaG9zdHxhY2Nlc3MKICBS
ZXRyaWVzICIwIjsKICBTb3VyY2UtU3ltbGlua3MgInRydWUiOwogIAogIC8vIEhUVFAgbWV0
aG9kIGNvbmZpZ3VyYXRpb24KICBodHRwIAogIHsKICAgIFByb3h5ICJodHRwOi8vMTI3LjAu
MC4xOjMxMjgiOwogICAgUHJveHk6Omh0dHAudXMuZGViaWFuLm9yZyAiRElSRUNUIjsgIC8v
IFNwZWNpZmljIHBlci1ob3N0IHNldHRpbmcKICAgIFRpbWVvdXQgIjEyMCI7CiAgICBQaXBl
bGluZS1EZXB0aCAiNSI7CiAgICAKICAgIC8vIENhY2hlIENvbnRyb2wuIE5vdGUgdGhlc2Ug
ZG8gbm90IHdvcmsgd2l0aCBTcXVpZCAyLjAuMgogICAgTm8tQ2FjaGUgImZhbHNlIjsKICAg
IE1heC1BZ2UgIjg2NDAwIjsgICAgIC8vIDEgRGF5IGFnZSBvbiBpbmRleCBmaWxlcwogICAg
Tm8tU3RvcmUgImZhbHNlIjsgICAgLy8gUHJldmVudCB0aGUgY2FjaGUgZnJvbSBzdG9yaW5n
IGFyY2hpdmVzICAgIAogIH07CgogIGZ0cAogIHsKICAgIFByb3h5ICJmdHA6Ly8xMjcuMC4w
LjEvIjsKICAgIFByb3h5OjpodHRwLnVzLmRlYmlhbi5vcmcgIkRJUkVDVCI7IC8vIFNwZWNp
ZmljIHBlci1ob3N0IHNldHRpbmcKCiAgICAvKiBSZXF1aXJlZCBzY3JpcHQgdG8gcGVyZm9y
bSBwcm94eSBsb2dpbi4gVGhpcyBleGFtcGxlIHNob3VsZCB3b3JrCiAgICAgICBmb3IgdGlz
Znd0ayAqLwogICAgUHJveHlMb2dpbgogICAgewogICAgICAgIlVTRVIgJChQUk9YWV9VU0VS
KSI7CiAgICAgICAiUEFTUyAkKFBST1hZX1BBU1MpIjsKICAgICAgICJVU0VSICQoU0lURV9V
U0VSKUAkKFNJVEUpOiQoU0lURV9QT1JUKSI7CiAgICAgICAiUEFTUyAkKFNJVEVfUEFTUyki
OwogICAgfTsKICAgIAogICAgVGltZW91dCAiMTIwIjsKICAgIAogICAgLyogUGFzc2l2ZSBt
b2RlIGNvbnRyb2wsIHByb3h5LCBub24tcHJveHkgYW5kIHBlci1ob3N0LiBQYXN2IG1vZGUK
ICAgICAgIGlzIHByZWZlcmVkIGlmIHBvc3NpYmxlICovCiAgICBQYXNzaXZlICJ0cnVlIjsK
ICAgIFByb3h5OjpQYXNzaXZlICJ0cnVlIjsKICAgIFBhc3NpdmU6Omh0dHAudXMuZGViaWFu
Lm9yZyAidHJ1ZSI7IC8vIFNwZWNpZmljIHBlci1ob3N0IHNldHRpbmcKICB9OwogIAogIGNk
cm9tCiAgewogICAgTW91bnQgIi9jZHJvbSI7CgogICAgLy8gWW91IG5lZWQgdGhlIHRyYWls
aW5nIHNsYXNoIQogICAgIi9jZHJvbS8iCiAgICB7CiAgICAgICBNb3VudCAic2xlZXAgMTAw
MCI7CiAgICAgICBVTW91bnQgInNsZWVwIDUwMCI7CiAgICB9CiAgfTsKfTsKCi8vIERpcmVj
dG9yeSBsYXlvdXQKRGlyICIvIgp7CiAgLy8gTG9jYXRpb24gb2YgdGhlIHN0YXRlIGRpcgog
IFN0YXRlICJ2YXIvbGliL2FwdC8iIAogIHsKICAgICBsaXN0cyAibGlzdHMvIjsKICAgICB4
c3RhdHVzICJ4c3RhdHVzIjsKICAgICB1c2Vyc3RhdHVzICJzdGF0dXMudXNlciI7CiAgICAg
c3RhdHVzICIvdmFyL2xpYi9kcGtnL3N0YXR1cyI7CiAgICAgY2Ryb21zICJjZHJvbXMubGlz
dCI7CiAgfTsKICAKICAvLyBMb2NhdGlvbiBvZiB0aGUgY2FjaGUgZGlyCiAgQ2FjaGUgInZh
ci9jYWNoZS9hcHQvIiB7CiAgICAgYXJjaGl2ZXMgImFyY2hpdmVzLyI7CiAgICAgc3JjcGtn
Y2FjaGUgInNyY3BrZ2NhY2hlLmJpbiI7CiAgICAgcGtnY2FjaGUgInBrZ2NhY2hlLmJpbiI7
ICAgICAKICB9OwogIAogIC8vIENvbmZpZyBmaWxlcwogIEV0YyAiZXRjL2FwdC8iIHsKICAg
ICBzb3VyY2VsaXN0ICJzb3VyY2VzLmxpc3QiOwogICAgIG1haW4gImFwdC5jb25mIjsKICAg
ICBwcmVmZXJlbmNlcyAicHJlZmVyZW5jZXMiOyAgICAgCiAgfTsKICAKICAvLyBMb2NhdGlv
bnMgb2YgYmluYXJpZXMKICBCaW4gewogICAgIG1ldGhvZHMgIi91c3IvbGliL2FwdC9tZXRo
b2RzLyI7CiAgICAgZ3ppcCAiL2Jpbi9nemlwIjsKICAgICBkcGtnICIvdXNyL2Jpbi9kcGtn
IjsKICAgICBkcGtnLXNvdXJjZSAiL3Vzci9iaW4vZHBrZy1zb3VyY2UiOwogICAgIGRwa2ct
YnVpbGRwYWNrYWdlICIvdXNyL2Jpbi9kcGtnLWJ1aWxkcGFja2FnZSIKICAgICBhcHQtZ2V0
ICIvdXNyL2Jpbi9hcHQtZ2V0IjsKICAgICBhcHQtY2FjaGUgIi91c3IvYmluL2FwdC1jYWNo
ZSI7CiAgfTsKfTsKCi8vIFRoaW5ncyB0aGF0IGVmZmVjdCB0aGUgQVBUIGRzZWxlY3QgbWV0
aG9kCkRTZWxlY3QgCnsKICAgQ2xlYW4gImF1dG8iOyAgIC8vIGFsd2F5c3xhdXRvfHByb21w
dHxuZXZlcgogICBPcHRpb25zICItZiI7CiAgIFVwZGF0ZU9wdGlvbnMgIiI7CiAgIFByb21w
dEFmdGVyVXBkYXRlICJubyI7CiAgIENoZWNrRGlyICJubyI7Cn0KCkRQa2cgCnsKICAgLy8g
UHJvYmFibHkgZG9uJ3Qgd2FudCB0byB1c2UgZm9yY2UtZG93bmdyYWRlLi4KICAgT3B0aW9u
cyB7Ii0tZm9yY2Utb3ZlcndyaXRlIjsiLS1mb3JjZS1kb3duZ3JhZGUiO30KICAgCiAgIC8v
IEF1dG8gcmUtbW91bnRpbmcgb2YgYSByZWFkb25seSAvdXNyCiAgIFByZS1JbnZva2UgeyJt
b3VudCAtbyByZW1vdW50LHJ3IC91c3IiO307CiAgIFBvc3QtSW52b2tlIHsibW91bnQgLW8g
cmVtb3VudCxybyAvdXNyIjt9OwogICAKICAgLy8gUHJldmVudHMgZGFlbW9ucyBmcm9tIGdl
dHRpbmcgY3dkIGFzIHNvbWV0aGluZyBtb3VudGFibGUgKGRlZmF1bHQpCiAgIFJ1bi1EaXJl
Y3RvcnkgIi8iOwogICAKICAgLy8gQnVpbGQgb3B0aW9ucyBmb3IgYXB0LWdldCBzb3VyY2Ug
LS1jb21waWxlCiAgIEJ1aWxkLU9wdGlvbnMgIi1iIC11YyI7CgogICAvLyBQcmUtY29uZmln
dXJlIGFsbCBwYWNrYWdlcyBiZWZvcmUgdGhleSBhcmUgaW5zdGFsbGVkIHVzaW5nIGRlYmNv
bmYuCiAgIFByZS1JbnN0YWxsLVBrZ3MgeyJkcGtnLXByZWNvbmZpZ3VyZSAtLWFwdCAtLXBy
aW9yaXR5PWxvdyAtLWZyb250ZW5kPWRpYWxvZyI7fTsKCiAgIC8vIEZsdXNoIHRoZSBjb250
ZW50cyBvZiBzdGRpbiBiZWZvcmUgZm9ya2luZyBkcGtnLgogICBGbHVzaFNURElOICJ0cnVl
IjsKCiAgIC8vIENvbnRyb2wgdGhlIHNpemUgb2YgdGhlIGNvbW1hbmQgbGluZSBwYXNzZWQg
dG8gZHBrZy4KICAgTWF4Qnl0ZXMgMTAyNDsKICAgTWF4QXJncyAzNTA7Cn0KCi8qIE9wdGlv
bnMgeW91IGNhbiBzZXQgdG8gc2VlIHNvbWUgZGVidWdnaW5nIHRleHQgVGhleSBjb3JyZXNw
b25kIHRvIG5hbWVzCiAgIG9mIGNsYXNzZXMgaW4gdGhlIHNvdXJjZSBjb2RlICovCkRlYnVn
IAp7CiAgcGtnUHJvYmxlbVJlc29sdmVyICJmYWxzZSI7CiAgcGtnQWNxdWlyZSAiZmFsc2Ui
OwogIHBrZ0FjcXVpcmU6OldvcmtlciAiZmFsc2UiOwogIHBrZ0RQa2dQTSAiZmFsc2UiOwog
IHBrZ09yZGVyTGlzdCAiZmFsc2UiOwogIAogIHBrZ0luaXRpYWxpemUgImZhbHNlIjsgICAv
LyBUaGlzIG9uZSB3aWxsIGR1bXAgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UKICBOb0xvY2tp
bmcgImZhbHNlIjsKICBBY3F1aXJlOjpGdHAgImZhbHNlIjsgICAgLy8gU2hvdyBmdHAgY29t
bWFuZCB0cmFmZmljCiAgQWNxdWlyZTo6SHR0cCAiZmFsc2UiOyAgIC8vIFNob3cgaHR0cCBj
b21tYW5kIHRyYWZmaWMKICBhcHRjZHJvbSAiZmFsc2UiOyAgICAgICAgLy8gU2hvdyBmb3Vu
ZCBwYWNrYWdlIGZpbGVzCn0KCi8qIFdoYXRldmVyIHlvdSBkbywgZG8gbm90IHVzZSB0aGlz
IGNvbmZpZ3VyYXRpb24gZmlsZSEhIFRha2Ugb3V0IE9OTFkKICAgdGhlIHBvcnRpb25zIHlv
dSBuZWVkISAqLwpUaGlzIElzIE5vdCBBIFZhbGlkIENvbmZpZyBGaWxlCg==

--Multipart_Tue_Jul_27_12:17:20_2004-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="apt-ftparchive.conf"
Content-Transfer-Encoding: base64

RGlyIAp7CiAgIEFyY2hpdmVEaXIgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL2Z0cC8i
OwogICBPdmVycmlkZURpciAiL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvc2NyaXB0cy9v
dmVycmlkZS8iOwogICBDYWNoZURpciAiL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvZGF0
YWJhc2UvIjsKfTsKCkRlZmF1bHQKewogICBQYWNrYWdlczo6Q29tcHJlc3MgIi4gZ3ppcCI7
CiAgIFNvdXJjZXM6OkNvbXByZXNzICJnemlwIjsKICAgQ29udGVudHM6OkNvbXByZXNzICJn
emlwIjsKICAgRGVMaW5rTGltaXQgMDsKICAgTWF4Q29udGVudHNDaGFuZ2UgMTIwMDA7CiAg
IEZpbGVNb2RlIDA2NjQ7Cn0KClRyZWVEZWZhdWx0CnsKICAgQ29udGVudHM6OkhlYWRlciAi
L29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkva2F0aWUvQ29udGVudHMudG9wIjsKfTsKCnRy
ZWUgImRpc3RzL3N0YWJsZS11cGRhdGVzIgp7CiAgIEZpbGVMaXN0ICIvb3JnL2Z0cC5hZ251
bGEub3JnL2RlbXVkaS9kYXRhYmFzZS9kaXN0cy9zdGFibGUtdXBkYXRlc18kKFNFQ1RJT04p
X2JpbmFyeS0kKEFSQ0gpLmxpc3QiOwogICBTb3VyY2VGaWxlTGlzdCAiL29yZy9mdHAuYWdu
dWxhLm9yZy9kZW11ZGkvZGF0YWJhc2UvZGlzdHMvc3RhYmxlLXVwZGF0ZXNfJChTRUNUSU9O
KV9zb3VyY2UubGlzdCI7CiAgIFNlY3Rpb25zICJtYWluIGNvbnRyaWIgbm9uLWZyZWUiOwog
ICBBcmNoaXRlY3R1cmVzICJpMzg2IHBvd2VycGMgc291cmNlIjsKICAgQmluT3ZlcnJpZGUg
Im92ZXJyaWRlLmJ1c3Rlci4kKFNFQ1RJT04pIjsKICAgU3JjT3ZlcnJpZGUgIm92ZXJyaWRl
LmJ1c3Rlci4kKFNFQ1RJT04pLnNyYyI7CiAgIENvbnRlbnRzICIgIjsKfTsKCnRyZWUgImRp
c3RzL3Vuc3RhYmxlIgp7CiAgIEZpbGVMaXN0ICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVk
aS9kYXRhYmFzZS9kaXN0cy91bnN0YWJsZV8kKFNFQ1RJT04pX2JpbmFyeS0kKEFSQ0gpLmxp
c3QiOwogICBTb3VyY2VGaWxlTGlzdCAiL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvZGF0
YWJhc2UvZGlzdHMvdW5zdGFibGVfJChTRUNUSU9OKV9zb3VyY2UubGlzdCI7CiAgIFNlY3Rp
b25zICJtYWluIGNvbnRyaWIgbm9uLWZyZWUiOwogICBBcmNoaXRlY3R1cmVzICJpMzg2IHBv
d2VycGMgc291cmNlIjsKICAgQmluT3ZlcnJpZGUgIm92ZXJyaWRlLnJpbm8uJChTRUNUSU9O
KSI7CiAgIFNyY092ZXJyaWRlICJvdmVycmlkZS5yaW5vLiQoU0VDVElPTikuc3JjIjsKICAg
UGFja2FnZXM6OkNvbXByZXNzICIuIGd6aXAgYnppcDIiOwogICBTb3VyY2VzOjpDb21wcmVz
cyAiZ3ppcCBiemlwMiI7Cn07Cgp0cmVlICJkaXN0cy91bnN0YWJsZS9tYWluIgp7CiAgIEZp
bGVMaXN0ICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9kYXRhYmFzZS9kaXN0cy91bnN0
YWJsZV9tYWluXyQoU0VDVElPTilfYmluYXJ5LSQoQVJDSCkubGlzdCI7CiAgIFNlY3Rpb25z
ICJkZWJpYW4taW5zdGFsbGVyIjsKICAgQXJjaGl0ZWN0dXJlcyAiaTM4NiBwb3dlcnBjIjsK
ICAgQmluT3ZlcnJpZGUgIm92ZXJyaWRlLnJpbm8ubWFpbi4kKFNFQ1RJT04pIjsKICAgU3Jj
T3ZlcnJpZGUgIm92ZXJyaWRlLnJpbm8ubWFpbi5zcmMiOwogICBCaW5DYWNoZURCICJwYWNr
YWdlcy1kZWJpYW4taW5zdGFsbGVyLSQoQVJDSCkuZGIiOwogICBQYWNrYWdlczo6RXh0ZW5z
aW9ucyAiLnVkZWIiOwogICBDb250ZW50cyAiICI7Cn07Cg==

--Multipart_Tue_Jul_27_12:17:20_2004-1
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="katie.conf"
Content-Transfer-Encoding: base64

RGluc3RhbGwKewogICBQR1BLZXlyaW5nICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9r
ZXlyaW5ncy9wdWJyaW5nLnBncCI7CiAgIEdQR0tleXJpbmcgIi9vcmcvZnRwLmFnbnVsYS5v
cmcvZGVtdWRpL2tleXJpbmdzL3B1YnJpbmcuZ3BnIjsKICAgU2lnbmluZ0tleXJpbmcgIi9v
cmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL2tleXJpbmdzL3NlY3JpbmcuZ3BnIjsKICAgU2ln
bmluZ1B1YktleXJpbmcgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL2tleXJpbmdzL3B1
YnJpbmcuZ3BnIjsKICAgU2lnbmluZ0tleUlkcyAiMURCMTE0RTAiOwogICBTZW5kbWFpbENv
bW1hbmQgIi91c3Ivc2Jpbi9zZW5kbWFpbCAtb2RxIC1vaSAtdCI7CiAgIE15RW1haWxBZGRy
ZXNzICJEZU11RGkgQXJjaGl2aW5nIFN5c3RlbSA8YXJjaGl2ZXJAYWdudWxhLm9yZz4iOwog
ICBNeUFkbWluQWRkcmVzcyAiZnRwbWFzdGVyQGFnbnVsYS5vcmciOwogICBNeUhvc3QgImFn
bnVsYS5vcmciOyAgLy8gdXNlZCBmb3IgZ2VuZXJhdGluZyB1c2VyQG15X2hvc3QgYWRkcmVz
c2VzIGluIGUuZy4gbWFudWFsX3JlamVjdCgpCiAgIE15RGlzdHJpYnV0aW9uICJEZU11RGki
OyAvLyBVc2VkIGluIGVtYWlscwogICBCdWdTZXJ2ZXIgImJ1Z3MuYWdudWxhLm9yZyI7CiAg
IC8vUGFja2FnZXNTZXJ2ZXIgImFwdC5hZ251bGEub3JnIjsKICAgLy9UcmFja2luZ1NlcnZl
ciAicGFja2FnZXMucWEuZGViaWFuLm9yZyI7CiAgIExvY2tGaWxlICIvb3JnL2Z0cC5hZ251
bGEub3JnL2RlbXVkaS9rYXRpZS9sb2NrIjsKICAgQmNjICJhcmNoaXZlckBhZ251bGEub3Jn
IjsKICAgR3JvdXBPdmVycmlkZUZpbGVuYW1lICJvdmVycmlkZS5ncm91cC1tYWludCI7CiAg
IEZ1dHVyZVRpbWVUcmF2ZWxHcmFjZSAyODgwMDsgLy8gNiBob3VycwogICBQYXN0Q3V0b2Zm
WWVhciAiMTk4NCI7CiAgIFNraXBUaW1lIDMwMDsKICAgQlhBTm90aWZ5ICJ0cnVlIjsKICAg
Q2xvc2VCdWdzICJ0cnVlIjsKICAgT3ZlcnJpZGVEaXNwYXJpdHlDaGVjayAidHJ1ZSI7CiAg
IFN0YWJsZURpc2xvY2F0aW9uU3VwcG9ydCAiZmFsc2UiOwogICBBY2NlcHRlZEF1dG9CdWls
ZFN1aXRlcwogICB7CiAgICAgdW5zdGFibGU7CiAgIH07CiAgIFJlamVjdAogICB7CiAgICAg
Tm9Tb3VyY2VPbmx5ICJ0cnVlIjsKICAgfTsKfTsKClN1aXRlCnsKCiAgU3RhYmxlCiAgewoJ
Q29tcG9uZW50cwoJewoJICBtYWluOwoJICBjb250cmliOwoJICBub24tZnJlZTsKCX07CglB
cmNoaXRlY3R1cmVzCgl7CgkgIHNvdXJjZTsKCSAgYWxsOwoJICBpMzg2OwoJICBwb3dlcnBj
OwoJfTsKCUFubm91bmNlICJkZXZlbG9wZXJzQGxpc3RzLmFnbnVsYS5vcmcsIHBrZy1jb2xs
ZWN0QGFnbnVsYS5vcmciOwoJVmVyc2lvbiAiMS4xLjAiOwoJT3JpZ2luICJBR05VTEEiOwoJ
RGVzY3JpcHRpb24gIkRlTXVEaSAxLjEuMCBSZWxlYXNlZCAxNXRoIEphbnVhcnkgMjAwNCI7
CglDb2RlTmFtZSAiYnVzdGVyIjsKCU92ZXJyaWRlQ29kZU5hbWUgImJ1c3RlciI7CglQcmlv
cml0eSAiMyI7CglVbnRvdWNoYWJsZSAiMSI7CglDaGFuZ2VMb2dCYXNlICJkaXN0cy9zdGFi
bGUvIjsKICB9OwoKICBTdGFibGUtVXBkYXRlcwogIHsKCUNvbXBvbmVudHMKCXsKCSAgbWFp
bjsKCSAgY29udHJpYjsKCSAgbm9uLWZyZWU7Cgl9OwoJQXJjaGl0ZWN0dXJlcwoJewoJICBz
b3VyY2U7CgkgIGFsbDsKCSAgaTM4NjsKCSAgcG93ZXJwYzsKCX07CglBbm5vdW5jZSAiZGV2
ZWxvcGVyc0BsaXN0cy5hZ251bGEub3JnLCBwa2ctY29sbGVjdEBhZ251bGEub3JnIjsKCUNv
cHlDaGFuZ2VzICJkaXN0cy9zdGFibGUtdXBkYXRlcy8iOwoJQ29weUthdGllICIvb3JnL2Z0
cC5hZ251bGEub3JnL3F1ZXVlL3N0YWJsZS11cGRhdGVzLyI7CglWZXJzaW9uICIxLjEuMC11
cGRhdGVzIjsKCU9yaWdpbiAiQUdOVUxBIjsKCURlc2NyaXB0aW9uICJEZU11RGkgMS4xLjAg
U3RhYmxlIFVwZGF0ZXMiOwoJQ29kZU5hbWUgInN0YWJsZS11cGRhdGVzIjsKCU92ZXJyaWRl
Q29kZU5hbWUgImJ1c3RlciI7CglPdmVycmlkZVN1aXRlICJzdGFibGUiOwoJUHJpb3JpdHkg
IjQiOwoJVmVyc2lvbkNoZWNrcwoJewoJICBNdXN0QmVOZXdlclRoYW4KCSAgewoJICAgIFN0
YWJsZTsKCSAgfTsKCSAgTXVzdEJlT2xkZXJUaGFuCgkgIHsKCSAgICBVbnN0YWJsZTsKCSAg
ICBFeHBlcmltZW50YWw7CgkgIH07Cgl9OwogIH07CgogIFVuc3RhYmxlCiAgewoJQ29tcG9u
ZW50cwoJewoJICBtYWluOwoJICBjb250cmliOwoJICBub24tZnJlZTsKCX07CglBcmNoaXRl
Y3R1cmVzCgl7CgkgIHNvdXJjZTsKCSAgYWxsOwoJICBpMzg2OwoJICBwb3dlcnBjOwoJfTsK
CUFubm91bmNlICJkZXZlbG9wZXJzQGxpc3RzLmFnbnVsYS5vcmcsIHBrZy1jb2xsZWN0QGFn
bnVsYS5vcmciOwoJT3JpZ2luICJBR05VTEEiOwoJRGVzY3JpcHRpb24gIkRlTXVEaSBVbnN0
YWJsZSAtIE5vdCBSZWxlYXNlZCI7CglDb2RlTmFtZSAicmlubyI7CglPdmVycmlkZUNvZGVO
YW1lICJyaW5vIjsKCVByaW9yaXR5ICI3IjsKCVZlcnNpb25DaGVja3MKCXsKCSAgTXVzdEJl
TmV3ZXJUaGFuCgkgIHsKCSAgICBTdGFibGU7CgkgICAgUHJvcG9zZWQtVXBkYXRlczsKCSAg
ICBUZXN0aW5nOwoJICAgIFRlc3RpbmctUHJvcG9zZWQtVXBkYXRlczsKCSAgfTsKCX07CglV
ZGViQ29tcG9uZW50cwoJewoJICBtYWluOwoJfTsKICB9OwoKICBFeHBlcmltZW50YWwKICB7
CglDb21wb25lbnRzCgl7CgkgIG1haW47CgkgIGNvbnRyaWI7CgkgIG5vbi1mcmVlOwoJfTsK
CUFyY2hpdGVjdHVyZXMKCXsKCSAgc291cmNlOwoJICBhbGw7CgkgIGkzODY7CgkgIHBvd2Vy
cGM7Cgl9OwoJQW5ub3VuY2UgImRldmVsb3BlcnNAbGlzdHMuYWdudWxhLm9yZywgcGtnLWNv
bGxlY3RAYWdudWxhLm9yZyI7CglPcmlnaW4gIkFHTlVMQSI7CglEZXNjcmlwdGlvbiAiRXhw
ZXJpbWVudGFsIHBhY2thZ2VzIC0gbm90IHJlbGVhc2VkOyB1c2UgYXQgeW91ciBvd24gcmlz
ay4iOwoJQ29kZU5hbWUgImV4cGVyaW1lbnRhbCI7CglOb3RBdXRvbWF0aWMgInllcyI7CglP
dmVycmlkZUNvZGVOYW1lICJyaW5vIjsKCU92ZXJyaWRlU3VpdGUgInVuc3RhYmxlIjsKCVBy
aW9yaXR5ICIwIjsKLy8gICAgICAgIFRyZWUgInByb2plY3QvZXhwZXJpbWVudGFsIjsKCVZl
cnNpb25DaGVja3MKCXsKCSAgTXVzdEJlTmV3ZXJUaGFuCgkgIHsKCSAgICBTdGFibGU7Cgkg
ICAgUHJvcG9zZWQtVXBkYXRlczsKCSAgICBUZXN0aW5nOwoJICAgIFRlc3RpbmctUHJvcG9z
ZWQtVXBkYXRlczsKCSAgICBVbnN0YWJsZTsKCSAgfTsKCX07CgogIH07Cgp9OwoKU3VpdGVN
YXBwaW5ncwp7CiAibWFwIHN0YWJsZSBzdGFibGUtdXBkYXRlcyI7CiAibWFwLXVucmVsZWFz
ZWQgc3RhYmxlIHVuc3RhYmxlIjsKICJtYXAtdW5yZWxlYXNlZCBzdGFibGUtdXBkYXRlcyB1
bnN0YWJsZSI7Cn07CgpEaXIKewogIFJvb3QgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRp
L2Z0cC8iOwogIFBvb2wgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL2Z0cC9wb29sLyI7
CiAgVGVtcGxhdGVzICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9rYXRpZS90ZW1wbGF0
ZXMvIjsKICBQb29sUm9vdCAicG9vbC8iOwogIE92ZXJyaWRlICIvb3JnL2Z0cC5hZ251bGEu
b3JnL2RlbXVkaS9zY3JpcHRzL292ZXJyaWRlLyI7CiAgTGlzdHMgIi9vcmcvZnRwLmFnbnVs
YS5vcmcvZGVtdWRpL2RhdGFiYXNlL2Rpc3RzLyI7CiAgTG9nICIvb3JnL2Z0cC5hZ251bGEu
b3JnL2RlbXVkaS9sb2cvIjsKICBNb3JndWUgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRp
L21vcmd1ZS8iOwogIE1vcmd1ZVJlamVjdCAicmVqZWN0IjsKICBPdmVycmlkZSAiL29yZy9m
dHAuYWdudWxhLm9yZy9kZW11ZGkvc2NyaXB0cy9vdmVycmlkZS8iOwogIEFjY2VwdGVkQXV0
b0J1aWxkICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9idWlsZGQvIjsKICBVcmdlbmN5
TG9nICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS90ZXN0aW5nL3VyZ2VuY2llcy8iOwog
IFF1ZXVlCiAgewogICAgUm9vdCAiL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvcXVldWUv
IjsKICAgIEFjY2VwdGVkICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9xdWV1ZS9hY2Nl
cHRlZC8iOwogICAgQnloYW5kICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9xdWV1ZS9i
eWhhbmQvIjsKICAgIERvbmUgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL3F1ZXVlL2Rv
bmUvIjsKICAgIEhvbGRpbmcgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL3F1ZXVlL2hv
bGRpbmcvIjsKICAgIE5ldyAiL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvcXVldWUvbmV3
LyI7CiAgICBSZWplY3QgIi9vcmcvZnRwLmFnbnVsYS5vcmcvZGVtdWRpL3F1ZXVlL3JlamVj
dC8iOwogICAgVW5jaGVja2VkICIvb3JnL2Z0cC5hZ251bGEub3JnL2RlbXVkaS9xdWV1ZS91
bmNoZWNrZWQvIjsKICB9Owp9OwoKREIKewogIE5hbWUgInByb2plY3RiIjsKICBIb3N0ICIi
OwogIFBvcnQgLTE7CgogIC8vTm9uVVNOYW1lICJwcm9qZWN0YiI7CiAgLy9Ob25VU0hvc3Qg
Im5vbi1VUy5kZWJpYW4ub3JnIjsKICAvL05vblVTUG9ydCAtMTsKICAvL05vblVTVXNlciAi
YXVyaWMiOwogIC8vTm9uVVNQYXNzd29yZCAibW9vIjsKfTsKCkFyY2hpdGVjdHVyZXMKewog
IHNvdXJjZSAiU291cmNlIjsKICBhbGwgIkFyY2hpdGVjdHVyZSBJbmRlcGVuZGVudCI7CiAg
aTM4NiAiSW50ZWwgaWEzMiI7CiAgcG93ZXJwYyAiUG93ZXJQQyI7Cn07CgpBcmNoaXZlCnsK
ICBhZ251bGEuc3BlZWNoLmt0aC5zZQogIHsKICAgIE9yaWdpblNlcnZlciAiYWdudWxhLnNw
ZWVjaC5rdGguc2UiOwogICAgLy9QcmltYXJ5TWlycm9yICJmdHAuZGViaWFuLm9yZyI7CiAg
ICBEZXNjcmlwdGlvbiAiTWFzdGVyIEFyY2hpdmUgZm9yIHRoZSBEZU11RGkgcHJvamVjdCI7
CiAgfTsKfTsKCkNvbXBvbmVudAp7CiAgbWFpbgogIHsKCURlc2NyaXB0aW9uICJNYWluIjsK
CU1lZXRzREZTRyAidHJ1ZSI7CiAgfTsKCiAgY29udHJpYgogIHsKCURlc2NyaXB0aW9uICJD
b250cmliIjsKCU1lZXRzREZTRyAidHJ1ZSI7CiAgfTsKCiAgbm9uLWZyZWUKICB7CglEZXNj
cmlwdGlvbiAiU29mdHdhcmUgdGhhdCBmYWlscyB0byBtZWV0IHRoZSBERlNHIjsKCU1lZXRz
REZTRyAiZmFsc2UiOwogIH07CgogIG1peGVkICAvLyAqKk5COioqIG9ubHkgdXNlZCBmb3Ig
b3ZlcnJpZGVzOyBub3QgeWV0IHVzZWQgaW4gb3RoZXIgY29kZQogIHsKCURlc2NyaXB0aW9u
ICJMZWdhY3kgTWl4ZWQiOwoJTWVldHNERlNHICJmYWxzZSI7CiAgfTsKfTsKClNlY3Rpb24K
ewogIGFkbWluOwogIGJhc2U7CiAgY29tbTsKICBkZWJpYW4taW5zdGFsbGVyOwogIGRldmVs
OwogIGRvYzsKICBlZGl0b3JzOwogIGVtYmVkZGVkOwogIGVsZWN0cm9uaWNzOwogIGdhbWVz
OwogIGdub21lOwogIGdyYXBoaWNzOwogIGhhbXJhZGlvOwogIGludGVycHJldGVyczsKICBr
ZGU7CiAgbGliZGV2ZWw7CiAgbGliczsKICBtYWlsOwogIG1hdGg7CiAgbWlzYzsKICBuZXQ7
CiAgbmV3czsKICBvbGRsaWJzOwogIG90aGVyb3NmczsKICBwZXJsOwogIHB5dGhvbjsKICBz
Y2llbmNlOwogIHNoZWxsczsKICBzb3VuZDsKICB0ZXg7CiAgdGV4dDsKICB1dGlsczsKICB3
ZWI7CiAgeDExOwp9OwoKUHJpb3JpdHkKewogIHJlcXVpcmVkIDE7CiAgaW1wb3J0YW50IDI7
CiAgc3RhbmRhcmQgMzsKICBvcHRpb25hbCA0OwogIGV4dHJhIDU7CiAgc291cmNlIDA7IC8v
IGkuZS4gdW51c2VkCn07CgpPdmVycmlkZVR5cGUKewogIGRlYjsKICB1ZGViOwogIGRzYzsK
fTsKCkxvY2F0aW9uCnsKCiAgLy8gUG9vbCBsb2NhdGlvbnMgb24gZnRwLW1hc3Rlci5kZWJp
YW4ub3JnCiAgL29yZy9mdHAuYWdudWxhLm9yZy9kZW11ZGkvZnRwL3Bvb2wvCiAgICB7CiAg
ICAgIEFyY2hpdmUgImFnbnVsYS5zcGVlY2gua3RoLnNlIjsKICAgICAgVHlwZSAicG9vbCI7
CiAgICB9OwoKfTsKClVyZ2VuY3kKewogIERlZmF1bHQgImxvdyI7CiAgVmFsaWQKICB7CiAg
ICBsb3c7CiAgICBtZWRpdW07CiAgICBoaWdoOwogICAgZW1lcmdlbmN5OwogICAgY3JpdGlj
YWw7CiAgfTsKfTsK

--Multipart_Tue_Jul_27_12:17:20_2004-1--