Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
db0baced
Kaydet (Commit)
db0baced
authored
Nis 04, 1996
tarafından
Jack Jansen
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Added support for editing override preferences in applets
üst
bbb4e10e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
181 additions
and
74 deletions
+181
-74
EditPythonPrefs.py
Mac/scripts/EditPythonPrefs.py
+132
-25
EditPythonPrefs.rsrc.hqx
Mac/scripts/EditPythonPrefs.rsrc.hqx
+49
-49
No files found.
Mac/scripts/EditPythonPrefs.py
Dosyayı görüntüle @
db0baced
...
@@ -18,13 +18,20 @@ DIALOG_ID = 512
...
@@ -18,13 +18,20 @@ DIALOG_ID = 512
TEXT_ITEM
=
1
TEXT_ITEM
=
1
OK_ITEM
=
2
OK_ITEM
=
2
CANCEL_ITEM
=
3
CANCEL_ITEM
=
3
REVERT
_ITEM
=
4
DIR
_ITEM
=
4
DIR
_ITEM
=
5
TITLE
_ITEM
=
5
# Resource IDs in the preferences file
# Resource IDs in the preferences file
PATH_STRINGS_ID
=
128
PATH_STRINGS_ID
=
128
DIRECTORY_ID
=
128
DIRECTORY_ID
=
128
OPTIONS_ID
=
128
# Override IDs (in the applet)
OVERRIDE_PATH_STRINGS_ID
=
129
OVERRIDE_DIRECTORY_ID
=
129
OVERRIDE_OPTIONS_ID
=
129
READ
=
1
WRITE
=
2
WRITE
=
2
smAllScripts
=
-
3
smAllScripts
=
-
3
kOnSystemDisk
=
0x8000
kOnSystemDisk
=
0x8000
...
@@ -61,7 +68,7 @@ def message(str = "Hello, world!", id = MESSAGE_ID):
...
@@ -61,7 +68,7 @@ def message(str = "Hello, world!", id = MESSAGE_ID):
n
=
ModalDialog
(
None
)
n
=
ModalDialog
(
None
)
if
n
==
1
:
break
if
n
==
1
:
break
def
interact
(
list
,
pythondir
):
def
interact
(
list
,
pythondir
,
title
):
"""Let the user interact with the dialog"""
"""Let the user interact with the dialog"""
opythondir
=
pythondir
opythondir
=
pythondir
try
:
try
:
...
@@ -70,16 +77,20 @@ def interact(list, pythondir):
...
@@ -70,16 +77,20 @@ def interact(list, pythondir):
except
os
.
error
:
except
os
.
error
:
pass
pass
d
=
GetNewDialog
(
DIALOG_ID
,
-
1
)
d
=
GetNewDialog
(
DIALOG_ID
,
-
1
)
tp
,
h
,
rect
=
d
.
GetDialogItem
(
1
)
tp
,
h
,
rect
=
d
.
GetDialogItem
(
TITLE_ITEM
)
SetDialogItemText
(
h
,
title
)
tp
,
h
,
rect
=
d
.
GetDialogItem
(
TEXT_ITEM
)
SetDialogItemText
(
h
,
string
.
joinfields
(
list
,
'
\r
'
))
SetDialogItemText
(
h
,
string
.
joinfields
(
list
,
'
\r
'
))
## d.SetDialogDefaultItem(OK_ITEM)
d
.
SetDialogCancelItem
(
CANCEL_ITEM
)
while
1
:
while
1
:
n
=
ModalDialog
(
None
)
n
=
ModalDialog
(
None
)
if
n
==
OK_ITEM
:
if
n
==
OK_ITEM
:
break
break
if
n
==
CANCEL_ITEM
:
if
n
==
CANCEL_ITEM
:
return
None
return
None
if
n
==
REVERT_ITEM
:
##
if n == REVERT_ITEM:
return
[],
pythondir
##
return [], pythondir
if
n
==
DIR_ITEM
:
if
n
==
DIR_ITEM
:
fss
,
ok
=
macfs
.
GetDirectory
(
'Select python home folder:'
)
fss
,
ok
=
macfs
.
GetDirectory
(
'Select python home folder:'
)
if
ok
:
if
ok
:
...
@@ -91,42 +102,62 @@ def interact(list, pythondir):
...
@@ -91,42 +102,62 @@ def interact(list, pythondir):
rv
.
append
(
i
)
rv
.
append
(
i
)
return
rv
,
pythondir
return
rv
,
pythondir
def
main
():
def
getprefpath
(
id
):
# Load the path and directory resources
try
:
try
:
h
=
OpenResFile
(
'EditPythonPrefs.rsrc'
)
sr
=
GetResource
(
'STR#'
,
id
)
except
Res
.
Error
:
except
(
MacOS
.
Error
,
Res
.
Error
):
pass
# Assume we already have acces to our own resource
return
None
,
None
d
=
sr
.
data
l
=
restolist
(
d
)
return
l
,
sr
def
getprefdir
(
id
):
try
:
dr
=
GetResource
(
'alis'
,
id
)
fss
,
fss_changed
=
macfs
.
RawAlias
(
dr
.
data
)
.
Resolve
()
except
(
MacOS
.
Error
,
Res
.
Error
):
return
None
,
None
,
1
return
fss
,
dr
,
fss_changed
def
openpreffile
(
rw
):
# Find the preferences folder and our prefs file, create if needed.
# Find the preferences folder and our prefs file, create if needed.
vrefnum
,
dirid
=
macfs
.
FindFolder
(
kOnSystemDisk
,
'pref'
,
0
)
vrefnum
,
dirid
=
macfs
.
FindFolder
(
kOnSystemDisk
,
'pref'
,
0
)
preff_fss
=
macfs
.
FSSpec
((
vrefnum
,
dirid
,
'Python Preferences'
))
preff_fss
=
macfs
.
FSSpec
((
vrefnum
,
dirid
,
'Python Preferences'
))
try
:
try
:
preff_handle
=
FSpOpenResFile
(
preff_fss
,
WRITE
)
preff_handle
=
FSpOpenResFile
(
preff_fss
,
rw
)
except
Res
.
Error
:
except
Res
.
Error
:
# Create it
# Create it
message
(
'No preferences file, creating one...'
)
message
(
'No preferences file, creating one...'
)
FSpCreateResFile
(
preff_fss
,
'Pyth'
,
'pref'
,
smAllScripts
)
FSpCreateResFile
(
preff_fss
,
'Pyth'
,
'pref'
,
smAllScripts
)
preff_handle
=
FSpOpenResFile
(
preff_fss
,
WRITE
)
preff_handle
=
FSpOpenResFile
(
preff_fss
,
rw
)
return
preff_handle
# Load the path and directory resources
def
openapplet
(
name
):
fss
=
macfs
.
FSSpec
(
name
)
try
:
try
:
sr
=
GetResource
(
'STR#'
,
PATH_STRINGS_ID
)
app_handle
=
FSpOpenResFile
(
fss
,
WRITE
)
except
(
MacOS
.
Error
,
Res
.
Error
)
:
except
Res
.
Error
:
message
(
'
Cannot find any sys.path resource! (Old python?)
'
)
message
(
'
File does not have a resource fork.
'
)
sys
.
exit
(
0
)
sys
.
exit
(
0
)
d
=
sr
.
data
return
app_handle
l
=
restolist
(
d
)
try
:
def
edit_preferences
():
dr
=
GetResource
(
'alis'
,
DIRECTORY_ID
)
preff_handle
=
openpreffile
(
WRITE
)
fss
,
fss_changed
=
macfs
.
RawAlias
(
dr
.
data
)
.
Resolve
()
except
(
MacOS
.
Error
,
Res
.
Error
):
l
,
sr
=
getprefpath
(
PATH_STRINGS_ID
)
dr
=
None
if
l
==
None
:
message
(
'Cannot find any sys.path resource! (Old python?)'
)
sys
.
exit
(
0
)
fss
,
dr
,
fss_changed
=
getprefdir
(
DIRECTORY_ID
)
if
fss
==
None
:
fss
=
macfs
.
FSSpec
(
os
.
getcwd
())
fss
=
macfs
.
FSSpec
(
os
.
getcwd
())
fss_changed
=
1
fss_changed
=
1
# Let the user play away
# Let the user play away
result
=
interact
(
l
,
fss
)
result
=
interact
(
l
,
fss
,
'System-wide preferences'
)
# See what we have to update, and how
# See what we have to update, and how
if
result
==
None
:
if
result
==
None
:
...
@@ -158,6 +189,82 @@ def main():
...
@@ -158,6 +189,82 @@ def main():
sr
.
AddResource
(
'STR#'
,
PATH_STRINGS_ID
,
''
)
sr
.
AddResource
(
'STR#'
,
PATH_STRINGS_ID
,
''
)
CloseResFile
(
preff_handle
)
CloseResFile
(
preff_handle
)
def
edit_applet
(
name
):
pref_handle
=
openpreffile
(
READ
)
app_handle
=
openapplet
(
name
)
notfound
=
''
l
,
sr
=
getprefpath
(
OVERRIDE_PATH_STRINGS_ID
)
if
l
==
None
:
notfound
=
'path'
l
,
dummy
=
getprefpath
(
PATH_STRINGS_ID
)
if
l
==
None
:
message
(
'Cannot find any sys.path resource! (Old python?)'
)
sys
.
exit
(
0
)
fss
,
dr
,
fss_changed
=
getprefdir
(
OVERRIDE_DIRECTORY_ID
)
if
fss
==
None
:
if
notfound
:
notfound
=
notfound
+
' and '
+
'directory'
else
:
notfound
=
'directory'
fss
,
dummy
,
dummy2
=
getprefdir
(
DIRECTORY_ID
)
if
fss
==
None
:
fss
=
macfs
.
FSSpec
(
os
.
getcwd
())
fss_changed
=
1
dummy
=
dummy2
=
None
# Discard them.
if
notfound
:
message
(
'Warning: initial
%
s taken from system-wide defaults'
%
notfound
)
# Let the user play away
result
=
interact
(
l
,
fss
,
name
)
# See what we have to update, and how
if
result
==
None
:
sys
.
exit
(
0
)
pathlist
,
nfss
=
result
if
nfss
!=
fss
:
fss_changed
=
1
if
fss_changed
or
pathlist
!=
l
:
if
fss_changed
:
alias
=
nfss
.
NewAlias
()
if
dr
:
dr
.
data
=
alias
.
data
dr
.
ChangedResource
()
else
:
dr
=
Resource
(
alias
.
data
)
dr
.
AddResource
(
'alis'
,
OVERRIDE_DIRECTORY_ID
,
''
)
if
pathlist
!=
l
:
if
pathlist
==
[]:
if
sr
.
HomeResFile
()
==
app_handle
:
sr
.
RemoveResource
()
elif
sr
and
sr
.
HomeResFile
()
==
app_handle
:
sr
.
data
=
listtores
(
pathlist
)
sr
.
ChangedResource
()
else
:
sr
=
Resource
(
listtores
(
pathlist
))
sr
.
AddResource
(
'STR#'
,
OVERRIDE_PATH_STRINGS_ID
,
''
)
CloseResFile
(
app_handle
)
def
main
():
try
:
h
=
OpenResFile
(
'EditPythonPrefs.rsrc'
)
except
Res
.
Error
:
pass
# Assume we already have acces to our own resource
if
len
(
sys
.
argv
)
<=
1
:
edit_preferences
()
else
:
for
appl
in
sys
.
argv
[
1
:]:
edit_applet
(
appl
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
print
# Stupid, to init toolboxes...
print
# Stupid, to init toolboxes...
...
...
Mac/scripts/EditPythonPrefs.rsrc.hqx
Dosyayı görüntüle @
db0baced
(This file must be converted with BinHex 4.0)
(This file must be converted with BinHex 4.0)
:&%9NDA43HA4SEfj3FQ9QFbjbFh*M!(*cFQ058d9%!3#3"`a
'KE-!N!3"!!!!#bN
:&%9NDA43HA4SEfj3FQ9QFbjbFh*M!(*cFQ058d9%!3#3"`a
4jf8!N!3"!!!!#bJ
!!!S
T!!!"(
6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%9NDA43HA4
!!!S
S!!!"+
6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%9NDA43HA4
SEfj3FQ9QFbjbFh*MF`)!!!
!rN!B!!$q3#!#3'+eNVN-!N!B-4[m4`+KT!4e!%Ir
SEfj3FQ9QFbjbFh*MF`)!!!
"bFh*M8P-!!(*cFQ058d9%!3!!!!%!N"1YC+j$!*!
c%h!!%#lrmlh5%@B386Dq9@X"!8*%[D'q9@X"!6"4-J&R(N39$!!!('85F!!3,N-
'$&(r%F#SD3%G3"(rma0`!"!Zrr1pdK&Q%&%f[P9V!3,fK[P9V!3%`86)"Caj
9$!!!(f)'F!&J!!%"!LaD9#dZ4,d"!"Xm!@B`*e8q'NU!)&-#+!#r!#iL!1d*!J%
%&3`!!"aP%R!!%#j$&3`!!"pL"R!"B!!"!3)X@P3Y,N5p!3!E2!&Q-#G92KT+J#"
!3)-Sfc36UGF[$%kk!3P+CfX"!+CA3cS!!!%!!!%!!!!#J!!!"%!!!!JJ!!!3%!
!
6!LJ![`!Z)J$Y#3)"!%#$+0Xd%kRA,`a1ZJ%*5QGV!3#Q9d-k!!!"!!!"!!!!!S
!
!
)BJ!!%'%!!#$`J!"!m%!!JIiJ!3(K%!)"!)J%!MK%#!6))K!(L"mJ!2J1N!-!$N
!
!!4!!!!))!!!%"!!!#')!!""K!!!Jm)!!32"!!)(q)!%"i4!#!3#)"!)i4!J%b#
J%`!k%"$J2!J-(MJ%!!(i!J`!1!%5!%!!N[L!!%`"!!!J!J!!%!3!!!J)!!!%%!!
)3"iJI)!$i$T!$!!j)"-!1K!3i$`)$"ii"!!"q!)-!$J"%J"!!*,iJ!"-!3!!)!)
!!
L!!!!&!!!!!J!!!!3!!!!1!!!!(`!!!$q!!!"r`!!!rq!!!Ir`!!2rq!!(rr`!
!!
"!%!!!)#!!!""!!!!)J!!!"3!!!!)!!!!%!!!!$J!!!"m!!!!rJ!!!Im!!!2rJ
$rrq!"rrr`!rrrq!Irrr`2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!IrrrJ
!!(rm!!$rrJ!"rrm!!rrrJ!Irrm!2rrrJ(rrrm$rrrrKrrrrmrrrrrRrrrrmrrrr
$rrri!Irr`!$rri!!Irm!!$rq!!!Ir!!!$rJ!!!I`!!!$i!!!!F!!!!#!!*!%#P$
q(rrrr!rrrrJ(rrri!rrrq!(rrm!!rrq!!(rr!!!rrJ!!(r`!!!ri!!!(m!!!!q!
J!"k%J!!(S5!!!!!(39"36!#3"Ka3HA3`!!!!!8C548B!N!@!5801)`#3"!%X!!!
!!!(!!!!!J!#3"!T3i!!HK)!!"k%J!!!!"d&38%`!N!C!!3!#J!4!#f!6N!!L#%8
!3!%!!S!%3!YJ%j!!)JK&*),M33-J`a-r#`X%%!)J!8!!J!%!!i!(`!rJ(r!rq(r
NJZ0"!b$$%cm,#`33!L!"3!#!!3!$J!I!$q!Im$riIrcrrhrr2rmIr`rl"r!$i!(
mrrprrcrr(rm2q`I`!q!"`!#!!!!%!*!3r`#3([m!r`#3(2m!!!$r!*!Dr`!!pI8
!!)!!!!3!N"$r!*!Hr`$r!*!Fr`!!!2m!N"Vr!!$ep3$r!*!Br`!!pC!%!2m!N"E
!r`#3'2m!!2@3"!$r!*!@r`!!pI@`X2Ae!2m!N"6r!!$epI@`X2Aep3$r!*!5r`!
r!!$epE#`pI8!r`#3&2m!!2AepE#`pIAe!2m!N",r!!$epI@`N!6epI8!r`#3%2m
!
pIAeX*!%pIAe!2m!N"$r!!$eN!5`N!6eN!3!r`#3$[m!!2@3",#3"2q3"2Ae!2m
!
!2@3",#3"2@3"!$r!*!1r`!!pC!%X*!%rj!%pI8!r`#3$2m!!2@3"E$rrrm)N!6
!N!cr!!$eN!@`rrrr#*!%rrAe!2m!N!Vr!!$eN!Er-`L3"rrep3$r!*!)r`!!pC!
rpI8!r`#3#[m!!2@3"[mc#*!(rrAe!2m!N!Mr!!$eN!Er#!Jcrrrr#*!%rrAe!2m
'r`J)-rrrr`L3"2rep3$r!*!'r`!!pC!'r`Jcrrrhprm)N!ArpI8!r`#3"2m!!2@
!N!Er!!$eN!Er#$2rrrIhr`L3"Irep3$r!*!%r`!!pC!(rj!%prAerc-)N!ArN!8
3"rq3"2IepImc#*!&rj!&!!$r!!$eN![rN!8"#*!&-rrrrrIr!!$rpr@3#Irr-`L
!!2m!!2@3#rq3"3%)N!8crrrrprm!!2rhpC!*rrmc#*!+-rrrrrIhr`!!rrIeN!I
3#M2rrrrhprm!!2rhpC!(r`Ahrrmc-c-)N!Bcrrrrprm!N!6rpr@3"[m&"IIhrrr
r"IIrrc-c-`L3"M2rrrrhr`#3"2rhpC!'r`8&prIrrrmcN!3)#$2rN!3!N!Erpr@
r-j!%#!Jcrj!%!*!'rrIeN!ErrrAeprIhrj!%-c-crrrr!*!)rrIeN!chN!6rN!B
3"[rrpIAhprIrN!3c-c2rrrm!N!Mrpr@3$2H3"2q3"J#3#IrhpC!%rrreN!MhN!6
!N!Rrpr@3"2rrpC!)pj!%rrrr!*!+rrIepIrepIreN!Mhprm!N!lrprArpIArpIq
rrrm!N!VrprAerrAerr@3#2Ihr`#3$[rhpIrepIrerj!&pIIhr`#3%2rhpIrrpC!
3"IAhprm!N"$rprArrr@3"rIhr`#3%[rhpC!)prIr!*!8rrIeN!Ehprm!N"Erpr@
(prIr!*!5rrIeN!Mhprm!N"6rpr@3"[Ihr`#3&[rhpC!%prIr!*!BrrIepIIhr`#
3
"2Ihr`#3'2rhpIAhprm!N"VrprIhr`#3(2rhr`#3([m!N"%"!*!)r`#3$[rer`#
3
'[rhprIr!*!FrrIr!*!Hr`#3%3%!N!Mr!*!1rrAr!*!-rrAepIm!N!VrpE#`pIr
3$2repIAr!*!+rr@`X2Arr`#3#2repE$rr`J)r`#3"[repIAr#*!&r`#3"2repIA
r!*!)rrAeX2rr#!Mr!*!'rrAepIm)N!Ar!*!%rrAepIm)r`J)r`J)r`!!rr@3"Ir
r#2m)#2m)#2m!!2reN!Arprrrr`J)-rrr!2reN!Er-c-)-c2rr`!!rr@3"Irr-j!
hrrrr#!Jcrrm!rr@3"[mc-`Jc-rrr!!$rpC!&rrmcN!6rr`!!!2repIrrpIArN!B
%rrm!!!$rpIArrrAerj!'!*!%rrArrrAepIIr!2rr!*!&rr@3"2Ir!*!+rrAeprm
!N!6rpIrrpIAeprm!rrm!N!ArpC!%prm!N!VrpIAhr`#3$2rhr`#3$[m!N!U!!!!
!
N!crprm!N!lr!*!+J!!!!!m!N!I`m!#3"3m!$`#3"I"9$r!!!!!2!&r`$`!!!2
!
!
$`#3"r$`!*!&$`!2!*!&m&82m!!!!!m!Ar!2!!!!m!$`!!$`!!m!$mm!m!m!m!
!
!
m!!!m!!2!!r2!2!2!2!!!2crm!hr$`!!!2h3hIm!m!!!rphGr`!2!2m!rrrr!!$
!
r2r`$Im2!!!!rG$Gr`$`!!$rhGhr!!m!r`$rrrm!!2$r!!c`r`!!$`!!c`#3"I!
`r`!-m2m!!!m!!-m!N!A`$2!!N!82c`#3"r!!N!8#!*!)$`#3$r$`!*!0$`!2!*!
-m!#3"3r2!*!(m!#3"3)!N!J2!*!2m2!!N!d2!!m!N!h`!!$`!*!,$`!!!!m!N![
0m!!!m!#3#`m!!!!2!*!,m!!&8!$`!*!*$`!!"9!!$`#3#I!!!&99!!$`!*!($`!
`!!93!2!!N!N2!!!&8!!2!*!*m!!!998!!2!!N!F2!!!!998!!!m!N!I`!!!&99r
!!&99!!!2!*!(m!!!"99Irr!!m!#3"3m!!!!&rr!!$`!2!*!&m!!!!!r3!!!!m!$
rm!$`!*!&$`!!!!Arm!!2!!m!N!A`!!!!$p!!!!$`!2!!!!!2!*!%r-hrm!!2!!m
`!!!!$`#3"2c0rr!!$`!2!!!!m!!!!!r0rmc`!!$`!2!!$`#3"!rrr!$`!!!2rrm
!!!$`!!!!$mhrc2!!!2!!m!!2!*!%$rrm!2!!!!rrr`$`!*!'rrr`!!!0rrc`$m!
!
m!#3"[rrm!!!$Irmm!r!!*!%rp!!N!30rrc2!2`!!!!2(2rGd!!!$Irmm!!2`
!!
!
N!6rd!#3"!hrr-m!r!!!!!mFrph3!!!0rrc`!!r!!!!2%FcrrGh3$Irr!!!!r
!!
!
$a(-rrhGd!hrr`!!!2`!!!$r!-c2rrhGrr!!!!!2`!#3"3c-crrrm!#3"2`!!2m
!
!2m!c-rrrGhrm!!!!!r!!*!&$-c2rrr`!*!%r!!!r`#3"-c-rr!!N!32`!m!m!!
!
N!6-c2r`!*!%$m!2!2!!!!!-c`#3"r`2!2$rrr$-m!#3"`r!r`!!!!c2!*!*r!#
!
!!c2!*!(r!m!m2rrm-c`!*!($m$r!!!!$-m!N!Rm!*!%c2!!N!N2`!!!$-m!N![
3"-c`!*!*$m!!!!c2!*!,r!!!c2!!N!X2`!c2!*!0r-c`!*!0$mm!N!r`!*!+&3!
m!!$-m!#3#`r!$-m!N!hmc2!!N!d2c`#3$r!!N!S9!#)!D!&D!Cm!!3%!!3#3"3)
L!'J"@J'I!!%"!!%!N!8#!*!&pJ!&!*!&-J!8!0-"*K!*4@4TG#"8CAKdK`#3"!%
!N!AL!!8!N!95!"8!m`%R%!P&C'Pd)&4PH(5(!*!%!4J!m!%X!5`%!Np,!*!%!4J
B!2!",!%X"!*25`#3"!%B!"3",!"1"!C$B@jMC@`!N!AF!"3!m!%U""e5C@e[GQ8
!&!%X!%i%"N0KEQ0PE!#3"IS!&!%-!5X%(e0PE'9MG#!N+&"C9%K26LNJD'pYC5"
JFhPc,R"KG'JJF(*PCL"KEQ3JCAKTG!#3"[S!&!%-!5X%(e0PE'9MG#!N+&"C9%K
QEfaNCA)Z,LjQ!*!&$3!A!"i"*JJ*4@4TG#"8CAKd,J#3"5S!&3"1!5H)6d9ZG'9
26LNJD'pYC5"QEfaNCA)Z,LjQ!*!&#J!8!#i"*SK24@jdCA)JFhPc,R"KG'JJBf
p
b)(0jFbj`BA4S)'0[EA"[EQ9ZG(-X)'pZC5"`CA)JE'PZC3dS9A0P)#3S8&P85%
p
YF'pZC@jdFb`JEfjP)("PFL"XD@jP$5K9Ff8J*#K3@94)6diT)'C[FL"`HA4SEfi
1+5"QEh)JF(PdD'pZ)'K[E@8JCQpXC'9b+6S!N!3"!*!%"bU3"!!"!*!%*&"jG$!
JD'pYC5"QEfaNCA)T1J#3"!%!!!!"!!!!#bN!!!ST!!!"(3("fQ`6eJ!!!"`"$J!
!!!!"4P*&4J!"!!!!J!!"!)&*3diM!!%!!!%X!!%!N!3"!!!!#bJ!!!SS!!!"+3'
,3Nj%6!!!!'**3diM!!!!EP0*@N8!!!"k4P*&4J!!!)CTBh-M!!!!NQPME$J!!!#
3!-'8'$i!!!!F!4S!#d*14%`!!!"L5801)`!!!'j659T&!!!!HNC548B!!3#'D@0
HD@0c1!!!!+TTBh-d!!!!YQPME$3!!!$#4%a24`!!!-j%594-!!!!fP"jG$!!!!$
c)`!!!*jTBf`i!!!!UQPMFcJ!!!#fD@0c0!!!!-*TBf`d!!!!cN4-6dF!!!$D4%P
Q!)$rr`!!!4d"`Hj8!5crr`#3"!("lcMrN!3!!!%%!*!&J2rr!!!"%J("ld!",2r
86!!!!1C3HA3`!!!!mJ#!rrm!!!S!N!8",2rr!*!)rj!%!!!""!#3"B$rr`!!!4)
r!!!"23("lkJ",2rr!!!"J3("lk`",2rr!!!&K3("m$`",2rr!!!'L3("lk3",2r
!N!@"rrm!!!Re!*!%!5crr`!!!4d!N!3",2rr!!!"B3#3"!%Xrrm!!!9P!*!%!5c
r
!!!($3("ll!#!2rr!!!*%3#3"!)!rrm!!!NU!*!+#L3"`Hrd$NphEQ9b)(*PFfp
r
r`!!"QN!N!3",2rr!!!'l3#3"!)!rrm!!!Ma!*!%!J$rr`!!#3S"N!#q&!#3"JR
eFQ0P50X
:
`!*!%$NphEQ9b)(*PFfpeFQ0PDV%
:
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment