From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #69 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Friday, October 15 1999 Volume 01 : Number 069 ---------------------------------------------------------------------- Date: Mon, 11 Oct 1999 20:18:50 +0200 From: Julian Rohrhuber <---@---.---> Subject: Impulse1/poll-Pfx >It needs an envelope. >Why are you spawning impulses ? delayed thanks for the Impulse1-hint, I think StepClock/HPZ1 does most of what I wanted, apart from limiting the number of impulses created (which is not so hard to solve of course :). I was trying to create a daisychain of neurons that send a number of pulses on recieving one. trying out Pfx I seem to have misunderstood some basics which resulted in an error 11 system crash, also with 2.2.2: ( var filter, pat; filter = { arg in, freq=200; //something seems to be wrong with polling: LPF.ar( Sequencer.ar({ in.poll }, Impulse.ar(freq)), freq, 0.8); }; pat = Pbind( \dur, 0.8, \legato, Prand(#[0.05, 0.1, 0.4], inf), \freq, Pfunc({ MouseX.kr(100,10000,'exponential')}) ); Pbindf(\pan, Prand(#[-0.3, 0, 0.3],inf), Pfx(pat, filter) //how to adress the second argument of the filter? ).play; ) ------------------------------ Date: Mon, 11 Oct 1999 20:21:38 +0200 From: andreas pieper <---@---.---> Subject: Re: task example > It looks like your toolboxSem semaphore is nil. > This is an instance variable in Process. > Have you replaced the default Main class with your own? > Main::startUp must now call super.startUp in order for the > tookbox semaphore to get allocated. thanks, thats the problem: i have replaced the Main.sc with my one. best, a andreas pieper mego@url.de pgp fingerprint A7B1 721D 65E6 1A2D BA28 4112 28B2 C3B8 ------------------------------ Date: Tue, 12 Oct 1999 00:02:44 -0600 From: James McCartney <---@---.---> Subject: Re: FFT in new release At 4:44 AM -0600 10/11/99, Colby Leider wrote: >The new release looks great! Thanks for all the new features. > >With that having been said, the magnitude thresholding FFT example doesn't seem >to work. I have a bunch of code that does binary operations like this on >spectra, and it works when I don't use spectral rate operations, only if I keep >everything at the audio rate. > >Am I missing something? No. In my haste, I blew the copy paste. I'll upload a fix.. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Tue, 12 Oct 1999 17:04:14 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: poll-Pfx yesterday I tried various ways to continuously acess the filter parameter filterRate: again sometimes I crashed. Trying it conventionally is not correct but at least I got an error message, I see that the effect has already started and it only takes the first value assigned to filterRate: ( var filter, pat, pend; filter = { arg in, filterRate; //filterRate = SinOsc.kr(filterRate/100, 0, 200, 400); //test LPF.ar( // use multichannel expansion to handle input. // create an array of Functions, each which polls a // separate input Sequencer.ar( in.collect({ arg input; { input.poll } }), Impulse.ar(filterRate) ), filterRate*2, 0.8) }; pat = Pbind( \dur, 2, \legato, Pseq(#[0.3], inf), \freq, Pseq([100, 100, 326, 100, Pfuncn({ MouseX.kr(40, 10000) })], inf) ); pend = Pbindf( \pan, Prand(#[-0.3, 0, 0.3],inf), \filterRate, 200, //Pseq(#[2000, 300], inf), Pfx(pat, filter) ); Pmul(\filterRate, Pseq(#[1, 2, 4, 10], inf), pend).play; ) results in : Message '*' not understood. RECEIVER: nil ARGS: Instance of Array { (0193D0F0, gc=00, fmt=01, flg=00, set=00) indexed slots [1] 0 : instance of Pseq (0193DE88, size=0, set=02) } CALL STACK: Object::doesNotUnderstand arg this = nil arg selector = '*' arg args = [*1] < FunctionDef in Method Pmul::asStream > arg event = EventStream::next arg this = < FunctionDef in Method Pattern::asSpawn > arg innersynth = Meta_Synth::new arg this = arg ugenGraphFunc = < FunctionDef in Method Pattern::asSpawn > arg outersynth = arg now = 0.000000 arg task = var event = nil var freqs = nil var lag = nil var newSynth = nil var inSpawn = nil julian rohrhuber sa6a014@rrz.uni-hamburg.de GC Error: still greys left in set 0 ------------------------------ Date: Tue, 12 Oct 1999 10:25:26 -0600 From: James McCartney <---@---.---> Subject: Re: poll-Pfx At 9:04 AM -0600 10/12/99, Julian Rohrhuber wrote: >yesterday I tried various ways to continuously acess the filter parameter filterRate: >again sometimes I crashed. >Trying it conventionally is not correct but at least I got an error message, I see that the >effect has already started and it only takes the first value assigned to filterRate: Yes that is correct. The effect is applied over the entire mix of the events at the lower level. So it only gets one starting value. You can't give it a separate value per event, because it is applied to a mix of the events. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Tue, 12 Oct 1999 22:33:36 -0600 From: James McCartney <---@---.---> Subject: version 2.2.3 available === Version 2.2.3 is now available via ftp: BinHex : ftp://www.audiosynth.com/pub/updates/SC2.2.3.sea.hqx MacBinary (smaller) : ftp://www.audiosynth.com/pub/updates/SC2.2.3.sea.bin SCPlay is distributed in a separate file : BinHex : ftp://www.audiosynth.com/pub/updates/SCPlay2.2.3.sea.hqx MacBinary (smaller) : ftp://www.audiosynth.com/pub/updates/SCPlay2.2.3.sea.bin === Changes in Version 2.2.3 Some spectral rate binary operators had a bug. A problem with virtual memory operation that could cause a freeze on the G3 and always caused a freeze on the G4 was fixed. === --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: < ------------------------------ Date: Wed, 13 Oct 1999 10:26:16 +0100 From: rkuivila@mail.wesleyan.edu Subject: Voicer is still broken Hi James, On my system, if I start up and run the Voicer example before running anything else first, notes fail to stop. If I stop synthesis and restart the example, it then works. The following example takes starting and restarting 3 times.... ( Synth.play({ var e; e = Env.new([0, 0.1, 0.005, 0], [0.002, 0.5, 0.1], 'linear', 2); Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; EnvGen.ar(e, SinOsc.ar((note * 25)+100,0.1))},1,1,8) + Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; EnvGen.ar(e, SinOsc.ar((note * 50)+100,0.1))},1,1,8) + Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; EnvGen.ar(e, SinOsc.ar((note * 100)+100,0.1))},1,1,8); }); ) Looks like an initialization issue to me! RJK ------------------------------ Date: Wed, 13 Oct 1999 13:35:43 -0700 (PDT) From: Chris Brown <---@---.---> Subject: Re: Voicer is still broken I've had this problem too, which I deal with by quickly depressing the sustain pedal - somewhat intermittently on for me, i assume that _Voicer_SustainPedal is erratically initialized? chris On Wed, 13 Oct 1999 rkuivila@mail.wesleyan.edu wrote: > Hi James, > > On my system, if I start up and run the Voicer example > before running anything else first, notes fail to stop. > > If I stop synthesis and restart the example, it then works. > > The following example takes starting and restarting 3 times.... > > ( > Synth.play({ > var e; > e = Env.new([0, 0.1, 0.005, 0], [0.002, 0.5, 0.1], 'linear', 2); > > Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; > EnvGen.ar(e, SinOsc.ar((note * 25)+100,0.1))},1,1,8) > + > Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; > EnvGen.ar(e, SinOsc.ar((note * 50)+100,0.1))},1,1,8) > + > Voicer.ar({ arg voicer, i, synth, deltaTime, channel, note, velocity; > EnvGen.ar(e, SinOsc.ar((note * 100)+100,0.1))},1,1,8); > > }); > > ) > > Looks like an initialization issue to me! > > RJK > > > **************************************************** Chris Brown Composer, Pianist, Electronic Musician Assoc. Prof. of Music and Co-Director, Center for Contemporary Music (CCM) Mills College, Oakland, CA 94613 email: cbmus@mills.edu, phone: 510-430-2330; fax 510-430-3314 **************************************************** ------------------------------ Date: Thu, 14 Oct 1999 09:12:27 -0600 From: "David Cottle" <---@---.---> Subject: short, long, bits Hi, I want to be accurate in the section of the course materials I'm now working on. We are talking about integers and bits. Am I correct that an 8 bit unsigned integer can only count to 256, or is it 128? SC folds over at 2147483647. Is this a 32 bit number? Am I correct that it is a signed integer? (An unsigned integer could go to twice that, but a signed integer uses one bit for the sign, correct?) ------------------------------ Date: Thu, 14 Oct 1999 10:33:51 -0600 From: James McCartney <---@---.---> Subject: Re: short, long, bits At 9:12 AM -0600 10/14/99, David Cottle wrote: >Hi, > >I want to be accurate in the section of the course materials I'm now working >on. We are talking about integers and bits. Am I correct that an 8 bit >unsigned integer can only count to 256, or is it 128? SC folds over at >2147483647. Is this a 32 bit number? Am I correct that it is a signed >integer? (An unsigned integer could go to twice that, but a signed integer >uses one bit for the sign, correct?) Basically, yes. SC's Integers are 32 bit signed values which range from -2^31 to +2^31 - 1. An 8 bit signed integer ranges from -128 to +127. An 8 bit unsigned integer ranges from 0 to 255. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Thu, 14 Oct 1999 17:08:15 +0100 From: finer@easynet.co.uk Subject: Re: short, long, bits, RAM & Soundfiles Whilst on the subject of sizes - Are soundfiles still allocated RAM according to the rule - double the size of the soundfile and round up to the nearest power of 2. So 4Mb file fits in 8Mb. 4.1Mb file fits in 16Mb. ? Also - spectral rate : I assume its faster than audio rate - how fast is it ? Thanks for Date and Task by the way - works great. Cheers, Jem >At 9:12 AM -0600 10/14/99, David Cottle wrote: >>Hi, >> >>I want to be accurate in the section of the course materials I'm now working >>on. We are talking about integers and bits. Am I correct that an 8 bit >>unsigned integer can only count to 256, or is it 128? SC folds over at >>2147483647. Is this a 32 bit number? Am I correct that it is a signed >>integer? (An unsigned integer could go to twice that, but a signed integer >>uses one bit for the sign, correct?) > >Basically, yes. SC's Integers are 32 bit signed values which range >from -2^31 to +2^31 - 1. >An 8 bit signed integer ranges from -128 to +127. >An 8 bit unsigned integer ranges from 0 to 255. > > > --- james mccartney james@audiosynth.com http://www.audiosynth.com >If you have a PowerMac check out SuperCollider2, a real time synth program: > ------------------------------ Date: Thu, 14 Oct 1999 11:42:34 -0600 From: James McCartney <---@---.---> Subject: Re: short, long, bits, RAM & Soundfiles At 10:08 AM -0600 10/14/99, finer@easynet.co.uk wrote: >Whilst on the subject of sizes - > >Are soundfiles still allocated RAM according to the rule - double the size >of the soundfile and round up to the nearest power of 2. > >So 4Mb file fits in 8Mb. 4.1Mb file fits in 16Mb. ? 16 bit ints get converted to floats in memory. Then the size is rounded up to a power of two. If you had a file that was stored as 24 bits per sample then the size would only go up by 33% before rounding to power of two. > >Also - spectral rate : I assume its faster than audio rate - how fast is it ? It is not faster. The same amount of data is passed. It is just passed all at once. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Thu, 14 Oct 1999 13:23:31 -0600 From: "David Cottle" <---@---.---> Subject: Re: short, long, bits Hi, > An 8 bit signed integer ranges from -128 to +127. > An 8 bit unsigned integer ranges from 0 to 255. Got it. I added them up to 255 but seemed to remember 127 sticking in my mind. It was the sign. ------------------------------ Date: Fri, 15 Oct 1999 04:09:58 -0400 (EDT) From: Matthew Rogalsky <---@---.---> Subject: using plug in feedback loops James & all, In this example I have two BPFs and a Delay which can be patched arbitrarily into three Plugs, with sound output from the third Plug. There is also some Dust which I eventually tried as a way, I hoped, of getting some interesting stuff going when the BPFs/Delay were connected together in a feedback loop. I initially tried the example without any input to the loop. I have tried introducing the Dust in a number of ways -- I hear it in the output but without the effects of the BPFs or Delay, regardless of the settings of their parameters. In the first place, I wonder is what I'm trying to do valid? thanks Matt - ------- ( var w; w = GUIWindow.new("feedback loop test", Rect.newBy(381, 81, 400, 400)); RadioButtonView.new( w, Rect.newBy(119, 124, 128, 20), "nothing", 0, 0, 1, 0, 'linear'); RadioButtonView.new( w, Rect.newBy(119, 148, 128, 20), "filt1", 0, 0, 1, 0, 'linear'); RadioButtonView.new( w, Rect.newBy(119, 172, 128, 20), "filt2", 1, 0, 1, 0, 'linear'); RadioButtonView.new( w, Rect.newBy(119, 196, 128, 20), "delay", 0, 0, 1, 0, 'linear'); RadioButtonView.new( w, Rect.newBy(203, 125, 128, 20), "nothing", 0, 0, 1, 0, 'linear') .group_(1); RadioButtonView.new( w, Rect.newBy(203, 149, 128, 20), "filt1", 0, 0, 1, 0, 'linear') .group_(1); RadioButtonView.new( w, Rect.newBy(203, 173, 128, 20), "filt2", 0, 0, 1, 0, 'linear') .group_(1); RadioButtonView.new( w, Rect.newBy(203, 197, 128, 20), "delay", 1, 0, 1, 0, 'linear') .group_(1); RadioButtonView.new( w, Rect.newBy(288, 126, 128, 20), "nothing", 0, 0, 1, 0, 'linear') .group_(2); RadioButtonView.new( w, Rect.newBy(288, 150, 128, 20), "filt1", 1, 0, 1, 0, 'linear') .group_(2); RadioButtonView.new( w, Rect.newBy(288, 174, 128, 20), "filt2", 0, 0, 1, 0, 'linear') .group_(2); RadioButtonView.new( w, Rect.newBy(288, 198, 128, 20), "delay", 0, 0, 1, 0, 'linear') .group_(2); StringView.new( w, Rect.newBy(117, 100, 128, 20), "Plug 1"); StringView.new( w, Rect.newBy(202, 100, 128, 20), "Plug 2"); StringView.new( w, Rect.newBy(287, 99, 128, 20), "Plug 3 (output)"); StringView.new( w, Rect.newBy(17, 147, 99, 20), "(input: Plug 1)"); StringView.new( w, Rect.newBy(17, 171, 99, 20), "(input: Plug 2)"); StringView.new( w, Rect.newBy(17, 195, 99, 20), "(input: Plug 3)"); Synth.play({ x = Dust.ar(2.0); d = Plug.ar(0.0); e = Plug.ar(0.0); f = Plug.ar(0.0); a = BPF.ar(d,500,0.1,1,x); b = BPF.ar(e,500,0.1,1); c = DelayN.ar(f,0.1,0.001,1); w.at(0).action = { d.source = 0.0; }; w.at(1).action = { d.source = a; }; w.at(2).action = { d.source = b; }; w.at(3).action = { d.source = c; }; w.at(4).action = { e.source = 0.0; }; w.at(5).action = { e.source = a; }; w.at(6).action = { e.source = b; }; w.at(7).action = { e.source = c; }; w.at(8).action = { f.source = 0.0; }; w.at(9).action = { f.source = a; }; w.at(10).action = { f.source = b; }; w.at(11).action = { f.source = c; }; f; }); w.close; ) ------------------------------ Date: Fri, 15 Oct 1999 04:08:08 -0600 From: James McCartney <---@---.---> Subject: Re: using plug in feedback loops At 2:09 AM -0600 10/15/99, Matthew Rogalsky wrote: >James & all, > >In this example I have two BPFs and a Delay which can be patched >arbitrarily into three Plugs, with sound output from the third Plug. There >is also some Dust which I eventually tried as a way, I hoped, of getting >some interesting stuff going when the BPFs/Delay were connected together >in a feedback loop. I initially tried the example without any input to the >loop. > >I have tried introducing the Dust in a number of ways -- I hear it in the >output but without the effects of the BPFs or Delay, regardless of the >settings of their parameters. > >In the first place, I wonder is what I'm trying to do valid? It works for me, but you have to realize that the initial settings of the radio buttons are wrong. The action functions are not called until the radio buttons are clicked. Also a Dust freq of 2 is pretty intermittent. I changed it to a higher number. The filter is so attenuative of amplitude that the delay line really can't pass any by more than once around so you hear no effect. The same problem applies to feeding the Dust back into the filter. If the filter amplitude is above 1 it will eventually overload, but below 1 the 'add' input swamps the output of the filter. If you scope the output you will see the effect of the filter in it, but it is so low volume you can't really hear it. I would suggest some less severe filter for doing a feedback loop such as OneZero. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Fri, 15 Oct 1999 07:39:42 -0400 (EDT) From: Matthew Rogalsky <---@---.---> Subject: Re: using plug in feedback loops > > It works for me, but you have to realize that the initial settings > of the radio buttons are wrong. The action functions are not > called until the radio buttons are clicked. Yes I realized that. Thanks for all your comments matt ------------------------------ Date: Fri, 15 Oct 1999 17:24:17 +0100 From: finer@easynet.co.uk Subject: sc play auto start Hello, Is there any way in which sc play could be persuaded to automatically - so that if it was put in the startup items folder it would apple - R itself and switch itself on ? Thanking you, Jem ------------------------------ Date: Fri, 15 Oct 1999 12:54:01 -0600 From: James McCartney <---@---.---> Subject: Re: sc play auto start At 10:24 AM -0600 10/15/99, finer@easynet.co.uk wrote: >Hello, > >Is there any way in which sc play could be persuaded to automatically - so >that if it was put in the startup items folder it would apple - R itself >and switch itself on ? Easy. Just put this.run; at the end of the Main::startUp method. --- james mccartney james@audiosynth.com http://www.audiosynth.com If you have a PowerMac check out SuperCollider2, a real time synth program: ------------------------------ Date: Fri, 15 Oct 1999 11:45:57 -0700 From: Mark Polishook <---@---.---> Subject: file playback woes... This is a multi-part message in MIME format. - --------------15044A1CAB5F334651DA3DF3 Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353" Content-Transfer-Encoding: 7bit James, The enclosed file (below and attached) almost always stops before it should...SC continues to run but no audio is produced. Am I missing something? TIA, Mark ///// ( var improv, groupImprov, instr2, file, sound, signal, orc, filename, envelope, reverb, fx; filename = ":Sounds:floating_1"; sound = SoundFile.new; sound.read(filename); signal = sound.data @ 0; instr2 = Instrument.new( \groupImprov, { arg env; e = Env.sine(0.2); Spawn.ar({ arg spawn, i, synth; var offset; offset = (signal.size).rand - (0.2 * sound.sampleRate); PlayBuf.ar( signal: signal, sigSampleRate: sound.sampleRate, playbackRate: [1, 0.7.rrand(1.2)], offset: offset, loopstart: 0, loopend: signal.size-2 ) * EnvGen.ar(e); }, 2, 0.1 ) * EnvGen.kr(env); } ); orc = Orchestra.new; orc.add(instr2); improv = Pbind( \instrument, \groupImprov, \dur, Pseq(#[15]) ); reverb = { arg in; in = Mix.arFill(7, { CombA.ar(in, 0.3, 0.1.rrand(0.29), 5, 0.2.rrand(0.87), in) }); 4.do({ in = AllpassA.ar(in, 0.05, [0.05.rand, 0.05.rand], 1) }); in * 0.3 }; fx = Pfx(improv, reverb); fx.scope( Event.protoEvent.make({ ~orchestra = orc; ~legato = 1.1 }), 2 ) ) - --------------15044A1CAB5F334651DA3DF3 Content-Type: multipart/appledouble; boundary="------------adE0F3A27B56DBBB9DCC9FA752"; x-mac-type="4150504C"; x-mac-creator="45585452"; name="test" Content-Transfer-Encoding: 7bit Content-Description: emp.sea Content-Disposition: inline; filename="test" - --------------adE0F3A27B56DBBB9DCC9FA752 Content-Type: application/applefile Content-Transfer-Encoding: base64 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 jsEwB0hHMgdOdSQAJgHiiOKJsodi+IDBwIcyA8LALgNIR87ASEfSh2UIkoJiBESBTnVTQGDk TnUAAACIAAAAmAAAEYoAAAB4AAAAIAAEPzwAAanwAJI/PAABqfAApj88AAGp8AC6PzwAAanw ANY/PAABqfABDD88AAGp8AEsPzwAAanwAU4/PAABqfABbj88AAGp8AIoPzwAAanwG+w/PAAC qfAa1D88AAKp8Bt6PzwAAqnwG/w/PAACqfAPAj88AAKp8AAAAApIgAAEpAAABKQAAAAAMgFR gAAAAAQxLjUxJkF1dG9FeHRyYWN0b3IgMS41MSCpIDE5OTUgQmlsbCBHb29kbWFuAAAAFBOp IDE5OTUgQmlsbCBHb29kbWFuAAABaQANBkdFTkVWQSJBdXRvRXh0cmFjdG9yqiCpIDE5OTUg QmlsbCBHb29kbWFuGUNvbXBhY3RlZCBieSBDb21wYWN0IFByb6gLRXh0cmFjdGluZzogRmls ZXMgcmVtYWluaW5nIHRvIGJlIGV4dHJhY3RlZDokVGhlcmUgaXMgbm90IGVub3VnaCBtZW1v cnkgYXZhaWxhYmxlQkF1dG9FeHRyYWN0b3IgcmVxdWlyZXMgdGhlIEhpZXJhcmNoaWNhbCBG aWxlIFN5c3RlbSAoSEZTKSBzb2Z0d2FyZUhUaGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGF2 YWlsYWJsZSBvbiB0aGlzIHZvbHVtZSB0byBleHBhbmQgdGhlIGFyY2hpdmUmIHBhc3N3b3Jk IHN1cHBsaWVkIGlzIGluY29ycmVjdCBvciB0aGUKdGhlIEZJTkFMIAIgIwN0aGULYSBkaWZm ZXJlbnQAAAAcRVhUUgAAAAFJQ04jAAAAAACARlJFRgAAAAAAgAAAABsAKwEZADwBSwAAAQAA ZAAAAADFx5ypBFN0b3AAAAAWAGIAVgC6AaoAAQAAAAAAAAAAAAAwCgAAAAdBUFBMAAAAAAAB AB////AQAAAQF8AH0BeAA9AXwAfQF+AP0BXAB1AQn/IQEBAYEBATmBAQEBgQEB/4EBAQGBAQ E5gQEBAYEBAf+BAQEBgQEBOYEBAQGBAQH/gQEBAYEBATmBAQEBgQEB/4EBCP+hAVwAdQF+AP 0BfAB9AXgAPQF8AH0BAAABAf///wH///8B////Af///wH///8B////Af///wH///8B////Af ///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH/// 8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////AAAAAYAGYAlwCxAWkA AQEAAAAAAAAAAfQAADAKAAAAGAA8ABAA9gHwAAMBAAAAAAAAAAH3AAAwCgAAABgAAAAAAMAB kAABAAAAAAAAAAAB9QAAAAAAAAAYAAAAAADMAZAAAQAAAAAAAAAAAfYAAAAAAAAADgBeAG8A wgGRANJVVTAKAAAADgBYAFYAzAGqANZVVTAKAAAADgBYAEwAzAG0APBVVTAKAAAADgBJAFsA 6wGlAPFVVTAKAAAADgBOAGMA4gGeAPJVVTAKAAAADgBOAFEA4gGvAPNVVTAKAAAADgBOAFsA 4gGlAQRVVTAKAAAADgBeAG8AwgGRAQ5VVTAKAAAADgBYAHQAzAGMAQ9VVTAKAAAADgBYAHQA zAGMARFVVTAKAAAADgBYAEwAzAG0ARJVVTAKAAAAJAABAAAAAABGANIAWgEYBAJPSwAAAAAA CgBGADoBGIgDXjAuAgAAAHAAAQAAAAAAVgEEAGoBSgQCT0sAAAAAAAoARgBKAUqIUFRoaXMg aXMgbm90IHRoZSByZXF1ZXN0ZWQgc2VnbWVudCBmaWxlLg0NVGhpcyBmaWxlIGlzIHNlZ21l bnQgI14wIG9mIF4xIGFyY2hpdmUuAAAAtAACAAAAAABWARgAagFeBAdFeHRyYWN0AgAAAAAA VgDDAGoBCQQEUXVpdAAAAAAACgBGAEoBXoh8VGhpcyBpcyBhbiBNRlMgdm9sdW1lLiBBdXRv RXh0cmFjdG9yIHdpbGwgbm90IGJlIGFibGUgdG8gcHV0IHRoZSBmaWxlcyBpbiBmb2xkZXJz Lg0NRG8geW91IHdpc2ggdG8gZXh0cmFjdCB0aGUgZmlsZXMgYW55d2F5PwAAAM4ABAAAAAAA hAD6AJgBQAQEU2tpcAAAAAAAZgD6AHoBQAQEU3RvcAAAAAAAZgBGAHoA5gQRUmVwbGFjZSBU aGlzIEZpbGUCAAAAAACEAEYAmADmBBZSZXBsYWNlIEFMTCBEdXBsaWNhdGVzAAAAAAAKAEYA WgFAiFbSXjDTIGFscmVhZHkgZXhpc3RzLg0NRG8geW91IHdpc2ggdG8gcmVwbGFjZSBpdCB3 aXRoIHRoZSBmaWxlL2ZvbGRlciBmcm9tIHRoZSBhcmNoaXZlPwAAAHQAAgAAAAAAdgDrAIoB MQQEU2tpcAAAAAAAdgCYAIoA3gQEU3RvcAAAAAAACgBGAGoBMYhA0l4w0yBjb3VsZCBub3Qg YmUgZXh0cmFjdGVkIHByb3Blcmx5Lg0NVGhlXjEgYXJjaGl2ZSBpcyBkYW1hZ2VkLgAAAKgA AgAAAAAAdgEOAIoBVAQEU2tpcAAAAAAAdgC7AIoBAQQEU3RvcAAAAAAACgBGAGoBVIh0VGhl IEZJTEUg0l4w0yBjYW5ub3QgYmUgZXh0cmFjdGVkLg0NQSBGT0xERVIgd2l0aCB0aGF0IG5h bWUgYWxyZWFkeSBleGlzdHMgKHlvdSBjYW7VdCByZXBsYWNlIGEgRk9MREVSIHdpdGggYSBG SUxFKS4AAABMAAEAAAAAAHYA+gCKAUAEAk9LAAAAAAAKAEYAagFAiCxDYW5ub3QgcmVhZCDS XjDTLg0NVGhlXjIgYXJjaGl2ZSBpcyBkYW1hZ2VkLgAAAFoAAgAAAAAARgDSAFoBGAQEU2tp cAAAAAAARgB/AFoAxQQEU3RvcAAAAAAACgBGADoBGIgm0l4w0yBpcyBsb2NrZWQgYW5kIGNh bm5vdCBiZSBtb2RpZmllZC4AAABgAAIAAAAAAFYAyABqAQ4EBFNraXAAAAAAAFYAdQBqALsE BFN0b3AAAAAAAAoARgBKAQ6IK0EgZGlzayBlcnJvciBvY2N1cnJlZCB3aGlsZSBhY2Nlc3Np bmcg0l4w0y4CAAAAZgACAAAAAABWAMgAagEOBARTa2lwAAAAAABWAHUAagC7BARTdG9wAAAA AAAKAEYASgEOiDFBIGZpbGUgZXJyb3IgKF4xKSBvY2N1cnJlZCB3aGlsZSBhY2Nlc3Npbmcg 0l4w0y4gAgAAAGQAAgAAAAAAVgEYAGoBXgQEU2tpcAAAAAAAVgDFAGoBCwQEU3RvcAAAAAAA CgBGAEoBXogwVGhpcyB2b2x1bWUgaXMgZnVsbC4NDdJeMNMgY291bGQgbm90IGJlIHdyaXR0 ZW4uAAAASgADAAAAAAAtAIIAQQDIBAJPSwAAAAAALQAvAEEAdQQEUXVpdAAAAAAACQBYABkA yJAAAAAAAAAJAAoAGQBQiAlQYXNzd29yZDo4AAAANAACAAAAAACZAY0ArQHTBAJPSwAAAAAA mQE6AK0BgAQEUXVpdAAAAAAADQANAI0B04gCXjAAAADiAAoAAAAAAJ0BNACxAYQEBExvYWQA AAAAAM8AJQDjAHUEBkhpZGRlbgAAAAAAfgE0AJIBhAQGQ2FuY2VsAAAAAAAfASAAMwGPgAAA AAAAADcBNABLAYQEBUVqZWN0AgAAAAAAUwE0AGcBhAQFRHJpdmUCAAAAAAA0AAwAtgEeAAAA AAAAAM8ACwDjAB8AAAAAAAAAcgEzAHMBhYAAAAAAAAAABJQAZQT0iAAAAAAAAAkADAAaAYaI KVBsZWFzZSBsb2FkIF4wc2VnbWVudF4xXjIgb2YgdGhlIGFyY2hpdmXJAgAAASwADgAAAAAA +QCXAQ0A5wQIT2xkIE9wZW4AAAAAAPoANwEOAIcEBkhpZGRlbgAAAAAAdAEuAIgBhAQGQ2Fu Y2VsAAAAAAAlAEAAOQERgAAAAAAAACMBLgA3AYQEBUVqZWN0AgAAAAAAPwEuAFMBhAQFRHJp dmUCAAAAAABQADkAwgEYAAAAAAAAAPoAFgEOACoAAAAAAAAAYwEtAGQBhYAAAAAAAAQUABQE eQB0iAAAAAAAAJABLgCkAYQEBE9wZW4AAAAAAKwBLgDAAYQECkV4dHJhY3QgEUUAAAAAAAkA BgAZAMeIGlNlbGVjdCBEZXN0aW5hdGlvbiBGb2xkZXLJAAAAAAAlAAYANQA9iAdWb2x1bWU6 AgAAAAAAOwAGAEsAN4gHRm9sZGVyOgQAAAEAAAAwRwAAL0cAAAK6AI+9eBAqAAAAHAK6AA9E QVRBAAAAglpFUk8AAACORFJFTAAAAJpDT0RFAAIAplNJWkUAAADKdmVycwAAANZFWFRSAAAA 4lNUUiMAAADuQk5ETAAAAPpDTlRMAAABBldJTkQAAAESRlJFRgAAAR5JQ04jAAABKkRMT0cA AwE2QUxSVAAKAWZESVRMAA4B6gAA//8oAAAAAAAAAAAA//8IAAA2AAAAAAAA//8oAABEAAAA AAAC//8cAABIAAAAAAAB//8cACBYAAAAAAAA//8oACKKAAAAAP////8AACMWAAAAAAAB//8A ACMkAAAAAAAA//8AACNaAAAAAADI//8EACNyAAAAAACA//8AACTfAAAAAADI//8gACT/AAAA AADI//8gACUeAAAAAACA//8AACU4AAAAAACA//8AACVDAAAAAAH0//8EACZHAAAAAAH3//8E ACZjAAAAAAH1//8EACZ/AAAAAAH2//8EACabAAAAAADS//8EACa3AAAAAADW//8gACbJAAAA AADw//8gACbbAAAAAADx//8gACbtAAAAAADy//8gACb/AAAAAADz//8gACcRAAAAAAEE//8g ACcjAAAAAAEO//8gACc1AAAAAAEP//8gACdHAAAAAAER//8gACdZAAAAAAES//8gACdrAAAA AADS//8EACd9AAAAAADW//8gACelAAAAAADw//8gACgZAAAAAADx//8gACjRAAAAAADy//8g ACmjAAAAAADz//8gACobAAAAAAEE//8gACrHAAAAAAEO//8gACsXAAAAAAEP//8gACt1AAAA AAER//8gACvZAAAAAAES//8gACxDAAAAAAH0//8EACyrAAAAAAH3//8EACz5AAAAAAH1//8E AC0xAAAAAAH2//8EAC4XAAAAAA== - --------------adE0F3A27B56DBBB9DCC9FA752 Content-Type: application/octet-stream; name="test" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="test" AQF3agAABKKARGVmcFYHcIB4gGBwiHBwhmCHAHAIAAAGiGiZgHAAcAeGZoBwgHkJhmgHBwCH AAAIeQAAh3iQgIhgmYAIiQCYgIeQkACIAIBwmQgAgAgAAJB5hwCABoCJgJCAAIAAaHkAeYAA AIAAAABwAAAAAIAAAJCYAAB3AICAiZAIh4lQkGgKAAI2AGBXZEJwUwoTRFVTAABgAABghCIC UMWEJ4CQzJt3f2PyrzbuBZm3aVTtgVhYexChY6V/Zz7XKAbl3sfWzedz4Q7lf23/RxQShv7G nDGATEuS+DRBr7K83/bVTyX/70LVXKs5Gbcy8r3cS7rVKelbqcipbzcPny15v/2re3CNma/Y Qpl5OD4a1OtqeXTjq6WRxa8dWrCrCrC74rv7pBsz6fqcg08GP2qUwG1+Xen+nS5Nmb4adbYh HjffCaE7mbkJ9vcGaXYS2OgMe6EMW5S1+Fj8qGHrcMJIw3lyc8IUtYbxvofNDU/ChgwoybY4 HRA2jJB8Pn7KBcBhSj9bg/Rhow0UR9hqPtLBvzaj2lR+pqP+n4fC4CWB7Gof9WCe9hSUWUpB eW7LLHeqkxCkxlSUyk+dUmSUnXVJ+LUk7iOpJ3HKTOVJoFJ01SdYpO+qT9Ck/V/8TQneMo/I 6jvFH/DqP+SjfXJ7hvrKT2qk/wpL7qSQ3WT6FSN6rLJ3VSd4pPEqQ8ek8yEIT2JPOwpLJ8WN MJv70vVv7fA5oFY0MyEft6n3dEDN9nWs+2BHBh2fl8k+QQPCfiJIwAAAAEAAAAAABQAFAAAA AAAAAAAAQHgAAFVwaFBmaJgHmHYJAJeJCJgIAAkJcJcAAAAHeAkEdlRmhQdWVWlFVmd4mAeA CAABMzVWZ3eICCIzVUVWZ3Bgqpp5xnC7hxnjz0Q3zx5cfo4G3YZZz16Ibrr5aIZY8sLQHu34 Rv0QxntYawjwB6WHOV+PECpy5yn4g56bKaXSGH7Q6OvuRCy691+Mc7sN/+6ujZSqsDyjn8hd ZhLzcF7JyjbU6h1gsr4FzD9sc4w/eGkaGlYNfRAnlwlhmiTVDwfql+KaaIz3pLtlNCRb5Yc7 MrsJVabNYxU0d3GPnhZGdX4ghVkgeaLLz98M/sG1NFCayx3bspZghQwUJlTSAUP/lXZOJWfb BFmHS5Mso8ON8v8jmlOoo7b4/f48tyN0APoZA63m5HBTueGwNv9IYl4iT4x2+TEnfq0Q02dV k0gdWorP1YnaVdbk8YUvxx45ZxmC+l6JSwtdg60/26warKQaw+cl1A1Dpo9UNjs2mzVS+kfk EeHMJfWCbZO4Go/7nt+0jIotycFbI221Nn6E7ekhV2+NxPaaPBRxeJaH9w4HLeU9EO3KX/Ve zv1e/610oht6CIbvLrsCVXYAl/V3oTs8nvq6jp0P4x4ePYlNuOSabPctGc1wZx8K9EPegpre Cn69QKXYVw9a9hff0stxO1Ku9l9/GOWT4oaQ970B16awkoWYhqVDWMdKPdPqn+/0S9bvSp35 BqYhQDlmW0xo+yo+XNP0IR54sF8I+UiEfk2i24BIAzZD83y3xzxA/VZqHJctMopprAAAAP0h drMAAQAPQ29tcCAxNGMgKHRlc3QpAQAAAAhURVhUU0NqbbQsvk60LMLzAAA2pv1YAAYAAAVg AAAD+wAAAj8AAAJb - --------------adE0F3A27B56DBBB9DCC9FA752-- - --------------15044A1CAB5F334651DA3DF3-- ------------------------------ End of sc-users-digest V1 #69 *****************************