diff --git a/applications/lazedit/lazedit.lpi b/applications/lazedit/lazedit.lpi
index 2c0587856..75c421394 100644
--- a/applications/lazedit/lazedit.lpi
+++ b/applications/lazedit/lazedit.lpi
@@ -162,9 +162,9 @@
-
+
-
+
diff --git a/applications/lazedit/lazedit_about.lfm b/applications/lazedit/lazedit_about.lfm
index f6e363361..a515af585 100644
--- a/applications/lazedit/lazedit_about.lfm
+++ b/applications/lazedit/lazedit_about.lfm
@@ -1,40 +1,659 @@
-object formAbout: TformAbout
- Left = 478
- Height = 137
- Top = 326
- Width = 320
- Caption = 'About LazEdit'
- ClientHeight = 137
- ClientWidth = 320
+object FormAbout: TFormAbout
+ Left = 348
+ Height = 448
+ Top = 133
+ Width = 545
+ BorderStyle = bsDialog
+ Caption = 'About'
+ ClientHeight = 448
+ ClientWidth = 545
+ KeyPreview = True
OnCreate = FormCreate
+ OnKeyDown = FormKeyDown
+ OnShow = FormShow
LCLVersion = '0.9.31'
- object Button1: TButton
- Left = 120
- Height = 25
- Top = 96
- Width = 75
- Caption = 'Close'
- ModalResult = 1
- TabOrder = 0
- end
- object labelCopyright: TLabel
- Left = 8
- Height = 14
- Top = 56
- Width = 70
- Caption = 'labelCopyright'
- ParentColor = False
- end
- object Label1: TLabel
+ object NoteBook: TPageControl
Left = 0
- Height = 34
- Top = 8
- Width = 320
- Alignment = taCenter
- AutoSize = False
- Caption = 'LazEdit'
- Font.Height = -27
- ParentColor = False
- ParentFont = False
+ Height = 408
+ Top = 0
+ Width = 545
+ ActivePage = LicensePage
+ Align = alTop
+ TabIndex = 1
+ TabOrder = 0
+ object MainPage: TTabSheet
+ Caption = 'General'
+ ClientHeight = 382
+ ClientWidth = 537
+ object Image1: TImage
+ Left = 440
+ Height = 94
+ Top = 2
+ Width = 94
+ Anchors = [akTop, akRight]
+ AutoSize = True
+ Picture.Data = {
+ 1754506F727461626C654E6574776F726B47726170686963553B000089504E47
+ 0D0A1A0A0000000D494844520000005E0000005E0806000000AAD2A36E000000
+ 0473424954080808087C08648800000009704859730000101D0000101D01D1B9
+ 54430000001974455874536F667477617265007777772E696E6B73636170652E
+ 6F72679BEE3C1A0000200049444154789CCD9D779C5C55F9FFDFB74C9FEDBDD7
+ 6CB29B6CB29BDE490881D082898034290A08A2282AA86041AC2816EC282A2282
+ 48EF811042427AD9F464379BEDBDEFEC4E9FB9F7FEFEB853B3094910FDFE9E57
+ 6E66766E3BE7739EFBF473AEA0691AFFBF912008D6C2F2DAE9469365A6A66953
+ 95A0BF2418F0E706FCDE34BFDF9DE8F7BA2D5EB753060D93C51E349A6D1EA3D1
+ 32261B4C03926CEC162543337034E0F7EEEB6E3D7848D334F7FF759F4E26E1FF
+ 17E00BCB6AA64BB2FCDDB191BEE52383DD299AA67E2CD7150491C4D4EC615B62
+ C67A2518F8416FFB91C31FCB85FF43FA3F05BEAC72DE658A12F8DAE860D75CC7
+ 48BFE554C748928CC59688D59688D59E88D59A88C5A66F002EE7186ED7181E97
+ 23F43986C73D8EAA044F794F7B5286CB9E9CB55D920C3FEF6CAA5BF7DFEBDD87
+ D3FF1CF849D3167FD2EB19FBF6487F4795CB396A88DD274932B98593282E9B46
+ 566E31567B12668B8D701BB5D07F1A1A9A069AAAA16AFAF7F0A7A6E9BF79DD2E
+ DCAE3106FBDAE96E3B4A7F77D384C1305B93FC89A939078C26FB0F3A4EEC7EF5
+ 7F8501FC0F812F9FBA68A1D3D1FFAFBEAEA68210840098CC160A4BA6523C691A
+ 852595188D2610848917D03434E053572C4303FCFE00FE40109F3FC0C090839E
+ DE613ABB0709288A0EBEAA0F86AAEA03E2F7FBE9ED6CA0A7ED28BD1D0D04FC9E
+ 988B0BA46615375B6CA9D77536EDD9F9DFC602FE07C0974C9E5312F07B5EE969
+ AFAF565505009B3D99928AE9949457935B508628498802180C321565F9545796
+ 3236EEE2ED8DBB09374F0B01FFE80FEE4292C453DEABBEB183471F7F1997DBAB
+ 03AF6AA127006449C2EB0FA2691A8AA232D8D74A6FDB51BADB8EE0753B743044
+ 89F4ECF23D92C174654FEB81B6FF262EFF35E0B3F22B92CC16DB8BDD6DC79607
+ 033E01C064B63173FE4AA6D52E46966544512029D1CEB4CA62AAA79450515E80
+ D12003303034CA4F1E7D0620226A0451E0E7DFBB13807F3CB71E97DB8BD16820
+ 3D359195E7CDC26236F1C2EB5B78ED9D1D681A2821E0017EFDC33BE8EC1E62E3
+ B643ECA86BC0EB0BEAC7280A2DF53B3971F03DFC3EDDF89164A3969E53F196D7
+ 3376EDE840DBD87F031FF9E3BEA020087271C5ECBF8D0DF75CD7EF718A00926C
+ 60DACCA5D4CEBD008BC5822008D8AC66BE78EB27C8CFCD8C4896518793BD8DED
+ 1C3BDE46536B17B21CE56C4D23322800CDAD3D0C8F8E87C48A4A72A29DA50BA6
+ 535298852489A8AA0EB8AA41756509692989A4A52432636A091E8F8F2DBBEB79
+ 6FCB418E3476525AB59082B2599C38B289D6A35B51827EA1AFE3F02546B37D38
+ A7A4F66FBDADFBEFD434EDD4DAFA23D2C70A7CF1E4B99392D372F6B61EDF9300
+ BA2937A96A36B3165D4C626232A228228A029228100806B1984D0802D437B6F3
+ F6C6DDF4F60F23082084464296A5C8B5354DC36C36461B2E8B180CFA7EABC54C
+ 59712E00F5273A90C4181DA1C2B285D5001C3AD64A7BD7004BE64D65E5D219AC
+ 5C3A83DEFE115E787307EBDE3FC094DA8B289ABC90E3FBD7D3D5B417BFD729F5
+ B6EEBFD59E9CFDC9ECE29AD9BDADFB9B3F2EAC3E36E04BAB16ACE9EF6CF8B7C7
+ 3D2603E417573267C965A465E4B078EE54F61F3A4150511045114914102591A3
+ C7DB58BA603A46A3CCC0E00806594292448A0AB2A8282BA0ADA39786131D800E
+ BCC56C8ADCEF817B6E98D086F6CE7EEA0E1C0FE900DD0FB0DB2CCC9C5E0EC05B
+ 1BF65077A889A75ED848CDD432962DAC66F68C7252926CE80A5FC06C4DA07AE1
+ 2729A95C427DDD5B0C741DC339DA9B12F0B9EBF3CA66AFED6ADAF3FAC781D7C7
+ 027CF1E4B93FE96CDE7F9F120C08A22831EFBC4F50396321A22870D5E54BB870
+ D96C6C56335B761E429244A410E73734B5B374C1748A0BB2993BB392B2E23CCA
+ 4A72319B74CE4E494EA0B9AD4757AC2771FCD18656B23253494B49445155FEF6
+ F45B1C69684355D510C7EBE02F985D892C49A8AA8628EA4F4A20A8B2E74023BB
+ F63762B79951140D0140206270D993B3987DFE2DB437EEE4E8AE97F179C60C7D
+ 6D075FCD2999F9BD9E96BAEFFDA798FD47C00B8220E49554AFEF6A39BC02344C
+ 661BCB2FB9919C82B288481975B80058B1A4965DFBEA11D0225CDFDD3D80C7EB
+ C36236B17AD522005C6E2F878E36D1D4DA4D6B472F06598A28488B4937FB1545
+ E1F9D73681A6F1C9D5CB983AB9984F5CB2988EAE7EC69D613351054416CF9B0A
+ 80280A7CEDF35732E270B265E711DEDF7688B6AE41C69D1E342D64C16A1A5A08
+ FDF933CB6968EA459B340F5B5226FBDF7F12BFCF25F4B6EE7F30B360EAEC81CE
+ A3ABB5FFC03239B55D761694993729293DBBA4ADABE5D00AD0484ECDE6D2ABEF
+ 2627BF0C8BD988280888A2C8CEBD47718CBB48494E60D6F449489288419630C8
+ 12A224D2D4D205E856CC53CFBDCD1F9F7899F59BF6D0D2DE8DA6A9180C120683
+ 8CC12047383E185490651151127973FD76C69D6ED253935873E992C813254922
+ 45F99914E665A269F0D8936FB065D711AC1613975F388F9F3F782BF7DF7D95AE
+ 4FF47F803E00D5930BB8FF8B6BF8F5433731A9249BD4AC52165CFA65ECC93980
+ C640E7D1CB92338A1B53328B13FFA7C01755CCA9F4BA1DDD83BD2D0500F92555
+ ACBAF20B2426A7F2894B16F2C883B733B7B60249145054958D5BF603B06C510D
+ 064942964424594296249A5ABB0148B05919191DC76890311A248C0619B3C940
+ 71413699E949180D524404051505832C234B12FE409075EFED02A0665A395593
+ 8B90241151145930BB0A8086A60E76EF6FE0AFFF5CC7DDF7FF9E3F3DF516C71A
+ 3B68EF1C20847B48A9437646120FDCBD165912494BB1F3C8B7AE65F9824A2CF6
+ 14165C7A379905BAA21E1D682D0BF83C9D39C5B5151F05C373163529198589C1
+ 8077B7D3316005983AF37C6AE65F84248A5CB6723EAB2F5A00C067AFBF840F76
+ 1CE2B5B7B7B1675F3D2B96D4929591426545114D6DDD48A2882C8B7476F7A1A8
+ 2A66B39182BC4C461C4E8AF2B328CCCFA2202F0B93D1C0FEC38DECDC7B24CAF1
+ 8A8AD1201114054445A0B1B983E34D9D5494E573F9450B39D1DC8528A9CCAE99
+ 0CC09E7D0D8882802682CF1FE0831D87D9B4ED10AAAA45AC280D0D9BD9C477EE
+ B98A04BB859EFE519E7F63079FBBE102EEFDDCA524D82CBCFAEE7E669E7F0B8D
+ FBDEA2E9E07A5C63FD09C06E7B7276BE73B477FC5C703C27074A1004212DABB8
+ 65A8AFB50860EE7957525E352722CF0BF33379E8BE1B01080482180C329D3D03
+ 3CFDC206A65796B06AC53C3ABAFA79FA85F5C87288F325912B2E5E42415E166E
+ 8F376462EA0FBEC7EBA3AB6780A6964EBA7B87505535126CF0F9FC288A4A5051
+ 0906150C0699D4E4444449A4BDB38F8CF4146EBBE13204416FCBBEC327D8B6EB
+ 28878EB512545414554551F5D08212B2F9EFBFFB6A665697E2F6F8F8EA434FD2
+ DE3D4CD5A4021EFCCA27B1594D7CFBE72FB1E7501B8220D279621787B6FC1380
+ E48CE2E3A303AD53CE45E64B0F3EF8E05903FFD8DF9E5B37D0DD380BA0B27639
+ 95354B292FC9656CCC852409B8DC5E2695E6919196C4FA4D7B3118640AF33299
+ 35BD82A3C75B29CCCF263D2D89CEEE7E3C1EAF0EBE2C63319B28C8CBC2609019
+ 191DE7444B27FB0F35B2EFE071BA7B06717B7C48A24820E067786880AECE765A
+ 5B1AE9EDEEC4E376A1AABA221D777B181E19271008323432C69E03C771B9BDA4
+ A52631A9248FF9B32B59BAA09AC4045DAC8D8D7B424137B8E5531770DE82A9A8
+ AAC68F7EF302F5277411D83F344630A830ABBA04A351E6835DC70181A4B40234
+ 4D65A4AF09AF7B342D23BF6AC6BD5FB9EBD9B3C5F2AC454D7ED9CCEFF7B61FBB
+ 0820B7A88A990B2EE6966B56B262490D5B761DE1A9E736A0692A1B3ED847E5A4
+ 42A65795F29BC75F64D58AB92C5D3083B5979D87DBED0560EECC2ADE7A773BB2
+ 2C6190653A7BFAD9B1E708BD7D430482010441C0ED76B16FCF4E76EED8427B5B
+ 0BC3C38378DC1F9ECF30992D24262693999D4FF9941994944F65FDB08375EFED
+ A2283F9BB933A73073FA242EBD602EA9C909FCF6AFAF2108B072490D975E301B
+ 80BF3DBB81BA43CDBAF8D14D7B06479C0064A72786CC7D9DB127CFBA1CE7682F
+ 7D6D0718E83CF6899C9299F7F7B4D4FDE86303BEA07CF6E5BDED871F008DC494
+ 2CE62DFF149AA6E17479D134583C772AF939E93CF6F7D76838D14EDFC008B9D9
+ 699416E5F0EEFB7BE8E8EC63CDA54BB159CD009416E592919E8CD3E941962582
+ 01858EAE5E468687D8BB673B3BB76FE1C8A1FD0483A7F7D225494203544589FC
+ E6F37A18F07A18E8EFE1C8C1DD8892444151056515D53846AB39DEDCC5D32FBE
+ C78CA9E574F50C220802532717F2D96B2F0460FDE6FDBCB67E3782A03B6C42C8
+ D65936BF12808E9E61C28E16A1D074CD79B7B0EDB59F313ED2C540E7911FE496
+ CEAAEB6EDE7BC638FF19657C76E1D412C760C771AF675C369A6D9C7FC55D2426
+ A5228A208922B3A697F3B94F5F8CD56A66DCE9E6AF4FAF23272B95ABAF58C6B1
+ C6369E7DE93D64592239D1C665172DA2B8201BB7C7CB3B1B773136EEC220CB74
+ 77B5F1F43F1E67DFDE5DC4B6471044A6554F67EAB419A4A6A5939A964E724A1A
+ 49C929D8EC490403418686061918E867707080C1C1014686876839514F5BCB71
+ E2FB2650545AC99CC5979294964D30A802020F7FFB336465A430EEF470C7D7FF
+ 80DBE343D5F4188FA6092C9957C5D73FBF1A80077EF63C7587DB4110110431F4
+ 29E1718DB0F5951FE3F73A315993FC09297915039D473E34BAF9A1C00B822027
+ 24670D8C8FF6258BA2C4A2559F2133B71429A44C2549FFCCCA4CE1AE5B2EA730
+ 2F13455179F3DD1D9CBF6426568B89DFFDE525C69C3AC04683444DF5243ABB07
+ 0806838C394678E1DF4FB279E3BB84537D46A39159B3E7B174D9F92C5ABC94E4
+ E4145455435155544525A828040241FC812081A04230F4DD1F08467F0F288C8E
+ 8E70EC701D470FEDA5B5E918C16020DC27CA2B67533B7F15266B02E9A9497CE5
+ 736BC9CF4DA7B1B99B9FFDF165FA061C681ACCADADE01B777D025996F860673D
+ 3FFAFDEBE846BF0E78F853102586FB4EB0F38D5FA0AA0AF6E49C41E7684FCE87
+ 05D63E14F89CE2EA3FF4B61DBE03A066E12728AD9CA773BAA0832E8A02B22422
+ 4B226693816BD62E67D11CDD530C5B35BBF71D63C3E63A0C21DBDC6894518201
+ D6BDF63CEBDE7C9940C00F406A5A3A37DD7C1B975C7A39369B0D4992427256CF
+ 28298A4230A844800F8492208180823F108800AF83AFE00F04098606C7ED7673
+ 68DF0EB66F7E0397538FF24A924CE58C2554CD5C86CD9EC09D375DC69C9A49B8
+ 3D3EDEDF7698A4441B0B664D4614059ADAFAF8D64F9F63D4E98D000F3AD70BA2
+ 0EBC2048B4377CC0C1CD4F02905950FD685FFBC12F9F33F0268BDD0E8CF8BD2E
+ 392B7F320B56DE14321B89988F9224208B22922C460660E19CA95CB97A290659
+ 571FFE40903FFCF525544DC564343034D8CBEF7EF943FA7A75ABC16AB571F535
+ 9FE69A6B6FC09E60D71DA350B02C6C562A21F32F1854088440F6F9020482413D
+ 13E5D7072196EBFD7E1DF44008FC4050C1EBF1B277C706F6EDDC80DFAF2BFA84
+ A434965E7C0BF6A474569E3793EBD69C8725E42F689AC68EBA467EFEA737707B
+ 027A3821047A58DC84410F0FC0AE758FD2D77600A3D91E0021D5E719739E13F0
+ 590555AFF6771EBB5C1044965DF1459252B3900481AC8C24EC5613FE4080E191
+ 711DFC10E8722814509097C1A7AFBE90B494448647C678FEB58D78BD7E1A1B0E
+ F3973FFE1C8FDB85288A5C7AF95A6EB8F133A467646034C8988C468C46195996
+ 75EF3306F840304830A88440F7F3D81F7EC3FC854BC92B280E01EF8F00EFF347
+ 07403F47073E18DA9CCE71F66C7B9BA3FBB7EA6109A39905175C4746EE24EC36
+ 0B15A579242658D97DA089A111171A029A26C4002FC4891904115194104419E7
+ 4837EF3FF71D344D2523BFEAB9FE8E23579F35F0A959A57963C35D1D4AD02F14
+ 4E9A45EDA24F52569CC5CD9F5A41F594A2C8714DAD3D6CDA7E909D7B8F856230
+ 51F0136C1616CDABA6EE40031A1ADB36BDCDCBCF3F89AAAAD86C76BEF2F5EF32
+ 77EE7C8C460326A30193C988C968C06C32EAD730C8711C1F0C06F1FAFC11E06F
+ FFECA7E9EC68E77B3FFA05B97985787D8118F1A3831F053E4830A846383F1854
+ 50148DF6D606DE7FF349FC3E0F8220327DDE2594562D0C25CFA30A361E78218E
+ E309812F46448EC8FEF7FF4A7BFD074806939A90925B38D2D7DC7532C6A78CD5
+ 4892FCBC12F40B92646072CD4A72325378E8DEEBA89E5284D7E7C731A6471CCB
+ 8A73F8CCB517F1F95B5663B79A89869A74D77CF3F603F8FC019E7BFACFBCF8EF
+ 27505595DCBC027EF0F06FA9AD9D8D20087A502BF2B4E862C6181A08ABC58CD9
+ 64C4683420CB3246A32114B397587BE5358C8D3978F081AFD2D9D18624EAA269
+ C24634B12284B7D0DF790593B8E4EABB494CC944D3540EEC789D7D5B5FE23F49
+ 879A4D3253E6AC41928D28019F2849C6A74F75DC04E033F32B6B87FA9AE60394
+ 542DC26C4DE4EB5F588BCD6AE6C537B773DB577FC39D5FFF1D5FFBDEE36CDC7A
+ 008019534BB9E5DA8BF4CEC554080802BCFDC6BFD9B9F53D00A6D7CCE1DBDFFF
+ 05D9B97971E048A2C8C60DEB3971E2389224459E02B3D988D96CC26434603048
+ 1170255164E585AB282D9B84C331CA43DFB997EEAE8EC8F5C2F70E37251C048B
+ B42BF29F2EE32F5A7B17B945BAADDEDAB09BA37BDF3927B08D0689958B26F3EB
+ 6F7D822FDCB008B32D85D2EA95000CF79D589A9E3B65FA19810FFA3DFFD25415
+ A3C94AF9B4F3A828CDA5B8209303475B78FAA54DF803BA85D4DB3FC2DF9F5DCF
+ 6FFFFA2A9AA6515951445545511CF807F66E63D3BBAF01306FE132EEBAE701AC
+ 565BF4E6A21091E37F7DFC317EFEC84F22B2DD6090319B74D075992FE9A94341
+ A4B3B39D5F3EF26386060700708C8EF0C307EFA3ABB33DEEFE277F3FE5DF0818
+ 8C66165F742345153301683CB489CEA67DC41FC984BFD3926DDCB8761E7FFFD9
+ A7B9FBA6A514E7A7B270661199A976CA6B2FC568B6A3A90A8AE27FE64381CF2A
+ 9C76E1C8407B0540D9F4F3918D6616CC0A45F80E9C38F95C00F61D3AC1D65D47
+ 00282ECC8EFCDED9DEC42BCFFD158092B2C95C77E31D133A1D4B1D1DED1CD8BF
+ EF8C8FF9C18307B86AED65BCFCD2F3381CA391DF1D8E111EFEFED73971FCE887
+ 9E7F3A120481594BD69296A533CFFE6D2F3132D07ECA6327976673DF1DABF8DB
+ 23B770CD65B349B49B1977F9A83BD285248A5C7E7E2506A3858A99970330DADF
+ 5A9559307545EC35E2805782FE6F8186D99A44D1E4F9A106E9FBD2521222C769
+ C483D3DADE0B100909384687F9F73F7E4B30182429398D9B6FFF2A922C475278
+ 6152439560A32323B85C4EC6C7C7D9B6752B834343747575E1F5F9F0F9030483
+ 411445415555DE7AF335949830412C399DE33CFAB3EFB273DBFBD1B69E83BC16
+ 4589F92B6EC0624B425582ECDEF8141E975E732349224BE64DE117DFBE8E5F7D
+ F73A96CF9F821CAAEF796BD3516EBEEF697EF487771977F958B9A802ABD940F1
+ B4F3B1D852000D5509DE1F77AFB8868FF6CD01C82E9C8628EA19FCA6361DD455
+ CB67919B951AD791F0D792A21C001A9B3BD1348D57FFFD275CCE310C062337DE
+ 7A0F367B42B40C4FD3D042F52EE1ADAD23EA5DDF70FDA798563599CA2993292E
+ 2AE2D0A14311474951559293933F14BC6030C83F9FF81DC78EEC8FB633667FB8
+ 302ABA2F7E604C163BF3577C1A4936E0F338D9B759D78D736694F2CDBB2EA7B2
+ 3C174D835D075AF8EDDF75DD5594971AF29E15DED97A1C8BD9C0A2592588A24C
+ 4EA91E7C7339FA169C12F8E48CA2453ECF981920B3A02A02EC965DF5B476F463
+ 361978F85B37B372694DC839D21B3CBBA68205B3AB70BA3C1CA96FE1F8913ABA
+ 3AF42A88D557DE424E5E51086022E5749A160A01A82A8AA2D2D6DA1A074C9886
+ 8787F8DAD7BE8A3FC4F5C180C2C5975E81289E3971F6EFA71EC3393E8E16063B
+ 14FE8D5C5D8B1F90D89D4969B9CC58B816809181767ADA0EB1735F13BDFDBA68
+ BBFFA7CFF3DD5FBEC29BEF1FE6607D1755E5D954966781003BF6EBE26961AD2E
+ B2B28B6B01F0BA1D96A4F4C285138037182D5F0B7D929A551207C4F77EF12C0D
+ 4D5D58CC466EBB61157FFCE91778E0CBD7F2C3FB6FE6CE9BF464C313CFBC8DD7
+ E767CBC6570028282AA7BA665EA4C05455D548F1911A037A30A8D0DAD2745A00
+ F7ECDECDE0E050C8860F909A96CE85AB2E3D23F0CE71071FBCF77A14F41831A7
+ 737DF83B1CDCB59E91C1EEC83E80FCD219A4661603D050B70E5509F2F23B7B01
+ 983D3D8ACFBB5BEB01F8FCF58B99529AC979734A01B05A74EF372D673206936E
+ 50184DB648082102BC7B7C703940467EA51E000AE9700D181E75F2C04F9EE2D5
+ 7776E1F1FAB05A4C544E2A203F279DB171374FFCEB1D8E1C6FE360DD16468775
+ 4B63F94557EA615B350476087445D5035D8AA273BDA2286CDBFAC16901549420
+ DBB66D8D0984055876FE8567041EA0A3BD390A7A08642DF2D445413E7E782B9B
+ D7FD0DAFD715E9B30654CE5E15C26688F6E33B7867F3619C2E2F972CAF26C1A6
+ FB2DBB0EB402509C97CA4FEFBB8CCB96EB66E97BDB1B01104491AC22DD9A743B
+ 872E08B74D06B0276596BBC787920032F3A79E060095279EDDC0B32F6F66D68C
+ 72126C66DC5E1F47EB5B51540525E867CF563D0C5D3E650639F92521D0A36226
+ 765314054511686C69A2BDADE54301DCF0EE3BCC99B730122473394F19FE9840
+ BD5D6D9178BDA6EA70C6CB7B7D4B49CFA3AFEB042DF5BBA898BE2CB41352328A
+ C82AA8A2AFE328270E6D20B76C362FBF53C70D6B1672EB354B79EC9F9B5938AB
+ 0C80759BEB0904555293ADEC3ED8C1C69DD1A738BB78269DC7B7E31E1B48B125
+ 6694B9C6069A64008B3DF56BAEB101444926236FF249CDD713C1E1F0BF2F1064
+ 675D835E0D260AC892EE7D1EDDB7058FDB8920882C5E7E4544AC68AA5E69202A
+ 0241514114053D492D0A080181AEAE8E3302F8C6EBAFB064D90A66CE9C4B5051
+ F4F8C85990208AA8C4540DEB3180502DBD3E0443FD1D044201B3E6633B9954BD
+ 14B4A80E993C7315FD9DF5F8BD2EDA1BB6F3CAFA54AEB87026172EA9E2C22555
+ 91E3F61CEE60F7A14E265AFB9059508D28C9A84A106B42FA5780BB4400AFDBB1
+ 1A202D7B1292ACCBA6EACA42D65C3C8F9BAF5EC6D48A82E8E5E2E465547E361D
+ D7AD88499533494ECB8A988A6A44AE87395D8D6C4145616CECCCC5B89AA6F1D3
+ 1F7D8FA1E1617CFE0049C9A967057C5A7A765C3BC2216634181AE8E6B5677EC1
+ BAE77FC3F04027001E97839EF6FAC853A169604FCA20A7581715BD6D0771BABC
+ 7CFB172F31E68CD6D7BFF4CE41761D6C3B25E800B2C144469E3E483ECFD81500
+ B220085641107200320BA6822070C1A2A9DC73DB25111BFE9397CCE7CDF7EAF8
+ F3536FA3095119189E89E1197330D4AFC781CAA6D4E89D15A3408B828022EA5C
+ 2F0802A2A810883853A777AA62696868903FFCF6177CE1CBDF20F12C819FBFE4
+ A238F335C4F0A89AC68EF75F6264A867C239CD47B793555015239204B28BA6D3
+ DDB29FB1E12EBCAE511A9A24AEFBD2E3141764303CEA65CCE5D7CDEF0FE94A76
+ 712D7DED07718EF6E6098260154551CA0F3F76C919C54892C85D37AF4410E0C8
+ F14E0E1C6D05E092F36752529815632544B7B6A64300C8B291FCA2C991CE86B9
+ 4D3989D3F508A11E27CFCD2F3A5D5B27D0F6AD9BF17AFD188D6666CD59F8A1C7
+ CE59B882F22935FABD43A51C618E6F693C407FF7A9F5CA404F1323835DC4A298
+ 9E5B8124EBE5837DEDFADC3555D5686E1FC2E1F4863CF289A80B027CF2A26A72
+ B31249C9D27581A6A988A29C2F26A61544B4A9C99A4869612626A3817D875BB9
+ EF87FFE48187FFC5B6BD0D0014E567EA07C6881B4DD3686FD61B935734599765
+ A18E2A211113B6D9756B261EFC8CAC3C24E9EC64B6DFEF637474846050E1B377
+ 7E95DA590B268421121293597BEDED5C70C9A774D91E76D6228A5EE3D09E8D1F
+ 7A9FC6031BC3DD440324C9407A8E5E30D6D77198709C539810798B52A2DDCCB7
+ EF5AC98D9F98456A9215B32D25BA2F2DBF52960DA64A005192319AEC5496E975
+ E6BBF63745CA1B8643E50DA3632E9DCB85A8A8F179DDF485B8A7B04CAF4B5105
+ 0D4150515581A0A246DA25004121DEDD9725891517ADE69D375FFA503000EC09
+ 89982C36FC017D36C7CDB7DF83D7E7A3BFAF97F1B13152D232315B6C21EB275C
+ B4142A5C0A717B6F670B837D1FAED07B3B8EE17139305993224E5566E134FA3A
+ 8E30D2D74CC0E7C668D14328616E8F1D84AAF22CBEF699A5A4A5D8F43C4040C1
+ 68B64714AC6C3057CA1A9401982C892040615E1A00CDED0391614CB0EB332187
+ 46623D4101158DBEEE663455CFD817145745448B20E84A550054414011340425
+ 3A77355664ADBAEC6A9A1AEB696A3C765A304451E4E65BBF4420104451C24F90
+ 5EC894969E4D524A46C4210B869EAA934D5855D538BC6FF3190718345C634398
+ ACC9E8569D40667E95FE5D5319E96F26AB6806F19C2F2008B0F6C26AAE5F5D8B
+ 248A74F63A78E42F9B68E91C06C06C4DC63D3E0882502E6BAA5AA4FF980408E4
+ E7E88AEB9E5B57D1D6354857EF3053CAF30018777A75312310E17CB7530F2299
+ 2D560C264B4479E9096A7D4062018F744DD28D5455D51321B7DEF50D767CF02E
+ 1BDF7D9D31C748DCB1932657B1E6EA9BC8CB2FD1810F3965E15C6CC44A0A2AA1
+ 7D5A6470A29B86CBE98888C53391C7ED88B3F90D261B46B30DBFD789D7358AD1
+ 68A030378DD4243BC9493652922CD454E632638A2E31D66D6EE02FCFEFC21F88
+ 3EE1669B0EBCA62A85B2AAF8B301FDB142202F4B9745D999C96467C607A4FEF6
+ CB2F30E6F4D0D533445B673F8F3FFD0E6E976E0E5A6C49BAA916E242550817FB
+ 9F7A86B64468F02442930624162DBB98054B56D2D2DCC0F0503F06D940715905
+ 69E97AB8391054A29E704CC94718FC6088CBF501D1225B58C91F3FBC2BF4749E
+ 99027E6F3498131223666B127EAF139FC7415961063FBF7FED29CFDD77AC9B27
+ 5FDE1B07BA7EBE8EA712F4E7C8C1802F2D0CBC2008DC72DFDFC8C948203F2799
+ FCEC540AB25328C84D252F278D049B9944BB85C449F9D86C66340D3C21E0ADB6
+ 245455CF056BAA8622A81CDCB389CEB606565F7D0782109D4B1CB62E24514353
+ 5584D00C11515411059192B24A4ACA2A237233104ABEA86AF8290929CA1825AE
+ C48897B07C57C303113AFEC4D1DD67053A40425226613113425F173DC35D78DD
+ 0E1CE31E3CDE00A3631E46C7BD8C8C7990259139D5F9D456E6F2971F5DC5BA0F
+ 1A78EDBDA30C8DEAA58761051B0CF8D2E4A0DF9B183B1AC1A04247F7081DDD43
+ A035228474BB2068242558C8CF49A520278D6068226F385E6DB62546CA9ED125
+ 0C8228D1D9DAC0E1FDDB29AB98CEC13DEF130CF8A999B394ECDC82903729208A
+ 5A341B25A88862387D2744062AAC132493A72700001AC649444154C29E6798F3
+ 95D84F25C69A8AF91EB668824AE0AC409764238969F921BC2399DA903806AFCB
+ 41CFC03857DFFD44A8D220EAE916E42473DD65352CA82D66CDCA695CBEBC8A97
+ D61FE6A957EBA218FB3D49B2DFE73447810FDD4408097041888B9D8E8D7B38E6
+ ECA2BEB1134100518872BCC59A48784635A22E6152D2747957B7633D3B37BD86
+ CFA77B7B07F66EA6B4A29A25CB57939D5788A86908AA0EBC9E379D98A28B8D32
+ 46676C6B31E66A54EEAB113113C3F19A466A7A1E5DAE337BCAC5958B900D9638
+ 6E47D0653480CFE308D555C6247643D4D133CAC37F7E9F92FC54AEBFBC9639D3
+ 0B58505BA4031F3ADFEF7399E38B5605518FCC68E159587A9C26343D283A392B
+ 742F0DF085227A46B31D35E2CEEAFB53D273100401E758BCB204683E7E8896C6
+ 23CC9A7F3E8BCF5F8DD1688C49807F38F061C0D5907DAEA81AC16090D1E1015C
+ AE716C0929586C0991D9DDE1819ABD640DC383DD91A7F4549453544D7975284B
+ 17C3ED20600A99907ECF38C424EB4F452D9DC3FCE00F1BA828C960F5F95527ED
+ D5908D269BC7EB76D8BC9EB150C95CCC486AFACD352DEA1F6821B3460805CE0C
+ 260B7E9F1BBFD7AD2B57550051075F948C24A664E018EE3F65E3344D65CFF677
+ 69ACDFCFCA4BAFA7A86C4A7C39467880B518F0892E1ED1D5DE44FDE1DD74B537
+ 323A3C4078CA3E802C1BA8AA5D4A55ED7244C980AA6998AC895CB0F68BD4EFDF
+ 44F3B19D28417FE4F8A4D45C4AA62E21BBB806017102B78380DFABCB6A83C916
+ 9A3B75E670C7F196011EF9CB2600BC2E3D916234D93DB26CB438703B6C3EB723
+ 02B88010C7F56196D7B43028A1E740D3B05893708D0DE17639D05450C578F033
+ 734A4E0B7C981C23833CFFD4A34CAB5DC4D20BD66232994F3D50E8CBA4ECDFFD
+ 3E0D47F630363A74DA6B0683010EEEDE40537D1D17ACF93C267302AAA66134DA
+ 9836E762AA665DC4B86318BFCF8D2D290BD9600E152E85F18EE7764110226B1E
+ 986DC9118E3F17F2BA75E065A3D9214A06D32080CFED085D4C8CDE302606A185
+ 7E8BA4D0429F26ABFEF8795C63F14B978456CFC8299C72D60D3BBC6F2BFFF8D3
+ 0F191B1BD5A7D8C46C81A082637498E79EFC25BBB7BEFDA1A0C7926B7C84ADEF
+ FC13455174C688A401456C89E924671486400F3F59C249DC1E05DF1702CE6C4B
+ 41208CD3D993D7A58B5CC9601A1425C9D003FA6808717581F1237E3207E80D15
+ 305BF519871EB7239AF0083B512A64E694C669FD33D1B863988DEB9E9D00FC98
+ 638417FFF96B46CFF0F49C8A067B5BA9DBF2720C63C446588590FD10EE574C5F
+ 23224FC72496E305F1DC408728C74B92A1471404A91D748E17421C1FBE915E1B
+ 180376C4BC8B826FB2E82696C73516E9946E63EBE08BB289B4CCC27303AABF3B
+ 54DF18F548EB0FEFC6313270CE9D0D534BC36E8EEE5D1FD1FD7A5BA3A0EB7DE2
+ 1422468C30629863CDB654CE95DB212AE305416A97354D6D84D0684414861863
+ C6C49A95BA6C1788CAFBB06DEBF73AF107FC180D7A2245453711354163F28CA5
+ 0CF6B69E7503B550BC27D6961D19EA3BE78E9E4C0D0736D2DBD94066FE1432F3
+ A690989687204851E57D1A1103024A3080DFABCFA8B4D8534E71F5335398E335
+ 4D6D94FD5EE73100550912F0B93118AD8006821885590B2B58FD336CE5689A46
+ 4A66313AC768F47736905B528DA085B3E8FAE06517549299574E7FD7A9ABD14E
+ A68A690B42719E287D1411732A720C75E318EAA6F1C07B48B281948C62A6CDFF
+ 24667BEA49224688582E822032D0752494751348CD9E74CEF7F57B9D91A5B902
+ 3ED751D139DAD310DEA98B9BA888893E66614512D6014244D91ACD0924A7EB5E
+ 5E4FFBB1A8B8896CBA0D3D6FF97524A5664F6CD149949A91C7E4E98BE3622D8A
+ AA31E6183CE7CE9E89946080C19E46B6AFFB3D8A1288EB635CDF0581BE36BD40
+ 3725B324E2819E0B85C514C0F848F77111E81204510318E96B8A889B93413F59
+ DEC7829F15CAA5F477D5A32A6AD4EAD14053F54FD96866D1AACF905F527DDAC6
+ E5974C63C9AA9BD034412FFF086D3E9F0F9FC775CE9D3D5BF279C6686FD81EE9
+ 57BC65A78BDDBE763DCB965D32F323DD63A44FAF3A0861DD256B9AE64E48CE69
+ 773A7A8B7A5BF75154B50CDDE707C25EAC1EF98A6948480C84C44E56C1341AF6
+ AD23E8F732D8DB4C46EEA4A8ED1F8A400880D16467CEF26B29AD5AC0404F338E
+ E11E24492621299D8CEC1232F3CA10042132D33A4C8E918F9FDB4FA6E1BE664A
+ A6AD2016F0B0A131D8DD4030B4785CCE4704BEB7751F00B6C4CCF6F1D11EB70C
+ 6030595F00BE32D0759460C0876C3045808F0D0FE858AA13C0B72665624BCCC0
+ 3536406FFB11D27327E971FB90228E3D5F0052338B49CD2A8EAAB2D0048248C8
+ 81A8CD10F07BD9B5E9B98FD4D973A1B003196BD185B73068F6E4ECD00A1EE746
+ C1808F812EBD8A3984B5AE031D43EDBF015DC1F677E88F9420864C4B518C91FB
+ 31F2FE24472B3B542DD5D9B4178F7B4CF702099B6CC204D9AF9B9BD1AC7F34E2
+ A8457C019FCFCBE6B7FEC268A8BCEEBF4A71667448E488223EB7838EE3DB00C8
+ 2D9DF3912EDDDF7128A258C3588B004A30D06AB1A70D02F4B6D6855B12013D2A
+ F74F928131E017552E4136985195208DFBDF8DF1024F9E4B141D00EDA44108FF
+ A669A00415B6AD7F929150CDCB7F9B125272629469B4DFF57B5E415502C8464B
+ 6496C7B95218538B3D6D5009065A21A676D26C4B5E07D0D77630264B13E200F1
+ E4069DCCF92246730225D39601D0D5B417E768BF0E768CB3151E00353408EAC9
+ 4F41CCF71347B731D4DBF2913AFA5128AB707A5CDF0451C439DA4B6788DBCB6B
+ 2E8E24B8CF853455A5AFED2010C518E28B561F0508F85C0C452DCC90372B9D16
+ FCD827A2B8F23C4C9644344DA561DF3A221E6FDC000831564F7410F4EFD10118
+ 1DFA1F8897106517D7E8E5D427C9F6FA9D2FA0692A666B3265D32FFA48D71EEA
+ 6920E0D32DB230C61003BCD735BAC764497441540387E964F063657ED8D44C4A
+ B021194C94D7E80DECEF3CCA60EF8988C9191D0042E087735BB12246880C8628
+ 7EEC4B629E92D27227337DF10DF1A08B22835DF5F4B6E9658993E77C02493692
+ 916AE3EA8B67F0A94B6690956E3FABEB87B13459125D5ED7E89EF0EF71D12B6B
+ 42FA66809EE63DA86AFC34FC38F04F52B8972C9FCE138FDCC2BC9A72F227CDC7
+ 9E9C05C081CDFFC4E31A45138408D8BA0D1A7D0A2251CF93062323FFECA39A1F
+ 854C96042A66AD66EE855FC460B2470D0951C4E31C66EFBB7F0020212597C229
+ 4B9839358FDF3FB896EB57D772DDE5B5E4649C793932550DD2D3AC631DC6364C
+ 71C007FCEE1F8080C73542EBE1F7265C28027EA8912949361EFCF2657CE1C665
+ 984D0696CC998428CACC587A33926CC2EF7351B7F16F7AC221249234418C7B0A
+ E2062186EB3372A790907C664FF75C2931359F698BAE65F9D53FA07CC62A4449
+ 8E612609251860D75B8FE2F73A910D2666ADBC93ACB444EEBB75199224F0CE96
+ E33CFBE601F61FEBA6382F85D52BA6326B6A1ED22922B0AD87DFC3E31A018410
+ B631589E3C392B29AD60CFD870E72CA3D9CE8AEB7E8AC178AA65DD35664FCBE7
+ EE1B17939460C1EF0FF297E7B6F3DA8683E806BC4A7FC761EADE7B1C4DD3C82A
+ ACA676D94D71E747BFC6DBEDB1FBC6477AD8F6D66F4FBB16FCD952525A812EC7
+ 4B66624DC888331BE34D65D8FDF6EFE869D98B2008CCB9E88B6417D772F3DAD9
+ AC59398D5F3DF1011B77362108F0A94B6AB8E6D29A4812EA58533FDFFED5DB04
+ 827A162CE0F7B0E1E9FBF07B9D24A6E6EF750C75CC8E6DD30441EAF38C5D2788
+ 52BDDFEB144EEC7B83CA7957C6ED3719653E7BE51C2E5AA2D7D137770CF1C8E3
+ EFD1DE3DACD7AD6BAA5E7955389D8A9997D1B0F735FADA0FD1B8FF6D26D55E1C
+ 897246008E64B4C214F6D834EC29B9CCB9E076F66D7A12BFF7EC2623803E9D28
+ 21358FCCFCA96417D760B1A7C599C1B1B128FDE9D59FBEFA5D2FD2D3A24FB7A9
+ 9C7B6564FED2FC9A42DCDE009BF7B460B318F9D24D8B9937A3104DD3D87BB88B
+ D2C2342ACB32B9E282A93CBF4EB7604EEC7B03BFD789204A9ACF3376DDC96D9C
+ 00BCD7ED389E9C59BCCE31D07671F3A1F5944C5B11A907995494CE576E594A6E
+ 965E51F0E2FAC33CF54A1D4A3018EA547802830E6CE9F48B708EF6D1D5B48BA6
+ 83EB09F8DC54CE5B1B39363A08617E8F791242AC949255CAE2D55FA5A371273D
+ CDFB222B5E473A60309290924B426A1E0929B924A6E6634D488B0E629CDF2144
+ B83C16784D5539B4F51FB41ED908407EC542CA6B2F89DCC3ED09909391C8CD6B
+ 6631BFA688CC343B3E7F909FFF75333B0FB4B3787609F77EF63C723375B9EF75
+ 8DD07C683D008969F9EB46FB5B8F9F117800C740DB4D926CEC51827EA97EF74B
+ D42CFB0C3595B97CE70B1720892203C32E7EF5C4071C6ED4A7620AA2A8E75905
+ 1541134295002A021AD58BAFC7EF7532D07594F686AD381D7DD42EFB0C069355
+ 0FE2C4811E139F8821A33989B2EA0B299B1E3BF74988FB1ECD7F9E14D68D013C
+ CCED51E005FC5E277BDEF91D83DDFA24B2CC826A6ACEBB25EEFE2FBC7D887B6F
+ 5DC6EA157A30B0A97D88479FDC425B971E714C49D4C5F1E0B06E36D6EF7E0925
+ E847928D8A63A0ED264E41A7CCC9699A36909092F777808E86AD8C0F7771A4B1
+ 8FCE1E3DF5F5D8B33B22A0473A1E524E61E51B5ECD42948DCCBEF0F3144F5D0E
+ C070EF09B6BDF1739CA3BDF1A629315B382173F216734CECB911D376827F116B
+ 818557D808FF263036DCC9E6171E8A805E5ABD9279977C1983C148923D9A70DF
+ 5AD7CAB77FB58E57371CE1B17FEDE0DE87DF88805E9893CC152BA6120CAABCB5
+ B99EF1E12E3A1AB602909092F7774DD34E99363BED7A358220D80C26DB50C0E7
+ 326515CD60DEC55FA6282F859F7FE33246C7BCDCFD8357707BFCA73C570BF9FD
+ FA72575AE4EFF6862D1CDEF60C9AAA20194C54D45E4661E592C86466E2DA7272
+ BB4E4AB59D34A3248EBB277079ACC8D1CDBCD6C3EF51BFFB4582011FA22851BD
+ E4468A2A97929460E6BEDB966136CA7CE391B722CAF264FAE13DABC8CE48C06E
+ 356136C93CFDDA3E9E7DF3003BDFFA157D6D0730986CBE80CF95A669DA29E3D9
+ A7CD426B9AE6B225663C0CD0D77680D6A3EFD3D635C23F5EA92323D5C61DD7CC
+ 3FDDA9BA1C1563572FD2D7012EAA5CCAFC4BEEC168B6A3047C1CDBF5029B5FF8
+ 3E3DCD7B43E748319C2B9DB4853938BA2E4CD4B48DDE27D61E8FFA1D5244AF74
+ 366EE7BD67BEC9E16DCF100CF8309AED2CB8FC5E8A2A9702204B2205D9C99417
+ A5F3B9D3F47152713A532765919E624396445E7CE730CFBEA963144E98D81233
+ 1E3E1DE8F0211C1F0250B626A4B7B8C707F3455162C165F7929E3799EFDD7D11
+ 33A6E4F0B3BF6C62CB9E33C753A69466F0F9EB1772F8782F7F7D7E078EE1018E
+ ED7A9EEEA63D84393B31AD80C9B3AF20E334D33DE3DA8510F300C4CBF789725D
+ A7FE8E431CDBF93C8EC1F6C8B179E573A99A7F956EF5C4507545360F7DE92244
+ 51E077FFDCC63B5B26E84692132D64A6D9E91F72323AE661A8BB81EDAFFF0C55
+ 55B026A477BAC7074B3EF2627000B2C1942DC9A666BF77DC6234DB59FAC9EF50
+ 5058CCAFBF7505F5CDFD7CFF77EF9EF65C9BC5C84D6B6671E1E2C911C9F0D42B
+ 7BF9F75B074003C7602B47773ECF6057744282C5964A56F10CB28B6A48CDAE88
+ 2B0D892F201242FF84C8F7D841D05495A19E067A5AF6D2DBBA0F8F7338726646
+ 7E1555F3AF2629BD08A341A2BA229BBD47E217515AB3721A37AF9D4D20A8F0CD
+ 47DEA2B1EDF4C918F7F8009B5F7808BFD789D19CE05182BED260C0D77BDA1338
+ 0BE001ECC9D90BBCCEE12D8A12101352F358B2E6DB941466D1D9EBE074E72F9E
+ 5DC2AD57CD2525D1C2E89807411448B29BF9D62FD771E8786C9B34FA3B8E706C
+ E77331DCA893C16425AB7006A9D9E598AD29986DC998ACC998AC892151A3AB05
+ 9FC781D7358AD73D8AD735CA706F237D6D0722C1A93025A5175135EF4A320AA6
+ 01603619F8C9D72EA6283785EF3CFAF649ED82AFDFBE9C85B545F40E8CF3A51F
+ BE82D737918183011F1FBCF47DC687BB9024836AB6A72E768EF66E3F13A667BD
+ A873527AE11D63439D7F008DECE25AE6AEFA2213141E90956EE78E6B163073AA
+ 3E8BE4FD5D4D3CF54A1D7FF8DE5A340DAEFBCAD3A751581AC3BD27E869A9A3B7
+ B50E97E3F455058220620A1552F9DC637CD8EBE96C49996417CF24A76426A9D9
+ E513DAFC851B16B27251058E712FF7FCF8358646A28365311BF8E5FD97939391
+ C89B9BEA79EC5F3B26B479D7BADF840261028969F9773A06DBFF78DAC6C4F6E1
+ 5CD673494A2F7C7C6CA8E3B30093665E46E5DC4F46F649A2C815175471CDA535
+ 988C329A068FFCE57DB6EC6D65EEF4021EB87305FB8E75F3E0AF272E3B75DD65
+ B58C8E7BD8BEBF8D11879EDB1C1FEEA2A7B58EBED6FD38477B4E7A61D6E9C960
+ B4604FCE21ABB8869CE29924A4EA0C2008909B994420A8D03F14F5820DB2C4C3
+ F75E4259611AC75B06F8E62FDE0AADC2AAD3E4920C1EBE575FB4E2FAAF3E8D2B
+ C6923BB6EB051AEBF4578624A615FCC531D87EEBD921798EEBC78F0D75DC664F
+ CE9EE11CED9DDD58F73AB6C44C0AA72C2133CDCE0377AEA0384FF7707B07C7C9
+ 4E4FE09A4B6BE8E87130BBBA008003C726C6D8655964F58A2A2C6603B77F6A1E
+ C79AFAD95AD7CAB63A2B09A97991558E94A00FAF6B148F6B04AF6B24529565B6
+ 2563B6E962C8624B4192A32F70319B0CCC9D5EC092D9254C9D9485CD6244D3E0
+ DD6D8DFCF629DDD60E04157EF2D8467E71FFE554946470DB55F3F8C3335149D1
+ D032C0C8989BD4242B9969F6C844B2F6FA0F22A0DB93B3F78C0D75DC762E589E
+ F30BB80441B059ECA9CD1EE77026E89C5F356F2D57AC98C6C54BA7F0C767B673
+ A0A187EB2EAFE5CA8BA647961BB45A8C7CE5C7AFD1D43EB1D8D46E33317F4621
+ 8B6715337D720E9224A26950DFDCCF132FEEA1BEF9DC8A99B23312B869CD6C66
+ 4FCBC7187A65516BD708BD83E3CCA9CE4712457EF2A78D6CDFD71639A7B63297
+ EF7E71258220F0C76776F0D666DDA95A34B398FB6E5BC6B8CBC78DF7FD0B5555
+ 39B6EBC508E8167B6ABFC7395CFA61A6E32971FC284BFDC9B231CF60B6EFF5BA
+ 46B2409F2E3E73C5E730184D713E506D652EF7DCA23B25E32E1F9FBEF719CE74
+ BB4945E93C78F785D8AD7A29E03D3F7A95E68EE1B863D6AC9CC6F5AB6B51558D
+ 3BBEF322C38EF8F84D528299277EF2294451E0F58DC778E3FD6374F7EB33416E
+ BB7A1E972DAFE48917F7F0D2FAF81980979C3785CF5D331F55D5D873589FF532
+ 7B5A3E4145E5A1DFBE4BDDE156EA363C16496E986D297D01AF735630E89FB0AE
+ E499E823BD232418F477795D2365B6A4CC9DA067593E78E9FBB8C6E2BDE37DC7
+ BA79F95DBD73071B7A3E1474511458B3721A3FFAEAC5D8AD46DC1E3F7F7C66C7
+ 04D00501562D998C4196301965562C289F702DC7B89743C7F5750A8647DD11D0
+ 054120C1A68BA231A76FC2796F6EAAE7E9D7F7218A0273A71730A7BA80AEBE31
+ BEF79BF5ECD873900F5EFA7EB43E262973A7D73552F6514087FFE075449AA6B9
+ 044158909092FBC7F1919EDBC787BBD8FCC243CCB9F00BA4E546975EA9A9D495
+ DBA9E47B984A0B52F9C20D8B282BD41D99EDFBDAF8D3B33B277032C0F4C9B964
+ 6724D037E8242BDDCE058B26F1FCDB07270CEA077B5A98312597C5B34BD8B4BB
+ 99F3E696B26AC96432D3ECBCBAE1081B420BF99C4CCFBE7180DD073BA82ACFC2
+ 31EE655B5D1BFD9DC7D8FDCE6F43A1698184949C3F8D8F74DFF19FBC8EE83F4A
+ 6C866EFCB98494DC3DEEF1C13FFABD4E71FBEB3F63DAE21B28AE5A06405AB215
+ 80030D1357CA301A24AEBBBC962B564C45140586465C3CF6EC4E761E38F5B283
+ 00AB96E86B0A3CF3FA3ED65C388DA2DC14AA2B723878D2F5B7EF6BE3CE6B1750
+ 5A90CAE33FBC2AE2C029AA8A2C4B646724D03B70EAF7A934770C479EB4D6A3EF
+ 7378CB53A8AA822819546B42FA1D63C35D7F3E179C4E451F4B46797CA4FBCF16
+ 7BCA4155096EF07B9DB6839BFF4E5FDB7EAAE65DC5D71E7E9DAB2E9E3EA19333
+ A6E4F0F9EB16929DA1AFD0F7C6FBC7F8C72B7578BCA79F12999C6861DE0C3D29
+ B16D5F1B2949166E5A339B958B264D00DEE9F65377B48B39D5059C681BE4C577
+ 0E919460E186D5B55C72DE14CE9F5FC69F9EDDC986EDA7AE601E1FEEE2E8CEE7
+ 22B117A3D9EE122579C5F848F7C7F2BED78F2D95EF718EEC1404A1CC624FDDE9
+ 710E17F5B51DA0BFFD100593173132B4266EF50AB349E6813B576032CA0C0CBB
+ F8D9E3EFD3D072E649072B16942349225BB69FC0E70FB269770B377E62160B6A
+ 8BB0DB4C385DF1727BCB9E56E6541720CB22DB4216CCAE83ED7CE596A54CABC8
+ E6EE1B1733B93493C7FEB5235216EE758D50BFFB253A1AB6461C338B3DB5CDE3
+ 1C9EA769DA7F5EA41FA28FFCE6B35391A6697D1EE770B93D39FB7E83D1EAD134
+ 95F6FA0FD8F0CC3738B6F3F98813549C175DBF3223D5C65DD72FE4EA8B67909B
+ 75FACCBD20C0858B7431535B95C72FBE7939DFBC7D398AA261902596CD2D9D70
+ CECE83EDF8030A25F9A914E4E8A5D543A36EBEFDE8DBFCFBAD0304820AE9C956
+ 4AF25309F83D1CDBF93C1B9EF906EDF51FA02F6F6EF5D893B3EFF73887CB3F4E
+ D0E1239A9367756141B025A4E4FED43D3E78BB12F4CBA0CF85AD987939C5D3CE
+ C76C32316B5A3E8B671633BB3A1F73E83D7E2D9DC36CDEDDCC8BEFC49B7A33A6
+ E4F2D0972ED4DF80E0092008200AFA7A6816B381B6AE11EEFEC12B13DA118EB7
+ FCFBAD03FCF3D5F87A21A341C2EBF3D17AF83D8ED7BD16C9EB4AB231684D48FF
+ D3F848F77DE76A9F9F2DFDD7AA86420DBE4B1084071352F3FEEC1CED5DEDF73A
+ 85C3DB9EA1E9C03A724A67D3DD5ACBB6BD9331990C71835053993701F8B0527D
+ 6EDD419E7DE340E477B3C9C0DF1FFE144579294C2A4EA7B1353E8AF8C19E1616
+ D41492911A2D400A472E7B5BF7D1D3BC27548201822869F6E4EC57C787BB6E1B
+ 1BEEFAE813AECE82FE672F4B976443B93531E329E748EFBCD8EC92C16423AB68
+ 3AD9C533C92CA8C66AB5929C68898BA724275AF8EB8FAE4214456EFFD6F3F40F
+ C7571C7CE9A6C59C3FBF9CB7B71CE7F7FFDC16B74F7F898089FEC111FA3B0ED1
+ DB5A475FDBC193229702F694EC9DEEB1811B9460E0ECE60BFD87F43F033E4C66
+ 6BD25C9335E99B5ED7E80ABF773CAE0A545F7EB18AECE25A52B2CA30DB52309A
+ ED58CD067232F5452AC2B192584A49B25098938C3FA070AC490F2FE8EBCA8C30
+ D2D7446FEB3E06BA8E4EA8CF319A13C6CDB6E40D3EB7E3C75EB763D77FB1DB13
+ E87F0E7C2C89925C93909CF379BFCFB53A1C7E38C53198ADC97A30CC1A0A8885
+ FE0662E2F0239178BCD73D7ADA2228B32DA5CF68B2BD3A3EDAF37B5509EE3FE5
+ 41FF03FA3F053E96044128B227E7DCAAAAC16B3DE383A55A64E2E97F7C5DCD92
+ 90DE2C8AF233CED19EC7354D6B3BF359FF7DFAFF06F8581204C10AE401B9167B
+ EA64D968A910104A344DC9538281AC60D09712F479EC00B2C9E29465D388241B
+ FA0441EAD2D05A827ECF718F73F838D00574699AF6E12F09FC3FA0FF07941F09
+ 895384A7330000000049454E44AE426082
+ }
+ end
+ object ProductLabel: TLabel
+ Left = 12
+ Height = 21
+ Top = 24
+ Width = 110
+ Caption = 'ProductName'
+ Font.Color = clRed
+ Font.Height = -16
+ Font.Style = [fsBold]
+ ParentColor = False
+ ParentFont = False
+ ShowAccelChar = False
+ end
+ object VersionLabel: TLabel
+ Left = 12
+ Height = 17
+ Top = 58
+ Width = 55
+ Caption = 'Version'
+ Font.Height = -13
+ Font.Style = [fsBold]
+ ParentColor = False
+ ParentFont = False
+ ShowAccelChar = False
+ end
+ object BuildDateLabel: TLabel
+ Left = 12
+ Height = 14
+ Top = 82
+ Width = 73
+ Caption = 'BuildDateLabel'
+ ParentColor = False
+ ShowAccelChar = False
+ end
+ object CopyrightLabel: TLabel
+ Left = 12
+ Height = 14
+ Top = 234
+ Width = 86
+ Caption = 'CopyrightLabel'
+ Font.Style = [fsBold]
+ ParentColor = False
+ ParentFont = False
+ ShowAccelChar = False
+ end
+ object LazLabel: TLabel
+ Left = 12
+ Height = 14
+ Top = 106
+ Width = 44
+ Caption = 'LazLabel'
+ ParentColor = False
+ ShowAccelChar = False
+ end
+ object FpcLabel: TLabel
+ Left = 12
+ Height = 14
+ Top = 130
+ Width = 45
+ Caption = 'FpcLabel'
+ ParentColor = False
+ ShowAccelChar = False
+ end
+ object WebsiteLabel: TLabel
+ Cursor = crHandPoint
+ Left = 12
+ Height = 14
+ Top = 274
+ Width = 79
+ Caption = 'WebsiteLabel'
+ Font.Color = clBlue
+ Font.Style = [fsBold]
+ ParentColor = False
+ ParentFont = False
+ ShowAccelChar = False
+ OnClick = WebsiteLabelClick
+ OnMouseEnter = WebsiteLabelMouseEnter
+ OnMouseLeave = WebsiteLabelMouseLeave
+ end
+ end
+ object LicensePage: TTabSheet
+ Caption = 'License'
+ ClientHeight = 382
+ ClientWidth = 537
+ object LicenseMemo: TMemo
+ Left = 0
+ Height = 330
+ Top = 0
+ Width = 537
+ Align = alTop
+ Lines.Strings = (
+ 'Licentie tekst'
+ )
+ ReadOnly = True
+ ScrollBars = ssAutoBoth
+ TabOrder = 0
+ WordWrap = False
+ end
+ object LicenseUrlLabel: TLabel
+ Cursor = crHandPoint
+ Left = 0
+ Height = 14
+ Top = 352
+ Width = 93
+ Caption = 'LicenseUrlLabel'
+ Font.Color = clBlue
+ Font.Style = [fsBold]
+ ParentColor = False
+ ParentFont = False
+ ShowAccelChar = False
+ OnClick = LicenseUrlLabelClick
+ end
+ end
+ end
+ object Panel1: TPanel
+ Left = 0
+ Height = 40
+ Top = 408
+ Width = 545
+ Align = alBottom
+ BevelInner = bvRaised
+ ClientHeight = 40
+ ClientWidth = 545
+ TabOrder = 1
+ object CloseBtn: TBitBtn
+ Left = 461
+ Height = 30
+ Top = 6
+ Width = 75
+ Cancel = True
+ Caption = '&OK'
+ Default = True
+ Kind = bkOK
+ ModalResult = 1
+ TabOrder = 0
+ end
+ end
+ object PopupMenu1: TPopupMenu
+ left = 120
+ top = 328
+ object CopyVersionInfo: TMenuItem
+ Caption = 'Kopieer versie informatie'
+ OnClick = CopyVersionInfoClick
+ end
end
end
diff --git a/applications/lazedit/lazedit_about.pas b/applications/lazedit/lazedit_about.pas
index 10f30bacb..b231a5928 100644
--- a/applications/lazedit/lazedit_about.pas
+++ b/applications/lazedit/lazedit_about.pas
@@ -1,40 +1,208 @@
-unit lazedit_about;
+unit LazEdit_About;
+
+{ ************ ExtAboutForm ***********************************
+
+ Copyright (C) 2011 Bart Broersma
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
+ for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ *****************************************************************}
+
{$mode objfpc}{$H+}
interface
uses
- Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
- lazedit_constants;
+ Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, LCLType,
+ Buttons, ComCtrls, StdCtrls, LCLProc, ExtCtrls, LCLIntf, Menus, ClipBrd;
type
- { TformAbout }
+ { TFormAbout }
- TformAbout = class(TForm)
- Button1: TButton;
- Label1: TLabel;
- labelCopyright: TLabel;
+ TFormAbout = class(TForm)
+ CloseBtn: TBitBtn;
+ Image1: TImage;
+ BuildDateLabel: TLabel;
+ CopyrightLabel: TLabel;
+ FpcLabel: TLabel;
+ CopyVersionInfo: TMenuItem;
+ Panel1: TPanel;
+ PopupMenu1: TPopupMenu;
+ WebsiteLabel: TLabel;
+ LazLabel: TLabel;
+ ProductLabel: TLabel;
+ VersionLabel: TLabel;
+ LicenseUrlLabel: TLabel;
+ LicenseMemo: TMemo;
+ NoteBook: TPageControl;
+ MainPage: TTabSheet;
+ LicensePage: TTabSheet;
+ procedure CopyVersionInfoClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
+ procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
+ procedure FormShow(Sender: TObject);
+ procedure LicenseUrlLabelClick(Sender: TObject);
+ procedure WebsiteLabelClick(Sender: TObject);
+ procedure WebsiteLabelMouseEnter(Sender: TObject);
+ procedure WebsiteLabelMouseLeave(Sender: TObject);
private
{ private declarations }
+ FWebsiteURL: String;
+ FLicenseUrl: String;
public
{ public declarations }
- end;
+ procedure SetVersionInfo(ProductName,Version, BuildDate, LazVersion, FpcVersion: String);
+ procedure SetCopyrightInfo(const CopyrightStatement, WebsiteName, WebsiteUrl: String);
+ procedure SetLicenseInfo(const LicenseText, LicenseWebsiteName, LicenseWebsiteUrl: String);
+ procedure CopyVersionInfoToClipBoard;
+ end;
var
- formAbout: TformAbout;
+ FormAbout: TFormAbout;
implementation
{$R *.lfm}
-{ TformAbout }
+{ TFormAbout }
-procedure TformAbout.FormCreate(Sender: TObject);
+const
+ idxMain = 0;
+ idxLicense = 1;
+
+procedure TFormAbout.FormKeyDown(Sender: TObject; var Key: Word;
+ Shift: TShiftState);
begin
- labelCopyright.Caption := CopyLeftStatement;
+ if (Key = VK_ESCAPE) then
+ begin
+ ModalResult := mrCancel;
+ Close;
+ end
+ else
+ if (Key = VK_C) and (Shift = [ssCtrl]) then CopyVersionInfoToClipBoard;
+end;
+
+procedure TFormAbout.FormShow(Sender: TObject);
+begin
+ NoteBook.PageIndex := idxMain;
+end;
+
+procedure TFormAbout.FormCreate(Sender: TObject);
+begin
+ //In GTK you can resize/maximize a form with BorderStyle := bsDialog, we don't want that
+ Constraints.MinHeight := Height;
+ Constraints.MaxHeight := Height;
+ Constraints.MinWidth := Width;
+ Constraints.MaxWidth := Width;;
+ NoteBook.PopupMenu := PopupMenu1;
+ PopupMenu := PopupMenu1;
+end;
+
+procedure TFormAbout.CopyVersionInfoClick(Sender: TObject);
+begin
+ CopyVersionInfoToClipBoard;
+end;
+
+procedure TFormAbout.LicenseUrlLabelClick(Sender: TObject);
+begin
+ if FLicenseUrl <> '' then OpenUrl(FLicenseUrl);
+end;
+
+procedure TFormAbout.WebsiteLabelClick(Sender: TObject);
+begin
+ if FWebsiteUrl <> '' then OpenUrl(FWebsiteUrl);
+end;
+
+procedure TFormAbout.WebsiteLabelMouseEnter(Sender: TObject);
+begin
+ (Sender as TLabel).Font.Style := (Sender as TLabel).Font.Style + [fsUnderline];
+end;
+
+procedure TFormAbout.WebsiteLabelMouseLeave(Sender: TObject);
+begin
+ (Sender as TLabel).Font.Style := (Sender as TLabel).Font.Style - [fsUnderline];
+end;
+
+
+
+procedure TFormAbout.SetVersionInfo(ProductName,Version, BuildDate, LazVersion,
+ FpcVersion: String);
+var
+ Y,M,D: String;
+ p: Integer;
+begin
+ if ProductName = '' then ProductName := Application.Title;
+ if BuildDate = '' then
+ begin
+ BuildDate := {$I %DATE%}; // y/m/d format
+ p := Pos('/',BuildDate);
+ Y := Copy(BuildDate,1,p-1);
+ System.Delete(BuildDate,1,p);
+ p := Pos('/',BuildDate);
+ M := Copy(BuildDate,1,p-1);
+ System.Delete(BuildDate,1,p);
+ D := BuildDate;
+ BuildDate := 'Build date: ' + Y + DefaultFormatSettings.DateSeparator + M + DefaultFormatSettings.DateSeparator + D;
+ end;
+ if LazVersion = '' then LazVersion := 'Lazarus '+ LCLVersion;
+ if FpcVersion = '' then FpcVersion := 'FPC ' + {$I %FPCVERSION%};
+ ProductLabel.Caption := ProductName;
+ VersionLabel.Caption := Version;
+ BuildDateLabel.Caption := BuildDate;
+ LazLabel.Caption := LazVersion;
+ FpcLabel.Caption := FpcVersion;
+end;
+
+procedure TFormAbout.SetCopyrightInfo(const CopyrightStatement, WebsiteName, WebsiteUrl: String);
+begin
+ FWebsiteURL := WebsiteURL;
+ WebsiteLabel.Caption := WebsiteName;
+ if WebsiteName = '' then WebsiteLabel.Caption := WebsiteUrl;
+ CopyrightLabel.Caption := CopyrightStatement;
+ if (WebsiteUrl <> '') and (WebsiteName <> '') and (WebsiteUrl <> WebsiteName) then
+ begin
+ WebsiteLabel.ShowHint := True;
+ WebsiteLabel.Hint := WebsiteUrl;
+ end
+ else WebsiteLabel.ShowHint := False;
+end;
+
+procedure TFormAbout.SetLicenseInfo(const LicenseText,
+ LicenseWebsiteName, LicenseWebsiteUrl: String);
+begin
+ LicenseMemo.Text := LicenseText;
+ FLicenseUrl := LicenseWebsiteUrl;
+ LicenseUrlLabel.Caption := LicenseWebsiteName;
+ if LicenseWebsiteName = '' then LicenseUrlLabel.Caption := FLicenseUrl;
+ if (LicenseWebsiteUrl <> '') and (LicenseWebsiteName <> '') and (LicenseWebsiteURL <> LicenseWebsiteName) then
+ begin
+ LicenseUrlLabel.ShowHint := True;
+ LicenseUrlLabel.Hint := LicenseWebsiteUrl;
+ end
+ else LicenseUrlLabel.ShowHint := False;
+end;
+
+procedure TFormAbout.CopyVersionInfoToClipBoard;
+begin
+ ClipBoard.AsText := ProductLabel.Caption + LineEnding +
+ VersionLabel.Caption + LineEnding +
+ BuildDateLabel.Caption + LineEnding +
+ LazLabel.Caption + LineEnding +
+ FpcLabel.Caption ;
end;
end.
diff --git a/applications/lazedit/lazedit_constants.pp b/applications/lazedit/lazedit_constants.pp
index 6e5f479e4..37ee90ed2 100644
--- a/applications/lazedit/lazedit_constants.pp
+++ b/applications/lazedit/lazedit_constants.pp
@@ -43,14 +43,16 @@ Uses Classes, SysUtils, LCLProc;
const
AppName = 'LazEdit';
- AboutTitle = 'Over ' + AppName;
- AppVersion = 'Version 1.9';
- CopyLeftStatement = 'Copyright (c) 2011, 2012 by Bart Broersma, FlyingSheep Inc. and Felipe Monteiro de Carvalho';
+ AboutTitle = 'About ' + AppName;
+ AppVersion = 'Version 0.9';
+ CopyLeftStatement = 'Copyright (c) 2011, 2012 by Bart Broersma, FlyingSheep Inc. and'+ LineEnding +
+ 'Felipe Monteiro de Carvalho';
MetaGeneratorName = AppName + #32 + AppVersion;
- AuthorWebName = 'Bart & Mariska''s Webstek';
- AuthorWebUrl = 'http://home.tiscali.nl/~knmg0017/';
- LicenseText = ''; //LGPL_Text;
- LicenseUrl = '';//LGPL_Url;
+ AuthorWebName = 'LazEdit homepage';
+ AuthorWebUrl = 'http://wiki.lazarus.freepascal.org/LazEdit';
+ {$I license.inc}
+ LicenseText = LGPL_Text;
+ LicenseUrl = LGPL_Url;
LicenseName = 'Gnu LGPL';
Type
diff --git a/applications/lazedit/license.inc b/applications/lazedit/license.inc
new file mode 100644
index 000000000..51289d762
--- /dev/null
+++ b/applications/lazedit/license.inc
@@ -0,0 +1,848 @@
+const
+ LGPL_Text =
+' GNU LESSER GENERAL PUBLIC LICENSE' + LineEnding +
+' Version 2.1, February 1999' + LineEnding +
+'' + LineEnding +
+' Copyright (C) 1991, 1999 Free Software Foundation, Inc.' + LineEnding +
+' 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA' + LineEnding +
+' Everyone is permitted to copy and distribute verbatim copies' + LineEnding +
+' of this license document, but changing it is not allowed.' + LineEnding +
+'' + LineEnding +
+'[This is the first released version of the Lesser GPL. It also counts' + LineEnding +
+' as the successor of the GNU Library Public License, version 2, hence' + LineEnding +
+' the version number 2.1.]' + LineEnding +
+'' + LineEnding +
+' Preamble' + LineEnding +
+'' + LineEnding +
+' The licenses for most software are designed to take away your' + LineEnding +
+'freedom to share and change it. By contrast, the GNU General Public' + LineEnding +
+'Licenses are intended to guarantee your freedom to share and change' + LineEnding +
+'free software--to make sure the software is free for all its users.' + LineEnding +
+'' + LineEnding +
+' This license, the Lesser General Public License, applies to some' + LineEnding +
+'specially designated software packages--typically libraries--of the' + LineEnding +
+'Free Software Foundation and other authors who decide to use it. You' + LineEnding +
+'can use it too, but we suggest you first think carefully about whether' + LineEnding +
+'this license or the ordinary General Public License is the better' + LineEnding +
+'strategy to use in any particular case, based on the explanations below.' + LineEnding +
+'' + LineEnding +
+' When we speak of free software, we are referring to freedom of use,' + LineEnding +
+'not price. Our General Public Licenses are designed to make sure that' + LineEnding +
+'you have the freedom to distribute copies of free software (and charge' + LineEnding +
+'for this service if you wish); that you receive source code or can get' + LineEnding +
+'it if you want it; that you can change the software and use pieces of' + LineEnding +
+'it in new free programs; and that you are informed that you can do' + LineEnding +
+'these things.' + LineEnding +
+'' + LineEnding +
+' To protect your rights, we need to make restrictions that forbid' + LineEnding +
+'distributors to deny you these rights or to ask you to surrender these' + LineEnding +
+'rights. These restrictions translate to certain responsibilities for' + LineEnding +
+'you if you distribute copies of the library or if you modify it.' + LineEnding +
+'' + LineEnding +
+' For example, if you distribute copies of the library, whether gratis' + LineEnding +
+'or for a fee, you must give the recipients all the rights that we gave' + LineEnding +
+'you. You must make sure that they, too, receive or can get the source' + LineEnding +
+'code. If you link other code with the library, you must provide' + LineEnding +
+'complete object files to the recipients, so that they can relink them' + LineEnding +
+'with the library after making changes to the library and recompiling' + LineEnding +
+'it. And you must show them these terms so they know their rights.' + LineEnding +
+'' + LineEnding +
+' We protect your rights with a two-step method: (1) we copyright the' + LineEnding +
+'library, and (2) we offer you this license, which gives you legal' + LineEnding +
+'permission to copy, distribute and/or modify the library.' + LineEnding +
+'' + LineEnding +
+' To protect each distributor, we want to make it very clear that' + LineEnding +
+'there is no warranty for the free library. Also, if the library is' + LineEnding +
+'modified by someone else and passed on, the recipients should know' + LineEnding +
+'that what they have is not the original version, so that the original' + LineEnding +
+'author''''s reputation will not be affected by problems that might be' + LineEnding +
+'introduced by others.' + LineEnding +
+'' + LineEnding +
+' Finally, software patents pose a constant threat to the existence of' + LineEnding +
+'any free program. We wish to make sure that a company cannot' + LineEnding +
+'effectively restrict the users of a free program by obtaining a' + LineEnding +
+'restrictive license from a patent holder. Therefore, we insist that' + LineEnding +
+'any patent license obtained for a version of the library must be' + LineEnding +
+'consistent with the full freedom of use specified in this license.' + LineEnding +
+'' + LineEnding +
+' Most GNU software, including some libraries, is covered by the' + LineEnding +
+'ordinary GNU General Public License. This license, the GNU Lesser' + LineEnding +
+'General Public License, applies to certain designated libraries, and' + LineEnding +
+'is quite different from the ordinary General Public License. We use' + LineEnding +
+'this license for certain libraries in order to permit linking those' + LineEnding +
+'libraries into non-free programs.' + LineEnding +
+'' + LineEnding +
+' When a program is linked with a library, whether statically or using' + LineEnding +
+'a shared library, the combination of the two is legally speaking a' + LineEnding +
+'combined work, a derivative of the original library. The ordinary' + LineEnding +
+'General Public License therefore permits such linking only if the' + LineEnding +
+'entire combination fits its criteria of freedom. The Lesser General' + LineEnding +
+'Public License permits more lax criteria for linking other code with' + LineEnding +
+'the library.' + LineEnding +
+'' + LineEnding +
+' We call this license the "Lesser" General Public License because it' + LineEnding +
+'does Less to protect the user''''s freedom than the ordinary General' + LineEnding +
+'Public License. It also provides other free software developers Less' + LineEnding +
+'of an advantage over competing non-free programs. These disadvantages' + LineEnding +
+'are the reason we use the ordinary General Public License for many' + LineEnding +
+'libraries. However, the Lesser license provides advantages in certain' + LineEnding +
+'special circumstances.' + LineEnding +
+'' + LineEnding +
+' For example, on rare occasions, there may be a special need to' + LineEnding +
+'encourage the widest possible use of a certain library, so that it becomes' + LineEnding +
+'a de-facto standard. To achieve this, non-free programs must be' + LineEnding +
+'allowed to use the library. A more frequent case is that a free' + LineEnding +
+'library does the same job as widely used non-free libraries. In this' + LineEnding +
+'case, there is little to gain by limiting the free library to free' + LineEnding +
+'software only, so we use the Lesser General Public License.' + LineEnding +
+'' + LineEnding +
+' In other cases, permission to use a particular library in non-free' + LineEnding +
+'programs enables a greater number of people to use a large body of' + LineEnding +
+'free software. For example, permission to use the GNU C Library in' + LineEnding +
+'non-free programs enables many more people to use the whole GNU' + LineEnding +
+'operating system, as well as its variant, the GNU/Linux operating' + LineEnding +
+'system.' + LineEnding +
+'' + LineEnding +
+' Although the Lesser General Public License is Less protective of the' + LineEnding +
+'users'''' freedom, it does ensure that the user of a program that is' + LineEnding +
+'linked with the Library has the freedom and the wherewithal to run' + LineEnding +
+'that program using a modified version of the Library.' + LineEnding +
+'' + LineEnding +
+' The precise terms and conditions for copying, distribution and' + LineEnding +
+'modification follow. Pay close attention to the difference between a' + LineEnding +
+'"work based on the library" and a "work that uses the library". The' + LineEnding +
+'former contains code derived from the library, whereas the latter must' + LineEnding +
+'be combined with the library in order to run.' + LineEnding +
+'' + LineEnding +
+' GNU LESSER GENERAL PUBLIC LICENSE' + LineEnding +
+' TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION' + LineEnding +
+'' + LineEnding +
+' 0. This License Agreement applies to any software library or other' + LineEnding +
+'program which contains a notice placed by the copyright holder or' + LineEnding +
+'other authorized party saying it may be distributed under the terms of' + LineEnding +
+'this Lesser General Public License (also called "this License").' + LineEnding +
+'Each licensee is addressed as "you".' + LineEnding +
+'' + LineEnding +
+' A "library" means a collection of software functions and/or data' + LineEnding +
+'prepared so as to be conveniently linked with application programs' + LineEnding +
+'(which use some of those functions and data) to form executables.' + LineEnding +
+'' + LineEnding +
+' The "Library", below, refers to any such software library or work' + LineEnding +
+'which has been distributed under these terms. A "work based on the' + LineEnding +
+'Library" means either the Library or any derivative work under' + LineEnding +
+'copyright law: that is to say, a work containing the Library or a' + LineEnding +
+'portion of it, either verbatim or with modifications and/or translated' + LineEnding +
+'straightforwardly into another language. (Hereinafter, translation is' + LineEnding +
+'included without limitation in the term "modification".)' + LineEnding +
+'' + LineEnding +
+' "Source code" for a work means the preferred form of the work for' + LineEnding +
+'making modifications to it. For a library, complete source code means' + LineEnding +
+'all the source code for all modules it contains, plus any associated' + LineEnding +
+'interface definition files, plus the scripts used to control compilation' + LineEnding +
+'and installation of the library.' + LineEnding +
+'' + LineEnding +
+' Activities other than copying, distribution and modification are not' + LineEnding +
+'covered by this License; they are outside its scope. The act of' + LineEnding +
+'running a program using the Library is not restricted, and output from' + LineEnding +
+'such a program is covered only if its contents constitute a work based' + LineEnding +
+'on the Library (independent of the use of the Library in a tool for' + LineEnding +
+'writing it). Whether that is true depends on what the Library does' + LineEnding +
+'and what the program that uses the Library does.' + LineEnding +
+' ' + LineEnding +
+' 1. You may copy and distribute verbatim copies of the Library''''s' + LineEnding +
+'complete source code as you receive it, in any medium, provided that' + LineEnding +
+'you conspicuously and appropriately publish on each copy an' + LineEnding +
+'appropriate copyright notice and disclaimer of warranty; keep intact' + LineEnding +
+'all the notices that refer to this License and to the absence of any' + LineEnding +
+'warranty; and distribute a copy of this License along with the' + LineEnding +
+'Library.' + LineEnding +
+'' + LineEnding +
+' You may charge a fee for the physical act of transferring a copy,' + LineEnding +
+'and you may at your option offer warranty protection in exchange for a' + LineEnding +
+'fee.' + LineEnding +
+'' + LineEnding +
+' 2. You may modify your copy or copies of the Library or any portion' + LineEnding +
+'of it, thus forming a work based on the Library, and copy and' + LineEnding +
+'distribute such modifications or work under the terms of Section 1' + LineEnding +
+'above, provided that you also meet all of these conditions:' + LineEnding +
+'' + LineEnding +
+' a) The modified work must itself be a software library.' + LineEnding +
+'' + LineEnding +
+' b) You must cause the files modified to carry prominent notices' + LineEnding +
+' stating that you changed the files and the date of any change.' + LineEnding +
+'' + LineEnding +
+' c) You must cause the whole of the work to be licensed at no' + LineEnding +
+' charge to all third parties under the terms of this License.' + LineEnding +
+'' + LineEnding +
+' d) If a facility in the modified Library refers to a function or a' + LineEnding +
+' table of data to be supplied by an application program that uses' + LineEnding +
+' the facility, other than as an argument passed when the facility' + LineEnding +
+' is invoked, then you must make a good faith effort to ensure that,' + LineEnding +
+' in the event an application does not supply such function or' + LineEnding +
+' table, the facility still operates, and performs whatever part of' + LineEnding +
+' its purpose remains meaningful.' + LineEnding +
+'' + LineEnding +
+' (For example, a function in a library to compute square roots has' + LineEnding +
+' a purpose that is entirely well-defined independent of the' + LineEnding +
+' application. Therefore, Subsection 2d requires that any' + LineEnding +
+' application-supplied function or table used by this function must' + LineEnding +
+' be optional: if the application does not supply it, the square' + LineEnding +
+' root function must still compute square roots.)' + LineEnding +
+'' + LineEnding +
+'These requirements apply to the modified work as a whole. If' + LineEnding +
+'identifiable sections of that work are not derived from the Library,' + LineEnding +
+'and can be reasonably considered independent and separate works in' + LineEnding +
+'themselves, then this License, and its terms, do not apply to those' + LineEnding +
+'sections when you distribute them as separate works. But when you' + LineEnding +
+'distribute the same sections as part of a whole which is a work based' + LineEnding +
+'on the Library, the distribution of the whole must be on the terms of' + LineEnding +
+'this License, whose permissions for other licensees extend to the' + LineEnding +
+'entire whole, and thus to each and every part regardless of who wrote' + LineEnding +
+'it.' + LineEnding +
+'' + LineEnding +
+'Thus, it is not the intent of this section to claim rights or contest' + LineEnding +
+'your rights to work written entirely by you; rather, the intent is to' + LineEnding +
+'exercise the right to control the distribution of derivative or' + LineEnding +
+'collective works based on the Library.' + LineEnding +
+'' + LineEnding +
+'In addition, mere aggregation of another work not based on the Library' + LineEnding +
+'with the Library (or with a work based on the Library) on a volume of' + LineEnding +
+'a storage or distribution medium does not bring the other work under' + LineEnding +
+'the scope of this License.' + LineEnding +
+'' + LineEnding +
+' 3. You may opt to apply the terms of the ordinary GNU General Public' + LineEnding +
+'License instead of this License to a given copy of the Library. To do' + LineEnding +
+'this, you must alter all the notices that refer to this License, so' + LineEnding +
+'that they refer to the ordinary GNU General Public License, version 2,' + LineEnding +
+'instead of to this License. (If a newer version than version 2 of the' + LineEnding +
+'ordinary GNU General Public License has appeared, then you can specify' + LineEnding +
+'that version instead if you wish.) Do not make any other change in' + LineEnding +
+'these notices.' + LineEnding +
+'' + LineEnding +
+' Once this change is made in a given copy, it is irreversible for' + LineEnding +
+'that copy, so the ordinary GNU General Public License applies to all' + LineEnding +
+'subsequent copies and derivative works made from that copy.' + LineEnding +
+'' + LineEnding +
+' This option is useful when you wish to copy part of the code of' + LineEnding +
+'the Library into a program that is not a library.' + LineEnding +
+'' + LineEnding +
+' 4. You may copy and distribute the Library (or a portion or' + LineEnding +
+'derivative of it, under Section 2) in object code or executable form' + LineEnding +
+'under the terms of Sections 1 and 2 above provided that you accompany' + LineEnding +
+'it with the complete corresponding machine-readable source code, which' + LineEnding +
+'must be distributed under the terms of Sections 1 and 2 above on a' + LineEnding +
+'medium customarily used for software interchange.' + LineEnding +
+'' + LineEnding +
+' If distribution of object code is made by offering access to copy' + LineEnding +
+'from a designated place, then offering equivalent access to copy the' + LineEnding +
+'source code from the same place satisfies the requirement to' + LineEnding +
+'distribute the source code, even though third parties are not' + LineEnding +
+'compelled to copy the source along with the object code.' + LineEnding +
+'' + LineEnding +
+' 5. A program that contains no derivative of any portion of the' + LineEnding +
+'Library, but is designed to work with the Library by being compiled or' + LineEnding +
+'linked with it, is called a "work that uses the Library". Such a' + LineEnding +
+'work, in isolation, is not a derivative work of the Library, and' + LineEnding +
+'therefore falls outside the scope of this License.' + LineEnding +
+'' + LineEnding +
+' However, linking a "work that uses the Library" with the Library' + LineEnding +
+'creates an executable that is a derivative of the Library (because it' + LineEnding +
+'contains portions of the Library), rather than a "work that uses the' + LineEnding +
+'library". The executable is therefore covered by this License.' + LineEnding +
+'Section 6 states terms for distribution of such executables.' + LineEnding +
+'' + LineEnding +
+' When a "work that uses the Library" uses material from a header file' + LineEnding +
+'that is part of the Library, the object code for the work may be a' + LineEnding +
+'derivative work of the Library even though the source code is not.' + LineEnding +
+'Whether this is true is especially significant if the work can be' + LineEnding +
+'linked without the Library, or if the work is itself a library. The' + LineEnding +
+'threshold for this to be true is not precisely defined by law.' + LineEnding +
+'' + LineEnding +
+' If such an object file uses only numerical parameters, data' + LineEnding +
+'structure layouts and accessors, and small macros and small inline' + LineEnding +
+'functions (ten lines or less in length), then the use of the object' + LineEnding +
+'file is unrestricted, regardless of whether it is legally a derivative' + LineEnding +
+'work. (Executables containing this object code plus portions of the' + LineEnding +
+'Library will still fall under Section 6.)' + LineEnding +
+'' + LineEnding +
+' Otherwise, if the work is a derivative of the Library, you may' + LineEnding +
+'distribute the object code for the work under the terms of Section 6.' + LineEnding +
+'Any executables containing that work also fall under Section 6,' + LineEnding +
+'whether or not they are linked directly with the Library itself.' + LineEnding +
+'' + LineEnding +
+' 6. As an exception to the Sections above, you may also combine or' + LineEnding +
+'link a "work that uses the Library" with the Library to produce a' + LineEnding +
+'work containing portions of the Library, and distribute that work' + LineEnding +
+'under terms of your choice, provided that the terms permit' + LineEnding +
+'modification of the work for the customer''''s own use and reverse' + LineEnding +
+'engineering for debugging such modifications.' + LineEnding +
+'' + LineEnding +
+' You must give prominent notice with each copy of the work that the' + LineEnding +
+'Library is used in it and that the Library and its use are covered by' + LineEnding +
+'this License. You must supply a copy of this License. If the work' + LineEnding +
+'during execution displays copyright notices, you must include the' + LineEnding +
+'copyright notice for the Library among them, as well as a reference' + LineEnding +
+'directing the user to the copy of this License. Also, you must do one' + LineEnding +
+'of these things:' + LineEnding +
+'' + LineEnding +
+' a) Accompany the work with the complete corresponding' + LineEnding +
+' machine-readable source code for the Library including whatever' + LineEnding +
+' changes were used in the work (which must be distributed under' + LineEnding +
+' Sections 1 and 2 above); and, if the work is an executable linked' + LineEnding +
+' with the Library, with the complete machine-readable "work that' + LineEnding +
+' uses the Library", as object code and/or source code, so that the' + LineEnding +
+' user can modify the Library and then relink to produce a modified' + LineEnding +
+' executable containing the modified Library. (It is understood' + LineEnding +
+' that the user who changes the contents of definitions files in the' + LineEnding +
+' Library will not necessarily be able to recompile the application' + LineEnding +
+' to use the modified definitions.)' + LineEnding +
+'' + LineEnding +
+' b) Use a suitable shared library mechanism for linking with the' + LineEnding +
+' Library. A suitable mechanism is one that (1) uses at run time a' + LineEnding +
+' copy of the library already present on the user''''s computer system,' + LineEnding +
+' rather than copying library functions into the executable, and (2)' + LineEnding +
+' will operate properly with a modified version of the library, if' + LineEnding +
+' the user installs one, as long as the modified version is' + LineEnding +
+' interface-compatible with the version that the work was made with.' + LineEnding +
+'' + LineEnding +
+' c) Accompany the work with a written offer, valid for at' + LineEnding +
+' least three years, to give the same user the materials' + LineEnding +
+' specified in Subsection 6a, above, for a charge no more' + LineEnding +
+' than the cost of performing this distribution.' + LineEnding +
+'' + LineEnding +
+' d) If distribution of the work is made by offering access to copy' + LineEnding +
+' from a designated place, offer equivalent access to copy the above' + LineEnding +
+' specified materials from the same place.' + LineEnding +
+'' + LineEnding +
+' e) Verify that the user has already received a copy of these' + LineEnding +
+' materials or that you have already sent this user a copy.' + LineEnding +
+'' + LineEnding +
+' For an executable, the required form of the "work that uses the' + LineEnding +
+'Library" must include any data and utility programs needed for' + LineEnding +
+'reproducing the executable from it. However, as a special exception,' + LineEnding +
+'the materials to be distributed need not include anything that is' + LineEnding +
+'normally distributed (in either source or binary form) with the major' + LineEnding +
+'components (compiler, kernel, and so on) of the operating system on' + LineEnding +
+'which the executable runs, unless that component itself accompanies' + LineEnding +
+'the executable.' + LineEnding +
+'' + LineEnding +
+' It may happen that this requirement contradicts the license' + LineEnding +
+'restrictions of other proprietary libraries that do not normally' + LineEnding +
+'accompany the operating system. Such a contradiction means you cannot' + LineEnding +
+'use both them and the Library together in an executable that you' + LineEnding +
+'distribute.' + LineEnding +
+'' + LineEnding +
+' 7. You may place library facilities that are a work based on the' + LineEnding +
+'Library side-by-side in a single library together with other library' + LineEnding +
+'facilities not covered by this License, and distribute such a combined' + LineEnding +
+'library, provided that the separate distribution of the work based on' + LineEnding +
+'the Library and of the other library facilities is otherwise' + LineEnding +
+'permitted, and provided that you do these two things:' + LineEnding +
+'' + LineEnding +
+' a) Accompany the combined library with a copy of the same work' + LineEnding +
+' based on the Library, uncombined with any other library' + LineEnding +
+' facilities. This must be distributed under the terms of the' + LineEnding +
+' Sections above.' + LineEnding +
+'' + LineEnding +
+' b) Give prominent notice with the combined library of the fact' + LineEnding +
+' that part of it is a work based on the Library, and explaining' + LineEnding +
+' where to find the accompanying uncombined form of the same work.' + LineEnding +
+'' + LineEnding +
+' 8. You may not copy, modify, sublicense, link with, or distribute' + LineEnding +
+'the Library except as expressly provided under this License. Any' + LineEnding +
+'attempt otherwise to copy, modify, sublicense, link with, or' + LineEnding +
+'distribute the Library is void, and will automatically terminate your' + LineEnding +
+'rights under this License. However, parties who have received copies,' + LineEnding +
+'or rights, from you under this License will not have their licenses' + LineEnding +
+'terminated so long as such parties remain in full compliance.' + LineEnding +
+'' + LineEnding +
+' 9. You are not required to accept this License, since you have not' + LineEnding +
+'signed it. However, nothing else grants you permission to modify or' + LineEnding +
+'distribute the Library or its derivative works. These actions are' + LineEnding +
+'prohibited by law if you do not accept this License. Therefore, by' + LineEnding +
+'modifying or distributing the Library (or any work based on the' + LineEnding +
+'Library), you indicate your acceptance of this License to do so, and' + LineEnding +
+'all its terms and conditions for copying, distributing or modifying' + LineEnding +
+'the Library or works based on it.' + LineEnding +
+'' + LineEnding +
+' 10. Each time you redistribute the Library (or any work based on the' + LineEnding +
+'Library), the recipient automatically receives a license from the' + LineEnding +
+'original licensor to copy, distribute, link with or modify the Library' + LineEnding +
+'subject to these terms and conditions. You may not impose any further' + LineEnding +
+'restrictions on the recipients'''' exercise of the rights granted herein.' + LineEnding +
+'You are not responsible for enforcing compliance by third parties with' + LineEnding +
+'this License.' + LineEnding +
+'' + LineEnding +
+' 11. If, as a consequence of a court judgment or allegation of patent' + LineEnding +
+'infringement or for any other reason (not limited to patent issues),' + LineEnding +
+'conditions are imposed on you (whether by court order, agreement or' + LineEnding +
+'otherwise) that contradict the conditions of this License, they do not' + LineEnding +
+'excuse you from the conditions of this License. If you cannot' + LineEnding +
+'distribute so as to satisfy simultaneously your obligations under this' + LineEnding +
+'License and any other pertinent obligations, then as a consequence you' + LineEnding +
+'may not distribute the Library at all. For example, if a patent' + LineEnding +
+'license would not permit royalty-free redistribution of the Library by' + LineEnding +
+'all those who receive copies directly or indirectly through you, then' + LineEnding +
+'the only way you could satisfy both it and this License would be to' + LineEnding +
+'refrain entirely from distribution of the Library.' + LineEnding +
+'' + LineEnding +
+'If any portion of this section is held invalid or unenforceable under any' + LineEnding +
+'particular circumstance, the balance of the section is intended to apply,' + LineEnding +
+'and the section as a whole is intended to apply in other circumstances.' + LineEnding +
+'' + LineEnding +
+'It is not the purpose of this section to induce you to infringe any' + LineEnding +
+'patents or other property right claims or to contest validity of any' + LineEnding +
+'such claims; this section has the sole purpose of protecting the' + LineEnding +
+'integrity of the free software distribution system which is' + LineEnding +
+'implemented by public license practices. Many people have made' + LineEnding +
+'generous contributions to the wide range of software distributed' + LineEnding +
+'through that system in reliance on consistent application of that' + LineEnding +
+'system; it is up to the author/donor to decide if he or she is willing' + LineEnding +
+'to distribute software through any other system and a licensee cannot' + LineEnding +
+'impose that choice.' + LineEnding +
+'' + LineEnding +
+'This section is intended to make thoroughly clear what is believed to' + LineEnding +
+'be a consequence of the rest of this License.' + LineEnding +
+'' + LineEnding +
+' 12. If the distribution and/or use of the Library is restricted in' + LineEnding +
+'certain countries either by patents or by copyrighted interfaces, the' + LineEnding +
+'original copyright holder who places the Library under this License may add' + LineEnding +
+'an explicit geographical distribution limitation excluding those countries,' + LineEnding +
+'so that distribution is permitted only in or among countries not thus' + LineEnding +
+'excluded. In such case, this License incorporates the limitation as if' + LineEnding +
+'written in the body of this License.' + LineEnding +
+'' + LineEnding +
+' 13. The Free Software Foundation may publish revised and/or new' + LineEnding +
+'versions of the Lesser General Public License from time to time.' + LineEnding +
+'Such new versions will be similar in spirit to the present version,' + LineEnding +
+'but may differ in detail to address new problems or concerns.' + LineEnding +
+'' + LineEnding +
+'Each version is given a distinguishing version number. If the Library' + LineEnding +
+'specifies a version number of this License which applies to it and' + LineEnding +
+'"any later version", you have the option of following the terms and' + LineEnding +
+'conditions either of that version or of any later version published by' + LineEnding +
+'the Free Software Foundation. If the Library does not specify a' + LineEnding +
+'license version number, you may choose any version ever published by' + LineEnding +
+'the Free Software Foundation.' + LineEnding +
+'' + LineEnding +
+' 14. If you wish to incorporate parts of the Library into other free' + LineEnding +
+'programs whose distribution conditions are incompatible with these,' + LineEnding +
+'write to the author to ask for permission. For software which is' + LineEnding +
+'copyrighted by the Free Software Foundation, write to the Free' + LineEnding +
+'Software Foundation; we sometimes make exceptions for this. Our' + LineEnding +
+'decision will be guided by the two goals of preserving the free status' + LineEnding +
+'of all derivatives of our free software and of promoting the sharing' + LineEnding +
+'and reuse of software generally.' + LineEnding +
+'' + LineEnding +
+' NO WARRANTY' + LineEnding +
+'' + LineEnding +
+' 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO' + LineEnding +
+'WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.' + LineEnding +
+'EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR' + LineEnding +
+'OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY' + LineEnding +
+'KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE' + LineEnding +
+'IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR' + LineEnding +
+'PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE' + LineEnding +
+'LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME' + LineEnding +
+'THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.' + LineEnding +
+'' + LineEnding +
+' 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN' + LineEnding +
+'WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY' + LineEnding +
+'AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU' + LineEnding +
+'FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR' + LineEnding +
+'CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE' + LineEnding +
+'LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING' + LineEnding +
+'RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A' + LineEnding +
+'FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF' + LineEnding +
+'SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH' + LineEnding +
+'DAMAGES.' + LineEnding +
+'' + LineEnding +
+' END OF TERMS AND CONDITIONS' + LineEnding +
+'' + LineEnding +
+' How to Apply These Terms to Your New Libraries' + LineEnding +
+'' + LineEnding +
+' If you develop a new library, and you want it to be of the greatest' + LineEnding +
+'possible use to the public, we recommend making it free software that' + LineEnding +
+'everyone can redistribute and change. You can do so by permitting' + LineEnding +
+'redistribution under these terms (or, alternatively, under the terms of the' + LineEnding +
+'ordinary General Public License).' + LineEnding +
+'' + LineEnding +
+' To apply these terms, attach the following notices to the library. It is' + LineEnding +
+'safest to attach them to the start of each source file to most effectively' + LineEnding +
+'convey the exclusion of warranty; and each file should have at least the' + LineEnding +
+'"copyright" line and a pointer to where the full notice is found.' + LineEnding +
+'' + LineEnding +
+' ' + LineEnding +
+' Copyright (C) ' + LineEnding +
+'' + LineEnding +
+' This library is free software; you can redistribute it and/or' + LineEnding +
+' modify it under the terms of the GNU Lesser General Public' + LineEnding +
+' License as published by the Free Software Foundation; either' + LineEnding +
+' version 2.1 of the License, or (at your option) any later version.' + LineEnding +
+'' + LineEnding +
+' This library is distributed in the hope that it will be useful,' + LineEnding +
+' but WITHOUT ANY WARRANTY; without even the implied warranty of' + LineEnding +
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU' + LineEnding +
+' Lesser General Public License for more details.' + LineEnding +
+'' + LineEnding +
+' You should have received a copy of the GNU Lesser General Public' + LineEnding +
+' License along with this library; if not, write to the Free Software' + LineEnding +
+' Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA' + LineEnding +
+'' + LineEnding +
+'Also add information on how to contact you by electronic and paper mail.' + LineEnding +
+'' + LineEnding +
+'You should also get your employer (if you work as a programmer) or your' + LineEnding +
+'school, if any, to sign a "copyright disclaimer" for the library, if' + LineEnding +
+'necessary. Here is a sample; alter the names:' + LineEnding +
+'' + LineEnding +
+' Yoyodyne, Inc., hereby disclaims all copyright interest in the' + LineEnding +
+' library `Frob'''' (a library for tweaking knobs) written by James Random Hacker.' + LineEnding +
+'' + LineEnding +
+' , 1 April 1990' + LineEnding +
+' Ty Coon, President of Vice' + LineEnding +
+'' + LineEnding +
+'That''''s all there is to it!';
+
+ GPL_Text =
+ ' GNU GENERAL PUBLIC LICENSE' + LineEnding +
+ ' Version 2, June 1991' + LineEnding +
+ '' + LineEnding +
+ ' Copyright (C) 1989, 1991 Free Software Foundation, Inc.' + LineEnding +
+ ' 675 Mass Ave, Cambridge, MA 02139, USA' + LineEnding +
+ ' Everyone is permitted to copy and distribute verbatim copies' + LineEnding +
+ ' of this license document, but changing it is not allowed.' + LineEnding +
+ '' + LineEnding +
+ ' Preamble' + LineEnding +
+ '' + LineEnding +
+ ' The licenses for most software are designed to take away your' + LineEnding +
+ 'freedom to share and change it. By contrast, the GNU General Public' + LineEnding +
+ 'License is intended to guarantee your freedom to share and change free' + LineEnding +
+ 'software--to make sure the software is free for all its users. This' + LineEnding +
+ 'General Public License applies to most of the Free Software' + LineEnding +
+ 'Foundation''''s software and to any other program whose authors commit to' + LineEnding +
+ 'using it. (Some other Free Software Foundation software is covered by' + LineEnding +
+ 'the GNU Library General Public License instead.) You can apply it to' + LineEnding +
+ 'your programs, too.' + LineEnding +
+ '' + LineEnding +
+ ' When we speak of free software, we are referring to freedom, not' + LineEnding +
+ 'price. Our General Public Licenses are designed to make sure that you' + LineEnding +
+ 'have the freedom to distribute copies of free software (and charge for' + LineEnding +
+ 'this service if you wish), that you receive source code or can get it' + LineEnding +
+ 'if you want it, that you can change the software or use pieces of it' + LineEnding +
+ 'in new free programs; and that you know you can do these things.' + LineEnding +
+ '' + LineEnding +
+ ' To protect your rights, we need to make restrictions that forbid' + LineEnding +
+ 'anyone to deny you these rights or to ask you to surrender the rights.' + LineEnding +
+ 'These restrictions translate to certain responsibilities for you if you' + LineEnding +
+ 'distribute copies of the software, or if you modify it.' + LineEnding +
+ '' + LineEnding +
+ ' For example, if you distribute copies of such a program, whether' + LineEnding +
+ 'gratis or for a fee, you must give the recipients all the rights that' + LineEnding +
+ 'you have. You must make sure that they, too, receive or can get the' + LineEnding +
+ 'source code. And you must show them these terms so they know their' + LineEnding +
+ 'rights.' + LineEnding +
+ '' + LineEnding +
+ ' We protect your rights with two steps: (1) copyright the software, and' + LineEnding +
+ '(2) offer you this license which gives you legal permission to copy,' + LineEnding +
+ 'distribute and/or modify the software.' + LineEnding +
+ '' + LineEnding +
+ ' Also, for each author''''s protection and ours, we want to make certain' + LineEnding +
+ 'that everyone understands that there is no warranty for this free' + LineEnding +
+ 'software. If the software is modified by someone else and passed on, we' + LineEnding +
+ 'want its recipients to know that what they have is not the original, so' + LineEnding +
+ 'that any problems introduced by others will not reflect on the original' + LineEnding +
+ 'authors'''' reputations.' + LineEnding +
+ '' + LineEnding +
+ ' Finally, any free program is threatened constantly by software' + LineEnding +
+ 'patents. We wish to avoid the danger that redistributors of a free' + LineEnding +
+ 'program will individually obtain patent licenses, in effect making the' + LineEnding +
+ 'program proprietary. To prevent this, we have made it clear that any' + LineEnding +
+ 'patent must be licensed for everyone''''s free use or not licensed at all.' + LineEnding +
+ '' + LineEnding +
+ ' The precise terms and conditions for copying, distribution and' + LineEnding +
+ 'modification follow.' + LineEnding +
+ '' + LineEnding +
+ ' GNU GENERAL PUBLIC LICENSE' + LineEnding +
+ ' TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION' + LineEnding +
+ '' + LineEnding +
+ ' 0. This License applies to any program or other work which contains' + LineEnding +
+ 'a notice placed by the copyright holder saying it may be distributed' + LineEnding +
+ 'under the terms of this General Public License. The "Program", below,' + LineEnding +
+ 'refers to any such program or work, and a "work based on the Program"' + LineEnding +
+ 'means either the Program or any derivative work under copyright law:' + LineEnding +
+ 'that is to say, a work containing the Program or a portion of it,' + LineEnding +
+ 'either verbatim or with modifications and/or translated into another' + LineEnding +
+ 'language. (Hereinafter, translation is included without limitation in' + LineEnding +
+ 'the term "modification".) Each licensee is addressed as "you".' + LineEnding +
+ '' + LineEnding +
+ 'Activities other than copying, distribution and modification are not' + LineEnding +
+ 'covered by this License; they are outside its scope. The act of' + LineEnding +
+ 'running the Program is not restricted, and the output from the Program' + LineEnding +
+ 'is covered only if its contents constitute a work based on the' + LineEnding +
+ 'Program (independent of having been made by running the Program).' + LineEnding +
+ 'Whether that is true depends on what the Program does.' + LineEnding +
+ '' + LineEnding +
+ ' 1. You may copy and distribute verbatim copies of the Program''''s' + LineEnding +
+ 'source code as you receive it, in any medium, provided that you' + LineEnding +
+ 'conspicuously and appropriately publish on each copy an appropriate' + LineEnding +
+ 'copyright notice and disclaimer of warranty; keep intact all the' + LineEnding +
+ 'notices that refer to this License and to the absence of any warranty;' + LineEnding +
+ 'and give any other recipients of the Program a copy of this License' + LineEnding +
+ 'along with the Program.' + LineEnding +
+ '' + LineEnding +
+ 'You may charge a fee for the physical act of transferring a copy, and' + LineEnding +
+ 'you may at your option offer warranty protection in exchange for a fee.' + LineEnding +
+ '' + LineEnding +
+ ' 2. You may modify your copy or copies of the Program or any portion' + LineEnding +
+ 'of it, thus forming a work based on the Program, and copy and' + LineEnding +
+ 'distribute such modifications or work under the terms of Section 1' + LineEnding +
+ 'above, provided that you also meet all of these conditions:' + LineEnding +
+ '' + LineEnding +
+ ' a) You must cause the modified files to carry prominent notices' + LineEnding +
+ ' stating that you changed the files and the date of any change.' + LineEnding +
+ '' + LineEnding +
+ ' b) You must cause any work that you distribute or publish, that in' + LineEnding +
+ ' whole or in part contains or is derived from the Program or any' + LineEnding +
+ ' part thereof, to be licensed as a whole at no charge to all third' + LineEnding +
+ ' parties under the terms of this License.' + LineEnding +
+ '' + LineEnding +
+ ' c) If the modified program normally reads commands interactively' + LineEnding +
+ ' when run, you must cause it, when started running for such' + LineEnding +
+ ' interactive use in the most ordinary way, to print or display an' + LineEnding +
+ ' announcement including an appropriate copyright notice and a' + LineEnding +
+ ' notice that there is no warranty (or else, saying that you provide' + LineEnding +
+ ' a warranty) and that users may redistribute the program under' + LineEnding +
+ ' these conditions, and telling the user how to view a copy of this' + LineEnding +
+ ' License. (Exception: if the Program itself is interactive but' + LineEnding +
+ ' does not normally print such an announcement, your work based on' + LineEnding +
+ ' the Program is not required to print an announcement.)' + LineEnding +
+ '' + LineEnding +
+ 'These requirements apply to the modified work as a whole. If' + LineEnding +
+ 'identifiable sections of that work are not derived from the Program,' + LineEnding +
+ 'and can be reasonably considered independent and separate works in' + LineEnding +
+ 'themselves, then this License, and its terms, do not apply to those' + LineEnding +
+ 'sections when you distribute them as separate works. But when you' + LineEnding +
+ 'distribute the same sections as part of a whole which is a work based' + LineEnding +
+ 'on the Program, the distribution of the whole must be on the terms of' + LineEnding +
+ 'this License, whose permissions for other licensees extend to the' + LineEnding +
+ 'entire whole, and thus to each and every part regardless of who wrote it.' + LineEnding +
+ '' + LineEnding +
+ 'Thus, it is not the intent of this section to claim rights or contest' + LineEnding +
+ 'your rights to work written entirely by you; rather, the intent is to' + LineEnding +
+ 'exercise the right to control the distribution of derivative or' + LineEnding +
+ 'collective works based on the Program.' + LineEnding +
+ '' + LineEnding +
+ 'In addition, mere aggregation of another work not based on the Program' + LineEnding +
+ 'with the Program (or with a work based on the Program) on a volume of' + LineEnding +
+ 'a storage or distribution medium does not bring the other work under' + LineEnding +
+ 'the scope of this License.' + LineEnding +
+ '' + LineEnding +
+ ' 3. You may copy and distribute the Program (or a work based on it,' + LineEnding +
+ 'under Section 2) in object code or executable form under the terms of' + LineEnding +
+ 'Sections 1 and 2 above provided that you also do one of the following:' + LineEnding +
+ '' + LineEnding +
+ ' a) Accompany it with the complete corresponding machine-readable' + LineEnding +
+ ' source code, which must be distributed under the terms of Sections' + LineEnding +
+ ' 1 and 2 above on a medium customarily used for software interchange; or,' + LineEnding +
+ '' + LineEnding +
+ ' b) Accompany it with a written offer, valid for at least three' + LineEnding +
+ ' years, to give any third party, for a charge no more than your' + LineEnding +
+ ' cost of physically performing source distribution, a complete' + LineEnding +
+ ' machine-readable copy of the corresponding source code, to be' + LineEnding +
+ ' distributed under the terms of Sections 1 and 2 above on a medium' + LineEnding +
+ ' customarily used for software interchange; or,' + LineEnding +
+ '' + LineEnding +
+ ' c) Accompany it with the information you received as to the offer' + LineEnding +
+ ' to distribute corresponding source code. (This alternative is' + LineEnding +
+ ' allowed only for noncommercial distribution and only if you' + LineEnding +
+ ' received the program in object code or executable form with such' + LineEnding +
+ ' an offer, in accord with Subsection b above.)' + LineEnding +
+ '' + LineEnding +
+ 'The source code for a work means the preferred form of the work for' + LineEnding +
+ 'making modifications to it. For an executable work, complete source' + LineEnding +
+ 'code means all the source code for all modules it contains, plus any' + LineEnding +
+ 'associated interface definition files, plus the scripts used to' + LineEnding +
+ 'control compilation and installation of the executable. However, as a' + LineEnding +
+ 'special exception, the source code distributed need not include' + LineEnding +
+ 'anything that is normally distributed (in either source or binary' + LineEnding +
+ 'form) with the major components (compiler, kernel, and so on) of the' + LineEnding +
+ 'operating system on which the executable runs, unless that component' + LineEnding +
+ 'itself accompanies the executable.' + LineEnding +
+ '' + LineEnding +
+ 'If distribution of executable or object code is made by offering' + LineEnding +
+ 'access to copy from a designated place, then offering equivalent' + LineEnding +
+ 'access to copy the source code from the same place counts as' + LineEnding +
+ 'distribution of the source code, even though third parties are not' + LineEnding +
+ 'compelled to copy the source along with the object code.' + LineEnding +
+ '' + LineEnding +
+ ' 4. You may not copy, modify, sublicense, or distribute the Program' + LineEnding +
+ 'except as expressly provided under this License. Any attempt' + LineEnding +
+ 'otherwise to copy, modify, sublicense or distribute the Program is' + LineEnding +
+ 'void, and will automatically terminate your rights under this License.' + LineEnding +
+ 'However, parties who have received copies, or rights, from you under' + LineEnding +
+ 'this License will not have their licenses terminated so long as such' + LineEnding +
+ 'parties remain in full compliance.' + LineEnding +
+ '' + LineEnding +
+ ' 5. You are not required to accept this License, since you have not' + LineEnding +
+ 'signed it. However, nothing else grants you permission to modify or' + LineEnding +
+ 'distribute the Program or its derivative works. These actions are' + LineEnding +
+ 'prohibited by law if you do not accept this License. Therefore, by' + LineEnding +
+ 'modifying or distributing the Program (or any work based on the' + LineEnding +
+ 'Program), you indicate your acceptance of this License to do so, and' + LineEnding +
+ 'all its terms and conditions for copying, distributing or modifying' + LineEnding +
+ 'the Program or works based on it.' + LineEnding +
+ '' + LineEnding +
+ ' 6. Each time you redistribute the Program (or any work based on the' + LineEnding +
+ 'Program), the recipient automatically receives a license from the' + LineEnding +
+ 'original licensor to copy, distribute or modify the Program subject to' + LineEnding +
+ 'these terms and conditions. You may not impose any further' + LineEnding +
+ 'restrictions on the recipients'''' exercise of the rights granted herein.' + LineEnding +
+ 'You are not responsible for enforcing compliance by third parties to' + LineEnding +
+ 'this License.' + LineEnding +
+ '' + LineEnding +
+ ' 7. If, as a consequence of a court judgment or allegation of patent' + LineEnding +
+ 'infringement or for any other reason (not limited to patent issues),' + LineEnding +
+ 'conditions are imposed on you (whether by court order, agreement or' + LineEnding +
+ 'otherwise) that contradict the conditions of this License, they do not' + LineEnding +
+ 'excuse you from the conditions of this License. If you cannot' + LineEnding +
+ 'distribute so as to satisfy simultaneously your obligations under this' + LineEnding +
+ 'License and any other pertinent obligations, then as a consequence you' + LineEnding +
+ 'may not distribute the Program at all. For example, if a patent' + LineEnding +
+ 'license would not permit royalty-free redistribution of the Program by' + LineEnding +
+ 'all those who receive copies directly or indirectly through you, then' + LineEnding +
+ 'the only way you could satisfy both it and this License would be to' + LineEnding +
+ 'refrain entirely from distribution of the Program.' + LineEnding +
+ '' + LineEnding +
+ 'If any portion of this section is held invalid or unenforceable under' + LineEnding +
+ 'any particular circumstance, the balance of the section is intended to' + LineEnding +
+ 'apply and the section as a whole is intended to apply in other' + LineEnding +
+ 'circumstances.' + LineEnding +
+ '' + LineEnding +
+ 'It is not the purpose of this section to induce you to infringe any' + LineEnding +
+ 'patents or other property right claims or to contest validity of any' + LineEnding +
+ 'such claims; this section has the sole purpose of protecting the' + LineEnding +
+ 'integrity of the free software distribution system, which is' + LineEnding +
+ 'implemented by public license practices. Many people have made' + LineEnding +
+ 'generous contributions to the wide range of software distributed' + LineEnding +
+ 'through that system in reliance on consistent application of that' + LineEnding +
+ 'system; it is up to the author/donor to decide if he or she is willing' + LineEnding +
+ 'to distribute software through any other system and a licensee cannot' + LineEnding +
+ 'impose that choice.' + LineEnding +
+ '' + LineEnding +
+ 'This section is intended to make thoroughly clear what is believed to' + LineEnding +
+ 'be a consequence of the rest of this License.' + LineEnding +
+ '' + LineEnding +
+ ' 8. If the distribution and/or use of the Program is restricted in' + LineEnding +
+ 'certain countries either by patents or by copyrighted interfaces, the' + LineEnding +
+ 'original copyright holder who places the Program under this License' + LineEnding +
+ 'may add an explicit geographical distribution limitation excluding' + LineEnding +
+ 'those countries, so that distribution is permitted only in or among' + LineEnding +
+ 'countries not thus excluded. In such case, this License incorporates' + LineEnding +
+ 'the limitation as if written in the body of this License.' + LineEnding +
+ '' + LineEnding +
+ ' 9. The Free Software Foundation may publish revised and/or new versions' + LineEnding +
+ 'of the General Public License from time to time. Such new versions will' + LineEnding +
+ 'be similar in spirit to the present version, but may differ in detail to' + LineEnding +
+ 'address new problems or concerns.' + LineEnding +
+ '' + LineEnding +
+ 'Each version is given a distinguishing version number. If the Program' + LineEnding +
+ 'specifies a version number of this License which applies to it and "any' + LineEnding +
+ 'later version", you have the option of following the terms and conditions' + LineEnding +
+ 'either of that version or of any later version published by the Free' + LineEnding +
+ 'Software Foundation. If the Program does not specify a version number of' + LineEnding +
+ 'this License, you may choose any version ever published by the Free Software' + LineEnding +
+ 'Foundation.' + LineEnding +
+ '' + LineEnding +
+ ' 10. If you wish to incorporate parts of the Program into other free' + LineEnding +
+ 'programs whose distribution conditions are different, write to the author' + LineEnding +
+ 'to ask for permission. For software which is copyrighted by the Free' + LineEnding +
+ 'Software Foundation, write to the Free Software Foundation; we sometimes' + LineEnding +
+ 'make exceptions for this. Our decision will be guided by the two goals' + LineEnding +
+ 'of preserving the free status of all derivatives of our free software and' + LineEnding +
+ 'of promoting the sharing and reuse of software generally.' + LineEnding +
+ '' + LineEnding +
+ ' NO WARRANTY' + LineEnding +
+ '' + LineEnding +
+ ' 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY' + LineEnding +
+ 'FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN' + LineEnding +
+ 'OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES' + LineEnding +
+ 'PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED' + LineEnding +
+ 'OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF' + LineEnding +
+ 'MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS' + LineEnding +
+ 'TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE' + LineEnding +
+ 'PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,' + LineEnding +
+ 'REPAIR OR CORRECTION.' + LineEnding +
+ '' + LineEnding +
+ ' 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING' + LineEnding +
+ 'WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR' + LineEnding +
+ 'REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,' + LineEnding +
+ 'INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING' + LineEnding +
+ 'OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED' + LineEnding +
+ 'TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY' + LineEnding +
+ 'YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER' + LineEnding +
+ 'PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE' + LineEnding +
+ 'POSSIBILITY OF SUCH DAMAGES.' + LineEnding +
+ '' + LineEnding +
+ ' END OF TERMS AND CONDITIONS' + LineEnding +
+ '' + LineEnding +
+ ' Appendix: How to Apply These Terms to Your New Programs' + LineEnding +
+ '' + LineEnding +
+ ' If you develop a new program, and you want it to be of the greatest' + LineEnding +
+ 'possible use to the public, the best way to achieve this is to make it' + LineEnding +
+ 'free software which everyone can redistribute and change under these terms.' + LineEnding +
+ '' + LineEnding +
+ ' To do so, attach the following notices to the program. It is safest' + LineEnding +
+ 'to attach them to the start of each source file to most effectively' + LineEnding +
+ 'convey the exclusion of warranty; and each file should have at least' + LineEnding +
+ 'the "copyright" line and a pointer to where the full notice is found.' + LineEnding +
+ '' + LineEnding +
+ ' ' + LineEnding +
+ ' Copyright (C) 19yy ' + LineEnding +
+ '' + LineEnding +
+ ' This program is free software; you can redistribute it and/or modify' + LineEnding +
+ ' it under the terms of the GNU General Public License as published by' + LineEnding +
+ ' the Free Software Foundation; either version 2 of the License, or' + LineEnding +
+ ' (at your option) any later version.' + LineEnding +
+ '' + LineEnding +
+ ' This program is distributed in the hope that it will be useful,' + LineEnding +
+ ' but WITHOUT ANY WARRANTY; without even the implied warranty of' + LineEnding +
+ ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the' + LineEnding +
+ ' GNU General Public License for more details.' + LineEnding +
+ '' + LineEnding +
+ ' You should have received a copy of the GNU General Public License' + LineEnding +
+ ' along with this program; if not, write to the Free Software' + LineEnding +
+ ' Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.' + LineEnding +
+ '' + LineEnding +
+ 'Also add information on how to contact you by electronic and paper mail.' + LineEnding +
+ '' + LineEnding +
+ 'If the program is interactive, make it output a short notice like this' + LineEnding +
+ 'when it starts in an interactive mode:' + LineEnding +
+ '' + LineEnding +
+ ' Gnomovision version 69, Copyright (C) 19yy name of author' + LineEnding +
+ ' Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w''''.' + LineEnding +
+ ' This is free software, and you are welcome to redistribute it' + LineEnding +
+ ' under certain conditions; type `show c'''' for details.' + LineEnding +
+ '' + LineEnding +
+ 'The hypothetical commands `show w'''' and `show c'''' should show the appropriate' + LineEnding +
+ 'parts of the General Public License. Of course, the commands you use may' + LineEnding +
+ 'be called something other than `show w'''' and `show c''''; they could even be' + LineEnding +
+ 'mouse-clicks or menu items--whatever suits your program.' + LineEnding +
+ '' + LineEnding +
+ 'You should also get your employer (if you work as a programmer) or your' + LineEnding +
+ 'school, if any, to sign a "copyright disclaimer" for the program, if' + LineEnding +
+ 'necessary. Here is a sample; alter the names:' + LineEnding +
+ '' + LineEnding +
+ ' Yoyodyne, Inc., hereby disclaims all copyright interest in the program' + LineEnding +
+ ' `Gnomovision'''' (which makes passes at compilers) written by James Hacker.' + LineEnding +
+ '' + LineEnding +
+ ' , 1 April 1989' + LineEnding +
+ ' Ty Coon, President of Vice' + LineEnding +
+ '' + LineEnding +
+ 'This General Public License does not permit incorporating your program into' + LineEnding +
+ 'proprietary programs. If your program is a subroutine library, you may' + LineEnding +
+ 'consider it more useful to permit linking proprietary applications with the' + LineEnding +
+ 'library. If this is what you want to do, use the GNU Library General' + LineEnding +
+ 'Public License instead of this License.';
+
+ LGPL_URL = 'http://www.gnu.org/licenses/old-licenses/library.html';
+
diff --git a/applications/lazedit/main.pp b/applications/lazedit/main.pp
index f6a6bd656..4903f1d18 100644
--- a/applications/lazedit/main.pp
+++ b/applications/lazedit/main.pp
@@ -511,6 +511,8 @@ type
procedure EditorFontSizeUp;
procedure EditorFontSizeDown;
+ procedure AboutLazEdit;
+
procedure ParseCommandlineFilenames(Dummy: PtrInt); //Dummy is needed for QueueAsyncCall()
procedure ParseCommandLineSwitches;
@@ -880,7 +882,7 @@ end;
procedure TLazEditMainForm.acAboutExecute(Sender: TObject);
begin
- formAbout.ShowModal;
+ AboutLazEdit;
end;
procedure TLazEditMainForm.acEditFindNextExecute(Sender: TObject);
@@ -2592,5 +2594,15 @@ begin
end;
end;
+procedure TLazEditMainForm.AboutLazEdit;
+begin
+ FormAbout.SetCopyrightInfo(CopyLeftStatement, AuthorWebName, AuthorWebUrl);
+ FormAbout.SetVersionInfo(AppName, AppVersion, '','', '');
+ FormAbout.SetLicenseInfo(LicenseText, LicenseName, LicenseUrl);
+ FormAbout.Top := Top + 15;
+ FormAbout.Left := Left + 15;
+ FormAbout.ShowModal;
+end;
+
end.