<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>LISE</name>
	<version>1.1</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vbG9jYWxob3N0L2Ntc21zXzEyMV9tb2RzL21vZHVsZXMvTElTRS9mcmFtZXdvcmsvY3NzL2NvbG9yYm94LmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vbG9jYWxob3N0L2Ntc21zXzEyMV9tb2RzL21vZHVsZXMvTElTRS9saWIvY3NzL2xpc2VIZWxwLmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvY21zbXNfMTIxX21vZHMvbW9kdWxlcy9MSVNFL2ZyYW1ld29yay9qcy9qcXVlcnkuY29sb3Jib3guanMiPjwvc2NyaXB0PjxzY3JpcHQ+alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeSgnLmNib3gnKS5jb2xvcmJveCh7cmVsOidncm91cCcsaWZyYW1lOiB0cnVlLGlubmVyV2lkdGg6IDgwMCxpbm5lckhlaWdodDogNDUwLG9wYWNpdHk6IDAuMn0pO30pOzwvc2NyaXB0PjxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj48ZGl2IGlkPSJwYWdlX3RhYnMiPjxkaXYgaWQ9ImdlbmVyYWwiPkdlbmVyYWw8L2Rpdj48ZGl2IGlkPSJkdXBsaWNhdGluZyI+Q3JlYXRpbmcgSW5zdGFuY2VzPC9kaXY+PGRpdiBpZD0iZmllbGQiPkZpZWxkIERlZmluaXRpb25zPC9kaXY+PGRpdiBpZD0ic21hcnR5X3BsdWdpbnMiPlNtYXJ0eSBwbHVnaW5zPC9kaXY+PGRpdiBpZD0id2hhdHNuZXciPldoYXQncyBOZXc8L2Rpdj48ZGl2IGlkPSJhYm91dCI+QWJvdXQ8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PjxkaXYgaWQ9InBhZ2VfY29udGVudCI+PGRpdiBpZD0iZ2VuZXJhbF9jIj48aW1nIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFXUUFBQURJQ0FZQUFBRGZzcHNCQUFBZ0FFbEVRVlI0bk8yZGVaUmtWWlh1VDFVeFZZa0NRbElhRlNTUkVUZk8vcjY5THdXdEtNNkNyWWcweUFLN3RWVlFGSlh1dGxWUVcrWHBVMFJYdDRvS3ZNYmgyYlF6WWo5dDdWYlJwL2pzcHozWU9HQTdJU2hEd1dPcWVaNm45MGRFU2xGVVptVkUzQnYzM3NqOVcrdGJyRW95NDU2Nzk3bGYzanpEUGlFNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVQMHk1d2tTUTZ1MSt2emkyN0lOTXdwdWdIT1FNeXIxK3Z6RzQzR0lVVTNaQ2JVNi9YNXJ2NlVKTW5CUmVldmFzd0JjTEtSMXhqbEhsTnVVK1Y2STlZb3NVdFY3ekx5R2pLK0tCUmdoTUNpSTBtNVNGWC8yUlQzR3JIRGxOdU4yS0dxZDVIOHJJaWNGa0k0YU5odGMyYk1nU3J5UXBMWG1HS3BFWnRNdVZhSmRVcnNNdVhOcEh4a1ltSmlZZEVORFNFRUVUbVJJbjlueWdlVTJHWEVHbE91ZGZVdVZhNVhZcGVTdnlYdzRSampFNHZPYjJreGtWTk11ZDJNOTVoeTkzUktqY3RNdVkza3E0YlV2QU5VOVZvamxwbHk0L1R0MDlWS3JEUHltaUcxemRrUFkyTmpoNUk4T3pYN3Y2bHhreWxYN2ErUG1YS3RtYTVTYlo5VVJKdUI5aG1xV0s2cUsyZlFWbGNmVXVYOVNpNFJrY1ZGNUxpMHFITHJEQitTdmJVaE5iMTk4ZUxGajhpcmJRRE82YmF2dDJRVFcwMjUyY2lMODJxYk16VXh4cU1NT0YrVlArdStWZTduRittVVdxM0FwMElJQnd5ajNVbVNqSm5welVxc0s5cXdab3M2TDFENDlERHlXM2JtbW5KM2FqcG9VRGVReWVQR3g4ZVB5S3BoSXJMWWlGdU4zRFJZMi9SMm9QM21yTnJsVEUycjFUckd5SXROOVhaVnJsUmlTMVlQYldyY0ZFS1ltMmY3VmVTRnFlblNvZzFxOWdyM0prbWllZWE0dEN3bTA5UjBRNVlCemRLUWpieXlPMGFjUmR0V2tmTFJyTnJtUElpSUNDbnY3UXhqWVhscXpDcG4rOUpxQUkvUDZWWU84cmZpNHBXYWJnaXpjYUplZ1h1ekRxWVNLMktNaXdadG0wRytuSnB1ejdSdHlwV2tYSkJGN0dZN1pQSTRJejlxeW8xR0xDTmsxN0FlV0ZXdUhCc2JPelRyZThyeWJkNDF1TExPYjZraCtkbmNna25jbVNUSldQOXRrNDhxc0R5UHRxWEdaVW1TMUxPTTVTeGhuc2I0ZEpKZlRGVjNFMWhSMUlQYUhWNjdPY3ViVStYNm9nM0k5YkFjYjhzeXg2V2wzVzZma09lZlpxcmNDc1IzOWRNMmN1SllKWmZrbW5ES0hWbkhkQlNwMSt2enlYaTZHYjdkZlh0Y1hmU0QrcUN3SE1CTHNyaFBWVG1ydS9LakJQZmwya09yUlZxblpKSGpVbU9xZCtjZFRDV1h0RnF0WTNwdG15cmVuZUc0OFJSdHczMXBpalB5aUczVmFUUWFod040c1NwdlZHSmRtZDhjVTlQYnM3am5mbGJ3dUlhbTdXR1V4NU8xM1Q0cE5YMGc5MEFTbTRCNFNTOXRHeHNiTzlRMG42R0t2WldTLzVCWGpLc0dlZXhqR2VOZm1PcHZUTGxLaWMwbGVCRDNLeVdYQUhqQllQY2V6N2IrbG51NmhpTGNDK0RrakxwNitTRGx5cUVGczhjM0dCRTV6WFFJdnl3NldsMnIxUmJrRmVleWt5UkppNVIzbU9KZUpWWW9zYTM0aDY4UFVkNDZTQnlNK0hUaDkrRGFUNDVIZUlPWEtuODNyRUFxc2E2WHZldUFYRDdFdHEySU1TTFBXSmNOQU1jWjVZck9KZzBzTitYT3doKzJBVVh5VjRQRXhKVFYvRVUwcTRSN3Mzb0dTc2N3QTVtYVBrQk9IRHZUdGluNWcyRzFUWWt0Zy82NVd3SG1rTW1UelBDWjFIUzdRb1l5SERSczlSdWNScU54aUpWNGpOejFlMjBMb3ppTzNHZzBEaG5td3ZmVXVLemRibk9tN1ZQeVY4Tk1OSWtQNXhudmdqZ29KWjlqaHErYmNydU4rUGlvS3RmM1cwR3MwV2c4cGx1VHBmRDdjT1dUNDFKVHE5VVdXS2ZxMG5BQ0NWa080TGladHMrSVc0ZVphQTQ0L2xnV1JPU1JRUHNGU3Y0Z05kMm9sS0hsdUdncHNhN2ZzcDB4eGtXbThHM1NaUmV4WmlUbmUwcHZ5S3IvTnNRazcxRFZDL09NZDU0a1NUSkdrUXRTd3k5TXVUbzE3YmR3VCtYVmJ3ekh4c1lPN1JZOUt2d2VYRk5MaVYxWlBqdWxvZXlHcktxZkhHS1NWd0E0TmM5NFowMnoyUnhYNE0xS0xsRmloYStmNVc1VERMUVd1VnQvdVFUMzRacEtxbnBYVnM5UXFTaTdJUjlIUG1OWWIzcEszRmVGTGRReFJpamlYeXV4UWlITDg5NDBVeldSdUhxUStBNXpJdG5WcDBaMTJWdlpEWGxpWW1LaEtZZXlEbG1KZFhuR2VoQkU1RVFGL3FjcE42dGkrVEFMOTFSSnFsd3BJaWNPRXVzVU9LZDdZa25oOStONnVGTGpzdTdwUktOSDJRMDVoQkJJM3BCNzI0aE5aRHc3cnpqM3dUd2dlYWFxZnNtMFl6UkZQd2dWMGFvc3p1SHpZWXRTYXpTWHZJVlFEVVB1dmlYbjNFWmRWZlNocmJWYWJRR0FNNVg4cm5WT05mSEpwVjc2Rm1XdHFyNCtpMXdBN1RkWGRxZmlDQ3MxM1dqQXE3UEljU21wZ2lHSEVBSXA3OC90cllWWVJzcGI4b2p2L2hnZkh6OUNWYzQxdzArMGs0ZE1Ed2VZVGNxcXNOQWtYcGkrZkVxTm8xMlZzU3FHSEVJSXByd3Rod1R2TU5WVldjZDFPa1NrcHNEcmxQeHQ5MGlqU2hUdUtibTJoUkRtWlprbnNwVjJEOUF0K3Q1Y0hXM0k4NXpPVWxBbFEyYXoyYmFNNnd5a3hudXlqdW0rYUxWYWlRTHZVdVg5M1pvUi91ZHdSaUp4cDRxY20wZmVGTGlrazdQaTczTzJLOGRqdXNwRGxReTV5N3lNbHNGdFUrVS9aUmJJZmRCc05nOGpjWFVudmxpdVJPVUw5NVJOcXJ6THpFN0lNNDlrL0FzLzVMVEFIQk1yek96UjlYcjkwWG5tdVJSVTBKQkRDT0dnN3FxRHZveFpsU3RUNDQ4ekNlQVVBSGliRWl1eVBnUFExUkVoVzB5NU9jYjRoRHp6T0luRitNVHVDU21lenlGSmxWdU5ja2NXNTNGV2hvb2Fja2lTNUdBQUY1cmlYcHVoTVhkTi9HWUFUODRpZGxOd29LbmU3dXRZYzlOR0piWW84S21ROFpqeERKaEg0QXRtZXJmNWtGTitJallwdVlTVXl5WW1KaFlPT2NmRlVsVkRuaVRHZUpTUkY1dnBiV1pjbzhyN3RUTkd1Nm83VExEQ2xKdFQ4bk5wbXUrMmFKTEgyaXl1SDVIbkEycW1xMHg1c3lyK05nemZpQjhDZ0FZWlg2YktHMDI1dHR2Zkh1ak1EYmg2VmFlNm5qNWd5clZtdkVNVi82M1piSTRYbWVQQ3FMb2g3MG05WHA4ZlkwU004V2tBVGhhUkU0ZjVHOVpLZGVCbnRhWEVPaVhXa2ZnaEdmKzAwV2djUHF3ODlrS2owVGhFUkdveHh1TkZaTEdyTjhVWWo5Y2tNUUNOTERiMFZKNVJNdVFpNlN5Zks5N0lxcXpVZExVcXQ2ckt0elRHNS9rRDZzdzYzSkFIUjRFMytaaHhuLzJoYzNiZkxqTmNGMk44V2doaGJ0SDVkSnpDY0VNZUhQTUpubDRNZUdkM0hmWUdJNi9XSlBtRG92UG5PS1hCRFhrd1NQNlZHL0wwNml6OXczSXpYYXFLZHdQTldIVGVIS2VVdUNFUGhvM0FLYzI1NUpuWTNGMkhmVHNwRjFXaHpyVGpGSTRiY3Y4a1NUTG1aVEgzeUsxeXZSblhLSGtUZ0pjRGk0NHNPa2VPVXluY2tQc0h3TW5EakYwcDFTa1J1dEZVdjZjcVp5MWN1SEMwaTc4NFRwNjRJZmNQRUY4OUcwL3VZR2V6emM2VStJcUluQkpDT0xEb1hEak9TT0NHM0Q5R3ZxTm9jeHlLQVVOMm1XSjVwN1lBcnhsVy9RakhtWFc0SWZkUGQ0VkY0WWFaaTRnZDNWckFxMGg1ZjVJa1duUzhIV2ZrR1JWREZwRVRHZU41S2ZuM0tmbDlBMzVpaG44aGNIV2E0cHhXcTNWMDF0Y2s0OW5XWjhXNU1rcVZXeFZZcnNxN0RIZ2JnRWJXTVJzbEFEeEZnWGVuNUZlTi9MR1NON2w2RTRtZm11SGZWZlZhQlM2TU1TS0VjRkRSdVMyTXFoc3lZM3lSS2RlcThpNGx0azVoTk90TnNUUTEzSkttT0NlcmE4Y1kwU21NVXJ5WjlxdlV1TWxVVnhQNEpZRFh6THJxV2oxU3I5Zm5LL0FoVSs3MDAwU3lsUks3T2lmb2NLMlJIdzRGRjVFcWhLb2FjcXpWamxKeWlmVjRCaDJCKzVUOExwazhMb3Y0cGFaVlBBTnZyU3JYRytUZlZlU0ZTWkk4S290WWpEcUsrQ1pWcnZlREJvYWk3YXJjQ2lSbkZwMzNvVkkxUTA2UzVPRHVLUndER2FFcWZ4MWpQTDdaYkI0MlNQek04TzBTZE40WlNGZVpjbHRLWG05bXowMlM1T0JCN25zMjBXZzBEamZ5am94T3FuSDFvTTdhZG53bXpKWmhqS29ac2dIblc0WmxMazg2NmFTQjNnNDd3eGI2UU5FZGQ5L0NjbFB1VENtZkEvQ1U0SVY3K2tMSlgrVjI0cmxySnRwTzh2dEY5NE9oVUNWREpubE5EanZqVnJWYXJXTUdpYUZCdmx5RzljaEs3RFJ5bWFxdVR5Rlh4UmlQSCtTK25CQlV1VDQxTGRxUVpyMVMwKzJwNmRLaSswUHVWTVdRRzQzRzRhYmNuRXU3eURzR3JiVlE0TGppdHU0YTRmc05lR2VyMVVvR3VRL25RVWg1aS9rWmVxV1JFcHRWNVlWRjk0dGNxWW9oMjRCanh2dEo5RTRqUHp0SUhKTWswZTRRd1pBNkpsY3ErVnNBcnhPUjJpQnRkeDVPcTlVNnVyTTZwM2dqY3UwcExCL3AvbDRGUXlibEEzay9IS3E4ZjlDM1N4VjVZWTd0VzIrZE04ZCtyQ0xuem9vajBRdEV5WnVLTngvWEZNL0NYVVgzajl5b2dpRVBZMElsTmQxdGhxOFBHczk2dlQ3ZmpHdXlhUlBYbUhJenlSc0FuRkdyMVJZTTJqNW4vd0E0emhSTGl6WWUxNVM2dTd1QlpQUW91eUVEZUx3Uzl3MmpiYW5weGl4aU9qWTJkaWpKTDNZcm9mVVdIMkpGcXJwYlZiOEU0T1F3R3hmSEZ3eUJMNVRBZEZ4VFA2ZmJSZHB2TDdxZjVFTFpEWG5JRXl1cnlHTWZtMVZzMiszMkNhbDExcThxc1dYZm5ZczdyTE9NYjdPcWZGeEVUc3pxK2s1L2REY2NGVzQ4cm1rRS9LTG9mcElMWlRma2xMeCtXRzFMVFRlS3lMT3lqbkc5WHArdk1mNmhxbHliRWo4MDVjMUcrYmtaL2hIQVgyYjVTOEFabUxtcTNPY1dmRmVwdExQb2pwSUw1VGRrL0hLWWlRYnd1anpqN1pRYllOR1JCRmFVd0hCYzAwaFYxNC9rYnRPeUd6S0pXNGVhYk9CdGVjYmJLVGN4eGtWVkx4ZzFTN1IySkNlNXkyN0ladnFqb1NZYWVFMmU4WGJLVFl6eHFHR3RKM2NOcE0xaEZDZTh5MjdJQkQ0OXhDU3ZCWEJxbnZGMnBtVU9nQWFBZDZycXY2YUdXOHowdHRUd0gwYjVDSURuRHVHdGFKNFMrZXdJZFdVbVZhN011UjhVUTlrTkdjQkxwbHFoa0xWUzR6SS9ybjY0TkJxTlF3QThsOFEzVExsZGlYWFQ1R2lqRXV1TXVITXhtVW41MUgyUm10NWV0T0c0cGhlQnIrU1YvMElwdXlHM1dxMWpoamltdHlIUFdEc2Q2dlg2bzFYa3BhcThVWWwxZmUzQ0pKWVorZG14c2JGRHMyNmZrZS9wTGtjczNIaGNENWNTVzJLTXo4NDY3NldnN0lZY1FnaXF2RC92ZHFYR0hhUjhJSzg0ejNaYXJkWXhwRnlreXQ5MTZuQU1QaXhBeUs3dW42NlpqaVcyV3Exa1dKdVJYUDBweTN5WGlpb1ljb3p4MmYzc2V1dEp4bnQ4dUNKYmtpUlJJOStueEFwVExNL3pyVFByRFRXbThwdWlUY2YxY0NteFUxWC9WNWE1TGhWVk1PUVFRbERsalRtMmE2TUJYOHNqdnJPTXVVRHlaQktmN215dXdQSWgxb2xlZmNJSkp4eWUxWTJJeUNrMjdDV1hydjFLaVYxWjViaVVWTVdRUldTeFVlN0lLY25yOG9qdGJLQzdDL0Y1U243VGxOdTZSMFVWOU1BaTB3TG1wRnhtUkw1L21ibG1MbUlaeVZkbG1lUFNVUlZERGlFRU16c2hqelpsSGROUkIxaDBwSXFjYTZvL1VtTGRmbFpHREUycTNFcktaVm5lcTZwKzNyZFNsME9xY2xhV3VTMGxWVEprWU5HUnJWWXJ5V3JWUldxNlZJNDY2cEVoaEFNeUR1dkkwV3cyeHcxNFkycDZPNEVWWlYycnE4U0tScU9SMmRCRkNDRVkrVVUzNWVKRXlEb0RYaU1pa21WZVMwbVZESGtTMWZaSnFXbmZreTZxM0pxYXJnWVdIWmxWSEVjUnNwV1M4bjVWcmpSaVdSV1dnblhma2pOZkxTTWlyekJsU1ErekhXWHA3NEQybTdQT1oybXBvaUdIRUlJbXlSOTBLc0hwM1RPK05yR3I4OER5NHBFc1RESTRjd0U4eFF5ZlNVMjNHMUhKbWc2cS9IVWV3U0g1SEZQZVJwUmppR2EwaGFXbXZEdFZQVGVQWEphV3FocnlKR1Q3T1NuNWZWT3VUVTJYN3VOUHl3M2Q1SzVWeFNWaEZQZS9EMEM5WHA5UHh0TlY1VnVkMkJVNUtaZVpWaVZKOHFpOFlpWWlweGx4cDZuK1AxT3VIc2FKTmlNdllvZENscWVtRDVqcTNTVC9QSy84bFpxcUcvSWtqVWJqRUJFNTBRem5LL0J1bzN5QUltOFhrVDhXa1ltc3IxZGxZb3hIQVhpNUdYN1M5MDY1TW90WUppS0w4NDRqT1hHc3h2aDBBSzlSNEc4QXVkelZ1OHo0WGpLK2xqRStPMG1Tc2J6elZtcEd4WkNkNlFIUVVPRE5SdHpaM1NrM2xQb2dCUm55R3NaNGV0RXhkNXllY1VNZVhRQWNCOGpscWVscVV5dzNvdlNUY3BuME1lVjZBR2NXSFgvSDZSazM1SkZpbm9nOE5hVjhMalh1VU1pc3JPdWJHdGNBZUVyUnlYQ2NubkZEcmphMVdtMEJnRE1JZktjN0RERUtrM0tEOVRIbFNoR3BGWjBieCtrWk4rVHFrU1RKbUFIbkszbVRLZGVPM0tUY2dFcU5tNEp2OW5HcWlCdHlOUURRSVBsV0paY29zV0trSitVRzdXT3EvMXgwdmh5bkw5eVF5MHVub0JLdk1PWHFUa0gyMlRFcE40aFMwMVVHdktUbzNEbE9YN2dobDRwNUd1UFRWZlZhVSs3MHd6YjdFTEdqNkNRNlR0KzRJUmZMd29VTEh3SGdUSkkzS0xHbHMwU3RCTVpXUVNteElnWE9LRHFuanRNM2JzakRwOVZxSGEwcXIxRGx6OHk0eHBRYmlqYXp5b3ZZWWNDM2k4NnQ0d3pFS0JteWlOUlU1RThZNDJzVnVJVGtud040YnF2Vk9pYVA2L1ZDakxHcHdDV3F2RXNoeTMxU0x1TitwZHhhUUZybmRUYmY0RlF5bnVmcVR3cThXMFJPaVRHaWdCeVdpNm9iY3F2VlNraGViOHFOMWxtRCs1QzN6ZFM0SmpWZGFzb05xcmg4bU9aY3I5Y2ZuYWI4bUJMclVxTlB5dVhSbjRpZEtmSExack41MkxEeUN1QTRnM3hOaVMxSzNFZGdYYmVvMVU1WFg5cXVsTFZLM0tmSzlVcCtjOWFhYzFVTnVkVnFIVVBnQzlaYmpkcHRwcnc3cGJ3aDcvS2Jabmlua2N1NjF5emN1RVpVRzFUMWszbm1jVStTSktrcmVaTXFWNWJnM2tkYnhMS1UrRVlJWWM2dzhsc0txbWpJQUJwS0x1bjdBRTFpMHg3SHgyZWE4RWFqY1lncTd6SmlVK0dkZWtTVkdqZVpjalBKWjJTWnUra3d4SGQyVHM4dS92NW5sWWdkWkx4NFdIa3VuQ29aY296eHFQSHg4U05NbWRsS2hFc3Z2WFJ1VnJGTTA3UlZsdlBsUmsxS2JPblU1dEJWRkxrZ3E1ek5CS1A4UE1zKzUrcFpEd0I0d1RCelhoalZNdVRtMHpKdmsrbmQ1TEdQelNLV3ZtNDQ0NzZpWEo4YTE1anBmNm5LSzF1dDF0Rlo1S2tYU0xuQWxLVThQM0NXNlFGVitmeXc4ejkwcW1MSU1jYW5xZkxYdWJUTDlOOEdqYU9mR3BHWlZwbHlzNUxmVlpXenhzYkdEaDAwTi8xQ2tjdk16OUVya3piRUdCY1YxUitHUWxVTVdaVTM1dFltWW91cXZLTGZHRkxrRFQ1bVBJaXdYSWxkWnJpT2JEOGpsT0NZcmJHeHNVUFR6aHJ4RXNUSHRZZTJoMUdlNkt1Q0laTjhXV3JNKzhETnphR1BDbUgxZXYzUlEyamJhSW5ZWWNabHFYR05rVmNNNDdpbFhpRnhkZUZ4Y3UxTDJ3ejRXdEg5SXplcVlNaW11RGZ2ZG5WT1dlWjdlbzBmR2M4ejVmWVNkTlJTcTd0bWQ0V3EzbVhBMjhwOHpxR0kxRXpWaHlwS3F0UjA2Zmo0K0JGRjk1TmNLTHNoa3hQSHF2TCtZYld2MS9qNWpydHB0Y0dNYTFUNU0xVjVSVlVPc0ZTUmw1ci9raTJ0bEZoSDhyeWkrMGt1bE42UVkzeVpFa09aNVZibHlsNU1JMG1TTWZyYTFJY29OVjJ0eEJhU053QTRjK0hDaFkvb3IyY1doNUwvV1hRY1hkTkxsZDh0dXAva1F0a051VnVLY2xpSlh0dWRWSm9SQUU3MWlaOU9UbzNZb1NxZmp6RStMWlJnVW00UWlvNm5hd1o5VHJtKzZINlNDMlUzNUpUNDZiRGFSc2d1QTg2ZmFkdkkrTnErZHd0V1djUU9JNWFaY2pXSkQ0OVM5Yjd4OGZFamZHdDArVFd5eDNTVjNaQkozRHJVWkFOdm0ybmJqSHhIMFIxemFIbWJuSlFqbDVCOEs0QkdYeDJ1NU1RWUY1bGlhZEh4ZHUxWGEydTEyb0tpKzB2bWxOMlFoL21HYk1yZEt2TDZtYmFONUYrVm9HUG1Gd3ZsZWxXdUpmRlRBQyt2eXFUY0lFeE1UQ3owWll5VjBNWVF3b0ZGOTVmTUtic2hHM0RkRUpPOG9aYzk4MEQ3SE91VS9TeTZjMmFwVmFyY2FvWnZrKzAvR3NtM2tHbW8xK3Z6ZFlqUGc2dFBFWnVLN2l1NVVIWkRCdUtyaDFWSFdKWDNhNUxZVE51V0pJbDJheTBYMzBFSHpFbHEzSkZTUGljaVR3MGhaRlp3cVlxWUZ4SXF2VlQxeHFMN1NTNlUzWkNUSkdrTnEreWhFbHRDajJaa1ZTdzhRK3d3eGZMVWRCVWdsNC9TcEZ3V0RIbGxqNnQzN1J6WmtweGxOK1FRd3J5aDFZbXczcmRrbXVuM1N0QkI5eDkzWW9zcVY2YkdPd0M4aVp3NHR0ZDduUzBBeVROOVlxKzhVbkpKalBHSlJmZVRYS2lBSVFkUzNtNDVqOVVxdVFUQVUzcU5IOWxLbGJpdjZFNjY3M3ZDT2lYWG11RW5KRjhHTERxeTEvdWJyZmh4VytWVmFucDcwZjBqTjZwZ3lDR0VrQnB6ZTBBSTJVWGdDLzNHMEF4Zks4OTZaRjJseXEycStpMHlubDZ2MStmM2UxK3pHWXBjcE1pL2hvcXJONlhHWmFvNjQzbWV5bEVWUXdidytMd1c3S2VHV3dZOFZIR3VGWHAySHBhYmNodUpUd1BKazhNc241VExDaVYvb01UT29rM0kxWkVxdHhweGRkSDlJbGVxWXNnaGhLQXgvbUhtYlNLVzliS3lZaXBpak1jUGE4VkZhdHhoeERJbFZsRGtmVm0wMzlrM3FmR2VvbzNJMVpFcWYxZDBmOGlkS2hreW04MjJBaGNTMloxYkp5SzFyR0twS3VmbUZqZGlNNEVWcWVudEJyeXgyV3lPWjlWdVozcDBDT1ZmWFZNck5kMU44dnRKa21qUmZTRjNxbVRJa3dEeG5ZVGNPVkJiVEc5anE1Vm1YVmUxWHEvUHorNmdVMTJ2eERwVjNxZ2k1L3FrWERFQWFCRDRZV3BhNExEVXJOVUdKWDlWZEI4WUdsVTA1QkJDSU9VTnFla0dVMjdvc1EycmxQelBQTmZlMW1xMUJXWjZXNTkxbkZlbHB0dFQ4bm9UT2EzUmFCeVNWenVkM2tpSnIvaXA0c05SYXJwYmxTc04rSmVpOHo1VXFtcklrNUR5QVNWMmRjMXZxZ21ZemFwY3I4UjlKdktzcks2OVAxVGtGZDJ6QU5kT1ZjZytOZTVJVFZkM1YwWjhra3llRkViNXpMQ0tNejQrZm9TUzM3VE9mRUgxTmdXVlhKMWZlTGpYVFA5ck50Uk9lUmhWTitSSnlPUnhwTHlGeERkU3d5OE11TVZNZjJUa05SUzVvTWhDNlVtU1BBckFHU25sWTZuaFB3eTR4U2cvVG9sdkFQR2RyVmJybUtMYTV2VEh4TVRFUWhFNXhReGZUb2xmZGlyaHVmcFJhcnJVZ0ZzTXVFNVZYOXBvTkI1VGRINExZMVFNMlhFY3AvSzRJVHVPNDVRRU4yVEhjWnlTNElic09JNVRFdHlRSGNkeFNvSWJzdU00VGtsd1EzWWN4eWtKYnNpTzR6Z2x3UTNaY1J5bkpMZ2hPNDdqbElSaEc3SXBWeHZ3QWhGWjdISzVYSm9rTmpFeHNUQ0VjR0RSZmxnNFEzOURKbmFaNmVyT0tSY3VsMnUyS3pVdTY1NHN2OEZVdnFjaXJ3OGhIRkMwTnhaQ0FXL0lMcGZMTmJVNnA4eHZCdHF2QzdQdE9ESTNaSmZMVlVZcHNWV0pMU0dFZVVYNzVOQndRM2E1WENYWGRoRjVaTkZlT1JUY2tGMHVWOW1seEM2Zy9lS2kvVEozM0pCZExsY1ZwTXFWaXhjdlBycG96OHdWTjJTWHkxVVZLZm5ib2owelY5eVFYUzVYWlVSc0lubDIwYjZaRzdWYWJVR3E5Sk4wWFM1WEphVEtsVVg3Wm03VWFyVUZxWEZUMFVGMnVWeXVtU2cxcmhHUkU0djJ6bHpvRGxsc0t6cklMcGZMTlZPcDZpZUw5czVjcU5WcUM1VFlWWFNBWFM2WGE2WktqY3VLOXM1YzZMNGhGeDVnbDh2bDZrRTdpL2JPWEZpMGFOR1JKUWl1eStWeXpWekVtbHF0dHFCby84d2NrdTNDZyt0eXVWdzlTSlhya3lRNXVHai96SU41UlFmWDVYSzVlcEVTdTRvMnp0d3c1YzZpQSt4eXVWd3oxVWp2MkZQeXQwVUgyT1Z5dVdZcVVxNG8yamR6ZzR3WG03OGx1MXl1YXVpQkdPTVRpL2JOM0xqMDBrdm5saURJTHBmTHRWK3A4cTZpUFROM0ZQRk5SUWZhNVhLNXBwTXExOGNZankvYUw0ZEMwY0YydVZ5dWFXWDJtYUo5Y3FnVUhuQ1h5K1hhcDNCdjBmNDRkSHc4MmVWeWxWQWJWTldLOXNkQ1VKR3p6RmRkdUZ5dWdwV2E3amJsN2hEQzNLSjlzWEJNZVZ2UkNYRzVYTE5XcTB5NXJXZ2ZMQlVxOGllcGNZY1Mvc2JzY3JueWwvRWVVMjR6a1djVjdYK2xSVVZlcWVSTnFlbjJ2UVBZcmFlOHpaUWJySE0rbjh2bGNzMUlTcXhUNVZaVDNKdVNmeThpcDRRUTVoVHRlWldpMld3ZXRtalJvaVByOWZwOGw4dmw2a2UxV20xQm85RTRKUGdZc2VNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp0T2wxV29kMDJnMER1LzM1NU1rcVlkOWJCQm90VnJIN0ZVVGQxNmowVGg4VW1Hdk5hMWsrNC8yK0x6ZlU2L1g1d09ManV5M2ZZN2pPRlZnTHNrYlRMbFJsVnRGNVBuOWZJZ0NGNDZOalIyNjk5ZUI1SmtLWERqNTczYTdmWUx0c1hPVW5EaDJ6KzhuOElVUXdvRUt2Szd6OHpnMWhCQ1NKRkVST2EyZnRqbU80MVFDQUkxSll3UVdIVm1yMVJhSXlQUEplRFlwSCsxdWpRMGlVbFBnZzZUODl5UkpEZzRoekZIZ1FnS2ZFSkduaXNnZmh4QU9ZclBaQnVSeUJmNjYwV2djUHBVaGR6OGpoTkF4VzBDdVVwRS9VNVhQaHhEbUFIZ0oyWDZPVVg2dXdMdGlqRTBnZVhLM3pTOG01U05BKzV6dXY1OHJJczhuY0RVWnp4NXFBQjNIS1RmTlpuTWNRS1BaYkI0MnhiY2NSTVpYMWV2MStWbGV0Mk9xMDE1M1h4eEE0cGRLL29wc1B5ZUVFQUM1Q29ndlQ1TGtZQ1cvbVNUSm8xVGwyaVJKeGdDY3FzQWxaSHlSQW04S0lSdzROaloyS0lGUGpJMk5IUnBqUEdwc2JPeFFFWGtXRU44NDVSc3k4RFZWK1ZJSUlaaksvMjQybTRkcHUzMFNpZStFRU9hb3lyVWhoR0RBZFoxN2F6OURSZjRNU0o1SnludEQ1eGZDaDJLTVQ2RElaYVJjRkVLWVo4RFhzNDZyNHpnVlJwWHJUYm1iSW0vZjEvK1BNVDdCbExzbjN6NW53RHlnR1dkdzNhMmR0MTE1eStUWEZpNWMrSWhXcTNYTWREL1hiRFlQVStCdlZMbFZZM3dlSUZmRkdCZUZFQUpGM3Q1cHIvd0drTXRKdVpLVUQzVCsrK0J3dzZRaEE4bVRTWGt2S1ZlUThwNnBESm1NcnlMamViVmFiY0drK1lZUWdnSC9HS1l4WkFVdW1UekZ1R3ZPRjFIa3NuYTd6YzczeVpXdFZ1dm9HY2JWY1p4UlozK0dIRUtZQytETUVNSUJNL2s4TW5rU3lSdG1jTjJIR1RKRkxpRGx5cWsvKzlqSGtzbmpRZ2dIcXZKZlNYa0hJRmUxMiswVFFnaUJ3TlZKa3JSVTVWc1B1UmJ3TG0yM1Qvcjk1M1FOdWZ0OTgyS01UNXpPa0NjbUpoWjJKL1VPVU1vL2hSQkNvOUU0aE9UMVlUcERGbm1saXB6VitWcjhVeFU1bHlLWHRWcXRwUE0xTjJUSGNmWmdCb1k4cjlGb1BDYnNaY2d4UnBEdFoyaVNXQWhoWHZmTGN6cHZtL3grbzlGNFRQZm5EcHJpdW5zYjhvRWtyeWZ3aVQxKzlpRXJJVFJKeklnMVN1d2ljYXVJVEFCeWxhcDh2RHRtL0hjaGhFREc4d3k0anBRckdlUHBTWkxVU1g1VmdRK0t5R20vTjJUZ1V4UjVud0lmb3NobE01blVJK1VkQks1VzRHOUorVnpZdzVCSi9vTUNsMDRhOHNLRkN4K2hLcCtueVBzTXVLNVdxeTF3UTNZY1owcjJaOGhKa3JSTXVidHJ2Q0hHdU1pQW42aHlxd0xMdXpXckh4Z2ZIeitDNUZlVjJObjkyblpUYmdmd2xDbXUreEJESm5HckVydTZCeFpzTitYMktjYVg1eVJKOHFqSmZ3QnlWWklrWXlMeXlMM2FmZkJlS3lubTd2MDlJWVN3cjYvdGorN243cXVzNDV4OXJONTRTSHNkeDNHbXBGZERWcFdQbThyM0pvMnMyV3dleGhoUGYvRHo0di9vZDhoQ1ZmN1BkRU1XKzJMU2tIdjVHY2R4bkZMU3F5R1QvR0ozTW11S3p4dXVJWWNRRGd4K0NvVGpPS05BcjRZTTRHUWxOaXY1WFkzeGVXR3ZQOTBMTUdUSGNaelJvRmRERGlFRW9Ca1YrSlFTVzdxVGE2YzkrSGx1eUk3ak9IM1JqeUZQTWpFeHNWQ0JUNWx5ZTVJazJ2azhOMlRIY1MzSGhsQUFBQURaU1VSQlZKeSttRFJrQlQ0SW9MR25RZ2dIVG1mSVhlYVk4Z0VBNTRjUUFpbFhLUG1ER1Z6MzRldVFpZStROHJFczdzdHhIS2R5VEJyeXZpUWk4dkJKdlhoZWQvZlpnU0dFQThoNGRuZDUyK05EQ0FIQVg1cHlZM2MzMnR3OTYwRHNkZDE5R0xKOHpCUzNkMWROSEJRZVhOL3NPSTR6K3ZSdXlQSmVWVzd0cmpmZWFjclZrOVhPUWdnaFNaSkhtY3FQVExuYmlCMVRWVDNibHlFblNkSlNjc25rWnplYnpmSDhJK0E0amxOaEdvM0dJYTFXSzBtU3BCWDJ2YVY2am9oTTdLOHV4UlRNWTdQWjloMXNqdU00anVNNGp1TTRzNDMvRDdCRWZZVG8rYWk5QUFBQUFFbEZUa1N1UW1DQyIgYWx0PSJMSVNFIExvZ28iIC8+PGgzPkdlbmVyYWwgSW5mbzwvaDM+ICAgICAgDQogICAgPHA+U2ltcGx5IHB1dCwgTElTRSBhbGxvd3MgeW91IHRvIGNyZWF0ZSBsaXN0cyB0aGF0IHlvdSBjYW4gZGlzcGxheSB0aHJvdWdob3V0IHlvdXIgd2Vic2l0ZS4gWW91IGNhbiBtYWtlIGEgc2ltcGxlIEZBUSBvciBUZXN0aW1vbmlhbHMgZmVhdHVyZSB3aXRoIHRoaXMgbW9kdWxlLiBUaGUgd2ViIGRldmVsb3BlciBjYW4gZGVmaW5lIGZpZWxkcyB0byBjb25zdHJhaW4gd2hhdCBkYXRhIHRoZSBjbGllbnQgY2FuIGVudGVyLiBBIG51bWJlciBvZiBmaWVsZCB0eXBlcyBjYW4gYmUgc3BlY2lmaWVkIC0gdGV4dCBpbnB1dCwgY2hlY2tib3gsIHRleHQgYXJlYSwgc2VsZWN0IGRhdGUsIHVwbG9hZCBmaWxlLCBzZWxlY3QgZmlsZSwgZHJvcGRvd24gLSBhbmQgYWRkaXRpb25hbCBpbnN0cnVjdGlvbnMgY2FuIGJlIHNldCBmb3IgZWFjaCB0eXBlLCBmb3IgZXhhbXBsZSwgaW5wdXQgZmllbGQgc2l6ZSwgbWF4IGxlbmd0aCwgV1lTSVdZRyBlZGl0b3IsIHBvc3NpYmxlIGRyb3AgZG93biB2YWx1ZXMsIHBvc3NpYmxlIGZpbGUgZXh0ZW5zaW9ucywgZGlyZWN0b3J5IHBhdGhzIGZvciBmaWxlIHNlbGVjdGlvbnMsIGRhdGUgZm9ybWF0cywgZXRjLi48L3A+DQogICAgPHA+QW4gaW1wb3J0YW50IG5vdGUgb2Ygd2FybmluZyAtIFRoaXMgaXMgbm90IGEgY29udGVudCBjb25zdHJ1Y3Rpb24ga2l0LCBzdWNoIGFzIGluIERydXBhbC4gSXQgaXMgbWVhbnQgZm9yIHNtYWxsIGxpc3RpbmdzLCBub3QgdG8gc3RvcmUgdGhvdXNhbmRzIG9mIHJlY29yZHMuIFRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgZGF0YWJhc2UgbW9kZWwgdXNlZCAoRUFWKS4gQWxzbywgZWFjaCBiaXQgb2YgZGF0YSB5b3UgZW50ZXIgaXMgc3RvcmVkIGFzIFRFWFQgZGF0YSB0eXBlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgdmFyY2hhciwgYm9vbGVhbiwgdGltZXN0YW1wLCBldGMuPC9wPg0KICAgIDxkaXYgY2xhc3M9InJlZCI+WW91IGNhbiBpbXBvcnQgaW5zdGFuY2VzIGZyb20gTGlzdEl0RXh0ZW5kZWQuIElmIHlvdSBoYXZlIGl0IGluc3RhbGxlZCB5b3Ugd2lsbCBzZWUgYSB0YWIsIDxzdHJvbmc+SW1wb3J0aW5nIEZyb20gTGlzdEl0RXh0ZW5kZWQgSW5zdGFsbGF0aW9uczwvc3Ryb25nPiwgd2l0aCBtb3JlIGhlbHAuLi48L2Rpdj4NCiAgICA8L2Rpdj48ZGl2IGlkPSJkdXBsaWNhdGluZ19jIj48aDM+Q3JlYXRpbmcgTW9kdWxlIEluc3RhbmNlczwvaDM+DQogICAgPHA+VGhpcyBtb2R1bGUgaXMgYSBDb250cm9sIFBhbmVsIGZvciBjcmVhdGluZyBMSVNFIE1vZHVsZSBJbnN0YW5jZXMuIFRvIGNyZWF0ZSBhIExJU0UgbW9kdWxlIEluc3RhbmNlLCBzaW1wbHkgZ28gdG8gIkluc3RhbmNlcyIgdGFiIGFuZCBjbGljayBvbiAiQ3JlYXRlIEluc3RhbmNlIiBidXR0b24uPGJyIC8+DQogICAgTWFrZSBzdXJlIHlvdSBmb2xsb3cgdGhlIENNU01TIG1vZHVsZSBuYW1pbmcgY29udmVudGlvbnMsIGEteiB3aXRoIG5vIHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgb3Igc3BhY2VzIHRvIGJlIHNhZmUgOik8YnIgLz4NCiAgICBZb3UgY2FuIHNldCB0aGUgaW5zdGFuY2UgPHN0cm9uZz5GcmllbmRseSBOYW1lPC9zdHJvbmc+LCA8c3Ryb25nPk1vZHVsZSBBZG1pbiBEZXNjcmlwdGlvbjwvc3Ryb25nPiBhbmQgPHN0cm9uZz5Nb2R1bGUgQWRtaW4gU2VjdGlvbjwvc3Ryb25nPiBvbiB0aGUgPHN0cm9uZz5DcmVhdGUgSW5zdGFuY2U8L3N0cm9uZz4gZm9ybS48YnIgLz4NCiAgICBBZnRlciB0aGUgbW9kdWxlIGhhcyBiZWVuIGNyZWF0ZWQgYSBuZXcgaW5zdGFuY2Ugd2lsbCBiZSBpbnN0YWxsZWQgYW5kIGxpc3RlZCBpbiBvcmlnaW5hbCBMSVNFIG1vZHVsZSB1bmRlciAiSW5zdGFuY2VzIiB0YWIuPC9wPjxiciAvPg0KICAgIDxwPllvdSBjYW4gYWx3YXlzIGNoYW5nZSB0aGUgbW9kdWxlIGZyaWVuZGx5IG5hbWUgb25jZSBpbnN0YWxsZWQgdW5kZXIgIk9wdGlvbnMiIChDb250ZW50ICZyYXF1bzsgTElTRU5hbWVPZkR1cGxpY2F0ZSkuPGJyIC8+DQogICAgVG8gY2hhbmdlIHRoZSBpY29uLCByZXBsYWNlIC9tb2R1bGVzL0xJU0VOYW1lT2ZEdXBsaWNhdGUvaW1hZ2VzL2ljb24uZ2lmLjxiciAvPg0KICAgIFRvIGNoYW5nZSBBZG1pbiBzZWN0aW9uIG9mIHRoZSBtb2R1bGUsIHNpbXBseSBzZWxlY3QgYXBwcm9wcmlhdGUgc2VjdGlvbiBmcm9tIERyb3Bkb3duLiBNYWtlIHN1cmUgeW91IGNsZWFyIHRoZSBjYWNoZSBhZnRlciB0aGVzZSBjaGFuZ2VzLjwvcD48L2Rpdj48ZGl2IGlkPSJmaWVsZF9jIj48aDM+RmllbGQgRGVmaW5pdGlvbnM8L2gzPg0KICAgIDxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGNvbmZpZ3VyZSBhcmUgeW91ciBmaWVsZCBkZWZpbml0aW9ucy48L3A+DQogICAgPHA+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgc2V0dGluZ3MgYnkgY2hvb3NpbmcgZnJvbSBhdmFpbGFibGUgb3B0aW9ucy48L3A+DQogICAgDQogICAgPGgzPkRlZmF1bHQgRmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+DQogICAgPHVsPg0KICAgICAgICA8bGk+VGV4dCBJbnB1dDwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveDwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveCBHcm91cDwvbGk+DQogICAgICAgIDxsaT5SYWRpbyBHcm91cDwvbGk+DQogICAgICAgIDxsaT5UZXh0IEFyZWE8L2xpPg0KICAgICAgICA8bGk+U2VsZWN0IEZpbGU8L2xpPg0KICAgICAgICA8bGk+RmlsZSBVcGxvYWQ8L2xpPg0KICAgICAgICA8bGk+RHJvcGRvd248L2xpPg0KICAgICAgICA8bGk+Q29udGVudCBQYWdlczwvbGk+DQogICAgICAgIDxsaT5TZWxlY3QgRGF0ZVRpbWU8L2xpPg0KICAgICAgICA8bGk+TXVsdGkgU2VsZWN0PC9saT4NCiAgICAgICAgPGxpPkNoZWNrYm94IEdyb3VwPC9saT4NCiAgICAgICAgPGxpPlNsaWRlcjwvbGk+DQogICAgICAgIDxsaT5DYXRlZ29yaWVzPC9saT4NCiAgICAgICAgPGxpPlRhZ3M8L2xpPg0KICAgICAgICA8bGk+Q29sb3JQaWNrZXI8L2xpPiANCiAgICAgICAgPGxpPlRhYnM8L2xpPiANCiAgICA8L3VsPg0KICAgIDwvZGl2PjxkaXYgaWQ9InNtYXJ0eV9wbHVnaW5zX2MiPjxmaWVsZHNldD48bGVnZW5kPntMSVNFTG9hZGVyfTwvbGVnZW5kPgk8aDQ+V2hhdCBkb2VzIHRoaXMgZG8/PC9oND4NCgkgPHA+VGhpcyBwbHVnaW4gYWxsb3dzIHlvdSB0byBsb2FkIExJU0UgaXRlbSBhbmQgY2F0ZWdvcnkgb2JqZWN0IGJ5IGNlcnRhaW4gY3JpdGVyaWEsIGFueXdoZXJlIGluIHRoZSBzeXN0ZW0uPC9wPg0KCSANCgk8aDQ+SG93IGRvIEkgdXNlIGl0PzwvaDQ+DQoJPHA+U2ltcGx5IGluc2VydCB0aGlzIHRhZyBpbnRvIHlvdXIgcGFnZSBvciB0ZW1wbGF0ZTo8L3A+DQoJPHByZT48Y29kZT57TElTRUxvYWRlciBpdGVtPSdpdGVtJyBpZGVudGlmaWVyPSdhbGlhcycgaW5zdGFuY2U9J0xJU0VJbnN0YW5jZScgdmFsdWU9J215YWxpYXMnIGFzc2lnbj0ndG1wJ308L2NvZGU+PC9wcmU+DQoJDQoJPHA+Jm5ic3A7PC9wPg0KCQ0KCTxwPkZvbGxvd2luZyBsaW5lIHdpbGwgbG9hZCBpdGVtIG9iamVjdCBmcm9tIGluc3RhbmNlICdMSVNFSW5zdGFuY2UnIGJ5IGFsaWFzICdteWFsaWFzJyBhbmQgYXNzaWduIGl0IHRvIHZhcmlhYmxlICZkb2xsYXI7dG1wLiA8YnIgLz4gDQoJQWZ0ZXIgdGhpcyB5b3UgY2FuIHVzZSBpdCBpbiBzaW1pbGFyIHdheSwganVzdCBsaWtlIGluIHJlZ3VsYXIgTElTRSB0ZW1wbGF0ZXM6PC9wPg0KCTxwcmU+PGNvZGU+eyZkb2xsYXI7dG1wLT50aXRsZX08L2NvZGU+PC9wcmU+DQoJDQoJPHA+Jm5ic3A7PC9wPg0KCQ0KCTxwPklmIG11bHRpcGxlIGl0ZW1zIGFyZSBiZWluZyBsb2FkZWQsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhcnJheSBvZiBvYmplY3RzLCBlbHNlIGl0IHJldHVybnMgc2luZ2xlIGl0ZW0vY2F0ZWdvcnkgb2JqZWN0PC9wPg0KDQoJPGg0PldoYXQgcGFyYW1ldGVycyBkb2VzIGl0IHRha2U/PC9oND4NCgk8dWw+DQoJCTxsaT48ZW0+KHJlcXVpcmVkKSA8L2VtPjx0dD5pbnN0YW5jZTwvdHQ+IC0gTmFtZSBvZiBpbnN0YW5jZSB0aGF0IGhvbGRzIGl0ZW1zLiA8aT4oSWYgdXNlZCBpbnNpZGUgTElTRSB0ZW1wbGF0ZXMsIHRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsKTwvaT48L2xpPg0KCQk8bGk+PGVtPihyZXF1aXJlZCkgPC9lbT48dHQ+dmFsdWU8L3R0PiAtIENvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGlkZW50aWZpZXIgdmFsdWVzOiAnYWxpYXMxLGFsaWFzMixhbGlhczMnIG9yICcxLDIsMyc8L2xpPg0KCQk8bGk+PGVtPihvcHRpb25hbCkgPC9lbT48dHQ+aXRlbT0iaXRlbSI8L3R0PiAtIFdhbnRlZCBpdGVtIHR5cGUsIGVpdGhlcjogaXRlbS9jYXRlZ29yeTwvbGk+DQoJCTxsaT48ZW0+KG9wdGlvbmFsKSA8L2VtPjx0dD5pZGVudGlmaWVyPSJpdGVtX2lkL2NhdGVnb3J5X2lkIjwvdHQ+IC0gV2FudGVkIGlkZW50aWZpZXIsIG9uZSBvZiBmb2xsb3dpbmc6IGl0ZW1faWQsIGNhdGVnb3J5X2lkLCBhbGlhczwvbGk+DQoJCTxsaT48ZW0+KG9wdGlvbmFsKSA8L2VtPjx0dD5mb3JjZV9hcnJheT0iZmFsc2UiPC90dD4gLSBGb3JjZSBvdXRwdXQgdmFsdWUgYXMgYXJyYXk8L2xpPg0KCTwvdWw+PC9maWVsZHNldD48L2Rpdj48ZGl2IGlkPSJ3aGF0c25ld19jIj48ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPjxoMz5XaGF0J3MgbmV3PC9oMz48cD5UaGVzZSBhcmUgc29tZSBvZiB0aGUgbmV3IGZlYXR1cmVzIG9mIHRoaXMgcmVsZWFzZTo8L3A+PHVsPjxsaT5MSVNFIGluc3RhbmNlcyBjYW4gbm93IGJlIHNldCB0byBiZSB1cGdyYWRlZCBtYW51YWxseSBvciBhdXRvbWF0aWNhbGx5IG9uIGEgcGVyIGluc3RhbmNlIHNldHRpbmcgaW4gY29uanVuY3Rpb24gd2l0aCBhIGdsb2JhbCBzZXR0aW5nIG9uIExJU0UgbWFpbiBtb2R1bGU7PC9saT48bGk+TElTRSBtYWluIG1vZHVsZSBjYW4gbm93IGJlIHNldCB0byBiZSB1cGdyYWRlZCBtYW51YWxseSAocmVjb21tZW5kZWQpIHRvIGF2b2lkIHRpbWluZyBvdXQgZHVyaW5nIHVwZ3JhZGVzOzwvbGk+PGxpPkxJU0UgbWFpbiBtb2R1bGUgaGFzIHRvIGJlIGluc3RhbGxlZCBtYW51YWxseSB0byBhdm9pZCB0aW1lb3V0cyBkdXJpbmcgaW5zdGFsbGF0aW9uOzwvbGk+PGxpPkFkZGVkIHRoZSBjYXBhYmlsaXR5IHRvIGRlZmluZSB0aGUgaW5zdGFuY2UgPHN0cm9uZz5GcmllbmRseSBOYW1lPC9zdHJvbmc+LCA8c3Ryb25nPk1vZHVsZSBBZG1pbiBEZXNjcmlwdGlvbjwvc3Ryb25nPiBhbmQgPHN0cm9uZz5Nb2R1bGUgQWRtaW4gU2VjdGlvbjwvc3Ryb25nPiBvbiB0aGUgPHN0cm9uZz5DcmVhdGUgSW5zdGFuY2U8L3N0cm9uZz4gZm9ybTs8L2xpPjxsaT5BZGRlZCBpbnN0YW5jZSBpbXBvcnQsIGV4cG9ydCBhbmQgY2xvbmUgY2FwYWJpbGl0eTs8L2xpPjxsaT5BZGRlZCBhIDxzdHJvbmc+VGFiczwvc3Ryb25nPiBmaWVsZCBkZWZpbml0aW9uOzwvbGk+PGxpPk1hZGUgdG90YWwgcmVjb3JkIGNvdW50IGF2YWlsYWJsZSBhcyBhIHNtYXJ0eSB2YXJpYWJsZTs8L2xpPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGlkPSJhYm91dF9jIj48ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPjxoMz5BYm91dCB0aGlzIG1vZHVsZTwvaDM+PHA+T3JpZ2luIG9mIHRoaXMgbW9kdWxlIGNvbWVzIGZyb20gPHN0cm9uZz5MaXN0SXQgTW9kdWxlPC9zdHJvbmc+IGRldmVsb3BlZCBieSA8c3Ryb25nPkJlbiBNYWxlbjwvc3Ryb25nPi48YnIgLz5BcyB0aGVyZSB3ZXJlIG5vIHBsYW5zIG9uIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgdGhlIG1vZHVsZSBzb21lIHBlb3BsZSBkZWNpZGVkIHRvIGZvcmsgdGhlIG1vZHVsZSBhbmQgY29udGludWUgd2l0aCBkZXZlbG9wbWVudC48YnIgLz5UaGlzIGlzIGEgdGhpcmQgZ2VuZXJhdGlvbiBmb3JrIG9mIHRoZSBtb2R1bGUgYW5kIHRoZXJlIGFyZSBvdGhlcnMuIENvbnNpZGVyIHRoaXMgYXMgYW5vdGhlciBmbGF2b3VyIG9mIHRoZSBvcmlnaW5hbCBtb2R1bGUuPC9wPjxoMz5TdXBwb3J0PC9oMz48cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPjxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXRzIHVzZTo8L3A+PHA+SWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTM0NSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXR0aW5nIGEgZmVhdHVyZSByZXF1ZXN0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvZmVhdHVyZV9yZXF1ZXN0L2xpc3QvMTM0NSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+LjwvcD48cD5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvcD48cD5UaGUgYXV0aG9yLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L3A+PHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuPC9wPjxwPklmIHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuIDxiciBcPiA8YnIgXD48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9jZ2ktYmluL3dlYnNjcj9jbWQ9X3MteGNsaWNrJmhvc3RlZF9idXR0b25faWQ9SFlBS00yWTJHWEVaTCI+PGltZyBzcmM9Imh0dHA6Ly9sb2NhbGhvc3QvY21zbXNfMTIxX21vZHMvbW9kdWxlcy9MSVNFL2ltYWdlcy9wcF9idXR0b24ucG5nIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwg4oCTIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lLiIgLz48L2E+PC9wPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPjxwPlRoZSBNb2R1bGUgaXMgY3VycmVudGx5IGJlaW5nIGRldmVsb3BlZCBieSA8c3Ryb25nPkZlcm5hbmRvIE1vcmdhZG8gKEpvIE1vcmcpPC9zdHJvbmc+PGJyIC8+V2ViOiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuc20tYXJ0LWxhYi5jb20iIHJlbD0iZXh0ZXJuYWwiPnd3dy5zbS1hcnQtbGFiLmNvbTwvYT48YnIgLz5FbWFpbDogPGEgaHJlZj0ibWFpbHRvOmpvbW9yZ0BzbS1hcnQtbGFiLmNvbSI+am9tb3JnQHNtLWFydC1sYWIuY29tPC9hPjwvcD48cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTUgLiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48YnIgLz48L3A+PHA+PHN0cm9uZz5MSVNFPC9zdHJvbmc+IGlzIGZyZWUgc29mdHdhcmU7PGJyIC8+IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFzIHB1Ymxpc2hlZCBieSB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb248L3N0cm9uZz47PGJyIC8+IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPjxwPjxzdHJvbmc+TElTRTwvc3Ryb25nPiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgPHN0cm9uZz5XSVRIT1VUIEFOWSBXQVJSQU5UWTwvc3Ryb25nPjs8YnIgLz4gd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIDxzdHJvbmc+TUVSQ0hBTlRBQklMSVRZPC9zdHJvbmc+IG9yIDxzdHJvbmc+RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0U8L3N0cm9uZz4uPC9wPjxwPlNlZSB0aGVHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLjwvcD48cD5Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOzxiciAvPiBpZiBub3QsIHdyaXRlIHRvIHRoZSA8c3Ryb25nPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0E8L3N0cm9uZz4gb3IgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+cmVhZCBpdCBvbmxpbmU8L2E+LjwvcD48cD48c3Ryb25nPllvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgPHN0cm9uZz5MSVNFPC9zdHJvbmc+Ljwvc3Ryb25nPjwvcD48aDQ+Q29udHJpYnV0b3JzPC9oND48dWw+PGxpPjxzdHJvbmc+VGFwaW8gTCZvdW1sO3l0dHkgKHN0aWtraSk8L3N0cm9uZz4gdGFwc2FAb3JhbmdlLW1lZGlhLmZpIDxiciAvPnd3dy5vcmFuZ2UtbWVkaWEuZmk8L2xpPjxsaT48c3Ryb25nPkdvcmFuIElsaWMgKHVuaXF1Myk8L3N0cm9uZz4gdW5pcXUzZUBnbWFpbC5jb20gPGJyIC8+d3d3LmlkdC1tZWRpYS5jb208L2xpPjxsaT48c3Ryb25nPkpvbmF0aGFuIFNjaG1pZCAoRm9hbHkqKTwvc3Ryb25nPiBoaUBqb25hdGhhbnNjaG1pZC5kZSA8YnIgLz53d3cuam9uYXRoYW5zY2htaWQuZGU8L2xpPjxsaT48c3Ryb25nPlJvYmVydCBDYW1wYmVsbCAoY2FsZ3V5MTAwMCk8L3N0cm9uZz4gY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyAgPGJyIC8+d3d3LmNhbGd1eTEwMDAuY29tPC9saT48bGk+PHN0cm9uZz5MdWthcyBCbGF0dGVyIChub2NrZW5mZWxsKTwvc3Ryb25nPiBub2NrZW5mZWxsQGdtYWlsLmNvbSA8YnIgLz53d3cuYmxhdHRlcnRlY2guY2g8L2xpPjxsaT48c3Ryb25nPkFybm91ZCAoYXJub3VkKTwvc3Ryb25nPiBhcm5vdWRAdXBzZXJ2aWNlLm5sIDxiciAvPnd3dy51cHNlcnZpY2Uubmw8L2xpPjxsaT48c3Ryb25nPldheW5lIE9OZWlsICh3aXNoYm9uZSk8L3N0cm9uZz4gd2F5bmVAdGVhbXdpc2hib25lLmNvbSA8YnIgLz53d3cudGVhbXdpc2hib25lLmNvbTwvbGk+PGxpPjxzdHJvbmc+QWxiZXJ0IENhbnNhZG88L3N0cm9uZz48L2xpPjxsaT48c3Ryb25nPkNpYXZhcmVsbGEgKGNhY2lhdmFyKTwvc3Ryb25nPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PjwvZGl2PjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBKbyBNb3JnICZsdDtqb21vcmdAc20tYXJ0LWxhYi5jb20mZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGg0PlZlcnNpb24gMS4xLjA8L2g0Pg0KDQo8aDU+TmV3IGZlYXR1cmVzPC9oNT4NCjx1bD4NCiAgPGxpPkxJU0UgaW5zdGFuY2VzIGNhbiBub3cgYmUgc2V0IHRvIGJlIHVwZ3JhZGVkIG1hbnVhbGx5IG9yIGF1dG9tYXRpY2FsbHkgb24gYSBwZXIgaW5zdGFuY2Ugc2V0dGluZyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgZ2xvYmFsIHNldHRpbmcgb24gTElTRSBtYWluIG1vZHVsZTs8L2xpPg0KICA8bGk+TElTRSBtYWluIG1vZHVsZSBjYW4gbm93IGJlIHNldCB0byBiZSB1cGdyYWRlZCBtYW51YWxseSAocmVjb21tZW5kZWQpIHRvIGF2b2lkIHRpbWluZyBvdXQgZHVyaW5nIHVwZ3JhZGVzOzwvbGk+DQogIDxsaT5MSVNFIG1haW4gbW9kdWxlIGhhcyB0byBiZSBpbnN0YWxsZWQgbWFudWFsbHkgdG8gYXZvaWQgdGltZW91dHMgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPg0KICA8bGk+QWRkZWQgdGhlIGNhcGFiaWxpdHkgdG8gZGVmaW5lIHRoZSBpbnN0YW5jZSA8c3Ryb25nPkZyaWVuZGx5IE5hbWU8L3N0cm9uZz4sIDxzdHJvbmc+TW9kdWxlIEFkbWluIERlc2NyaXB0aW9uPC9zdHJvbmc+IGFuZCA8c3Ryb25nPk1vZHVsZSBBZG1pbiBTZWN0aW9uPC9zdHJvbmc+IG9uIHRoZSA8c3Ryb25nPkNyZWF0ZSBJbnN0YW5jZTwvc3Ryb25nPiBmb3JtOzwvbGk+DQogIDxsaT5BZGRlZCBpbnN0YW5jZSBpbXBvcnQsIGV4cG9ydCBhbmQgY2xvbmUgY2FwYWJpbGl0eTs8L2xpPg0KICA8bGk+SW1wbGVtZW50ZWQgPHN0cm9uZz5GUnMgIzEwNjQzIGFuZCAjMTA2NDY8L3N0cm9uZz46DQogICAgPHVsPg0KICAgICAgPGxpPjxzdHJvbmc+IzEwNjQzIC08L3N0cm9uZz4gYWRkZWQgYSA8c3Ryb25nPlRhYnM8L3N0cm9uZz4gZmllbGQgZGVmaW5pdGlvbiAodGhhbmtzIHRvIDxzdHJvbmc+QWxiZXJ0IENhbnNhZG88L3N0cm9uZz4pOzwvbGk+DQogICAgICA8bGk+PHN0cm9uZz4jMTA2NDYgLTwvc3Ryb25nPiBtYWRlIHRvdGFsIHJlY29yZCBjb3VudCBhdmFpbGFibGUgYXMgYSBzbWFydHkgdmFyaWFibGUgKHRoYW5rcyB0byA8c3Ryb25nPkNocmlzIENpYXZhcmVsbGEgW2NhY2lhdmFyXTwvc3Ryb25nPik7PC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KPC91bD4NCg0KPGg1PkZpeGVzPC9oNT4NCg0KPHVsPg0KICA8bGk+Rml4ZXMgdG8gdGhlIFRhZ3MgZnVuY3Rpb25hbGl0eTs8L2xpPg0KICA8bGk+Rml4ZXMgcmVsYXRlZCB3aXRoIG5ldyBDTVNNUyAyLjAuMSB3YXkgb2YgaGFuZGxpbmcgdmFyaWFibGUgc2NvcGVzIGFuZCB0ZW1wbGF0ZSBvYmpldGNzOzwvbGk+DQogIDxsaT5Tb21lIG1pbm9yIGZpeGVzOzwvbGk+DQo8L3VsPg0KDQoNCjxoND5WZXJzaW9uIDEuMC4yPC9oND4NCjx1bD4NCiAgPGxpPk1pbm9yIGZpeGVzIGluY2x1ZGluZyAjMTA2MzUuPC9saT4NCjwvdWw+DQo8aDQ+VmVyc2lvbiAxLjAuMTwvaDQ+DQo8dWw+DQogIDxsaT5NaW5vciBmaXhlcyBpbmNsdWRpbmcgIzEwNjMwLjwvbGk+DQo8L3VsPg0KPGg0PlZlcnNpb24gMS4wLjA8L2g0Pg0KPHVsPg0KICA8bGk+MXN0IHB1YmxpYyByZWxlYXNlLjwvbGk+DQo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[LISE allows you to create lists that you can display throughout your website.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_clonemodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDaGVjayBwYXJhbXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIA0Kew0KICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpbnN0YW5jZXN0YWInKTsNCiAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7DQp9DQoNCiRhdXRvaW5zdGFsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvaW5zdGFsbCcsIDApOw0KJG1vZHVsZV9uYW1lID0gJyc7DQokbW9kdWxlX2lkID0gLTE7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ21vZHVsZV9uYW1lJ10pKSANCnsNCiAgJG1vZHVsZV9uYW1lID0gJHBhcmFtc1snbW9kdWxlX25hbWUnXTsNCn0NCg0KJG1vZHVsZV9mcmllbmRseW5hbWUgPSAkbW9kdWxlX25hbWU7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ21vZHVsZV9mcmllbmRseW5hbWUnXSkpIA0Kew0KICAkbW9kdWxlX2ZyaWVuZGx5bmFtZSA9ICRwYXJhbXNbJ21vZHVsZV9mcmllbmRseW5hbWUnXTsNCn0NCg0KaWYoaXNzZXQoJHBhcmFtc1snbW9kdWxlX2lkJ10pKSANCnsNCgkkbW9kdWxlX2lkID0gJHBhcmFtc1snbW9kdWxlX2lkJ107DQp9DQoNCiRpbnZhbGlkX25hbWVzID0gYXJyYXkoJ2xpc2UnLCAnb3JpZ2luYWwnLCAneGRlZnMnLCAnbG9hZGVyJyk7DQokbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOw0KDQovLyBtb2R1bGUgYWRtaW4gc2VjdGlvbiBvcHRpb25zDQokYWRtaW5fc2VjdGlvbnMgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnbWFpbicpID0+ICdtYWluJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnY29udGVudCcpID0+ICdjb250ZW50JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnbGF5b3V0JykgPT4gJ2xheW91dCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ3VzZXJzZ3JvdXBzJykgPT4gJ3VzZXJzZ3JvdXBzJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnZXh0ZW5zaW9ucycpID0+ICdleHRlbnNpb25zJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnc2l0ZWFkbWluJykgPT4gJ3NpdGVhZG1pbicsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ215cHJlZnMnKSA9PiAnbXlwcmVmcycsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcoJ2Vjb21tZXJjZScpID0+ICdlY29tbWVyY2UnDQogICAgICAgICAgICAgICAgICAgICAgICApOw0KDQpmb3JlYWNoKCRtb2R1bGVzIGFzICRtb2QpIA0Kew0KCSRtb2QtPm1vZHVsZV9uYW1lID0gc3Vic3RyKCRtb2QtPm1vZHVsZV9uYW1lLCBzdHJsZW4oTElTRUR1cGxpY2F0b3I6Ok1PRF9QUkVGSVgpKTsNCgkkaW52YWxpZF9uYW1lc1tdID0gc3RydG9sb3dlcigkbW9kLT5tb2R1bGVfbmFtZSk7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU3VibWl0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKSANCnsNCgkkZXJyb3JzID0gYXJyYXkoKTsNCgkNCglpZihlbXB0eSgkbW9kdWxlX25hbWUpKSANCiAgew0KCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfZW1wdHknKTsNCgl9DQoJDQoJaWYocHJlZ19tYXRjaCgnL1teMC05YS16QS1aXS8nLCAkbW9kdWxlX25hbWUpKSANCiAgew0KCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfaW52YWxpZCcpOw0KCX0NCgkNCglpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRtb2R1bGVfbmFtZSksICRpbnZhbGlkX25hbWVzKSkNCiAgew0KCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfaW52YWxpZCcpOw0KCX0JDQoNCglpZiAoZW1wdHkoJGVycm9ycykpDQogIHsNCiAgICANCiAgICAkbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOw0KICAgICRvbGRtb2RuYW1lID0gJG1vZHVsZXNbJG1vZHVsZV9pZF0tPm1vZHVsZV9uYW1lOw0KCQkkY2xvbmVyID0gbmV3IExJU0VDbG9uZXIoJG9sZG1vZG5hbWUsICRtb2R1bGVfbmFtZSk7DQoJCSRtb2R1bGVfZnVsbG5hbWUgPSAkY2xvbmVyLT5SdW4oKTsNCiAgICAkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOw0KICAgICRtb2QgPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZSgkbW9kdWxlX2Z1bGxuYW1lKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLCAgICAgICAgICRtb2R1bGVfZnJpZW5kbHluYW1lKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nLCAgICAgICAgICRwYXJhbXNbJ2FkbWluc2VjdGlvbiddKTsNCiAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdtb2RkZXNjcmlwdGlvbicsICAgICAgICRwYXJhbXNbJ21vZGRlc2NyaXB0aW9uJ10pOw0KCQkkcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdtb2R1bGVjb3BpZWQnLCdhY3RpdmVfdGFiJyA9PiAnaW5zdGFuY2VzdGFiJyk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7ICANCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRXJyb3IgaGFuZGxpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmICghZW1wdHkoJGVycm9ycykpIHsNCg0KICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnYWRtaW5fY2xvbmVtb2R1bGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsNCiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21vZHVsZV9uYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtb2R1bGVfbmFtZScsICRtb2R1bGVfbmFtZSwgNDApKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbW9kdWxlX2ZyaWVuZGx5bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbW9kdWxlX2ZyaWVuZGx5bmFtZScsICRtb2R1bGVfZnJpZW5kbHluYW1lLCA0MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2RkZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwgJGlkLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnbW9kZGVzY3JpcHRpb24nLCAkdGhpcy0+TW9kTGFuZygnbW9kZGVzY3JpcHRpb24nKSksICdtb2RkZXNjcmlwdGlvbicsICdwYWdlc21hbGx0ZXh0YXJlYScsICcnLCAnJywgJycsICc4MCcsICczJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hZG1pbnNlY3Rpb24nLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdhZG1pbnNlY3Rpb24nLCAkYWRtaW5fc2VjdGlvbnMsIC0xLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWRtaW5zZWN0aW9uJywgJ2NvbnRlbnQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnbW9kdWxlX2lkJywgJG1vZHVsZV9pZCwgNDApKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsNCiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7DQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnY2xvbmVtb2R1bGUudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_copymodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ2hlY2sgcGFyYW1zDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSANCnsNCiAgJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnaW5zdGFuY2VzdGFiJyk7DQogICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOw0KfQ0KDQokYXV0b2luc3RhbGwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAwKTsNCiRtb2R1bGVfbmFtZSA9ICcnOw0KDQppZihpc3NldCgkcGFyYW1zWydtb2R1bGVfbmFtZSddKSkgDQp7DQogICRtb2R1bGVfbmFtZSA9ICRwYXJhbXNbJ21vZHVsZV9uYW1lJ107DQp9DQoNCiRtb2R1bGVfZnJpZW5kbHluYW1lID0gJG1vZHVsZV9uYW1lOw0KDQppZihpc3NldCgkcGFyYW1zWydtb2R1bGVfZnJpZW5kbHluYW1lJ10pKSANCnsNCgkkbW9kdWxlX2ZyaWVuZGx5bmFtZSA9ICRwYXJhbXNbJ21vZHVsZV9mcmllbmRseW5hbWUnXTsNCn0NCg0KJGludmFsaWRfbmFtZXMgPSBhcnJheSgnbGlzZScsICdvcmlnaW5hbCcsICd4ZGVmcycsICdsb2FkZXInKTsNCiRtb2R1bGVzID0gJHRoaXMtPkxpc3RNb2R1bGVzKCk7DQoNCi8vIG1vZHVsZSBhZG1pbiBzZWN0aW9uIG9wdGlvbnMNCiRhZG1pbl9zZWN0aW9ucyA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdtYWluJykgPT4gJ21haW4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdjb250ZW50JykgPT4gJ2NvbnRlbnQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdsYXlvdXQnKSA9PiAnbGF5b3V0JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygndXNlcnNncm91cHMnKSA9PiAndXNlcnNncm91cHMnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdleHRlbnNpb25zJykgPT4gJ2V4dGVuc2lvbnMnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdzaXRlYWRtaW4nKSA9PiAnc2l0ZWFkbWluJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnbXlwcmVmcycpID0+ICdteXByZWZzJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnZWNvbW1lcmNlJykgPT4gJ2Vjb21tZXJjZScNCiAgICAgICAgICAgICAgICAgICAgICAgICk7DQoNCmZvcmVhY2goJG1vZHVsZXMgYXMgJG1vZCkgDQp7DQoJJG1vZC0+bW9kdWxlX25hbWUgPSBzdWJzdHIoJG1vZC0+bW9kdWxlX25hbWUsIHN0cmxlbihMSVNFRHVwbGljYXRvcjo6TU9EX1BSRUZJWCkpOw0KCSRpbnZhbGlkX25hbWVzW10gPSBzdHJ0b2xvd2VyKCRtb2QtPm1vZHVsZV9uYW1lKTsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTdWJtaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIA0Kew0KCSRlcnJvcnMgPSBhcnJheSgpOw0KCQ0KCWlmKGVtcHR5KCRtb2R1bGVfbmFtZSkpIA0KICB7DQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdtb2R1bGVfbmFtZV9lbXB0eScpOw0KCX0NCgkNCglpZihwcmVnX21hdGNoKCcvW14wLTlhLXpBLVpdLycsICRtb2R1bGVfbmFtZSkpIA0KICB7DQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdtb2R1bGVfbmFtZV9pbnZhbGlkJyk7DQoJfQ0KCQ0KCWlmKGluX2FycmF5KHN0cnRvbG93ZXIoJG1vZHVsZV9uYW1lKSwgJGludmFsaWRfbmFtZXMpKQ0KICB7DQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdtb2R1bGVfbmFtZV9pbnZhbGlkJyk7DQoJfQkNCg0KCWlmIChlbXB0eSgkZXJyb3JzKSkNCiAgew0KCQkkZHVwbGljYXRvciA9IG5ldyBMSVNFRHVwbGljYXRvcigkbW9kdWxlX25hbWUpOw0KCQkkbW9kdWxlX2Z1bGxuYW1lID0gJGR1cGxpY2F0b3ItPlJ1bigpOw0KCQkNCgkJaWYoJGF1dG9pbnN0YWxsKSANCiAgICB7DQoJCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOw0KCQkJJG1vZG9wcy0+SW5zdGFsbE1vZHVsZSgkbW9kdWxlX2Z1bGxuYW1lKTsNCiAgICAgICRtb2QgPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZSgkbW9kdWxlX2Z1bGxuYW1lKTsNCiAgICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsICAgICAgICAgJG1vZHVsZV9mcmllbmRseW5hbWUpOw0KICAgICAgJG1vZC0+U2V0UHJlZmVyZW5jZSgnYWRtaW5zZWN0aW9uJywgICAgICAgICAkcGFyYW1zWydhZG1pbnNlY3Rpb24nXSk7DQogICAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdtb2RkZXNjcmlwdGlvbicsICAgICAgICRwYXJhbXNbJ21vZGRlc2NyaXB0aW9uJ10pOw0KCQl9DQoJCQ0KCQkkcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdtb2R1bGVjb3BpZWQnLCdhY3RpdmVfdGFiJyA9PiAnaW5zdGFuY2VzdGFiJyk7DQoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7ICANCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRXJyb3IgaGFuZGxpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmlmICghZW1wdHkoJGVycm9ycykpDQp7DQogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnYWRtaW5fY29weW1vZHVsZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbW9kdWxlX25hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ21vZHVsZV9uYW1lJywgJG1vZHVsZV9uYW1lLCA0MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9tb2R1bGVfZnJpZW5kbHluYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtb2R1bGVfZnJpZW5kbHluYW1lJywgJG1vZHVsZV9mcmllbmRseW5hbWUsIDQwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21vZGRlc2NyaXB0aW9uJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2RkZXNjcmlwdGlvbicsICR0aGlzLT5Nb2RMYW5nKCdtb2RkZXNjcmlwdGlvbicpKSwgJ21vZGRlc2NyaXB0aW9uJywgJ3BhZ2VzbWFsbHRleHRhcmVhJywgJycsICcnLCAnJywgJzgwJywgJzMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkbWluc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FkbWluc2VjdGlvbicsICRhZG1pbl9zZWN0aW9ucywgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nLCAnY29udGVudCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2F1dG9pbnN0YWxsJywgJGF1dG9pbnN0YWxsKTsNCg0KDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjb3B5bW9kdWxlLnRwbCcpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_domaintenance.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICNCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyANCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiNFTkRfTElDRU5TRQ0KDQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0Ow0KDQokcGFybXMgPSBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ21haW50ZW5hbmNldGFiJyk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRml4IGZpZWxkZGVmIHRhYmxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZihpc3NldCgkcGFyYW1zWydmaXhfZmllbGRkZWZzJ10pKSB7DQoNCiAgJHR5cGVfbWFwID0gYXJyYXkoDQogICAgICAndGV4dGJveCcgPT4gJ1RleHRJbnB1dCcsDQogICAgICAnZHJvcGRvd24nID0+ICdEcm9wZG93bicsDQogICAgICAnaGllcmFyY2h5JyA9PiAnQ29udGVudFBhZ2VzJywNCiAgICAgICdjaGVja2JveCcgPT4gJ0NoZWNrYm94JywNCiAgICAgICd0ZXh0YXJlYScgPT4gJ1RleHRBcmVhJywNCiAgICAgICdnYWxsZXJ5JyA9PiAnR2FsbGVyeURyb3Bkb3duJywNCiAgICAgICdzZWxlY3RfZGF0ZScgPT4gJ1NlbGVjdERhdGUnLA0KICAgICAgJ3VwbG9hZF9maWxlJyA9PiAnR0JGaWxlUGlja2VyJywNCiAgICAgICdzZWxlY3RfZmlsZScgPT4gJ1NlbGVjdEZpbGUnDQogICk7DQoNCiAgJG1vZHVsZXMgPSAkdGhpcy0+TGlzdE1vZHVsZXMoKTsNCiAgDQogIGZvcmVhY2goJG1vZHVsZXMgYXMgJG1vZHVsZSkgew0KDQogICAgJG1vZCA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCRtb2R1bGUtPm1vZHVsZV9uYW1lKTsNCiAgICANCiAgICBpZihpc19vYmplY3QoJG1vZCkpIHsNCiAgICAgIA0KICAgICAgZm9yZWFjaCgkdHlwZV9tYXAgYXMgJG9sZF90eXBlPT4kbmV3X3R5cGUpIHsNCg0KICAgICAgICAkcXVlcnkgID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCB0eXBlID0gPyBXSEVSRSB0eXBlID0gPyc7DQogICAgICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmV3X3R5cGUsICRvbGRfdHlwZSkpOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KICANCiAgJHBhcm1zWydtZXNzYWdlJ10gPSAnbWVzc2FnZV9maWVsZGRlZnNfZml4ZWQnOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGltcG9ydCBmcm9tIExJMg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoaXNzZXQoJHBhcmFtc1snaW1wb3J0X2Zyb21fTEkyJ10pKSANCnsNCiAgICAkbGlzdGl0MiA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCdMaXN0SXQyJyk7DQogICAgJG1vZHVsZXMgPSAkbGlzdGl0Mi0+TGlzdE1vZHVsZXMoKTsNCg0KICAgIGZvcmVhY2goJG1vZHVsZXMgYXMgJG1vZHVsZSkgDQogICAgew0KDQogICAgICAgICRjdXJyX21vZCA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCRtb2R1bGUtPm1vZHVsZV9uYW1lKTsNCg0KICAgICAgICBpZiggIWlzX29iamVjdCgkY3Vycl9tb2QpKSANCiAgICAgICAgew0KICAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJyBpbnZhbGlkIGluc3RhbmNlIG5hbWUhJyk7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgICRkdXBsaWNhdG9yID0gbmV3IExJU0VfTEkyY29udmVydGVyKCRtb2R1bGUtPm1vZHVsZV9uYW1lKTsNCiAgICAgICAgJG1vZHVsZV9mdWxsbmFtZSA9ICRkdXBsaWNhdG9yLT5SdW4oKTsNCiAgICAgICAgDQogICAgfQ0KCQ0KCSRwYXJtc1snbWVzc2FnZSddID0gJ21lc3NhZ2VfaW5zdGFuY2VzX2NvcGllZCc7DQp9DQoNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFJlZGlyZWN0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJtcyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_exportmodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1snbW9kdWxlX2lkJ10pKQ0KCXRocm93IG5ldyBMSVNFRXhjZXB0aW9uKCdNaXNzaW5nIHBhcmFtZXRlciwgdGhpcyBzaG91bGQgbm90IGhhcHBlbiEnKTsNCg0KJEdMT0JBTFNbJ0NNU19GT1JDRV9NT0RVTEVfTE9BRCddID0gMTsNCg0KJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsNCiRtb2R1bGVzID0gJHRoaXMtPkxpc3RNb2R1bGVzKCk7DQokbW9kbmFtZSA9ICRtb2R1bGVzWyRwYXJhbXNbJ21vZHVsZV9pZCddXS0+bW9kdWxlX25hbWU7DQoNCiRleHBvcnRlciA9IG5ldyBMSVNFSW5zdGFuY2VFeHBvcnRlcigkbW9kbmFtZSk7DQokZXhwb3J0ZXItPlJ1bigpOw0KDQovLyBhbGwgZG9uZQ0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpbnN0YW5jZXN0YWInLCAnbWVzc2FnZScgPT4gJ2luc3RhbmNlX21vZHVsZXVwZ3JhZGVkJykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_scanfielddefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCkxJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OlNjYW5Nb2R1bGVzKCk7DQovLyBhbGwgZG9uZQ0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnN0YWInLCAnbWVzc2FnZSc9PidmaWVsZGRlZl9zY2FubmVkJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_togglefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoIWlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkpDQoJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIScpOw0KDQokdHlwZSA9IChzdHJpbmcpJHBhcmFtc1sndHlwZSddOwkNCgkNCiRzdGF0dXMgPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpUb2dnbGVBY3RpdmUoJHBhcmFtc1sndHlwZSddKTsNCgkNCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgDQpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQ0KDQokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOw0KJGpzb24gPSBuZXcgc3RkQ2xhc3M7DQoNCmlmICgkc3RhdHVzKSB7DQoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7DQp9IA0KZWxzZSB7DQoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdhcHByb3ZlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsNCn0NCg0KJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJycsIGFycmF5KCd0eXBlJyA9PiAkdHlwZSksICcnLCB0cnVlKTsNCg0KLy8gRml4IFVSTCBmb3IgSlNPTiBvdXRwdXQNCiRqc29uLT5ocmVmID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRqc29uLT5ocmVmKTsNCg0KaGVhZGVyKCJDb250ZW50LXR5cGU6YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIpOw0KDQokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IA0KZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0NCg0KZWNobyBqc29uX2VuY29kZSgkanNvbik7DQpleGl0KCk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_updateoptions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTZXQgbmV3IHZhbHVlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nLCAoaXNzZXQoJHBhcmFtc1snYWxsb3dfYXV0b3NjYW4nXSkgPyAxIDogMCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAoaXNzZXQoJHBhcmFtc1snYWxsb3dfYXV0b2luc3RhbGwnXSkgPyAxIDogMCkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3VwZGF0ZScsIChpc3NldCgkcGFyYW1zWydhbGxvd19hdXRvdXBkYXRlJ10pID8gMSA6IDApKTsKCiRwYXJhbXMgPSBhcnJheSgnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcsICdhY3RpdmVfdGFiJyA9PiAnb3B0aW9uc3RhYicpOwokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_upgrademodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsNCg0KaWYgKCFpc3NldCgkcGFyYW1zWydtb2R1bGVfaWQnXSkpDQoJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIScpOw0KDQokR0xPQkFMU1snQ01TX0ZPUkNFX01PRFVMRV9MT0FEJ10gPSAxOw0KDQokbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOw0KJG1vZHVsZXMgPSAkdGhpcy0+TGlzdE1vZHVsZXMoKTsNCiRtb2RuYW1lID0gJG1vZHVsZXNbJHBhcmFtc1snbW9kdWxlX2lkJ11dLT5tb2R1bGVfbmFtZTsNCiRtb2RvcHMtPlVwZ3JhZGVNb2R1bGUoJG1vZG5hbWUpOw0KDQovLyBhbGwgZG9uZQ0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdpbnN0YW5jZXN0YWInLCAnbWVzc2FnZScgPT4gJ2luc3RhbmNlX21vZHVsZXVwZ3JhZGVkJykpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_uploadmodule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KJGZpZWxkTmFtZSA9ICdtMV9maWxlbmFtZSc7DQoNCg0KLy8kaW52YWxpZF9uYW1lcyA9IGFycmF5KCdsaXNlJywgJ29yaWdpbmFsJywgJ3hkZWZzJywgJ2xvYWRlcicpOw0KLy8kbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOw0KLy9mb3JlYWNoKCRtb2R1bGVzIGFzICRtb2QpIA0KLy97DQovLwkkbW9kLT5tb2R1bGVfbmFtZSA9IHN1YnN0cigkbW9kLT5tb2R1bGVfbmFtZSwgc3RybGVuKExJU0VEdXBsaWNhdG9yOjpNT0RfUFJFRklYKSk7DQovLwkkaW52YWxpZF9uYW1lc1tdID0gc3RydG9sb3dlcigkbW9kLT5tb2R1bGVfbmFtZSk7DQovL30NCi8vDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFN1Ym1pdA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoaXNzZXQoJHBhcmFtc1sndXBsb2FkJ10pKSANCnsNCgkkZXJyb3JzID0gYXJyYXkoKTsNCiAgDQogIA0KICBpZiAoIWlzc2V0ICgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhaXNzZXQgKCRfRklMRVMpDQogICAgfHwgIWlzX2FycmF5ICgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKQ0KICAgIHsNCiAgICAgIGVjaG8gJ2Vycm9yIG5vIHhtbCBmaWxlJzsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgIC8vIG5vcm1hbGl6ZSB0aGUgZmlsZSB2YXJpYWJsZQ0KICAgICAgJGZpbGUgPSAkX0ZJTEVTWyRmaWVsZE5hbWVdOw0KICAgICAgDQogICAgICBpZiggIWlzc2V0KCRmaWxlWyd0bXBfbmFtZSddKSB8fCB0cmltKCRmaWxlWyd0bXBfbmFtZSddKSA9PSAnJyApIA0KICAgICAgew0KICAgICAgICBlY2hvICdlcnJvciBubyB4bWwgZmlsZSc7DQogICAgICB9DQogICAgfQ0KICAgIA0KICAgICR4bWxzdHIgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZVsndG1wX25hbWUnXSk7DQogICAgJGltcG9ydGVyID0gbmV3IExJU0VJbnN0YW5jZUltcG9ydGVyKCR4bWxzdHIpOw0KICAgICRtb2R1bGVfZnVsbG5hbWUgPSAkaW1wb3J0ZXItPlJ1bigpOw0KCQ0KLy8JaWYoZW1wdHkoJG1vZHVsZV9uYW1lKSkgDQovLyAgew0KLy8JCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdtb2R1bGVfbmFtZV9lbXB0eScpOw0KLy8JfQ0KLy8JDQovLwlpZihwcmVnX21hdGNoKCcvW14wLTlhLXpBLVpdLycsICRtb2R1bGVfbmFtZSkpIA0KLy8gIHsNCi8vCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnbW9kdWxlX25hbWVfaW52YWxpZCcpOw0KLy8JfQ0KLy8JDQovLwlpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRtb2R1bGVfbmFtZSksICRpbnZhbGlkX25hbWVzKSkNCi8vICB7DQovLwkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ21vZHVsZV9uYW1lX2ludmFsaWQnKTsNCi8vCX0JDQovLw0KLy8JaWYgKGVtcHR5KCRlcnJvcnMpKQ0KLy8gIHsNCi8vCQkkZHVwbGljYXRvciA9IG5ldyBMSVNFRHVwbGljYXRvcigkbW9kdWxlX25hbWUpOw0KLy8JCSRtb2R1bGVfZnVsbG5hbWUgPSAkZHVwbGljYXRvci0+UnVuKCk7DQovLwkJDQovLwkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9pbnN0YWxsJykpIA0KLy8gICAgew0KLy8JCQkkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOw0KLy8JCQkkbW9kb3BzLT5JbnN0YWxsTW9kdWxlKCRtb2R1bGVfZnVsbG5hbWUpOw0KLy8JCX0NCi8vCQkNCi8vCQkkcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdtb2R1bGVjb3BpZWQnLCdhY3RpdmVfdGFiJyA9PiAnaW5zdGFuY2VzdGFiJyk7DQovLwkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsgIA0KLy8JfQ0KfQ0KDQokcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdtb2R1bGVjb3BpZWQnLCdhY3RpdmVfdGFiJyA9PiAnaW5zdGFuY2VzdGFiJyk7DQoNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCmlmIChpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pKSB7CgllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TW9kTGFuZygkcGFyYW1zWydtZXNzYWdlJ10pKTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2Vycm9ycyddKSAmJiBjb3VudCgkcGFyYW1zWydlcnJvcnMnXSkpIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHBhcmFtc1snZXJyb3JzJ10pOwp9CgppZiAoIWVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpIHsKCSR0YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107Cn0gZWxzZSB7CgkkdGFiID0gJ2luc3RhbmNlc3RhYic7Cn0KCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2luc3RhbmNlc3RhYicsICR0aGlzLT5Nb2RMYW5nKCdpbnN0YW5jZXMnKSwgKCR0YWIgPT0gJ2luc3RhbmNlc3RhYicpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdmaWVsZGRlZnN0YWInLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZzJyksICgkdGFiID09ICdmaWVsZGRlZnN0YWInKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignbWFpbnRlbmFuY2V0YWInLCAkdGhpcy0+TW9kTGFuZygnbWFpbnRlbmFuY2UnKSwgKCR0YWIgPT0gJ21haW50ZW5hbmNldGFiJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnN0YWInLCAkdGhpcy0+TW9kTGFuZygnb3B0aW9ucycpLCAoJHRhYiA9PSAnb3B0aW9uc3RhYicpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignaW5zdGFuY2VzdGFiJywgJHBhcmFtcyk7CmluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL3RhYmNvbnRlbnQuYWRtaW5faW5zdGFuY2VzdGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2ZpZWxkZGVmc3RhYicsICRwYXJhbXMpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy90YWJjb250ZW50LmFkbWluX2ZpZWxkZGVmc3RhYi5waHAnOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdtYWludGVuYW5jZXRhYicsICRwYXJhbXMpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy90YWJjb250ZW50LmFkbWluX21haW50ZW5hbmNldGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbnN0YWInLCAkcGFyYW1zKTsKaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvdGFiY29udGVudC5hZG1pbl9vcHRpb25zdGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwogICAgCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGg0PlZlcnNpb24gMS4xLjA8L2g0Pg0KDQo8aDU+TmV3IGZlYXR1cmVzPC9oNT4NCjx1bD4NCiAgPGxpPkxJU0UgaW5zdGFuY2VzIGNhbiBub3cgYmUgc2V0IHRvIGJlIHVwZ3JhZGVkIG1hbnVhbGx5IG9yIGF1dG9tYXRpY2FsbHkgb24gYSBwZXIgaW5zdGFuY2Ugc2V0dGluZyBpbiBjb25qdW5jdGlvbiB3aXRoIGEgZ2xvYmFsIHNldHRpbmcgb24gTElTRSBtYWluIG1vZHVsZTs8L2xpPg0KICA8bGk+TElTRSBtYWluIG1vZHVsZSBjYW4gbm93IGJlIHNldCB0byBiZSB1cGdyYWRlZCBtYW51YWxseSAocmVjb21tZW5kZWQpIHRvIGF2b2lkIHRpbWluZyBvdXQgZHVyaW5nIHVwZ3JhZGVzOzwvbGk+DQogIDxsaT5MSVNFIG1haW4gbW9kdWxlIGhhcyB0byBiZSBpbnN0YWxsZWQgbWFudWFsbHkgdG8gYXZvaWQgdGltZW91dHMgZHVyaW5nIGluc3RhbGxhdGlvbjs8L2xpPg0KICA8bGk+QWRkZWQgdGhlIGNhcGFiaWxpdHkgdG8gZGVmaW5lIHRoZSBpbnN0YW5jZSA8c3Ryb25nPkZyaWVuZGx5IE5hbWU8L3N0cm9uZz4sIDxzdHJvbmc+TW9kdWxlIEFkbWluIERlc2NyaXB0aW9uPC9zdHJvbmc+IGFuZCA8c3Ryb25nPk1vZHVsZSBBZG1pbiBTZWN0aW9uPC9zdHJvbmc+IG9uIHRoZSA8c3Ryb25nPkNyZWF0ZSBJbnN0YW5jZTwvc3Ryb25nPiBmb3JtOzwvbGk+DQogIDxsaT5BZGRlZCBpbnN0YW5jZSBpbXBvcnQsIGV4cG9ydCBhbmQgY2xvbmUgY2FwYWJpbGl0eTs8L2xpPg0KICA8bGk+SW1wbGVtZW50ZWQgPHN0cm9uZz5GUnMgIzEwNjQzIGFuZCAjMTA2NDY8L3N0cm9uZz46DQogICAgPHVsPg0KICAgICAgPGxpPjxzdHJvbmc+IzEwNjQzIC08L3N0cm9uZz4gYWRkZWQgYSA8c3Ryb25nPlRhYnM8L3N0cm9uZz4gZmllbGQgZGVmaW5pdGlvbiAodGhhbmtzIHRvIDxzdHJvbmc+QWxiZXJ0IENhbnNhZG88L3N0cm9uZz4pOzwvbGk+DQogICAgICA8bGk+PHN0cm9uZz4jMTA2NDYgLTwvc3Ryb25nPiBtYWRlIHRvdGFsIHJlY29yZCBjb3VudCBhdmFpbGFibGUgYXMgYSBzbWFydHkgdmFyaWFibGUgKHRoYW5rcyB0byA8c3Ryb25nPkNocmlzIENpYXZhcmVsbGEgW2NhY2lhdmFyXTwvc3Ryb25nPik7PC9saT4NCiAgICA8L3VsPg0KICA8L2xpPg0KPC91bD4NCg0KPGg1PkZpeGVzPC9oNT4NCg0KPHVsPg0KICA8bGk+Rml4ZXMgdG8gdGhlIFRhZ3MgZnVuY3Rpb25hbGl0eTs8L2xpPg0KICA8bGk+Rml4ZXMgcmVsYXRlZCB3aXRoIG5ldyBDTVNNUyAyLjAuMSB3YXkgb2YgaGFuZGxpbmcgdmFyaWFibGUgc2NvcGVzIGFuZCB0ZW1wbGF0ZSBvYmpldGNzOzwvbGk+DQogIDxsaT5Tb21lIG1pbm9yIGZpeGVzOzwvbGk+DQo8L3VsPg0KDQoNCjxoND5WZXJzaW9uIDEuMC4yPC9oND4NCjx1bD4NCiAgPGxpPk1pbm9yIGZpeGVzIGluY2x1ZGluZyAjMTA2MzUuPC9saT4NCjwvdWw+DQo8aDQ+VmVyc2lvbiAxLjAuMTwvaDQ+DQo8dWw+DQogIDxsaT5NaW5vciBmaXhlcyBpbmNsdWRpbmcgIzEwNjMwLjwvbGk+DQo8L3VsPg0KPGg0PlZlcnNpb24gMS4wLjA8L2g0Pg0KPHVsPg0KICA8bGk+MXN0IHB1YmxpYyByZWxlYXNlLjwvbGk+DQo8L3VsPg==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQ0KICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDMsIDI5IEp1bmUgMjAwNw0KDQogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPg0KIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcw0KIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUNCg0KICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcg0Kc29mdHdhcmUgYW5kIG90aGVyIGtpbmRzIG9mIHdvcmtzLg0KDQogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZA0KdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIHRoZSB3b3Jrcy4gIEJ5IGNvbnRyYXN0LA0KdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8NCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQ0Kc29mdHdhcmUgZm9yIGFsbCBpdHMgdXNlcnMuICBXZSwgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgdXNlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vc3Qgb2Ygb3VyIHNvZnR3YXJlOyBpdCBhcHBsaWVzIGFsc28gdG8NCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bw0KeW91ciBwcm9ncmFtcywgdG9vLg0KDQogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QNCnByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UNCmhhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3INCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91DQp3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0IGluIG5ldw0KZnJlZSBwcm9ncmFtcywgYW5kIHRoYXQgeW91IGtub3cgeW91IGNhbiBkbyB0aGVzZSB0aGluZ3MuDQoNCiAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBwcmV2ZW50IG90aGVycyBmcm9tIGRlbnlpbmcgeW91DQp0aGVzZSByaWdodHMgb3IgYXNraW5nIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4gIFRoZXJlZm9yZSwgeW91IGhhdmUNCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZg0KeW91IG1vZGlmeSBpdDogcmVzcG9uc2liaWxpdGllcyB0byByZXNwZWN0IHRoZSBmcmVlZG9tIG9mIG90aGVycy4NCg0KICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyDQpncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBwYXNzIG9uIHRvIHRoZSByZWNpcGllbnRzIHRoZSBzYW1lDQpmcmVlZG9tcyB0aGF0IHlvdSByZWNlaXZlZC4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZQ0Kb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkNCmtub3cgdGhlaXIgcmlnaHRzLg0KDQogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoNCigxKSBhc3NlcnQgY29weXJpZ2h0IG9uIHRoZSBzb2Z0d2FyZSwgYW5kICgyKSBvZmZlciB5b3UgdGhpcyBMaWNlbnNlDQpnaXZpbmcgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IGl0Lg0KDQogIEZvciB0aGUgZGV2ZWxvcGVycycgYW5kIGF1dGhvcnMnIHByb3RlY3Rpb24sIHRoZSBHUEwgY2xlYXJseSBleHBsYWlucw0KdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhpcyBmcmVlIHNvZnR3YXJlLiAgRm9yIGJvdGggdXNlcnMnIGFuZA0KYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcw0KY2hhbmdlZCwgc28gdGhhdCB0aGVpciBwcm9ibGVtcyB3aWxsIG5vdCBiZSBhdHRyaWJ1dGVkIGVycm9uZW91c2x5IHRvDQphdXRob3JzIG9mIHByZXZpb3VzIHZlcnNpb25zLg0KDQogIFNvbWUgZGV2aWNlcyBhcmUgZGVzaWduZWQgdG8gZGVueSB1c2VycyBhY2Nlc3MgdG8gaW5zdGFsbCBvciBydW4NCm1vZGlmaWVkIHZlcnNpb25zIG9mIHRoZSBzb2Z0d2FyZSBpbnNpZGUgdGhlbSwgYWx0aG91Z2ggdGhlIG1hbnVmYWN0dXJlcg0KY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YNCnByb3RlY3RpbmcgdXNlcnMnIGZyZWVkb20gdG8gY2hhbmdlIHRoZSBzb2Z0d2FyZS4gIFRoZSBzeXN0ZW1hdGljDQpwYXR0ZXJuIG9mIHN1Y2ggYWJ1c2Ugb2NjdXJzIGluIHRoZSBhcmVhIG9mIHByb2R1Y3RzIGZvciBpbmRpdmlkdWFscyB0bw0KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlDQpoYXZlIGRlc2lnbmVkIHRoaXMgdmVyc2lvbiBvZiB0aGUgR1BMIHRvIHByb2hpYml0IHRoZSBwcmFjdGljZSBmb3IgdGhvc2UNCnByb2R1Y3RzLiAgSWYgc3VjaCBwcm9ibGVtcyBhcmlzZSBzdWJzdGFudGlhbGx5IGluIG90aGVyIGRvbWFpbnMsIHdlDQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMNCm9mIHRoZSBHUEwsIGFzIG5lZWRlZCB0byBwcm90ZWN0IHRoZSBmcmVlZG9tIG9mIHVzZXJzLg0KDQogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuDQpTdGF0ZXMgc2hvdWxkIG5vdCBhbGxvdyBwYXRlbnRzIHRvIHJlc3RyaWN0IGRldmVsb3BtZW50IGFuZCB1c2Ugb2YNCnNvZnR3YXJlIG9uIGdlbmVyYWwtcHVycG9zZSBjb21wdXRlcnMsIGJ1dCBpbiB0aG9zZSB0aGF0IGRvLCB3ZSB3aXNoIHRvDQphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQNCm1ha2UgaXQgZWZmZWN0aXZlbHkgcHJvcHJpZXRhcnkuICBUbyBwcmV2ZW50IHRoaXMsIHRoZSBHUEwgYXNzdXJlcyB0aGF0DQpwYXRlbnRzIGNhbm5vdCBiZSB1c2VkIHRvIHJlbmRlciB0aGUgcHJvZ3JhbSBub24tZnJlZS4NCg0KICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZA0KbW9kaWZpY2F0aW9uIGZvbGxvdy4NCg0KICAgICAgICAgICAgICAgICAgICAgICBURVJNUyBBTkQgQ09ORElUSU9OUw0KDQogIDAuIERlZmluaXRpb25zLg0KDQogICJUaGlzIExpY2Vuc2UiIHJlZmVycyB0byB2ZXJzaW9uIDMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLg0KDQogICJDb3B5cmlnaHQiIGFsc28gbWVhbnMgY29weXJpZ2h0LWxpa2UgbGF3cyB0aGF0IGFwcGx5IHRvIG90aGVyIGtpbmRzIG9mDQp3b3Jrcywgc3VjaCBhcyBzZW1pY29uZHVjdG9yIG1hc2tzLg0KDQogICJUaGUgUHJvZ3JhbSIgcmVmZXJzIHRvIGFueSBjb3B5cmlnaHRhYmxlIHdvcmsgbGljZW5zZWQgdW5kZXIgdGhpcw0KTGljZW5zZS4gIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLiAgIkxpY2Vuc2VlcyIgYW5kDQoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuDQoNCiAgVG8gIm1vZGlmeSIgYSB3b3JrIG1lYW5zIHRvIGNvcHkgZnJvbSBvciBhZGFwdCBhbGwgb3IgcGFydCBvZiB0aGUgd29yaw0KaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuDQpleGFjdCBjb3B5LiAgVGhlIHJlc3VsdGluZyB3b3JrIGlzIGNhbGxlZCBhICJtb2RpZmllZCB2ZXJzaW9uIiBvZiB0aGUNCmVhcmxpZXIgd29yayBvciBhIHdvcmsgImJhc2VkIG9uIiB0aGUgZWFybGllciB3b3JrLg0KDQogIEEgImNvdmVyZWQgd29yayIgbWVhbnMgZWl0aGVyIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0gb3IgYSB3b3JrIGJhc2VkDQpvbiB0aGUgUHJvZ3JhbS4NCg0KICBUbyAicHJvcGFnYXRlIiBhIHdvcmsgbWVhbnMgdG8gZG8gYW55dGhpbmcgd2l0aCBpdCB0aGF0LCB3aXRob3V0DQpwZXJtaXNzaW9uLCB3b3VsZCBtYWtlIHlvdSBkaXJlY3RseSBvciBzZWNvbmRhcmlseSBsaWFibGUgZm9yDQppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGENCmNvbXB1dGVyIG9yIG1vZGlmeWluZyBhIHByaXZhdGUgY29weS4gIFByb3BhZ2F0aW9uIGluY2x1ZGVzIGNvcHlpbmcsDQpkaXN0cmlidXRpb24gKHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24pLCBtYWtpbmcgYXZhaWxhYmxlIHRvIHRoZQ0KcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLg0KDQogIFRvICJjb252ZXkiIGEgd29yayBtZWFucyBhbnkga2luZCBvZiBwcm9wYWdhdGlvbiB0aGF0IGVuYWJsZXMgb3RoZXINCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaA0KYSBjb21wdXRlciBuZXR3b3JrLCB3aXRoIG5vIHRyYW5zZmVyIG9mIGEgY29weSwgaXMgbm90IGNvbnZleWluZy4NCg0KICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyINCnRvIHRoZSBleHRlbnQgdGhhdCBpdCBpbmNsdWRlcyBhIGNvbnZlbmllbnQgYW5kIHByb21pbmVudGx5IHZpc2libGUNCmZlYXR1cmUgdGhhdCAoMSkgZGlzcGxheXMgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSwgYW5kICgyKQ0KdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUNCmV4dGVudCB0aGF0IHdhcnJhbnRpZXMgYXJlIHByb3ZpZGVkKSwgdGhhdCBsaWNlbnNlZXMgbWF5IGNvbnZleSB0aGUNCndvcmsgdW5kZXIgdGhpcyBMaWNlbnNlLCBhbmQgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gIElmDQp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQ0KbWVudSwgYSBwcm9taW5lbnQgaXRlbSBpbiB0aGUgbGlzdCBtZWV0cyB0aGlzIGNyaXRlcmlvbi4NCg0KICAxLiBTb3VyY2UgQ29kZS4NCg0KICBUaGUgInNvdXJjZSBjb2RlIiBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yaw0KZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQ0KZm9ybSBvZiBhIHdvcmsuDQoNCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwNCnN0YW5kYXJkIGRlZmluZWQgYnkgYSByZWNvZ25pemVkIHN0YW5kYXJkcyBib2R5LCBvciwgaW4gdGhlIGNhc2Ugb2YNCmludGVyZmFjZXMgc3BlY2lmaWVkIGZvciBhIHBhcnRpY3VsYXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIG9uZSB0aGF0DQppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4NCg0KICBUaGUgIlN5c3RlbSBMaWJyYXJpZXMiIG9mIGFuIGV4ZWN1dGFibGUgd29yayBpbmNsdWRlIGFueXRoaW5nLCBvdGhlcg0KdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YNCnBhY2thZ2luZyBhIE1ham9yIENvbXBvbmVudCwgYnV0IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoYXQgTWFqb3INCkNvbXBvbmVudCwgYW5kIChiKSBzZXJ2ZXMgb25seSB0byBlbmFibGUgdXNlIG9mIHRoZSB3b3JrIHdpdGggdGhhdA0KTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuDQppbXBsZW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyBpbiBzb3VyY2UgY29kZSBmb3JtLiAgQQ0KIk1ham9yIENvbXBvbmVudCIsIGluIHRoaXMgY29udGV4dCwgbWVhbnMgYSBtYWpvciBlc3NlbnRpYWwgY29tcG9uZW50DQooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtDQooaWYgYW55KSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSB3b3JrIHJ1bnMsIG9yIGEgY29tcGlsZXIgdXNlZCB0bw0KcHJvZHVjZSB0aGUgd29yaywgb3IgYW4gb2JqZWN0IGNvZGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gaXQuDQoNCiAgVGhlICJDb3JyZXNwb25kaW5nIFNvdXJjZSIgZm9yIGEgd29yayBpbiBvYmplY3QgY29kZSBmb3JtIG1lYW5zIGFsbA0KdGhlIHNvdXJjZSBjb2RlIG5lZWRlZCB0byBnZW5lcmF0ZSwgaW5zdGFsbCwgYW5kIChmb3IgYW4gZXhlY3V0YWJsZQ0Kd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bw0KY29udHJvbCB0aG9zZSBhY3Rpdml0aWVzLiAgSG93ZXZlciwgaXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgd29yaydzDQpTeXN0ZW0gTGlicmFyaWVzLCBvciBnZW5lcmFsLXB1cnBvc2UgdG9vbHMgb3IgZ2VuZXJhbGx5IGF2YWlsYWJsZSBmcmVlDQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQNCndoaWNoIGFyZSBub3QgcGFydCBvZiB0aGUgd29yay4gIEZvciBleGFtcGxlLCBDb3JyZXNwb25kaW5nIFNvdXJjZQ0KaW5jbHVkZXMgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHNvdXJjZSBmaWxlcyBmb3INCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQ0KbGlua2VkIHN1YnByb2dyYW1zIHRoYXQgdGhlIHdvcmsgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHJlcXVpcmUsDQpzdWNoIGFzIGJ5IGludGltYXRlIGRhdGEgY29tbXVuaWNhdGlvbiBvciBjb250cm9sIGZsb3cgYmV0d2VlbiB0aG9zZQ0Kc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLg0KDQogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBuZWVkIG5vdCBpbmNsdWRlIGFueXRoaW5nIHRoYXQgdXNlcnMNCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZw0KU291cmNlLg0KDQogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdA0Kc2FtZSB3b3JrLg0KDQogIDIuIEJhc2ljIFBlcm1pc3Npb25zLg0KDQogIEFsbCByaWdodHMgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UgYXJlIGdyYW50ZWQgZm9yIHRoZSB0ZXJtIG9mDQpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZA0KY29uZGl0aW9ucyBhcmUgbWV0LiAgVGhpcyBMaWNlbnNlIGV4cGxpY2l0bHkgYWZmaXJtcyB5b3VyIHVubGltaXRlZA0KcGVybWlzc2lvbiB0byBydW4gdGhlIHVubW9kaWZpZWQgUHJvZ3JhbS4gIFRoZSBvdXRwdXQgZnJvbSBydW5uaW5nIGENCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cw0KY29udGVudCwgY29uc3RpdHV0ZXMgYSBjb3ZlcmVkIHdvcmsuICBUaGlzIExpY2Vuc2UgYWNrbm93bGVkZ2VzIHlvdXINCnJpZ2h0cyBvZiBmYWlyIHVzZSBvciBvdGhlciBlcXVpdmFsZW50LCBhcyBwcm92aWRlZCBieSBjb3B5cmlnaHQgbGF3Lg0KDQogIFlvdSBtYXkgbWFrZSwgcnVuIGFuZCBwcm9wYWdhdGUgY292ZXJlZCB3b3JrcyB0aGF0IHlvdSBkbyBub3QNCmNvbnZleSwgd2l0aG91dCBjb25kaXRpb25zIHNvIGxvbmcgYXMgeW91ciBsaWNlbnNlIG90aGVyd2lzZSByZW1haW5zDQppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlDQpvZiBoYXZpbmcgdGhlbSBtYWtlIG1vZGlmaWNhdGlvbnMgZXhjbHVzaXZlbHkgZm9yIHlvdSwgb3IgcHJvdmlkZSB5b3UNCndpdGggZmFjaWxpdGllcyBmb3IgcnVubmluZyB0aG9zZSB3b3JrcywgcHJvdmlkZWQgdGhhdCB5b3UgY29tcGx5IHdpdGgNCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvDQpub3QgY29udHJvbCBjb3B5cmlnaHQuICBUaG9zZSB0aHVzIG1ha2luZyBvciBydW5uaW5nIHRoZSBjb3ZlcmVkIHdvcmtzDQpmb3IgeW91IG11c3QgZG8gc28gZXhjbHVzaXZlbHkgb24geW91ciBiZWhhbGYsIHVuZGVyIHlvdXIgZGlyZWN0aW9uDQphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YNCnlvdXIgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgb3V0c2lkZSB0aGVpciByZWxhdGlvbnNoaXAgd2l0aCB5b3UuDQoNCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXINCnRoZSBjb25kaXRpb25zIHN0YXRlZCBiZWxvdy4gIFN1YmxpY2Vuc2luZyBpcyBub3QgYWxsb3dlZDsgc2VjdGlvbiAxMA0KbWFrZXMgaXQgdW5uZWNlc3NhcnkuDQoNCiAgMy4gUHJvdGVjdGluZyBVc2VycycgTGVnYWwgUmlnaHRzIEZyb20gQW50aS1DaXJjdW12ZW50aW9uIExhdy4NCg0KICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwNCm1lYXN1cmUgdW5kZXIgYW55IGFwcGxpY2FibGUgbGF3IGZ1bGZpbGxpbmcgb2JsaWdhdGlvbnMgdW5kZXIgYXJ0aWNsZQ0KMTEgb2YgdGhlIFdJUE8gY29weXJpZ2h0IHRyZWF0eSBhZG9wdGVkIG9uIDIwIERlY2VtYmVyIDE5OTYsIG9yDQpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoDQptZWFzdXJlcy4NCg0KICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkDQpjaXJjdW12ZW50aW9uIG9mIHRlY2hub2xvZ2ljYWwgbWVhc3VyZXMgdG8gdGhlIGV4dGVudCBzdWNoIGNpcmN1bXZlbnRpb24NCmlzIGVmZmVjdGVkIGJ5IGV4ZXJjaXNpbmcgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZSB3aXRoIHJlc3BlY3QgdG8NCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3INCm1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBhcyBhIG1lYW5zIG9mIGVuZm9yY2luZywgYWdhaW5zdCB0aGUgd29yaydzDQp1c2VycywgeW91ciBvciB0aGlyZCBwYXJ0aWVzJyBsZWdhbCByaWdodHMgdG8gZm9yYmlkIGNpcmN1bXZlbnRpb24gb2YNCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuDQoNCiAgNC4gQ29udmV5aW5nIFZlcmJhdGltIENvcGllcy4NCg0KICBZb3UgbWF5IGNvbnZleSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhlIFByb2dyYW0ncyBzb3VyY2UgY29kZSBhcyB5b3UNCnJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kDQphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7DQprZWVwIGludGFjdCBhbGwgbm90aWNlcyBzdGF0aW5nIHRoYXQgdGhpcyBMaWNlbnNlIGFuZCBhbnkNCm5vbi1wZXJtaXNzaXZlIHRlcm1zIGFkZGVkIGluIGFjY29yZCB3aXRoIHNlY3Rpb24gNyBhcHBseSB0byB0aGUgY29kZTsNCmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsDQpyZWNpcGllbnRzIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4NCg0KICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksDQphbmQgeW91IG1heSBvZmZlciBzdXBwb3J0IG9yIHdhcnJhbnR5IHByb3RlY3Rpb24gZm9yIGEgZmVlLg0KDQogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuDQoNCiAgWW91IG1heSBjb252ZXkgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBvciB0aGUgbW9kaWZpY2F0aW9ucyB0bw0KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUNCnRlcm1zIG9mIHNlY3Rpb24gNCwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOg0KDQogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkDQogICAgaXQsIGFuZCBnaXZpbmcgYSByZWxldmFudCBkYXRlLg0KDQogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMNCiAgICByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBjb25kaXRpb25zIGFkZGVkIHVuZGVyIHNlY3Rpb24NCiAgICA3LiAgVGhpcyByZXF1aXJlbWVudCBtb2RpZmllcyB0aGUgcmVxdWlyZW1lbnQgaW4gc2VjdGlvbiA0IHRvDQogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4NCg0KICAgIGMpIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSB3b3JrLCBhcyBhIHdob2xlLCB1bmRlciB0aGlzDQogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzDQogICAgTGljZW5zZSB3aWxsIHRoZXJlZm9yZSBhcHBseSwgYWxvbmcgd2l0aCBhbnkgYXBwbGljYWJsZSBzZWN0aW9uIDcNCiAgICBhZGRpdGlvbmFsIHRlcm1zLCB0byB0aGUgd2hvbGUgb2YgdGhlIHdvcmssIGFuZCBhbGwgaXRzIHBhcnRzLA0KICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vDQogICAgcGVybWlzc2lvbiB0byBsaWNlbnNlIHRoZSB3b3JrIGluIGFueSBvdGhlciB3YXksIGJ1dCBpdCBkb2VzIG5vdA0KICAgIGludmFsaWRhdGUgc3VjaCBwZXJtaXNzaW9uIGlmIHlvdSBoYXZlIHNlcGFyYXRlbHkgcmVjZWl2ZWQgaXQuDQoNCiAgICBkKSBJZiB0aGUgd29yayBoYXMgaW50ZXJhY3RpdmUgdXNlciBpbnRlcmZhY2VzLCBlYWNoIG11c3QgZGlzcGxheQ0KICAgIEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXM7IGhvd2V2ZXIsIGlmIHRoZSBQcm9ncmFtIGhhcyBpbnRlcmFjdGl2ZQ0KICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyDQogICAgd29yayBuZWVkIG5vdCBtYWtlIHRoZW0gZG8gc28uDQoNCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudA0Kd29ya3MsIHdoaWNoIGFyZSBub3QgYnkgdGhlaXIgbmF0dXJlIGV4dGVuc2lvbnMgb2YgdGhlIGNvdmVyZWQgd29yaywNCmFuZCB3aGljaCBhcmUgbm90IGNvbWJpbmVkIHdpdGggaXQgc3VjaCBhcyB0byBmb3JtIGEgbGFyZ2VyIHByb2dyYW0sDQppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuDQoiYWdncmVnYXRlIiBpZiB0aGUgY29tcGlsYXRpb24gYW5kIGl0cyByZXN1bHRpbmcgY29weXJpZ2h0IGFyZSBub3QNCnVzZWQgdG8gbGltaXQgdGhlIGFjY2VzcyBvciBsZWdhbCByaWdodHMgb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMNCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yaw0KaW4gYW4gYWdncmVnYXRlIGRvZXMgbm90IGNhdXNlIHRoaXMgTGljZW5zZSB0byBhcHBseSB0byB0aGUgb3RoZXINCnBhcnRzIG9mIHRoZSBhZ2dyZWdhdGUuDQoNCiAgNi4gQ29udmV5aW5nIE5vbi1Tb3VyY2UgRm9ybXMuDQoNCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMNCm9mIHNlY3Rpb25zIDQgYW5kIDUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gY29udmV5IHRoZQ0KbWFjaGluZS1yZWFkYWJsZSBDb3JyZXNwb25kaW5nIFNvdXJjZSB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLA0KaW4gb25lIG9mIHRoZXNlIHdheXM6DQoNCiAgICBhKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGluLCBvciBlbWJvZGllZCBpbiwgYSBwaHlzaWNhbCBwcm9kdWN0DQogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmaXhlZCBvbiBhIGR1cmFibGUgcGh5c2ljYWwgbWVkaXVtDQogICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UuDQoNCiAgICBiKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGluLCBvciBlbWJvZGllZCBpbiwgYSBwaHlzaWNhbCBwcm9kdWN0DQogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSBhDQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMNCiAgICBsb25nIGFzIHlvdSBvZmZlciBzcGFyZSBwYXJ0cyBvciBjdXN0b21lciBzdXBwb3J0IGZvciB0aGF0IHByb2R1Y3QNCiAgICBtb2RlbCwgdG8gZ2l2ZSBhbnlvbmUgd2hvIHBvc3Nlc3NlcyB0aGUgb2JqZWN0IGNvZGUgZWl0aGVyICgxKSBhDQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlDQogICAgcHJvZHVjdCB0aGF0IGlzIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBvbiBhIGR1cmFibGUgcGh5c2ljYWwNCiAgICBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2UsIGZvciBhIHByaWNlIG5vDQogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzDQogICAgY29udmV5aW5nIG9mIHNvdXJjZSwgb3IgKDIpIGFjY2VzcyB0byBjb3B5IHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZyb20gYSBuZXR3b3JrIHNlcnZlciBhdCBubyBjaGFyZ2UuDQoNCiAgICBjKSBDb252ZXkgaW5kaXZpZHVhbCBjb3BpZXMgb2YgdGhlIG9iamVjdCBjb2RlIHdpdGggYSBjb3B5IG9mIHRoZQ0KICAgIHdyaXR0ZW4gb2ZmZXIgdG8gcHJvdmlkZSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBUaGlzDQogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQNCiAgICBvbmx5IGlmIHlvdSByZWNlaXZlZCB0aGUgb2JqZWN0IGNvZGUgd2l0aCBzdWNoIGFuIG9mZmVyLCBpbiBhY2NvcmQNCiAgICB3aXRoIHN1YnNlY3Rpb24gNmIuDQoNCiAgICBkKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIGJ5IG9mZmVyaW5nIGFjY2VzcyBmcm9tIGEgZGVzaWduYXRlZA0KICAgIHBsYWNlIChncmF0aXMgb3IgZm9yIGEgY2hhcmdlKSwgYW5kIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vDQogICAgZnVydGhlciBjaGFyZ2UuICBZb3UgbmVlZCBub3QgcmVxdWlyZSByZWNpcGllbnRzIHRvIGNvcHkgdGhlDQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuICBJZiB0aGUgcGxhY2UgdG8NCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UNCiAgICBtYXkgYmUgb24gYSBkaWZmZXJlbnQgc2VydmVyIChvcGVyYXRlZCBieSB5b3Ugb3IgYSB0aGlyZCBwYXJ0eSkNCiAgICB0aGF0IHN1cHBvcnRzIGVxdWl2YWxlbnQgY29weWluZyBmYWNpbGl0aWVzLCBwcm92aWRlZCB5b3UgbWFpbnRhaW4NCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQ0KICAgIENvcnJlc3BvbmRpbmcgU291cmNlLiAgUmVnYXJkbGVzcyBvZiB3aGF0IHNlcnZlciBob3N0cyB0aGUNCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSwgeW91IHJlbWFpbiBvYmxpZ2F0ZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMNCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLg0KDQogICAgZSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uLCBwcm92aWRlZA0KICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nDQogICAgU291cmNlIG9mIHRoZSB3b3JrIGFyZSBiZWluZyBvZmZlcmVkIHRvIHRoZSBnZW5lcmFsIHB1YmxpYyBhdCBubw0KICAgIGNoYXJnZSB1bmRlciBzdWJzZWN0aW9uIDZkLg0KDQogIEEgc2VwYXJhYmxlIHBvcnRpb24gb2YgdGhlIG9iamVjdCBjb2RlLCB3aG9zZSBzb3VyY2UgY29kZSBpcyBleGNsdWRlZA0KZnJvbSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgYXMgYSBTeXN0ZW0gTGlicmFyeSwgbmVlZCBub3QgYmUNCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4NCg0KICBBICJVc2VyIFByb2R1Y3QiIGlzIGVpdGhlciAoMSkgYSAiY29uc3VtZXIgcHJvZHVjdCIsIHdoaWNoIG1lYW5zIGFueQ0KdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwNCm9yIGhvdXNlaG9sZCBwdXJwb3Nlcywgb3IgKDIpIGFueXRoaW5nIGRlc2lnbmVkIG9yIHNvbGQgZm9yIGluY29ycG9yYXRpb24NCmludG8gYSBkd2VsbGluZy4gIEluIGRldGVybWluaW5nIHdoZXRoZXIgYSBwcm9kdWN0IGlzIGEgY29uc3VtZXIgcHJvZHVjdCwNCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcg0KcHJvZHVjdCByZWNlaXZlZCBieSBhIHBhcnRpY3VsYXIgdXNlciwgIm5vcm1hbGx5IHVzZWQiIHJlZmVycyB0byBhDQp0eXBpY2FsIG9yIGNvbW1vbiB1c2Ugb2YgdGhhdCBjbGFzcyBvZiBwcm9kdWN0LCByZWdhcmRsZXNzIG9mIHRoZSBzdGF0dXMNCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyDQphY3R1YWxseSB1c2VzLCBvciBleHBlY3RzIG9yIGlzIGV4cGVjdGVkIHRvIHVzZSwgdGhlIHByb2R1Y3QuICBBIHByb2R1Y3QNCmlzIGEgY29uc3VtZXIgcHJvZHVjdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHByb2R1Y3QgaGFzIHN1YnN0YW50aWFsDQpjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudA0KdGhlIG9ubHkgc2lnbmlmaWNhbnQgbW9kZSBvZiB1c2Ugb2YgdGhlIHByb2R1Y3QuDQoNCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLA0KcHJvY2VkdXJlcywgYXV0aG9yaXphdGlvbiBrZXlzLCBvciBvdGhlciBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBpbnN0YWxsDQphbmQgZXhlY3V0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiBhIGNvdmVyZWQgd29yayBpbiB0aGF0IFVzZXIgUHJvZHVjdCBmcm9tDQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QNCnN1ZmZpY2UgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbnRpbnVlZCBmdW5jdGlvbmluZyBvZiB0aGUgbW9kaWZpZWQgb2JqZWN0DQpjb2RlIGlzIGluIG5vIGNhc2UgcHJldmVudGVkIG9yIGludGVyZmVyZWQgd2l0aCBzb2xlbHkgYmVjYXVzZQ0KbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuDQoNCiAgSWYgeW91IGNvbnZleSBhbiBvYmplY3QgY29kZSB3b3JrIHVuZGVyIHRoaXMgc2VjdGlvbiBpbiwgb3Igd2l0aCwgb3INCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzDQpwYXJ0IG9mIGEgdHJhbnNhY3Rpb24gaW4gd2hpY2ggdGhlIHJpZ2h0IG9mIHBvc3Nlc3Npb24gYW5kIHVzZSBvZiB0aGUNClVzZXIgUHJvZHVjdCBpcyB0cmFuc2ZlcnJlZCB0byB0aGUgcmVjaXBpZW50IGluIHBlcnBldHVpdHkgb3IgZm9yIGENCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlDQpDb3JyZXNwb25kaW5nIFNvdXJjZSBjb252ZXllZCB1bmRlciB0aGlzIHNlY3Rpb24gbXVzdCBiZSBhY2NvbXBhbmllZA0KYnkgdGhlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbi4gIEJ1dCB0aGlzIHJlcXVpcmVtZW50IGRvZXMgbm90IGFwcGx5DQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbA0KbW9kaWZpZWQgb2JqZWN0IGNvZGUgb24gdGhlIFVzZXIgUHJvZHVjdCAoZm9yIGV4YW1wbGUsIHRoZSB3b3JrIGhhcw0KYmVlbiBpbnN0YWxsZWQgaW4gUk9NKS4NCg0KICBUaGUgcmVxdWlyZW1lbnQgdG8gcHJvdmlkZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gZG9lcyBub3QgaW5jbHVkZSBhDQpyZXF1aXJlbWVudCB0byBjb250aW51ZSB0byBwcm92aWRlIHN1cHBvcnQgc2VydmljZSwgd2FycmFudHksIG9yIHVwZGF0ZXMNCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yDQp0aGUgVXNlciBQcm9kdWN0IGluIHdoaWNoIGl0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZC4gIEFjY2VzcyB0byBhDQpuZXR3b3JrIG1heSBiZSBkZW5pZWQgd2hlbiB0aGUgbW9kaWZpY2F0aW9uIGl0c2VsZiBtYXRlcmlhbGx5IGFuZA0KYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kDQpwcm90b2NvbHMgZm9yIGNvbW11bmljYXRpb24gYWNyb3NzIHRoZSBuZXR3b3JrLg0KDQogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLA0KaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uIG11c3QgYmUgaW4gYSBmb3JtYXQgdGhhdCBpcyBwdWJsaWNseQ0KZG9jdW1lbnRlZCAoYW5kIHdpdGggYW4gaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMgaW4NCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcg0KdW5wYWNraW5nLCByZWFkaW5nIG9yIGNvcHlpbmcuDQoNCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4NCg0KICAiQWRkaXRpb25hbCBwZXJtaXNzaW9ucyIgYXJlIHRlcm1zIHRoYXQgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcw0KTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLg0KQWRkaXRpb25hbCBwZXJtaXNzaW9ucyB0aGF0IGFyZSBhcHBsaWNhYmxlIHRvIHRoZSBlbnRpcmUgUHJvZ3JhbSBzaGFsbA0KYmUgdHJlYXRlZCBhcyB0aG91Z2ggdGhleSB3ZXJlIGluY2x1ZGVkIGluIHRoaXMgTGljZW5zZSwgdG8gdGhlIGV4dGVudA0KdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMNCmFwcGx5IG9ubHkgdG8gcGFydCBvZiB0aGUgUHJvZ3JhbSwgdGhhdCBwYXJ0IG1heSBiZSB1c2VkIHNlcGFyYXRlbHkNCnVuZGVyIHRob3NlIHBlcm1pc3Npb25zLCBidXQgdGhlIGVudGlyZSBQcm9ncmFtIHJlbWFpbnMgZ292ZXJuZWQgYnkNCnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4NCg0KICBXaGVuIHlvdSBjb252ZXkgYSBjb3B5IG9mIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IGF0IHlvdXIgb3B0aW9uDQpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YNCml0LiAgKEFkZGl0aW9uYWwgcGVybWlzc2lvbnMgbWF5IGJlIHdyaXR0ZW4gdG8gcmVxdWlyZSB0aGVpciBvd24NCnJlbW92YWwgaW4gY2VydGFpbiBjYXNlcyB3aGVuIHlvdSBtb2RpZnkgdGhlIHdvcmsuKSAgWW91IG1heSBwbGFjZQ0KYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLA0KZm9yIHdoaWNoIHlvdSBoYXZlIG9yIGNhbiBnaXZlIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBwZXJtaXNzaW9uLg0KDQogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQ0KYWRkIHRvIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IChpZiBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVycyBvZg0KdGhhdCBtYXRlcmlhbCkgc3VwcGxlbWVudCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIHdpdGggdGVybXM6DQoNCiAgICBhKSBEaXNjbGFpbWluZyB3YXJyYW50eSBvciBsaW1pdGluZyBsaWFiaWxpdHkgZGlmZmVyZW50bHkgZnJvbSB0aGUNCiAgICB0ZXJtcyBvZiBzZWN0aW9ucyAxNSBhbmQgMTYgb2YgdGhpcyBMaWNlbnNlOyBvcg0KDQogICAgYikgUmVxdWlyaW5nIHByZXNlcnZhdGlvbiBvZiBzcGVjaWZpZWQgcmVhc29uYWJsZSBsZWdhbCBub3RpY2VzIG9yDQogICAgYXV0aG9yIGF0dHJpYnV0aW9ucyBpbiB0aGF0IG1hdGVyaWFsIG9yIGluIHRoZSBBcHByb3ByaWF0ZSBMZWdhbA0KICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yDQoNCiAgICBjKSBQcm9oaWJpdGluZyBtaXNyZXByZXNlbnRhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoYXQgbWF0ZXJpYWwsIG9yDQogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4NCiAgICByZWFzb25hYmxlIHdheXMgYXMgZGlmZmVyZW50IGZyb20gdGhlIG9yaWdpbmFsIHZlcnNpb247IG9yDQoNCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yDQogICAgYXV0aG9ycyBvZiB0aGUgbWF0ZXJpYWw7IG9yDQoNCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lDQogICAgdHJhZGUgbmFtZXMsIHRyYWRlbWFya3MsIG9yIHNlcnZpY2UgbWFya3M7IG9yDQoNCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0DQogICAgbWF0ZXJpYWwgYnkgYW55b25lIHdobyBjb252ZXlzIHRoZSBtYXRlcmlhbCAob3IgbW9kaWZpZWQgdmVyc2lvbnMgb2YNCiAgICBpdCkgd2l0aCBjb250cmFjdHVhbCBhc3N1bXB0aW9ucyBvZiBsaWFiaWxpdHkgdG8gdGhlIHJlY2lwaWVudCwgZm9yDQogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbg0KICAgIHRob3NlIGxpY2Vuc29ycyBhbmQgYXV0aG9ycy4NCg0KICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcg0KcmVzdHJpY3Rpb25zIiB3aXRoaW4gdGhlIG1lYW5pbmcgb2Ygc2VjdGlvbiAxMC4gIElmIHRoZSBQcm9ncmFtIGFzIHlvdQ0KcmVjZWl2ZWQgaXQsIG9yIGFueSBwYXJ0IG9mIGl0LCBjb250YWlucyBhIG5vdGljZSBzdGF0aW5nIHRoYXQgaXQgaXMNCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcg0KcmVzdHJpY3Rpb24sIHlvdSBtYXkgcmVtb3ZlIHRoYXQgdGVybS4gIElmIGEgbGljZW5zZSBkb2N1bWVudCBjb250YWlucw0KYSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGJ1dCBwZXJtaXRzIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZyB1bmRlciB0aGlzDQpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMNCm9mIHRoYXQgbGljZW5zZSBkb2N1bWVudCwgcHJvdmlkZWQgdGhhdCB0aGUgZnVydGhlciByZXN0cmljdGlvbiBkb2VzDQpub3Qgc3Vydml2ZSBzdWNoIHJlbGljZW5zaW5nIG9yIGNvbnZleWluZy4NCg0KICBJZiB5b3UgYWRkIHRlcm1zIHRvIGEgY292ZXJlZCB3b3JrIGluIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiwgeW91DQptdXN0IHBsYWNlLCBpbiB0aGUgcmVsZXZhbnQgc291cmNlIGZpbGVzLCBhIHN0YXRlbWVudCBvZiB0aGUNCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZw0Kd2hlcmUgdG8gZmluZCB0aGUgYXBwbGljYWJsZSB0ZXJtcy4NCg0KICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQ0KZm9ybSBvZiBhIHNlcGFyYXRlbHkgd3JpdHRlbiBsaWNlbnNlLCBvciBzdGF0ZWQgYXMgZXhjZXB0aW9uczsNCnRoZSBhYm92ZSByZXF1aXJlbWVudHMgYXBwbHkgZWl0aGVyIHdheS4NCg0KICA4LiBUZXJtaW5hdGlvbi4NCg0KICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkNCnByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBwcm9wYWdhdGUgb3INCm1vZGlmeSBpdCBpcyB2b2lkLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB5b3VyIHJpZ2h0cyB1bmRlcg0KdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZA0KcGFyYWdyYXBoIG9mIHNlY3Rpb24gMTEpLg0KDQogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyDQpsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMgcmVpbnN0YXRlZCAoYSkNCnByb3Zpc2lvbmFsbHksIHVubGVzcyBhbmQgdW50aWwgdGhlIGNvcHlyaWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQNCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQNCmhvbGRlciBmYWlscyB0byBub3RpZnkgeW91IG9mIHRoZSB2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zDQpwcmlvciB0byA2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRpb24uDQoNCiAgTW9yZW92ZXIsIHlvdXIgbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzDQpyZWluc3RhdGVkIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUNCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUNCnJlY2VpdmVkIG5vdGljZSBvZiB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNlIChmb3IgYW55IHdvcmspIGZyb20gdGhhdA0KY29weXJpZ2h0IGhvbGRlciwgYW5kIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlcg0KeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuDQoNCiAgVGVybWluYXRpb24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0aGUNCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcg0KdGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQ0KcmVpbnN0YXRlZCwgeW91IGRvIG5vdCBxdWFsaWZ5IHRvIHJlY2VpdmUgbmV3IGxpY2Vuc2VzIGZvciB0aGUgc2FtZQ0KbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4NCg0KICA5LiBBY2NlcHRhbmNlIE5vdCBSZXF1aXJlZCBmb3IgSGF2aW5nIENvcGllcy4NCg0KICBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlIGluIG9yZGVyIHRvIHJlY2VpdmUgb3INCnJ1biBhIGNvcHkgb2YgdGhlIFByb2dyYW0uICBBbmNpbGxhcnkgcHJvcGFnYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsNCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uDQp0byByZWNlaXZlIGEgY29weSBsaWtld2lzZSBkb2VzIG5vdCByZXF1aXJlIGFjY2VwdGFuY2UuICBIb3dldmVyLA0Kbm90aGluZyBvdGhlciB0aGFuIHRoaXMgTGljZW5zZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gcHJvcGFnYXRlIG9yDQptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbw0Kbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5IG1vZGlmeWluZyBvciBwcm9wYWdhdGluZyBhDQpjb3ZlcmVkIHdvcmssIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLg0KDQogIDEwLiBBdXRvbWF0aWMgTGljZW5zaW5nIG9mIERvd25zdHJlYW0gUmVjaXBpZW50cy4NCg0KICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5DQpyZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUgb3JpZ2luYWwgbGljZW5zb3JzLCB0byBydW4sIG1vZGlmeSBhbmQNCnByb3BhZ2F0ZSB0aGF0IHdvcmssIHN1YmplY3QgdG8gdGhpcyBMaWNlbnNlLiAgWW91IGFyZSBub3QgcmVzcG9uc2libGUNCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLg0KDQogIEFuICJlbnRpdHkgdHJhbnNhY3Rpb24iIGlzIGEgdHJhbnNhY3Rpb24gdHJhbnNmZXJyaW5nIGNvbnRyb2wgb2YgYW4NCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4NCm9yZ2FuaXphdGlvbiwgb3IgbWVyZ2luZyBvcmdhbml6YXRpb25zLiAgSWYgcHJvcGFnYXRpb24gb2YgYSBjb3ZlcmVkDQp3b3JrIHJlc3VsdHMgZnJvbSBhbiBlbnRpdHkgdHJhbnNhY3Rpb24sIGVhY2ggcGFydHkgdG8gdGhhdA0KdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyDQpsaWNlbnNlcyB0byB0aGUgd29yayB0aGUgcGFydHkncyBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCBoYWQgb3IgY291bGQNCmdpdmUgdW5kZXIgdGhlIHByZXZpb3VzIHBhcmFncmFwaCwgcGx1cyBhIHJpZ2h0IHRvIHBvc3Nlc3Npb24gb2YgdGhlDQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYNCnRoZSBwcmVkZWNlc3NvciBoYXMgaXQgb3IgY2FuIGdldCBpdCB3aXRoIHJlYXNvbmFibGUgZWZmb3J0cy4NCg0KICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUNCnJpZ2h0cyBncmFudGVkIG9yIGFmZmlybWVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEZvciBleGFtcGxlLCB5b3UgbWF5DQpub3QgaW1wb3NlIGEgbGljZW5zZSBmZWUsIHJveWFsdHksIG9yIG90aGVyIGNoYXJnZSBmb3IgZXhlcmNpc2Ugb2YNCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24NCihpbmNsdWRpbmcgYSBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0DQphbnkgcGF0ZW50IGNsYWltIGlzIGluZnJpbmdlZCBieSBtYWtpbmcsIHVzaW5nLCBzZWxsaW5nLCBvZmZlcmluZyBmb3INCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4NCg0KICAxMS4gUGF0ZW50cy4NCg0KICBBICJjb250cmlidXRvciIgaXMgYSBjb3B5cmlnaHQgaG9sZGVyIHdobyBhdXRob3JpemVzIHVzZSB1bmRlciB0aGlzDQpMaWNlbnNlIG9mIHRoZSBQcm9ncmFtIG9yIGEgd29yayBvbiB3aGljaCB0aGUgUHJvZ3JhbSBpcyBiYXNlZC4gIFRoZQ0Kd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuDQoNCiAgQSBjb250cmlidXRvcidzICJlc3NlbnRpYWwgcGF0ZW50IGNsYWltcyIgYXJlIGFsbCBwYXRlbnQgY2xhaW1zDQpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yDQpoZXJlYWZ0ZXIgYWNxdWlyZWQsIHRoYXQgd291bGQgYmUgaW5mcmluZ2VkIGJ5IHNvbWUgbWFubmVyLCBwZXJtaXR0ZWQNCmJ5IHRoaXMgTGljZW5zZSwgb2YgbWFraW5nLCB1c2luZywgb3Igc2VsbGluZyBpdHMgY29udHJpYnV0b3IgdmVyc2lvbiwNCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhDQpjb25zZXF1ZW5jZSBvZiBmdXJ0aGVyIG1vZGlmaWNhdGlvbiBvZiB0aGUgY29udHJpYnV0b3IgdmVyc2lvbi4gIEZvcg0KcHVycG9zZXMgb2YgdGhpcyBkZWZpbml0aW9uLCAiY29udHJvbCIgaW5jbHVkZXMgdGhlIHJpZ2h0IHRvIGdyYW50DQpwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YNCnRoaXMgTGljZW5zZS4NCg0KICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQ0KcGF0ZW50IGxpY2Vuc2UgdW5kZXIgdGhlIGNvbnRyaWJ1dG9yJ3MgZXNzZW50aWFsIHBhdGVudCBjbGFpbXMsIHRvDQptYWtlLCB1c2UsIHNlbGwsIG9mZmVyIGZvciBzYWxlLCBpbXBvcnQgYW5kIG90aGVyd2lzZSBydW4sIG1vZGlmeSBhbmQNCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uDQoNCiAgSW4gdGhlIGZvbGxvd2luZyB0aHJlZSBwYXJhZ3JhcGhzLCBhICJwYXRlbnQgbGljZW5zZSIgaXMgYW55IGV4cHJlc3MNCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudA0KKHN1Y2ggYXMgYW4gZXhwcmVzcyBwZXJtaXNzaW9uIHRvIHByYWN0aWNlIGEgcGF0ZW50IG9yIGNvdmVuYW50IG5vdCB0bw0Kc3VlIGZvciBwYXRlbnQgaW5mcmluZ2VtZW50KS4gIFRvICJncmFudCIgc3VjaCBhIHBhdGVudCBsaWNlbnNlIHRvIGENCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhDQpwYXRlbnQgYWdhaW5zdCB0aGUgcGFydHkuDQoNCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwNCmFuZCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2Ugb2YgdGhlIHdvcmsgaXMgbm90IGF2YWlsYWJsZSBmb3IgYW55b25lDQp0byBjb3B5LCBmcmVlIG9mIGNoYXJnZSBhbmQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgdGhyb3VnaCBhDQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLA0KdGhlbiB5b3UgbXVzdCBlaXRoZXIgKDEpIGNhdXNlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSB0byBiZSBzbw0KYXZhaWxhYmxlLCBvciAoMikgYXJyYW5nZSB0byBkZXByaXZlIHlvdXJzZWxmIG9mIHRoZSBiZW5lZml0IG9mIHRoZQ0KcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXINCmNvbnNpc3RlbnQgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoaXMgTGljZW5zZSwgdG8gZXh0ZW5kIHRoZSBwYXRlbnQNCmxpY2Vuc2UgdG8gZG93bnN0cmVhbSByZWNpcGllbnRzLiAgIktub3dpbmdseSByZWx5aW5nIiBtZWFucyB5b3UgaGF2ZQ0KYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlDQpjb3ZlcmVkIHdvcmsgaW4gYSBjb3VudHJ5LCBvciB5b3VyIHJlY2lwaWVudCdzIHVzZSBvZiB0aGUgY292ZXJlZCB3b3JrDQppbiBhIGNvdW50cnksIHdvdWxkIGluZnJpbmdlIG9uZSBvciBtb3JlIGlkZW50aWZpYWJsZSBwYXRlbnRzIGluIHRoYXQNCmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuDQoNCiAgSWYsIHB1cnN1YW50IHRvIG9yIGluIGNvbm5lY3Rpb24gd2l0aCBhIHNpbmdsZSB0cmFuc2FjdGlvbiBvcg0KYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQ0KY292ZXJlZCB3b3JrLCBhbmQgZ3JhbnQgYSBwYXRlbnQgbGljZW5zZSB0byBzb21lIG9mIHRoZSBwYXJ0aWVzDQpyZWNlaXZpbmcgdGhlIGNvdmVyZWQgd29yayBhdXRob3JpemluZyB0aGVtIHRvIHVzZSwgcHJvcGFnYXRlLCBtb2RpZnkNCm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UNCnlvdSBncmFudCBpcyBhdXRvbWF0aWNhbGx5IGV4dGVuZGVkIHRvIGFsbCByZWNpcGllbnRzIG9mIHRoZSBjb3ZlcmVkDQp3b3JrIGFuZCB3b3JrcyBiYXNlZCBvbiBpdC4NCg0KICBBIHBhdGVudCBsaWNlbnNlIGlzICJkaXNjcmltaW5hdG9yeSIgaWYgaXQgZG9lcyBub3QgaW5jbHVkZSB3aXRoaW4NCnRoZSBzY29wZSBvZiBpdHMgY292ZXJhZ2UsIHByb2hpYml0cyB0aGUgZXhlcmNpc2Ugb2YsIG9yIGlzDQpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUNCnNwZWNpZmljYWxseSBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIFlvdSBtYXkgbm90IGNvbnZleSBhIGNvdmVyZWQNCndvcmsgaWYgeW91IGFyZSBhIHBhcnR5IHRvIGFuIGFycmFuZ2VtZW50IHdpdGggYSB0aGlyZCBwYXJ0eSB0aGF0IGlzDQppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50DQp0byB0aGUgdGhpcmQgcGFydHkgYmFzZWQgb24gdGhlIGV4dGVudCBvZiB5b3VyIGFjdGl2aXR5IG9mIGNvbnZleWluZw0KdGhlIHdvcmssIGFuZCB1bmRlciB3aGljaCB0aGUgdGhpcmQgcGFydHkgZ3JhbnRzLCB0byBhbnkgb2YgdGhlDQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkNCnBhdGVudCBsaWNlbnNlIChhKSBpbiBjb25uZWN0aW9uIHdpdGggY29waWVzIG9mIHRoZSBjb3ZlcmVkIHdvcmsNCmNvbnZleWVkIGJ5IHlvdSAob3IgY29waWVzIG1hZGUgZnJvbSB0aG9zZSBjb3BpZXMpLCBvciAoYikgcHJpbWFyaWx5DQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdA0KY29udGFpbiB0aGUgY292ZXJlZCB3b3JrLCB1bmxlc3MgeW91IGVudGVyZWQgaW50byB0aGF0IGFycmFuZ2VtZW50LA0Kb3IgdGhhdCBwYXRlbnQgbGljZW5zZSB3YXMgZ3JhbnRlZCwgcHJpb3IgdG8gMjggTWFyY2ggMjAwNy4NCg0KICBOb3RoaW5nIGluIHRoaXMgTGljZW5zZSBzaGFsbCBiZSBjb25zdHJ1ZWQgYXMgZXhjbHVkaW5nIG9yIGxpbWl0aW5nDQphbnkgaW1wbGllZCBsaWNlbnNlIG9yIG90aGVyIGRlZmVuc2VzIHRvIGluZnJpbmdlbWVudCB0aGF0IG1heQ0Kb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3Lg0KDQogIDEyLiBObyBTdXJyZW5kZXIgb2YgT3RoZXJzJyBGcmVlZG9tLg0KDQogIElmIGNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3INCm90aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QNCmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhDQpjb3ZlcmVkIHdvcmsgc28gYXMgdG8gc2F0aXNmeSBzaW11bHRhbmVvdXNseSB5b3VyIG9ibGlnYXRpb25zIHVuZGVyIHRoaXMNCkxpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UgbWF5DQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UNCnRvIGNvbGxlY3QgYSByb3lhbHR5IGZvciBmdXJ0aGVyIGNvbnZleWluZyBmcm9tIHRob3NlIHRvIHdob20geW91IGNvbnZleQ0KdGhlIFByb2dyYW0sIHRoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIHRob3NlIHRlcm1zIGFuZCB0aGlzDQpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uDQoNCiAgMTMuIFVzZSB3aXRoIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuDQoNCiAgTm90d2l0aHN0YW5kaW5nIGFueSBvdGhlciBwcm92aXNpb24gb2YgdGhpcyBMaWNlbnNlLCB5b3UgaGF2ZQ0KcGVybWlzc2lvbiB0byBsaW5rIG9yIGNvbWJpbmUgYW55IGNvdmVyZWQgd29yayB3aXRoIGEgd29yayBsaWNlbnNlZA0KdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQ0KY29tYmluZWQgd29yaywgYW5kIHRvIGNvbnZleSB0aGUgcmVzdWx0aW5nIHdvcmsuICBUaGUgdGVybXMgb2YgdGhpcw0KTGljZW5zZSB3aWxsIGNvbnRpbnVlIHRvIGFwcGx5IHRvIHRoZSBwYXJ0IHdoaWNoIGlzIHRoZSBjb3ZlcmVkIHdvcmssDQpidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsDQpzZWN0aW9uIDEzLCBjb25jZXJuaW5nIGludGVyYWN0aW9uIHRocm91Z2ggYSBuZXR3b3JrIHdpbGwgYXBwbHkgdG8gdGhlDQpjb21iaW5hdGlvbiBhcyBzdWNoLg0KDQogIDE0LiBSZXZpc2VkIFZlcnNpb25zIG9mIHRoaXMgTGljZW5zZS4NCg0KICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZg0KdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbA0KYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvDQphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4NCg0KICBFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZQ0KUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwNClB1YmxpYyBMaWNlbnNlICJvciBhbnkgbGF0ZXIgdmVyc2lvbiIgYXBwbGllcyB0byBpdCwgeW91IGhhdmUgdGhlDQpvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZA0KdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUNCkZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQNCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uDQoNCiAgSWYgdGhlIFByb2dyYW0gc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZQ0KdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MNCnB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UNCnRvIGNob29zZSB0aGF0IHZlcnNpb24gZm9yIHRoZSBQcm9ncmFtLg0KDQogIExhdGVyIGxpY2Vuc2UgdmVyc2lvbnMgbWF5IGdpdmUgeW91IGFkZGl0aW9uYWwgb3IgZGlmZmVyZW50DQpwZXJtaXNzaW9ucy4gIEhvd2V2ZXIsIG5vIGFkZGl0aW9uYWwgb2JsaWdhdGlvbnMgYXJlIGltcG9zZWQgb24gYW55DQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhDQpsYXRlciB2ZXJzaW9uLg0KDQogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5Lg0KDQogIFRIRVJFIElTIE5PIFdBUlJBTlRZIEZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkNCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQNCkhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkNCk9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0NCklTIFdJVEggWU9VLiAgU0hPVUxEIFRIRSBQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRg0KQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLg0KDQogIDE2LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4NCg0KICBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcNCldJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTU9ESUZJRVMgQU5EL09SIENPTlZFWVMNClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQ0KR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFDQpVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBMT1NTIE9GDQpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRA0KUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUiBQUk9HUkFNUyksDQpFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GDQpTVUNIIERBTUFHRVMuDQoNCiAgMTcuIEludGVycHJldGF0aW9uIG9mIFNlY3Rpb25zIDE1IGFuZCAxNi4NCg0KICBJZiB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50eSBhbmQgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgcHJvdmlkZWQNCmFib3ZlIGNhbm5vdCBiZSBnaXZlbiBsb2NhbCBsZWdhbCBlZmZlY3QgYWNjb3JkaW5nIHRvIHRoZWlyIHRlcm1zLA0KcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzDQphbiBhYnNvbHV0ZSB3YWl2ZXIgb2YgYWxsIGNpdmlsIGxpYWJpbGl0eSBpbiBjb25uZWN0aW9uIHdpdGggdGhlDQpQcm9ncmFtLCB1bmxlc3MgYSB3YXJyYW50eSBvciBhc3N1bXB0aW9uIG9mIGxpYWJpbGl0eSBhY2NvbXBhbmllcyBhDQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuDQoNCiAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUw0KDQogICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMNCg0KICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0DQpwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0DQpmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4NCg0KICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdA0KdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQ0Kc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdA0KdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuDQoNCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPg0KICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+DQoNCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQogICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KDQogICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQogICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCg0KICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQogICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQoNCkFsc28gYWRkIGluZm9ybWF0aW9uIG9uIGhvdyB0byBjb250YWN0IHlvdSBieSBlbGVjdHJvbmljIGFuZCBwYXBlciBtYWlsLg0KDQogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQNCm5vdGljZSBsaWtlIHRoaXMgd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToNCg0KICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4NCiAgICBUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZOyBmb3IgZGV0YWlscyB0eXBlIGBzaG93IHcnLg0KICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQNCiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuDQoNClRoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQ0KcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzDQptaWdodCBiZSBkaWZmZXJlbnQ7IGZvciBhIEdVSSBpbnRlcmZhY2UsIHlvdSB3b3VsZCB1c2UgYW4gImFib3V0IGJveCIuDQoNCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwNCmlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZiBuZWNlc3NhcnkuDQpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzLCBhbmQgaG93IHRvIGFwcGx5IGFuZCBmb2xsb3cgdGhlIEdOVSBHUEwsIHNlZQ0KPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KDQogIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0NCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQ0KbWF5IGNvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoDQp0aGUgbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwNClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZA0KPGh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L3doeS1ub3QtbGdwbC5odG1sPi4NCg==]]></data>
	</file>
	<file>
	  <filename>/docs/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/duplicate/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/duplicate/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/duplicate/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH3wUYEQMKpO2HwAAAA91JREFUaN7t11uoVFUcBvDfmnNRj1Z2024PZT00MwpmUWRIoEFRUVHRYxQ9RBe0ICKIIrpRQdCVXnspuhhINzTMMo0Mi7I4x64IIYnYTS01PWdWD2vtGsdz2fOQJewPhpm99tprf99a/+9ba6hQoUKFChUqVKhwyCK0XzQb9aJtEvai1Xa7P18PxxgNbfxqwsHzeNCHGv4sGmIkBP153DJoYTfi4NDGAwXkl03GrbgEq/E4dubrW7AVD+E7aB9oFNJTcCoWYBEG8AzezvcX4A4cU1LAMN7E09hTvLu3o9O5uBeHYT424H08iLm5zw4s6SQdYxRCmIY6zs+k52WCtdx1Jj7GrvyeC0qSLzAPn2JV0dApYCam5t/9OB499l/mSYNDGzUbdc1GPWA6ZocQFmIh5uS2MAqB3iymJpVVt+jp5Nw7wQM1/ISHsRjb8Fwuk+NwMy7C6XnVxsIf+BqPhhC2xRjhkSzyqJLkR6QS+rAbAQVewDKpDgsj3o47x3lmOwbxnrTkG/BLJq+nJywfGYmrJd+VFfA7Wu3eKyvgNFyZV+A1ydgndfSJ+DkTfVfyzqDkmb8NX5h8ZCSeiKsxoySHfXki1jQb9TiWiTsRpTR5EhfnWTgWj+F5/9T7BqyUkusbyaSjplRGnxQM15UkX+B6XJbfV1rAEVKNk0w0R6rdlbhQKoEf5dJqn+lmo16TgmGu5JHVUhQPYHaX5OEEnNyNgJoYtwphKW7Cb1IJxUx2S9GxUa8LgWaj3ieV1zlSTM7HLCnJXsENtVpte6vVejm3DxTjjYOQ+6zB+vYbE3sghIj78JJkou+LmW7btCZnMudl0mdnEZ3jz8eMVqu1CU9hBY4sIYAUIN9KqdiFgGIl0gz25dnQbNSLclqUP2dIhqyNMUbEB1IJFbPamz9lVqDgsR/KCAh4ADdK0bgYS3ENnjB+iuzFD1iHd7BcMnjAbbhLComyWCsZf3NZAS1pw7pcqtWB/HsZrhiD/G5pqddKcbpeMvlIaziq9QY4XIrQ6V2QJx1RzuxGQMCvUp7Pkurws7bvq6Rk2oEhKftX4XOpVmNnlGbf7MIXOKtLAZuxqb2hjIA9UtmszKRez/eezQMeLR3QhmK0I4Rx87/APtyNT6SYLYN9eYK+7EbA4dJpchdezG1TMU0y3vI2oVNCMNA2yxMh4lWjH/pGw4jkwdjNUWIJru3iJf8mRvAW7m826jvLHiVmKH9WORg4RSrlFUVDZ65ukTar/yv2avtbyoErsA734FLlN7mDhWG8gY/aG8f6U99v7B31v0JLWoFYIuUqVKhQoUKFChUqHAr4C5raFbyiXgGBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE1LTA1LTI0VDE3OjAzOjEwKzAyOjAwYp9tzQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNS0wNS0yNFQxNzowMzoxMCswMjowMBPC1XEAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/duplicate/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/duplicate/PLACE_HOLDER___.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIG1vZHVsZSBpcyBhbiBpbnN0YW5jZSBvZjoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQpjbGFzcyBQTEFDRV9IT0xERVJfX18gZXh0ZW5kcyBMSVNFSW5zdGFuY2V7fQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/event.Core.ContentPostCompile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRmllbGQgc2Nhbm5lcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nKSkNCglMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleInstalled.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRmllbGQgc2Nhbm5lcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nKSkNCglMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleUninstalled.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRmllbGQgc2Nhbm5lcg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b3NjYW4nKSkNCglMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpTY2FuTW9kdWxlcygpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/event.Core.ModuleUpgraded.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQoNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBIYW5kbGUgY2hpbGQgY2xvbmluZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOw0KZm9yZWFjaCgkbW9kdWxlcyBhcyAkbW9kdWxlKSB7DQoNCglpZigkbW9kdWxlLT5tb2R1bGVfbmFtZSA9PT0gJHBhcmFtc1snbmFtZSddKSB7DQoNCgkJJGR1cGxpY2F0b3IgPSBuZXcgTElTRUR1cGxpY2F0b3IoKTsNCgkJJGR1cGxpY2F0b3ItPlNldE1vZHVsZSgkbW9kdWxlLT5tb2R1bGVfbmFtZSk7DQoJCSRkdXBsaWNhdG9yLT5TZXREZXN0aW5hdGlvbihkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkbW9kdWxlLT5tb2R1bGVfbmFtZSk7DQoJCSRkdXBsaWNhdG9yLT5SdW4oKTsNCgkJDQoJCWJyZWFrOw0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBGaWVsZCBzY2FubmVyDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvc2NhbicpKQ0KCUxJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OlNjYW5Nb2R1bGVzKCk7DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/framework/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/action.admin_approvecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKSkgcmV0dXJuOwoKaWYoIWlzc2V0KCRwYXJhbXNbJ2FwcHJvdmUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKQp7CglkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7Cn0KCiRjYXRlZ29yeV9pZCA9IChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXTsKJGFjdGl2ZSA9IChib29sKSRwYXJhbXNbJ2FwcHJvdmUnXTsKCiRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgU0VUIGFjdGl2ZSA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGFjdGl2ZSwgJGNhdGVnb3J5X2lkKSk7CgokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOwokanNvbiA9IG5ldyBzdGRDbGFzczsKCmlmICgkYWN0aXZlKSB7CgoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkkanNvbi0+aHJlZiA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVjYXRlZ29yeScsICRyZXR1cm5pZCwgJycsIGFycmF5KCdhcHByb3ZlJyA9PiAwLCdjYXRlZ29yeV9pZCcgPT4gJGNhdGVnb3J5X2lkKSwgJycsIHRydWUpOwp9IGVsc2UgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkkanNvbi0+aHJlZiA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVjYXRlZ29yeScsICRyZXR1cm5pZCwgJycsYXJyYXkoJ2FwcHJvdmUnID0+IDEsJ2NhdGVnb3J5X2lkJyA9PiAkY2F0ZWdvcnlfaWQpLCAnJywgdHJ1ZSk7Cn0KCi8vIEZpeCBVUkwgZm9yIEpTT04gb3V0cHV0CiRqc29uLT5ocmVmID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRqc29uLT5ocmVmKTsKCmhlYWRlcigiQ29udGVudC10eXBlOmFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiKTsKCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgplY2hvIGpzb25fZW5jb2RlKCRqc29uKTsKZXhpdCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_approveitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKSByZXR1cm47CgppZighaXNzZXQoJHBhcmFtc1snYXBwcm92ZSddKSB8fCAhaXNzZXQoJHBhcmFtc1snaXRlbV9pZCddKSkKewoJZGllKCdtaXNzaW5nIHBhcmFtZXRlciwgdGhpcyBzaG91bGQgbm90IGhhcHBlbicpOwp9CgokaXRlbV9pZCA9IChpbnQpJHBhcmFtc1snaXRlbV9pZCddOwokYWN0aXZlID0gKGJvb2wpJHBhcmFtc1snYXBwcm92ZSddOwoKJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFNFVCBhY3RpdmUgPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGFjdGl2ZSwgJGl0ZW1faWQpKTsKCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOwokanNvbiA9IG5ldyBzdGRDbGFzczsKCmlmICgkYWN0aXZlKSB7CgoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkkanNvbi0+aHJlZiA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2FwcHJvdmUnID0+IDAsJ2l0ZW1faWQnID0+ICRpdGVtX2lkKSwgJycsIHRydWUpOwp9IGVsc2UgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7CgkkanNvbi0+aHJlZiA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAnJyxhcnJheSgnYXBwcm92ZScgPT4gMSwnaXRlbV9pZCcgPT4gJGl0ZW1faWQpLCAnJywgdHJ1ZSk7Cn0KCi8vIEZpeCBVUkwgZm9yIEpTT04gb3V0cHV0CiRqc29uLT5ocmVmID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRqc29uLT5ocmVmKTsKCmhlYWRlcigiQ29udGVudC10eXBlOmFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiKTsKCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgplY2hvIGpzb25fZW5jb2RlKCRqc29uKTsKZXhpdCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKSkgcmV0dXJuOwoKJGNhdGVnb3JpZXMgPSBhcnJheSgpOwppZihpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSkgewoJJGNhdGVnb3JpZXMgPSBhcnJheSgoaW50KSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snY2F0ZWdvcmllcyddKSkgewoJJGNhdGVnb3JpZXMgPSAkcGFyYW1zWydjYXRlZ29yaWVzJ107Cn0KCmZvcmVhY2goJGNhdGVnb3JpZXMgYXMgJGNhdGVnb3J5X2lkKSB7CQoKCSR0aGlzLT5EZWxldGVDYXRlZ29yeUJ5SWQoJGNhdGVnb3J5X2lkKTsKfQoKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyAKZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCmVjaG8gJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZWQnKTsKZXhpdCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsNCg0KJGZpZWxkZGVmcyA9IGFycmF5KCk7DQppZihpc3NldCgkcGFyYW1zWydmaWVsZGRlZl9pZCddKSkgew0KCSRmaWVsZGRlZnMgPSBhcnJheSgoaW50KSRwYXJhbXNbJ2ZpZWxkZGVmX2lkJ10pOw0KfQ0KaWYoaXNzZXQoJHBhcmFtc1snZmllbGRkZWZzJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2ZpZWxkZGVmcyddKSkgew0KCSRmaWVsZGRlZnMgPSAkcGFyYW1zWydmaWVsZGRlZnMnXTsNCn0NCg0KZm9yZWFjaCAoJGZpZWxkZGVmcyBhcyAkZmllbGRkZWZfaWQpIHsNCg0KCUxJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OkRlbGV0ZSgkdGhpcywgJGZpZWxkZGVmX2lkKTsJDQp9DQoNCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgDQpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQ0KDQplY2hvICR0aGlzLT5Nb2RMYW5nKCdkZWxldGVkJyk7DQpleGl0KCk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deleteitem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKSByZXR1cm47CgokaXRlbXMgPSBhcnJheSgpOwppZihpc3NldCgkcGFyYW1zWydpdGVtX2lkJ10pKSB7CgkkaXRlbXNbXSA9IChpbnQpJHBhcmFtc1snaXRlbV9pZCddOwp9CmlmKGlzc2V0KCRwYXJhbXNbJ2l0ZW1zJ10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ2l0ZW1zJ10pKSB7CgkkaXRlbXMgPSAkcGFyYW1zWydpdGVtcyddOwp9Cgpmb3JlYWNoKCRpdGVtcyBhcyAkaXRlbV9pZCkgewkKCgkkdGhpcy0+RGVsZXRlSXRlbUJ5SWQoJGl0ZW1faWQpOwp9CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyAkdGhpcy0+TW9kTGFuZygnZGVsZXRlZCcpOwpleGl0KCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_deletetemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1snbmFtZSddKSkgew0KICAgIGRpZSgnbWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4nKTsNCn0NCg0KJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwYXJhbXNbJ25hbWUnXSk7DQoNCiRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsgDQpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQ0KDQplY2hvICR0aGlzLT5Nb2RMYW5nKCdkZWxldGVkJyk7DQpleGl0KCk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2NhdGVnb3J5JykpIHJldHVybjsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDaGVjayBwYXJhbXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgew0KDQogICAgJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcnl0YWInKTsNCiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBJbml0IHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokY2F0ZWdvcnlfaWQgICAgICAJCQk9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCdjYXRlZ29yeV9pZCcsICRwYXJhbXMsIC0xKTsNCiRuYW1lICAgICAgIAkJCSAJPSBsaXNlX3V0aWxzOjppbml0X3ZhcignbmFtZScsICRwYXJhbXMsICcnKTsNCiRhbGlhcwkJIAkJCSAJPSBsaXNlX3V0aWxzOjppbml0X3ZhcignYWxpYXMnLCAkcGFyYW1zLCAnJyk7DQokZGVzY3JpcHRpb24JCQkJPSBsaXNlX3V0aWxzOjppbml0X3ZhcignZGVzY3JpcHRpb24nLCAkcGFyYW1zLCAnJyk7DQokcGFyZW50X2lkIAkJCQkgCT0gbGlzZV91dGlsczo6aW5pdF92YXIoJ3BhcmVudF9pZCcsICRwYXJhbXMsIC0xKTsNCiRhY3RpdmUgICAgICAJCQkgCT0gMTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBJbml0IEl0ZW0NCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJG9iaiA9ICR0aGlzLT5Mb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJ2NhdGVnb3J5X2lkJywgJGNhdGVnb3J5X2lkKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTdWJtaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSB8fCBpc3NldCgkcGFyYW1zWydzYXZlX2NyZWF0ZSddKSkgew0KDQoJJGVycm9ycyA9IGFycmF5KCk7DQoNCiAgICAvLyBjaGVjayBjYXRlZ29yeSBuYW1lDQogICAgaWYgKCRuYW1lID09ICcnKSB7DQogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yeV9uYW1lX2VtcHR5Jyk7DQogICAgfQ0KDQogICAgLy8gY2hlY2sgYWxpYXMNCi8qICAgIGlmICghbGlzZV91dGlsczo6aXNfdmFsaWRfYWxpYXMoJGFsaWFzKSAmJiAhZW1wdHkoJGFsaWFzKSkgew0KICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnYWxpYXNfaW52YWxpZCcpOw0KICAgIH0qLw0KCQ0KCS8vIENoZWNrIGZvciBkdXBsaWNhdGUNCgkkcGFybXMgPSBhcnJheSgpOw0KCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2FsaWFzID0gPyc7DQoJJHBhcm1zW10gPSAkYWxpYXM7DQoNCglpZigkY2F0ZWdvcnlfaWQgPiAwKXsNCgkJJHF1ZXJ5IC49ICcgQU5EIGNhdGVnb3J5X2lkICE9ID8nOw0KCQkkcGFybXNbXSA9ICRjYXRlZ29yeV9pZDsNCgl9DQoJDQoJJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgJHBhcm1zKTsNCg0KICAgIGlmICgkZXhpc3RzKSB7DQogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yeV9hbGlhc19leGlzdHMnKTsNCiAgICB9CQ0KDQoJLy8gdGl0bGUgYW5kIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHZhbHVlcywgbGV0J3MgY29udGludWUNCglpZiAoZW1wdHkoJGVycm9ycykpIHsNCgkNCgkJJG9iai0+bmFtZSAgICAgICAgCT0gJG5hbWU7DQoJCSRvYmotPmFsaWFzCQkgCT0gJGFsaWFzOw0KCQkkb2JqLT5kZXNjcmlwdGlvbgk9ICRkZXNjcmlwdGlvbjsNCgkJJG9iai0+cGFyZW50X2lkIAk9ICRwYXJlbnRfaWQ7CQkNCgkJJG9iai0+YWN0aXZlICAgICAgIAk9IGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZSddKSA/IDEgOiAwOw0KCQkNCgkJJHRoaXMtPlNhdmVDYXRlZ29yeSgkb2JqKTsNCgkJDQoJCS8vIGlmIGFwcGx5IGFuZCBhamF4ICAgICAgICAgICANCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpIHsNCgkJCSRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsNCgkJCSRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPlN1Y2Nlc3M8L1Jlc3BvbnNlPic7DQoJCQkkcmVzcG9uc2UgLj0gJzxEZXRhaWxzPjwhW0NEQVRBWycgLiAkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkJykgLiAnXV0+PC9EZXRhaWxzPic7ICAgICAgICAgICAgICAgDQoJCQkkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsNCgkJCWVjaG8gJHJlc3BvbnNlOw0KCQkJcmV0dXJuOw0KCQl9IA0KCQkNCgkJLy8gaWYgc2F2ZSBhbmQgY3JlYXRlIG5ldw0KCQlpZiAoaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkgKSB7DQoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnYWRtaW5fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCBhcnJheSgNCgkJCQknbWVzc2FnZScgPT4gJ3NhdmVjcmVhdGVfbWVzc2FnZScNCgkJCSkpOw0KCQl9ICAJCSAgICANCg0KCQkvLyBzaG93IHNhdmVkIG1lc3NhZ2UNCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgew0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoDQoJCQkJJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yeXRhYicsDQoJCQkJJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnDQoJCQkpKTsNCgkJCQ0KCQl9IGVsc2Ugew0KCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpKTsNCgkJfQ0KCQkNCgl9IC8vIGVuZCBlcnJvciBjaGVjaw0KCQ0KfSAvLyBlbmQgc3VibWl0IG9yIGFwcGx5DQplbHNlaWYoJG9iai0+Y2F0ZWdvcnlfaWQgPiAwKSB7DQoNCgkkY2F0ZWdvcnlfaWQgCT0gJG9iai0+Y2F0ZWdvcnlfaWQ7CQ0KCSRuYW1lIAkJCT0gJG9iai0+bmFtZTsNCgkkYWxpYXMJCSAgCT0gJG9iai0+YWxpYXM7DQoJJGRlc2NyaXB0aW9uCT0gJG9iai0+ZGVzY3JpcHRpb247DQoJJHBhcmVudF9pZCAJCT0gJG9iai0+cGFyZW50X2lkOw0KCSRhY3RpdmUgICAgICAgCT0gJG9iai0+YWN0aXZlOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1lc3NhZ2UgY29udHJvbA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55DQppZiAoIWVtcHR5KCRlcnJvcnMpKSB7DQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2FqYXgnXSkpIHsNCiAgICAgICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOw0KICAgICAgICAkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5FcnJvcjwvUmVzcG9uc2U+JzsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnOw0KICAgICAgICBmb3JlYWNoICgkZXJyb3JzIGFzICRlcnJvcikgew0KICAgICAgICAgICAgJHJlc3BvbnNlIC49ICc8bGk+JyAuICRlcnJvciAuICc8L2xpPic7DQogICAgICAgIH0NCiAgICAgICAgJHJlc3BvbnNlIC49ICddXT48L0RldGFpbHM+JzsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7DQogICAgICAgIGVjaG8gJHJlc3BvbnNlOw0KICAgICAgICByZXR1cm47DQogICAgfSBlbHNlIHsNCiAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsNCiAgICB9DQp9DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkgJiYgZW1wdHkoJGVycm9ycykpIA0KICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWRfY3JlYXRlJykpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFNtYXJ0eSBwcm9jZXNzaW5nDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlPYmplY3QnLCAkb2JqKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluaygnY2F0ZWdvcnl0YWInKSk7DQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgICAgIChpc3NldCgkY2F0ZWdvcnlfaWQpID8gJHRoaXMtPk1vZExhbmcoJ2VkaXRfY2F0ZWdvcnknKSA6ICR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkdGhpcy0+TW9kTGFuZygnY2F0ZWdvcnknKSkpKTsNCg0KJHNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfY2F0ZWdvcnknLCAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDIwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yeV9kZXNjcmlwdGlvbicsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRkZXNjcmlwdGlvbiwgJ2Rlc2NyaXB0aW9uJywgJycsICcnLCAnJywgJycsICc4MCcsICczJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdhY3RpdmUnLCAxLCAkYWN0aXZlKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFyZW50JywgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAncGFyZW50X2lkJywgTElTRUNhdGVnb3J5T3BlcmF0aW9uczo6R2V0SGllcmFyY2h5TGlzdCgkdGhpcywgdHJ1ZSwgJGNhdGVnb3J5X2lkKSwgLTEsICRwYXJlbnRfaWQpKTsNCi8qDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseScsIGxhbmcoJ2FwcGx5JykpKTsNCiRzbWFydHktPmFzc2lnbignc2F2ZV9jcmVhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc2F2ZV9jcmVhdGUnLCAkdGhpcy0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCiovDQplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXRjYXRlZ29yeS50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IHBhcmFtcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmlmKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkgCnsKICAkcGFyYW1zID0gYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnRhYicpOwogICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCB2YXJpYWJsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQokdHlwZSAgICAgICAgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCd0eXBlJywgJHBhcmFtcywgbnVsbCk7CiRmaWVsZGRlZl9pZCAgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCdmaWVsZGRlZl9pZCcsICRwYXJhbXMsIG51bGwpOwokbmFtZSAgICAgICAgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCduYW1lJywgJHBhcmFtcywgJycpOwokYWxpYXMgICAgICAgICAgICAgPSBsaXNlX3V0aWxzOjppbml0X3ZhcignYWxpYXMnLCAkcGFyYW1zLCAnJyk7CiRoZWxwICAgICAgICAgICAgID0gbGlzZV91dGlsczo6aW5pdF92YXIoJ2hlbHAnLCAkcGFyYW1zLCAnJyk7CiRjdXN0b21faW5wdXQgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCdjdXN0b21faW5wdXQnLCAkcGFyYW1zLCBhcnJheSgpKTsKJGV4dHJhICAgICAgICAgICAgPSBsaXNlX3V0aWxzOjppbml0X3ZhcignZXh0cmEnLCAkcGFyYW1zLCAnJyk7IC8vIDwtIChSZW1vdmUgdGhpcyBpbiAxLjUpCiRyZXF1aXJlZCAgICAgICAgID0gaXNzZXQoJHBhcmFtc1sncmVxdWlyZWQnXSkgPyAxIDogMDsKJHRlbXBsYXRlICAgICAgICAgPSBsaXNlX3V0aWxzOjppbml0X3ZhcigndGVtcGxhdGUnLCAkcGFyYW1zLCAnJyk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSW5pdCBmaWVsZCBvYmplY3QKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLy8gTG9hZCBmaWVsZGRlZiBmcm9tIGRhdGFiYXNlCmlmKCFlbXB0eSgkZmllbGRkZWZfaWQpKSAKewogICRmaWVsZGRlZl9vYmogPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkKCR0aGlzLCAnZmllbGRkZWZfaWQnLCAkZmllbGRkZWZfaWQpOwp9IAovLyBMb2FkIGZpZWxkZGVmIGZyb20gdHlwZQplbHNlaWYoIWVtcHR5KCR0eXBlKSkgCnsKICAkZmllbGRkZWZfb2JqID0gTElTRUZpZWxkZGVmT3BlcmF0aW9uczo6TG9hZEZpZWxkZGVmQnlUeXBlKCR0eXBlKTsKfQoKaWYoIGlzc2V0KCRmaWVsZGRlZl9vYmopICYmIGVtcHR5KCR0ZW1wbGF0ZSkgKSAkdGVtcGxhdGUgPSAkZmllbGRkZWZfb2JqLT5HZXRUZW1wbGF0ZSgpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZpbGwgb3B0aW9ucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovL0hhbmRsZSBmaWVsZCBvcHRpb25zIC0gQ2hlY2sgaWYgbW92aW5nIHRoaXMgaGVyZSBoYXMgc29tZSB3ZWlyZCByZWFjdGlvbgppZihjb3VudCgkY3VzdG9tX2lucHV0KSA+IDApCnsKICBmb3JlYWNoKCRjdXN0b21faW5wdXQgYXMgJGtleSA9PiAkdmFsdWUpIAogIHsKICAgICRmaWVsZGRlZl9vYmotPlNldE9wdGlvblZhbHVlKCRrZXksICR2YWx1ZSk7CiAgfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU3VibWl0CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgfHwgaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkpIAp7CgogICRlcnJvcnMgID0gYXJyYXkoKTsKCiAgICAvLyBjaGVjayB0eXBlCiAgICBpZiAoIWlzc2V0KCRmaWVsZGRlZl9vYmopKSB7CiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX3R5cGVfbm90c2V0Jyk7CiAgICB9ICAKICAKICAgIC8vIGNoZWNrIG5hbWUKICAgIGlmICgkbmFtZSA9PSAnJykgewogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl9uYW1lX2VtcHR5Jyk7CiAgICB9CgogICAgaWYgKGlzc2V0KCRmaWVsZGRlZl9pZCkpIHsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgYWxpYXMgPSA/IEFORCBmaWVsZGRlZl9pZCAhPSA/JzsKICAgICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkYWxpYXMsICRmaWVsZGRlZl9pZCkpOwogICAgfSBlbHNlIHsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGZpZWxkZGVmX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgYWxpYXMgPSA/JzsKICAgICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkYWxpYXMpKTsKICAgIH0gIAoKICAgIC8vIGNoZWNrIGFsaWFzCiAgICBpZiAoIWxpc2VfdXRpbHM6OmlzX3ZhbGlkX2FsaWFzKCRhbGlhcykgJiYgIWVtcHR5KCRhbGlhcykpIHsKICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnYWxpYXNfaW52YWxpZCcpOwogICAgfQoKICAgIGlmICgkZXhpc3RzKSB7CiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX2FsaWFzX2V4aXN0cycpOwogICAgfQogIAogIC8vIERvIGVycm9yIGNoZWNrIHRoYXQgcmVxdWlyZXMgb2JqZWN0CiAgICBpZiAoZW1wdHkoJGVycm9ycykpIHsgIAogIAogICAgLy8gY2hlY2sgaWYgdW5pcXVlCiAgICAkdHlwZV9leGlzdHMgPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpUZXN0RXhpc3RhbmNlQnlUeXBlKCR0aGlzLCAkZmllbGRkZWZfb2JqLT5HZXRUeXBlKCkpOwogICAgaWYoJHR5cGVfZXhpc3RzICYmICR0eXBlX2V4aXN0cyAhPSAkZmllbGRkZWZfb2JqLT5HZXRJZCgpICYmICRmaWVsZGRlZl9vYmotPklzVW5pcXVlKCkpCiAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl9pc191bmlxdWUnKTsKICB9CiAgCiAgLy8gRG8gYWN0dWFsIGVycm9yIGNoZWNrCiAgICBpZiAoZW1wdHkoJGVycm9ycykpIHsKICAKICAgICRmaWVsZGRlZl9vYmotPlNldE5hbWUoJG5hbWUpOwogICAgJGZpZWxkZGVmX29iai0+U2V0QWxpYXMoJGFsaWFzKTsKICAgICRmaWVsZGRlZl9vYmotPlNldERlc2MoJGhlbHApOwogICAgJGZpZWxkZGVmX29iai0+U2V0UmVxdWlyZWQoJHJlcXVpcmVkKTsgIAogICAgJGZpZWxkZGVmX29iai0+U2V0VGVtcGxhdGUoJHRlbXBsYXRlKTsKICAKICAgIC8vSGFuZGxlIGZpZWxkIG9wdGlvbnMgLSBDaGVjayBpZiBtb3ZpbmcgdGhpcyBoZXJlIGhhcyBzb21lIHdlaXJkIHJlYWN0aW9uCiAgICBpZihjb3VudCgkY3VzdG9tX2lucHV0KSA+IDApIAogICAgewoKICAgICAgZm9yZWFjaCgkY3VzdG9tX2lucHV0IGFzICRrZXkgPT4gJHZhbHVlKSAKICAgICAgewogICAgICAKICAgICAgICAkZmllbGRkZWZfb2JqLT5TZXRPcHRpb25WYWx1ZSgka2V5LCAkdmFsdWUpOwogICAgICB9CiAgICB9ICAKICAKICAgIC8vIFVwZGF0ZSBleHRyYSAoUmVtb3ZlIHRoaXMgaW4gMS41KQogICAgaWYoJGZpZWxkZGVmX2lkID4gMCkgewogICAgCiAgICAgICRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgU0VUIGV4dHJhID0gPyBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOyAgICAKICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRleHRyYSwgJGZpZWxkZGVmX2lkKSk7CiAgICAgIAogICAgICBpZiAoISRyZXN1bHQpIAogICAgICAgIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7ICAgIAogICAgfQogICAgCiAgICAvLyBTYXZlIGZpZWxkCiAgICBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpTYXZlKCR0aGlzLCAkZmllbGRkZWZfb2JqKTsKICAKICAgIC8vIGlmIGFwcGx5IGFuZCBhamF4ICAgICAgICAgICAKICAgIGlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7CiAgICAgICRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsKICAgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+U3VjY2VzczwvUmVzcG9uc2U+JzsKICAgICAgJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnIC4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpIC4gJ11dPjwvRGV0YWlscz4nOyAgICAgICAgICAgICAgIAogICAgICAkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsKICAgICAgZWNobyAkcmVzcG9uc2U7CiAgICAgIHJldHVybjsKICAgIH0gCiAgICAKICAgIC8vIGlmIHNhdmUgYW5kIGNyZWF0ZSBuZXcKICAgIGlmIChpc3NldCgkcGFyYW1zWydzYXZlX2NyZWF0ZSddKSApIHsKICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgYXJyYXkoCiAgICAgICAgJ21lc3NhZ2UnID0+ICdzYXZlY3JlYXRlX21lc3NhZ2UnCiAgICAgICkpOwogICAgfSAgICAgICAgICAKCiAgICAvLyBzaG93IHNhdmVkIG1lc3NhZ2UKICAgIGlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpIHsKICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoCiAgICAgICAgJ2FjdGl2ZV90YWInID0+ICdmaWVsZGRlZnRhYicsCiAgICAgICAgJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnCiAgICAgICkpOwogICAgICAKICAgIH0gZWxzZSB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7CiAgICB9ICAKICAKICB9IC8vIGVuZCBlcnJvciBjaGVjawogIAp9IC8vIGVuZCBzdWJtaXQgb3IgYXBwbHkKZWxzZWlmKGlzc2V0KCRmaWVsZGRlZl9vYmopICYmICRmaWVsZGRlZl9pZCA+IDApIAp7CiAgJHR5cGUgICAgICAgICA9ICRmaWVsZGRlZl9vYmotPkdldFR5cGUoKTsKICAkbmFtZSAgICAgICAgID0gJGZpZWxkZGVmX29iai0+R2V0TmFtZSgpOwogICRhbGlhcyAgICAgICAgPSAkZmllbGRkZWZfb2JqLT5HZXRBbGlhcygpOwogICRoZWxwICAgICAgICAgPSAkZmllbGRkZWZfb2JqLT5HZXREZXNjKCk7CiAgJHJlcXVpcmVkICAgICA9ICRmaWVsZGRlZl9vYmotPklzUmVxdWlyZWQoKTsKICAkdGVtcGxhdGUgICAgID0gJGZpZWxkZGVmX29iai0+R2V0VGVtcGxhdGUoKTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExvYWQgaW5zdHJ1Y3Rpb25zIChSZW1vdmUgdGhpcyBpbiAxLjUpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiRxdWVyeSA9ICdTRUxFQ1QgZXh0cmEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOwokZXh0cmEgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCRmaWVsZGRlZl9pZCkpOwoKaWYoJGV4dHJhICYmICFlbXB0eSgkZXh0cmEpKSAKewogICRzbWFydHktPmFzc2lnbignaW5wdXRfZXh0cmEnLCAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJGV4dHJhLCAnZXh0cmEnKSk7Cn0gIAoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1lc3NhZ2UgY29udHJvbAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55CmlmICghZW1wdHkoJGVycm9ycykpIHsKICAgIGlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7CiAgICAgICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJzsKICAgICAgICBmb3JlYWNoICgkZXJyb3JzIGFzICRlcnJvcikgewogICAgICAgICAgICAkcmVzcG9uc2UgLj0gJzxsaT4nIC4gJGVycm9yIC4gJzwvbGk+JzsKICAgICAgICB9CiAgICAgICAgJHJlc3BvbnNlIC49ICddXT48L0RldGFpbHM+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsKICAgICAgICBlY2hvICRyZXNwb25zZTsKICAgICAgICByZXR1cm47CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICB9Cn0KCmlmKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkgJiYgZW1wdHkoJGVycm9ycykpIAogICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZF9jcmVhdGUnKSk7CiAgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgp1bnNldCgkcGFyYW1zWydzdWJtaXQnXSk7IC8vID8/Pwp1bnNldCgkcGFyYW1zWydhcHBseSddKTsgLy8gPz8/CgppZihpc3NldCgkZmllbGRkZWZfb2JqKSkKICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmJywgJGZpZWxkZGVmX29iaik7CgppZihpc3NldCgkZmllbGRkZWZfb2JqKSAmJiAkZmllbGRkZWZfaWQgPiAwKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHR5cGUnLCAkZmllbGRkZWZfb2JqLT5HZXRGcmllbmRseVR5cGUoKSk7IC8vIDwtIEFzc2lnbiBzdGF0aWMgdGV4dCwgYXMgdGhpcyB0eXBlIGlzIHNhdmVkICAKfQplbHNlIHsKICAkZmllbGRkZWZzID0gYXJyYXlfbWVyZ2UoYXJyYXkoJHRoaXMtPk1vZExhbmcoJ3NlbGVjdF9vbmUnKT0+bnVsbCksIExJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OkdldEZpZWxkZGVmVHlwZXMoKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHR5cGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0eXBlJywgJGZpZWxkZGVmcywgLTEsICR0eXBlLCAnaWQ9Im0xX3R5cGUiJykpOyAvLyA8LSBBc3NpZ24gZHJvcGRvd24KfQoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsaWFzJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdhbGlhcycsICRhbGlhcywgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0aGVscCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaGVscCcsICRoZWxwLCAxMDAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlcXVpcmVkJywgJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAncmVxdWlyZWQnLCAxLCAkcmVxdWlyZWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluaygnZmllbGRkZWZ0YWInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlU3ludGF4QXJlYSgkaWQsICR0ZW1wbGF0ZSwgJ3RlbXBsYXRlJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgICAgIChpc3NldCgkZmllbGRkZWZfaWQpID8gJHRoaXMtPk1vZExhbmcoJ2VkaXRmaWVsZGRlZicpIDogJHRoaXMtPk1vZExhbmcoJ2FkZCcsICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZicpKSkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UsICcnLCAkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICAgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXRmaWVsZGRlZi50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_edititem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nKSkgcmV0dXJuOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENoZWNrIHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7DQoNCglsaXNlX3V0aWxzOjpjbGVhbl9wYXJhbXMoJHBhcmFtcywgYXJyYXkoJ3BhZ2UnKSwgdHJ1ZSk7DQoJJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2l0ZW10YWInOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgcGFyYW1zDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRtb2RlCSAgICAgIAkJCQkgICAgPSBsaXNlX3V0aWxzOjppbml0X3ZhcignbW9kZScsICRwYXJhbXMsICdlZGl0Jyk7DQokaXRlbV9pZCAgICAgICAgICAgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCdpdGVtX2lkJywgJHBhcmFtcywgLTEpOw0KJHVybCAgICAgIAkJCQkgICAgICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCd1cmwnLCAkcGFyYW1zLCAnJyk7DQokdGl0bGUgICAgICAgCQkJIAkgICAgPSBsaXNlX3V0aWxzOjppbml0X3ZhcigndGl0bGUnLCAkcGFyYW1zLCAnJyk7DQokYWxpYXMJCSAJCQkgCSAgICAgID0gbGlzZV91dGlsczo6aW5pdF92YXIoJ2FsaWFzJywgJHBhcmFtcywgJycpOw0KJHRpbWVfY29udHJvbCAJCQkJICA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCd0aW1lX2NvbnRyb2wnLCAkcGFyYW1zLCAwKTsNCiRhY3RpdmUgICAgICAJCQkgCSAgICA9IDE7DQoNCiRzdGFydF90aW1lID0gJyc7DQokZW5kX3RpbWUgPSAnJzsNCmlmICgkdGltZV9jb250cm9sKSB7DQoJJHN0YXJ0X3RpbWUgPSAkcGFyYW1zWydzdGFydF90aW1lJ107DQoJJGVuZF90aW1lICAgPSAkcGFyYW1zWydlbmRfdGltZSddOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgSXRlbQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokb2JqID0gJHRoaXMtPkxvYWRJdGVtQnlJZGVudGlmaWVyKCdpdGVtX2lkJywgJGl0ZW1faWQpOw0KaWYoJG1vZGUgPT0gJ2NvcHknKQkNCgkkb2JqID0gTElTRUl0ZW1PcGVyYXRpb25zOjpDb3B5KCRvYmopOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEhhbmRsZSBjdXN0b20gZmllbGRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmlmIChpc3NldCgkcGFyYW1zWydjdXN0b21maWVsZCddKSkgew0KDQoJZm9yZWFjaCAoKGFycmF5KSRwYXJhbXNbJ2N1c3RvbWZpZWxkJ10gYXMgJGZsZGlkID0+ICR2YWx1ZSkgew0KCQ0KCQlpZihpc3NldCgkb2JqLT5maWVsZGRlZnNbJGZsZGlkXSkpDQoJCQkkb2JqLT5maWVsZGRlZnNbJGZsZGlkXS0+U2V0VmFsdWUoJHZhbHVlKTsNCgl9DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU3VibWl0DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgfHwgaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgfHwgaXNzZXQoJHBhcmFtc1snc2F2ZV9jcmVhdGUnXSkpIHsNCg0KCSRlcnJvcnMgPSBhcnJheSgpOw0KCQ0KCS8vIGNoZWNrIHRpdGxlDQoJaWYgKGVtcHR5KCR0aXRsZSkpIHsNCgkNCgkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2l0ZW1fdGl0bGVfZW1wdHknKTsNCgl9DQovKgkNCiAgICAvLyBjaGVjayBhbGlhcw0KICAgIGlmICghbGlzZV91dGlsczo6aXNfdmFsaWRfYWxpYXMoJGFsaWFzKSAmJiAhZW1wdHkoJGFsaWFzKSkgew0KICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnYWxpYXNfaW52YWxpZCcpOw0KICAgIH0NCiovCQ0KCS8vIENoZWNrIGZvciBkdXBsaWNhdGUNCiAgICBpZiAoJGl0ZW1faWQgPiAwKSB7DQoJDQogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgYWxpYXMgPSA/IEFORCBpdGVtX2lkICE9ID8nOw0KICAgICAgICAkZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkYWxpYXMsICRpdGVtX2lkKSk7DQogICAgfSBlbHNlIHsJDQoJDQogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgYWxpYXMgPSA/JzsNCiAgICAgICAgJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGFsaWFzKSk7DQogICAgfQkNCg0KICAgIGlmICgkZXhpc3RzKSB7DQogICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdpdGVtX2FsaWFzX2V4aXN0cycpOw0KICAgIH0JDQoNCgkvLyBjaGVjayBpZiBzdGFydCBkYXRlIGlzIGxlc3MgZW5kIGRhdGUNCglpZiAoJHRpbWVfY29udHJvbCAmJiAkc3RhcnRfdGltZSAmJiAkZW5kX3RpbWUgJiYgc3RydG90aW1lKCRzdGFydF90aW1lKSA+IHN0cnRvdGltZSgkZW5kX3RpbWUpKSB7DQoJDQoJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9zdGFydGdyZWF0ZXJlbmQnKTsNCgl9DQogIA0KICAvLyB2YWxpZGF0ZSB1cmwgZm9ybWF0IGFuZCByb3V0ZQ0KICBpZiggIWVtcHR5KCR1cmwpICkNCiAgew0KICAgIA0KICAgIGlmKCBzdGFydHN3aXRoKCR1cmwsJy8nKSB8fCBlbmRzd2l0aCgkdXJsLCcvJykgKSANCiAgICB7DQogICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnaXRlbV91cmxfaW52YWxpZCcpOw0KICAgICAgJHVybCA9ICRvYmotPnVybDsNCiAgICAgICR1cmxfZXJyb3IgPSBUUlVFOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgJHRyYW5zbGF0ZWQgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCR1cmwsIGZhbHNlLCB0cnVlKTsNCiAgICAgIA0KICAgICAgaWYoIHN0cnRvbG93ZXIoJHRyYW5zbGF0ZWQpICE9IHN0cnRvbG93ZXIoJHVybCkgKQ0KICAgICAgew0KICAgICAgICAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnaXRlbV91cmxfaW52YWxpZCcpOw0KICAgICAgICAkdXJsID0gJG9iai0+dXJsOw0KICAgICAgICAkdXJsX2Vycm9yID0gVFJVRTsNCiAgICAgIH0gDQogICAgfQ0KICAgIA0KICAgIGlmKCEkdXJsX2Vycm9yKQ0KICAgIHsNCiAgICAgICR1cmwgPSB0cmltKCR1cmwsIiAvXHRcclxuXDBceDA4Iik7DQoNCiAgICAgIGlmKCRpdGVtX2lkID09IC0xIHx8ICR1cmwgIT09ICRvYmotPnVybCkNCiAgICAgIHsNCiAgICAgICAgY21zX3JvdXRlX21hbmFnZXI6OmxvYWRfcm91dGVzKCk7DQogICAgICAgICRyb3V0ZSA9IGNtc19yb3V0ZV9tYW5hZ2VyOjpmaW5kX21hdGNoKCR1cmwpOw0KICAgICAgICANCiAgICAgICAgaWYoJHJvdXRlKQ0KICAgICAgICB7IA0KICAgICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdpdGVtX3VybF9pbnZhbGlkJyk7DQogICAgICAgICAgJHVybCA9ICRvYmotPnVybDsNCiAgICAgICAgICAkdXJsX2Vycm9yID0gVFJVRTsNCiAgICAgICAgfQ0KICAgICAgfSAgDQogICAgfQ0KICB9IA0KCQ0KCS8vIFByZVByb2Nlc3MgJiBWYWxpZGF0aW9ucw0KCWZvcmVhY2goJG9iai0+ZmllbGRkZWZzIGFzICRmaWVsZCkgew0KCQ0KCQkkZmllbGQtPkV2ZW50SGFuZGxlcigpLT5JdGVtU2F2ZVByZVByb2Nlc3MoJGVycm9ycywgJHBhcmFtcyk7DQoJfQ0KCQ0KCS8vIHRpdGxlIGFuZCByZXF1aXJlZCBmaWVsZHMgaGF2ZSB2YWx1ZXMsIGxldCdzIGNvbnRpbnVlDQoJaWYgKGVtcHR5KCRlcnJvcnMpKSB7DQoJDQoJCSRvYmotPnRpdGxlICAgICAgICAJPSAkdGl0bGU7DQoJCSRvYmotPmFsaWFzCQkgCT0gJGFsaWFzOw0KCQkkb2JqLT5hY3RpdmUgICAgICAgCT0gaXNzZXQoJHBhcmFtc1snYWN0aXZlJ10pID8gMSA6IDA7DQoJCSRvYmotPnN0YXJ0X3RpbWUgICAJPSAkc3RhcnRfdGltZTsNCiAgICAkb2JqLT5lbmRfdGltZSAgICAgICA9ICRlbmRfdGltZTsNCgkJJG9iai0+dXJsICAgICAJPSAkdXJsOw0KCQkvLyRvYmotPmNhdGVnb3JpZXMJPSAkY2F0ZWdvcmllczsNCgkJLy8kb2JqLT5jYXRlZ29yeV9pZCA9ICRjYXRlZ29yeV9pZDsNCgkJCQkNCgkJLy8gU2F2ZSBpdGVtIHRvIGRhdGFiYXNlDQoJCSR0aGlzLT5TYXZlSXRlbSgkb2JqKTsNCgkJDQoJCS8vIFBvc3RQcm9jZXNzDQoJCWZvcmVhY2goJG9iai0+ZmllbGRkZWZzIGFzICRmaWVsZCkgew0KCQkNCgkJCSRmaWVsZC0+RXZlbnRIYW5kbGVyKCktPkl0ZW1TYXZlUG9zdFByb2Nlc3MoJGVycm9ycywgJHBhcmFtcyk7DQoJCX0NCg0KCQkvLyBpZiBhcHBseSBhbmQgYWpheCAgICAgICAgICAgDQoJCWlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7DQoJCQkkcmVzcG9uc2UgPSAnPEVkaXRJdGVtPic7DQoJCQkkcmVzcG9uc2UgLj0gJzxSZXNwb25zZT5TdWNjZXNzPC9SZXNwb25zZT4nOw0KCQkJJHJlc3BvbnNlIC49ICc8RGV0YWlscz48IVtDREFUQVsnIC4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpIC4gJ11dPjwvRGV0YWlscz4nOyAgICAgICAgICAgICAgIA0KCQkJJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7DQoJCQllY2hvICRyZXNwb25zZTsNCgkJCXJldHVybjsNCgkJfSANCgkJDQoJCS8vIGlmIHNhdmUgYW5kIGNyZWF0ZSBuZXcNCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3NhdmVfY3JlYXRlJ10pICkgew0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2FkbWluX2VkaXRpdGVtJywgJHJldHVybmlkLCBhcnJheSgNCgkJCQknbWVzc2FnZScgPT4gJ3NhdmVjcmVhdGVfbWVzc2FnZScNCgkJCSkpOw0KCQl9ICAJCSAgICANCg0KCQkvLyBzaG93IHNhdmVkIG1lc3NhZ2UNCgkJaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgew0KCQkNCgkJCWxpc2VfdXRpbHM6OmNsZWFuX3BhcmFtcygkcGFyYW1zLCBhcnJheSgncGFnZScpLCB0cnVlKTsNCgkJCSRwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICdpdGVtdGFiJzsNCgkJCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICdjaGFuZ2Vzc2F2ZWQnOw0KCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyk7DQoJCQkNCgkJfSBlbHNlIHsNCgkJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKSk7DQoJCX0NCgkJDQoJfSAvLyBlbmQgZXJyb3IgY2hlY2sNCgkNCn0gLy8gZW5kIHN1Ym1pdCBvciBhcHBseQ0KZWxzZWlmKCRvYmotPml0ZW1faWQgPiAwIHx8ICRtb2RlID09ICdjb3B5Jykgew0KDQoJJGl0ZW1faWQJCT0gJG9iai0+aXRlbV9pZDsNCgkkdGl0bGUgCQkJPSAkb2JqLT50aXRsZTsNCgkkYWxpYXMJCSAgCT0gJG9iai0+YWxpYXM7DQoJJGFjdGl2ZSAgICAgICAJPSAkb2JqLT5hY3RpdmU7DQoJJHN0YXJ0X3RpbWUgICAJPSAkb2JqLT5zdGFydF90aW1lOw0KICAkZW5kX3RpbWUgICAgICAgPSAkb2JqLT5lbmRfdGltZTsNCgkkdXJsICAgICAJPSAkb2JqLT51cmw7DQoJDQoJaWYoIWVtcHR5KCRzdGFydF90aW1lKXx8ICFlbXB0eSgkZW5kX3RpbWUpKSB7DQoJCSR0aW1lX2NvbnRyb2wgPSAxOw0KCX0NCgkvLyRjYXRlZ29yaWVzCT0gJG9iai0+Y2F0ZWdvcmllczsNCgkvLyRjYXRlZ29yeV9pZCAJPSAkb2JqLT5jYXRlZ29yeV9pZDsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBNZXNzYWdlIGNvbnRyb2wNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy8gZGlzcGxheSBlcnJvcnMgaWYgdGhlcmUgYXJlIGFueQ0KaWYgKCFlbXB0eSgkZXJyb3JzKSkgew0KICAgIGlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7DQogICAgICAgICRyZXNwb25zZSA9ICc8RWRpdEl0ZW0+JzsNCiAgICAgICAgJHJlc3BvbnNlIC49ICc8UmVzcG9uc2U+RXJyb3I8L1Jlc3BvbnNlPic7DQogICAgICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJzsNCiAgICAgICAgZm9yZWFjaCAoJGVycm9ycyBhcyAkZXJyb3IpIHsNCiAgICAgICAgICAgICRyZXNwb25zZSAuPSAnPGxpPicgLiAkZXJyb3IgLiAnPC9saT4nOw0KICAgICAgICB9DQogICAgICAgICRyZXNwb25zZSAuPSAnXV0+PC9EZXRhaWxzPic7DQogICAgICAgICRyZXNwb25zZSAuPSAnPC9FZGl0SXRlbT4nOw0KICAgICAgICBlY2hvICRyZXNwb25zZTsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7DQogICAgfQ0KfQ0KDQppZihpc3NldCgkcGFyYW1zWydtZXNzYWdlJ10pICYmIGVtcHR5KCRlcnJvcnMpKSANCiAgICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TW9kTGFuZygnY2hhbmdlc3NhdmVkX2NyZWF0ZScpKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1PYmplY3QnLCAkb2JqKTsNCg0KJGFqYXhfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCAnYWpheF9nZXR1cmwnLCAkcmV0dXJuaWQpOw0KJHNtYXJ0eS0+YXNzaWduKCdhamF4X2dldF91cmwnLCRhamF4X3VybCk7DQoNCiRzbWFydHktPmFzc2lnbignYmFja2xpbmsnLCAkdGhpcy0+Q3JlYXRlQmFja0xpbmsoJ2l0ZW10YWInKSk7DQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgKCRpdGVtX2lkID4gMCA/ICR0aGlzLT5Nb2RMYW5nKCdlZGl0JykgLiAnICcgLiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSA6ICR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSkpKTsNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9lZGl0aXRlbScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdGl0bGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3RpdGxlJywgJHRpdGxlLCA1MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGlhcycsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnYWxpYXMnLCAkYWxpYXMsIDUwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VybCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXJsJywgJHVybCwgNTApKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdGltZV9jb250cm9sJywgJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAndGltZV9jb250cm9sJywgMSwgJHRpbWVfY29udHJvbCwgJ29uY2xpY2s9InRvZ2dsZWNvbGxhcHNlKFwnZXhwaXJ5aW5mb1wnKTsiJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd1c2VfdGltZV9jb250cm9sJywgJHRpbWVfY29udHJvbCk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N0YXJ0X3RpbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3N0YXJ0X3RpbWUnLCAkc3RhcnRfdGltZSwgMjApKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfZW5kX3RpbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2VuZF90aW1lJywgJGVuZF90aW1lLCAyMCkpOw0KDQppZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYXBwcm92ZV9pdGVtJykpDQoJJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hY3RpdmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdhY3RpdmUnLCAxLCAkYWN0aXZlKSk7DQoNCi8qDQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhcHBseScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdhcHBseScsIGxhbmcoJ2FwcGx5JykpKTsNCiRzbWFydHktPmFzc2lnbignc2F2ZV9jcmVhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc2F2ZV9jcmVhdGUnLCAkdGhpcy0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsNCiovDQoNCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnZWRpdGl0ZW0udHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_editoption.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKS4gJ19tb2RpZnlfb3B0aW9uJykpIHJldHVybjsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBFcnJvciBwcm9jZXNzaW5nDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRlcnJvcnMgPSBhcnJheSgpOw0KDQppZihlbXB0eSgkcGFyYW1zWyd1cmxfcHJlZml4J10pKSB7DQoNCgkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3Jfb3B0aW9ucmVxdWlyZWQnLCAkdGhpcy0+TW9kTGFuZygncHJvbXB0X3VybF9wcmVmaXgnKSk7DQp9DQoNCmlmKGVtcHR5KCRwYXJhbXNbJ2ZyaWVuZGx5bmFtZSddKSkgew0KDQoJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX29wdGlvbnJlcXVpcmVkJywgJHRoaXMtPk1vZExhbmcoJ3Byb21wdF9mcmllbmRseW5hbWUnKSk7DQp9DQoNCmlmKGVtcHR5KCRwYXJhbXNbJ2l0ZW1fdGl0bGUnXSkpIHsNCg0KCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9vcHRpb25yZXF1aXJlZCcsICR0aGlzLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV90aXRsZScpKTsNCn0NCg0KaWYoZW1wdHkoJHBhcmFtc1snaXRlbV9zaW5ndWxhciddKSkgew0KDQoJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX29wdGlvbnJlcXVpcmVkJywgJHRoaXMtPk1vZExhbmcoJ3Byb21wdF9pdGVtX3Npbmd1bGFyJykpOw0KfQ0KDQppZihlbXB0eSgkcGFyYW1zWydpdGVtX3BsdXJhbCddKSkgew0KDQoJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX29wdGlvbnJlcXVpcmVkJywgJHRoaXMtPk1vZExhbmcoJ3Byb21wdF9pdGVtX3BsdXJhbCcpKTsNCn0NCg0KaWYoY291bnQoJGVycm9ycykpIHsNCg0KCSRwYXJhbXMgPSBhcnJheSgnZXJyb3JzJyA9PiAkZXJyb3JzWzBdLCAnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnRhYicpOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJHBhcmFtcyk7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU2V0IG5ldyB2YWx1ZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsCQkgICAgJHBhcmFtc1snZnJpZW5kbHluYW1lJ10pOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluc2VjdGlvbicsCQkgICAgJHBhcmFtc1snYWRtaW5zZWN0aW9uJ10pOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ21vZGRlc2NyaXB0aW9uJywgICAgICAkcGFyYW1zWydtb2RkZXNjcmlwdGlvbiddKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJywJCQkgICAgJHBhcmFtc1snaXRlbV90aXRsZSddKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzb3J0b3JkZXInLAkJCSAgICAgICRwYXJhbXNbJ2l0ZW1zX3NvcnRvcmRlciddKTsNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywJCSAgICAkcGFyYW1zWydpdGVtX3Npbmd1bGFyJ10pOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywJCQkgICAgJHBhcmFtc1snaXRlbV9wbHVyYWwnXSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGlzcGxheV9jcmVhdGVfZGF0ZScsIChpc3NldCgkcGFyYW1zWydkaXNwbGF5X2NyZWF0ZV9kYXRlJ10pPzE6MCkpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fY29scycsCQkJICAgICAgKChpc3NldCgkcGFyYW1zWydpdGVtX2NvbHMnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snaXRlbV9jb2xzJ10pKSA/IGltcGxvZGUoJywnLCAkcGFyYW1zWydpdGVtX2NvbHMnXSkgOiAnJykpOw0KJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1zX3Blcl9wYWdlJywJICAJJHBhcmFtc1snaXRlbXNfcGVyX3BhZ2UnXSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndXJsX3ByZWZpeCcsCQkJICAgICRwYXJhbXNbJ3VybF9wcmVmaXgnXSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLAkJICAoaXNzZXQoJHBhcmFtc1snZGlzcGxheV9pbmxpbmUnXSk/MTowKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3ViY2F0ZWdvcnknLAkJCSAgICAoaXNzZXQoJHBhcmFtc1snc3ViY2F0ZWdvcnknXSk/MTowKSk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgndXJsdGVtcGxhdGUnLCAgICAgICAgIChpc3NldCgkcGFyYW1zWyd1cmx0ZW1wbGF0ZSddKT8gJHBhcmFtc1sndXJsdGVtcGxhdGUnXSA6ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmx0ZW1wbGF0ZScsICd7JHByZWZpeH0veyRpdGVtX3RpdGxlfScpICkgKTsNCg0KLy8gTW9kdWxlIGRlZmF1bHRzDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsCQkJICAgICRwYXJhbXNbJ2RldGFpbHBhZ2UnXSA+PSAwID8gJHBhcmFtc1snZGV0YWlscGFnZSddIDogTlVMTCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLAkJCSAgICAkcGFyYW1zWydzdW1tYXJ5cGFnZSddID49IDAgPyAkcGFyYW1zWydzdW1tYXJ5cGFnZSddIDogTlVMTCk7DQoNCi8vIENyb3NzIE1vZHVsZSBvcHRpb25zDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVpbmRleF9zZWFyY2gnLCAgICAgIChpc3NldCgkcGFyYW1zWydyZWluZGV4X3NlYXJjaCddKSA/IDEgOiAwKSk7DQoNCi8vIE1pc2MNCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3VwZ3JhZGUnLAkJICAgIChpc3NldCgkcGFyYW1zWydhdXRvX3VwZ3JhZGUnXSkgPyAxIDogMCkpOw0KDQokcGFyYW1zID0gYXJyYXkoJ21lc3NhZ2UnID0+ICdjaGFuZ2Vzc2F2ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ29wdGlvbnRhYicpOw0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAkcGFyYW1zKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_edittemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDaGVjayBwYXJhbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSB7CgoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKSB7CgoJJHBhcmFtcyA9IGFycmF5KCdhY3RpdmVfdGFiJyA9PiAndGVtcGxhdGV0YWInKTsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwp9CgppZiAoaXNzZXQoJHBhcmFtc1sndHlwZSddKSkgewoKCSR0cGxfdHlwZSA9ICRwYXJhbXNbJ3R5cGUnXTsKCSR0cGxfY29udGVudCA9ICR0aGlzLT5Nb2RHZXRUZW1wbGF0ZUZyb21GaWxlKCdmZV8nIC4gJHRwbF90eXBlIC4gJ19kZWZhdWx0Jyk7CgkkdHBsX25hbWUgPSAnJzsKCn0gZWxzZWlmKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpIHsKCglsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkcGFyYW1zWyduYW1lJ10sIDIpOwoJJHRwbF9jb250ZW50ID0gJHRoaXMtPkdldFRlbXBsYXRlKCRwYXJhbXNbJ25hbWUnXSk7CgkkcGFyYW1zWydvcmlnX25hbWUnXSA9ICRwYXJhbXNbJ25hbWUnXTsKCn0gZWxzZSB7CgoJZGllKCdDYW50IGhhcHBlbmQnKTsKfQoKaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfbmFtZSddKSkgewoKCSR0cGxfbmFtZSA9ICRwYXJhbXNbJ3RlbXBsYXRlX25hbWUnXTsKfQoKaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfdGV4dCddKSkgewoKCSR0cGxfY29udGVudCA9ICRwYXJhbXNbJ3RlbXBsYXRlX3RleHQnXTsKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFN1Ym1pdAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pIHx8IGlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKSB7CgoJJGVycm9ycyA9IGFycmF5KCk7CgkKCWlmIChlbXB0eSgkdHBsX25hbWUpKSB7CgkKCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygndGVtcGxhdGVfbmFtZV9lbXB0eScpOwoJfQoJCglpZiAoZW1wdHkoJHRwbF9jb250ZW50KSkgewoJCgkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ3RlbXBsYXRlX2NvbnRlbnRfZW1wdHknKTsKCX0KCQoJaWYgKGVtcHR5KCRlcnJvcnMpKSB7CgkKCQlpZihpc3NldCgkcGFyYW1zWydvcmlnX25hbWUnXSkpIHsKCQkKCQkJJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCRwYXJhbXNbJ29yaWdfbmFtZSddKTsKCQkJbGlzdCgkb3JpZ190cGxfdHlwZSwgJG9yaWdfdHBsX25hbWUpID0gZXhwbG9kZSgnXycsICRwYXJhbXNbJ29yaWdfbmFtZSddLCAyKTsKCQkJCgkJCSR0cGxfZGVmYXVsdCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF8nLiR0cGxfdHlwZS4nX3RlbXBsYXRlJyk7CgkJCWlmKCR0cGxfZGVmYXVsdCA9PSAkb3JpZ190cGxfbmFtZSkgewoJCQkKCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF8nLiR0cGxfdHlwZS4nX3RlbXBsYXRlJywgJHRwbF9uYW1lKTsKCQkJfQkJCQoJCX0KCQkKCQkkdGhpcy0+U2V0VGVtcGxhdGUoJHRwbF90eXBlLidfJy4kdHBsX25hbWUsICR0cGxfY29udGVudCk7CgkKCQlpZiAoIWlzc2V0KCRwYXJhbXNbJ2FwcGx5J10pKSB7CgkJCgkJCSRwYXJhbXMgPSBhcnJheSgnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcsJ2FjdGl2ZV90YWInID0+ICd0ZW1wbGF0ZXRhYicpOwoJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJhbXMpOwogICAgICAgICAgICAKCQl9IGVsc2VpZiAoaXNzZXQoJHBhcmFtc1snYXBwbHknXSkgJiYgaXNzZXQoJHBhcmFtc1snYWpheCddKSkgewoJCSAgICAkcmVzcG9uc2UgPSAnPEVkaXRJdGVtPic7CgkJICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPlN1Y2Nlc3M8L1Jlc3BvbnNlPic7CgkJICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJyAuICR0aGlzLT5Nb2RMYW5nKCdjaGFuZ2Vzc2F2ZWQnKSAuICddXT48L0RldGFpbHM+JzsKCQkgICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7CgkJICAgIGVjaG8gJHJlc3BvbnNlOwoJCSAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpKTsKCQl9Cgl9Cn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55CmlmICghZW1wdHkoJGVycm9ycykpIHsKICAgIGlmIChpc3NldCgkcGFyYW1zWydhcHBseSddKSAmJiBpc3NldCgkcGFyYW1zWydhamF4J10pKSB7CiAgICAgICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOwogICAgICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJzsKICAgICAgICBmb3JlYWNoICgkZXJyb3JzIGFzICRlcnJvcikgewogICAgICAgICAgICAkcmVzcG9uc2UgLj0gJzxsaT4nIC4gJGVycm9yIC4gJzwvbGk+JzsKICAgICAgICB9CiAgICAgICAgJHJlc3BvbnNlIC49ICddXT48L0RldGFpbHM+JzsKICAgICAgICAkcmVzcG9uc2UgLj0gJzwvRWRpdEl0ZW0+JzsKICAgICAgICBlY2hvICRyZXNwb25zZTsKICAgICAgICByZXR1cm47CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9ycyk7CiAgICB9Cn0KCiRzbWFydHktPmFzc2lnbignYmFja2xpbmsnLCAkdGhpcy0+Q3JlYXRlQmFja0xpbmsoJ3RlbXBsYXRldGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlJywgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgPyAkdGhpcy0+TW9kTGFuZygnZWRpdHRlbXBsYXRlJykgOiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJHRwbF90eXBlLid0ZW1wbGF0ZScpKSkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF90ZW1wbGF0ZScsICR0aGlzLT5DcmVhdGVTeW50YXhBcmVhKCRpZCwgJHRwbF9jb250ZW50LCAndGVtcGxhdGVfdGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9uYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd0ZW1wbGF0ZV9uYW1lJywgJHRwbF9uYW1lLCA0MCkpOwoKJHRlbXBsYXRlbGlzdCA9ICR0aGlzLT5HZXRGaWxlVGVtcGxhdGVzQnlUeXBlKCR0cGxfdHlwZSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdHBsX2xpc3QnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICd0ZW1wbGF0ZV9mcm9tZmlsZScsICR0ZW1wbGF0ZWxpc3QpKTsKCiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignYXBwbHknLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnYXBwbHknLCBsYW5nKCdhcHBseScpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2VkaXR0ZW1wbGF0ZS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_exportitems.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJyApICkgcmV0dXJuOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENoZWNrIHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggaXNzZXQoICRwYXJhbXNbJ2NhbmNlbCddICkgKQ0Kew0KICAkcGFyYW1zWydhY3RpdmVfdGFiJ10gPSAnaXRlbXRhYic7DQogICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7DQp9DQoNCi8vIEluaXQgJGV4cG9ydHZhbHVlcw0KJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oKTsNCg0KZm9yZWFjaCggJG9iaiBhcyAkayA9PiAkdiApDQp7DQoNCiAgaWYoICR2IGluc3RhbmNlb2YgTElTRUZpZWxkZGVmQXJyYXkgKQ0KICB7DQogICAgZm9yZWFjaCggJHYgYXMgJGYgKQ0KICAgIHsNCiAgICAgICRleHBvcnR2YWx1ZXNbJGYtPkdldEFsaWFzKCldID0gJGYtPkdldEFsaWFzKCk7DQogICAgfQ0KICB9DQogIGVsc2UNCiAgew0KICAgICRleHBvcnR2YWx1ZXNbJGtdID0gJGs7DQogIH0NCn0NCnVuc2V0KCAkb2JqICk7DQoNCiRkYXRlZm9ybWF0ID0gdHJpbSggZ2V0X3ByZWZlcmVuY2UoIGdldF91c2VyaWQoKSwgJ2RhdGVfZm9ybWF0X3N0cmluZycsICclWS0lbS0lZCcgKSApOw0KDQppZiggZW1wdHkoICRkYXRlZm9ybWF0ICkgKSAkZGF0ZWZvcm1hdCA9ICclWS0lbS0lZCc7DQoNCiRkYXRlID0gc3RyZnRpbWUoICRkYXRlZm9ybWF0LCB0aW1lKCkgKTsNCiRmaWxlbmFtZSA9ICR0aGlzLT5HZXROYW1lKCkgLiAnLUV4cG9ydC0nIC4gJGRhdGU7DQokZmlsZW5hbWUgPSBwcmVnX3JlcGxhY2UoICcvW15cd1xkXC5cLVxfXS8nLCAnXycsICRmaWxlbmFtZSApOw0KDQokcGx1cmFsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoICdpdGVtX3BsdXJhbCcsICcnICk7DQokc2VwYXJhdG9yID0gbGlzZV91dGlsczo6aW5pdF92YXIoICdzZXBhcmF0b3InLCAkcGFyYW1zLCAnOycgKTsgLy8gPC0gRGVmYXVsdCBjb3VsZCBiZSBvcHRpb24NCiRlbmNsb3N1cmUgPSBsaXNlX3V0aWxzOjppbml0X3ZhciggJ2VuY2xvc3VyZScsICRwYXJhbXMsICciJyApOyAvLyA8LSBEZWZhdWx0IGNvdWxkIGJlIG9wdGlvbg0KJHNlbF9leHBvcnR2YWx1ZXMgPSBsaXNlX3V0aWxzOjppbml0X3ZhciggJ2V4cG9ydHZhbHVlcycsICRwYXJhbXMsICRleHBvcnR2YWx1ZXMgKTsNCiRmaWxlbmFtZSA9IGxpc2VfdXRpbHM6OmluaXRfdmFyKCAnZmlsZW5hbWUnLCAkcGFyYW1zLCAkZmlsZW5hbWUgKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTdWJtaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApICkNCnsNCg0KICAkaGVhZGVycyA9IGFycmF5KCk7DQogICRvdXRwdXQgPSBhcnJheSgpOw0KICAkZmlyc3QgPSB0cnVlOw0KDQogICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gT1JERVIgQlkgcG9zaXRpb24gJyAuICR0aGlzLT5HZXRQcmVmZXJlbmNlKCAnc29ydG9yZGVyJyApOw0KICAkcmVzdWx0ID0gJGRiLT5HZXRDb2woICRxdWVyeSApOw0KDQogIGlmKCAkcmVzdWx0ICkNCiAgew0KDQogICAgZm9yZWFjaCggJHJlc3VsdCBhcyAkaXRlbV9pZCApDQogICAgew0KICAgICAgJG9iaiA9ICR0aGlzLT5Mb2FkSXRlbUJ5SWRlbnRpZmllciggJ2l0ZW1faWQnLCAkaXRlbV9pZCApOw0KICAgICAgJHJvdyA9IGFycmF5KCk7DQoNCiAgICAgIGZvcmVhY2goICRvYmogYXMgJGsgPT4gJHYgKQ0KICAgICAgew0KDQogICAgICAgIGlmKCAkdiBpbnN0YW5jZW9mIExJU0VGaWVsZGRlZkFycmF5ICkNCiAgICAgICAgew0KDQogICAgICAgICAgZm9yZWFjaCggJHYgYXMgJGYgKQ0KICAgICAgICAgIHsNCg0KICAgICAgICAgICAgaWYoICFpbl9hcnJheSggJGYtPkdldEFsaWFzKCksICRzZWxfZXhwb3J0dmFsdWVzICkgKSBjb250aW51ZTsNCg0KICAgICAgICAgICAgaWYoICRmaXJzdCApICRoZWFkZXJzW10gPSAkZi0+R2V0QWxpYXMoKTsNCg0KICAgICAgICAgICAgJHJvd1tdID0gJGYtPkdldFZhbHVlKCk7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KDQogICAgICAgICAgaWYoICFpbl9hcnJheSggJGssICRzZWxfZXhwb3J0dmFsdWVzICkgKSBjb250aW51ZTsNCg0KICAgICAgICAgIGlmKCAkZmlyc3QgKSAkaGVhZGVyc1tdID0gJGs7DQoNCiAgICAgICAgICBpZiggaXNfYXJyYXkoICR2ICkgKSAkcm93W10gPSBpbXBsb2RlKCAnLCcsICR2ICk7DQogICAgICAgICAgZWxzZSAgJHJvd1tdID0gJHY7DQogICAgICAgIH0NCiAgICAgIH0NCg0KICAgICAgaWYoICRmaXJzdCApICRvdXRwdXRbXSA9ICRoZWFkZXJzOw0KDQogICAgICAkb3V0cHV0W10gPSAkcm93Ow0KDQogICAgICB1bnNldCggJG9iaiApOw0KICAgICAgJGZpcnN0ID0gZmFsc2U7DQogICAgfQ0KICB9DQoNCiAgLy8gTWFrZSBzdXJlIGZpbGVuYW1lIGlzIGV4cG9ydCBmcmllbmRseQ0KICAkZmlsZW5hbWUgPSBwcmVnX3JlcGxhY2UoICcvW15cd1xkXC5cLVxfXS8nLCAnXycsICRmaWxlbmFtZSApOw0KICAkZmlsZW5hbWUgLj0gJy5jc3YnOw0KDQogIC8vIFNldCBoZWFkZXJzDQogIGhlYWRlciggIkNvbnRlbnQtdHlwZTp0ZXh0L2NzdjsgY2hhcnNldD1pc284ODU5LTEiICk7DQogIGhlYWRlciggIkNvbnRlbnQtRGlzcG9zaXRpb246YXR0YWNobWVudDtmaWxlbmFtZT0iIC4gJGZpbGVuYW1lICk7DQoNCiAgLy8gQ2xlYXIgb3V0cHV0IGJ1ZmZlcg0KICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7DQogIGZvciggJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoICRoYW5kbGVycyApOyAkY250KysgKQ0KICB7DQogICAgb2JfZW5kX2NsZWFuKCk7DQogIH0NCg0KICAvLyBPdXRwdXQNCiAgJHRvdGFsX2NvdW50ID0gY291bnQoICRoZWFkZXJzICk7DQogIGZvcmVhY2goICRvdXRwdXQgYXMgJG9uZXJvdyApDQogIHsNCg0KICAgICRjb3VudGVyID0gMTsNCiAgICBmb3JlYWNoKCAkb25lcm93IGFzICRvbmVpdGVtICkNCiAgICB7DQoNCiAgICAgICRzdHIgPSAkZW5jbG9zdXJlIC4gdXRmOF9kZWNvZGUoICRvbmVpdGVtICkgLiAkZW5jbG9zdXJlOw0KICAgICAgaWYoICRjb3VudGVyID09ICR0b3RhbF9jb3VudCApDQogICAgICB7DQogICAgICAgICRzdHIgLj0gIlxuIjsNCiAgICAgIH0NCiAgICAgIGVsc2UNCiAgICAgIHsNCiAgICAgICAgJHN0ciAuPSAkc2VwYXJhdG9yOw0KICAgICAgfQ0KDQogICAgICBlY2hvICRzdHI7DQogICAgICAkY291bnRlcisrOw0KICAgIH0NCiAgfQ0KDQogIC8vIFByZXZlbnQgaW5jbHVkaW5nIGFjdHVhbCBIVE1MDQogIGV4aXQoKTsNCg0KfSAvLyBlbmQgb2Ygc3VibWl0DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHNtYXJ0eS0+YXNzaWduKCAndGl0bGUnLCAkdGhpcy0+TW9kTGFuZyggJ2V4cG9ydCcsICRwbHVyYWwgKSApOw0KJHNtYXJ0eS0+YXNzaWduKCAnYmFja2xpbmsnLCAkdGhpcy0+Q3JlYXRlQmFja0xpbmsoICdpdGVtdGFiJyApICk7DQokc21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCAkaWQsICdhZG1pbl9leHBvcnRpdGVtcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlLCAnJywgJHBhcmFtcyApICk7DQoNCiRzbWFydHktPmFzc2lnbiggJ2lucHV0X2V4cG9ydHZhbHVlcycsICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoICRpZCwgJ2V4cG9ydHZhbHVlc1tdJywgJGV4cG9ydHZhbHVlcywgJHNlbF9leHBvcnR2YWx1ZXMsIDEwICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ2lucHV0X2ZpbGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdmaWxlbmFtZScsICRmaWxlbmFtZSwgNDQgKSAuICcuY3N2JyApOw0KDQokc21hcnR5LT5hc3NpZ24oICdpbnB1dF9zZXBhcmF0b3InLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdzZXBhcmF0b3InLCAkc2VwYXJhdG9yLCA1MCApICk7DQokc21hcnR5LT5hc3NpZ24oICdpbnB1dF9lbmNsb3N1cmUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdlbmNsb3N1cmUnLCAkZW5jbG9zdXJlLCA1MCApICk7DQoNCiRzbWFydHktPmFzc2lnbiggJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnc3VibWl0JywgbGFuZyggJ3N1Ym1pdCcgKSApICk7DQokc21hcnR5LT5hc3NpZ24oICdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoICRpZCwgJ2NhbmNlbCcsIGxhbmcoICdjYW5jZWwnICkgKSApOw0KJHNtYXJ0eS0+YXNzaWduKCAnZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkgKTsNCg0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCAnYWRtaW5fY3N2X2ltcG9ydF9leHBvcnQudHBsJyApOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_importitems.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQoNCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScgKSApIHJldHVybjsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDaGVjayBwYXJhbXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYoIGlzc2V0KCAkcGFyYW1zWydjYW5jZWwnXSApICkNCnsNCiAgJHBhcmFtc1snYWN0aXZlX3RhYiddID0gJ2l0ZW10YWInOw0KICAkdGhpcy0+UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHBhcmFtcyApOw0KfQ0KDQokY3N2X21pbWV0eXBlcyA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQvY3N2JywNCiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXh0L3BsYWluJywNCiAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9jc3YnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQvY29tbWEtc2VwYXJhdGVkLXZhbHVlcycsDQogICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vZXhjZWwnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsDQogICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vdm5kLm1zZXhjZWwnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ3RleHQvYW55dGV4dCcsDQogICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywNCiAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi90eHQnLA0KICAgICAgICAgICAgICAgICAgICAgICk7DQoNCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7DQokZGVzdF9wYXRoID0gY21zX2pvaW5fcGF0aCggVE1QX0NBQ0hFX0xPQ0FUSU9OLCAkdGhpcy0+R2V0TmFtZSgpIC4gJ19DU1ZfRklMRS5jc3YnICk7DQokZmlsZV92YWx1ZXMgPSBhcnJheSgpOw0KJHRlbXBsYXRlID0gJ2FkbWluX2Nzdl9pbXBvcnRfZXhwb3J0LnRwbCc7DQokcGx1cmFsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoICdpdGVtX3BsdXJhbCcsICcnICk7DQokc2VwYXJhdG9yID0gbGlzZV91dGlsczo6aW5pdF92YXIoICdzZXBhcmF0b3InLCAkcGFyYW1zLCAnOycgKTsgLy8gPC0gRGVmYXVsdCBjb3VsZCBiZSBvcHRpb24NCiRlbmNsb3N1cmUgPSBsaXNlX3V0aWxzOjppbml0X3ZhciggJ2VuY2xvc3VyZScsICRwYXJhbXMsICciJyApOyAvLyA8LSBEZWZhdWx0IGNvdWxkIGJlIG9wdGlvbg0KJGltcG9ydF92YWx1ZXMgPSBsaXNlX3V0aWxzOjppbml0X3ZhciggJ2ltcG9ydF92YWx1ZXMnLCAkcGFyYW1zLCBhcnJheSgpICk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTG9hZCBpdGVtIHZhcmlhYmxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokZGF0YWJhc2VfdmFsdWVzID0gYXJyYXkoKTsNCiRfaW52YWxpZF92YWx1ZXMgPSBhcnJheSggJ2NyZWF0ZV90aW1lJywgJ21vZGlmaWVkX3RpbWUnICk7DQokaXRlbSA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oKTsNCg0KZm9yZWFjaCggJGl0ZW0gYXMgJGsgPT4gJHYgKQ0Kew0KDQogIGlmKCAkdiBpbnN0YW5jZW9mIExJU0VGaWVsZGRlZkFycmF5ICkNCiAgew0KDQogICAgZm9yZWFjaCggJHYgYXMgJGYgKQ0KICAgIHsNCiAgICAgICRvYmogPSBuZXcgc3RkQ2xhc3M7DQoNCiAgICAgIGlmKCBpbl9hcnJheSggJGYtPkdldEFsaWFzKCksICRfaW52YWxpZF92YWx1ZXMgKSApIGNvbnRpbnVlOw0KDQogICAgICAkb2JqLT5hbGlhcyA9ICRmLT5HZXRBbGlhcygpOw0KICAgICAgJG9iai0+cmVxdWlyZWQgPSAkZi0+SXNSZXF1aXJlZCgpID8gMSA6IDA7DQogICAgICAkb2JqLT5yZXF1aXJlZF9pbWFnZSA9ICRmLT5Jc1JlcXVpcmVkKCkgPyAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCAnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJycsICcnLCAnJywgJ3N5c3RlbWljb24nICkgOiAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCAnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICcnLCAnJywgJycsICdzeXN0ZW1pY29uJyApOw0KICAgICAgJG9iai0+aGVscCA9ICRmLT5HZXREZXNjKCk7DQoNCiAgICAgICRkYXRhYmFzZV92YWx1ZXNbXSA9ICRvYmo7DQoNCiAgICB9DQogIH0NCiAgZWxzZQ0KICB7DQoNCiAgICAkb2JqID0gbmV3IHN0ZENsYXNzOw0KDQogICAgaWYoIGluX2FycmF5KCAkaywgJF9pbnZhbGlkX3ZhbHVlcyApICkgY29udGludWU7DQoNCiAgICAkb2JqLT5hbGlhcyA9ICRrOw0KICAgICRvYmotPnJlcXVpcmVkID0gaW5fYXJyYXkoICRrLCBMSVNFSXRlbTo6JG1hbmRhdG9yeSApID8gMSA6IDA7DQogICAgJG9iai0+cmVxdWlyZWRfaW1hZ2UgPSBpbl9hcnJheSggJGssIExJU0VJdGVtOjokbWFuZGF0b3J5ICkgPyAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCAnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJycsICcnLCAnJywgJ3N5c3RlbWljb24nICkgOiAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCAnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICcnLA0KICAgICAgJycsICcnLCAnc3lzdGVtaWNvbicgKTsNCiAgICAkb2JqLT5oZWxwID0gJHRoaXMtPk1vZExhbmcoICdpdGVtX3Zhcl9oZWxwXycgLiAkayApOw0KDQogICAgJGRhdGFiYXNlX3ZhbHVlc1tdID0gJG9iajsNCiAgfQ0KDQp9DQoNCnVuc2V0KCAkaXRlbSApOw0KDQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgR28gYmFjaw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggaXNzZXQoICRwYXJhbXNbJ3ByZXZpb3VzJ10gKSApDQp7DQogIHVuc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApOw0KICB1bnNldCggJHBhcmFtc1sncHJldmlvdXMnXSApOw0KfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIERvIGltcG9ydA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiggaXNzZXQoICRwYXJhbXNbJ2RvX2ltcG9ydCddICkgKQ0Kew0KDQogICRlcnJvcnMgPSBhcnJheSgpOw0KDQogIGZvcmVhY2goICRkYXRhYmFzZV92YWx1ZXMgYXMgJG9iaiApDQogIHsNCg0KICAgIGlmKCAkb2JqLT5yZXF1aXJlZCApDQogICAgew0KICAgICAgaWYoICEkaW1wb3J0X3ZhbHVlc1skb2JqLT5hbGlhc10gKSAkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZyggJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5JyApIC4gJyAoJyAuICRvYmotPmFsaWFzIC4gJyknOw0KICAgIH0NCiAgfQ0KDQogIGlmKCBlbXB0eSggJGVycm9ycyApICkNCiAgew0KDQogICAgJGRhdGFiYXNlX3ZhbHVlcyA9IGFycmF5KCk7DQoNCiAgICAvLyBJbml0aWF0ZSBDc3ZJdGVyYXRvcg0KICAgICRjc3YgPSBuZXcgTElTRUNzdkl0ZXJhdG9yKCAkZGVzdF9wYXRoLCB0cnVlLCAkc2VwYXJhdG9yLCAkZW5jbG9zdXJlICk7DQoNCiAgICAvLyBDb2xsZWN0IGRhdGEgZnJvbSBmaWxlDQogICAgd2hpbGUoICRjc3YtPm5leHQoKSApDQogICAgew0KDQogICAgICAkcm93ID0gJGNzdi0+Y3VycmVudCgpOw0KDQogICAgICBmb3JlYWNoKCAkaW1wb3J0X3ZhbHVlcyBhcyAkYWxpYXMgPT4gJGluZGV4ICkNCiAgICAgIHsNCg0KICAgICAgICBpZiggJGluZGV4ICkNCiAgICAgICAgew0KDQogICAgICAgICAgJGRhdGFiYXNlX3ZhbHVlc1skY3N2LT5rZXkoKV1bJGFsaWFzXSA9ICRyb3dbJGluZGV4XTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCg0KICAgICAgICAgIHVuc2V0KCAkaW1wb3J0X3ZhbHVlc1skYWxpYXNdICk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQoNCiAgICAvLyBJbXBvcnQgZGF0YSB0byBkYXRhYmFzZQ0KICAgIGZvcmVhY2goICRkYXRhYmFzZV92YWx1ZXMgYXMgJGl0ZW1fdmFsdWVzICkNCiAgICB7DQoNCiAgICAgICRvYmogPSAkdGhpcy0+SW5pdGlhdGVJdGVtKCk7DQoNCiAgICAgIGZvcmVhY2goICRpdGVtX3ZhbHVlcyBhcyAka2V5ID0+ICR2YWx1ZSApDQogICAgICB7DQoNCiAgICAgICAgaWYoICRrZXkgPT0gJ2l0ZW1faWQnICYmICFpc19udW1lcmljKCAkdmFsdWUgKSApIGNvbnRpbnVlOw0KDQogICAgICAgICRrZXkgPSB1dGY4X2VuY29kZSggJGtleSApOw0KICAgICAgICAkdmFsdWUgPSBleHBsb2RlKCBMSVNFX1ZBTFVFX1NFUEFSQVRPUiwgdXRmOF9lbmNvZGUoICR2YWx1ZSApICk7DQoNCiAgICAgICAgJG9iai0+U2V0UHJvcGVydHlWYWx1ZSggJGtleSwgJHZhbHVlICk7DQogICAgICAgIGlmKCAka2V5ID09ICdpdGVtX2lkJyApIExJU0VJdGVtT3BlcmF0aW9uczo6TG9hZCggJHRoaXMsICRvYmogKTsgLy8gPC0gVHJ5IGxvYWRpbmcgaXRlbSBpZiB3ZSBhY3R1YWxseSBnb3QgSUQuDQogICAgICB9DQoNCiAgICAgICR0aGlzLT5TYXZlSXRlbSggJG9iaiApOw0KDQogICAgICB1bnNldCggJG9iaiApOw0KICAgIH0NCg0KICAgIC8vIFJlZGlyZWN0IGJhY2sgdG8gbGlzdGluZw0KICAgICRwYXJhbXMgPSBhcnJheSggJ2FjdGl2ZV90YWInID0+ICdpdGVtdGFiJyApOw0KICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zICk7DQoNCiAgfSAvLyBlbmQgb2YgZXJyb3IgY2hlY2sNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTdWJtaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXQnXSApICkNCnsNCg0KICBpZiggIWlzc2V0KCAkcGFyYW1zWydkb19pbXBvcnQnXSApICkNCiAgew0KICAgICRlcnJvcnMgPSBhcnJheSgpOw0KDQogICAgLy8gU3RhcnQgZmlsZSB2YWxpZGF0aW9uDQogICAgJF9maWxlID0gJF9GSUxFU1skaWQgLiAnY3N2ZmlsZSddOw0KDQogICAgaWYoICFpc3NldCggJF9maWxlWyduYW1lJ10gKSB8fCAkX2ZpbGVbJ25hbWUnXSA9PSAnJyApDQogICAgew0KICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoICdlcnJvcl9maWxlX2VtcHR5JyApOw0KICAgIH0NCiAgICAvKiBESVNBQkxFIFVOVElMIEZVUlRIRVIgTk9USUNFIQ0KICAgIGlmKCFpbl9hcnJheSgkX2ZpbGVbJ3R5cGUnXSwgJGNzdl9taW1ldHlwZXMpKSB7DQogICAgDQogICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ2Vycm9yX2ZpbGVfbm9jc3YnKTsNCiAgICB9DQogICAgKi8NCiAgICBpZiggZW1wdHkoICRlcnJvcnMgKSApDQogICAgew0KICAgICAgaWYoICFtb3ZlX3VwbG9hZGVkX2ZpbGUoICRfZmlsZVsndG1wX25hbWUnXSwgJGRlc3RfcGF0aCApICkNCiAgICAgIHsNCiAgICAgICAgJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoICdlcnJvcl9maWxlX3Blcm1pc3Npb25zJyApOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KDQoNCiAgLy8gTm8gZmlsZSB2YWxpZGF0aW9uIGVycm9ycywgcmVhZCBmaWxlDQogIGlmKCBlbXB0eSggJGVycm9ycyApIHx8IGlzc2V0KCAkcGFyYW1zWydkb19pbXBvcnQnXSApICkNCiAgew0KDQogICAgLy8gSW5pdGlhdGUgQ3N2SXRlcmF0b3INCiAgICAkY3N2ID0gbmV3IExJU0VDc3ZJdGVyYXRvciggJGRlc3RfcGF0aCwgZmFsc2UsICRzZXBhcmF0b3IsICRlbmNsb3N1cmUgKTsNCg0KICAgICRjc3YtPm5leHQoKTsNCiAgICAkdG1wID0gJGNzdi0+Y3VycmVudCgpOw0KICAgICRjc3YtPnRlYXJEb3duKCk7DQoNCiAgICAvLyBCdWlsZCBkcm9wZG93biBhcnJheQ0KICAgICRmaWxlX3ZhbHVlcyA9IGFycmF5KCAwID0+IGxhbmcoICdub25lJyApICk7DQogICAgZm9yZWFjaCggJHRtcCBhcyAkdG1wdmFsICkNCiAgICB7DQogICAgICAkZmlsZV92YWx1ZXNbJHRtcHZhbF0gPSB1dGY4X2VuY29kZSggJHRtcHZhbCApOw0KICAgIH0NCg0KICAgICR0ZW1wbGF0ZSA9ICdhZG1pbl9jc3ZfaW1wb3J0LnRwbCc7DQogIH0NCg0KDQp9IC8vIGVuZCBvZiBzdWJtaXQNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovLyBkaXNwbGF5IGVycm9ycyBpZiB0aGVyZSBhcmUgYW55DQppZiggIWVtcHR5KCAkZXJyb3JzICkgKQ0Kew0KICBpZiggaXNzZXQoICRwYXJhbXNbJ2FwcGx5J10gKSAmJiBpc3NldCggJHBhcmFtc1snYWpheCddICkgKQ0KICB7DQogICAgJHJlc3BvbnNlID0gJzxFZGl0SXRlbT4nOw0KICAgICRyZXNwb25zZSAuPSAnPFJlc3BvbnNlPkVycm9yPC9SZXNwb25zZT4nOw0KICAgICRyZXNwb25zZSAuPSAnPERldGFpbHM+PCFbQ0RBVEFbJzsNCiAgICBmb3JlYWNoKCAkZXJyb3JzIGFzICRlcnJvciApDQogICAgew0KICAgICAgJHJlc3BvbnNlIC49ICc8bGk+JyAuICRlcnJvciAuICc8L2xpPic7DQogICAgfQ0KICAgICRyZXNwb25zZSAuPSAnXV0+PC9EZXRhaWxzPic7DQogICAgJHJlc3BvbnNlIC49ICc8L0VkaXRJdGVtPic7DQogICAgZWNobyAkcmVzcG9uc2U7DQogICAgcmV0dXJuOw0KICB9DQogIGVsc2UNCiAgew0KICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoICRlcnJvcnMgKTsNCiAgfQ0KfQ0KDQovLyBQYXJ0IDENCiRzbWFydHktPmFzc2lnbiggJ2lucHV0X2ZpbGUnLCAkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCAkaWQsICdjc3ZmaWxlJywgJycsIDI1ICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ2lucHV0X3NlcGFyYXRvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ3NlcGFyYXRvcicsICRzZXBhcmF0b3IsIDUwICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ2lucHV0X2VuY2xvc3VyZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2VuY2xvc3VyZScsICRlbmNsb3N1cmUsIDUwICkgKTsNCg0KLy8gUGFydCAyDQokc21hcnR5LT5hc3NpZ24oICdkYXRhYmFzZV92YWx1ZXMnLCAkZGF0YWJhc2VfdmFsdWVzICk7DQokc21hcnR5LT5hc3NpZ24oICdmaWxlX3ZhbHVlcycsICRmaWxlX3ZhbHVlcyApOw0KDQokc21hcnR5LT5hc3NpZ24oICd0aXRsZScsICR0aGlzLT5Nb2RMYW5nKCAnaW1wb3J0JywgJHBsdXJhbCApICk7DQokc21hcnR5LT5hc3NpZ24oICdiYWNrbGluaycsICR0aGlzLT5DcmVhdGVCYWNrTGluayggJ2l0ZW10YWInICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ2FkbWluX2ltcG9ydGl0ZW1zJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2UsICcnLCAkcGFyYW1zICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpICk7DQoNCiRzbWFydHktPmFzc2lnbiggJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnc3VibWl0JywgbGFuZyggJ3N1Ym1pdCcgKSApICk7DQokc21hcnR5LT5hc3NpZ24oICdwcmV2aW91cycsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAncHJldmlvdXMnLCBsYW5nKCAncHJldmlvdXMnICkgKSApOw0KJHNtYXJ0eS0+YXNzaWduKCAnZG9faW1wb3J0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCAkaWQsICdkb19pbXBvcnQnLCBsYW5nKCAnc3VibWl0JyApICkgKTsNCiRzbWFydHktPmFzc2lnbiggJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCggJGlkLCAnY2FuY2VsJywgbGFuZyggJ2NhbmNlbCcgKSApICk7DQoNCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSggJHRlbXBsYXRlICk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_reordercategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICBBIGZ1bmN0aW9uIGZvciB0aGUgTElTRSBtb2R1bGUgdG8gYWxsb3cgcmUtb3JkZXJpbmcgdGhlIGhpZXJhcmNoaWNhbCBjYXRlZ29yeSB0cmVlLgojIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7CgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKSkgcmV0dXJuOwoKLy8KLy8gZnVuY3Rpb25zCi8vCmZ1bmN0aW9uIGxpc2VfZ2V0X2NhdGVnb3J5X3RyZWUoJG1vZHVsZV9hbGlhcywkcGFyZW50X2lkID0gLTEpCnsKICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICR0aGV0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlXycuJG1vZHVsZV9hbGlhcy4nX2NhdGVnb3J5JzsKCiAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy4kdGhldGFibGUuJyBXSEVSRSBwYXJlbnRfaWQgPSA/IE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgJGRhdGE9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwYXJlbnRfaWQpKTsKCiAgaWYoIGlzX2FycmF5KCRkYXRhKSAmJiBjb3VudCgkZGF0YSkgKQogICAgewogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGF0YSk7ICRpKysgKQoJewoJICAkdG1wID0gbGlzZV9nZXRfY2F0ZWdvcnlfdHJlZSgkbW9kdWxlX2FsaWFzLCRkYXRhWyRpXVsnY2F0ZWdvcnlfaWQnXSk7CgkgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApCgkgICAgewoJICAgICAgJGRhdGFbJGldWydjaGlsZHJlbiddID0gJHRtcDsKCSAgICB9Cgl9CgogICAgICByZXR1cm4gJGRhdGE7CiAgICB9Cn0KCmZ1bmN0aW9uIGxpc2VfY3JlYXRlX2NhdGVnb3J5X2ZsYXRsaXN0KCR0cmVlLCRwYXJlbnRfaWQgPSAtMSkKewogICRkYXRhID0gYXJyYXkoKTsKICAkb3JkZXIgPSAxOwogIGZvcmVhY2goICR0cmVlIGFzICYkbm9kZSApCiAgICB7CiAgICAgIGlmKCBpc19hcnJheSgkbm9kZSkgJiYgY291bnQoJG5vZGUpID09IDIgKQoJewoJICAkcGlkID0gKGludClzdWJzdHIoJG5vZGVbMF0sc3RybGVuKCdjYXRfJykpOwoJICAkZGF0YVtdID0gYXJyYXkoJ2lkJz0+JHBpZCwncGFyZW50X2lkJz0+JHBhcmVudF9pZCwnb3JkZXInPT4kb3JkZXIpOwoJICBpZiggaXNzZXQoJG5vZGVbMV0pICYmIGlzX2FycmF5KCRub2RlWzFdKSApCgkgICAgewoJICAgICAgJGRhdGEgPSBhcnJheV9tZXJnZSgkZGF0YSxsaXNlX2NyZWF0ZV9jYXRlZ29yeV9mbGF0bGlzdCgkbm9kZVsxXSwkcGlkKSk7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgICRwaWQgPSAoaW50KXN1YnN0cigkbm9kZSxzdHJsZW4oJ2NhdF8nKSk7CgkgICRkYXRhW10gPSBhcnJheSgnaWQnPT4kcGlkLCdwYXJlbnRfaWQnPT4kcGFyZW50X2lkLCdvcmRlcic9PiRvcmRlcik7Cgl9CiAgICAgICRvcmRlcisrOwogICAgfQogIHJldHVybiAkZGF0YTsKfQoKLy8KLy8gR2V0IHRoZSBkYXRhCi8vCiR0cmVlID0gbGlzZV9nZXRfY2F0ZWdvcnlfdHJlZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkpOwoKLy9wcmludF9yKCR0cmVlKTsKCi8vCi8vIEhhbmRsZSBmb3JtIHN1Ym1pc3Npb24KLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yeXRhYicpKTsKICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIAogIHsKCiAgICAkb3JkZXJkYXRhID0ganNvbl9kZWNvZGUoJHBhcmFtc1snb3JkZXJkYXRhJ10pOwoJCiAgICAkZmxhdGxpc3QgPSBsaXNlX2NyZWF0ZV9jYXRlZ29yeV9mbGF0bGlzdCgkb3JkZXJkYXRhKTsKICAgICR0aGV0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlXycuJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpLidfY2F0ZWdvcnknOwoKICAgIC8vIGdldCB0aGUgZnVsbCBjYXRlZ29yeSBsaXN0LgogICAgJGNhdGVnb3JpZXMgPSBhcnJheSgpOwogICAgewogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLiR0aGV0YWJsZS4nIE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkKCXsKCSAgJHJlYyA9ICR0bXBbJGldOwoJICAkY2F0ZWdvcmllc1skcmVjWydjYXRlZ29yeV9pZCddXSA9ICR0bXA7Cgl9CiAgICB9CiAgICAKICAgIC8vIGFuZCB1cGRhdGUgdGhlIGRhdGFiYXNlIHdpdGggb3VyIG5ldyBvcmRlciBpbmZvLgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLiR0aGV0YWJsZS4nIFNFVCBwYXJlbnRfaWQgPSA/LCBwb3NpdGlvbiA9ID8sIGhpZXJhcmNoeSA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKICAgIGZvcmVhY2goICRmbGF0bGlzdCBhcyAkcmVjICkKICAgICAgewoJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlY1sncGFyZW50X2lkJ10sJHJlY1snb3JkZXInXSwnJywkcmVjWydpZCddKSk7CiAgICAgIH0KICAgIExJU0VDYXRlZ29yeU9wZXJhdGlvbnM6OlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygkdGhpcyk7CiAgICAKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcnl0YWInLCAnbWVzc2FnZScgPT4gJ2NoYW5nZXNzYXZlZCcpKTsKICB9CgovLwovLyBnaXZlIGRhdGEgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fcmVvcmRlcmNhdGVnb3J5JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHNtYXJ0eS0+YXNzaWduKCd0cmVlJywkdHJlZSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9yZW9yZGVyY2F0ZWdvcnkudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_requirefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9ucycpKSByZXR1cm47CgppZighaXNzZXQoJHBhcmFtc1sncmVxdWlyZSddKSB8fCAhaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkpCnsKCWRpZSgnbWlzc2luZyBwYXJhbWV0ZXIsIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4nKTsKfQoKJGZpZWxkZGVmX2lkID0gKGludCkkcGFyYW1zWydmaWVsZGRlZl9pZCddOwokcmVxdWlyZWQgPSAoYm9vbCkkcGFyYW1zWydyZXF1aXJlJ107CgokcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCByZXF1aXJlZCA9ID8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHJlcXVpcmVkLCAkZmllbGRkZWZfaWQpKTsKCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CiRqc29uID0gbmV3IHN0ZENsYXNzOwoKaWYgKCRyZXF1aXJlZCkgewoKCSRqc29uLT5pbWFnZSA9ICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9yZXF1aXJlZmllbGRkZWYnLCAkcmV0dXJuaWQsICcnLCBhcnJheSgncmVxdWlyZScgPT4gMCwnZmllbGRkZWZfaWQnID0+ICRmaWVsZGRlZl9pZCksICcnLCB0cnVlKTsKfSBlbHNlIHsKCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOwoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9yZXF1aXJlZmllbGRkZWYnLCAkcmV0dXJuaWQsICcnLGFycmF5KCdyZXF1aXJlJyA9PiAxLCdmaWVsZGRlZl9pZCcgPT4gJGZpZWxkZGVmX2lkKSwgJycsIHRydWUpOwp9CgovLyBGaXggVVJMIGZvciBKU09OIG91dHB1dAokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7CgpoZWFkZXIoIkNvbnRlbnQtdHlwZTphcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04Iik7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IApmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKZWNobyBqc29uX2VuY29kZSgkanNvbik7CmV4aXQoKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_setdefaulttemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9ucycpKQ0KICAgIHJldHVybjsNCg0KaWYgKCFpc3NldCgkcGFyYW1zWyduYW1lJ10pKSB7DQogICAgZGllKCdtaXNzaW5nIHBhcmFtZXRlciwgdGhpcyBzaG91bGQgbm90IGhhcHBlbicpOw0KfQ0KDQpsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkcGFyYW1zWyduYW1lJ10sIDIpOw0KDQovLyBzZXQgZGVmYXVsdCB0ZW1wbGF0ZSBwcmVmZXJlbmNlDQokdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfJy4kdHBsX3R5cGUuJ190ZW1wbGF0ZScsICR0cGxfbmFtZSk7DQoNCi8vIGFsbCBkb25lDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgnYWN0aXZlX3RhYicgPT4gJ3RlbXBsYXRldGFiJykpOw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_setfielddefvalue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKSByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpDQoJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIScpOw0KDQokZmlkID0gKGludCkkcGFyYW1zWydmaWVsZGRlZl9pZCddOw0KJGl0ZW1faWQgPSAoaW50KSRwYXJhbXNbJ2l0ZW1faWQnXTsJDQoJDQokdmFsdWUgPSAnJzsJDQppZiAoaXNzZXQoJHBhcmFtc1sndmFsdWUnXSkpIHsNCg0KCSR2YWx1ZSA9ICRwYXJhbXNbJ3ZhbHVlJ107DQp9DQoNCiRxdWVyeSAgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7DQokcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmaWQpKTsNCg0KJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZpZCwgJHZhbHVlKSk7DQoJDQokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IA0KZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0NCg0KJGpzb24gPSBuZXcgc3RkQ2xhc3M7DQoNCiRqc29uLT52YWx1ZSA9ICR2YWx1ZTsNCg0KLy8gRml4IFVSTCBmb3IgSlNPTiBvdXRwdXQNCiRqc29uLT5ocmVmID0gaHRtbF9lbnRpdHlfZGVjb2RlKCRqc29uLT5ocmVmKTsNCg0KaGVhZGVyKCJDb250ZW50LXR5cGU6YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCIpOw0KDQokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IA0KZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0NCg0KZWNobyBqc29uX2VuY29kZSgkanNvbik7DQpleGl0KCk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.admin_togglefielddefvalue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKSByZXR1cm47DQoNCmlmICghaXNzZXQoJHBhcmFtc1snZmllbGRkZWZfaWQnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2l0ZW1faWQnXSkpDQoJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJ01pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuIScpOw0KDQokZmlkID0gKGludCkkcGFyYW1zWydmaWVsZGRlZl9pZCddOw0KJGl0ZW1faWQgPSAoaW50KSRwYXJhbXNbJ2l0ZW1faWQnXTsJDQoJDQokdmFsdWUgPSAnJzsJDQppZiAoaXNzZXQoJHBhcmFtc1sndmFsdWUnXSkpIHsNCg0KCSR2YWx1ZSA9ICRwYXJhbXNbJ3ZhbHVlJ10gPyAkcGFyYW1zWyd2YWx1ZSddIDogZmFsc2U7DQp9DQoNCiRxdWVyeSAgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwgV0hFUkUgaXRlbV9pZCA9ID8gQU5EIGZpZWxkZGVmX2lkID0gPyc7DQokcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1faWQsICRmaWQpKTsNCg0KJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCAoaXRlbV9pZCwgZmllbGRkZWZfaWQsIHZhbHVlKSBWQUxVRVMgKD8sID8sID8pJzsNCiRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbV9pZCwgJGZpZCwgJHZhbHVlKSk7DQoNCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7DQokanNvbiA9IG5ldyBzdGRDbGFzczsNCg0KaWYgKCR2YWx1ZSkgew0KDQoJJGpzb24tPmltYWdlID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ3JldmVydCcpLCAnJywgJycsICdzeXN0ZW1pY29uJyk7DQoJJGpzb24tPmhyZWYgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZnZhbHVlJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ2ZpZWxkZGVmX2lkJyA9PiAkZmlkLCAnaXRlbV9pZCcgPT4gJGl0ZW1faWQsICd2YWx1ZScgPT4gMCksICcnLCB0cnVlKTsNCn0gZWxzZSB7DQoNCgkkanNvbi0+aW1hZ2UgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FwcHJvdmUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpOw0KCSRqc29uLT5ocmVmID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fdG9nZ2xlZmllbGRkZWZ2YWx1ZScsICRyZXR1cm5pZCwgJycsIGFycmF5KCdmaWVsZGRlZl9pZCcgPT4gJGZpZCwgJ2l0ZW1faWQnID0+ICRpdGVtX2lkLCAndmFsdWUnID0+IDEpLCAnJywgdHJ1ZSk7DQp9DQoNCi8vIEZpeCBVUkwgZm9yIEpTT04gb3V0cHV0DQokanNvbi0+aHJlZiA9IGh0bWxfZW50aXR5X2RlY29kZSgkanNvbi0+aHJlZik7DQoNCmhlYWRlcigiQ29udGVudC10eXBlOmFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgiKTsNCg0KJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyANCmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9DQoNCmVjaG8ganNvbl9lbmNvZGUoJGpzb24pOw0KZXhpdCgpOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.ajax.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3Vzcl9mdW5jdGlvbiddKSApCnsKCSR1c3JfcGFyYW1zID0gYXJyYXkoKTsKICAKCWlmKGlzc2V0KCRwYXJhbXNbJ3BhcmFtcyddKSkKCXsKCQlpZihpc19hcnJheSgkcGFyYW1zWydwYXJhbXMnXSkpCgkJewoJCQkkdXNyX3BhcmFtcyA9IGFycmF5KCRwYXJhbXNbJ3BhcmFtcyddKTsKCQl9CgkJZWxzZQoJCXsKCQkJJHVzcl9wYXJhbXMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1sncGFyYW1zJ10pOwoJCX0KCX0KICAKCWVjaG8gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMsICRwYXJhbXNbJ3Vzcl9mdW5jdGlvbiddKSwgJHVzcl9wYXJhbXMpOwoJZXhpdDsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.ajax_geturl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKKiBiYXNlZCBvbiBDR0Jsb2cgb3duIGFjdGlvbi5hamF4X2dldHVybC5waHAKKi8KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsKJGl0ZW1faWQgPSAnJzsKaWYoIGlzc2V0KCRfUkVRVUVTVFsnaXRlbWlkJ10pICkgJGl0ZW1faWQgPSAoaW50KSRfUkVRVUVTVFsnaXRlbWlkJ107CgokcHJlZml4ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoICd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSApOwokdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJsdGVtcGxhdGUnLCAneyRwcmVmaXh9L3skaXRlbV90aXRsZX0nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKJHNtYXJ0eS0+YXNzaWduKCdpdGVtX3RpdGxlJywgbXVuZ2Vfc3RyaW5nX3RvX3VybCggdHJpbSgkX1JFUVVFU1RbJ3RpdGxlJ10pICkgKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmVmaXgnLCAkcHJlZml4KTsKCiR0ZXN0ID0gMDsKJHVybCA9ICcnOwpjbXNfcm91dGVfbWFuYWdlcjo6bG9hZF9yb3V0ZXMoKTsKJHVybCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgne3N0cmlwfScuJHRlbXBsYXRlLid7L3N0cmlwfScpOwoKd2hpbGUoICR0ZXN0IDwgMTAwICkgCnsKICAvLyBnZW5lcmF0ZSBhIHVuaXF1ZSByYW5kb20gdXJsLgogIGlmKCAkdGVzdCA+IDEgKSAkdXJsIC49ICctJy4kdGVzdDsKCiAgJHVybCA9IHRyaW0oJHVybCwiIC9cdFxyXG5cMFx4MDgiKTsKICAkcm91dGUgPSBjbXNfcm91dGVfbWFuYWdlcjo6ZmluZF9tYXRjaCgkdXJsKTsKICBpZigkcm91dGUpIAogIHsKICAgICRkZmx0cyA9ICRyb3V0ZS0+Z2V0X2RlZmF1bHRzKCk7CiAgICBpZiggJHJvdXRlLT5pc19jb250ZW50KCkgfHwgJHJvdXRlLT5nZXRfZGVzdCgpICE9ICR0aGlzLT5HZXROYW1lKCkgfHwgIWlzc2V0KCRkZmx0c1snYXJ0aWNsZWlkJ10pIHx8ICRkZmx0c1snYXJ0aWNsZWlkJ10gIT0gJGl0ZW1faWQgKQogICAgewogICAgICAvLyByb3V0ZSBpcyB1c2VkLgogICAgICAkdGVzdCsrOwogICAgICBjb250aW51ZTsKICAgIH0KICB9CgogIGJyZWFrOwp9CgplY2hvICR1cmw7Cj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.archive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgb2JqZWN0cw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokcXVlcnkgPSAkdGhpcy0+R2V0QXJjaGl2ZVF1ZXJ5KCRwYXJhbXMpOw0KDQpFdmVudHM6OlNlbmRFdmVudCgkdGhpcy0+R2V0TmFtZSgpLCAnUHJlUmVuZGVyQWN0aW9uJywgYXJyYXkoJ2FjdGlvbl9uYW1lJyA9PiAkbmFtZSwgJ3F1ZXJ5X29iamVjdCcgPT4gJiRxdWVyeSkpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENoZWNrIHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQovL3doaWNoIHRlbXBsYXRlIHRvIHVzZQ0KJGFyY2hpdmV0ZW1wbGF0ZSA9ICdhcmNoaXZlXycuJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2FyY2hpdmVfdGVtcGxhdGUnKTsNCmlmKGlzc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX2FyY2hpdmUnXSkpIHsNCgkkYXJjaGl2ZXRlbXBsYXRlID0gJ2FyY2hpdmVfJy4kcGFyYW1zWyd0ZW1wbGF0ZV9hcmNoaXZlJ107DQp9DQplbHNlaWYoaXNzZXQoJHBhcmFtc1snYXJjaGl2ZXRlbXBsYXRlJ10pKSB7DQoJJGFyY2hpdmV0ZW1wbGF0ZSA9ICdhcmNoaXZlXycuJHBhcmFtc1sndGVtcGxhdGVfYXJjaGl2ZSddOw0KfQ0KDQovLyBTdW1tYXJ5IHBhZ2UgY2hlY2sNCiRzdW1tYXJ5cGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cGFnZScsICRyZXR1cm5pZCk7DQppZihpc3NldCgkcGFyYW1zWydzdW1tYXJ5cGFnZSddKSkgew0KDQoJaWYoaXNfbnVtZXJpYygkcGFyYW1zWydzdW1tYXJ5cGFnZSddKSkgew0KCQkkc3VtbWFyeXBhZ2UgPSAkcGFyYW1zWydzdW1tYXJ5cGFnZSddOw0KCX0NCgllbHNlIHsNCgkJaWYoIWlzc2V0KCRobSkpDQoJCQkkaG0gPSBjbXNtcygpLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQoJCQ0KCQkkc3VtbWFyeXBhZ2UgPSAkaG0tPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydzdW1tYXJ5cGFnZSddKS0+R2V0SWQoKTsNCgl9DQp9DQoNCiRkZWJ1ZyA9IChpc3NldCgkcGFyYW1zWydkZWJ1ZyddKSA/IHRydWUgOiBmYWxzZSk7DQokaW5saW5lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgMCk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgSW5pdCBpdGVtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokcXVlcnktPkFwcGVuZFRvKExJU0VRdWVyeTo6VkFSVFlQRV9XSEVSRSwgJ0EuYWN0aXZlID0gMScpOw0KJHJlc3VsdCA9ICRxdWVyeS0+RXhlY3V0ZSh0cnVlKTsNCg0KJGl0ZW1zID0gYXJyYXkoKTsNCndoaWxlKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsNCg0KCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3M7DQoJJG9uZXJvdy0+bW9udGggCQkJCQk9ICRyb3dbJ21vbnRoJ107DQoJJG9uZXJvdy0+eWVhciAJCQkJCT0gJHJvd1sneWVhciddOw0KCSRvbmVyb3ctPmNvdW50IAkJCQkJPSAkcm93Wydjb3VudCddOw0KCSRvbmVyb3ctPnRpbWVzdGFtcCAJCQkJPSBta3RpbWUoMCwwLDAsJHJvd1snbW9udGgnXSwxLCRyb3dbJ3llYXInXSk7DQoJDQoJJGxpbmtwYXJhbXMgPSBhcnJheSgpOw0KCSRsaW5rcGFyYW1zWydmaWx0ZXJfeWVhciddIAkJPSAkb25lcm93LT55ZWFyOw0KCSRsaW5rcGFyYW1zWydmaWx0ZXJfbW9udGgnXSAJPSAkb25lcm93LT5tb250aDsNCgkNCglsaXNlX3V0aWxzOjpjbGVhbl9wYXJhbXMoJHBhcmFtcywgYXJyYXkoJ3JldHVybmlkJykpOw0KCSRsaW5rcGFyYW1zID0gYXJyYXlfbWVyZ2UoJGxpbmtwYXJhbXMsICRwYXJhbXMpOw0KDQoJJG9uZXJvdy0+dXJsID0gJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJycsICRsaW5rcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSk7DQoNCgkkaXRlbXNbXSA9ICRvbmVyb3c7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHNtYXJ0eS0+YXNzaWduKCdhcmNoaXZlcycsICRpdGVtcyk7DQokc21hcnR5LT5hc3NpZ24oJHRoaXMtPkdldE5hbWUoKSAuJ19hcmNoaXZlcycsICRpdGVtcyk7IC8vIDwtIEFsaWFzIGZvciAkYXJjaGl2ZXMNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRhcmNoaXZldGVtcGxhdGUpOw0KDQppZigkZGVidWcpIA0KCSRzbWFydHktPmRpc3BsYXkoJ3N0cmluZzo8cHJlPnskYXJjaGl2ZXN8QHByaW50X3J9PC9wcmU+Jyk7DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/framework/action.category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgb2JqZWN0cw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokcXVlcnlfb2JqZWN0ID0gJHRoaXMtPkdldENhdGVnb3J5UXVlcnkoJHBhcmFtcyk7DQoNCkV2ZW50czo6U2VuZEV2ZW50KCR0aGlzLT5HZXROYW1lKCksICdQcmVSZW5kZXJBY3Rpb24nLCBhcnJheSgnYWN0aW9uX25hbWUnID0+ICRuYW1lLCAncXVlcnlfb2JqZWN0JyA9PiAmJHF1ZXJ5X29iamVjdCkpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy93aGljaCB0ZW1wbGF0ZSB0byB1c2UNCiR0ZW1wbGF0ZSA9ICdjYXRlZ29yeV8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF9jYXRlZ29yeV90ZW1wbGF0ZScpOw0KaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfY2F0ZWdvcnknXSkpIHsNCgkkdGVtcGxhdGUgPSAnY2F0ZWdvcnlfJy4kcGFyYW1zWyd0ZW1wbGF0ZV9jYXRlZ29yeSddOw0KfQ0KZWxzZWlmKGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5dGVtcGxhdGUnXSkpIHsNCgkkdGVtcGxhdGUgPSAnY2F0ZWdvcnlfJy4kcGFyYW1zWydjYXRlZ29yeXRlbXBsYXRlJ107DQp9DQoNCiRkZWJ1ZyA9IChpc3NldCgkcGFyYW1zWydkZWJ1ZyddKSA/IHRydWUgOiBmYWxzZSk7DQokaW5saW5lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgMCk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgSW5pdCBpdGVtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokcXVlcnlfb2JqZWN0LT5BcHBlbmRUbyhMSVNFUXVlcnk6OlZBUlRZUEVfV0hFUkUsICdCLmFjdGl2ZSA9IDEgQU5EIEIucGFyZW50X2lkID0gLTEnKTsNCiRkYnIgPSAkcXVlcnlfb2JqZWN0LT5FeGVjdXRlKHRydWUpOw0KDQokaXRlbXMgPSBhcnJheSgpOw0Kd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7DQoNCgkkaXRlbXNbJGRici0+ZmllbGRzWydjYXRlZ29yeV9pZCddXSA9ICRkYnItPmZpZWxkc1snY2F0ZWdvcnlfaWQnXTsNCgkkZGJyLT5Nb3ZlTmV4dCgpOw0KfQ0KDQppZigkZGJyKSANCgkkZGJyLT5DbG9zZSgpOwkNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCdWlsZCBoaWVyYXJjaHkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KLy8gU2V0IGNvbGxhcHNlIHRydWUvZmFsc2UNCiRzaG93cGFyZW50cyA9IGFycmF5KCk7DQppZiAoaXNzZXQoJHBhcmFtc1snY29sbGFwc2UnXSkpIHsNCg0KCS8vIEdyYXAgY3VycmVudCBwYXRoDQoJJGN1cnJlbnRfcGF0aCA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCdsaXNlX2lkX2hpZXJhcmNoeScpOw0KDQoJaWYgKCRjdXJyZW50X3BhdGgpIHsNCgkNCgkJJHNwbGl0dGVkX3BhdGggPSBleHBsb2RlKCcuJywgJGN1cnJlbnRfcGF0aCk7DQoJCWZvcmVhY2goJHNwbGl0dGVkX3BhdGggYXMgJHBhdGgpIHsNCgkJDQoJCQkkc2hvd3BhcmVudHNbXSA9ICRwYXRoOw0KCQl9DQoJfQ0KfQ0KDQokb3JpZ2RlcHRoID0gMTsNCiRwcmV2ZGVwdGggPSAxOw0KJGNvdW50ID0gMDsNCiRub2RlbGlzdCA9IGFycmF5KCk7DQoNCkxJU0VIaWVyYXJjaHlNYW5hZ2VyOjpHZXRDaGlsZE5vZGVzKCR0aGlzLCAkaWQsICRyZXR1cm5pZCwgJGl0ZW1zLCAkbm9kZWxpc3QsICRjb3VudCwgJHByZXZkZXB0aCwgJG9yaWdkZXB0aCwgJHBhcmFtcywgJHNob3dwYXJlbnRzKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCAkbm9kZWxpc3QpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KIyBzbWFsbGlzaCBoYWNrIGZvciB0YWdzDQoNCmlmKCBpc3NldCgkcGFyYW1zWyd0YWcnXSkgKQ0Kew0KICAkcGFyYW1zWydzZWFyY2gnXSA9IHVybGRlY29kZSgkcGFyYW1zWyd0YWcnXSk7DQogIHVuc2V0KCRwYXJhbXNbJ3RhZyddKTsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBJbml0IG9iamVjdHMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJGl0ZW1fcXVlcnkgPSAkdGhpcy0+R2V0SXRlbVF1ZXJ5KCRwYXJhbXMpOw0KDQpFdmVudHM6OlNlbmRFdmVudCgkdGhpcy0+R2V0TmFtZSgpLCAnUHJlUmVuZGVyQWN0aW9uJywgYXJyYXkoJ2FjdGlvbl9uYW1lJyA9PiAkbmFtZSwgJ3F1ZXJ5X29iamVjdCcgPT4gJiRpdGVtX3F1ZXJ5KSk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgQ2hlY2sgcGFyYW1zDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCi8vd2hpY2ggdGVtcGxhdGUgdG8gdXNlDQokc3VtbWFyeXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZScpOw0KDQppZihpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9zdW1tYXJ5J10pKSANCnsNCgkkc3VtbWFyeXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kcGFyYW1zWyd0ZW1wbGF0ZV9zdW1tYXJ5J107DQp9DQplbHNlaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ10pKSANCnsNCgkkc3VtbWFyeXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXTsNCn0NCg0KLy8gRGV0YWlsIHBhZ2UgY2hlY2sNCiRkZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLCAkcmV0dXJuaWQpOw0KDQppZihpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKSANCnsNCglpZihpc19udW1lcmljKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIA0KICB7DQoJCSRkZXRhaWxwYWdlID0gJHBhcmFtc1snZGV0YWlscGFnZSddOw0KCX0NCgllbHNlIA0KICB7DQoJCWlmKCFpc3NldCgkaG0pKQ0KCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkNCgkJJGRldGFpbHBhZ2UgPSAkaG0tPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pLT5HZXRJZCgpOw0KCX0NCn0NCg0KLy8gU3VtbWFyeSBwYWdlIGNoZWNrDQokc3VtbWFyeXBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCAkcmV0dXJuaWQpOw0KDQppZihpc3NldCgkcGFyYW1zWydzdW1tYXJ5cGFnZSddKSkgDQp7DQoJaWYoaXNfbnVtZXJpYygkcGFyYW1zWydzdW1tYXJ5cGFnZSddKSkgDQogIHsNCgkJJHN1bW1hcnlwYWdlID0gJHBhcmFtc1snc3VtbWFyeXBhZ2UnXTsNCgl9DQoJZWxzZSANCiAgew0KCQlpZighaXNzZXQoJGhtKSkNCgkJCSRobSA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJDQoJCSRzdW1tYXJ5cGFnZSA9ICRobS0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pLT5HZXRJZCgpOw0KCX0NCn0NCg0KJGRlYnVnID0gKGlzc2V0KCRwYXJhbXNbJ2RlYnVnJ10pID8gdHJ1ZSA6IGZhbHNlKTsNCiRpbmxpbmUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCAwKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBJbml0IGl0ZW1zDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRpdGVtX3F1ZXJ5LT5BcHBlbmRUbyhMSVNFUXVlcnk6OlZBUlRZUEVfV0hFUkUsICdBLmFjdGl2ZSA9IDEnKTsNCiRyZXN1bHQgPSAkaXRlbV9xdWVyeS0+RXhlY3V0ZSh0cnVlKTsNCg0KJGl0ZW1zID0gYXJyYXkoKTsNCndoaWxlKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIA0Kew0KCWlmKCFpc3NldCgkdGhpcy0+X2l0ZW1fY2FjaGVbJHJvd1snaXRlbV9pZCddXSkpIA0KICB7DQoJCSRjYWNoZSA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oKTsNCgkJTElTRUl0ZW1PcGVyYXRpb25zOjpMb2FkKCR0aGlzLCAkY2FjaGUsICRyb3cpOwkNCgkJJHRoaXMtPl9pdGVtX2NhY2hlW10gPSAkY2FjaGU7DQoJfQ0KDQoJJG9iaiA9IGNsb25lICR0aGlzLT5faXRlbV9jYWNoZVskcm93WydpdGVtX2lkJ11dOw0KCQ0KCSRsaW5rcGFyYW1zID0gYXJyYXkoKTsNCgkkbGlua3BhcmFtc1snaXRlbSddIAkJCT0gJG9iai0+YWxpYXM7DQoJDQoJbGlzZV91dGlsczo6Y2xlYW5fcGFyYW1zKCRwYXJhbXMsIGFycmF5KCdyZXR1cm5pZCcpKTsNCgkkbGlua3BhcmFtcyA9IGFycmF5X21lcmdlKCRsaW5rcGFyYW1zLCAkcGFyYW1zKTsNCiAgDQogICRwcmV0dHlfdXJsID0JJG9iai0+dXJsOw0KDQoJJG9iai0+dXJsID0gJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGV0YWlsJywgJGRldGFpbHBhZ2UsICcnLCAkbGlua3BhcmFtcywgJycsIHRydWUsICRpbmxpbmUsICcnLCBmYWxzZSwgJHByZXR0eV91cmwpOw0KICANCiAgLy8gbGV0cyBkZWFsIHdpdGggdGFncyBpZiB0aGV5IGFyZSBhdmFpbGFibGUNCiAgZm9yZWFjaCgkb2JqLT5maWVsZGRlZnMgYXMgJG9uZSkNCiAgew0KICAgICRsaW5rcGFyYW1zID0gYXJyYXkoKTsNCiAgICBpZiggJ1RhZ3MnICE9PSAkb25lLT50eXBlKSBjb250aW51ZTsNCiAgICAkb25lLT5TZXRUYWdzUGFyYW1zKCR0aGlzLCAkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkbGlua3BhcmFtcyk7DQogIH0NCiAgDQoJJGl0ZW1zWyRyb3dbJ2l0ZW1faWQnXV0gPSAkb2JqOwkNCiAgJHRvdGFsY291bnQgPSAkaXRlbV9xdWVyeS0+VG90YWxDb3VudCgpOw0KICANCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokcGFnZW51bWJlciA9ICRpdGVtX3F1ZXJ5LT5HZXRQYWdlTnVtYmVyKCk7DQokcGFnZWNvdW50ID0gJGl0ZW1fcXVlcnktPkdldFBhZ2VDb3VudCgpOw0KJHNtYXJ0eS0+YXNzaWduKCd0b3RhbGNvdW50JywgJHRvdGFsY291bnQpOw0KDQovLyBBc3NpZ24gc29tZSBwYWdpbmF0aW9uIHZhcmlhYmxlcyB0byBzbWFydHkNCmlmKCRwYWdlbnVtYmVyID09IDEpIHsNCg0KCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCR0aGlzLT5Nb2RMYW5nKCdwcmV2cGFnZScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0cGFnZScsJHRoaXMtPk1vZExhbmcoJ2ZpcnN0cGFnZScpKTsNCn0gZWxzZSB7DQoNCgkkcGFyYW1zWydwYWdlbnVtYmVyJ10gPSAkcGFnZW51bWJlci0xOw0KCSRzbWFydHktPmFzc2lnbigncHJldnBhZ2UnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkdGhpcy0+TW9kTGFuZygncHJldnBhZ2UnKSwkcGFyYW1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ3ByZXZ1cmwnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCcnLCAkcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSkpOw0KCSRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9IDE7DQoJJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2UnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkdGhpcy0+TW9kTGFuZygnZmlyc3RwYWdlJyksJHBhcmFtcywgJycsIGZhbHNlLCAkaW5saW5lKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHVybCcsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsJycsICRwYXJhbXMsICcnLCB0cnVlLCAkaW5saW5lKSk7DQp9DQoNCmlmKCRwYWdlbnVtYmVyID49ICRwYWdlY291bnQpIHsNCg0KCSRzbWFydHktPmFzc2lnbignbmV4dHBhZ2UnLCR0aGlzLT5Nb2RMYW5nKCduZXh0cGFnZScpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlJywkdGhpcy0+TW9kTGFuZygnbGFzdHBhZ2UnKSk7DQp9IGVsc2Ugew0KDQoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2VudW1iZXIrMTsNCgkkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlJywgJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJHRoaXMtPk1vZExhbmcoJ25leHRwYWdlJyksICRwYXJhbXMsICcnLCBmYWxzZSwgJGlubGluZSkpOw0KCSRzbWFydHktPmFzc2lnbignbmV4dHVybCcsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICcnLCAkcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSkpOw0KCSRwYXJhbXNbJ3BhZ2VudW1iZXInXSA9ICRwYWdlY291bnQ7DQoJJHNtYXJ0eS0+YXNzaWduKCdsYXN0cGFnZScsICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICR0aGlzLT5Nb2RMYW5nKCdsYXN0cGFnZScpLCAkcGFyYW1zLCAnJywgZmFsc2UsICRpbmxpbmUpKTsNCgkkc21hcnR5LT5hc3NpZ24oJ2xhc3R1cmwnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAnJywgJHBhcmFtcywgJycsIHRydWUsICRpbmxpbmUpKTsNCn0NCg0KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywkcGFnZW51bWJlcik7DQokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHBhZ2Vjb3VudCk7DQoNCiRwYWdlbGlua3MgPSBhcnJheSgpOw0Kd2hpbGUoJHBhZ2Vjb3VudCkgew0KDQoJJG9iaiA9IG5ldyBzdGRDbGFzcygpOw0KDQoJJHBhcmFtc1sncGFnZW51bWJlciddID0gJHBhZ2Vjb3VudDsNCgkkb2JqLT5saW5rID0gJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAnZGVmYXVsdCcsICRzdW1tYXJ5cGFnZSwgJHBhZ2Vjb3VudCwgJHBhcmFtcywgJycsIGZhbHNlLCAkaW5saW5lKTsNCgkkb2JqLT51cmwgPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAnJywgJHBhcmFtcywgJycsIHRydWUsICRpbmxpbmUpOw0KCQ0KCSRwYWdlbGlua3NbJHBhZ2Vjb3VudF0gPSAkb2JqOw0KCSRwYWdlY291bnQtLTsNCn0NCg0KJHBhZ2VsaW5rcyA9IGFycmF5X3JldmVyc2UoJHBhZ2VsaW5rcywgdHJ1ZSk7DQoNCiRzbWFydHktPmFzc2lnbigncGFnZWxpbmtzJywgJHBhZ2VsaW5rcyk7DQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1zKTsNCiRzbWFydHktPmFzc2lnbignTElTRV9hY3Rpb24nLCAnZGVmYXVsdCcpOw0KJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5HZXROYW1lKCkgLidfaXRlbXMnLCAkaXRlbXMpOyAvLyA8LSBBbGlhcyBmb3IgJGl0ZW1zDQoNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkc3VtbWFyeXRlbXBsYXRlKTsNCg0KaWYoJGRlYnVnKSANCgkkc21hcnR5LT5kaXNwbGF5KCdzdHJpbmc6PHByZT57JGl0ZW1zfEBwcmludF9yfTwvcHJlPicpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9pdGVtJykpCglyZXR1cm47CgovLyBHZXQgcHJlZnMKJHNob3dfY2F0ZWdvcmllcyA9IExJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OlRlc3RFeGlzdGFuY2VCeVR5cGUoJHRoaXMsICdDYXRlZ29yaWVzJyk7CgkKaWYgKGlzc2V0KCRwYXJhbXNbJ21lc3NhZ2UnXSkpIHsKCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5Nb2RMYW5nKCRwYXJhbXNbJ21lc3NhZ2UnXSkpOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snZXJyb3JzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2Vycm9ycyddKSkgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkcGFyYW1zWydlcnJvcnMnXSk7Cn0KCmlmICghZW1wdHkoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgewoJJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsKfSBlbHNlIHsKCSR0YWIgPSAnaXRlbXRhYic7Cn0KCiMgc29tZXRoaW5nIG9kZCB3aXRoIHByZWZlcmVuY2VzIGluIDIuMCA/Pz8gdGhpcyBpcyBhIHdvcmthcm91bmQgCiRwcmVmID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpOwokaXRlbV9wbHVyYWxfc3RyaW5nID0gZW1wdHkoJHByZWYpID8gJHRoaXMtPk1vZExhbmcoJ2l0ZW1zJykgOiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9wbHVyYWwnLCAnJyk7CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdpdGVtdGFiJywgJGl0ZW1fcGx1cmFsX3N0cmluZywgKCR0YWIgPT0gJ2l0ZW10YWInKSk7CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9jYXRlZ29yeScpICYmICRzaG93X2NhdGVnb3JpZXMpIHsKCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcnl0YWInLCAkdGhpcy0+TW9kTGFuZygnY2F0ZWdvcmllcycpLCAoJHRhYiA9PSAnY2F0ZWdvcnl0YWInKSk7Cn0KCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKSB7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ2ZpZWxkZGVmdGFiJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmcycpLCAoJHRhYiA9PSAnZmllbGRkZWZ0YWInKSk7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ3RlbXBsYXRldGFiJywgJHRoaXMtPk1vZExhbmcoJ3RlbXBsYXRlcycpLCAoJHRhYiA9PSAndGVtcGxhdGV0YWInKSk7CgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoJ29wdGlvbnRhYicsICR0aGlzLT5Nb2RMYW5nKCdvcHRpb25zJyksICgkdGFiID09ICdvcHRpb250YWInKSk7Cn0KCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignaXRlbXRhYicsICRwYXJhbXMpOwppbmNsdWRlIGRpcm5hbWUoX19GSUxFX18pIC4gJy9mdW5jdGlvbi5hZG1pbl9pdGVtdGFiLnBocCc7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKSAmJiAkc2hvd19jYXRlZ29yaWVzKSB7CgllY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcnl0YWInLCAkcGFyYW1zKTsKCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX2NhdGVnb3J5dGFiLnBocCc7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpIHsKCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdmaWVsZGRlZnRhYicsICRwYXJhbXMpOwoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fZmllbGRkZWZ0YWIucGhwJzsKCWVjaG8gJHRoaXMtPkVuZFRhYigpOwoJCgllY2hvICR0aGlzLT5TdGFydFRhYigndGVtcGxhdGV0YWInLCAkcGFyYW1zKTsKCWluY2x1ZGUgZGlybmFtZShfX0ZJTEVfXykgLiAnL2Z1bmN0aW9uLmFkbWluX3RlbXBsYXRldGFiLnBocCc7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKCQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoJ29wdGlvbnRhYicsICRwYXJhbXMpOwoJaW5jbHVkZSBkaXJuYW1lKF9fRklMRV9fKSAuICcvZnVuY3Rpb24uYWRtaW5fb3B0aW9udGFiLnBocCc7CgllY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENoZWNrIHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoIWlzc2V0KCRwYXJhbXNbJ2l0ZW0nXSkpIHsNCiAgICBkaWUoJ21pc3NpbmcgcGFyYW1ldGVyLCB0aGlzIHNob3VsZCBub3QgaGFwcGVuJyk7DQp9DQoNCiR0ZW1wbGF0ZSA9ICdkZXRhaWxfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJyk7DQppZiAoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ10pKSB7DQoNCgkkdGVtcGxhdGUgPSAnZGV0YWlsXycuJHBhcmFtc1sndGVtcGxhdGVfZGV0YWlsJ107DQp9DQplbHNlaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSB7DQoNCgkkdGVtcGxhdGUgPSAnZGV0YWlsXycuJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsNCn0NCg0KaWYoaXNzZXQoJHBhcmFtc1snaXRlbSddKSkgew0KCWNtc191dGlsczo6c2V0X2FwcF9kYXRhKCdsaXNlX2l0ZW0nLCAkcGFyYW1zWydpdGVtJ10pOw0KfQkNCg0KLy8gU3VtbWFyeSBwYWdlIGNoZWNrDQokc3VtbWFyeXBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCAkcmV0dXJuaWQpOw0KaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsNCg0KCWlmKGlzX251bWVyaWMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsNCgkJJHN1bW1hcnlwYWdlID0gJHBhcmFtc1snc3VtbWFyeXBhZ2UnXTsNCgl9DQoJZWxzZSB7DQoJCWlmKCFpc3NldCgkaG0pKQ0KCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkNCgkJJHN1bW1hcnlwYWdlID0gJGhtLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSktPkdldElkKCk7DQoJfQ0KfQ0KDQokaWRlbnRpZmllciA9IGlzX251bWVyaWMoJHBhcmFtc1snaXRlbSddKSA/ICdpdGVtX2lkJyA6ICdhbGlhcyc7DQokZGVidWcgPSAoaXNzZXQoJHBhcmFtc1snZGVidWcnXSkgPyB0cnVlIDogZmFsc2UpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgaXRlbQ0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokaXRlbSA9ICR0aGlzLT5Mb2FkSXRlbUJ5SWRlbnRpZmllcigkaWRlbnRpZmllciwgJHBhcmFtc1snaXRlbSddKTsNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiMgcXVpY2sgZGlydHkgZml4IChuZWVkcyB0byBiZSByZXZpc2l0ZWQpDQojIHdlIGRvIG5lZWQgYW4gdXJsIGZvciBlYWNoIGl0ZW0gaGVyZSBhbHJlYWR5IA0KIyBwcm9iYWJseSB0aGVyZSBhcmUgcGFyYW1ldGVycyBtaXNzaW5nIHNvIHRoaXMgbmVlZHMgbW9yZSB3b3JrDQojIEpvTW9yZw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCg0KaWYoIGVtcHR5KCRpdGVtLT51cmwpIHx8ICRjb25maWdbJ3VybF9yZXdyaXRpbmcnXSAhPSAnbW9kX3Jld3JpdGUnKQ0Kew0KICAkZGV0YWlsc3BhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsICRyZXR1cm5pZCk7DQogICRzdHJpbmdfYXJyYXkgPSBhcnJheSgpOw0KICAkc3RyaW5nX2FycmF5W10gPSAkdGhpcy0+cHJlZml4Ow0KICAkc3RyaW5nX2FycmF5W10gPSAkaXRlbS0+YWxpYXM7DQogICRzdHJpbmdfYXJyYXlbXSA9ICRkZXRhaWxzcGFnZTsNCg0KICAkcHJldHR5dXJsID0gaW1wbG9kZSgnLycsICRzdHJpbmdfYXJyYXkpOyAgICANCg0KICAkaXRlbS0+dXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCAnZGV0YWlscycsICRkZXRhaWxzcGFnZSwgYXJyYXkoJ2l0ZW0nID0+ICRwYXJhbXNbJ2l0ZW0nXSksIGZhbHNlLCBmYWxzZSwgJHByZXR0eXVybCk7DQp9DQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovLyBsZXRzIGRlYWwgd2l0aCB0YWdzIGlmIHRoZXkgYXJlIGF2YWlsYWJsZQ0KZm9yZWFjaCgkaXRlbS0+ZmllbGRkZWZzIGFzICRvbmUpDQp7DQogICRsaW5rcGFyYW1zID0gYXJyYXkoKTsNCiAgaWYoICdUYWdzJyAhPT0gJG9uZS0+dHlwZSkgY29udGludWU7DQogICRvbmUtPlNldFRhZ3NQYXJhbXMoJHRoaXMsICRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICRsaW5rcGFyYW1zKTsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW0nLCAkaXRlbSk7DQokc21hcnR5LT5hc3NpZ24oJ0xJU0VfYWN0aW9uJywgJ2RldGFpbCcpOw0KJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5HZXROYW1lKCkgLiAnX2l0ZW0nLCAkaXRlbSk7IC8vIDwtIEFsaWFzIGZvciAkaXRlbQ0KDQokc21hcnR5LT5hc3NpZ24oJ3JldHVybl91cmwnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAnJywgJHBhcmFtcywgJycsIHRydWUpKTsNCiRzbWFydHktPmFzc2lnbigncmV0dXJuX2xpbmsnLCAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsICdkZWZhdWx0JywgJHN1bW1hcnlwYWdlLCAkdGhpcy0+TW9kTGFuZygncmV0dXJuX3VybCcpLCAkcGFyYW1zKSk7IA0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRlbXBsYXRlKTsNCg0KaWYoJGRlYnVnKSANCgkkc21hcnR5LT5kaXNwbGF5KCdzdHJpbmc6PHByZT57JGl0ZW18QHByaW50X3J9PC9wcmU+Jyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENoZWNrIHBhcmFtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokdGVtcGxhdGUgPSAnc2VhcmNoXycuJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X3NlYXJjaF90ZW1wbGF0ZScpOw0KaWYoaXNzZXQoJHBhcmFtc1sndGVtcGxhdGVfc2VhcmNoJ10pKSB7DQoNCgkkdGVtcGxhdGUgPSAnc2VhcmNoXycuJHBhcmFtc1sndGVtcGxhdGVfc2VhcmNoJ107DQp9DQplbHNlaWYoaXNzZXQoJHBhcmFtc1snc2VhcmNodGVtcGxhdGUnXSkpIHsNCg0KCSR0ZW1wbGF0ZSA9ICdzZWFyY2hfJy4kcGFyYW1zWydzZWFyY2h0ZW1wbGF0ZSddOw0KfQ0KDQokc3VtbWFyeXBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCAkcmV0dXJuaWQpOw0KaWYoaXNzZXQoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsNCg0KCWlmKGlzX251bWVyaWMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSkpIHsNCgkJJHN1bW1hcnlwYWdlID0gJHBhcmFtc1snc3VtbWFyeXBhZ2UnXTsNCgl9DQoJZWxzZSB7DQoJCWlmKCFpc3NldCgkaG0pKQ0KCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkNCgkJJHN1bW1hcnlwYWdlID0gJGhtLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJHBhcmFtc1snc3VtbWFyeXBhZ2UnXSktPkdldElkKCk7DQoJfQ0KfQ0KDQokZGVidWcgPSAoaXNzZXQoJHBhcmFtc1snZGVidWcnXSkgPyB0cnVlIDogZmFsc2UpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEdyYXAgdGVtcGxhdGUNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZSk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgSW5pdCBmaWVsZGRlZnMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYoc3RyaXBvcygkdGVtcGxhdGUsICckZmllbGRkZWZzJykpIHsgLy8gPC0gTG9hZCBmaWVsZGRlZnMgb25seSBpZiB3ZSBoYXZlIHZhcmlhYmxlIHJlcXVlc3Qgb24gdGVtcGxhdGUNCg0KCSRmaWx0ZXJzID0gYXJyYXkoKTsNCglpZighZW1wdHkoJHBhcmFtc1snZmlsdGVyJ10pKSB7DQoNCgkJJGZpbHRlcnMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snZmlsdGVyJ10pOw0KCX0NCg0KCSRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKCRmaWx0ZXJzKTsNCglmb3JlYWNoKCRmaWVsZGRlZnMgYXMgJGZpZWxkZGVmKSB7DQoNCgkJTElTRUZpZWxkZGVmT3BlcmF0aW9uczo6TG9hZFZhbHVlc0ZvckZpZWxkRGVmKCR0aGlzLCAkZmllbGRkZWYpOw0KCX0NCg0KCSRzbWFydHktPmFzc2lnbignZmllbGRkZWZzJywgJGZpZWxkZGVmcyk7DQoJJHNtYXJ0eS0+YXNzaWduKCdmaWx0ZXJwcm9tcHQnLCAkdGhpcy0+TW9kTGFuZygnZmlsdGVycHJvbXB0JywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fcGx1cmFsJywgJycpKSk7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2RlZmF1bHQnLCAkc3VtbWFyeXBhZ2UsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnLCBmYWxzZSwgJycsICRwYXJhbXMpKTsNCiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdtb2R1bGVhbGlhcycsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSk7IC8vIERlcHJlY2F0ZWQNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCg0KaWYoJGRlYnVnKSANCgkkc21hcnR5LT5kaXNwbGF5KCdzdHJpbmc6PHByZT57JGZpZWxkZGVmc3xAcHJpbnRfcn08L3ByZT4nKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/framework/action.tagcloud.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KJGZpZWxkZGVmX2lkID0gIExJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OlRlc3RFeGlzdGFuY2VCeVR5cGUoJHRoaXMsICdUYWdzJyk7DQoNCmlmKCEkZmllbGRkZWZfaWQpIHJldHVybjsNCg0KJHRlbXBsYXRlID0gJ3NlYXJjaF8nIC4gJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X3NlYXJjaF90ZW1wbGF0ZScpOw0KDQppZihpc3NldCgkcGFyYW1zWyd0ZW1wbGF0ZV9zZWFyY2gnXSkpIHsNCg0KICAkdGVtcGxhdGUgPSAnc2VhcmNoXycgLiAkcGFyYW1zWyd0ZW1wbGF0ZV9zZWFyY2gnXTsNCn0NCmVsc2VpZihpc3NldCgkcGFyYW1zWydzZWFyY2h0ZW1wbGF0ZSddKSkgew0KDQogICR0ZW1wbGF0ZSA9ICdzZWFyY2hfJyAuICRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ107DQp9DQoNCnVuc2V0KCRwYXJhbXNbJ3RlbXBsYXRlX3NlYXJjaCddKTsNCnVuc2V0KCRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ10pOw0KDQokdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlKTsNCg0KJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQ9PyI7ICANCiRkYnIgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSApOw0KJHJvdyA9ICRkYnItPkZldGNoUm93KCk7DQokb2JqID0gTElTRUZpZWxkZGVmT3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJHJvdyk7DQoNCiR2YWx1ZXMgPSBhcnJheSgpOw0KaWYoIGlzX2EoJG9iaiwgJ0xJU0VGaWVsZGRlZkJhc2UnKSkNCnsNCiAgJHZhbHVlcyA9IExJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OkxvYWRWYWx1ZXNGb3JGaWVsZERlZigkdGhpcywgJG9iaik7DQp9DQoNCiR0bXAgPSBhcnJheSgpOw0KDQpmb3JlYWNoKCR2YWx1ZXMgYXMgJG9uZSkNCnsNCiAgJHRtcCA9IGFycmF5X3VuaXF1ZSggYXJyYXlfbWVyZ2UoJHRtcCwgZXhwbG9kZSgnLCcsICRvbmUpICkgKSA7DQp9DQoNCiR0YWdzID0gYXJyYXkoKTsNCg0KZm9yZWFjaCgkdG1wIGFzICRvbmUpDQp7DQogICRwYXJhbXNbJ3RhZyddID0gdXJsZW5jb2RlKCRvbmUpOw0KICAkdGFnc1skb25lXSA9ICR0aGlzLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCAkcGFyYW1zLCAnJywgVFJVRSk7DQp9DQoNCiRzbWFydHktPmFzc2lnbigndGFncycsICR0YWdzKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/css/backend.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCAqLw0KLmxpc2UtaGlkZGVuIHsNCglkaXNwbGF5OiBub25lOw0KfQ0KDQpkaXYucGFnZWNvbnRhaW5lciBvbHsNCgltYXJnaW46IDAgMCAxZW0gMDsNCglwYWRkaW5nLWxlZnQ6MTVweDsNCn0NCmRpdi5wYWdlY29udGFpbmVyIG9sIGxpew0KCWxpc3Qtc3R5bGU6ZGVjaW1hbDsNCn0NCg0KZGl2LnBhZ2Vjb250YWluZXIgLmxpc2VfZmllbGRzZXQgew0KCW1hcmdpbjogMjBweCAwIDIwcHggNSU7DQoJbWF4LXdpZHRoOiA4MCU7DQoJLW1vei1ib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7DQoJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHggNXB4IDVweCA1cHg7DQoJYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4Ow0KfQ0KZGl2LnBhZ2Vjb250YWluZXIgLmxpc2VfZmllbGRzZXQuT25lRWxldmVuIHsNCgltYXJnaW46IDIwcHggMDsNCn0NCmRpdi5wYWdlY29udGFpbmVyIC5saXNlX2ZpZWxkc2V0IC5wYWdlaW5wdXQsDQpkaXYucGFnZWNvbnRhaW5lciAubGlzZV9maWVsZHNldCAucGFnZXRleHQsDQpkaXYucGFnZWNvbnRhaW5lciAubGlzZV9maWVsZHNldCAuaW5wdXRoZWxwew0KCW1hcmdpbi1sZWZ0OiAxJTsNCn0NCi8qIFF1aWNrIHNlYXJjaCAqLw0KLml0ZW0tc2VhcmNoIHsNCglmbG9hdDpyaWdodDsNCgl0ZXh0LWFsaWduOiByaWdodDsNCgl3aWR0aDogNTAlOw0KCW1hcmdpbi1ib3R0b206IDVweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQoNCi8qIGdsb2JhbCAqLw0KdGFibGUucGFnZXRhYmxlIHRoLmhlYWRlci5uby1zb3J0IHsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lOw0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCnRhYmxlLnBhZ2V0YWJsZSB0aC5oZWFkZXJTb3J0VXAubm8tc29ydCB7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCnRhYmxlLnBhZ2V0YWJsZSB0aC5oZWFkZXJTb3J0RG93bi5uby1zb3J0IHsNCgliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KfQ0KDQojc29ydGFibGVfaXRlbS5mb290YWJsZS5icmVha3BvaW50ID4gdGJvZHkgPiB0ciA+IHRkID4gc3Bhbi5mb290YWJsZS10b2dnbGUgew0KCWNvbG9yOiAjNTg1ODU4Ow0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCg0KI3NvcnRhYmxlX2l0ZW0gLmZvb3RhYmxlLXJvdy1kZXRhaWwtbmFtZSwNCiNzb3J0YWJsZV9pdGVtIC5mb290YWJsZS1yb3ctZGV0YWlsLXZhbHVlIHsNCglwYWRkaW5nOiA0cHggMDsNCn0NCg0KI3NvcnRhYmxlX2l0ZW0gLmZvb3RhYmxlLXJvdy1kZXRhaWwtdmFsdWUgew0KCXBhZGRpbmctbGVmdDogOHB4Ow0KfQ0KDQouY29udGVudCB0ci51aS1zb3J0YWJsZS1oZWxwZXIgew0KCWJveC1zaGFkb3c6IDAgMnB4IDRweCAwICM1ZjVmNWYNCn0NCi5wYWdlc2hvd3Jvd3N7DQoJY2xlYXI6Ym90aDsNCn0NCmEudGh1bWIgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl3aWR0aDogYXV0bzsNCgltYXJnaW46IDVweA0KfQ0KYS50aHVtYiBpbWcgew0KCWJvcmRlcjogbm9uZQ0KfQ0KDQoucGFnZW9wdGlvbnMgYSB7DQoJbWFyZ2luLXJpZ2h0OiA1cHg7DQp9DQoNCnVsLmxpc2UtY29sdW1uLWxpc3Qgew0KCQ0KCW1hcmdpbjogMCAhaW1wb3J0YW50Ow0KfQ0KDQp1bC5saXNlLWNvbHVtbi1saXN0IGxpIHsNCg0KCWZsb2F0OiBsZWZ0Ow0KCW1hcmdpbi1yaWdodDogNCU7DQoJbWFyZ2luLWJvdHRvbTogMTBweDsNCglsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHsNCgkNCgl0YWJsZSNzb3J0YWJsZV9pdGVtID4gdGhlYWQgdGgsDQoJdGFibGUjc29ydGFibGVfaXRlbSA+IHRib2R5IHRkOmZpcnN0LWNoaWxkIHsNCgkJcGFkZGluZy1sZWZ0OiAxMHB4Ow0KCX0NCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/framework/css/colorbox.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICAgIENvbG9yQm94IENvcmUgU3R5bGU6CiAgICBUaGUgZm9sbG93aW5nIENTUyBpcyBjb25zaXN0ZW50IGJldHdlZW4gZXhhbXBsZSB0aGVtZXMgYW5kIHNob3VsZCBub3QgYmUgYWx0ZXJlZC4KKi8KI2NvbG9yYm94LCAjY2JveE92ZXJsYXksICNjYm94V3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgei1pbmRleDo5OTk5OyBvdmVyZmxvdzpoaWRkZW47fQojY2JveE92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2Nib3hNaWRkbGVMZWZ0LCAjY2JveEJvdHRvbUxlZnR7Y2xlYXI6bGVmdDt9CiNjYm94Q29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt9CiNjYm94TG9hZGVkQ29udGVudHtvdmVyZmxvdzphdXRvO30KI2Nib3hUaXRsZXttYXJnaW46MDt9CiNjYm94TG9hZGluZ092ZXJsYXksICNjYm94TG9hZGluZ0dyYXBoaWN7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowOyBsZWZ0OjA7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlO30KI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3NlLCAjY2JveFNsaWRlc2hvd3tjdXJzb3I6cG9pbnRlcjt9Ci5jYm94UGhvdG97ZmxvYXQ6bGVmdDsgbWFyZ2luOmF1dG87IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyBtYXgtd2lkdGg6bm9uZTt9Ci5jYm94SWZyYW1le3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBkaXNwbGF5OmJsb2NrOyBib3JkZXI6MDt9CiNjb2xvcmJveCwgI2Nib3hDb250ZW50LCAjY2JveExvYWRlZENvbnRlbnR7Ym94LXNpemluZzpjb250ZW50LWJveDt9CgovKiAKICAgIFVzZXIgU3R5bGU6CiAgICBDaGFuZ2UgdGhlIGZvbGxvd2luZyBzdHlsZXMgdG8gbW9kaWZ5IHRoZSBhcHBlYXJhbmNlIG9mIENvbG9yQm94LiAgVGhleSBhcmUKICAgIG9yZGVyZWQgJiB0YWJiZWQgaW4gYSB3YXkgdGhhdCByZXByZXNlbnRzIHRoZSBuZXN0aW5nIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTC4KKi8KI2Nib3hPdmVybGF5e2JhY2tncm91bmQ6I2ZmZjt9CiNjb2xvcmJveHt9CiAgICAjY2JveENvbnRlbnR7bWFyZ2luLXRvcDozMnB4OyBvdmVyZmxvdzp2aXNpYmxlO30KICAgICAgICAuY2JveElmcmFtZXtiYWNrZ3JvdW5kOiNmZmY7fQogICAgICAgICNjYm94RXJyb3J7cGFkZGluZzo1MHB4OyBib3JkZXI6MXB4IHNvbGlkICNjY2M7fQogICAgICAgICNjYm94TG9hZGVkQ29udGVudHtiYWNrZ3JvdW5kOiMwMDA7IHBhZGRpbmc6MXB4O30KICAgICAgICAjY2JveExvYWRpbmdHcmFwaGlje2JhY2tncm91bmQ6dXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1hbmltX2Jhc2ljXzE2eDE2LmdpZikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7fQogICAgICAgICNjYm94TG9hZGluZ092ZXJsYXl7YmFja2dyb3VuZDojZmZmO30KICAgICAgICAjY2JveFRpdGxle3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIycHg7IGxlZnQ6MDsgY29sb3I6IzAwMDt9CiAgICAgICAgI2Nib3hDdXJyZW50e3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6LTIycHg7IHJpZ2h0OjIwNXB4OyB0ZXh0LWluZGVudDotOTk5OXB4O30KICAgICAgICAjY2JveFNsaWRlc2hvdywgI2Nib3hQcmV2aW91cywgI2Nib3hOZXh0LCAjY2JveENsb3Nle3RleHQtaW5kZW50Oi05OTk5cHg7IHdpZHRoOjIwcHg7IGhlaWdodDoyMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOi0yMHB4OyBiYWNrZ3JvdW5kOnVybCguLi8uLi9pbWFnZXMvY29sb3Jib3gvY29udHJvbHMucG5nKSBuby1yZXBlYXQgMCAwO30KICAgICAgICAjY2JveFByZXZpb3Vze2JhY2tncm91bmQtcG9zaXRpb246MHB4IDBweDsgcmlnaHQ6NDRweDt9CiAgICAgICAgI2Nib3hQcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjBweCAtMjVweDt9CiAgICAgICAgI2Nib3hOZXh0e2JhY2tncm91bmQtcG9zaXRpb246LTI1cHggMHB4OyByaWdodDoyMnB4O30KICAgICAgICAjY2JveE5leHQ6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMjVweCAtMjVweDt9CiAgICAgICAgI2Nib3hDbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MHB4IDBweDsgcmlnaHQ6MDt9CiAgICAgICAgI2Nib3hDbG9zZTpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MHB4IC0yNXB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFByZXZpb3VzLCAuY2JveFNsaWRlc2hvd19vZmYgI2Nib3hQcmV2aW91c3tyaWdodDo2NnB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFNsaWRlc2hvd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi03NXB4IC0yNXB4OyByaWdodDo0NHB4O30KICAgICAgICAuY2JveFNsaWRlc2hvd19vbiAjY2JveFNsaWRlc2hvdzpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDBweCAtMjVweDt9CiAgICAgICAgLmNib3hTbGlkZXNob3dfb2ZmICNjYm94U2xpZGVzaG93e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IDBweDsgcmlnaHQ6NDRweDt9CiAgICAgICAgLmNib3hTbGlkZXNob3dfb2ZmICNjYm94U2xpZGVzaG93OmhvdmVye2JhY2tncm91bmQtcG9zaXRpb246LTc1cHggLTI1cHg7fQo=]]></data>
	</file>
	<file>
	  <filename>/framework/css/footable.core.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[QGZvbnQtZmFjZXtmb250LWZhbWlseTonZm9vdGFibGUnO3NyYzp1cmwoJy4uL2ZvbnRzL2Zvb3RhYmxlLmVvdCcpO3NyYzp1cmwoJy4uL2ZvbnRzL2Zvb3RhYmxlLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcuLi9mb250cy9mb290YWJsZS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksdXJsKCcuLi9mb250cy9mb290YWJsZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcuLi9mb250cy9mb290YWJsZS5zdmcjZm9vdGFibGUnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH1AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApe0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6J2Zvb3RhYmxlJztzcmM6dXJsKCcuLi9mb250cy9mb290YWJsZS5zdmcjZm9vdGFibGUnKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH19LmZvb3RhYmxle3dpZHRoOjEwMCV9LmZvb3RhYmxlLmJyZWFrcG9pbnQ+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGR7Ym9yZGVyLWJvdHRvbTowfS5mb290YWJsZS5icmVha3BvaW50PnRib2R5PnRyLmZvb3RhYmxlLWRldGFpbC1zaG93PnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAwMSJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQ+dGJvZHk+dHI6aG92ZXI6bm90KC5mb290YWJsZS1yb3ctZGV0YWlsKXtjdXJzb3I6cG9pbnRlcn0uZm9vdGFibGUuYnJlYWtwb2ludD50Ym9keT50cj50ZC5mb290YWJsZS1jZWxsLWRldGFpbHtiYWNrZ3JvdW5kOiNlZWU7Ym9yZGVyLXRvcDowfS5mb290YWJsZS5icmVha3BvaW50PnRib2R5PnRyPnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5Oidmb290YWJsZSc7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7cGFkZGluZy1yaWdodDo1cHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6Izg4OH0uZm9vdGFibGUuYnJlYWtwb2ludD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMDAifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1jaXJjbGU+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtY2lyY2xlPnRib2R5PnRyPnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAwNCJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLWNpcmNsZS1maWxsZWQ+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDAzIn0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtY2lyY2xlLWZpbGxlZD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1zcXVhcmU+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA3In0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtc3F1YXJlPnRib2R5PnRyPnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAwNiJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLXNxdWFyZS1maWxsZWQ+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA5In0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtc3F1YXJlLWZpbGxlZD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMDgifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdz50Ym9keT50ci5mb290YWJsZS1kZXRhaWwtc2hvdz50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMGYifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdz50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMTEifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdy1zbWFsbD50Ym9keT50ci5mb290YWJsZS1kZXRhaWwtc2hvdz50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMTMifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdy1zbWFsbD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMTUifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdy1jaXJjbGU+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDFiIn0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtYXJyb3ctY2lyY2xlPnRib2R5PnRyPnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAxZCJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLWFycm93LWNpcmNsZS1maWxsZWQ+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXNob3c+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDBiIn0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtYXJyb3ctY2lyY2xlLWZpbGxlZD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMGQifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1hcnJvdy10aW55PnRib2R5PnRyLmZvb3RhYmxlLWRldGFpbC1zaG93PnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAxZiJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLWFycm93LXRpbnk+dGJvZHk+dHI+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIxIn0uZm9vdGFibGUuYnJlYWtwb2ludC50b2dnbGUtYXJyb3ctYWx0PnRib2R5PnRyLmZvb3RhYmxlLWRldGFpbC1zaG93PnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xlOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLWFycm93LWFsdD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZTpiZWZvcmV7Y29udGVudDoiXGUwMTkifS5mb290YWJsZS5icmVha3BvaW50LnRvZ2dsZS1tZWRpdW0+dGJvZHk+dHI+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGV7Zm9udC1zaXplOjE4cHh9LmZvb3RhYmxlLmJyZWFrcG9pbnQudG9nZ2xlLWxhcmdlPnRib2R5PnRyPnRkPnNwYW4uZm9vdGFibGUtdG9nZ2xle2ZvbnQtc2l6ZToyNHB4fS5mb290YWJsZT50aGVhZD50cj50aHstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LWtodG1sLXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDotbW96LW5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZm9vdGFibGU+dGhlYWQ+dHI+dGguZm9vdGFibGUtc29ydGFibGU6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmZvb3RhYmxlPnRoZWFkPnRyPnRoLmZvb3RhYmxlLXNvcnRlZD5zcGFuLmZvb3RhYmxlLXNvcnQtaW5kaWNhdG9yOmJlZm9yZXtjb250ZW50OiJcZTAxMyJ9LmZvb3RhYmxlPnRoZWFkPnRyPnRoLmZvb3RhYmxlLXNvcnRlZC1kZXNjPnNwYW4uZm9vdGFibGUtc29ydC1pbmRpY2F0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDEyIn0uZm9vdGFibGU+dGhlYWQ+dHI+dGg+c3Bhbi5mb290YWJsZS1zb3J0LWluZGljYXRvcntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTonZm9vdGFibGUnO3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3BhZGRpbmctbGVmdDo1cHh9LmZvb3RhYmxlPnRoZWFkPnRyPnRoPnNwYW4uZm9vdGFibGUtc29ydC1pbmRpY2F0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDIyIn0uZm9vdGFibGU+dGZvb3QgLnBhZ2luYXRpb257bWFyZ2luOjB9LmZvb3RhYmxlLm5vLXBhZ2luZyAuaGlkZS1pZi1uby1wYWdpbmd7ZGlzcGxheTpub25lfS5mb290YWJsZS1yb3ctZGV0YWlsLWlubmVye2Rpc3BsYXk6dGFibGV9LmZvb3RhYmxlLXJvdy1kZXRhaWwtcm93e2Rpc3BsYXk6dGFibGUtcm93O2xpbmUtaGVpZ2h0OjEuNWVtfS5mb290YWJsZS1yb3ctZGV0YWlsLWdyb3Vwe2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MmVtO2ZvbnQtc2l6ZToxLjJlbTtmb250LXdlaWdodDpib2xkfS5mb290YWJsZS1yb3ctZGV0YWlsLW5hbWV7ZGlzcGxheTp0YWJsZS1jZWxsO2ZvbnQtd2VpZ2h0OmJvbGQ7cGFkZGluZy1yaWdodDouNWVtfS5mb290YWJsZS1yb3ctZGV0YWlsLXZhbHVle2Rpc3BsYXk6dGFibGUtY2VsbH0uZm9vdGFibGUtb2Rke2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmN30=]]></data>
	</file>
	<file>
	  <filename>/framework/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/css/jquery-ui-1.8.2.custom.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKKiBqUXVlcnkgVUkgQ1NTIEZyYW1ld29yawoqIENvcHlyaWdodCAoYykgMjAxMCBBVVRIT1JTLnR4dCAoaHR0cDovL2pxdWVyeXVpLmNvbS9hYm91dCkKKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgKE1JVC1MSUNFTlNFLnR4dCkgYW5kIEdQTCAoR1BMLUxJQ0VOU0UudHh0KSBsaWNlbnNlcy4KKi8KCi8qIExheW91dCBoZWxwZXJzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktaGVscGVyLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0KLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTk5OTk5cHg7IH0KLnVpLWhlbHBlci1yZXNldCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBvdXRsaW5lOiAwOyBsaW5lLWhlaWdodDogMS4zOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtc2l6ZTogMTAwJTsgbGlzdC1zdHlsZTogbm9uZTsgfQoudWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHsgY29udGVudDogIi4iOyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAwOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyB9Ci51aS1oZWxwZXItY2xlYXJmaXggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KLyogcmVxdWlyZWQgY29tbWVudCBmb3IgY2xlYXJmaXggdG8gd29yayBpbiBPcGVyYSBcKi8KKiBodG1sIC51aS1oZWxwZXItY2xlYXJmaXggeyBoZWlnaHQ6MSU7IH0KLnVpLWhlbHBlci1jbGVhcmZpeCB7IGRpc3BsYXk6YmxvY2s7IH0KLyogZW5kIGNsZWFyZml4ICovCi51aS1oZWxwZXItemZpeCB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRvcDogMDsgbGVmdDogMDsgcG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgfQoKCi8qIEludGVyYWN0aW9uIEN1ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1kaXNhYmxlZCB7IGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50OyB9CgoKLyogSWNvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLwoudWktaWNvbiB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWluZGVudDogLTk5OTk5cHg7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0KCgovKiBNaXNjIHZpc3VhbHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBPdmVybGF5cyAqLwoudWktd2lkZ2V0LW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQoKCi8qCiogalF1ZXJ5IFVJIENTUyBGcmFtZXdvcmsKKiBDb3B5cmlnaHQgKGMpIDIwMTAgQVVUSE9SUy50eHQgKGh0dHA6Ly9qcXVlcnl1aS5jb20vYWJvdXQpCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIChNSVQtTElDRU5TRS50eHQpIGFuZCBHUEwgKEdQTC1MSUNFTlNFLnR4dCkgbGljZW5zZXMuCiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1UcmVidWNoZXQlMjBNUywlMjBUYWhvbWEsJTIwVmVyZGFuYSwlMjBBcmlhbCwlMjBzYW5zLXNlcmlmJmZ3RGVmYXVsdD1ib2xkJmZzRGVmYXVsdD0xLjFlbSZjb3JuZXJSYWRpdXM9NHB4JmJnQ29sb3JIZWFkZXI9ZjZhODI4JmJnVGV4dHVyZUhlYWRlcj0xMl9nbG9zc193YXZlLnBuZyZiZ0ltZ09wYWNpdHlIZWFkZXI9MzUmYm9yZGVyQ29sb3JIZWFkZXI9ZTc4ZjA4JmZjSGVhZGVyPWZmZmZmZiZpY29uQ29sb3JIZWFkZXI9ZmZmZmZmJmJnQ29sb3JDb250ZW50PWVlZWVlZSZiZ1RleHR1cmVDb250ZW50PTAzX2hpZ2hsaWdodF9zb2Z0LnBuZyZiZ0ltZ09wYWNpdHlDb250ZW50PTEwMCZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmZjQ29udGVudD0zMzMzMzMmaWNvbkNvbG9yQ29udGVudD0yMjIyMjImYmdDb2xvckRlZmF1bHQ9ZjZmNmY2JmJnVGV4dHVyZURlZmF1bHQ9MDJfZ2xhc3MucG5nJmJnSW1nT3BhY2l0eURlZmF1bHQ9MTAwJmJvcmRlckNvbG9yRGVmYXVsdD1jY2NjY2MmZmNEZWZhdWx0PTFjOTRjNCZpY29uQ29sb3JEZWZhdWx0PWVmOGMwOCZiZ0NvbG9ySG92ZXI9ZmRmNWNlJmJnVGV4dHVyZUhvdmVyPTAyX2dsYXNzLnBuZyZiZ0ltZ09wYWNpdHlIb3Zlcj0xMDAmYm9yZGVyQ29sb3JIb3Zlcj1mYmNiMDkmZmNIb3Zlcj1jNzc0MDUmaWNvbkNvbG9ySG92ZXI9ZWY4YzA4JmJnQ29sb3JBY3RpdmU9ZmZmZmZmJmJnVGV4dHVyZUFjdGl2ZT0wMl9nbGFzcy5wbmcmYmdJbWdPcGFjaXR5QWN0aXZlPTY1JmJvcmRlckNvbG9yQWN0aXZlPWZiZDg1MCZmY0FjdGl2ZT1lYjhmMDAmaWNvbkNvbG9yQWN0aXZlPWVmOGMwOCZiZ0NvbG9ySGlnaGxpZ2h0PWZmZTQ1YyZiZ1RleHR1cmVIaWdobGlnaHQ9MDNfaGlnaGxpZ2h0X3NvZnQucG5nJmJnSW1nT3BhY2l0eUhpZ2hsaWdodD03NSZib3JkZXJDb2xvckhpZ2hsaWdodD1mZWQyMmYmZmNIaWdobGlnaHQ9MzYzNjM2Jmljb25Db2xvckhpZ2hsaWdodD0yMjhlZjEmYmdDb2xvckVycm9yPWI4MTkwMCZiZ1RleHR1cmVFcnJvcj0wOF9kaWFnb25hbHNfdGhpY2sucG5nJmJnSW1nT3BhY2l0eUVycm9yPTE4JmJvcmRlckNvbG9yRXJyb3I9Y2QwYTBhJmZjRXJyb3I9ZmZmZmZmJmljb25Db2xvckVycm9yPWZmZDI3YSZiZ0NvbG9yT3ZlcmxheT02NjY2NjYmYmdUZXh0dXJlT3ZlcmxheT0wOF9kaWFnb25hbHNfdGhpY2sucG5nJmJnSW1nT3BhY2l0eU92ZXJsYXk9MjAmb3BhY2l0eU92ZXJsYXk9NTAmYmdDb2xvclNoYWRvdz0wMDAwMDAmYmdUZXh0dXJlU2hhZG93PTAxX2ZsYXQucG5nJmJnSW1nT3BhY2l0eVNoYWRvdz0xMCZvcGFjaXR5U2hhZG93PTIwJnRoaWNrbmVzc1NoYWRvdz01cHgmb2Zmc2V0VG9wU2hhZG93PS01cHgmb2Zmc2V0TGVmdFNoYWRvdz0tNXB4JmNvcm5lclJhZGl1c1NoYWRvdz01cHgKKi8KCgovKiBDb21wb25lbnQgY29udGFpbmVycwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLnVpLXdpZGdldCB7IGZvbnQtZmFtaWx5OiBUcmVidWNoZXQgTVMsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMS4xZW07IH0KLnVpLXdpZGdldCAudWktd2lkZ2V0IHsgZm9udC1zaXplOiAxZW07IH0KLnVpLXdpZGdldCBpbnB1dCwgLnVpLXdpZGdldCBzZWxlY3QsIC51aS13aWRnZXQgdGV4dGFyZWEsIC51aS13aWRnZXQgYnV0dG9uIHsgZm9udC1mYW1pbHk6IFRyZWJ1Y2hldCBNUywgVGFob21hLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxZW07IH0KLnVpLXdpZGdldC1jb250ZW50IHsgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2hpZ2hsaWdodC1zb2Z0XzEwMF9lZWVlZWVfMXgxMDAucG5nKSA1MCUgdG9wIHJlcGVhdC14OyBjb2xvcjogIzMzMzMzMzsgfQoudWktd2lkZ2V0LWNvbnRlbnQgYSB7IGNvbG9yOiAjMzMzMzMzOyB9Ci51aS13aWRnZXQtaGVhZGVyIHsgYm9yZGVyOiAxcHggc29saWQgI2U3OGYwODsgYmFja2dyb3VuZDogI2Y2YTgyOCB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2dsb3NzLXdhdmVfMzVfZjZhODI4XzUwMHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBjb2xvcjogI2ZmZmZmZjsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KLnVpLXdpZGdldC1oZWFkZXIgYSB7IGNvbG9yOiAjZmZmZmZmOyB9CgovKiBJbnRlcmFjdGlvbiBzdGF0ZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1zdGF0ZS1kZWZhdWx0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0IHsgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsgYmFja2dyb3VuZDogI2Y2ZjZmNiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWJnX2dsYXNzXzEwMF9mNmY2ZjZfMXg0MDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMxYzk0YzQ7IH0KLnVpLXN0YXRlLWRlZmF1bHQgYSwgLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLCAudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQgeyBjb2xvcjogIzFjOTRjNDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9Ci51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7IGJvcmRlcjogMXB4IHNvbGlkICNmYmNiMDk7IGJhY2tncm91bmQ6ICNmZGY1Y2UgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19nbGFzc18xMDBfZmRmNWNlXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjYzc3NDA1OyB9Ci51aS1zdGF0ZS1ob3ZlciBhLCAudWktc3RhdGUtaG92ZXIgYTpob3ZlciB7IGNvbG9yOiAjYzc3NDA1OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUgeyBib3JkZXI6IDFweCBzb2xpZCAjZmJkODUwOyBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYmdfZ2xhc3NfNjVfZmZmZmZmXzF4NDAwLnBuZykgNTAlIDUwJSByZXBlYXQteDsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjZWI4ZjAwOyB9Ci51aS1zdGF0ZS1hY3RpdmUgYSwgLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssIC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHsgY29sb3I6ICNlYjhmMDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktd2lkZ2V0IDphY3RpdmUgeyBvdXRsaW5lOiBub25lOyB9CgovKiBJbnRlcmFjdGlvbiBDdWVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoudWktc3RhdGUtaGlnaGxpZ2h0LCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCAge2JvcmRlcjogMXB4IHNvbGlkICNmZWQyMmY7IGJhY2tncm91bmQ6ICNmZmU0NWMgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19oaWdobGlnaHQtc29mdF83NV9mZmU0NWNfMXgxMDAucG5nKSA1MCUgdG9wIHJlcGVhdC14OyBjb2xvcjogIzM2MzYzNjsgfQoudWktc3RhdGUtaGlnaGxpZ2h0IGEsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHsgY29sb3I6ICMzNjM2MzY7IH0KLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige2JvcmRlcjogMXB4IHNvbGlkICNjZDBhMGE7IGJhY2tncm91bmQ6ICNiODE5MDAgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19kaWFnb25hbHMtdGhpY2tfMThfYjgxOTAwXzQweDQwLnBuZykgNTAlIDUwJSByZXBlYXQ7IGNvbG9yOiAjZmZmZmZmOyB9Ci51aS1zdGF0ZS1lcnJvciBhLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsIC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciBhIHsgY29sb3I6ICNmZmZmZmY7IH0KLnVpLXN0YXRlLWVycm9yLXRleHQsIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQgeyBjb2xvcjogI2ZmZmZmZjsgfQoudWktcHJpb3JpdHktcHJpbWFyeSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LCAudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeSB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9Ci51aS1wcmlvcml0eS1zZWNvbmRhcnksIC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LCAgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7IG9wYWNpdHk6IC43OyBmaWx0ZXI6QWxwaGEoT3BhY2l0eT03MCk7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0KLnVpLXN0YXRlLWRpc2FibGVkLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRpc2FibGVkLCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzU7IGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfQoKLyogSWNvbnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLwoudWktaWNvbiB7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjIyMjIyXzI1NngyNDAucG5nKTsgfQoudWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1kZWZhdWx0IC51aS1pY29uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19lZjhjMDhfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1ob3ZlciAudWktaWNvbiwgLnVpLXN0YXRlLWZvY3VzIC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWljb25zX2VmOGMwOF8yNTZ4MjQwLnBuZyk7IH0KLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbiB7YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1pY29uc19lZjhjMDhfMjU2eDI0MC5wbmcpOyB9Ci51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24ge2JhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktaWNvbnNfMjI4ZWYxXzI1NngyNDAucG5nKTsgfQoudWktc3RhdGUtZXJyb3IgLnVpLWljb24sIC51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2pxdWVyeXVpL3VpLWljb25zX2ZmZDI3YV8yNTZ4MjQwLnBuZyk7IH0KCi8qIHBvc2l0aW9uaW5nICovCi51aS1pY29uLWNhcmF0LTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfQoudWktaWNvbi1jYXJhdC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAwOyB9Ci51aS1pY29uLWNhcmF0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH0KLnVpLWljb24tY2FyYXQtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggMDsgfQoudWktaWNvbi1jYXJhdC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH0KLnVpLWljb24tY2FyYXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfQoudWktaWNvbi1jYXJhdC0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwOyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNnB4OyB9Ci51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH0KLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTZweDsgfQoudWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfQoudWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH0KLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtMzJweDsgfQoudWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH0KLnVpLWljb24tYXJyb3dzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMzJweDsgfQoudWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9Ci51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC00OHB4OyB9Ci51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93cmVmcmVzaC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY0cHg7IH0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9Ci51aS1pY29uLWFycm93LTQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MHB4OyB9Ci51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9Ci51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfQoudWktaWNvbi1uZXd3aW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtODBweDsgfQoudWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH0KLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9Ci51aS1pY29uLXRyYW5zZmVyLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC04MHB4OyB9Ci51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9Ci51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9Ci51aS1pY29uLWZvbGRlci1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTk2cHg7IH0KLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfQoudWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH0KLnVpLWljb24tbm90ZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC05NnB4OyB9Ci51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH0KLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH0KLnVpLWljb24tc3VpdGNhc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTk2cHg7IH0KLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfQoudWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH0KLnVpLWljb24tcHJpbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTk2cHg7IH0KLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH0KLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9Ci51aS1pY29uLXVubG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC05NnB4OyB9Ci51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9Ci51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfQoudWktaWNvbi1ob21lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTEycHg7IH0KLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfQoudWktaWNvbi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfQoudWktaWNvbi1jYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTExMnB4OyB9Ci51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfQoudWktaWNvbi1jbG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfQoudWktaWNvbi1kaXNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTExMnB4OyB9Ci51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9Ci51aS1pY29uLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH0KLnVpLWljb24tem9vbW91dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTEycHg7IH0KLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfQoudWktaWNvbi13cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9Ci51aS1pY29uLWdlYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTExMnB4OyB9Ci51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfQoudWktaWNvbi1zdGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfQoudWktaWNvbi1saW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMTJweDsgfQoudWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfQoudWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9Ci51aS1pY29uLXBsdXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMjhweDsgfQoudWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfQoudWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9Ci51aS1pY29uLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTEyOHB4OyB9Ci51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH0KLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfQoudWktaWNvbi1saWdodGJ1bGIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTEyOHB4OyB9Ci51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfQoudWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9Ci51aS1pY29uLWNvcHkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTEyOHB4OyB9Ci51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9Ci51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfQoudWktaWNvbi12aWRlbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTI4cHg7IH0KLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfQoudWktaWNvbi1hbGVydCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9Ci51aS1pY29uLWluZm8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTQ0cHg7IH0KLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9Ci51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH0KLnVpLWljb24tY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTQ0cHg7IH0KLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9Ci51aS1pY29uLXJhZGlvLW9mZiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfQoudWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTQ0cHg7IH0KLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9Ci51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfQoudWktaWNvbi1wbGF5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTYwcHg7IH0KLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH0KLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9Ci51aS1pY29uLXNlZWstcHJldiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfQoudWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9Ci8qIHVpLWljb24tc2Vlay1maXJzdCBpcyBkZXByZWNhdGVkLCB1c2UgdWktaWNvbi1zZWVrLXN0YXJ0IGluc3RlYWQgKi8KLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQoudWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9Ci51aS1pY29uLWVqZWN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNjBweDsgfQoudWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfQoudWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9Ci51aS1pY29uLXBvd2VyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTc2cHg7IH0KLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH0KLnVpLWljb24tc2lnbmFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNzZweDsgfQoudWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH0KLnVpLWljb24tYmF0dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9Ci51aS1pY29uLWJhdHRlcnktMyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNzZweDsgfQoudWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS1hcnJvdy1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH0KLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfQoudWktaWNvbi1jaXJjbGUtY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9Ci51aS1pY29uLWNpcmNsZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDhweDsgfQoudWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfQoudWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfQoudWktaWNvbi1zcXVhcmVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9Ci51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9Ci51aS1pY29uLWdyaXAtZG90dGVkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIyNHB4OyB9Ci51aS1pY29uLWdyaXAtc29saWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMjRweDsgfQoudWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH0KLnVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfQoKCi8qIE1pc2MgdmlzdWFscwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIENvcm5lciByYWRpdXMgKi8KLnVpLWNvcm5lci10bCB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci10ciB7IC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1ibCB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1iciB7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci10b3AgeyAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyB9Ci51aS1jb3JuZXItYm90dG9tIHsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiA0cHg7IC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLXJpZ2h0IHsgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7IC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4OyAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH0KLnVpLWNvcm5lci1sZWZ0IHsgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6IDRweDsgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfQoudWktY29ybmVyLWFsbCB7IC1tb3otYm9yZGVyLXJhZGl1czogNHB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDsgYm9yZGVyLXJhZGl1czogNHB4OyB9CgovKiBPdmVybGF5cyAqLwoudWktd2lkZ2V0LW92ZXJsYXkgeyBiYWNrZ3JvdW5kOiAjNjY2NjY2IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYmdfZGlhZ29uYWxzLXRoaWNrXzIwXzY2NjY2Nl80MHg0MC5wbmcpIDUwJSA1MCUgcmVwZWF0OyBvcGFjaXR5OiAuNTA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9NTApOyB9Ci51aS13aWRnZXQtc2hhZG93IHsgbWFyZ2luOiAtNXB4IDAgMCAtNXB4OyBwYWRkaW5nOiA1cHg7IGJhY2tncm91bmQ6ICMwMDAwMDAgdXJsKC4uLy4uL2ltYWdlcy9qcXVlcnl1aS91aS1iZ19mbGF0XzEwXzAwMDAwMF80MHgxMDAucG5nKSA1MCUgNTAlIHJlcGVhdC14OyBvcGFjaXR5OiAuMjA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MjApOyAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7IGJvcmRlci1yYWRpdXM6IDVweDsgfS8qIERhdGVwaWNrZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi51aS1kYXRlcGlja2VyIHsgd2lkdGg6IDE3ZW07IHBhZGRpbmc6IC4yZW0gLjJlbSAwOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7IHBvc2l0aW9uOnJlbGF0aXZlOyBwYWRkaW5nOi4yZW0gMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMnB4OyB3aWR0aDogMS44ZW07IGhlaWdodDogMS44ZW07IH0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7IHRvcDogMXB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgeyBsZWZ0OjJweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsgcmlnaHQ6MnB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgeyBsZWZ0OjFweDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIHsgcmlnaHQ6MXB4OyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwgLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLThweDsgdG9wOiA1MCU7IG1hcmdpbi10b3A6IC04cHg7ICB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHsgbWFyZ2luOiAwIDIuM2VtOyBsaW5lLWhlaWdodDogMS44ZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3QgeyBmb250LXNpemU6MWVtOyBtYXJnaW46MXB4IDA7IH0KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgteWVhciB7d2lkdGg6IDEwMCU7fQoudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIgeyB3aWR0aDogNDklO30KLnVpLWRhdGVwaWNrZXIgdGFibGUge3dpZHRoOiAxMDAlOyBmb250LXNpemU6IC45ZW07IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IG1hcmdpbjowIDAgLjRlbTsgfQoudWktZGF0ZXBpY2tlciB0aCB7IHBhZGRpbmc6IC43ZW0gLjNlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgYm9yZGVyOiAwOyAgfQoudWktZGF0ZXBpY2tlciB0ZCB7IGJvcmRlcjogMDsgcGFkZGluZzogMXB4OyB9Ci51aS1kYXRlcGlja2VyIHRkIHNwYW4sIC51aS1kYXRlcGlja2VyIHRkIGEgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjJlbTsgdGV4dC1hbGlnbjogcmlnaHQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgbWFyZ2luOiAuN2VtIDAgMCAwOyBwYWRkaW5nOjAgLjJlbTsgYm9yZGVyLWxlZnQ6IDA7IGJvcmRlci1yaWdodDogMDsgYm9yZGVyLWJvdHRvbTogMDsgfQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiByaWdodDsgbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtOyB3aWR0aDphdXRvOyBvdmVyZmxvdzp2aXNpYmxlOyB9Ci51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7IGZsb2F0OmxlZnQ7IH0KCi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovCi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkgeyB3aWR0aDphdXRvOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsgZmxvYXQ6bGVmdDsgfQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7IHdpZHRoOjk1JTsgbWFyZ2luOjAgYXV0byAuNGVtOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDo1MCU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7IHdpZHRoOjMzLjMlOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyB3aWR0aDoyNSU7IH0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItbGVmdC13aWR0aDowOyB9Ci51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgeyBjbGVhcjpsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7IGNsZWFyOmJvdGg7IHdpZHRoOjEwMCU7IH0KCi8qIFJUTCBzdXBwb3J0ICovCi51aS1kYXRlcGlja2VyLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsgcmlnaHQ6IDJweDsgbGVmdDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7IGxlZnQ6IDJweDsgcmlnaHQ6IGF1dG87IH0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgeyByaWdodDogMXB4OyBsZWZ0OiBhdXRvOyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsgbGVmdDogMXB4OyByaWdodDogYXV0bzsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7IGNsZWFyOnJpZ2h0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7IGZsb2F0OiBsZWZ0OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAgeyBmbG9hdDpyaWdodDsgfQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIgeyBib3JkZXItcmlnaHQtd2lkdGg6MDsgYm9yZGVyLWxlZnQtd2lkdGg6MXB4OyB9Ci51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOjA7IGJvcmRlci1sZWZ0LXdpZHRoOjFweDsgfQoKLyogSUU2IElGUkFNRSBGSVggKHRha2VuIGZyb20gZGF0ZXBpY2tlciAxLjUuMyAqLwoudWktZGF0ZXBpY2tlci1jb3ZlciB7CiAgICBkaXNwbGF5OiBub25lOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgZGlzcGxheS8qKi86IGJsb2NrOyAvKnNvcnJ5IGZvciBJRTUqLwogICAgcG9zaXRpb246IGFic29sdXRlOyAvKm11c3QgaGF2ZSovCiAgICB6LWluZGV4OiAtMTsgLyptdXN0IGhhdmUqLwogICAgZmlsdGVyOiBtYXNrKCk7IC8qbXVzdCBoYXZlKi8KICAgIHRvcDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgbGVmdDogLTRweDsgLyptdXN0IGhhdmUqLwogICAgd2lkdGg6IDIwMHB4OyAvKm11c3QgaGF2ZSovCiAgICBoZWlnaHQ6IDIwMHB4OyAvKm11c3QgaGF2ZSovCn0=]]></data>
	</file>
	<file>
	  <filename>/framework/fonts/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/fonts/footable.eot</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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BwNwcQMHAw4DA4UDBwOFkQcDDgMDcHADAw4DBwOFAwOFAAAAAAEAFgB/ATQBJgAUAAAAFA8BBiIvASY0PwE2Mh8BNzYyHwEBMwOFAwcDhQMDDgMHA3FwAwcDDgERBwOFAwOFAwcDDwICcXECAg8AAAABAAwAPwC0AV0AFAAAEhQPARcWFA8BBiIvASY0PwE2Mh8BswNwcAMDDgMHA4UDA4UDBwMOAUgHA3BxAggDDgMDhQMHA4UDAw4AAAAAAQADAD8AqgFdABQAADYUDwEGIi8BJjQ/AScmND8BNjIfAaoDhQMHAw4DA3BwAwMOAwcDhdEHA4UDAw4DCAJxcAMHAw4DA4UAAv//ABYBJQGqAA0AGwAAJBQPAQYiLwEmNDYzITI2FAYjISImND8BNjIfAQElBoAFDwaABQsHAQAICwsI/wAHCwWABg8FgLEPBoAFBYAGDwpjDwoKDwaABQWAAAAAAAwAlgABAAAAAAABAAgAEgABAAAAAAACAAcAKwABAAAAAAADACQAfQABAAAAAAAEAAgAtAABAAAAAAAFAAsA1QABAAAAAAAGAAgA8wADAAEECQABABAAAAADAAEECQACAA4AGwADAAEECQADAEgAMwADAAEECQAEABAAogADAAEECQAFABYAvQADAAEECQAGABAA4QBmAG8AbwB0AGEAYgBsAGUAAGZvb3RhYmxlAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAGYAbwBvAHQAYQBiAGwAZQAgADoAIAAxADgALQA4AC0AMgAwADEAMwAARm9udEZvcmdlIDIuMCA6IGZvb3RhYmxlIDogMTgtOC0yMDEzAABmAG8AbwB0AGEAYgBsAGUAAGZvb3RhYmxlAABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABmAG8AbwB0AGEAYgBsAGUAAGZvb3RhYmxlAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJwAAAAEAAgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQd1bmlGMDAwB3VuaUUwMDAHdW5pRTAwMQd1bmlFMDAyB3VuaUUwMDMHdW5pRTAwNAd1bmlFMDA1B3VuaUUwMDYHdW5pRTAwNwd1bmlFMDA4B3VuaUUwMDkHdW5pRTAwQQd1bmlFMDBCB3VuaUUwMEMHdW5pRTAwRAd1bmlFMDBFB3VuaUUwMEYHdW5pRTAxMAd1bmlFMDExB3VuaUUwMTIHdW5pRTAxMwd1bmlFMDE0B3VuaUUwMTUHdW5pRTAxNgd1bmlFMDE3B3VuaUUwMTgHdW5pRTAxOQd1bmlFMDFBB3VuaUUwMUIHdW5pRTAxQwd1bmlFMDFEB3VuaUUwMUUHdW5pRTAxRgd1bmlFMDIwB3VuaUUwMjEHdW5pRTAyMgAAAAH//wACAAEAAAAOAAAAGAAAAAAAAgABAAMAJgABAAQAAAACAAAAAAABAAAAAMmJbzEAAAAAzjaasQAAAADONpqx]]></data>
	</file>
	<file>
	  <filename>/framework/fonts/footable.svg</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiID4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8bWV0YWRhdGE+ClRoaXMgaXMgYSBjdXN0b20gU1ZHIGZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uCjxpY29uc2V0IGdyaWQ9IjE2Ij48L2ljb25zZXQ+CjwvbWV0YWRhdGE+CjxkZWZzPgo8Zm9udCBpZD0iZm9vdGFibGUiIGhvcml6LWFkdi14PSI1MTIiID4KPGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjUxMiIgYXNjZW50PSI0ODAiIGRlc2NlbnQ9Ii0zMiIgLz4KPG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjUxMiIgLz4KPGdseXBoIGNsYXNzPSJoaWRkZW4iIHVuaWNvZGU9IiYjeGYwMDA7IiBkPSJNMCw0ODBMIDUxMiAtMzJMMCAtMzIgeiIgaG9yaXotYWR2LXg9IjAiIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDAwOyIgZD0iTSA0OTYsMjg4TCAzMjAsMjg4IEwgMzIwLDQ2NCBjMCw4LjgzNi03LjE2NCwxNi0xNiwxNmwtOTYsMCBjLTguODM2LDAtMTYtNy4xNjQtMTYtMTZsMC0xNzYgTCAxNiwyODggYy04LjgzNiwwLTE2LTcuMTY0LTE2LTE2bDAtOTYgCgljMC04LjgzNiwgNy4xNjQtMTYsIDE2LTE2bCAxNzYsMCBsMC0xNzYgYzAtOC44MzYsIDcuMTY0LTE2LCAxNi0xNmwgOTYsMCBjIDguODM2LDAsIDE2LDcuMTY0LCAxNiwxNkwgMzIwLDE2MCBsIDE3NiwwIGMgOC44MzYsMCwgMTYsNy4xNjQsIDE2LDE2bDAsOTYgCglDIDUxMiwyODAuODM2LCA1MDQuODM2LDI4OCwgNDk2LDI4OHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMTsiIGQ9Ik0wLDI3MmwwLTk2IGMwLTguODM2LCA3LjE2NC0xNiwgMTYtMTZsIDQ4MCwwIGMgOC44MzYsMCwgMTYsNy4xNjQsIDE2LDE2bDAsOTYgYzAsOC44MzYtNy4xNjQsMTYtMTYsMTZMIDE2LDI4OCBDIDcuMTY0LDI4OCwwLDI4MC44MzYsMCwyNzJ6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDI7IiBkPSJNIDI1Niw0ODBDIDExNC42MTUsNDgwLDAsMzY1LjM4NSwwLDIyNHMgMTE0LjYxNS0yNTYsIDI1Ni0yNTZzIDI1NiwxMTQuNjE1LCAyNTYsMjU2UyAzOTcuMzg1LDQ4MCwgMjU2LDQ4MHogTSAyODgsMTkybDAtMTI4IGwtNjQsMCBMIDIyNCwxOTIgTCA5NiwxOTIgbDAsNjQgCglsIDEyOCwwIEwgMjI0LDM4NCBsIDY0LDAgbDAtMTI4IGwgMTI4LDAgbDAtNjQgTCAyODgsMTkyIHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwMzsiIGQ9Ik0gMjU2LDQ4MEMgMTE0LjYxNSw0ODAsMCwzNjUuMzg1LDAsMjI0cyAxMTQuNjE1LTI1NiwgMjU2LTI1NnMgMjU2LDExNC42MTUsIDI1NiwyNTZTIDM5Ny4zODUsNDgwLCAyNTYsNDgweiBNIDQxNiwxOTJMIDk2LDE5MiBsMCw2NCBsIDMyMCwwIEwgNDE2LDE5MiB6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDQ7IiBkPSJNIDI1Niw0ODBDIDExNC42MTUsNDgwLDAsMzY1LjM4NSwwLDIyNHMgMTE0LjYxNS0yNTYsIDI1Ni0yNTZzIDI1NiwxMTQuNjE1LCAyNTYsMjU2UyAzOTcuMzg1LDQ4MCwgMjU2LDQ4MHogTSAyNTYsMzIKCWMtMTA2LjAzOSwwLTE5Miw4NS45NjEtMTkyLDE5MmMwLDEwNi4wMzksIDg1Ljk2MSwxOTIsIDE5MiwxOTJjIDEwNi4wMzksMCwgMTkyLTg1Ljk2MSwgMTkyLTE5MkMgNDQ4LDExNy45NjEsIDM2Mi4wMzksMzIsIDI1NiwzMnpNIDM4NCwxOTIgTCAyODgsMTkyIEwgMjg4LDk2IEwgMjI0LDk2IEwgMjI0LDE5MiBMIDEyOCwxOTIgTCAxMjgsMjU2IEwgMjI0LDI1NiBMIDIyNCwzNTIgTCAyODgsMzUyIEwgMjg4LDI1NiBMIDM4NCwyNTYgWiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA1OyIgZD0iTSAyNTYsNDgwQyAxMTQuNjE1LDQ4MCwwLDM2NS4zODUsMCwyMjRzIDExNC42MTUtMjU2LCAyNTYtMjU2cyAyNTYsMTE0LjYxNSwgMjU2LDI1NlMgMzk3LjM4NSw0ODAsIDI1Niw0ODB6IE0gMjU2LDMyCgljLTEwNi4wMzksMC0xOTIsODUuOTYxLTE5MiwxOTJjMCwxMDYuMDM5LCA4NS45NjEsMTkyLCAxOTIsMTkyYyAxMDYuMDM5LDAsIDE5Mi04NS45NjEsIDE5Mi0xOTJDIDQ0OCwxMTcuOTYxLCAzNjIuMDM5LDMyLCAyNTYsMzJ6TSAxMjgsMjU2TCAzODQsMjU2TCAzODQsMTkyTCAxMjgsMTkyeiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA2OyIgZD0iTSAyNTYsMjE0Ljg1N2wwLTE4LjI4NiBxMC00IC0yLjU3MS02LjU3MXQtNi41NzEtMi41NzFsLTY0LDAgbDAtNjQgcTAtNCAtMi41NzEtNi41NzF0LTYuNTcxLTIuNTcxbC0xOC4yODYsMCBxLTQsMCAtNi41NzEsMi41NzF0LTIuNTcxLDYuNTcxbDAsNjQgbC02NCwwIHEtNCwwIC02LjU3MSwyLjU3MXQtMi41NzEsNi41NzFsMCwxOC4yODYgcTAsNCAyLjU3MSw2LjU3MXQgNi41NzEsMi41NzFsIDY0LDAgbDAsNjQgcTAsNCAyLjU3MSw2LjU3MXQgNi41NzEsMi41NzFsIDE4LjI4NiwwIHEgNCwwIDYuNTcxLTIuNTcxdCAyLjU3MS02LjU3MWwwLTY0IGwgNjQsMCBxIDQsMCA2LjU3MS0yLjU3MXQgMi41NzEtNi41NzF6TSAyOTIuNTcxLDEwNS4xNDNsMCwyMDEuMTQzIHEwLDExLjQyOSAtOCwxOS40Mjl0LTE5LjQyOSw4bC0yMDEuMTQzLDAgcS0xMS40MjksMCAtMTkuNDI5LTggdC04LTE5LjQyOWwwLTIwMS4xNDMgcTAtMTEuNDI5IDgtMTkuNDI5dCAxOS40MjktOGwgMjAxLjE0MywwIHEgMTEuNDI5LDAgMTkuNDI5LDh0IDgsMTkuNDI5ek0gMzI5LjE0MywzMDYuMjg2bDAtMjAxLjE0MyBxMC0yNi4yODYgLTE4LjcxNC00NS4xNDN0LTQ1LjI4Ni0xOC44NTdsLTIwMS4xNDMsMCBxLTI2LjU3MSwwIC00NS4yODYsMTguODU3dC0xOC43MTQsNDUuMTQzbDAsMjAxLjE0MyBxMCwyNi41NzEgMTguNzE0LDQ1LjI4NnQgNDUuMjg2LDE4LjcxNGwgMjAxLjE0MywwIHEgMjYuNTcxLDAgNDUuMjg2LTE4LjcxNHQgMTguNzE0LTQ1LjI4NnoiIGhvcml6LWFkdi14PSIzMjkuMTQzIiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDc7IiBkPSJNIDI2NS4xNDMsMzcwLjI4NnEgMjYuNTcxLDAgNDUuMjg2LTE4LjcxNHQgMTguNzE0LTQ1LjI4NmwwLTIwMS4xNDMgcTAtMjYuMjg2IC0xOC43MTQtNDUuMTQzdC00NS4yODYtMTguODU3bC0yMDEuMTQzLDAgcS0yNi41NzEsMCAtNDUuMjg2LDE4Ljg1N3QtMTguNzE0LDQ1LjE0M2wwLDIwMS4xNDMgcTAsMjYuNTcxIDE4LjcxNCw0NS4yODZ0IDQ1LjI4NiwxOC43MTRsIDIwMS4xNDMsMCB6TSAyOTIuNTcxLDEwNS4xNDNsMCwyMDEuMTQzIHEwLDExLjQyOSAtOCwxOS40Mjl0LTE5LjQyOSw4bC0yMDEuMTQzLDAgcS0xMS40MjksMCAtMTkuNDI5LTh0LTgtMTkuNDI5bDAtMjAxLjE0MyBxMC0xMS40MjkgOC0xOS40Mjl0IDE5LjQyOS04bCAyMDEuMTQzLDAgcSAxMS40MjksMCAxOS40MjksOHQgOCwxOS40Mjl6IE0gMjQ2Ljg1NywyMjRxIDQsMCA2LjU3MS0yLjU3MXQgMi41NzEtNi41NzFsMC0xOC4yODYgcTAtNCAtMi41NzEtNi41NzF0LTYuNTcxLTIuNTcxbC0xNjQuNTcxLDAgcS00LDAgLTYuNTcxLDIuNTcxdC0yLjU3MSw2LjU3MWwwLDE4LjI4NiBxMCw0IDIuNTcxLDYuNTcxdCA2LjU3MSwyLjU3MWwgMTY0LjU3MSwwIHoiIGhvcml6LWFkdi14PSIzMjkuMTQzIiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMDg7IiBkPSJNIDM2NS43MTQsMjA1LjcxNGwwLDM2LjU3MSBxMCw3LjQyOSAtNS40MjksMTIuODU3dC0xMi44NTcsNS40MjlsLTkxLjQyOSwwIGwwLDkxLjQyOSBxMCw3LjQyOSAtNS40MjksMTIuODU3dC0xMi44NTcsNS40MjlsLTM2LjU3MSwwIHEtNy40MjksMCAtMTIuODU3LTUuNDI5dC01LjQyOS0xMi44NTdsMC05MS40MjkgbC05MS40MjksMCBxLTcuNDI5LDAgLTEyLjg1Ny01LjQyOXQtNS40MjktMTIuODU3bDAtMzYuNTcxIHEwLTcuNDI5IDUuNDI5LTEyLjg1N3QgMTIuODU3LTUuNDI5bCA5MS40MjksMCBsMC05MS40MjkgcTAtNy40MjkgNS40MjktMTIuODU3dCAxMi44NTctNS40MjlsIDM2LjU3MSwwIHEgNy40MjksMCAxMi44NTcsNS40Mjl0IDUuNDI5LDEyLjg1N2wwLDkxLjQyOSBsIDkxLjQyOSwwIHEgNy40MjksMCAxMi44NTcsNS40Mjl0IDUuNDI5LDEyLjg1N3pNIDQzOC44NTcsMzYxLjE0M2wwLTI3NC4yODYgIHEwLTM0IC0yNC4xNDMtNTguMTQzdC01OC4xNDMtMjQuMTQzbC0yNzQuMjg2LDAgcS0zNCwwIC01OC4xNDMsMjQuMTQzdC0yNC4xNDMsNTguMTQzbDAsMjc0LjI4NiBxMCwzNCAyNC4xNDMsNTguMTQzdCA1OC4xNDMsMjQuMTQzbCAyNzQuMjg2LDAgcSAzNCwwIDU4LjE0My0yNC4xNDN0IDI0LjE0My01OC4xNDN6IiBob3Jpei1hZHYteD0iNDM4Ljg1NyIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDA5OyIgZD0iTSAzNjUuNzE0LDIwNS43MTRsMCwzNi41NzEgcTAsNy40MjkgLTUuNDI5LDEyLjg1N3QtMTIuODU3LDUuNDI5bC0yNTYsMCBxLTcuNDI5LDAgLTEyLjg1Ny01LjQyOXQtNS40MjktMTIuODU3bDAtMzYuNTcxIHEwLTcuNDI5IDUuNDI5LTEyLjg1N3QgMTIuODU3LTUuNDI5bCAyNTYsMCBxIDcuNDI5LDAgMTIuODU3LDUuNDI5dCA1LjQyOSwxMi44NTd6TSA0MzguODU3LDM2MS4xNDNsMC0yNzQuMjg2IHEwLTM0IC0yNC4xNDMtNTguMTQzdC01OC4xNDMtMjQuMTQzbC0yNzQuMjg2LDAgcS0zNCwwIC01OC4xNDMsMjQuMTQzdC0yNC4xNDMsNTguMTQzbDAsMjc0LjI4NiBxMCwzNCAyNC4xNDMsNTguMTQzdCA1OC4xNDMsMjQuMTQzbCAyNzQuMjg2LDAgcSAzNCwwIDU4LjE0My0yNC4xNDMgdCAyNC4xNDMtNTguMTQzeiIgaG9yaXotYWR2LXg9IjQzOC44NTciICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwYTsiIGQ9Ik0gNTEyLDIyNEMgNTEyLDgyLjYxNSwgMzk3LjM4NS0zMiwgMjU2LTMycyAtMjU2LDExNC42MTUsIC0yNTYsMjU2cyAxMTQuNjE1LDI1NiwgMjU2LDI1NlMgNTEyLDM2NS4zODUsIDUxMiwyMjR6IE0gMjMzLjM3MiwzNzQuNjI4CgkJbCAtMTI4LTEyOC4wMDFDIDk5LjEyNCwyNDAuMzc5LCA5NiwyMzIuMTg5LCA5NiwyMjRzIDMuMTI0LTE2LjM3OSA5LjM3Mi0yMi42MjdjIDEyLjQ5Ny0xMi40OTcgMzIuNzU5LTEyLjQ5NywgNDUuMjU2LDBMIDIyNCwyNzQuNzQ1CgkJTCAyMjQsOTYgYyAwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJjIDE3LjY3MywwLCAzMiwxNC4zMjcsIDMyLDMybDAsMTc4Ljc0NSBsIDczLjM3My03My4zNzNjIDEyLjQ5Ny0xMi40OTcgMzIuNzU4LTEyLjQ5NywgNDUuMjU1LDAKCQljIDEyLjQ5NywxMi40OTcsIDEyLjQ5NywzMi43NTgsIDAsNDUuMjU0bCAtMTI4LDEyOC4wMDFDIDI2Ni4xMzEsMzg3LjEyNCwgMjQ1Ljg2OSwzODcuMTI0LCAyMzMuMzcyLDM3NC42Mjh6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGI7IiBkPSJNIDUxMiwyMjRDIDUxMiwzNjUuMzg1LCAzOTcuMzg1LDQ4MCwgMjU2LDQ4MHMgLTI1Ni0xMTQuNjE1LCAtMjU2LTI1NnMgMTE0LjYxNS0yNTYsIDI1Ni0yNTZTIDUxMiw4Mi42MTUsIDUxMiwyMjR6IE0gMjMzLjM3Miw3My4zNzIKCQlsIC0xMjgsMTI4LjAwMUMgOTkuMTI0LDIwNy42MjEsIDk2LDIxNS44MTEsIDk2LDIyNHMgMy4xMjQsMTYuMzc5IDkuMzcyLDIyLjYyN2MgMTIuNDk3LDEyLjQ5NyAzMi43NTksMTIuNDk3LCA0NS4yNTYsMEwgMjI0LDE3My4yNTUKCQlMIDIyNCwzNTIgYyAwLDE3LjY3MyAxNC4zMjcsMzIgMzIsMzJjIDE3LjY3MywwLCAzMi0xNC4zMjcsIDMyLTMybDAtMTc4Ljc0NSBsIDczLjM3Myw3My4zNzNjIDEyLjQ5NywxMi40OTcgMzIuNzU4LDEyLjQ5NywgNDUuMjU1LDAKCQljIDEyLjQ5Ny0xMi40OTcsIDEyLjQ5Ny0zMi43NTgsIDAtNDUuMjU0bCAtMTI4LTEyOC4wMDFDIDI2Ni4xMzEsNjAuODc2LCAyNDUuODY5LDYwLjg3NiwgMjMzLjM3Miw3My4zNzJ6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGM7IiBkPSJNIDI1Niw0ODBDIDM5Ny4zODUsNDgwLCA1MTIsMzY1LjM4NSwgNTEyLDIyNHMgLTExNC42MTUtMjU2LCAtMjU2LTI1NnMgLTI1NiwxMTQuNjE1LCAtMjU2LDI1NlMgMTE0LjYxNSw0ODAsIDI1Niw0ODB6IE0gMTA1LjM3MiwyMDEuMzcyCgkJbCAxMjguMDAxLTEyOEMgMjM5LjYyMSw2Ny4xMjQsIDI0Ny44MTEsNjQsIDI1Niw2NHMgMTYuMzc5LDMuMTI0IDIyLjYyNyw5LjM3MmMgMTIuNDk3LDEyLjQ5NyAxMi40OTcsMzIuNzU5LDAsNDUuMjU2TCAyMDUuMjU1LDE5MgoJCUwgMzg0LDE5MiBjIDE3LjY3MywwIDMyLDE0LjMyNyAzMiwzMmMwLDE3LjY3MywgLTE0LjMyNywzMiwgLTMyLDMybC0xNzguNzQ1LDAgbCA3My4zNzMsNzMuMzczYyAxMi40OTcsMTIuNDk3IDEyLjQ5NywzMi43NTgsMCw0NS4yNTUKCQljIC0xMi40OTcsMTIuNDk3LCAtMzIuNzU4LDEyLjQ5NywgLTQ1LjI1NCwwbCAtMTI4LjAwMS0xMjhDIDkyLjg3NiwyMzQuMTMxLCA5Mi44NzYsMjEzLjg2OSwgMTA1LjM3MiwyMDEuMzcyeiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDBkOyIgZD0iTSAyNTYsNDgwQyAxMTQuNjE1LDQ4MCwwLDM2NS4zODUsMCwyMjRzIDExNC42MTUtMjU2LCAyNTYtMjU2cyAyNTYsMTE0LjYxNSwgMjU2LDI1NlMgMzk3LjM4NSw0ODAsIDI1Niw0ODB6IE0gNDA2LjYyOCwyMDEuMzcyCgkJbC0xMjguMDAxLTEyOEMgMjcyLjM3OSw2Ny4xMjQsIDI2NC4xODksNjQsIDI1Niw2NHMtMTYuMzc5LDMuMTI0LTIyLjYyNyw5LjM3MmMtMTIuNDk3LDEyLjQ5Ny0xMi40OTcsMzIuNzU5LDAsNDUuMjU2TCAzMDYuNzQ1LDE5MgoJCUwgMTI4LDE5MiBjLTE3LjY3MywwLTMyLDE0LjMyNy0zMiwzMmMwLDE3LjY3MywgMTQuMzI3LDMyLCAzMiwzMmwgMTc4Ljc0NSwwIGwtNzMuMzczLDczLjM3M2MtMTIuNDk3LDEyLjQ5Ny0xMi40OTcsMzIuNzU4LDAsNDUuMjU1CgkJYyAxMi40OTcsMTIuNDk3LCAzMi43NTgsMTIuNDk3LCA0NS4yNTQsMGwgMTI4LjAwMS0xMjhDIDQxOS4xMjQsMjM0LjEzMSwgNDE5LjEyNCwyMTMuODY5LCA0MDYuNjI4LDIwMS4zNzJ6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMGU7IiBkPSJNMCwxNjBMIDk2LDY0TCAyNTYsMjI0TCA0MTYsNjRMIDUxMiwxNjBMIDI1Ni4wMDEsNDE2IHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAwZjsiIGQ9Ik0gNTEyLDI4OEwgNDE2LDM4NEwgMjU2LDIyNEwgOTYsMzg0TDAsMjg4TCAyNTYsMzIuMDAxIHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMDsiIGQ9Ik0gMzIwLTMyTCA0MTYsNjRMIDI1NiwyMjRMIDQxNiwzODRMIDMyMCw0ODBMIDY0LDIyNCB6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTE7IiBkPSJNIDE5Miw0ODBMIDk2LDM4NEwgMjU2LDIyNEwgOTYsNjRMIDE5Mi0zMkwgNDQ4LDIyNCB6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTI7IiBkPSJNIDI5Mi41NzEsMTMyLjU3MXEwLTcuNDI5IC01LjQyOS0xMi44NTd0LTEyLjg1Ny01LjQyOWwtMjU2LDAgcS03LjQyOSwwIC0xMi44NTcsNS40Mjl0LTUuNDI5LDEyLjg1N3QgNS40MjksMTIuODU3bCAxMjgsMTI4cSA1LjQyOSw1LjQyOSAxMi44NTcsNS40Mjl0IDEyLjg1Ny01LjQyOWwgMTI4LTEyOHEgNS40MjktNS40MjkgNS40MjktMTIuODU3eiIgaG9yaXotYWR2LXg9IjI5Mi41NzEiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxMzsiIGQ9Ik0gMjkyLjU3MSwyNzguODU3cTAtNy40MjkgLTUuNDI5LTEyLjg1N2wtMTI4LTEyOHEtNS40MjktNS40MjkgLTEyLjg1Ny01LjQyOXQtMTIuODU3LDUuNDI5bC0xMjgsMTI4cS01LjQyOSw1LjQyOSAtNS40MjksMTIuODU3dCA1LjQyOSwxMi44NTd0IDEyLjg1Nyw1LjQyOWwgMjU2LDAgcSA3LjQyOSwwIDEyLjg1Ny01LjQyOXQgNS40MjktMTIuODU3eiIgaG9yaXotYWR2LXg9IjI5Mi41NzEiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNDsiIGQ9Ik0gMTgyLjg1NywzNTJsMC0yNTYgcTAtNy40MjkgLTUuNDI5LTEyLjg1N3QtMTIuODU3LTUuNDI5dC0xMi44NTcsNS40MjlsLTEyOCwxMjhxLTUuNDI5LDUuNDI5IC01LjQyOSwxMi44NTd0IDUuNDI5LDEyLjg1N2wgMTI4LDEyOHEgNS40MjksNS40MjkgMTIuODU3LDUuNDI5dCAxMi44NTctNS40Mjl0IDUuNDI5LTEyLjg1N3oiIGhvcml6LWFkdi14PSIxODIuODU3IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTU7IiBkPSJNIDE2NC41NzEsMjI0cTAtNy40MjkgLTUuNDI5LTEyLjg1N2wtMTI4LTEyOHEtNS40MjktNS40MjkgLTEyLjg1Ny01LjQyOXQtMTIuODU3LDUuNDI5dC01LjQyOSwxMi44NTdsMCwyNTYgcTAsNy40MjkgNS40MjksMTIuODU3dCAxMi44NTcsNS40Mjl0IDEyLjg1Ny01LjQyOWwgMTI4LTEyOHEgNS40MjktNS40MjkgNS40MjktMTIuODU3eiIgaG9yaXotYWR2LXg9IjE4Mi44NTciICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNjsiIGQ9Ik0gMjU2LDQ4MEwgMzItMzJMIDI1Niw2NEwgNDgwLTMyIHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxNzsiIGQ9Ik0gMjU2LTMyTCA0ODAsNDgwTCAyNTYsMzg0TCAzMiw0ODAgeiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDE4OyIgZD0iTTAsMjI0TCA1MTIsMEwgNDE2LDIyNEwgNTEyLDQ0OCB6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMTk7IiBkPSJNIDUxMiwyMjRMMCw0NDhMIDk2LDIyNEwwLDAgeiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFhOyIgZD0iTSA1MTIsMjI0QyA1MTIsODIuNjE1LCAzOTcuMzg1LTMyLCAyNTYtMzJzIC0yNTYsMTE0LjYxNSwgLTI1NiwyNTZzIDExNC42MTUsMjU2LCAyNTYsMjU2UyA1MTIsMzY1LjM4NSwgNTEyLDIyNHogTSA0OCwyMjQKCQljIDAtMTE0Ljg3NSA5My4xMjUtMjA4IDIwOC0yMDhTIDQ2NCwxMDkuMTI1LCA0NjQsMjI0cyAtOTMuMTI1LDIwOCwgLTIwOCwyMDhTIDQ4LDMzOC44NzUsIDQ4LDIyNHpNIDI3OC42MjcsMzc0LjYyOGwgMTI4LTEyOC4wMDFjIDEyLjQ5Ny0xMi40OTYgMTIuNDk3LTMyLjc1NyAwLTQ1LjI1NGMgLTEyLjQ5Ny0xMi40OTcgLTMyLjc1OC0xMi40OTcsLTQ1LjI1NSwwTCAyODgsMjc0Ljc0NQoJTCAyODgsOTYgYyAwLTE3LjY3MyAtMTQuMzI3LTMyIC0zMi0zMmMtMTcuNjczLDAsIC0zMiwxNC4zMjcsIC0zMiwzMmwwLDE3OC43NDUgbCAtNzMuMzcyLTczLjM3M2MgLTEyLjQ5Ny0xMi40OTcgLTMyLjc1OS0xMi40OTcsLTQ1LjI1NiwwCglDIDk5LjEyNCwyMDcuNjIxLCA5NiwyMTUuODExLCA5NiwyMjRzIDMuMTI0LDE2LjM3OSwgOS4zNzIsMjIuNjI3bCAxMjgsMTI4LjAwMUMgMjQ1Ljg2OSwzODcuMTI0LCAyNjYuMTMxLDM4Ny4xMjQsIDI3OC42MjcsMzc0LjYyOHoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxYjsiIGQ9Ik0gNTEyLDIyNEMgNTEyLDM2NS4zODUsIDM5Ny4zODUsNDgwLCAyNTYsNDgwcyAtMjU2LTExNC42MTUsIC0yNTYtMjU2cyAxMTQuNjE1LTI1NiwgMjU2LTI1NlMgNTEyLDgyLjYxNSwgNTEyLDIyNHogTSA0OCwyMjQKCQljIDAsMTE0Ljg3NSA5My4xMjUsMjA4IDIwOCwyMDhTIDQ2NCwzMzguODc1LCA0NjQsMjI0cyAtOTMuMTI1LTIwOCwgLTIwOC0yMDhTIDQ4LDEwOS4xMjUsIDQ4LDIyNHpNIDI3OC42MjcsNzMuMzcybCAxMjgsMTI4LjAwMWMgMTIuNDk3LDEyLjQ5NiAxMi40OTcsMzIuNzU3IDAsNDUuMjU0YyAtMTIuNDk3LDEyLjQ5NyAtMzIuNzU4LDEyLjQ5NywtNDUuMjU1LDBMIDI4OCwxNzMuMjU1CglMIDI4OCwzNTIgYyAwLDE3LjY3MyAtMTQuMzI3LDMyIC0zMiwzMmMtMTcuNjczLDAsIC0zMi0xNC4zMjcsIC0zMi0zMmwwLTE3OC43NDUgbCAtNzMuMzcyLDczLjM3M2MgLTEyLjQ5NywxMi40OTcgLTMyLjc1OSwxMi40OTcsLTQ1LjI1NiwwCglDIDk5LjEyNCwyNDAuMzc5LCA5NiwyMzIuMTg5LCA5NiwyMjRzIDMuMTI0LTE2LjM3OSwgOS4zNzItMjIuNjI3bCAxMjgtMTI4LjAwMUMgMjQ1Ljg2OSw2MC44NzYsIDI2Ni4xMzEsNjAuODc2LCAyNzguNjI3LDczLjM3MnoiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxYzsiIGQ9Ik0gMjU2LDQ4MEMgMzk3LjM4NSw0ODAsIDUxMiwzNjUuMzg1LCA1MTIsMjI0cyAtMTE0LjYxNS0yNTYsIC0yNTYtMjU2cyAtMjU2LDExNC42MTUsIC0yNTYsMjU2UyAxMTQuNjE1LDQ4MCwgMjU2LDQ4MHogTSAyNTYsMTYKCQljIDExNC44NzUsMCAyMDgsOTMuMTI1IDIwOCwyMDhTIDM3MC44NzUsNDMyLCAyNTYsNDMycyAtMjA4LTkzLjEyNSwgLTIwOC0yMDhTIDE0MS4xMjUsMTYsIDI1NiwxNnpNIDEwNS4zNzIsMjQ2LjYyN2wgMTI4LjAwMSwxMjhjIDEyLjQ5NiwxMi40OTcgMzIuNzU3LDEyLjQ5NyA0NS4yNTQsMGMgMTIuNDk3LTEyLjQ5NyAxMi40OTctMzIuNzU4LDAtNDUuMjU1TCAyMDUuMjU1LDI1NgoJTCAzODQsMjU2IGMgMTcuNjczLDAgMzItMTQuMzI3IDMyLTMyYzAtMTcuNjczLCAtMTQuMzI3LTMyLCAtMzItMzJsLTE3OC43NDUsMCBsIDczLjM3My03My4zNzJjIDEyLjQ5Ny0xMi40OTcgMTIuNDk3LTMyLjc1OSwwLTQ1LjI1NgoJQyAyNzIuMzc5LDY3LjEyNCwgMjY0LjE4OSw2NCwgMjU2LDY0cyAtMTYuMzc5LDMuMTI0LCAtMjIuNjI3LDkuMzcybCAtMTI4LjAwMSwxMjhDIDkyLjg3NiwyMTMuODY5LCA5Mi44NzYsMjM0LjEzMSwgMTA1LjM3MiwyNDYuNjI3eiIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDFkOyIgZD0iTSAyNTYsNDgwQyAxMTQuNjE1LDQ4MCwwLDM2NS4zODUsMCwyMjRzIDExNC42MTUtMjU2LCAyNTYtMjU2cyAyNTYsMTE0LjYxNSwgMjU2LDI1NlMgMzk3LjM4NSw0ODAsIDI1Niw0ODB6IE0gMjU2LDE2CgkJYy0xMTQuODc1LDAtMjA4LDkzLjEyNS0yMDgsMjA4UyAxNDEuMTI1LDQzMiwgMjU2LDQzMnMgMjA4LTkzLjEyNSwgMjA4LTIwOFMgMzcwLjg3NSwxNiwgMjU2LDE2ek0gNDA2LjYyOCwyNDYuNjI3bC0xMjguMDAxLDEyOGMtMTIuNDk2LDEyLjQ5Ny0zMi43NTcsMTIuNDk3LTQ1LjI1NCwwYy0xMi40OTctMTIuNDk3LTEyLjQ5Ny0zMi43NTgsMC00NS4yNTVMIDMwNi43NDUsMjU2CglMIDEyOCwyNTYgYy0xNy42NzMsMC0zMi0xNC4zMjctMzItMzJjMC0xNy42NzMsIDE0LjMyNy0zMiwgMzItMzJsIDE3OC43NDUsMCBsLTczLjM3My03My4zNzJjLTEyLjQ5Ny0xMi40OTctMTIuNDk3LTMyLjc1OSwwLTQ1LjI1NgoJQyAyMzkuNjIxLDY3LjEyNCwgMjQ3LjgxMSw2NCwgMjU2LDY0cyAxNi4zNzksMy4xMjQsIDIyLjYyNyw5LjM3MmwgMTI4LjAwMSwxMjhDIDQxOS4xMjQsMjEzLjg2OSwgNDE5LjEyNCwyMzQuMTMxLCA0MDYuNjI4LDI0Ni42Mjd6IiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMWU7IiBkPSJNIDMwNy4xNDMsMTQxLjcxNHEwLTMuNzE0IC0yLjg1Ny02LjU3MWwtMTQuMjg2LTE0LjI4NnEtMi44NTctMi44NTcgLTYuNTcxLTIuODU3dC02LjU3MSwyLjg1N2wtMTEyLjI4NiwxMTIuMjg2bC0xMTIuMjg2LTExMi4yODZxLTIuODU3LTIuODU3IC02LjU3MS0yLjg1N3QtNi41NzEsMi44NTdsLTE0LjI4NiwxNC4yODZxLTIuODU3LDIuODU3IC0yLjg1Nyw2LjU3MXQgMi44NTcsNi41NzFsIDEzMy4xNDMsMTMzLjE0M3EgMi44NTcsMi44NTcgNi41NzEsMi44NTd0IDYuNTcxLTIuODU3bCAxMzMuMTQzLTEzMy4xNDNxIDIuODU3LTIuODU3IDIuODU3LTYuNTcxeiIgaG9yaXotYWR2LXg9IjMyOS4xNDMiICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAxZjsiIGQ9Ik0gMzA3LjE0MywyNjkuNzE0cTAtMy43MTQgLTIuODU3LTYuNTcxbC0xMzMuMTQzLTEzMy4xNDNxLTIuODU3LTIuODU3IC02LjU3MS0yLjg1N3QtNi41NzEsMi44NTdsLTEzMy4xNDMsMTMzLjE0M3EtMi44NTcsMi44NTcgLTIuODU3LDYuNTcxdCAyLjg1Nyw2LjU3MWwgMTQuMjg2LDE0LjI4NnEgMi44NTcsMi44NTcgNi41NzEsMi44NTd0IDYuNTcxLTIuODU3bCAxMTIuMjg2LTExMi4yODZsIDExMi4yODYsMTEyLjI4NnEgMi44NTcsMi44NTcgNi41NzEsMi44NTd0IDYuNTcxLTIuODU3bCAxNC4yODYtMTQuMjg2cSAyLjg1Ny0yLjg1NyAyLjg1Ny02LjU3MXoiIGhvcml6LWFkdi14PSIzMjkuMTQzIiAgLz4KPGdseXBoIHVuaWNvZGU9IiYjeGUwMjA7IiBkPSJNIDE3OS4xNDMsMzI0LjU3MXEwLTMuNzE0IC0yLjg1Ny02LjU3MWwtMTEyLjI4Ni0xMTIuMjg2bCAxMTIuMjg2LTExMi4yODZxIDIuODU3LTIuODU3IDIuODU3LTYuNTcxdC0yLjg1Ny02LjU3MWwtMTQuMjg2LTE0LjI4NnEtMi44NTctMi44NTcgLTYuNTcxLTIuODU3dC02LjU3MSwyLjg1N2wtMTMzLjE0MywxMzMuMTQzcS0yLjg1NywyLjg1NyAtMi44NTcsNi41NzF0IDIuODU3LDYuNTcxbCAxMzMuMTQzLDEzMy4xNDNxIDIuODU3LDIuODU3IDYuNTcxLDIuODU3dCA2LjU3MS0yLjg1N2wgMTQuMjg2LTE0LjI4NnEgMi44NTctMi44NTcgMi44NTctNi41NzF6IiBob3Jpei1hZHYteD0iMTgyLjg1NyIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3hlMDIxOyIgZD0iTSAxNzAsMjA1LjcxNHEwLTMuNzE0IC0yLjg1Ny02LjU3MWwtMTMzLjE0My0xMzMuMTQzcS0yLjg1Ny0yLjg1NyAtNi41NzEtMi44NTd0LTYuNTcxLDIuODU3bC0xNC4yODYsMTQuMjg2cS0yLjg1NywyLjg1NyAtMi44NTcsNi41NzF0IDIuODU3LDYuNTcxbCAxMTIuMjg2LDExMi4yODZsLTExMi4yODYsMTEyLjI4NnEtMi44NTcsMi44NTcgLTIuODU3LDYuNTcxdCAyLjg1Nyw2LjU3MWwgMTQuMjg2LDE0LjI4NnEgMi44NTcsMi44NTcgNi41NzEsMi44NTd0IDYuNTcxLTIuODU3bCAxMzMuMTQzLTEzMy4xNDNxIDIuODU3LTIuODU3IDIuODU3LTYuNTcxeiIgaG9yaXotYWR2LXg9IjE4Mi44NTciICAvPgo8Z2x5cGggdW5pY29kZT0iJiN4ZTAyMjsiIGQ9Ik0gMjkyLjU3MSwxNjkuMTQzcTAtNy40MjkgLTUuNDI5LTEyLjg1N2wtMTI4LTEyOHEtNS40MjktNS40MjkgLTEyLjg1Ny01LjQyOXQtMTIuODU3LDUuNDI5bC0xMjgsMTI4cS01LjQyOSw1LjQyOSAtNS40MjksMTIuODU3dCA1LjQyOSwxMi44NTd0IDEyLjg1Nyw1LjQyOWwgMjU2LDAgcSA3LjQyOSwwIDEyLjg1Ny01LjQyOXQgNS40MjktMTIuODU3ek0gMjkyLjU3MSwyNzguODU3cTAtNy40MjkgLTUuNDI5LTEyLjg1N3QtMTIuODU3LTUuNDI5bC0yNTYsMCBxLTcuNDI5LDAgLTEyLjg1Nyw1LjQyOXQtNS40MjksMTIuODU3dCA1LjQyOSwxMi44NTdsIDEyOCwxMjhxIDUuNDI5LDUuNDI5IDEyLjg1Nyw1LjQyOXQgMTIuODU3LTUuNDI5bCAxMjgtMTI4cSA1LjQyOS01LjQyOSA1LjQyOS0xMi44NTd6IiBob3Jpei1hZHYteD0iMjkyLjU3MSIgIC8+CjxnbHlwaCB1bmljb2RlPSImI3gyMDsiIGhvcml6LWFkdi14PSIyNTYiIC8+CjwvZm9udD48L2RlZnM+PC9zdmc+]]></data>
	</file>
	<file>
	  <filename>/framework/fonts/footable.ttf</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/framework/fonts/footable.woff</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[d09GRk9UVE8AAA+wAAsAAAAAKkAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABCAAADFkAACTl73ep10ZGVE0AAA1kAAAAGgAAABxl9qSUR0RFRgAADYAAAAAdAAAAIABSAARPUy8yAAANoAAAAEsAAABgL9zb7mNtYXAAAA3sAAAAPQAAAVLgNPLNaGVhZAAADiwAAAAuAAAANv2Mdh9oaGVhAAAOXAAAAB4AAAAkBBEABmhtdHgAAA58AAAANwAAAJQ81AEtbWF4cAAADrQAAAAGAAAABgAlUABuYW1lAAAOvAAAAOYAAAGSftV6UHBvc3QAAA+kAAAADAAAACAAAwAAeJzVWXtwlNUVvzfsi7BZINmlWmMicXHGrmAWI0TIqDwkxkw705HYP2oHiFGLilJYncYpDxVp9UsU0/WBYEwt2hp0pmOZVRzBTg02GDqKqH8QB23/qHW2oDQdvoUN3J5zz733+3bzJfJwOtNk5nznPs499/zOufeee5czn49xzsffds89qWWtd93KeAnj7OrcNSW5a8flzvNZ4XFW2FdVys6/sVxYlmHCwUfvzKVzKX8l3zGxkrFJlfzk5EpWVjn1h+XsEhwjxCayKexCFmcJNpNdxa5ljewHrIXdzG5hd7CfsZ+zdWwj62RptoW9wF5mf2Cvs91sD9vHDrCD7G/sn+wrdoyd5H5edu/dyxfV1tbC5zrzSdJnJn2uoE8dfa6kzyz6zKZPPX2uos88+synzwL6LKTPdfRZJD9J0pckfUnSlyR9SdKXJH1J0pckfUnSlyR9SdKXJH1J0pckfUnSlyR9M0nfTNI3c6Z2jHEQY/yX/Ff8Ef4ot3gH7+SP8cf5Jv4E7+K/5mn+JH+KP82f4Zv5s3wL38qf4938ed7Df8Nf4L/l2/iL/CX+O/57/jLvZdPQTyWsjH3Mr+SL+W18A9/iWx94IvTa+F2lf57wl/C+sv1lRyJlkWmRqyfOnTR9cmV5RXm8vK58QfniildjgSlLvvPG+dHvrryg/8ILqwOR/KpcyjeczqWDkdwGe0dMsNAnPsGClw4LkQNO2JcOVyeC8qtqdHVVfmF+YcCzJeGuloPhsNU2CAQ9W7JBl2JTXWUvtEGDV0s24DlTGD9ib/N5iuRS3jKjWDec8jYiYsMSil1Uuj2/I2ZHB/JRO9qcj+ajzTaQgYButuugfSD/UXNQ1wwv9k0ttaN2XWwgkW1OJJqziYFsYSsMloo12+mBYOSYnRbsk8G2mCVYSW+vECK+FbjaN4U41TRbMJ7Zi1y94k6+v0gwNtgGXEuLFWoeCIwq956Re2+EnBCHM3sDWPiRRY1SXooCmeXmZAN0wY4tN4Wam4PILC6Sqzci9YqI+BZHroVUgvthjUi9OJ1b1cR4pr/Q3Nloyk5tVO92KzTQDNOVf6Bbm0KyDkD9ipMwoH6SFay8aXaAcJL6ZQepX4pLSc3tpcFRv4R2e2hgIKgxhj8t2+aWcEZRsm8qWcHiXTOE2NZ1d6ymFAt3T8EpXCbY5MwxIY6/Uy7YxPN+KsTQwycEC7cfdHNff/GMYIGGI0IcaZqFTps12BbAQpjGkB3kGGJo4zSSdHHH36mQXSwpT+JBNOFjqGj/FIc+DB2G9oG6+6FhaMUuNyendTxzCKfajyDujW8NyHlb1MgCTTU0UxbuWuDmcM5sYrgOOk7eGA9Fjgk+HjzJVzXVx/5vrZCiwbP3HrtgRZc4dQyWOkSC+BCX1quZfsDjxysOBL6NJdVyhktKsG1d072WxemGNqyq4FltWxH7LsFX4Jh/zeyNoTM/ESIfvgFEcIR85jMhhpd1I1mNpEdxefCj6hKuwgUBBkgi94YDhWMcQqHnkaQMt1oNfgqRUGMMSvjz4SYVjtiBcfQD9mfjulsNt5QGZ76mGrDbN/R3AAG8J6cQJO0wxnSPMZbRPIhTY0w1Y8RRHCQTWPE6SjbKDqQTSCfNgzjZgIOjtKWmAOTDgApO31BGd8DYRp1AOtzciDHiMhRQUnpDdqCJok7pDc31KNMAYkuiKB0xQ84jWDhGjRmjw4zRQd7QY3ymx2BNGEL3Db4Uu7j0WwqQfDpQ6JVDxisp45XVxis7vb1ymfHKIuOVVuOVpcYrNW5E7XTgW4Iil4ZkIV4qTn25pEGwp3r6IHkLr5sLZC1sNdEFFRaW58DWs74vZEeFWCfe9mNVA1Q9AAtUZHddLluR7HFz2V21FpVxRHBjpmcDKF+yBmq/P+96P2xdN4IFR1+5QRFZNHUsAhyb/MoNVTCF13a/gfJ7JPEbVe+ClreOWFSW8xbH//QgbIzXrAHjP58PyVbtNgtpK1HApXq3rKVOQH4RIhCmKRDE8iUNCgSwMOAGAc1GENh6Nl+BADgdh9bo/P2OqW7OAQHnqEAA8hAZ5ZcWugwuAsEAU0WgEQgA4ly/MXqOGwQiCAKQhwgEYb9/s4W0myiBgLUKKegZohTyklJpv0QipuwHO9DCBeUGBHAmQmBH/SpOJBLR+R9YOjLIfuJkjNQaEPocEDZIDCwFAtnvEQmmrlpiYKH9DSjfZyJx/buo5a3D7vhTIDxIlmokul1I3KyQQKQQiZDOo+VKUCBoCzUIMuxURK8TuxEEjVMDWjrDGrESHBBMeITkSlBIoFFjLAcHGMSpmkAzy6HPr1aCA4LWssf490GKeb0mWl1rYptaE7ASNAh1PsEZ+BcuD0LszqcTiXwdXEXg349rZUcsn4ZUlc3PU4dsFhtt+PdH7I/uhFZb/mcT+ToShPrFAKydzsv/RNauIxF/ZL/gmMSyDV3TY5ba1PQRZrbSzhDekPxmQ+1wH4KwBVuG0vn7ptm7UyApxHrGpXCjOrDNPq8OZdrEE+qgxgOSWt2b+FI1G2ezLdyK1QlLG3WjOROXGq7V2eTVKaCN51Mgb9N7uQuAmsK9vMeYfsiY7jqHPM13czp1sVyYOaetOYFTIbyE+k15tfu8hulZhppjXp1WnSBpk6S2XScK2uJbBMsMttn/KfZ1jdu3Z+XlPMWHtli72NPYzxzjHGMfw/L1xtidBW4l7jIPowsOaw9zIXuD00XlwCPCe7VXeGeKDDcpSpPmigHoNqb36PzT5E/5dNAxv9H4usNZXSayHcNfL/ZyozGzw/Fyp8r6iuNabqN2ajidT2XzqQQs/zRsCyk8ZxN2KgvllE8WZLufDmDZW3bw67RkuA0utKs+Z4L95CJNZNHUiReAE50XaSKLHnVGtkqwf+DBI1MdtXHDBo/7ptm4HwjIXUOmOq5j5JvP0rXYc557/9XJw1x9bsLRPTIJKtzhXcfhiCTI4+jb4z56taoGc2Q5mcnaEybVQWAlOA6IRcAWge2AOBrYClhKnySwRBxg5QzyOn3Smdra08nU1iJ52wHSDSwlVhLYEYlVIYheeYZOrCSwlFhp+OYU5TR7HK4w74V40enTcJvPK+rOJYqrKSUDdB9ygPXLo/6ICl5CAGCVW5mKw9M683crdLXJMsmp8ErbG0Yma0XAFmaxBckaEgfYBhmXHxTliSaDutzSZkKeZJ42AdhziE6vaK+mNI+AVUAaYIEN6Zwd0jx5upxJRjlP+UEn6QrYwq1gjVrPxQmgV8SaOlcC2KeANcGpgC3cBUx+vt8y8dIn382uwJtgp7oEnxKspP1TYMJ1+rEFX7D4F88ABPfj88zD8a1+p1Y/vAztA27jNMtQ+coEg8ieSJQ8Er9TqzqpFyc9gB5QPjOhEinPIvhWdTTT73dq9UusnG77oGWofGfCJzvsSfNnK/HdaCU+GSEnHh9jpE8tQ71GiuAgQPxOreqkXq/aBw22vAzf4ODoLxkL26P4FCFHHAXbuGWoF7aP4yOYIWjg2XrpKA4iUR7NS2oqo3jpYXxblF4+Oy+hPEWZrn22CNuDMqf6I2K7sGtGjOpGxXWvg+vyc4zZ2888ZgvQePrM0cCYHzvSDlqFcbXT2L9ZxkW/ifl6FRdj4WpfTS9isuLQmW0EjUWgUrA2GlBv9wwxT1DHDjE0RQd7v+SUe//nW8rIYPXYCPT19uX4Vq8b3tQRj5+SG+WGp36jGpH9F5Azv/ic4y1vZP4v2IpMv8/rhpeiC8S53ObVPa/oKn/I4ypfdOFxXslP4yr/Pfebq3OBH/1im0tH7VWxTeHSSlZWwYL4A/uN7EW+qWRdyf5xF4+7F87Z1k2Qdjy3ElIR4ITknKJHnexMYk5R11VPEOyO8cOCtRzzKSKLSESvbhBPGtKrG5w66tKrxKonAOQ5xPRky02QwmycKMQJ/PXlRO92w/ViwyTVBTo7PxxiARsj6jcblGJ+7Ka4FvUzUqD9KIAWhDBQP3rRL59BhLYEuwbav6b+UtzFBdr/rX5Qgs7Oz21YICk5La20182VqJmTiSEwlU3BKhvXa8WyR4X4CpfvJNxDHO5f3fdBuoxbypctN4HCU4cz/QEqUKOUB4HNJOUisgG6WLI7iSpTsUINKxUopZvd6iuWPaImB9MEzby8qT6g5izhwjnLMaRQMZENMAaZGZpAEeRE1djR50TpaNFXNeFcYtdrLYw14jfPx8u+6gn/BWATQeIAAAB4nGNgYGBkAIKTnfmGIPqc2ayNMBoAQxkGkgAAeJxjYGRgYOADYgkGEGBiYARCFSBmAfMYAAXWAFcAAAB4nGNgZlzHOIGBlYGD0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAMBBJMhIM01hcHhAcMHBsYH/x8w6DE+YFBoYGBghCtQAEJGAE8aDMwAeJxjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETCCJB0ofGP7/B7MYICwFJgFGqC4wYGRjQOaOSAAA8EgI0AAAAHicY2BkYGAAYqHTD7bH89t8ZeBmYgCBc2azNiLo/w+YGBgfALkcDGBpAEeOC40AAHicY2BkYGB88P8Bgx4TAwPDPwYgCRRBAaoAbgkEGAAAeJxjYoAAJhyY0ROKt0EwLnVA7ADECYwqQHVAzLCNQYgBol4BinGZLwbCQLU8QMwM0gsAoPQHOQAAAFAAACUAAHicfY4xTsNAEEWfEyeAQAhRpKHZgg7Z8prGygEsaor0jrSxIlleaeOUXIMDcAZajsEBOAMX4NssDUV2tZo3X//vDHDFKwnjSTjnNvKMMx4iz7nnJXIqz3vkBZd8Rl5K/5YzSS+k3EypkWdccxd5zhOPkVN53iIvWPEReSn9ix1ed6BhS4eDnfdDs+1Ez2pbjpIbglrXHrtGUCvQKzLWIIfDUJJTqK71/n/5q1oqsumVclqtR+37ofahdabMC7M2f6OFtsqqrCysXCc23KgNHNhPG40zxi3YuHDY+97YvDgV/wE8BDzzAAB4nGNgZsALAAB9AAQ=]]></data>
	</file>
	<file>
	  <filename>/framework/fonts/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_categorytab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgY2F0ZWdvcmllcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKSkgDQoJcmV0dXJuOw0KDQokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOw0KDQokcXVlcnlfb2JqZWN0ID0gbmV3IExJU0VDYXRlZ29yeVF1ZXJ5KCR0aGlzLCAkcGFyYW1zKTsNCiRyZXN1bHQgPSAkcXVlcnlfb2JqZWN0LT5FeGVjdXRlKHRydWUpOw0KDQokaXRlbXMgPSBhcnJheSgpOw0Kd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIHsNCg0KCSRvYmogPSAkdGhpcy0+SW5pdGlhdGVDYXRlZ29yeSgpOw0KCUxJU0VDYXRlZ29yeU9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRvYmosICRyb3cpOw0KCQ0KCS8vJG9iai0+ZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJG9iai0+aGllcmFyY2h5KSkgLSAxOw0KIA0KICAgIC8vIGFwcHJvdmUNCiAgICBpZiAoJG9iai0+YWN0aXZlKSB7DQogICAgICAgICRvYmotPmFwcHJvdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZXZlcnQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgNCiAgICAgICAgICAgICdhcHByb3ZlJyA9PiAwLA0KICAgICAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddDQogICAgICAgICkpOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRvYmotPmFwcHJvdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9hcHByb3ZlY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KA0KICAgICAgICAgICAgJ2FwcHJvdmUnID0+IDEsDQogICAgICAgICAgICAnY2F0ZWdvcnlfaWQnID0+ICRyb3dbJ2NhdGVnb3J5X2lkJ10NCiAgICAgICAgKSk7DQogICAgfQ0KICAgIA0KICAgIC8vIGVkaXQNCiAgICAkb2JqLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgNCiAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddDQogICAgKSk7DQoJDQogICAgJG9iai0+bmFtZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJG9iai0+bmFtZSwgYXJyYXkoDQogICAgICAgICdjYXRlZ29yeV9pZCcgPT4gJHJvd1snY2F0ZWdvcnlfaWQnXQ0KICAgICkpOw0KCQ0KCS8vIGRlbGV0ZQ0KICAgICRvYmotPmRlbGV0ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgNCiAgICAgICAgJ2NhdGVnb3J5X2lkJyA9PiAkcm93WydjYXRlZ29yeV9pZCddDQogICAgKSk7DQoJDQoJLy8gc2VsZWN0IGJveA0KICAgICRvYmotPnNlbGVjdCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2NhdGVnb3JpZXNbXScsICRyb3dbJ2NhdGVnb3J5X2lkJ10pOw0KCQ0KCSRpdGVtc1tdID0gJG9iajsNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywgJGl0ZW1zKTsNCiRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJ2NhdGVnb3J5JykpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkdGhpcy0+TW9kTGFuZygnY2F0ZWdvcnknKSkpKTsNCiRzbWFydHktPmFzc2lnbigncmVvcmRlcmxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9yZW9yZGVyY2F0ZWdvcnknLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9yZW9yZGVyLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdyZW9yZGVyX2NhdGVnb3JpZXMnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpIC4kdGhpcy0+TW9kTGFuZygncmVvcmRlcl9jYXRlZ29yaWVzJykpKTsNCiANCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnY2F0ZWdvcnl0YWIudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_fielddeftab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJbml0IGl0ZW1zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nKSkgcmV0dXJuOwoKJGFkbWludGhlbWUgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsKJGZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnMoKTsKCmZvcmVhY2goJGZpZWxkZGVmcyBhcyAkZmllbGRkZWYpIHsKCgkkZmllbGRkZWYtPlNldE5hbWUoJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkZmllbGRkZWYtPkdldE5hbWUoKSwgYXJyYXkoJ2ZpZWxkZGVmX2lkJz0+JGZpZWxkZGVmLT5HZXRJZCgpKSkpOwoJCglpZigkZmllbGRkZWYtPklzUmVxdWlyZWQoKSkgewoJCSRmaWVsZGRlZi0+U2V0UmVxdWlyZWQoJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl9yZXF1aXJlZmllbGRkZWYnLCRyZXR1cm5pZCwKCQkJCQkkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnc3RhdHVzX29wdGlvbmFsJyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgncmVxdWlyZSc9PjAsJ2ZpZWxkZGVmX2lkJz0+JGZpZWxkZGVmLT5HZXRJZCgpKSkpOwoJfSBlbHNlIHsKCQkkZmllbGRkZWYtPlNldFJlcXVpcmVkKCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRtaW5fcmVxdWlyZWZpZWxkZGVmJywgJHJldHVybmlkLAoJCQkJCSRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCR0aGlzLT5Nb2RMYW5nKCdzdGF0dXNfcmVxdWlyZWQnKSwnJywnJywnc3lzdGVtaWNvbicpLGFycmF5KCdyZXF1aXJlJz0+MSwnZmllbGRkZWZfaWQnPT4kZmllbGRkZWYtPkdldElkKCkpKSk7Cgl9CgogICAgJGZpZWxkZGVmLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgCgkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JGZpZWxkZGVmLT5HZXRJZCgpKSk7CgoKCSRmaWVsZGRlZi0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2RlbGV0ZWZpZWxkZGVmJywgJHJldHVybmlkLCAKCQkJCQkkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnZmllbGRkZWZfaWQnID0+JGZpZWxkZGVmLT5HZXRJZCgpKSk7CgkkZmllbGRkZWYtPnNlbGVjdCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2ZpZWxkZGVmc1tdJywgJGZpZWxkZGVmLT5HZXRJZCgpKTsKCn0KCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcHJvY2Vzc2luZwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZGVsZXRlZmllbGRkZWYnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7Cgokc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdpdGVtcycsICRmaWVsZGRlZnMpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdG9yZGVyJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdF9maWVsZGRlZm9yZGVyJywgJHRoaXMtPk1vZExhbmcoJ3N1Ym1pdF9vcmRlcicpKSk7CiRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmJykpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmJykpKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0bWFzc2RlbGV0ZScsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXRtYXNzZGVsZXRlJywgJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZV9zZWxlY3RlZCcsICR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZnMnKSksICcnLCAnJywgJHRoaXMtPk1vZExhbmcoJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZzJykpKSk7CgplY2hvICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2ZpZWxkZGVmdGFiLnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_itemtab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpKQ0KICAgIHJldHVybjsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDaGVjayBQcmVmZXJlbmNlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokYWRtaW50aGVtZSA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOw0KDQokc2luZ3VsYXIgICAgICAgICAJPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKTsNCiRwbHVyYWwgICAgICAgICAgIAk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsICcnKTsNCiRmaWVsZHMgICAgICAgICAgIAk9IGV4cGxvZGUoJywnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jb2xzJywgJycpKTsNCiRsaW1pdCAgICAgICAgICAgIAk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtc19wZXJfcGFnZScsIDIwKTsNCiRkYXRlZm9ybWF0ICAgICAgIAk9IHRyaW0oZ2V0X3ByZWZlcmVuY2UoZ2V0X3VzZXJpZCgpLCdkYXRlX2Zvcm1hdF9zdHJpbmcnLCclWS0lbS0lZCcpKTsNCg0KaWYoZW1wdHkoJGRhdGVmb3JtYXQpKSANCgkkZGF0ZWZvcm1hdCA9ICclWS0lbS0lZCc7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgSW5pdCBpdGVtcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCgkNCiRwYXJhbXNbJ3BhZ2VsaW1pdCddIAkJCT0gJGxpbWl0Ow0KJHBhcmFtc1snc2hvd2FsbCddIAkJCQk9IHRydWU7CS8vIDwtIFRvIGRpc2FibGUgdGltZSBjb250cm9sIHF1ZXJpZXMNCiRpdGVtX3F1ZXJ5ID0gbmV3IExJU0VJdGVtUXVlcnkoJHRoaXMsICRwYXJhbXMpOw0KDQppZighJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9hbGxfaXRlbScpKSB7DQoNCgkkaXRlbV9xdWVyeS0+QXBwZW5kVG8oTElTRVF1ZXJ5OjpWQVJUWVBFX1dIRVJFLCAnQS5vd25lciA9ID8nKTsNCgkkaXRlbV9xdWVyeS0+QXBwZW5kVG8oTElTRVF1ZXJ5OjpWQVJUWVBFX1FQQVJBTVMsIGdldF91c2VyaWQoZmFsc2UpKTsNCn0NCg0KJHJlc3VsdCA9ICRpdGVtX3F1ZXJ5LT5FeGVjdXRlKHRydWUpOw0KDQokcGFnZSA9ICRpdGVtX3F1ZXJ5LT5HZXRQYWdlTnVtYmVyKCk7DQokdG90YWxjb3VudCA9ICRpdGVtX3F1ZXJ5LT5Ub3RhbENvdW50KCk7DQoNCiRpdGVtcyA9IGFycmF5KCk7DQp3aGlsZSAoJHJlc3VsdCAmJiAkcm93ID0gJHJlc3VsdC0+RmV0Y2hSb3coKSkgew0KDQoJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oJGZpZWxkcyk7DQoJTElTRUl0ZW1PcGVyYXRpb25zOjpMb2FkKCR0aGlzLCAkb2JqLCAkcm93KTsJDQogICAgDQoJLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBzaG93IGFueSBmaWVsZHMNCiAgICBpZiAoY291bnQoJGZpZWxkcykgPiAwKSB7DQoJCQ0KCQkvLyBDaGVjayBzdGF0aWMNCgkJaWYgKCFpbl9hcnJheSgnYWxpYXMnLCAkZmllbGRzKSkgew0KCQkJdW5zZXQoJG9iai0+YWxpYXMpOw0KCQl9DQoJCQ0KCQlpZiAoIWluX2FycmF5KCdjcmVhdGVfdGltZScsICRmaWVsZHMpKSB7DQoJCQl1bnNldCgkb2JqLT5jcmVhdGVfdGltZSk7DQoJCX0gZWxzZSB7DQoJCQkkb2JqLT5jcmVhdGVfdGltZSA9IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCBzdHJ0b3RpbWUoJG9iai0+Y3JlYXRlX3RpbWUpKTsNCgkJfQ0KCQkNCgkJaWYgKCFpbl9hcnJheSgnbW9kaWZpZWRfdGltZScsICRmaWVsZHMpKSB7DQoJCQl1bnNldCgkb2JqLT5tb2RpZmllZF90aW1lKTsNCgkJfSBlbHNlIHsNCgkJCSRvYmotPm1vZGlmaWVkX3RpbWUgPSBzdHJmdGltZSgkZGF0ZWZvcm1hdCwgc3RydG90aW1lKCRvYmotPm1vZGlmaWVkX3RpbWUpKTsNCgkJfQkJDQoJCQ0KCQlpZiAoaW5fYXJyYXkoJ3N0YXJ0X3RpbWUnLCAkZmllbGRzKSkgew0KCQkJJG9iai0+c3RhcnRfdGltZSA9ICFlbXB0eSgkb2JqLT5zdGFydF90aW1lKSA/IHN0cmZ0aW1lKCRkYXRlZm9ybWF0LCBzdHJ0b3RpbWUoJG9iai0+c3RhcnRfdGltZSkpIDogJyc7DQoJCX0NCgkJDQoJCWlmIChpbl9hcnJheSgnZW5kX3RpbWUnLCAkZmllbGRzKSkgew0KCQkJJG9iai0+ZW5kX3RpbWUgPSAhZW1wdHkoJG9iai0+ZW5kX3RpbWUpID8gc3RyZnRpbWUoJGRhdGVmb3JtYXQsIHN0cnRvdGltZSgkb2JqLT5lbmRfdGltZSkpIDogJyc7DQoJCX0JCQkNCiAgICB9DQogICANCiAgCS8vIGFwcHJvdmUNCglpZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYXBwcm92ZV9pdGVtJykpIHsNCgkNCgkJaWYgKCRvYmotPmFjdGl2ZSkgew0KCQkJJG9iai0+YXBwcm92ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2FwcHJvdmVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vdHJ1ZS5naWYnLCAkdGhpcy0+TW9kTGFuZygncmV2ZXJ0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoDQoJCQkJJ2FwcHJvdmUnID0+IDAsDQoJCQkJJ2l0ZW1faWQnID0+ICRyb3dbJ2l0ZW1faWQnXQ0KCQkJKSk7DQoJCX0gZWxzZSB7DQoJCQkkb2JqLT5hcHByb3ZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fYXBwcm92ZWl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAkdGhpcy0+TW9kTGFuZygnYXBwcm92ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KA0KCQkJCSdhcHByb3ZlJyA9PiAxLA0KCQkJCSdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10NCgkJCSkpOw0KCQl9DQoJfQ0KICAgIA0KCSRsaW5rcGFyYW1zID0gYXJyYXkoKTsNCgkkbGlua3BhcmFtc1snaXRlbV9pZCddID0gJHJvd1snaXRlbV9pZCddOw0KCQ0KCWxpc2VfdXRpbHM6OmNsZWFuX3BhcmFtcygkcGFyYW1zLCBhcnJheSgncGFnZScpLCB0cnVlKTsNCgkkbGlua3BhcmFtcyA9IGFycmF5X21lcmdlKCRsaW5rcGFyYW1zLCAkcGFyYW1zKTsJDQoJDQogICAgLy8gZWRpdA0KICAgICRvYmotPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsICR0aGlzLT5Nb2RMYW5nKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgJGxpbmtwYXJhbXMpOw0KICAgICRvYmotPnRpdGxlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRvYmotPnRpdGxlLCAkbGlua3BhcmFtcyk7CQ0KCQ0KCSRsaW5rcGFyYW1zWydtb2RlJ10gPSAnY29weSc7DQoJDQogICAgLy8gY29weQ0KICAgICRvYmotPmNvcHlsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9jb3B5LmdpZicsICR0aGlzLT5Nb2RMYW5nKCdjb3B5JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwgJGxpbmtwYXJhbXMpOwkNCgkNCgkvLyBkZWxldGUNCglpZigkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfcmVtb3ZlX2l0ZW0nKSkgew0KCQ0KCQkkb2JqLT5kZWxldGUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9kZWxldGVpdGVtJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5Nb2RMYW5nKCdkZWxldGUnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgNCgkJCSdpdGVtX2lkJyA9PiAkcm93WydpdGVtX2lkJ10NCgkJKSk7DQoJfQ0KCQ0KCS8vIHNlbGVjdCBib3gNCiAgICAkb2JqLT5zZWxlY3QgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpdGVtc1tdJywgJHJvd1snaXRlbV9pZCddKTsNCgkNCgkkaXRlbXNbXSA9ICRvYmo7DQp9DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgU21hcnR5IHByb2Nlc3NpbmcNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7DQokc21hcnR5LT5hc3NpZ24oJ3BhZ2luYXRpb24nLCAkdGhpcy0+Q3JlYXRlUGFnaW5hdGlvbigkaWQsICcnLCAnJywgJHBhZ2UsICR0b3RhbGNvdW50LCAkbGltaXQpKTsNCiRzbWFydHktPmFzc2lnbigndGl0bGUnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9zaW5ndWxhcicsICcnKSk7DQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3BsdXJhbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsICcnKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3VibWl0b3JkZXInLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0X2l0ZW1vcmRlcicsICR0aGlzLT5Nb2RMYW5nKCdzdWJtaXRfb3JkZXInKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZWRpdGl0ZW0nLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2FkZCcsICRzaW5ndWxhciksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuIA0KCSR0aGlzLT5Nb2RMYW5nKCdhZGQnLCAkc2luZ3VsYXIpKSk7DQoNCmlmKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfYWxsX2l0ZW0nKSkgew0KCQ0KCSRzbWFydHktPmFzc2lnbignZXhwb3J0bGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2V4cG9ydGl0ZW1zJywgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZXhwb3J0LmdpZicsICR0aGlzLT5Nb2RMYW5nKCdleHBvcnQnLCAkc2luZ3VsYXIpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiANCgkJJHRoaXMtPk1vZExhbmcoJ2V4cG9ydCcsICRwbHVyYWwpKSk7DQoJJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5faW1wb3J0aXRlbXMnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2ltcG9ydCcsICRzaW5ndWxhciksICcnLCAnJywgJ3N5c3RlbWljb24nKSAuIA0KCQkkdGhpcy0+TW9kTGFuZygnaW1wb3J0JywgJHBsdXJhbCkpKTsJDQp9CQ0KCQ0KZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCdpdGVtdGFiLnRwbCcpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_optiontab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfb3B0aW9uJykpcmV0dXJuOw0KDQokc3lzdGVtZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnMoKTsNCiRmaWVsZGRlZnMgPSBhcnJheSgNCgkgICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnYWxpYXMnKSAJCT0+ICdhbGlhcycsIA0KCSAgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdjcmVhdGVfdGltZScpIAk9PiAnY3JlYXRlX3RpbWUnLCANCgkgICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnbW9kaWZpZWRfdGltZScpID0+ICdtb2RpZmllZF90aW1lJywgDQoJICAgICAgICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ3N0YXJ0X3RpbWUnKSAJPT4gJ3N0YXJ0X3RpbWUnLCANCgkgICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnZW5kX3RpbWUnKSAJCT0+ICdlbmRfdGltZScNCiAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICANCmZvcmVhY2goJHN5c3RlbWRlZnMgYXMgJG9uZWRlZikNCnsNCgkkZmllbGRkZWZzWyRvbmVkZWYtPkdldE5hbWUoKV0gPSAkb25lZGVmLT5HZXRBbGlhcygpOw0KfQ0KDQovLyBwYWdpbmF0aW9uIG9wdGlvbnMNCiRpdGVtc19wZXJfcGFnZSA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAgICAgICAxMCA9PiAxMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAgPT4gMjAsDQogICAgICAgICAgICAgICAgICAgICAgICAgIDUwID0+IDUwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAgPT4gMTAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAgPT4gMjAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAzMDAgPT4gMzAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICA0MDAgPT4gNDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICA1MDAgPT4gNTAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwID0+IDEwMDANCiAgICAgICAgICAgICAgICAgICAgICAgICk7DQoNCi8vIG1vZHVsZSBhZG1pbiBzZWN0aW9uIG9wdGlvbnMNCiRhZG1pbl9zZWN0aW9ucyA9IGFycmF5KA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdtYWluJykgPT4gJ21haW4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdjb250ZW50JykgPT4gJ2NvbnRlbnQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdsYXlvdXQnKSA9PiAnbGF5b3V0JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygndXNlcnNncm91cHMnKSA9PiAndXNlcnNncm91cHMnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdleHRlbnNpb25zJykgPT4gJ2V4dGVuc2lvbnMnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nKCdzaXRlYWRtaW4nKSA9PiAnc2l0ZWFkbWluJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnbXlwcmVmcycpID0+ICdteXByZWZzJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZygnZWNvbW1lcmNlJykgPT4gJ2Vjb21tZXJjZScNCiAgICAgICAgICAgICAgICAgICAgICAgICk7DQoNCi8vIHNvcnRvcmRlciBvcHRpb25zDQokc29ydG9yZGVyICAgICAgPSBhcnJheSgNCiAgICAkdGhpcy0+TW9kTGFuZygnYXNjZW5kaW5nJykgPT4gJ0FTQycsDQogICAgJHRoaXMtPk1vZExhbmcoJ2Rlc2NlbmRpbmcnKSA9PiAnREVTQycNCik7DQoNCiRjb250ZW50X29wcyAJCQk9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQoNCiRkaXNwbGF5X2lubGluZSAgICAgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfaW5saW5lJywgMCk7DQokc3ViY2F0ZWdvcnkgICAgICAgIAk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdWJjYXRlZ29yeScsIDApOw0KJGRpc3BsYXlfY3JlYXRlX2RhdGUgCT0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rpc3BsYXlfY3JlYXRlX2RhdGUnLCAwKTsNCiRyZWluZGV4X3NlYXJjaCAgICAgICA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWluZGV4X3NlYXJjaCcsIDApOw0KJGF1dG9fdXBncmFkZSAJCSAgICA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3VwZ3JhZGUnLCAwKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fZWRpdG9wdGlvbicsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KDQovLyBNb2R1bGUgT3B0aW9ucw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9mcmllbmRseW5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2ZyaWVuZGx5bmFtZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdmcmllbmRseW5hbWUnLCAnJyksIDUwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X21vZGRlc2NyaXB0aW9uJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdtb2RkZXNjcmlwdGlvbicsICR0aGlzLT5Nb2RMYW5nKCdtb2RkZXNjcmlwdGlvbicpKSwgJ21vZGRlc2NyaXB0aW9uJywgJ3BhZ2VzbWFsbHRleHRhcmVhJywgJycsICcnLCAnJywgJzgwJywgJzMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FkbWluc2VjdGlvbicsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2FkbWluc2VjdGlvbicsICRhZG1pbl9zZWN0aW9ucywgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhZG1pbnNlY3Rpb24nLCAnY29udGVudCcpKSk7DQoNCi8vIE1vZHVsZSBkZWZhdWx0cw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXRhaWxwYWdlJywgJGNvbnRlbnRfb3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnKSwgJGlkLidkZXRhaWxwYWdlJykpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zdW1tYXJ5cGFnZScsICRjb250ZW50X29wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cGFnZScpLCAkaWQuJ3N1bW1hcnlwYWdlJykpOw0KDQovLyBJdGVtIG9wdGlvbnMNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV90aXRsZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaXRlbV90aXRsZScsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3RpdGxlJywgJycpLCA1MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pdGVtX3Npbmd1bGFyJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpdGVtX3Npbmd1bGFyJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2l0ZW1fc2luZ3VsYXInLCAnJyksIDUwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2l0ZW1fcGx1cmFsJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdpdGVtX3BsdXJhbCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsICcnKSwgNTApKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbXNfcGVyX3BhZ2UnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpdGVtc19wZXJfcGFnZScsICRpdGVtc19wZXJfcGFnZSwgLTEsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpdGVtc19wZXJfcGFnZScsIDIwKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0b3JkZXInLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdpdGVtc19zb3J0b3JkZXInLCAkc29ydG9yZGVyLCAtMSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NvcnRvcmRlcicsICdBU0MnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jcmVhdGVfZGF0ZScsICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2Rpc3BsYXlfY3JlYXRlX2RhdGUnLCAxLCAkZGlzcGxheV9jcmVhdGVfZGF0ZSwgKCRkaXNwbGF5X2NyZWF0ZV9kYXRlID8gJ2NoZWNrZWQ9ImNoZWNrZWQiJyA6ICcnKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdXRvX3VwZ3JhZGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhdXRvX3VwZ3JhZGUnLCAxLCAkYXV0b191cGdyYWRlLCAoJGF1dG9fdXBncmFkZSA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJykpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfaXRlbV9jb2xzJywgJHRoaXMtPkNyZWF0ZUlucHV0U2VsZWN0TGlzdCgkaWQsICdpdGVtX2NvbHNbXScsICRmaWVsZGRlZnMsIGV4cGxvZGUoJywnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaXRlbV9jb2xzJywgJycpKSwgMTApKTsNCg0KLy8gVVJMIG9wdGlvbnMNCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXJsX3ByZWZpeCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAndXJsX3ByZWZpeCcsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgJycpLCA1MCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91cmxfdGVtcGxhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3VybHRlbXBsYXRlJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VybHRlbXBsYXRlJywgJ3skcHJlZml4fS97JGl0ZW1fdGl0bGV9JyksIDUwKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2Rpc3BsYXlfaW5saW5lJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnZGlzcGxheV9pbmxpbmUnLCAxLCAkZGlzcGxheV9pbmxpbmUsICgkZGlzcGxheV9pbmxpbmUgPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1YmNhdGVnb3J5JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnc3ViY2F0ZWdvcnknLCAxLCAkc3ViY2F0ZWdvcnksICgkc3ViY2F0ZWdvcnkgPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7DQoNCi8vIENyb3NzIE1vZHVsZSBvcHRpb25zDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlaW5kZXhfc2VhcmNoJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAncmVpbmRleF9zZWFyY2gnLCAxLCAkcmVpbmRleF9zZWFyY2gsICgkcmVpbmRleF9zZWFyY2ggPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7DQoNCmVjaG8gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnb3B0aW9udGFiLnRwbCcpOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/function.admin_templatetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEluaXQgaXRlbXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpKQogICAgcmV0dXJuOwoJCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CiR0ZW1wbGF0ZXMgPSAkdGhpcy0+TGlzdFRlbXBsYXRlcygpOwokaXRlbXMgPSBhcnJheSgpOwokYWRkbGlua3MgPSBhcnJheSgpOwoKZm9yZWFjaCAoJHRlbXBsYXRlcyBhcyAkdGVtcGxhdGUpIHsKCglsaXN0KCR0cGxfdHlwZSwgJHRwbF9uYW1lKSA9IGV4cGxvZGUoJ18nLCAkdGVtcGxhdGUsIDIpOwoKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCiAgICAkb25lcm93LT5saW5rICAgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl9lZGl0dGVtcGxhdGUnLCAkcmV0dXJuaWQsICR0cGxfbmFtZSwgYXJyYXkoJ25hbWUnID0+ICR0ZW1wbGF0ZSkpOwogICAgJG9uZXJvdy0+bmFtZSAgID0gJHRwbF9uYW1lOwogICAgJG9uZXJvdy0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fZGVsZXRldGVtcGxhdGUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KCduYW1lJyA9PiAkdGVtcGxhdGUpKTsKICAgICRvbmVyb3ctPmVkaXQgICA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgnbmFtZScgPT4gJHRlbXBsYXRlKSk7CgoJJHRwbF9kZWZhdWx0ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0XycuJHRwbF90eXBlLidfdGVtcGxhdGUnKTsKCQoJaWYoJHRwbF9kZWZhdWx0ID09ICR0cGxfbmFtZSkgewoKCQkkb25lcm93LT5kZWZhdWx0ID0gJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2lzX2RlZmF1bHQnKSwnJywnJywnc3lzdGVtaWNvbicpOwoJCQoJCWlmKCR0cGxfdHlwZSAhPSAnZmlsdGVyJykgLy8gPC0gRm9yIHVwZ3JhZGUsIHNvIHBwbCBhcmUgYWJlbCB0byByZW1vdmUgYWxsIGZpbHRlciB0ZW1wbGF0ZXMgYWZ0ZXIgbW92aW5nIHN0dWZmIHRvIHNlYXJjaCBpbnN0YW5jZS4gKDEuMi4xIC0+IDEuMi4yKQoJCQl1bnNldCgkb25lcm93LT5kZWxldGUpOyAvLyA8LSBEaXNhYmxlIGRlbGV0ZSBidXR0b24KCQkKCX0gZWxzZSB7CgkKCQkkb25lcm93LT5kZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl9zZXRkZWZhdWx0dGVtcGxhdGUnLCRyZXR1cm5pZCwKCQkJCQkJJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsJHRoaXMtPk1vZExhbmcoJ3N0YXR1c19kZWZhdWx0JyksJycsJycsJ3N5c3RlbWljb24nKSxhcnJheSgnbmFtZScgPT4gJHRlbXBsYXRlKSk7Cgl9CQoJCiAgICAkaXRlbXNbJHRwbF90eXBlXVtdID0gJG9uZXJvdzsKCQoJaWYoIWlzc2V0KCRhZGRsaW5rc1skdHBsX3R5cGVdKSkKCQkkYWRkbGlua3NbJHRwbF90eXBlXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2VkaXR0ZW1wbGF0ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLCAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJHRwbF90eXBlIC4gJ3RlbXBsYXRlJykpLCAnJywgJycsICdzeXN0ZW1pY29uJykgLiAkdGhpcy0+TW9kTGFuZygnYWRkJywgJHRoaXMtPk1vZExhbmcoJHRwbF90eXBlIC4gJ3RlbXBsYXRlJykpLCBhcnJheSgndHlwZScgPT4gJHRwbF90eXBlKSk7Cn0KCmtzb3J0KCRpdGVtcyk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHByb2Nlc3NpbmcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRpdGVtcyk7CiRzbWFydHktPmFzc2lnbignYWRkbGlua3MnLCAkYWRkbGlua3MpOwoKZWNobyAkdGhpcy0+TW9kUHJvY2Vzc1RlbXBsYXRlKCd0ZW1wbGF0ZXRhYi50cGwnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/js/footable.filter.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[KGZ1bmN0aW9uICgkLCB3LCB1bmRlZmluZWQpIHsKICAgIGlmICh3LmZvb3RhYmxlID09PSB1bmRlZmluZWQgfHwgdy5mb290YWJsZSA9PT0gbnVsbCkKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBjaGVjayBhbmQgbWFrZSBzdXJlIGZvb3RhYmxlLmpzIGlzIGluY2x1ZGVkIGluIHRoZSBwYWdlIGFuZCBpcyBsb2FkZWQgcHJpb3IgdG8gdGhpcyBzY3JpcHQuJyk7CgogICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgIGZpbHRlcjogewogICAgICAgICAgICBlbmFibGVkOiB0cnVlLAogICAgICAgICAgICBpbnB1dDogJy5mb290YWJsZS1maWx0ZXInLAogICAgICAgICAgICB0aW1lb3V0OiAzMDAsCiAgICAgICAgICAgIG1pbmltdW06IDIsCiAgICAgICAgICAgIGRpc2FibGVFbnRlcjogZmFsc2UsCiAgICAgICAgICAgIGZpbHRlckZ1bmN0aW9uOiBmdW5jdGlvbihpbmRleCkgewogICAgICAgICAgICAgICAgdmFyICR0ID0gJCh0aGlzKSwKICAgICAgICAgICAgICAgICAgICAkdGFibGUgPSAkdC5wYXJlbnRzKCd0YWJsZTpmaXJzdCcpLAogICAgICAgICAgICAgICAgICAgIGZpbHRlciA9ICR0YWJsZS5kYXRhKCdjdXJyZW50LWZpbHRlcicpLnRvVXBwZXJDYXNlKCksCiAgICAgICAgICAgICAgICAgICAgdGV4dCA9ICR0LmZpbmQoJ3RkJykudGV4dCgpOwogICAgICAgICAgICAgICAgaWYgKCEkdGFibGUuZGF0YSgnZmlsdGVyLXRleHQtb25seScpKSB7CiAgICAgICAgICAgICAgICAgICAgJHQuZmluZCgndGRbZGF0YS12YWx1ZV0nKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCArPSAkKHRoaXMpLmRhdGEoJ3ZhbHVlJyk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gdGV4dC50b1VwcGVyQ2FzZSgpLmluZGV4T2YoZmlsdGVyKSA+PSAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBGaWx0ZXIoKSB7CiAgICAgICAgdmFyIHAgPSB0aGlzOwogICAgICAgIHAubmFtZSA9ICdGb290YWJsZSBGaWx0ZXInOwogICAgICAgIHAuaW5pdCA9IGZ1bmN0aW9uIChmdCkgewogICAgICAgICAgICBwLmZvb3RhYmxlID0gZnQ7CiAgICAgICAgICAgIGlmIChmdC5vcHRpb25zLmZpbHRlci5lbmFibGVkID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICBpZiAoJChmdC50YWJsZSkuZGF0YSgnZmlsdGVyJykgPT09IGZhbHNlKSByZXR1cm47CiAgICAgICAgICAgICAgICBmdC50aW1lcnMucmVnaXN0ZXIoJ2ZpbHRlcicpOwogICAgICAgICAgICAgICAgJChmdC50YWJsZSkKICAgICAgICAgICAgICAgICAgICAudW5iaW5kKCcuZmlsdGVyaW5nJykKICAgICAgICAgICAgICAgICAgICAuYmluZCh7CiAgICAgICAgICAgICAgICAgICAgICAgICdmb290YWJsZV9pbml0aWFsaXplZC5maWx0ZXJpbmcnOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJsZSA9ICQoZnQudGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lucHV0JzogJHRhYmxlLmRhdGEoJ2ZpbHRlcicpIHx8IGZ0Lm9wdGlvbnMuZmlsdGVyLmlucHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lb3V0JzogJHRhYmxlLmRhdGEoJ2ZpbHRlci10aW1lb3V0JykgfHwgZnQub3B0aW9ucy5maWx0ZXIudGltZW91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWluaW11bSc6ICR0YWJsZS5kYXRhKCdmaWx0ZXItbWluaW11bScpIHx8IGZ0Lm9wdGlvbnMuZmlsdGVyLm1pbmltdW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rpc2FibGVFbnRlcic6ICR0YWJsZS5kYXRhKCdmaWx0ZXItZGlzYWJsZS1lbnRlcicpIHx8IGZ0Lm9wdGlvbnMuZmlsdGVyLmRpc2FibGVFbnRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmRpc2FibGVFbnRlcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoZGF0YS5pbnB1dCkua2V5cHJlc3MoZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHdpbmRvdy5ldmVudC5rZXlDb2RlICE9PSAxMyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoZXZlbnQud2hpY2ggIT09IDEzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YWJsZS5iaW5kKCdmb290YWJsZV9jbGVhcl9maWx0ZXInLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChkYXRhLmlucHV0KS52YWwoJycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuY2xlYXJGaWx0ZXIoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmJpbmQoJ2Zvb3RhYmxlX2ZpbHRlcicsIGZ1bmN0aW9uIChldmVudCwgYXJncykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuZmlsdGVyKGFyZ3MuZmlsdGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJChkYXRhLmlucHV0KS5rZXl1cChmdW5jdGlvbiAoZXZlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnQudGltZXJzLmZpbHRlci5zdG9wKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZS53aGljaCA9PT0gMjcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChkYXRhLmlucHV0KS52YWwoJycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdC50aW1lcnMuZmlsdGVyLnN0YXJ0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9ICQoZGF0YS5pbnB1dCkudmFsKCkgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuZmlsdGVyKHZhbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgZGF0YS50aW1lb3V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vdGFibGVfcmVkcmF3bi5maWx0ZXJpbmcnOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJsZSA9ICQoZnQudGFibGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA9ICR0YWJsZS5kYXRhKCdmaWx0ZXItc3RyaW5nJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5maWx0ZXIoZmlsdGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC8vc2F2ZSB0aGUgZmlsdGVyIG9iamVjdCBvbnRvIHRoZSB0YWJsZSBzbyB3ZSBjYW4gYWNjZXNzIGl0IGxhdGVyCiAgICAgICAgICAgICAgICAuZGF0YSgnZm9vdGFibGUtZmlsdGVyJywgcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBwLmZpbHRlciA9IGZ1bmN0aW9uIChmaWx0ZXJTdHJpbmcpIHsKICAgICAgICAgICAgdmFyIGZ0ID0gcC5mb290YWJsZSwKICAgICAgICAgICAgICAgICR0YWJsZSA9ICQoZnQudGFibGUpLAogICAgICAgICAgICAgICAgbWluaW11bSA9ICR0YWJsZS5kYXRhKCdmaWx0ZXItbWluaW11bScpIHx8IGZ0Lm9wdGlvbnMuZmlsdGVyLm1pbmltdW0sCiAgICAgICAgICAgICAgICBjbGVhciA9ICFmaWx0ZXJTdHJpbmc7CgogICAgICAgICAgICAvL3JhaXNlIGEgcHJlLWZpbHRlciBldmVudCBzbyB0aGF0IHdlIGNhbiBjYW5jZWwgdGhlIGZpbHRlcmluZyBpZiBuZWVkZWQKICAgICAgICAgICAgdmFyIGV2ZW50ID0gZnQucmFpc2UoJ2Zvb3RhYmxlX2ZpbHRlcmluZycsIHsgZmlsdGVyOiBmaWx0ZXJTdHJpbmcsIGNsZWFyOiBjbGVhciB9KTsKICAgICAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnJlc3VsdCA9PT0gZmFsc2UpIHJldHVybjsKICAgICAgICAgICAgaWYgKGV2ZW50LmZpbHRlciAmJiBldmVudC5maWx0ZXIubGVuZ3RoIDwgbWluaW11bSkgewogICAgICAgICAgICAgIHJldHVybjsgLy9pZiB3ZSBkbyBub3QgaGF2ZSB0aGUgbWluaW11bSBjaGFycyB0aGVuIGRvIG5vdGhpbmcKICAgICAgICAgICAgfQoKICAgICAgICAgIGlmIChldmVudC5jbGVhcikgewogICAgICAgICAgICAgICAgcC5jbGVhckZpbHRlcigpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGZpbHRlcnMgPSBldmVudC5maWx0ZXIuc3BsaXQoJyAnKTsKCiAgICAgICAgICAgICAgICAkdGFibGUuZmluZCgnPiB0Ym9keSA+IHRyJykuaGlkZSgpLmFkZENsYXNzKCdmb290YWJsZS1maWx0ZXJlZCcpOwogICAgICAgICAgICAgICAgdmFyIHJvd3MgPSAkdGFibGUuZmluZCgnPiB0Ym9keSA+IHRyOm5vdCguZm9vdGFibGUtcm93LWRldGFpbCknKTsKICAgICAgICAgICAgICAgICQuZWFjaChmaWx0ZXJzLCBmdW5jdGlvbiAoaSwgZikgewogICAgICAgICAgICAgICAgICAgIGlmIChmICYmIGYubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAkdGFibGUuZGF0YSgnY3VycmVudC1maWx0ZXInLCBmKTsKICAgICAgICAgICAgICAgICAgICAgICAgcm93cyA9IHJvd3MuZmlsdGVyKGZ0Lm9wdGlvbnMuZmlsdGVyLmZpbHRlckZ1bmN0aW9uKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJvd3MuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgcC5zaG93Um93KHRoaXMsIGZ0KTsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdmb290YWJsZS1maWx0ZXJlZCcpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAkdGFibGUuZGF0YSgnZmlsdGVyLXN0cmluZycsIGV2ZW50LmZpbHRlcik7CiAgICAgICAgICAgICAgICBmdC5yYWlzZSgnZm9vdGFibGVfZmlsdGVyZWQnLCB7IGZpbHRlcjogZXZlbnQuZmlsdGVyLCBjbGVhcjogZmFsc2UgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBwLmNsZWFyRmlsdGVyID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgZnQgPSBwLmZvb3RhYmxlLAogICAgICAgICAgICAgICAgJHRhYmxlID0gJChmdC50YWJsZSk7CgogICAgICAgICAgICAkdGFibGUuZmluZCgnPiB0Ym9keSA+IHRyOm5vdCguZm9vdGFibGUtcm93LWRldGFpbCknKS5yZW1vdmVDbGFzcygnZm9vdGFibGUtZmlsdGVyZWQnKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHAuc2hvd1Jvdyh0aGlzLCBmdCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAkdGFibGUucmVtb3ZlRGF0YSgnZmlsdGVyLXN0cmluZycpOwogICAgICAgICAgICBmdC5yYWlzZSgnZm9vdGFibGVfZmlsdGVyZWQnLCB7IGNsZWFyOiB0cnVlIH0pOwogICAgICAgIH07CgogICAgICAgIHAuc2hvd1JvdyA9IGZ1bmN0aW9uIChyb3csIGZ0KSB7CiAgICAgICAgICAgIHZhciAkcm93ID0gJChyb3cpLCAkbmV4dCA9ICRyb3cubmV4dCgpLCAkdGFibGUgPSAkKGZ0LnRhYmxlKTsKICAgICAgICAgICAgaWYgKCRyb3cuaXMoJzp2aXNpYmxlJykpIHJldHVybjsgLy9hbHJlYWR5IHZpc2libGUgLSBkbyBub3RoaW5nCiAgICAgICAgICAgIGlmICgkdGFibGUuaGFzQ2xhc3MoJ2JyZWFrcG9pbnQnKSAmJiAkcm93Lmhhc0NsYXNzKCdmb290YWJsZS1kZXRhaWwtc2hvdycpICYmICRuZXh0Lmhhc0NsYXNzKCdmb290YWJsZS1yb3ctZGV0YWlsJykpIHsKICAgICAgICAgICAgICAgICRyb3cuYWRkKCRuZXh0KS5zaG93KCk7CiAgICAgICAgICAgICAgICBmdC5jcmVhdGVPclVwZGF0ZURldGFpbFJvdyhyb3cpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgJHJvdy5zaG93KCk7CiAgICAgICAgfTsKICAgIH0KCiAgICB3LmZvb3RhYmxlLnBsdWdpbnMucmVnaXN0ZXIoRmlsdGVyLCBkZWZhdWx0cyk7Cgp9KShqUXVlcnksIHdpbmRvdyk7Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/js/footable.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/LyohCiAqIEZvb1RhYmxlIC0gQXdlc29tZSBSZXNwb25zaXZlIFRhYmxlcwogKiBWZXJzaW9uIDogMi4wLjEuMgogKiBodHRwOi8vZm9vcGx1Z2lucy5jb20vcGx1Z2lucy9mb290YWJsZS1qcXVlcnkvCiAqCiAqIFJlcXVpcmVzIGpRdWVyeSAtIGh0dHA6Ly9qcXVlcnkuY29tLwogKgogKiBDb3B5cmlnaHQgMjAxMyBTdGV2ZW4gVXNoZXIgJiBCcmFkIFZpbmNlbnQKICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqIFlvdSBhcmUgZnJlZSB0byB1c2UgRm9vVGFibGUgaW4gY29tbWVyY2lhbCBwcm9qZWN0cyBhcyBsb25nIGFzIHRoaXMgY29weXJpZ2h0IGhlYWRlciBpcyBsZWZ0IGludGFjdC4KICoKICogRGF0ZTogMjEgU2VwIDIwMTMKICovCihmdW5jdGlvbiAoJCwgdywgdW5kZWZpbmVkKSB7CiAgICB3LmZvb3RhYmxlID0gewogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgZGVsYXk6IDEwMCwgLy8gVGhlIG51bWJlciBvZiBtaWxsc2Vjb25kcyB0byB3YWl0IGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSByZWFjdCBldmVudAogICAgICAgICAgICBicmVha3BvaW50czogeyAvLyBUaGUgZGlmZmVyZW50IHNjcmVlbiByZXNvbHV0aW9uIGJyZWFrcG9pbnRzCiAgICAgICAgICAgICAgICBwaG9uZTogNDgwLAogICAgICAgICAgICAgICAgdGFibGV0OiAxMDI0CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBhcnNlcnM6IHsgIC8vIFRoZSBkZWZhdWx0IHBhcnNlciB0byBwYXJzZSB0aGUgdmFsdWUgb3V0IG9mIGEgY2VsbCAodmFsdWVzIGFyZSB1c2VkIGluIGJ1aWxkaW5nIHVwIHJvdyBkZXRhaWwpCiAgICAgICAgICAgICAgICBhbHBoYTogZnVuY3Rpb24gKGNlbGwpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJChjZWxsKS5kYXRhKCd2YWx1ZScpIHx8ICQudHJpbSgkKGNlbGwpLnRleHQoKSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgbnVtZXJpYzogZnVuY3Rpb24gKGNlbGwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgdmFsID0gJChjZWxsKS5kYXRhKCd2YWx1ZScpIHx8ICQoY2VsbCkudGV4dCgpLnJlcGxhY2UoL1teMC05LlwtXS9nLCAnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFsID0gcGFyc2VGbG9hdCh2YWwpOwogICAgICAgICAgICAgICAgICAgIGlmIChpc05hTih2YWwpKSB2YWwgPSAwOwogICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGFkZFJvd1RvZ2dsZTogdHJ1ZSwKICAgICAgICAgICAgY2FsY3VsYXRlV2lkdGhPdmVycmlkZTogbnVsbCwKICAgICAgICAgICAgdG9nZ2xlU2VsZWN0b3I6ICcgPiB0Ym9keSA+IHRyOm5vdCguZm9vdGFibGUtcm93LWRldGFpbCknLCAvL3RoZSBzZWxlY3RvciB0byBzaG93L2hpZGUgdGhlIGRldGFpbCByb3cKICAgICAgICAgICAgY29sdW1uRGF0YVNlbGVjdG9yOiAnPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0aCwgPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0ZCcsIC8vdGhlIHNlbGVjdG9yIHVzZWQgdG8gZmluZCB0aGUgY29sdW1uIGRhdGEgaW4gdGhlIHRoZWFkCiAgICAgICAgICAgIGRldGFpbFNlcGFyYXRvcjogJzonLCAvL3RoZSBzZXBhcmF0b3IgY2hhcmFjdGVyIHVzZWQgd2hlbiBidWlsZGluZyB1cCB0aGUgZGV0YWlsIHJvdwogICAgICAgICAgICB0b2dnbGVIVE1MRWxlbWVudDogJzxzcGFuIC8+JywgLy8gb3ZlcnJpZGUgdGhpcyBpZiB5b3Ugd2FudCB0byBpbnNlcnQgYSBjbGljayB0YXJnZXQgcmF0aGVyIHRoYW4gdXNlIGEgYmFja2dyb3VuZCBpbWFnZS4KICAgICAgICAgICAgY3JlYXRlR3JvdXBlZERldGFpbDogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgIHZhciBncm91cHMgPSB7ICdfbm9uZSc6IHsgJ25hbWUnOiBudWxsLCAnZGF0YSc6IFtdIH0gfTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIHZhciBncm91cGlkID0gZGF0YVtpXS5ncm91cDsKICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXBpZCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShncm91cGlkIGluIGdyb3VwcykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cHNbZ3JvdXBpZF0gPSB7ICduYW1lJzogZGF0YVtpXS5ncm91cE5hbWUgfHwgZGF0YVtpXS5ncm91cCwgJ2RhdGEnOiBbXSB9OwoKICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBzW2dyb3VwaWRdLmRhdGEucHVzaChkYXRhW2ldKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBncm91cHMuX25vbmUuZGF0YS5wdXNoKGRhdGFbaV0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBncm91cHM7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNyZWF0ZURldGFpbDogZnVuY3Rpb24gKGVsZW1lbnQsIGRhdGEsIGNyZWF0ZUdyb3VwZWREZXRhaWwsIHNlcGFyYXRvckNoYXIsIGNsYXNzZXMpIHsKICAgICAgICAgICAgICAgIC8vLyA8c3VtbWFyeT5UaGlzIGZ1bmN0aW9uIGlzIHVzZWQgYnkgRm9vVGFibGUgdG8gZ2VuZXJhdGUgdGhlIGRldGFpbCB2aWV3IHNlZW4gd2hlbiBleHBhbmRpbmcgYSBjb2xsYXBzZWQgcm93Ljwvc3VtbWFyeT4KICAgICAgICAgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0iZWxlbWVudCI+VGhpcyBpcyB0aGUgZGl2IHRoYXQgY29udGFpbnMgYWxsIHRoZSBkZXRhaWwgcm93IGluZm9ybWF0aW9uLCBhbnl0aGluZyBjb3VsZCBiZSBhZGRlZCB0byBpdC48L3BhcmFtPgogICAgICAgICAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJkYXRhIj4KICAgICAgICAgICAgICAgIC8vLyAgVGhpcyBpcyBhbiBhcnJheSBvZiBvYmplY3RzIGNvbnRhaW5pbmcgdGhlIGNlbGwgaW5mb3JtYXRpb24gZm9yIHRoZSBjdXJyZW50IHJvdy4KICAgICAgICAgICAgICAgIC8vLyAgVGhlc2Ugb2JqZWN0cyBsb29rIGxpa2UgdGhlIGJlbG93OgogICAgICAgICAgICAgICAgLy8vICAgIG9iaiA9IHsKICAgICAgICAgICAgICAgIC8vLyAgICAgICduYW1lJzogU3RyaW5nLCAvLyBUaGUgbmFtZSBvZiB0aGUgY29sdW1uCiAgICAgICAgICAgICAgICAvLy8gICAgICAndmFsdWUnOiBPYmplY3QsIC8vIFRoZSB2YWx1ZSBwYXJzZWQgZnJvbSB0aGUgY2VsbCB1c2luZyB0aGUgcGFyc2Vycy4gVGhpcyBjb3VsZCBiZSBhIHN0cmluZywgYSBudW1iZXIgb3Igd2hhdGV2ZXIgdGhlIHBhcnNlciBvdXRwdXRzLgogICAgICAgICAgICAgICAgLy8vICAgICAgJ2Rpc3BsYXknOiBTdHJpbmcsIC8vIFRoaXMgaXMgdGhlIGFjdHVhbCBIVE1MIGZyb20gdGhlIGNlbGwsIHNvIGlmIHlvdSBoYXZlIGltYWdlcyBldGMgeW91IHdhbnQgbW92ZWQgdGhpcyBpcyB0aGUgb25lIHRvIHVzZSBhbmQgaXMgdGhlIGRlZmF1bHQgdmFsdWUgdXNlZC4KICAgICAgICAgICAgICAgIC8vLyAgICAgICdncm91cCc6IFN0cmluZywgLy8gVGhpcyBpcyB0aGUgaWRlbnRpZmllciB1c2VkIGluIHRoZSBkYXRhLWdyb3VwIGF0dHJpYnV0ZSBvZiB0aGUgY29sdW1uLgogICAgICAgICAgICAgICAgLy8vICAgICAgJ2dyb3VwTmFtZSc6IFN0cmluZyAvLyBUaGlzIGlzIHRoZSBhY3R1YWwgbmFtZSBvZiB0aGUgZ3JvdXAgdGhlIGNvbHVtbiBiZWxvbmdzIHRvLgogICAgICAgICAgICAgICAgLy8vICAgIH0KICAgICAgICAgICAgICAgIC8vLyA8L3BhcmFtPgogICAgICAgICAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJjcmVhdGVHcm91cGVkRGV0YWlsIj5UaGUgZ3JvdXBpbmcgZnVuY3Rpb24gdG8gZ3JvdXAgdGhlIGRhdGE8L3BhcmFtPgogICAgICAgICAgICAgICAgLy8vIDxwYXJhbSBuYW1lPSJzZXBhcmF0b3JDaGFyIj5UaGUgc2VwYXJhdG9yIGNoYXJhY3RvciB1c2VkPC9wYXJhbT4KICAgICAgICAgICAgICAgIC8vLyA8cGFyYW0gbmFtZT0iY2xhc3NlcyI+VGhlIGFycmF5IG9mIGNsYXNzIG5hbWVzIHVzZWQgdG8gYnVpbGQgdXAgdGhlIGRldGFpbCByb3c8L3BhcmFtPgoKICAgICAgICAgICAgICAgIHZhciBncm91cHMgPSBjcmVhdGVHcm91cGVkRGV0YWlsKGRhdGEpOwogICAgICAgICAgICAgICAgZm9yICh2YXIgZ3JvdXAgaW4gZ3JvdXBzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGdyb3Vwc1tncm91cF0uZGF0YS5sZW5ndGggPT09IDApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGlmIChncm91cCAhPT0gJ19ub25lJykgZWxlbWVudC5hcHBlbmQoJzxkaXYgY2xhc3M9IicgKyBjbGFzc2VzLmRldGFpbElubmVyR3JvdXAgKyAnIj4nICsgZ3JvdXBzW2dyb3VwXS5uYW1lICsgJzwvZGl2PicpOwoKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGdyb3Vwc1tncm91cF0uZGF0YS5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VwYXJhdG9yID0gKGdyb3Vwc1tncm91cF0uZGF0YVtqXS5uYW1lKSA/IHNlcGFyYXRvckNoYXIgOiAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmQoJzxkaXYgY2xhc3M9IicgKyBjbGFzc2VzLmRldGFpbElubmVyUm93ICsgJyI+PGRpdiBjbGFzcz0iJyArIGNsYXNzZXMuZGV0YWlsSW5uZXJOYW1lICsgJyI+JyArIGdyb3Vwc1tncm91cF0uZGF0YVtqXS5uYW1lICsgc2VwYXJhdG9yICsgJzwvZGl2PjxkaXYgY2xhc3M9IicgKyBjbGFzc2VzLmRldGFpbElubmVyVmFsdWUgKyAnIj4nICsgZ3JvdXBzW2dyb3VwXS5kYXRhW2pdLmRpc3BsYXkgKyAnPC9kaXY+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBjbGFzc2VzOiB7CiAgICAgICAgICAgICAgICBtYWluOiAnZm9vdGFibGUnLAogICAgICAgICAgICAgICAgbG9hZGluZzogJ2Zvb3RhYmxlLWxvYWRpbmcnLAogICAgICAgICAgICAgICAgbG9hZGVkOiAnZm9vdGFibGUtbG9hZGVkJywKICAgICAgICAgICAgICAgIHRvZ2dsZTogJ2Zvb3RhYmxlLXRvZ2dsZScsCiAgICAgICAgICAgICAgICBkaXNhYmxlZDogJ2Zvb3RhYmxlLWRpc2FibGVkJywKICAgICAgICAgICAgICAgIGRldGFpbDogJ2Zvb3RhYmxlLXJvdy1kZXRhaWwnLAogICAgICAgICAgICAgICAgZGV0YWlsQ2VsbDogJ2Zvb3RhYmxlLXJvdy1kZXRhaWwtY2VsbCcsCiAgICAgICAgICAgICAgICBkZXRhaWxJbm5lcjogJ2Zvb3RhYmxlLXJvdy1kZXRhaWwtaW5uZXInLAogICAgICAgICAgICAgICAgZGV0YWlsSW5uZXJSb3c6ICdmb290YWJsZS1yb3ctZGV0YWlsLXJvdycsCiAgICAgICAgICAgICAgICBkZXRhaWxJbm5lckdyb3VwOiAnZm9vdGFibGUtcm93LWRldGFpbC1ncm91cCcsCiAgICAgICAgICAgICAgICBkZXRhaWxJbm5lck5hbWU6ICdmb290YWJsZS1yb3ctZGV0YWlsLW5hbWUnLAogICAgICAgICAgICAgICAgZGV0YWlsSW5uZXJWYWx1ZTogJ2Zvb3RhYmxlLXJvdy1kZXRhaWwtdmFsdWUnLAogICAgICAgICAgICAgICAgZGV0YWlsU2hvdzogJ2Zvb3RhYmxlLWRldGFpbC1zaG93JwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyczogewogICAgICAgICAgICAgICAgaW5pdGlhbGl6ZTogJ2Zvb3RhYmxlX2luaXRpYWxpemUnLCAgICAgICAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhpcyBldmVudCB0byBmb3JjZSBGb29UYWJsZSB0byByZWluaXRpYWxpemUKICAgICAgICAgICAgICAgIHJlc2l6ZTogJ2Zvb3RhYmxlX3Jlc2l6ZScsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90cmlnZ2VyIHRoaXMgZXZlbnQgdG8gZm9yY2UgRm9vVGFibGUgdG8gcmVzaXplCiAgICAgICAgICAgICAgICByZWRyYXc6ICdmb290YWJsZV9yZWRyYXcnLAkJCQkJCQkJLy90cmlnZ2VyIHRoaXMgZXZlbnQgdG8gZm9yY2UgRm9vVGFibGUgdG8gcmVkcmF3CiAgICAgICAgICAgICAgICB0b2dnbGVSb3c6ICdmb290YWJsZV90b2dnbGVfcm93JywgICAgICAgICAgICAgICAgICAgICAgIC8vdHJpZ2dlciB0aGlzIGV2ZW50IHRvIGZvcmNlIEZvb1RhYmxlIHRvIHRvZ2dsZSBhIHJvdwogICAgICAgICAgICAgICAgZXhwYW5kRmlyc3RSb3c6ICdmb290YWJsZV9leHBhbmRfZmlyc3Rfcm93JywgICAgICAgICAgICAvL3RyaWdnZXIgdGhpcyBldmVudCB0byBmb3JjZSBGb29UYWJsZSB0byBleHBhbmQgdGhlIGZpcnN0IHJvdwogICAgICAgICAgICAgICAgZXhwYW5kQWxsOiAnZm9vdGFibGVfZXhwYW5kX2FsbCcsICAgICAgICAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhpcyBldmVudCB0byBmb3JjZSBGb29UYWJsZSB0byBleHBhbmQgYWxsIHJvd3MKICAgICAgICAgICAgICAgIGNvbGxhcHNlQWxsOiAnZm9vdGFibGVfY29sbGFwc2VfYWxsJyAgICAgICAgICAgICAgICAgICAgLy90cmlnZ2VyIHRoaXMgZXZlbnQgdG8gZm9yY2UgRm9vVGFibGUgdG8gY29sbGFwc2UgYWxsIHJvd3MKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZXZlbnRzOiB7CiAgICAgICAgICAgICAgICBhbHJlYWR5SW5pdGlhbGl6ZWQ6ICdmb290YWJsZV9hbHJlYWR5X2luaXRpYWxpemVkJywgICAgIC8vZmlyZXMgd2hlbiB0aGUgRm9vVGFibGUgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZAogICAgICAgICAgICAgICAgaW5pdGlhbGl6aW5nOiAnZm9vdGFibGVfaW5pdGlhbGl6aW5nJywgICAgICAgICAgICAgICAgICAvL2ZpcmVzIGJlZm9yZSBGb29UYWJsZSBzdGFydHMgaW5pdGlhbGl6aW5nCiAgICAgICAgICAgICAgICBpbml0aWFsaXplZDogJ2Zvb3RhYmxlX2luaXRpYWxpemVkJywgICAgICAgICAgICAgICAgICAgIC8vZmlyZXMgYWZ0ZXIgRm9vVGFibGUgaGFzIGZpbmlzaGVkIGluaXRpYWxpemluZwogICAgICAgICAgICAgICAgcmVzaXppbmc6ICdmb290YWJsZV9yZXNpemluZycsICAgICAgICAgICAgICAgICAgICAgICAgICAvL2ZpcmVzIGJlZm9yZSBGb29UYWJsZSByZXNpemVzCiAgICAgICAgICAgICAgICByZXNpemVkOiAnZm9vdGFibGVfcmVzaXplZCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZmlyZXMgYWZ0ZXIgRm9vVGFibGUgaGFzIHJlc2l6ZWQKICAgICAgICAgICAgICAgIHJlZHJhd246ICdmb290YWJsZV9yZWRyYXduJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9maXJlcyBhZnRlciBGb29UYWJsZSBoYXMgcmVkcmF3bgogICAgICAgICAgICAgICAgYnJlYWtwb2ludDogJ2Zvb3RhYmxlX2JyZWFrcG9pbnQnLCAgICAgICAgICAgICAgICAgICAgICAvL2ZpcmVzIGluc2lkZSB0aGUgcmVzaXplIGZ1bmN0aW9uLCB3aGVuIGEgYnJlYWtwb2ludCBpcyBoaXQKICAgICAgICAgICAgICAgIGNvbHVtbkRhdGE6ICdmb290YWJsZV9jb2x1bW5fZGF0YScsICAgICAgICAgICAgICAgICAgICAgLy9maXJlcyB3aGVuIHNldHRpbmcgdXAgY29sdW1uIGRhdGEuIFBsdWdpbnMgc2hvdWxkIHVzZSB0aGlzIGV2ZW50IHRvIGNhcHR1cmUgdGhlaXIgb3duIGluZm8gYWJvdXQgYSBjb2x1bW4KICAgICAgICAgICAgICAgIHJvd0RldGFpbFVwZGF0aW5nOiAnZm9vdGFibGVfcm93X2RldGFpbF91cGRhdGluZycsICAgICAgLy9maXJlcyBiZWZvcmUgYSBkZXRhaWwgcm93IGlzIHVwZGF0ZWQKICAgICAgICAgICAgICAgIHJvd0RldGFpbFVwZGF0ZWQ6ICdmb290YWJsZV9yb3dfZGV0YWlsX3VwZGF0ZWQnLCAgICAgICAgLy9maXJlcyB3aGVuIGEgZGV0YWlsIHJvdyBpcyBiZWluZyB1cGRhdGVkCiAgICAgICAgICAgICAgICByb3dDb2xsYXBzZWQ6ICdmb290YWJsZV9yb3dfY29sbGFwc2VkJywgICAgICAgICAgICAgICAgIC8vZmlyZXMgd2hlbiBhIHJvdyBpcyBjb2xsYXBzZWQKICAgICAgICAgICAgICAgIHJvd0V4cGFuZGVkOiAnZm9vdGFibGVfcm93X2V4cGFuZGVkJywgICAgICAgICAgICAgICAgICAgLy9maXJlcyB3aGVuIGEgcm93IGlzIGV4cGFuZGVkCiAgICAgICAgICAgICAgICByb3dSZW1vdmVkOiAnZm9vdGFibGVfcm93X3JlbW92ZWQnLCAgICAgICAgICAgICAgICAgICAgIC8vZmlyZXMgd2hlbiBhIHJvdyBpcyByZW1vdmVkCiAgICAgICAgICAgICAgICByZXNldDogJ2Zvb3RhYmxlX3Jlc2V0JyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZmlyZXMgd2hlbiBGb29UYWJsZSBpcyByZXNldAogICAgICAgICAgICB9LAogICAgICAgICAgICBkZWJ1ZzogZmFsc2UsIC8vIFdoZXRoZXIgb3Igbm90IHRvIGxvZyBpbmZvcm1hdGlvbiB0byB0aGUgY29uc29sZS4KICAgICAgICAgICAgbG9nOiBudWxsCiAgICAgICAgfSwKCiAgICAgICAgdmVyc2lvbjogewogICAgICAgICAgICBtYWpvcjogMCwgbWlub3I6IDUsCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdy5mb290YWJsZS52ZXJzaW9uLm1ham9yICsgJy4nICsgdy5mb290YWJsZS52ZXJzaW9uLm1pbm9yOwogICAgICAgICAgICB9LAogICAgICAgICAgICBwYXJzZTogZnVuY3Rpb24gKHN0cikgewogICAgICAgICAgICAgICAgdmVyc2lvbiA9IC8oXGQrKVwuPyhcZCspP1wuPyhcZCspPy8uZXhlYyhzdHIpOwogICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICBtYWpvcjogcGFyc2VJbnQodmVyc2lvblsxXSwgMTApIHx8IDAsCiAgICAgICAgICAgICAgICAgICAgbWlub3I6IHBhcnNlSW50KHZlcnNpb25bMl0sIDEwKSB8fCAwLAogICAgICAgICAgICAgICAgICAgIHBhdGNoOiBwYXJzZUludCh2ZXJzaW9uWzNdLCAxMCkgfHwgMAogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgX3ZhbGlkYXRlOiBmdW5jdGlvbiAocGx1Z2luKSB7CiAgICAgICAgICAgICAgICAvLy88c3VtbWFyeT5TaW1wbGUgdmFsaWRhdGlvbiBvZiB0aGUgPHBhcmFtcmVmIG5hbWU9InBsdWdpbiIvPiB0byBtYWtlIHN1cmUgYW55IG1lbWJlcnMgY2FsbGVkIGJ5IEZvb1RhYmxlIGFjdHVhbGx5IGV4aXN0Ljwvc3VtbWFyeT4KICAgICAgICAgICAgICAgIC8vLzxwYXJhbSBuYW1lPSJwbHVnaW4iPlRoZSBvYmplY3QgZGVmaW5pbmcgdGhlIHBsdWdpbiwgdGhpcyBzaG91bGQgaW1wbGVtZW50IGEgc3RyaW5nIHByb3BlcnR5IGNhbGxlZCAibmFtZSIgYW5kIGEgZnVuY3Rpb24gY2FsbGVkICJpbml0Ii48L3BhcmFtPgoKICAgICAgICAgICAgICAgIGlmICghJC5pc0Z1bmN0aW9uKHBsdWdpbikpIHsKICAgICAgICAgICAgICAgICAgaWYgKHcuZm9vdGFibGUub3B0aW9ucy5kZWJ1ZyA9PT0gdHJ1ZSkgY29uc29sZS5lcnJvcignVmFsaWRhdGlvbiBmYWlsZWQsIGV4cGVjdGVkIHR5cGUgImZ1bmN0aW9uIiwgcmVjZWl2ZWQgdHlwZSAiezB9Ii4nLCB0eXBlb2YgcGx1Z2luKTsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHAgPSBuZXcgcGx1Z2luKCk7CiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHBbJ25hbWUnXSAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICBpZiAody5mb290YWJsZS5vcHRpb25zLmRlYnVnID09PSB0cnVlKSBjb25zb2xlLmVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZCwgcGx1Z2luIGRvZXMgbm90IGltcGxlbWVudCBhIHN0cmluZyBwcm9wZXJ0eSBjYWxsZWQgIm5hbWUiLicsIHApOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICghJC5pc0Z1bmN0aW9uKHBbJ2luaXQnXSkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAody5mb290YWJsZS5vcHRpb25zLmRlYnVnID09PSB0cnVlKSBjb25zb2xlLmVycm9yKCdWYWxpZGF0aW9uIGZhaWxlZCwgcGx1Z2luICInICsgcFsnbmFtZSddICsgJyIgZG9lcyBub3QgaW1wbGVtZW50IGEgZnVuY3Rpb24gY2FsbGVkICJpbml0Ii4nLCBwKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAody5mb290YWJsZS5vcHRpb25zLmRlYnVnID09PSB0cnVlKSBjb25zb2xlLmxvZygnVmFsaWRhdGlvbiBzdWNjZWVkZWQgZm9yIHBsdWdpbiAiJyArIHBbJ25hbWUnXSArICciLicsIHApOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJlZ2lzdGVyZWQ6IFtdLCAvLyBBbiBhcnJheSBjb250YWluaW5nIGFsbCByZWdpc3RlcmVkIHBsdWdpbnMuCiAgICAgICAgICAgIHJlZ2lzdGVyOiBmdW5jdGlvbiAocGx1Z2luLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICAvLy88c3VtbWFyeT5SZWdpc3RlcnMgYSA8cGFyYW1yZWYgbmFtZT0icGx1Z2luIi8+IGFuZCBpdHMgZGVmYXVsdCA8cGFyYW1yZWYgbmFtZT0ib3B0aW9ucyIvPiB3aXRoIEZvb1RhYmxlLjwvc3VtbWFyeT4KICAgICAgICAgICAgICAgIC8vLzxwYXJhbSBuYW1lPSJwbHVnaW4iPlRoZSBwbHVnaW4gdGhhdCBzaG91bGQgaW1wbGVtZW50IGEgc3RyaW5nIHByb3BlcnR5IGNhbGxlZCAibmFtZSIgYW5kIGEgZnVuY3Rpb24gY2FsbGVkICJpbml0Ii48L3BhcmFtPgogICAgICAgICAgICAgICAgLy8vPHBhcmFtIG5hbWU9Im9wdGlvbnMiPlRoZSBkZWZhdWx0IG9wdGlvbnMgdG8gbWVyZ2Ugd2l0aCB0aGUgRm9vVGFibGUncyBiYXNlIG9wdGlvbnMuPC9wYXJhbT4KCiAgICAgICAgICAgICAgICBpZiAody5mb290YWJsZS5wbHVnaW5zLl92YWxpZGF0ZShwbHVnaW4pKSB7CiAgICAgICAgICAgICAgICAgICAgdy5mb290YWJsZS5wbHVnaW5zLnJlZ2lzdGVyZWQucHVzaChwbHVnaW4pOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ29iamVjdCcpICQuZXh0ZW5kKHRydWUsIHcuZm9vdGFibGUub3B0aW9ucywgb3B0aW9ucyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uKGluc3RhbmNlKXsKICAgICAgICAgICAgICB2YXIgbG9hZGVkID0gW10sIHJlZ2lzdGVyZWQsIGk7CiAgICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgdy5mb290YWJsZS5wbHVnaW5zLnJlZ2lzdGVyZWQubGVuZ3RoOyBpKyspewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJlZCA9IHcuZm9vdGFibGUucGx1Z2lucy5yZWdpc3RlcmVkW2ldOwogICAgICAgICAgICAgICAgICBsb2FkZWQucHVzaChuZXcgcmVnaXN0ZXJlZChpbnN0YW5jZSkpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgICAgICAgIGlmICh3LmZvb3RhYmxlLm9wdGlvbnMuZGVidWcgPT09IHRydWUpIGNvbnNvbGUuZXJyb3IoZXJyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlZDsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKGluc3RhbmNlKSB7CiAgICAgICAgICAgICAgICAvLy88c3VtbWFyeT5Mb29wcyB0aHJvdWdoIGFsbCByZWdpc3RlcmVkIHBsdWdpbnMgYW5kIGNhbGxzIHRoZSAiaW5pdCIgbWV0aG9kIHN1cHBseWluZyB0aGUgY3VycmVudCA8cGFyYW1yZWYgbmFtZT0iaW5zdGFuY2UiLz4gb2YgdGhlIEZvb1RhYmxlIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIuPC9zdW1tYXJ5PgogICAgICAgICAgICAgICAgLy8vPHBhcmFtIG5hbWU9Imluc3RhbmNlIj5UaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgRm9vVGFibGUgdGhhdCB0aGUgcGx1Z2luIGlzIGJlaW5nIGluaXRpYWxpemVkIGZvci48L3BhcmFtPgoKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5zdGFuY2UucGx1Z2lucy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5wbHVnaW5zW2ldWydpbml0J10oaW5zdGFuY2UpOwogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAody5mb290YWJsZS5vcHRpb25zLmRlYnVnID09PSB0cnVlKSBjb25zb2xlLmVycm9yKGVycik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICB2YXIgaW5zdGFuY2VDb3VudCA9IDA7CgogICAgJC5mbi5mb290YWJsZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgLy8vPHN1bW1hcnk+VGhlIG1haW4gY29uc3RydWN0b3IgY2FsbCB0byBpbml0aWFsaXplIHRoZSBwbHVnaW4gdXNpbmcgdGhlIHN1cHBsaWVkIDxwYXJhbXJlZiBuYW1lPSJvcHRpb25zIi8+Ljwvc3VtbWFyeT4KICAgICAgICAvLy88cGFyYW0gbmFtZT0ib3B0aW9ucyI+CiAgICAgICAgLy8vPHBhcmE+QSBKU09OIG9iamVjdCBjb250YWluaW5nIHVzZXIgZGVmaW5lZCBvcHRpb25zIGZvciB0aGUgcGx1Z2luIHRvIHVzZS4gQW55IG9wdGlvbnMgbm90IHN1cHBsaWVkIHdpbGwgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgYXNzaWduZWQuPC9wYXJhPgogICAgICAgIC8vLzxwYXJhPkNoZWNrIHRoZSBkb2N1bWVudGF0aW9uIG9yIHRoZSBkZWZhdWx0IG9wdGlvbnMgb2JqZWN0IGFib3ZlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGF2YWlsYWJsZSBvcHRpb25zLjwvcGFyYT4KICAgICAgICAvLy88L3BhcmFtPgoKICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKICAgICAgICB2YXIgbyA9ICQuZXh0ZW5kKHRydWUsIHt9LCB3LmZvb3RhYmxlLm9wdGlvbnMsIG9wdGlvbnMpOyAvL21lcmdlIHVzZXIgYW5kIGRlZmF1bHQgb3B0aW9ucwogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpbnN0YW5jZUNvdW50Kys7CiAgICAgICAgICAgIHZhciBmb290YWJsZSA9IG5ldyBGb290YWJsZSh0aGlzLCBvLCBpbnN0YW5jZUNvdW50KTsKCQkJJCh0aGlzKS5kYXRhKCdmb290YWJsZScsIGZvb3RhYmxlKTsKICAgICAgICB9KTsKICAgIH07CgogICAgLy9oZWxwZXIgZm9yIHVzaW5nIHRpbWVvdXRzCiAgICBmdW5jdGlvbiBUaW1lcigpIHsKICAgICAgICAvLy88c3VtbWFyeT5TaW1wbGUgdGltZXIgb2JqZWN0IGNyZWF0ZWQgYXJvdW5kIGEgdGltZW91dC48L3N1bW1hcnk+CiAgICAgICAgdmFyIHQgPSB0aGlzOwogICAgICAgIHQuaWQgPSBudWxsOwogICAgICAgIHQuYnVzeSA9IGZhbHNlOwogICAgICAgIHQuc3RhcnQgPSBmdW5jdGlvbiAoY29kZSwgbWlsbGlzZWNvbmRzKSB7CiAgICAgICAgICAgIC8vLzxzdW1tYXJ5PlN0YXJ0cyB0aGUgdGltZXIgYW5kIHdhaXRzIHRoZSBzcGVjaWZpZWQgYW1vdW50IG9mIDxwYXJhbXJlZiBuYW1lPSJtaWxsaXNlY29uZHMiLz4gYmVmb3JlIGV4ZWN1dGluZyB0aGUgc3VwcGxpZWQgPHBhcmFtcmVmIG5hbWU9ImNvZGUiLz4uPC9zdW1tYXJ5PgogICAgICAgICAgICAvLy88cGFyYW0gbmFtZT0iY29kZSI+VGhlIGNvZGUgdG8gZXhlY3V0ZSBvbmNlIHRoZSB0aW1lciBydW5zIG91dC48L3BhcmFtPgogICAgICAgICAgICAvLy88cGFyYW0gbmFtZT0ibWlsbGlzZWNvbmRzIj5UaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBzdXBwbGllZCA8cGFyYW1yZWYgbmFtZT0iY29kZSIvPi48L3BhcmFtPgoKICAgICAgICAgICAgaWYgKHQuYnVzeSkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHQuc3RvcCgpOwogICAgICAgICAgICB0LmlkID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBjb2RlKCk7CiAgICAgICAgICAgICAgICB0LmlkID0gbnVsbDsKICAgICAgICAgICAgICAgIHQuYnVzeSA9IGZhbHNlOwogICAgICAgICAgICB9LCBtaWxsaXNlY29uZHMpOwogICAgICAgICAgICB0LmJ1c3kgPSB0cnVlOwogICAgICAgIH07CiAgICAgICAgdC5zdG9wID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAvLy88c3VtbWFyeT5TdG9wcyB0aGUgdGltZXIgaWYgaXRzIHJ1bm5uaW5nIGFuZCByZXNldHMgaXQgYmFjayB0byBpdHMgc3RhcnRpbmcgc3RhdGUuPC9zdW1tYXJ5PgoKICAgICAgICAgICAgaWYgKHQuaWQgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0LmlkKTsKICAgICAgICAgICAgICAgIHQuaWQgPSBudWxsOwogICAgICAgICAgICAgICAgdC5idXN5ID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIEZvb3RhYmxlKHQsIG8sIGlkKSB7CiAgICAgICAgLy8vPHN1bW1hcnk+SW5pdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHBsdWdpbi48L3N1bW1hcnk+CiAgICAgICAgLy8vPHBhcmFtIG5hbWU9InQiPlRoZSBtYWluIHRhYmxlIGVsZW1lbnQgdG8gYXBwbHkgdGhpcyBwbHVnaW4gdG8uPC9wYXJhbT4KICAgICAgICAvLy88cGFyYW0gbmFtZT0ibyI+VGhlIG9wdGlvbnMgc3VwcGxpZWQgdG8gdGhlIHBsdWdpbi4gQ2hlY2sgdGhlIGRlZmF1bHRzIG9iamVjdCB0byBzZWUgYWxsIGF2YWlsYWJsZSBvcHRpb25zLjwvcGFyYW0+CiAgICAgICAgLy8vPHBhcmFtIG5hbWU9ImlkIj5UaGUgaWQgdG8gYXNzaWduIHRvIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIHBsdWdpbi48L3BhcmFtPgoKICAgICAgICB2YXIgZnQgPSB0aGlzOwogICAgICAgIGZ0LmlkID0gaWQ7CiAgICAgICAgZnQudGFibGUgPSB0OwogICAgICAgIGZ0Lm9wdGlvbnMgPSBvOwogICAgICAgIGZ0LmJyZWFrcG9pbnRzID0gW107CiAgICAgICAgZnQuYnJlYWtwb2ludE5hbWVzID0gJyc7CiAgICAgICAgZnQuY29sdW1ucyA9IHt9OwogICAgICAgIGZ0LnBsdWdpbnMgPSB3LmZvb3RhYmxlLnBsdWdpbnMubG9hZChmdCk7CgogICAgICAgIHZhciBvcHQgPSBmdC5vcHRpb25zLAogICAgICAgICAgICBjbHMgPSBvcHQuY2xhc3NlcywKICAgICAgICAgICAgZXZ0ID0gb3B0LmV2ZW50cywKICAgICAgICAgICAgdHJnID0gb3B0LnRyaWdnZXJzLAogICAgICAgICAgICBpbmRleE9mZnNldCA9IDA7CgogICAgICAgIC8vIFRoaXMgb2JqZWN0IHNpbXBseSBob3VzZXMgYWxsIHRoZSB0aW1lcnMgdXNlZCBpbiB0aGUgRm9vVGFibGUuCiAgICAgICAgZnQudGltZXJzID0gewogICAgICAgICAgICByZXNpemU6IG5ldyBUaW1lcigpLAogICAgICAgICAgICByZWdpc3RlcjogZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICAgICAgICAgIGZ0LnRpbWVyc1tuYW1lXSA9IG5ldyBUaW1lcigpOwogICAgICAgICAgICAgICAgcmV0dXJuIGZ0LnRpbWVyc1tuYW1lXTsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGZ0LmluaXQgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciAkd2luZG93ID0gJCh3KSwgJHRhYmxlID0gJChmdC50YWJsZSk7CgogICAgICAgICAgICB3LmZvb3RhYmxlLnBsdWdpbnMuaW5pdChmdCk7CgogICAgICAgICAgICBpZiAoJHRhYmxlLmhhc0NsYXNzKGNscy5sb2FkZWQpKSB7CiAgICAgICAgICAgICAgICAvL2FscmVhZHkgbG9hZGVkIEZvb1RhYmxlIGZvciB0aGUgdGFibGUsIHNvIGRvbid0IGluaXQgYWdhaW4KICAgICAgICAgICAgICAgIGZ0LnJhaXNlKGV2dC5hbHJlYWR5SW5pdGlhbGl6ZWQpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL3JhaXNlIHRoZSBpbml0aWFsaXppbmcgZXZlbnQKICAgICAgICAgICAgZnQucmFpc2UoZXZ0LmluaXRpYWxpemluZyk7CgogICAgICAgICAgICAkdGFibGUuYWRkQ2xhc3MoY2xzLmxvYWRpbmcpOwoKICAgICAgICAgICAgLy8gR2V0IHRoZSBjb2x1bW4gZGF0YSBvbmNlIGZvciB0aGUgbGlmZSB0aW1lIG9mIHRoZSBwbHVnaW4KICAgICAgICAgICAgJHRhYmxlLmZpbmQob3B0LmNvbHVtbkRhdGFTZWxlY3RvcikuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IGZ0LmdldENvbHVtbkRhdGEodGhpcyk7CiAgICAgICAgICAgICAgICBmdC5jb2x1bW5zW2RhdGEuaW5kZXhdID0gZGF0YTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyBDcmVhdGUgYSBuaWNlIGZyaWVuZGx5IGFycmF5IHRvIHdvcmsgd2l0aCBvdXQgb2YgdGhlIGJyZWFrcG9pbnRzIG9iamVjdC4KICAgICAgICAgICAgZm9yICh2YXIgbmFtZSBpbiBvcHQuYnJlYWtwb2ludHMpIHsKICAgICAgICAgICAgICAgIGZ0LmJyZWFrcG9pbnRzLnB1c2goeyAnbmFtZSc6IG5hbWUsICd3aWR0aCc6IG9wdC5icmVha3BvaW50c1tuYW1lXSB9KTsKICAgICAgICAgICAgICAgIGZ0LmJyZWFrcG9pbnROYW1lcyArPSAobmFtZSArICcgJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFNvcnQgdGhlIGJyZWFrcG9pbnRzIHNvIHRoZSBzbWFsbGVzdCBpcyBjaGVja2VkIGZpcnN0CiAgICAgICAgICAgIGZ0LmJyZWFrcG9pbnRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsKICAgICAgICAgICAgICAgIHJldHVybiBhWyd3aWR0aCddIC0gYlsnd2lkdGgnXTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkdGFibGUKICAgICAgICAgICAgICAgIC51bmJpbmQodHJnLmluaXRpYWxpemUpCiAgICAgICAgICAgICAgICAvL2JpbmQgdG8gRm9vVGFibGUgaW5pdGlhbGl6ZSB0cmlnZ2VyCiAgICAgICAgICAgICAgICAuYmluZCh0cmcuaW5pdGlhbGl6ZSwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIC8vcmVtb3ZlIHByZXZpb3VzICJzdGF0ZSIgKHRvICJmb3JjZSIgYSByZXNpemUpCiAgICAgICAgICAgICAgICAgICAgJHRhYmxlLnJlbW92ZURhdGEoJ2Zvb3RhYmxlX2luZm8nKTsKICAgICAgICAgICAgICAgICAgICAkdGFibGUuZGF0YSgnYnJlYWtwb2ludCcsICcnKTsKCiAgICAgICAgICAgICAgICAgICAgLy90cmlnZ2VyIHRoZSBGb29UYWJsZSByZXNpemUKICAgICAgICAgICAgICAgICAgICAkdGFibGUudHJpZ2dlcih0cmcucmVzaXplKTsKCiAgICAgICAgICAgICAgICAgICAgLy9yZW1vdmUgdGhlIGxvYWRpbmcgY2xhc3MKICAgICAgICAgICAgICAgICAgICAkdGFibGUucmVtb3ZlQ2xhc3MoY2xzLmxvYWRpbmcpOwoKICAgICAgICAgICAgICAgICAgICAvL2FkZCB0aGUgRm9vVGFibGUgYW5kIGxvYWRlZCBjbGFzcwogICAgICAgICAgICAgICAgICAgICR0YWJsZS5hZGRDbGFzcyhjbHMubG9hZGVkKS5hZGRDbGFzcyhjbHMubWFpbik7CgogICAgICAgICAgICAgICAgICAgIC8vcmFpc2UgdGhlIGluaXRpYWxpemVkIGV2ZW50CiAgICAgICAgICAgICAgICAgICAgZnQucmFpc2UoZXZ0LmluaXRpYWxpemVkKTsKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAudW5iaW5kKHRyZy5yZWRyYXcpCiAgICAgICAgICAgICAgICAvL2JpbmQgdG8gRm9vVGFibGUgcmVkcmF3IHRyaWdnZXIKICAgICAgICAgICAgICAgIC5iaW5kKHRyZy5yZWRyYXcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBmdC5yZWRyYXcoKTsKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAudW5iaW5kKHRyZy5yZXNpemUpCiAgICAgICAgICAgICAgICAvL2JpbmQgdG8gRm9vVGFibGUgcmVzaXplIHRyaWdnZXIKICAgICAgICAgICAgICAgIC5iaW5kKHRyZy5yZXNpemUsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBmdC5yZXNpemUoKTsKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAudW5iaW5kKHRyZy5leHBhbmRGaXJzdFJvdykKICAgICAgICAgICAgICAgIC8vYmluZCB0byBGb29UYWJsZSBleHBhbmRGaXJzdFJvdyB0cmlnZ2VyCiAgICAgICAgICAgICAgICAuYmluZCh0cmcuZXhwYW5kRmlyc3RSb3csIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkdGFibGUuZmluZChvcHQudG9nZ2xlU2VsZWN0b3IpLmZpcnN0KCkubm90KCcuJyArIGNscy5kZXRhaWxTaG93KS50cmlnZ2VyKHRyZy50b2dnbGVSb3cpOwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC51bmJpbmQodHJnLmV4cGFuZEFsbCkKICAgICAgICAgICAgICAgIC8vYmluZCB0byBGb29UYWJsZSBleHBhbmRGaXJzdFJvdyB0cmlnZ2VyCiAgICAgICAgICAgICAgICAuYmluZCh0cmcuZXhwYW5kQWxsLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQob3B0LnRvZ2dsZVNlbGVjdG9yKS5ub3QoJy4nICsgY2xzLmRldGFpbFNob3cpLnRyaWdnZXIodHJnLnRvZ2dsZVJvdyk7CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLnVuYmluZCh0cmcuY29sbGFwc2VBbGwpCiAgICAgICAgICAgICAgICAvL2JpbmQgdG8gRm9vVGFibGUgZXhwYW5kRmlyc3RSb3cgdHJpZ2dlcgogICAgICAgICAgICAgICAgLmJpbmQodHJnLmNvbGxhcHNlQWxsLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQoJy4nICsgY2xzLmRldGFpbFNob3cpLnRyaWdnZXIodHJnLnRvZ2dsZVJvdyk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vdHJpZ2dlciBhIEZvb1RhYmxlIGluaXRpYWxpemUKICAgICAgICAgICAgJHRhYmxlLnRyaWdnZXIodHJnLmluaXRpYWxpemUpOwoKICAgICAgICAgICAgLy9iaW5kIHRvIHdpbmRvdyByZXNpemUKICAgICAgICAgICAgJHdpbmRvdwogICAgICAgICAgICAgICAgLmJpbmQoJ3Jlc2l6ZS5mb290YWJsZScsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBmdC50aW1lcnMucmVzaXplLnN0b3AoKTsKICAgICAgICAgICAgICAgICAgICBmdC50aW1lcnMucmVzaXplLnN0YXJ0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZnQucmFpc2UodHJnLnJlc2l6ZSk7CiAgICAgICAgICAgICAgICAgICAgfSwgb3B0LmRlbGF5KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIGZ0LmFkZFJvd1RvZ2dsZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKCFvcHQuYWRkUm93VG9nZ2xlKSByZXR1cm47CgogICAgICAgICAgICB2YXIgJHRhYmxlID0gJChmdC50YWJsZSksCiAgICAgICAgICAgICAgICBoYXNUb2dnbGVDb2x1bW4gPSBmYWxzZTsKCiAgICAgICAgICAgIC8vZmlyc3QgcmVtb3ZlIGFsbCB0b2dnbGUgc3BhbnMKICAgICAgICAgICAgJHRhYmxlLmZpbmQoJ3NwYW4uJyArIGNscy50b2dnbGUpLnJlbW92ZSgpOwoKICAgICAgICAgICAgZm9yICh2YXIgYyBpbiBmdC5jb2x1bW5zKSB7CiAgICAgICAgICAgICAgICB2YXIgY29sID0gZnQuY29sdW1uc1tjXTsKICAgICAgICAgICAgICAgIGlmIChjb2wudG9nZ2xlKSB7CiAgICAgICAgICAgICAgICAgICAgaGFzVG9nZ2xlQ29sdW1uID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0b3IgPSAnPiB0Ym9keSA+IHRyOm5vdCguJyArIGNscy5kZXRhaWwgKyAnLC4nICsgY2xzLmRpc2FibGVkICsgJykgPiB0ZDpudGgtY2hpbGQoJyArIChwYXJzZUludChjb2wuaW5kZXgsIDEwKSArIDEpICsgJyknOwogICAgICAgICAgICAgICAgICAgICR0YWJsZS5maW5kKHNlbGVjdG9yKS5ub3QoJy4nICsgY2xzLmRldGFpbENlbGwpLnByZXBlbmQoJChvcHQudG9nZ2xlSFRNTEVsZW1lbnQpLmFkZENsYXNzKGNscy50b2dnbGUpKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy9jaGVjayBpZiB3ZSBoYXZlIGFuIHRvZ2dsZSBjb2x1bW4uIElmIG5vdCB0aGVuIGFkZCBpdCB0byB0aGUgZmlyc3QgY29sdW1uIGp1c3QgdG8gYmUgc2FmZQogICAgICAgICAgICBpZiAoIWhhc1RvZ2dsZUNvbHVtbikgewogICAgICAgICAgICAgICAgJHRhYmxlCiAgICAgICAgICAgICAgICAgICAgLmZpbmQoJz4gdGJvZHkgPiB0cjpub3QoLicgKyBjbHMuZGV0YWlsICsgJywuJyArIGNscy5kaXNhYmxlZCArICcpID4gdGQ6Zmlyc3QtY2hpbGQnKQogICAgICAgICAgICAgICAgICAgIC5ub3QoJy4nICsgY2xzLmRldGFpbENlbGwpCiAgICAgICAgICAgICAgICAgICAgLnByZXBlbmQoJChvcHQudG9nZ2xlSFRNTEVsZW1lbnQpLmFkZENsYXNzKGNscy50b2dnbGUpKTsKICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGZ0LnNldENvbHVtbkNsYXNzZXMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICR0YWJsZSA9ICQoZnQudGFibGUpOwogICAgICAgICAgICBmb3IgKHZhciBjIGluIGZ0LmNvbHVtbnMpIHsKICAgICAgICAgICAgICAgIHZhciBjb2wgPSBmdC5jb2x1bW5zW2NdOwogICAgICAgICAgICAgICAgaWYgKGNvbC5jbGFzc05hbWUgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0b3IgPSAnJywgZmlyc3QgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICQuZWFjaChjb2wubWF0Y2hlcywgZnVuY3Rpb24gKG0sIG1hdGNoKSB7IC8vc3VwcG9ydCBmb3IgY29sc3BhbnMKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaXJzdCkgc2VsZWN0b3IgKz0gJywgJzsKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgKz0gJz4gdGJvZHkgPiB0cjpub3QoLicgKyBjbHMuZGV0YWlsICsgJykgPiB0ZDpudGgtY2hpbGQoJyArIChwYXJzZUludChtYXRjaCwgMTApICsgMSkgKyAnKSc7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgLy9hZGQgdGhlIGNsYXNzTmFtZSB0byB0aGUgY2VsbHMgc3BlY2lmaWVkIGJ5IGRhdGEtY2xhc3M9ImJsYWgiCiAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQoc2VsZWN0b3IpLm5vdCgnLicgKyBjbHMuZGV0YWlsQ2VsbCkuYWRkQ2xhc3MoY29sLmNsYXNzTmFtZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAvL21vdmVkIHRoaXMgb3V0IGludG8gaXQncyBvd24gZnVuY3Rpb24gc28gdGhhdCBpdCBjYW4gYmUgY2FsbGVkIGZyb20gb3RoZXIgYWRkLW9ucwogICAgICAgIGZ0LmJpbmRUb2dnbGVTZWxlY3RvcnMgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciAkdGFibGUgPSAkKGZ0LnRhYmxlKTsKCiAgICAgICAgICAgIGlmICghZnQuaGFzQW55QnJlYWtwb2ludENvbHVtbigpKSByZXR1cm47CgogICAgICAgICAgICAkdGFibGUuZmluZChvcHQudG9nZ2xlU2VsZWN0b3IpLnVuYmluZCh0cmcudG9nZ2xlUm93KS5iaW5kKHRyZy50b2dnbGVSb3csIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICB2YXIgJHJvdyA9ICQodGhpcykuaXMoJ3RyJykgPyAkKHRoaXMpIDogJCh0aGlzKS5wYXJlbnRzKCd0cjpmaXJzdCcpOwogICAgICAgICAgICAgICAgZnQudG9nZ2xlRGV0YWlsKCRyb3cpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICR0YWJsZS5maW5kKG9wdC50b2dnbGVTZWxlY3RvcikudW5iaW5kKCdjbGljay5mb290YWJsZScpLmJpbmQoJ2NsaWNrLmZvb3RhYmxlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgIGlmICgkdGFibGUuaXMoJy5icmVha3BvaW50JykgJiYgJChlLnRhcmdldCkuaXMoJ3RkLC4nKyBjbHMudG9nZ2xlKSkgewogICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcih0cmcudG9nZ2xlUm93KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgZnQucGFyc2UgPSBmdW5jdGlvbiAoY2VsbCwgY29sdW1uKSB7CiAgICAgICAgICAgIHZhciBwYXJzZXIgPSBvcHQucGFyc2Vyc1tjb2x1bW4udHlwZV0gfHwgb3B0LnBhcnNlcnMuYWxwaGE7CiAgICAgICAgICAgIHJldHVybiBwYXJzZXIoY2VsbCk7CiAgICAgICAgfTsKCiAgICAgICAgZnQuZ2V0Q29sdW1uRGF0YSA9IGZ1bmN0aW9uICh0aCkgewogICAgICAgICAgICB2YXIgJHRoID0gJCh0aCksIGhpZGUgPSAkdGguZGF0YSgnaGlkZScpLCBpbmRleCA9ICR0aC5pbmRleCgpOwogICAgICAgICAgICBoaWRlID0gaGlkZSB8fCAnJzsKICAgICAgICAgICAgaGlkZSA9IGpRdWVyeS5tYXAoaGlkZS5zcGxpdCgnLCcpLCBmdW5jdGlvbiAoYSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGpRdWVyeS50cmltKGEpOwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgICAgICAgICAnaW5kZXgnOiBpbmRleCwKICAgICAgICAgICAgICAgICdoaWRlJzogeyB9LAogICAgICAgICAgICAgICAgJ3R5cGUnOiAkdGguZGF0YSgndHlwZScpIHx8ICdhbHBoYScsCiAgICAgICAgICAgICAgICAnbmFtZSc6ICR0aC5kYXRhKCduYW1lJykgfHwgJC50cmltKCR0aC50ZXh0KCkpLAogICAgICAgICAgICAgICAgJ2lnbm9yZSc6ICR0aC5kYXRhKCdpZ25vcmUnKSB8fCBmYWxzZSwKICAgICAgICAgICAgICAgICd0b2dnbGUnOiAkdGguZGF0YSgndG9nZ2xlJykgfHwgZmFsc2UsCiAgICAgICAgICAgICAgICAnY2xhc3NOYW1lJzogJHRoLmRhdGEoJ2NsYXNzJykgfHwgbnVsbCwKICAgICAgICAgICAgICAgICdtYXRjaGVzJzogW10sCiAgICAgICAgICAgICAgICAnbmFtZXMnOiB7IH0sCiAgICAgICAgICAgICAgICAnZ3JvdXAnOiAkdGguZGF0YSgnZ3JvdXAnKSB8fCBudWxsLAogICAgICAgICAgICAgICAgJ2dyb3VwTmFtZSc6IG51bGwKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGlmIChkYXRhLmdyb3VwICE9PSBudWxsKSB7CiAgICAgICAgICAgICAgICB2YXIgJGdyb3VwID0gJChmdC50YWJsZSkuZmluZCgnPiB0aGVhZCA+IHRyLmZvb3RhYmxlLWdyb3VwLXJvdyA+IHRoW2RhdGEtZ3JvdXA9IicgKyBkYXRhLmdyb3VwICsgJyJdLCA+IHRoZWFkID4gdHIuZm9vdGFibGUtZ3JvdXAtcm93ID4gdGRbZGF0YS1ncm91cD0iJyArIGRhdGEuZ3JvdXAgKyAnIl0nKS5maXJzdCgpOwogICAgICAgICAgICAgICAgZGF0YS5ncm91cE5hbWUgPSBmdC5wYXJzZSgkZ3JvdXAsIHsgJ3R5cGUnOiAnYWxwaGEnIH0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgcGNvbHNwYW4gPSBwYXJzZUludCgkdGgucHJldigpLmF0dHIoJ2NvbHNwYW4nKSB8fCAwLCAxMCk7CiAgICAgICAgICAgIGluZGV4T2Zmc2V0ICs9IHBjb2xzcGFuID4gMSA/IHBjb2xzcGFuIC0gMSA6IDA7CiAgICAgICAgICAgIHZhciBjb2xzcGFuID0gcGFyc2VJbnQoJHRoLmF0dHIoJ2NvbHNwYW4nKSB8fCAwLCAxMCksIGN1cmluZGV4ID0gZGF0YS5pbmRleCArIGluZGV4T2Zmc2V0OwogICAgICAgICAgICBpZiAoY29sc3BhbiA+IDEpIHsKICAgICAgICAgICAgICAgIHZhciBuYW1lcyA9ICR0aC5kYXRhKCduYW1lcycpOwogICAgICAgICAgICAgICAgbmFtZXMgPSBuYW1lcyB8fCAnJzsKICAgICAgICAgICAgICAgIG5hbWVzID0gbmFtZXMuc3BsaXQoJywnKTsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29sc3BhbjsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YS5tYXRjaGVzLnB1c2goaSArIGN1cmluZGV4KTsKICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IG5hbWVzLmxlbmd0aCkgZGF0YS5uYW1lc1tpICsgY3VyaW5kZXhdID0gbmFtZXNbaV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkYXRhLm1hdGNoZXMucHVzaChjdXJpbmRleCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRhdGEuaGlkZVsnZGVmYXVsdCddID0gKCR0aC5kYXRhKCdoaWRlJykgPT09ICJhbGwiKSB8fCAoJC5pbkFycmF5KCdkZWZhdWx0JywgaGlkZSkgPj0gMCk7CgogICAgICAgICAgICB2YXIgaGFzQnJlYWtwb2ludCA9IGZhbHNlOwogICAgICAgICAgICBmb3IgKHZhciBuYW1lIGluIG9wdC5icmVha3BvaW50cykgewogICAgICAgICAgICAgICAgZGF0YS5oaWRlW25hbWVdID0gKCR0aC5kYXRhKCdoaWRlJykgPT09ICJhbGwiKSB8fCAoJC5pbkFycmF5KG5hbWUsIGhpZGUpID49IDApOwogICAgICAgICAgICAgICAgaGFzQnJlYWtwb2ludCA9IGhhc0JyZWFrcG9pbnQgfHwgZGF0YS5oaWRlW25hbWVdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRhdGEuaGFzQnJlYWtwb2ludCA9IGhhc0JyZWFrcG9pbnQ7CiAgICAgICAgICAgIHZhciBlID0gZnQucmFpc2UoZXZ0LmNvbHVtbkRhdGEsIHsgJ2NvbHVtbic6IHsgJ2RhdGEnOiBkYXRhLCAndGgnOiB0aCB9IH0pOwogICAgICAgICAgICByZXR1cm4gZS5jb2x1bW4uZGF0YTsKICAgICAgICB9OwoKICAgICAgICBmdC5nZXRWaWV3cG9ydFdpZHRoID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggfHwgKGRvY3VtZW50LmJvZHkgPyBkb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoIDogMCk7CiAgICAgICAgfTsKCiAgICAgICAgZnQuY2FsY3VsYXRlV2lkdGggPSBmdW5jdGlvbiAoJHRhYmxlLCBpbmZvKSB7CiAgICAgICAgICAgIGlmIChqUXVlcnkuaXNGdW5jdGlvbihvcHQuY2FsY3VsYXRlV2lkdGhPdmVycmlkZSkpIHsKICAgICAgICAgICAgICAgIHJldHVybiBvcHQuY2FsY3VsYXRlV2lkdGhPdmVycmlkZSgkdGFibGUsIGluZm8pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChpbmZvLnZpZXdwb3J0V2lkdGggPCBpbmZvLndpZHRoKSBpbmZvLndpZHRoID0gaW5mby52aWV3cG9ydFdpZHRoOwogICAgICAgICAgICBpZiAoaW5mby5wYXJlbnRXaWR0aCA8IGluZm8ud2lkdGgpIGluZm8ud2lkdGggPSBpbmZvLnBhcmVudFdpZHRoOwogICAgICAgICAgICByZXR1cm4gaW5mbzsKICAgICAgICB9OwoKICAgICAgICBmdC5oYXNCcmVha3BvaW50Q29sdW1uID0gZnVuY3Rpb24gKGJyZWFrcG9pbnQpIHsKICAgICAgICAgICAgZm9yICh2YXIgYyBpbiBmdC5jb2x1bW5zKSB7CiAgICAgICAgICAgICAgICBpZiAoZnQuY29sdW1uc1tjXS5oaWRlW2JyZWFrcG9pbnRdKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZ0LmNvbHVtbnNbY10uaWdub3JlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfTsKCiAgICAgICAgZnQuaGFzQW55QnJlYWtwb2ludENvbHVtbiA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgZm9yICh2YXIgYyBpbiBmdC5jb2x1bW5zKSB7CiAgICAgICAgICAgICAgICBpZiAoZnQuY29sdW1uc1tjXS5oYXNCcmVha3BvaW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH07CgogICAgICAgIGZ0LnJlc2l6ZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyICR0YWJsZSA9ICQoZnQudGFibGUpOwoKICAgICAgICAgICAgaWYgKCEkdGFibGUuaXMoJzp2aXNpYmxlJykpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfSAvL3dlIG9ubHkgY2FyZSBhYm91dCBGb29UYWJsZXMgdGhhdCBhcmUgdmlzaWJsZQoKICAgICAgICAgICAgaWYgKCFmdC5oYXNBbnlCcmVha3BvaW50Q29sdW1uKCkpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfSAvL3dlIG9ubHkgY2FyZSBhYm91dCBGb29UYWJsZXMgdGhhdCBoYXZlIGJyZWFrcG9pbnRzCgogICAgICAgICAgICB2YXIgaW5mbyA9IHsKICAgICAgICAgICAgICAgICd3aWR0aCc6ICR0YWJsZS53aWR0aCgpLCAgICAgICAgICAgICAgICAgIC8vdGhlIHRhYmxlIHdpZHRoCiAgICAgICAgICAgICAgICAndmlld3BvcnRXaWR0aCc6IGZ0LmdldFZpZXdwb3J0V2lkdGgoKSwgICAvL3RoZSB3aWR0aCBvZiB0aGUgdmlld3BvcnQKICAgICAgICAgICAgICAgICdwYXJlbnRXaWR0aCc6ICR0YWJsZS5wYXJlbnQoKS53aWR0aCgpICAgIC8vdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGluZm8gPSBmdC5jYWxjdWxhdGVXaWR0aCgkdGFibGUsIGluZm8pOwoKICAgICAgICAgICAgdmFyIHBpbmZvID0gJHRhYmxlLmRhdGEoJ2Zvb3RhYmxlX2luZm8nKTsKICAgICAgICAgICAgJHRhYmxlLmRhdGEoJ2Zvb3RhYmxlX2luZm8nLCBpbmZvKTsKICAgICAgICAgICAgZnQucmFpc2UoZXZ0LnJlc2l6aW5nLCB7ICdvbGQnOiBwaW5mbywgJ2luZm8nOiBpbmZvIH0pOwoKICAgICAgICAgICAgLy8gVGhpcyAoaWYpIHN0YXRlbWVudCBpcyBoZXJlIHB1cmVseSB0byBtYWtlIHN1cmUgZXZlbnRzIGFyZW4ndCByYWlzZWQgdHdpY2UgYXMgbW9iaWxlIHNhZmFyaSBzZWVtcyB0byBkbwogICAgICAgICAgICBpZiAoIXBpbmZvIHx8IChwaW5mbyAmJiBwaW5mby53aWR0aCAmJiBwaW5mby53aWR0aCAhPT0gaW5mby53aWR0aCkpIHsKCiAgICAgICAgICAgICAgICB2YXIgY3VycmVudCA9IG51bGwsIGJyZWFrcG9pbnQ7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZ0LmJyZWFrcG9pbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludCA9IGZ0LmJyZWFrcG9pbnRzW2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChicmVha3BvaW50ICYmIGJyZWFrcG9pbnQud2lkdGggJiYgaW5mby53aWR0aCA8PSBicmVha3BvaW50LndpZHRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBicmVha3BvaW50OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmFyIGJyZWFrcG9pbnROYW1lID0gKGN1cnJlbnQgPT09IG51bGwgPyAnZGVmYXVsdCcgOiBjdXJyZW50WyduYW1lJ10pLAogICAgICAgICAgICAgICAgICAgIGhhc0JyZWFrcG9pbnRGaXJlZCA9IGZ0Lmhhc0JyZWFrcG9pbnRDb2x1bW4oYnJlYWtwb2ludE5hbWUpLAogICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQnJlYWtwb2ludCA9ICR0YWJsZS5kYXRhKCdicmVha3BvaW50Jyk7CgogICAgICAgICAgICAgICAgJHRhYmxlCiAgICAgICAgICAgICAgICAgICAgLmRhdGEoJ2JyZWFrcG9pbnQnLCBicmVha3BvaW50TmFtZSkKICAgICAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3MoJ2RlZmF1bHQgYnJlYWtwb2ludCcpLnJlbW92ZUNsYXNzKGZ0LmJyZWFrcG9pbnROYW1lcykKICAgICAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoYnJlYWtwb2ludE5hbWUgKyAoaGFzQnJlYWtwb2ludEZpcmVkID8gJyBicmVha3BvaW50JyA6ICcnKSk7CgogICAgICAgICAgICAgICAgLy9vbmx5IGRvIHNvbWV0aGluZyBpZiB0aGUgYnJlYWtwb2ludCBoYXMgY2hhbmdlZAogICAgICAgICAgICAgICAgaWYgKGJyZWFrcG9pbnROYW1lICE9PSBwcmV2aW91c0JyZWFrcG9pbnQpIHsKICAgICAgICAgICAgICAgICAgICAvL3RyaWdnZXIgYSByZWRyYXcKICAgICAgICAgICAgICAgICAgICAkdGFibGUudHJpZ2dlcih0cmcucmVkcmF3KTsKICAgICAgICAgICAgICAgICAgICAvL3JhaXNlIGEgYnJlYWtwb2ludCBldmVudAogICAgICAgICAgICAgICAgICAgIGZ0LnJhaXNlKGV2dC5icmVha3BvaW50LCB7ICdicmVha3BvaW50JzogYnJlYWtwb2ludE5hbWUsICdpbmZvJzogaW5mbyB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnQucmFpc2UoZXZ0LnJlc2l6ZWQsIHsgJ29sZCc6IHBpbmZvLCAnaW5mbyc6IGluZm8gfSk7CiAgICAgICAgfTsKCiAgICAgICAgZnQucmVkcmF3ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAvL2FkZCB0aGUgdG9nZ2xlciB0byBlYWNoIHJvdwogICAgICAgICAgICBmdC5hZGRSb3dUb2dnbGUoKTsKCiAgICAgICAgICAgIC8vYmluZCB0aGUgdG9nZ2xlIHNlbGVjdG9yIGNsaWNrIGV2ZW50cwogICAgICAgICAgICBmdC5iaW5kVG9nZ2xlU2VsZWN0b3JzKCk7CgogICAgICAgICAgICAvL3NldCBhbnkgY2VsbCBjbGFzc2VzIGRlZmluZWQgZm9yIHRoZSBjb2x1bW5zCiAgICAgICAgICAgIGZ0LnNldENvbHVtbkNsYXNzZXMoKTsKCiAgICAgICAgICAgIHZhciAkdGFibGUgPSAkKGZ0LnRhYmxlKSwKICAgICAgICAgICAgICAgIGJyZWFrcG9pbnROYW1lID0gJHRhYmxlLmRhdGEoJ2JyZWFrcG9pbnQnKSwKICAgICAgICAgICAgICAgIGhhc0JyZWFrcG9pbnRGaXJlZCA9IGZ0Lmhhc0JyZWFrcG9pbnRDb2x1bW4oYnJlYWtwb2ludE5hbWUpOwoKICAgICAgICAgICAgJHRhYmxlCiAgICAgICAgICAgICAgICAuZmluZCgnPiB0Ym9keSA+IHRyOm5vdCguJyArIGNscy5kZXRhaWwgKyAnKScpLmRhdGEoJ2RldGFpbF9jcmVhdGVkJywgZmFsc2UpLmVuZCgpCiAgICAgICAgICAgICAgICAuZmluZCgnPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0aCcpCiAgICAgICAgICAgICAgICAuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGEgPSBmdC5jb2x1bW5zWyQodGhpcykuaW5kZXgoKV0sIHNlbGVjdG9yID0gJycsIGZpcnN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAkLmVhY2goZGF0YS5tYXRjaGVzLCBmdW5jdGlvbiAobSwgbWF0Y2gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaXJzdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgKz0gJywgJzsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY291bnQgPSBtYXRjaCArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yICs9ICc+IHRib2R5ID4gdHI6bm90KC4nICsgY2xzLmRldGFpbCArICcpID4gdGQ6bnRoLWNoaWxkKCcgKyBjb3VudCArICcpJzsKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgKz0gJywgPiB0Zm9vdCA+IHRyOm5vdCguJyArIGNscy5kZXRhaWwgKyAnKSA+IHRkOm50aC1jaGlsZCgnICsgY291bnQgKyAnKSc7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yICs9ICcsID4gY29sZ3JvdXAgPiBjb2w6bnRoLWNoaWxkKCcgKyBjb3VudCArICcpJzsKICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IgKz0gJywgPiB0aGVhZCA+IHRyW2RhdGEtZ3JvdXAtcm93PSJ0cnVlIl0gPiB0aFtkYXRhLWdyb3VwPSInICsgZGF0YS5ncm91cCArICciXSc7CiAgICAgICAgICAgICAgICAgICAgdmFyICRjb2x1bW4gPSAkdGFibGUuZmluZChzZWxlY3RvcikuYWRkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIGlmIChicmVha3BvaW50TmFtZSAhPT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmhpZGVbYnJlYWtwb2ludE5hbWVdID09PSBmYWxzZSkgJGNvbHVtbi5zaG93KCk7CiAgICAgICAgICAgICAgICAgICAgICBlbHNlICRjb2x1bW4uaGlkZSgpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJsZS5maW5kKCc+IHRoZWFkID4gdHIuZm9vdGFibGUtZ3JvdXAtcm93JykubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciAkZ3JvdXBjb2xzID0gJHRhYmxlLmZpbmQoJz4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGhbZGF0YS1ncm91cD0iJyArIGRhdGEuZ3JvdXAgKyAnIl06dmlzaWJsZSwgPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0aFtkYXRhLWdyb3VwPSInICsgZGF0YS5ncm91cCArICciXTp2aXNpYmxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JvdXAgPSAkdGFibGUuZmluZCgnPiB0aGVhZCA+IHRyLmZvb3RhYmxlLWdyb3VwLXJvdyA+IHRoW2RhdGEtZ3JvdXA9IicgKyBkYXRhLmdyb3VwICsgJyJdLCA+IHRoZWFkID4gdHIuZm9vdGFibGUtZ3JvdXAtcm93ID4gdGRbZGF0YS1ncm91cD0iJyArIGRhdGEuZ3JvdXAgKyAnIl0nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3Vwc3BhbiA9IDA7CgogICAgICAgICAgICAgICAgICAgICAgICAkLmVhY2goJGdyb3VwY29scywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBzcGFuICs9IHBhcnNlSW50KCQodGhpcykuYXR0cignY29sc3BhbicpIHx8IDEsIDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZ3JvdXBzcGFuID4gMCkgJGdyb3VwLmF0dHIoJ2NvbHNwYW4nLCBncm91cHNwYW4pLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAkZ3JvdXAuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAuZW5kKCkKICAgICAgICAgICAgICAgIC5maW5kKCc+IHRib2R5ID4gdHIuJyArIGNscy5kZXRhaWxTaG93KS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBmdC5jcmVhdGVPclVwZGF0ZURldGFpbFJvdyh0aGlzKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGJvZHkgPiB0ci4nICsgY2xzLmRldGFpbFNob3cgKyAnOnZpc2libGUnKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciAkbmV4dCA9ICQodGhpcykubmV4dCgpOwogICAgICAgICAgICAgICAgaWYgKCRuZXh0Lmhhc0NsYXNzKGNscy5kZXRhaWwpKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNCcmVha3BvaW50RmlyZWQpICRuZXh0LmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICBlbHNlICRuZXh0LnNob3coKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAvLyBhZGRpbmcgLmZvb3RhYmxlLWZpcnN0LWNvbHVtbiBhbmQgLmZvb3RhYmxlLWxhc3QtY29sdW1uIHRvIHRoZSBmaXJzdCBhbmQgbGFzdCB0aCBhbmQgdGQgb2YgZWFjaCByb3cgaW4gb3JkZXIgdG8gYWxsb3cKICAgICAgICAgICAgLy8gZm9yIHN0eWxpbmcgaWYgdGhlIGZpcnN0IG9yIGxhc3QgY29sdW1uIGlzIGhpZGRlbiAod2hpY2ggd29uJ3Qgd29yayB1c2luZyA6Zmlyc3QtY2hpbGQgb3IgOmxhc3QtY2hpbGQpCiAgICAgICAgICAgICR0YWJsZS5maW5kKCc+IHRoZWFkID4gdHIgPiB0aC5mb290YWJsZS1sYXN0LWNvbHVtbiwgPiB0Ym9keSA+IHRyID4gdGQuZm9vdGFibGUtbGFzdC1jb2x1bW4nKS5yZW1vdmVDbGFzcygnZm9vdGFibGUtbGFzdC1jb2x1bW4nKTsKICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGhlYWQgPiB0ciA+IHRoLmZvb3RhYmxlLWZpcnN0LWNvbHVtbiwgPiB0Ym9keSA+IHRyID4gdGQuZm9vdGFibGUtZmlyc3QtY29sdW1uJykucmVtb3ZlQ2xhc3MoJ2Zvb3RhYmxlLWZpcnN0LWNvbHVtbicpOwogICAgICAgICAgICAkdGFibGUuZmluZCgnPiB0aGVhZCA+IHRyLCA+IHRib2R5ID4gdHInKQogICAgICAgICAgICAgICAgLmZpbmQoJz4gdGg6dmlzaWJsZTpsYXN0LCA+IHRkOnZpc2libGU6bGFzdCcpCiAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoJ2Zvb3RhYmxlLWxhc3QtY29sdW1uJykKICAgICAgICAgICAgICAgIC5lbmQoKQogICAgICAgICAgICAgICAgLmZpbmQoJz4gdGg6dmlzaWJsZTpmaXJzdCwgPiB0ZDp2aXNpYmxlOmZpcnN0JykKICAgICAgICAgICAgICAgIC5hZGRDbGFzcygnZm9vdGFibGUtZmlyc3QtY29sdW1uJyk7CgogICAgICAgICAgICBmdC5yYWlzZShldnQucmVkcmF3bik7CiAgICAgICAgfTsKCiAgICAgICAgZnQudG9nZ2xlRGV0YWlsID0gZnVuY3Rpb24gKHJvdykgewogICAgICAgICAgICB2YXIgJHJvdyA9IChyb3cuanF1ZXJ5KSA/IHJvdyA6ICQocm93KSwKICAgICAgICAgICAgICAgICRuZXh0ID0gJHJvdy5uZXh0KCk7CgogICAgICAgICAgICAvL2NoZWNrIGlmIHRoZSByb3cgaXMgYWxyZWFkeSBleHBhbmRlZAogICAgICAgICAgICBpZiAoJHJvdy5oYXNDbGFzcyhjbHMuZGV0YWlsU2hvdykpIHsKICAgICAgICAgICAgICAgICRyb3cucmVtb3ZlQ2xhc3MoY2xzLmRldGFpbFNob3cpOwoKICAgICAgICAgICAgICAgIC8vb25seSBoaWRlIHRoZSBuZXh0IHJvdyBpZiBpdCdzIGEgZGV0YWlsIHJvdwogICAgICAgICAgICAgICAgaWYgKCRuZXh0Lmhhc0NsYXNzKGNscy5kZXRhaWwpKSAkbmV4dC5oaWRlKCk7CgogICAgICAgICAgICAgICAgZnQucmFpc2UoZXZ0LnJvd0NvbGxhcHNlZCwgeyAncm93JzogJHJvd1swXSB9KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBmdC5jcmVhdGVPclVwZGF0ZURldGFpbFJvdygkcm93WzBdKTsKICAgICAgICAgICAgICAgICRyb3cuYWRkQ2xhc3MoY2xzLmRldGFpbFNob3cpCgkJCQkJLm5leHQoKS5zaG93KCk7CgogICAgICAgICAgICAgICAgZnQucmFpc2UoZXZ0LnJvd0V4cGFuZGVkLCB7ICdyb3cnOiAkcm93WzBdIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgICAgZnQucmVtb3ZlUm93ID0gZnVuY3Rpb24gKHJvdykgewogICAgICAgICAgICB2YXIgJHJvdyA9IChyb3cuanF1ZXJ5KSA/IHJvdyA6ICQocm93KTsKICAgICAgICAgICAgaWYgKCRyb3cuaGFzQ2xhc3MoY2xzLmRldGFpbCkpIHsKICAgICAgICAgICAgICAgICRyb3cgPSAkcm93LnByZXYoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgJG5leHQgPSAkcm93Lm5leHQoKTsKICAgICAgICAgICAgaWYgKCRyb3cuZGF0YSgnZGV0YWlsX2NyZWF0ZWQnKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgLy9yZW1vdmUgdGhlIGRldGFpbCByb3cKICAgICAgICAgICAgICAgICRuZXh0LnJlbW92ZSgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRyb3cucmVtb3ZlKCk7CgogICAgICAgICAgICAvL3JhaXNlIGV2ZW50CiAgICAgICAgICAgIGZ0LnJhaXNlKGV2dC5yb3dSZW1vdmVkKTsKICAgICAgICB9OwoKICAgICAgICBmdC5hcHBlbmRSb3cgPSBmdW5jdGlvbiAocm93KSB7CiAgICAgICAgICAgIHZhciAkcm93ID0gKHJvdy5qcXVlcnkpID8gcm93IDogJChyb3cpOwogICAgICAgICAgICAkKGZ0LnRhYmxlKS5maW5kKCd0Ym9keScpLmFwcGVuZCgkcm93KTsKCiAgICAgICAgICAgIC8vcmVkcmF3IHRoZSB0YWJsZQogICAgICAgICAgICBmdC5yZWRyYXcoKTsKICAgICAgICB9OwoKICAgICAgICBmdC5nZXRDb2x1bW5Gcm9tVGRJbmRleCA9IGZ1bmN0aW9uIChpbmRleCkgewogICAgICAgICAgICAvLy8gPHN1bW1hcnk+UmV0dXJucyB0aGUgY29ycmVjdCBjb2x1bW4gZGF0YSBmb3IgdGhlIHN1cHBsaWVkIGluZGV4IHRha2luZyBpbnRvIGFjY291bnQgY29sc3BhbnMuPC9zdW1tYXJ5PgogICAgICAgICAgICAvLy8gPHBhcmFtIG5hbWU9ImluZGV4Ij5UaGUgaW5kZXggdG8gcmV0cmlldmUgdGhlIGNvbHVtbiBkYXRhIGZvci48L3BhcmFtPgogICAgICAgICAgICAvLy8gPHJldHVybnMgdHlwZT0ianNvbiI+QSBKU09OIG9iamVjdCBjb250YWluaW5nIHRoZSBjb2x1bW4gZGF0YSBmb3IgdGhlIHN1cHBsaWVkIGluZGV4LjwvcmV0dXJucz4KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG51bGw7CiAgICAgICAgICAgIGZvciAodmFyIGNvbHVtbiBpbiBmdC5jb2x1bW5zKSB7CiAgICAgICAgICAgICAgICBpZiAoJC5pbkFycmF5KGluZGV4LCBmdC5jb2x1bW5zW2NvbHVtbl0ubWF0Y2hlcykgPj0gMCkgewogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZ0LmNvbHVtbnNbY29sdW1uXTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH07CgogICAgICAgIGZ0LmNyZWF0ZU9yVXBkYXRlRGV0YWlsUm93ID0gZnVuY3Rpb24gKGFjdHVhbFJvdykgewogICAgICAgICAgICB2YXIgJHJvdyA9ICQoYWN0dWFsUm93KSwgJG5leHQgPSAkcm93Lm5leHQoKSwgJGRldGFpbCwgdmFsdWVzID0gW107CiAgICAgICAgICAgIGlmICgkcm93LmRhdGEoJ2RldGFpbF9jcmVhdGVkJykgPT09IHRydWUpIHJldHVybiB0cnVlOwoKICAgICAgICAgICAgaWYgKCRyb3cuaXMoJzpoaWRkZW4nKSkgcmV0dXJuIGZhbHNlOyAvL2lmIHRoZSByb3cgaXMgaGlkZGVuIGZvciBzb21lIHJlYXNvbiAocGVyaGFwcyBmaWx0ZXJlZCkgdGhlbiBnZXQgb3V0IG9mIGhlcmUKICAgICAgICAgICAgZnQucmFpc2UoZXZ0LnJvd0RldGFpbFVwZGF0aW5nLCB7ICdyb3cnOiAkcm93LCAnZGV0YWlsJzogJG5leHQgfSk7CiAgICAgICAgICAgICRyb3cuZmluZCgnPiB0ZDpoaWRkZW4nKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciBpbmRleCA9ICQodGhpcykuaW5kZXgoKSwgY29sdW1uID0gZnQuZ2V0Q29sdW1uRnJvbVRkSW5kZXgoaW5kZXgpLCBuYW1lID0gY29sdW1uLm5hbWU7CiAgICAgICAgICAgICAgICBpZiAoY29sdW1uLmlnbm9yZSA9PT0gdHJ1ZSkgcmV0dXJuIHRydWU7CgogICAgICAgICAgICAgICAgaWYgKGluZGV4IGluIGNvbHVtbi5uYW1lcykgbmFtZSA9IGNvbHVtbi5uYW1lc1tpbmRleF07CiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaCh7ICduYW1lJzogbmFtZSwgJ3ZhbHVlJzogZnQucGFyc2UodGhpcywgY29sdW1uKSwgJ2Rpc3BsYXknOiAkLnRyaW0oJCh0aGlzKS5odG1sKCkpLCAnZ3JvdXAnOiBjb2x1bW4uZ3JvdXAsICdncm91cE5hbWUnOiBjb2x1bW4uZ3JvdXBOYW1lIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGZhbHNlOyAvL3JldHVybiBpZiB3ZSBkb24ndCBoYXZlIGFueSBkYXRhIHRvIHNob3cKICAgICAgICAgICAgdmFyIGNvbHNwYW4gPSAkcm93LmZpbmQoJz4gdGQ6dmlzaWJsZScpLmxlbmd0aDsKICAgICAgICAgICAgdmFyIGV4aXN0cyA9ICRuZXh0Lmhhc0NsYXNzKGNscy5kZXRhaWwpOwogICAgICAgICAgICBpZiAoIWV4aXN0cykgeyAvLyBDcmVhdGUKICAgICAgICAgICAgICAgICRuZXh0ID0gJCgnPHRyIGNsYXNzPSInICsgY2xzLmRldGFpbCArICciPjx0ZCBjbGFzcz0iJyArIGNscy5kZXRhaWxDZWxsICsgJyI+PGRpdiBjbGFzcz0iJyArIGNscy5kZXRhaWxJbm5lciArICciPjwvZGl2PjwvdGQ+PC90cj4nKTsKICAgICAgICAgICAgICAgICRyb3cuYWZ0ZXIoJG5leHQpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRuZXh0LmZpbmQoJz4gdGQ6Zmlyc3QnKS5hdHRyKCdjb2xzcGFuJywgY29sc3Bhbik7CiAgICAgICAgICAgICRkZXRhaWwgPSAkbmV4dC5maW5kKCcuJyArIGNscy5kZXRhaWxJbm5lcikuZW1wdHkoKTsKICAgICAgICAgICAgb3B0LmNyZWF0ZURldGFpbCgkZGV0YWlsLCB2YWx1ZXMsIG9wdC5jcmVhdGVHcm91cGVkRGV0YWlsLCBvcHQuZGV0YWlsU2VwYXJhdG9yLCBjbHMpOwogICAgICAgICAgICAkcm93LmRhdGEoJ2RldGFpbF9jcmVhdGVkJywgdHJ1ZSk7CiAgICAgICAgICAgIGZ0LnJhaXNlKGV2dC5yb3dEZXRhaWxVcGRhdGVkLCB7ICdyb3cnOiAkcm93LCAnZGV0YWlsJzogJG5leHQgfSk7CiAgICAgICAgICAgIHJldHVybiAhZXhpc3RzOwogICAgICAgIH07CgogICAgICAgIGZ0LnJhaXNlID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgYXJncykgewoKICAgICAgICAgICAgaWYgKGZ0Lm9wdGlvbnMuZGVidWcgPT09IHRydWUgJiYgJC5pc0Z1bmN0aW9uKGZ0Lm9wdGlvbnMubG9nKSkgZnQub3B0aW9ucy5sb2coZXZlbnROYW1lLCAnZXZlbnQnKTsKCiAgICAgICAgICAgIGFyZ3MgPSBhcmdzIHx8IHsgfTsKICAgICAgICAgICAgdmFyIGRlZiA9IHsgJ2Z0JzogZnQgfTsKICAgICAgICAgICAgJC5leHRlbmQodHJ1ZSwgZGVmLCBhcmdzKTsKICAgICAgICAgICAgdmFyIGUgPSAkLkV2ZW50KGV2ZW50TmFtZSwgZGVmKTsKICAgICAgICAgICAgaWYgKCFlLmZ0KSB7CiAgICAgICAgICAgICAgICAkLmV4dGVuZCh0cnVlLCBlLCBkZWYpOwogICAgICAgICAgICB9IC8vcHJlIGpRdWVyeSAxLjYgd2hpY2ggZGlkIG5vdCBhbGxvdyBkYXRhIHRvIGJlIHBhc3NlZCB0byBldmVudCBvYmplY3QgY29uc3RydWN0b3IKICAgICAgICAgICAgJChmdC50YWJsZSkudHJpZ2dlcihlKTsKICAgICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgfTsKCiAgICAgICAgLy9yZXNldCB0aGUgc3RhdGUgb2YgRm9vVGFibGUKICAgICAgICBmdC5yZXNldCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgJHRhYmxlID0gJChmdC50YWJsZSk7CiAgICAgICAgICAgICR0YWJsZS5yZW1vdmVEYXRhKCdmb290YWJsZV9pbmZvJykKICAgICAgICAgICAgICAgIC5kYXRhKCdicmVha3BvaW50JywgJycpCiAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3MoY2xzLmxvYWRpbmcpCiAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3MoY2xzLmxvYWRlZCk7CgogICAgICAgICAgICAkdGFibGUuZmluZChvcHQudG9nZ2xlU2VsZWN0b3IpLnVuYmluZCh0cmcudG9nZ2xlUm93KS51bmJpbmQoJ2NsaWNrLmZvb3RhYmxlJyk7CgogICAgICAgICAgICAkdGFibGUuZmluZCgnPiB0Ym9keSA+IHRyJykucmVtb3ZlQ2xhc3MoY2xzLmRldGFpbFNob3cpOwoKICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGJvZHkgPiB0ci4nICsgY2xzLmRldGFpbCkucmVtb3ZlKCk7CgogICAgICAgICAgICBmdC5yYWlzZShldnQucmVzZXQpOwogICAgICAgIH07CgogICAgICAgIGZ0LmluaXQoKTsKICAgICAgICByZXR1cm4gZnQ7CiAgICB9Cn0pKGpRdWVyeSwgd2luZG93KTsK]]></data>
	</file>
	<file>
	  <filename>/framework/js/footable.sort.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/KGZ1bmN0aW9uICgkLCB3LCB1bmRlZmluZWQpIHsKICAgIGlmICh3LmZvb3RhYmxlID09PSB1bmRlZmluZWQgfHwgdy5mb290YWJsZSA9PT0gbnVsbCkKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBjaGVjayBhbmQgbWFrZSBzdXJlIGZvb3RhYmxlLmpzIGlzIGluY2x1ZGVkIGluIHRoZSBwYWdlIGFuZCBpcyBsb2FkZWQgcHJpb3IgdG8gdGhpcyBzY3JpcHQuJyk7CgogICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgIHNvcnQ6IHRydWUsCiAgICAgICAgc29ydGVyczogewogICAgICAgICAgICBhbHBoYTogZnVuY3Rpb24gKGEsIGIpIHsKCQkJCWlmICh0eXBlb2YoYSkgPT09ICdzdHJpbmcnKSB7IGEgPSBhLnRvTG93ZXJDYXNlKCk7IH0KCQkJCWlmICh0eXBlb2YoYikgPT09ICdzdHJpbmcnKSB7IGIgPSBiLnRvTG93ZXJDYXNlKCk7IH0KCQkJCWlmIChhID09PSBiKSByZXR1cm4gMDsKCQkJCWlmIChhIDwgYikgcmV0dXJuIC0xOwoJCQkJcmV0dXJuIDE7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG51bWVyaWM6IGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYSAtIGI7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIGNsYXNzZXM6IHsKICAgICAgICAgICAgc29ydDogewogICAgICAgICAgICAgICAgc29ydGFibGU6ICdmb290YWJsZS1zb3J0YWJsZScsCiAgICAgICAgICAgICAgICBzb3J0ZWQ6ICdmb290YWJsZS1zb3J0ZWQnLAogICAgICAgICAgICAgICAgZGVzY2VuZGluZzogJ2Zvb3RhYmxlLXNvcnRlZC1kZXNjJywKICAgICAgICAgICAgICAgIGluZGljYXRvcjogJ2Zvb3RhYmxlLXNvcnQtaW5kaWNhdG9yJwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgc29ydDogewogICAgICAgICAgICAgICAgc29ydGluZzogJ2Zvb3RhYmxlX3NvcnRpbmcnLAogICAgICAgICAgICAgICAgc29ydGVkOiAnZm9vdGFibGVfc29ydGVkJwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBTb3J0KCkgewogICAgICAgIHZhciBwID0gdGhpczsKICAgICAgICBwLm5hbWUgPSAnRm9vdGFibGUgU29ydGFibGUnOwogICAgICAgIHAuaW5pdCA9IGZ1bmN0aW9uIChmdCkgewogICAgICAgICAgICBwLmZvb3RhYmxlID0gZnQ7CiAgICAgICAgICAgIGlmIChmdC5vcHRpb25zLnNvcnQgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICQoZnQudGFibGUpCiAgICAgICAgICAgICAgICAgICAgLnVuYmluZCgnLnNvcnRpbmcnKQogICAgICAgICAgICAgICAgICAgIC5iaW5kKHsKICAgICAgICAgICAgICAgICAgICAgICAgJ2Zvb3RhYmxlX2luaXRpYWxpemVkLnNvcnRpbmcnOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJsZSA9ICQoZnQudGFibGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0Ym9keSA9ICR0YWJsZS5maW5kKCc+IHRib2R5JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzID0gZnQub3B0aW9ucy5jbGFzc2VzLnNvcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLCAkdGg7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJsZS5kYXRhKCdzb3J0JykgPT09IGZhbHNlKSByZXR1cm47CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGgsID4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGQnKS5lYWNoKGZ1bmN0aW9uIChlYykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aCA9ICQodGhpcyksIGNvbHVtbiA9IGZ0LmNvbHVtbnNbJHRoLmluZGV4KCldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uc29ydC5pZ25vcmUgIT09IHRydWUgJiYgISR0aC5oYXNDbGFzcyhjbHMuc29ydGFibGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aC5hZGRDbGFzcyhjbHMuc29ydGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCc8c3BhbiAvPicpLmFkZENsYXNzKGNscy5pbmRpY2F0b3IpLmFwcGVuZFRvKCR0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGguJyArIGNscy5zb3J0YWJsZSArICcsID4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGQuJyArIGNscy5zb3J0YWJsZSkudW5iaW5kKCdjbGljay5mb290YWJsZScpLmJpbmQoJ2NsaWNrLmZvb3RhYmxlJywgZnVuY3Rpb24gKGVjKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWMucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGggPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhc2NlbmRpbmcgPSAhJHRoLmhhc0NsYXNzKGNscy5zb3J0ZWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuZG9Tb3J0KCR0aC5pbmRleCgpLCBhc2NlbmRpbmcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkaWRTb21lU29ydGluZyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgYyBpbiBmdC5jb2x1bW5zKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uID0gZnQuY29sdW1uc1tjXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sdW1uLnNvcnQuaW5pdGlhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXNjZW5kaW5nID0gKGNvbHVtbi5zb3J0LmluaXRpYWwgIT09ICdkZXNjZW5kaW5nJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAuZG9Tb3J0KGNvbHVtbi5pbmRleCwgYXNjZW5kaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpZFNvbWVTb3J0aW5nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnQuYmluZFRvZ2dsZVNlbGVjdG9ycygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vdGFibGVfcmVkcmF3bi5zb3J0aW5nJzogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyICR0YWJsZSA9ICQoZnQudGFibGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscyA9IGZ0Lm9wdGlvbnMuY2xhc3Nlcy5zb3J0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0YWJsZS5kYXRhKCdzb3J0ZWQnKSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhYmxlLmZpbmQoJz4gdGhlYWQgPiB0cjpsYXN0LWNoaWxkID4gdGgnKS5lYWNoKGZ1bmN0aW9uKGkpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRoID0gJCh0aGlzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aC5oYXNDbGFzcyhjbHMuc29ydGVkKSB8fCAkdGguaGFzQ2xhc3MoY2xzLmRlc2NlbmRpbmcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLmRvU29ydChpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAnZm9vdGFibGVfY29sdW1uX2RhdGEuc29ydGluZyc6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRoID0gJChlLmNvbHVtbi50aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmNvbHVtbi5kYXRhLnNvcnQgPSBlLmNvbHVtbi5kYXRhLnNvcnQgfHwge307CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmNvbHVtbi5kYXRhLnNvcnQuaW5pdGlhbCA9ICR0aC5kYXRhKCdzb3J0LWluaXRpYWwnKSB8fCBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuY29sdW1uLmRhdGEuc29ydC5pZ25vcmUgPSAkdGguZGF0YSgnc29ydC1pZ25vcmUnKSB8fCBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuY29sdW1uLmRhdGEuc29ydC5zZWxlY3RvciA9ICR0aC5kYXRhKCdzb3J0LXNlbGVjdG9yJykgfHwgbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF0Y2ggPSAkdGguZGF0YSgnc29ydC1tYXRjaCcpIHx8IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWF0Y2ggPj0gZS5jb2x1bW4uZGF0YS5tYXRjaGVzLmxlbmd0aCkgbWF0Y2ggPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5jb2x1bW4uZGF0YS5zb3J0Lm1hdGNoID0gZS5jb2x1bW4uZGF0YS5tYXRjaGVzW21hdGNoXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAvL3NhdmUgdGhlIHNvcnQgb2JqZWN0IG9udG8gdGhlIHRhYmxlIHNvIHdlIGNhbiBhY2Nlc3MgaXQgbGF0ZXIKICAgICAgICAgICAgICAgIC5kYXRhKCdmb290YWJsZS1zb3J0JywgcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBwLmRvU29ydCA9IGZ1bmN0aW9uKGNvbHVtbkluZGV4LCBhc2NlbmRpbmcpIHsKICAgICAgICAgICAgdmFyIGZ0ID0gcC5mb290YWJsZTsKICAgICAgICAgICAgaWYgKCQoZnQudGFibGUpLmRhdGEoJ3NvcnQnKSA9PT0gZmFsc2UpIHJldHVybjsKCiAgICAgICAgICAgIHZhciAkdGFibGUgPSAkKGZ0LnRhYmxlKSwKICAgICAgICAgICAgICAgICR0Ym9keSA9ICR0YWJsZS5maW5kKCc+IHRib2R5JyksCiAgICAgICAgICAgICAgICBjb2x1bW4gPSBmdC5jb2x1bW5zW2NvbHVtbkluZGV4XSwKICAgICAgICAgICAgICAgICR0aCA9ICR0YWJsZS5maW5kKCc+IHRoZWFkID4gdHI6bGFzdC1jaGlsZCA+IHRoOmVxKCcgKyBjb2x1bW5JbmRleCArICcpJyksCiAgICAgICAgICAgICAgICBjbHMgPSBmdC5vcHRpb25zLmNsYXNzZXMuc29ydCwKICAgICAgICAgICAgICAgIGV2dCA9IGZ0Lm9wdGlvbnMuZXZlbnRzLnNvcnQ7CgogICAgICAgICAgICBhc2NlbmRpbmcgPSAoYXNjZW5kaW5nID09PSB1bmRlZmluZWQpID8gJHRoLmhhc0NsYXNzKGNscy5zb3J0ZWQpIDoKICAgICAgICAgICAgICAgIChhc2NlbmRpbmcgPT09ICd0b2dnbGUnKSA/ICEkdGguaGFzQ2xhc3MoY2xzLnNvcnRlZCkgOiBhc2NlbmRpbmc7CgogICAgICAgICAgICBpZiAoY29sdW1uLnNvcnQuaWdub3JlID09PSB0cnVlKSByZXR1cm4gdHJ1ZTsKCiAgICAgICAgICAgIC8vcmFpc2UgYSBwcmUtc29ydGluZyBldmVudCBzbyB0aGF0IHdlIGNhbiBjYW5jZWwgdGhlIHNvcnRpbmcgaWYgbmVlZGVkCiAgICAgICAgICAgIHZhciBldmVudCA9IGZ0LnJhaXNlKGV2dC5zb3J0aW5nLCB7IGNvbHVtbjogY29sdW1uLCBkaXJlY3Rpb246IGFzY2VuZGluZyA/ICdBU0MnIDogJ0RFU0MnIH0pOwogICAgICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQucmVzdWx0ID09PSBmYWxzZSkgcmV0dXJuOwoKICAgICAgICAgICAgJHRhYmxlLmRhdGEoJ3NvcnRlZCcsIGNvbHVtbi5pbmRleCk7CgogICAgICAgICAgICAkdGFibGUuZmluZCgnPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0aCwgPiB0aGVhZCA+IHRyOmxhc3QtY2hpbGQgPiB0ZCcpLm5vdCgkdGgpLnJlbW92ZUNsYXNzKGNscy5zb3J0ZWQgKyAnICcgKyBjbHMuZGVzY2VuZGluZyk7CgogICAgICAgICAgICBpZiAoYXNjZW5kaW5nID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGFzY2VuZGluZyA9ICR0aC5oYXNDbGFzcyhjbHMuc29ydGVkKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGFzY2VuZGluZykgewogICAgICAgICAgICAgICAgJHRoLnJlbW92ZUNsYXNzKGNscy5kZXNjZW5kaW5nKS5hZGRDbGFzcyhjbHMuc29ydGVkKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICR0aC5yZW1vdmVDbGFzcyhjbHMuc29ydGVkKS5hZGRDbGFzcyhjbHMuZGVzY2VuZGluZyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHAuc29ydChmdCwgJHRib2R5LCBjb2x1bW4sIGFzY2VuZGluZyk7CgogICAgICAgICAgICBmdC5iaW5kVG9nZ2xlU2VsZWN0b3JzKCk7CiAgICAgICAgICAgIGZ0LnJhaXNlKGV2dC5zb3J0ZWQsIHsgY29sdW1uOiBjb2x1bW4sIGRpcmVjdGlvbjogYXNjZW5kaW5nID8gJ0FTQycgOiAnREVTQycgfSk7CiAgICAgICAgfTsKCiAgICAgICAgcC5yb3dzID0gZnVuY3Rpb24gKGZ0LCB0Ym9keSwgY29sdW1uKSB7CiAgICAgICAgICAgIHZhciByb3dzID0gW107CiAgICAgICAgICAgIHRib2R5LmZpbmQoJz4gdHInKS5lYWNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHZhciAkcm93ID0gJCh0aGlzKSwgJG5leHQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYgKCRyb3cuaGFzQ2xhc3MoZnQub3B0aW9ucy5jbGFzc2VzLmRldGFpbCkpIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgaWYgKCRyb3cubmV4dCgpLmhhc0NsYXNzKGZ0Lm9wdGlvbnMuY2xhc3Nlcy5kZXRhaWwpKSB7CiAgICAgICAgICAgICAgICAgICAgJG5leHQgPSAkcm93Lm5leHQoKS5nZXQoMCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgcm93ID0geyAncm93JzogJHJvdywgJ2RldGFpbCc6ICRuZXh0IH07CiAgICAgICAgICAgICAgICBpZiAoY29sdW1uICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICByb3cudmFsdWUgPSBmdC5wYXJzZSh0aGlzLmNlbGxzW2NvbHVtbi5zb3J0Lm1hdGNoXSwgY29sdW1uKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJvd3MucHVzaChyb3cpOwogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0pLmRldGFjaCgpOwogICAgICAgICAgICByZXR1cm4gcm93czsKICAgICAgICB9OwoKICAgICAgICBwLnNvcnQgPSBmdW5jdGlvbiAoZnQsIHRib2R5LCBjb2x1bW4sIGFzY2VuZGluZykgewogICAgICAgICAgICB2YXIgcm93cyA9IHAucm93cyhmdCwgdGJvZHksIGNvbHVtbik7CiAgICAgICAgICAgIHZhciBzb3J0ZXIgPSBmdC5vcHRpb25zLnNvcnRlcnNbY29sdW1uLnR5cGVdIHx8IGZ0Lm9wdGlvbnMuc29ydGVycy5hbHBoYTsKICAgICAgICAgICAgcm93cy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7CiAgICAgICAgICAgICAgICBpZiAoYXNjZW5kaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRlcihhLnZhbHVlLCBiLnZhbHVlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRlcihiLnZhbHVlLCBhLnZhbHVlKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgdGJvZHkuYXBwZW5kKHJvd3Nbal0ucm93KTsKICAgICAgICAgICAgICAgIGlmIChyb3dzW2pdLmRldGFpbCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHRib2R5LmFwcGVuZChyb3dzW2pdLmRldGFpbCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQoKICAgIHcuZm9vdGFibGUucGx1Z2lucy5yZWdpc3RlcihTb3J0LCBkZWZhdWx0cyk7Cgp9KShqUXVlcnksIHdpbmRvdyk7]]></data>
	</file>
	<file>
	  <filename>/framework/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.colorbox.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8gQ29sb3JCb3ggdjEuMy4yMC4xIC0galF1ZXJ5IGxpZ2h0Ym94IHBsdWdpbgovLyAoYykgMjAxMSBKYWNrIE1vb3JlIC0gamFja2xtb29yZS5jb20KLy8gTGljZW5zZTogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKKGZ1bmN0aW9uICgkLCBkb2N1bWVudCwgd2luZG93KSB7Cgl2YXIKCS8vIERlZmF1bHQgc2V0dGluZ3Mgb2JqZWN0LgoJLy8gU2VlIGh0dHA6Ly9qYWNrbG1vb3JlLmNvbS9jb2xvcmJveCBmb3IgZGV0YWlscy4KCWRlZmF1bHRzID0gewoJCXRyYW5zaXRpb246ICJlbGFzdGljIiwKCQlzcGVlZDogMzAwLAoJCXdpZHRoOiBmYWxzZSwKCQlpbml0aWFsV2lkdGg6ICI2MDAiLAoJCWlubmVyV2lkdGg6IGZhbHNlLAoJCW1heFdpZHRoOiBmYWxzZSwKCQloZWlnaHQ6IGZhbHNlLAoJCWluaXRpYWxIZWlnaHQ6ICI0NTAiLAoJCWlubmVySGVpZ2h0OiBmYWxzZSwKCQltYXhIZWlnaHQ6IGZhbHNlLAoJCXNjYWxlUGhvdG9zOiB0cnVlLAoJCXNjcm9sbGluZzogdHJ1ZSwKCQlpbmxpbmU6IGZhbHNlLAoJCWh0bWw6IGZhbHNlLAoJCWlmcmFtZTogZmFsc2UsCgkJZmFzdElmcmFtZTogdHJ1ZSwKCQlwaG90bzogZmFsc2UsCgkJaHJlZjogZmFsc2UsCgkJdGl0bGU6IGZhbHNlLAoJCXJlbDogZmFsc2UsCgkJb3BhY2l0eTogMC45LAoJCXByZWxvYWRpbmc6IHRydWUsCgoJCWN1cnJlbnQ6ICJpbWFnZSB7Y3VycmVudH0gb2Yge3RvdGFsfSIsCgkJcHJldmlvdXM6ICJwcmV2aW91cyIsCgkJbmV4dDogIm5leHQiLAoJCWNsb3NlOiAiY2xvc2UiLAoJCXhockVycm9yOiAiVGhpcyBjb250ZW50IGZhaWxlZCB0byBsb2FkLiIsCgkJaW1nRXJyb3I6ICJUaGlzIGltYWdlIGZhaWxlZCB0byBsb2FkLiIsCgoJCW9wZW46IGZhbHNlLAoJCXJldHVybkZvY3VzOiB0cnVlLAoJCXJlcG9zaXRpb246IHRydWUsCgkJbG9vcDogdHJ1ZSwKCQlzbGlkZXNob3c6IGZhbHNlLAoJCXNsaWRlc2hvd0F1dG86IHRydWUsCgkJc2xpZGVzaG93U3BlZWQ6IDI1MDAsCgkJc2xpZGVzaG93U3RhcnQ6ICJzdGFydCBzbGlkZXNob3ciLAoJCXNsaWRlc2hvd1N0b3A6ICJzdG9wIHNsaWRlc2hvdyIsCgkJb25PcGVuOiBmYWxzZSwKCQlvbkxvYWQ6IGZhbHNlLAoJCW9uQ29tcGxldGU6IGZhbHNlLAoJCW9uQ2xlYW51cDogZmFsc2UsCgkJb25DbG9zZWQ6IGZhbHNlLAoJCW92ZXJsYXlDbG9zZTogdHJ1ZSwKCQllc2NLZXk6IHRydWUsCgkJYXJyb3dLZXk6IHRydWUsCgkJdG9wOiBmYWxzZSwKCQlib3R0b206IGZhbHNlLAoJCWxlZnQ6IGZhbHNlLAoJCXJpZ2h0OiBmYWxzZSwKCQlmaXhlZDogZmFsc2UsCgkJZGF0YTogdW5kZWZpbmVkCgl9LAoJCgkvLyBBYnN0cmFjdGluZyB0aGUgSFRNTCBhbmQgZXZlbnQgaWRlbnRpZmllcnMgZm9yIGVhc3kgcmVicmFuZGluZwoJY29sb3Jib3ggPSAnY29sb3Jib3gnLAoJcHJlZml4ID0gJ2Nib3gnLAoJYm94RWxlbWVudCA9IHByZWZpeCArICdFbGVtZW50JywKCQoJLy8gRXZlbnRzCglldmVudF9vcGVuID0gcHJlZml4ICsgJ19vcGVuJywKCWV2ZW50X2xvYWQgPSBwcmVmaXggKyAnX2xvYWQnLAoJZXZlbnRfY29tcGxldGUgPSBwcmVmaXggKyAnX2NvbXBsZXRlJywKCWV2ZW50X2NsZWFudXAgPSBwcmVmaXggKyAnX2NsZWFudXAnLAoJZXZlbnRfY2xvc2VkID0gcHJlZml4ICsgJ19jbG9zZWQnLAoJZXZlbnRfcHVyZ2UgPSBwcmVmaXggKyAnX3B1cmdlJywKCQoJLy8gU3BlY2lhbCBIYW5kbGluZyBmb3IgSUUKCWlzSUUgPSAhJC5zdXBwb3J0Lm9wYWNpdHkgJiYgISQuc3VwcG9ydC5zdHlsZSwgLy8gSUU3ICYgSUU4Cglpc0lFNiA9IGlzSUUgJiYgIXdpbmRvdy5YTUxIdHRwUmVxdWVzdCwgLy8gSUU2CglldmVudF9pZTYgPSBwcmVmaXggKyAnX0lFNicsCgoJLy8gQ2FjaGVkIGpRdWVyeSBPYmplY3QgVmFyaWFibGVzCgkkb3ZlcmxheSwKCSRib3gsCgkkd3JhcCwKCSRjb250ZW50LAoJJHRvcEJvcmRlciwKCSRsZWZ0Qm9yZGVyLAoJJHJpZ2h0Qm9yZGVyLAoJJGJvdHRvbUJvcmRlciwKCSRyZWxhdGVkLAoJJHdpbmRvdywKCSRsb2FkZWQsCgkkbG9hZGluZ0JheSwKCSRsb2FkaW5nT3ZlcmxheSwKCSR0aXRsZSwKCSRjdXJyZW50LAoJJHNsaWRlc2hvdywKCSRuZXh0LAoJJHByZXYsCgkkY2xvc2UsCgkkZ3JvdXBDb250cm9scywKCQoJLy8gVmFyaWFibGVzIGZvciBjYWNoZWQgdmFsdWVzIG9yIHVzZSBhY3Jvc3MgbXVsdGlwbGUgZnVuY3Rpb25zCglzZXR0aW5ncywKCWludGVyZmFjZUhlaWdodCwKCWludGVyZmFjZVdpZHRoLAoJbG9hZGVkSGVpZ2h0LAoJbG9hZGVkV2lkdGgsCgllbGVtZW50LAoJaW5kZXgsCglwaG90bywKCW9wZW4sCglhY3RpdmUsCgljbG9zaW5nLAoJbG9hZGluZ1RpbWVyLAoJcHVibGljTWV0aG9kLAoJZGl2ID0gImRpdiIsCglpbml0OwoKCS8vICoqKioqKioqKioqKioqKioKCS8vIEhFTFBFUiBGVU5DVElPTlMKCS8vICoqKioqKioqKioqKioqKioKCQoJLy8gQ29udmllbmNlIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBuZXcgalF1ZXJ5IG9iamVjdHMKCWZ1bmN0aW9uICR0YWcodGFnLCBpZCwgY3NzKSB7CgkJdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7CgoJCWlmIChpZCkgewoJCQllbGVtZW50LmlkID0gcHJlZml4ICsgaWQ7CgkJfQoKCQlpZiAoY3NzKSB7CgkJCWVsZW1lbnQuc3R5bGUuY3NzVGV4dCA9IGNzczsKCQl9CgoJCXJldHVybiAkKGVsZW1lbnQpOwoJfQoKCS8vIERldGVybWluZSB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbWVtYmVycyBpbiBhIGdyb3VwLgoJZnVuY3Rpb24gZ2V0SW5kZXgoaW5jcmVtZW50KSB7CgkJdmFyCgkJbWF4ID0gJHJlbGF0ZWQubGVuZ3RoLAoJCW5ld0luZGV4ID0gKGluZGV4ICsgaW5jcmVtZW50KSAlIG1heDsKCQkKCQlyZXR1cm4gKG5ld0luZGV4IDwgMCkgPyBtYXggKyBuZXdJbmRleCA6IG5ld0luZGV4OwoJfQoKCS8vIENvbnZlcnQgJyUnIGFuZCAncHgnIHZhbHVlcyB0byBpbnRlZ2VycwoJZnVuY3Rpb24gc2V0U2l6ZShzaXplLCBkaW1lbnNpb24pIHsKCQlyZXR1cm4gTWF0aC5yb3VuZCgoLyUvLnRlc3Qoc2l6ZSkgPyAoKGRpbWVuc2lvbiA9PT0gJ3gnID8gd2luV2lkdGgoKSA6IHdpbkhlaWdodCgpKSAvIDEwMCkgOiAxKSAqIHBhcnNlSW50KHNpemUsIDEwKSk7Cgl9CgkKCS8vIENoZWNrcyBhbiBocmVmIHRvIHNlZSBpZiBpdCBpcyBhIHBob3RvLgoJLy8gVGhlcmUgaXMgYSBmb3JjZSBwaG90byBvcHRpb24gKHBob3RvOiB0cnVlKSBmb3IgaHJlZnMgdGhhdCBjYW5ub3QgYmUgbWF0Y2hlZCBieSB0aGlzIHJlZ2V4LgoJZnVuY3Rpb24gaXNJbWFnZSh1cmwpIHsKCQlyZXR1cm4gc2V0dGluZ3MucGhvdG8gfHwgL1wuKGdpZnxwbmd8anAoZXxnfGVnKXxibXB8aWNvKSgoI3xcPykuKik/JC9pLnRlc3QodXJsKTsKCX0KCQoJZnVuY3Rpb24gd2luV2lkdGgoKSB7CgkJLy8gJCh3aW5kb3cpLndpZHRoKCkgaXMgaW5jb3JyZWN0IGZvciBzb21lIG1vYmlsZSBicm93c2VycywgYnV0CgkJLy8gd2luZG93LmlubmVyV2lkdGggaXMgdW5zdXBwb3J0ZWQgaW4gSUU4IGFuZCBsb3dlci4KCQlyZXR1cm4gd2luZG93LmlubmVyV2lkdGggfHwgJHdpbmRvdy53aWR0aCgpOwoJfQoKCWZ1bmN0aW9uIHdpbkhlaWdodCgpIHsKCQlyZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IHx8ICR3aW5kb3cuaGVpZ2h0KCk7Cgl9CgoJLy8gQXNzaWducyBmdW5jdGlvbiByZXN1bHRzIHRvIHRoZWlyIHJlc3BlY3RpdmUgcHJvcGVydGllcwoJZnVuY3Rpb24gbWFrZVNldHRpbmdzKCkgewoJCXZhciBpLAoJCQlkYXRhID0gJC5kYXRhKGVsZW1lbnQsIGNvbG9yYm94KTsKCQkKCQlpZiAoZGF0YSA9PSBudWxsKSB7CgkJCXNldHRpbmdzID0gJC5leHRlbmQoe30sIGRlZmF1bHRzKTsKCQkJaWYgKGNvbnNvbGUgJiYgY29uc29sZS5sb2cpIHsKCQkJCWNvbnNvbGUubG9nKCdFcnJvcjogY2JveEVsZW1lbnQgbWlzc2luZyBzZXR0aW5ncyBvYmplY3QnKTsKCQkJfQoJCX0gZWxzZSB7CgkJCXNldHRpbmdzID0gJC5leHRlbmQoe30sIGRhdGEpOwoJCX0KCQkKCQlmb3IgKGkgaW4gc2V0dGluZ3MpIHsKCQkJaWYgKCQuaXNGdW5jdGlvbihzZXR0aW5nc1tpXSkgJiYgaS5zbGljZSgwLCAyKSAhPT0gJ29uJykgeyAvLyBjaGVja3MgdG8gbWFrZSBzdXJlIHRoZSBmdW5jdGlvbiBpc24ndCBvbmUgb2YgdGhlIGNhbGxiYWNrcywgdGhleSB3aWxsIGJlIGhhbmRsZWQgYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUuCgkJCQlzZXR0aW5nc1tpXSA9IHNldHRpbmdzW2ldLmNhbGwoZWxlbWVudCk7CgkJCX0KCQl9CgkJCgkJc2V0dGluZ3MucmVsID0gc2V0dGluZ3MucmVsIHx8IGVsZW1lbnQucmVsIHx8ICQoZWxlbWVudCkuZGF0YSgncmVsJykgfHwgJ25vZm9sbG93JzsKCQlzZXR0aW5ncy5ocmVmID0gc2V0dGluZ3MuaHJlZiB8fCAkKGVsZW1lbnQpLmF0dHIoJ2hyZWYnKTsKCQlzZXR0aW5ncy50aXRsZSA9IHNldHRpbmdzLnRpdGxlIHx8IGVsZW1lbnQudGl0bGU7CgkJCgkJaWYgKHR5cGVvZiBzZXR0aW5ncy5ocmVmID09PSAic3RyaW5nIikgewoJCQlzZXR0aW5ncy5ocmVmID0gJC50cmltKHNldHRpbmdzLmhyZWYpOwoJCX0KCX0KCglmdW5jdGlvbiB0cmlnZ2VyKGV2ZW50LCBjYWxsYmFjaykgewoJCSQuZXZlbnQudHJpZ2dlcihldmVudCk7CgkJaWYgKGNhbGxiYWNrKSB7CgkJCWNhbGxiYWNrLmNhbGwoZWxlbWVudCk7CgkJfQoJfQoKCS8vIFNsaWRlc2hvdyBmdW5jdGlvbmFsaXR5CglmdW5jdGlvbiBzbGlkZXNob3coKSB7CgkJdmFyCgkJdGltZU91dCwKCQljbGFzc05hbWUgPSBwcmVmaXggKyAiU2xpZGVzaG93XyIsCgkJY2xpY2sgPSAiY2xpY2suIiArIHByZWZpeCwKCQlzdGFydCwKCQlzdG9wLAoJCWNsZWFyOwoJCQoJCWlmIChzZXR0aW5ncy5zbGlkZXNob3cgJiYgJHJlbGF0ZWRbMV0pIHsKCQkJc3RhcnQgPSBmdW5jdGlvbiAoKSB7CgkJCQkkc2xpZGVzaG93CgkJCQkJLnRleHQoc2V0dGluZ3Muc2xpZGVzaG93U3RvcCkKCQkJCQkudW5iaW5kKGNsaWNrKQoJCQkJCS5iaW5kKGV2ZW50X2NvbXBsZXRlLCBmdW5jdGlvbiAoKSB7CgkJCQkJCWlmIChzZXR0aW5ncy5sb29wIHx8ICRyZWxhdGVkW2luZGV4ICsgMV0pIHsKCQkJCQkJCXRpbWVPdXQgPSBzZXRUaW1lb3V0KHB1YmxpY01ldGhvZC5uZXh0LCBzZXR0aW5ncy5zbGlkZXNob3dTcGVlZCk7CgkJCQkJCX0KCQkJCQl9KQoJCQkJCS5iaW5kKGV2ZW50X2xvYWQsIGZ1bmN0aW9uICgpIHsKCQkJCQkJY2xlYXJUaW1lb3V0KHRpbWVPdXQpOwoJCQkJCX0pCgkJCQkJLm9uZShjbGljayArICcgJyArIGV2ZW50X2NsZWFudXAsIHN0b3ApOwoJCQkJJGJveC5yZW1vdmVDbGFzcyhjbGFzc05hbWUgKyAib2ZmIikuYWRkQ2xhc3MoY2xhc3NOYW1lICsgIm9uIik7CgkJCQl0aW1lT3V0ID0gc2V0VGltZW91dChwdWJsaWNNZXRob2QubmV4dCwgc2V0dGluZ3Muc2xpZGVzaG93U3BlZWQpOwoJCQl9OwoJCQkKCQkJc3RvcCA9IGZ1bmN0aW9uICgpIHsKCQkJCWNsZWFyVGltZW91dCh0aW1lT3V0KTsKCQkJCSRzbGlkZXNob3cKCQkJCQkudGV4dChzZXR0aW5ncy5zbGlkZXNob3dTdGFydCkKCQkJCQkudW5iaW5kKFtldmVudF9jb21wbGV0ZSwgZXZlbnRfbG9hZCwgZXZlbnRfY2xlYW51cCwgY2xpY2tdLmpvaW4oJyAnKSkKCQkJCQkub25lKGNsaWNrLCBmdW5jdGlvbiAoKSB7CgkJCQkJCXB1YmxpY01ldGhvZC5uZXh0KCk7CgkJCQkJCXN0YXJ0KCk7CgkJCQkJfSk7CgkJCQkkYm94LnJlbW92ZUNsYXNzKGNsYXNzTmFtZSArICJvbiIpLmFkZENsYXNzKGNsYXNzTmFtZSArICJvZmYiKTsKCQkJfTsKCQkJCgkJCWlmIChzZXR0aW5ncy5zbGlkZXNob3dBdXRvKSB7CgkJCQlzdGFydCgpOwoJCQl9IGVsc2UgewoJCQkJc3RvcCgpOwoJCQl9CgkJfSBlbHNlIHsKCQkJJGJveC5yZW1vdmVDbGFzcyhjbGFzc05hbWUgKyAib2ZmICIgKyBjbGFzc05hbWUgKyAib24iKTsKCQl9Cgl9CgoJZnVuY3Rpb24gbGF1bmNoKHRhcmdldCkgewoJCWlmICghY2xvc2luZykgewoJCQkKCQkJZWxlbWVudCA9IHRhcmdldDsKCQkJCgkJCW1ha2VTZXR0aW5ncygpOwoJCQkKCQkJJHJlbGF0ZWQgPSAkKGVsZW1lbnQpOwoJCQkKCQkJaW5kZXggPSAwOwoJCQkKCQkJaWYgKHNldHRpbmdzLnJlbCAhPT0gJ25vZm9sbG93JykgewoJCQkJJHJlbGF0ZWQgPSAkKCcuJyArIGJveEVsZW1lbnQpLmZpbHRlcihmdW5jdGlvbiAoKSB7CgkJCQkJdmFyIGRhdGEgPSAkLmRhdGEodGhpcywgY29sb3Jib3gpLAoJCQkJCQlyZWxSZWxhdGVkOwoKCQkJCQlpZiAoZGF0YSkgewoJCQkJCQlyZWxSZWxhdGVkID0gICQodGhpcykuZGF0YSgncmVsJykgfHwgZGF0YS5yZWwgfHwgdGhpcy5yZWw7CgkJCQkJfQoJCQkJCQoJCQkJCXJldHVybiAocmVsUmVsYXRlZCA9PT0gc2V0dGluZ3MucmVsKTsKCQkJCX0pOwoJCQkJaW5kZXggPSAkcmVsYXRlZC5pbmRleChlbGVtZW50KTsKCQkJCQoJCQkJLy8gQ2hlY2sgZGlyZWN0IGNhbGxzIHRvIENvbG9yQm94LgoJCQkJaWYgKGluZGV4ID09PSAtMSkgewoJCQkJCSRyZWxhdGVkID0gJHJlbGF0ZWQuYWRkKGVsZW1lbnQpOwoJCQkJCWluZGV4ID0gJHJlbGF0ZWQubGVuZ3RoIC0gMTsKCQkJCX0KCQkJfQoJCQkKCQkJaWYgKCFvcGVuKSB7CgkJCQlvcGVuID0gYWN0aXZlID0gdHJ1ZTsgLy8gUHJldmVudHMgdGhlIHBhZ2UtY2hhbmdlIGFjdGlvbiBmcm9tIHF1ZXVpbmcgdXAgaWYgdGhlIHZpc2l0b3IgaG9sZHMgZG93biB0aGUgbGVmdCBvciByaWdodCBrZXlzLgoJCQkJCgkJCQkkYm94LnNob3coKTsKCQkJCQoJCQkJaWYgKHNldHRpbmdzLnJldHVybkZvY3VzKSB7CgkJCQkJJChlbGVtZW50KS5ibHVyKCkub25lKGV2ZW50X2Nsb3NlZCwgZnVuY3Rpb24gKCkgewoJCQkJCQkkKHRoaXMpLmZvY3VzKCk7CgkJCQkJfSk7CgkJCQl9CgkJCQkKCQkJCS8vICtzZXR0aW5ncy5vcGFjaXR5IGF2b2lkcyBhIHByb2JsZW0gaW4gSUUgd2hlbiB1c2luZyBub24temVyby1wcmVmaXhlZC1zdHJpbmctdmFsdWVzLCBsaWtlICcuNScKCQkJCSRvdmVybGF5LmNzcyh7Im9wYWNpdHkiOiArc2V0dGluZ3Mub3BhY2l0eSwgImN1cnNvciI6IHNldHRpbmdzLm92ZXJsYXlDbG9zZSA/ICJwb2ludGVyIiA6ICJhdXRvIn0pLnNob3coKTsKCQkJCQoJCQkJLy8gT3BlbnMgaW5pdGFsIGVtcHR5IENvbG9yQm94IHByaW9yIHRvIGNvbnRlbnQgYmVpbmcgbG9hZGVkLgoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUoc2V0dGluZ3MuaW5pdGlhbFdpZHRoLCAneCcpOwoJCQkJc2V0dGluZ3MuaCA9IHNldFNpemUoc2V0dGluZ3MuaW5pdGlhbEhlaWdodCwgJ3knKTsKCQkJCXB1YmxpY01ldGhvZC5wb3NpdGlvbigpOwoJCQkJCgkJCQlpZiAoaXNJRTYpIHsKCQkJCQkkd2luZG93LmJpbmQoJ3Jlc2l6ZS4nICsgZXZlbnRfaWU2ICsgJyBzY3JvbGwuJyArIGV2ZW50X2llNiwgZnVuY3Rpb24gKCkgewoJCQkJCQkkb3ZlcmxheS5jc3Moe3dpZHRoOiB3aW5XaWR0aCgpLCBoZWlnaHQ6IHdpbkhlaWdodCgpLCB0b3A6ICR3aW5kb3cuc2Nyb2xsVG9wKCksIGxlZnQ6ICR3aW5kb3cuc2Nyb2xsTGVmdCgpfSk7CgkJCQkJfSkudHJpZ2dlcigncmVzaXplLicgKyBldmVudF9pZTYpOwoJCQkJfQoJCQkJCgkJCQl0cmlnZ2VyKGV2ZW50X29wZW4sIHNldHRpbmdzLm9uT3Blbik7CgkJCQkKCQkJCSRncm91cENvbnRyb2xzLmFkZCgkdGl0bGUpLmhpZGUoKTsKCQkJCQoJCQkJJGNsb3NlLmh0bWwoc2V0dGluZ3MuY2xvc2UpLnNob3coKTsKCQkJfQoJCQkKCQkJcHVibGljTWV0aG9kLmxvYWQodHJ1ZSk7CgkJfQoJfQoKCS8vIENvbG9yQm94J3MgbWFya3VwIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00gcHJpb3IgdG8gYmVpbmcgY2FsbGVkCgkvLyBzbyB0aGF0IHRoZSBicm93c2VyIHdpbGwgZ28gYWhlYWQgYW5kIGxvYWQgdGhlIENTUyBiYWNrZ3JvdW5kIGltYWdlcy4KCWZ1bmN0aW9uIGFwcGVuZEhUTUwoKSB7CgkJaWYgKCEkYm94ICYmIGRvY3VtZW50LmJvZHkpIHsKCQkJaW5pdCA9IGZhbHNlOwoKCQkJJHdpbmRvdyA9ICQod2luZG93KTsKCQkJJGJveCA9ICR0YWcoZGl2KS5hdHRyKHtpZDogY29sb3Jib3gsICdjbGFzcyc6IGlzSUUgPyBwcmVmaXggKyAoaXNJRTYgPyAnSUU2JyA6ICdJRScpIDogJyd9KS5oaWRlKCk7CgkJCSRvdmVybGF5ID0gJHRhZyhkaXYsICJPdmVybGF5IiwgaXNJRTYgPyAncG9zaXRpb246YWJzb2x1dGUnIDogJycpLmhpZGUoKTsKCQkJJGxvYWRpbmdPdmVybGF5ID0gJHRhZyhkaXYsICJMb2FkaW5nT3ZlcmxheSIpLmFkZCgkdGFnKGRpdiwgIkxvYWRpbmdHcmFwaGljIikpOwoJCQkkd3JhcCA9ICR0YWcoZGl2LCAiV3JhcHBlciIpOwoJCQkkY29udGVudCA9ICR0YWcoZGl2LCAiQ29udGVudCIpLmFwcGVuZCgKCQkJCSRsb2FkZWQgPSAkdGFnKGRpdiwgIkxvYWRlZENvbnRlbnQiLCAnd2lkdGg6MDsgaGVpZ2h0OjA7IG92ZXJmbG93OmhpZGRlbicpLAoJCQkJJHRpdGxlID0gJHRhZyhkaXYsICJUaXRsZSIpLAoJCQkJJGN1cnJlbnQgPSAkdGFnKGRpdiwgIkN1cnJlbnQiKSwKCQkJCSRuZXh0ID0gJHRhZyhkaXYsICJOZXh0IiksCgkJCQkkcHJldiA9ICR0YWcoZGl2LCAiUHJldmlvdXMiKSwKCQkJCSRzbGlkZXNob3cgPSAkdGFnKGRpdiwgIlNsaWRlc2hvdyIpLmJpbmQoZXZlbnRfb3Blbiwgc2xpZGVzaG93KSwKCQkJCSRjbG9zZSA9ICR0YWcoZGl2LCAiQ2xvc2UiKQoJCQkpOwoJCQkKCQkJJHdyYXAuYXBwZW5kKCAvLyBUaGUgM3gzIEdyaWQgdGhhdCBtYWtlcyB1cCBDb2xvckJveAoJCQkJJHRhZyhkaXYpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIlRvcExlZnQiKSwKCQkJCQkkdG9wQm9yZGVyID0gJHRhZyhkaXYsICJUb3BDZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIlRvcFJpZ2h0IikKCQkJCSksCgkJCQkkdGFnKGRpdiwgZmFsc2UsICdjbGVhcjpsZWZ0JykuYXBwZW5kKAoJCQkJCSRsZWZ0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVMZWZ0IiksCgkJCQkJJGNvbnRlbnQsCgkJCQkJJHJpZ2h0Qm9yZGVyID0gJHRhZyhkaXYsICJNaWRkbGVSaWdodCIpCgkJCQkpLAoJCQkJJHRhZyhkaXYsIGZhbHNlLCAnY2xlYXI6bGVmdCcpLmFwcGVuZCgKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbUxlZnQiKSwKCQkJCQkkYm90dG9tQm9yZGVyID0gJHRhZyhkaXYsICJCb3R0b21DZW50ZXIiKSwKCQkJCQkkdGFnKGRpdiwgIkJvdHRvbVJpZ2h0IikKCQkJCSkKCQkJKS5maW5kKCdkaXYgZGl2JykuY3NzKHsnZmxvYXQnOiAnbGVmdCd9KTsKCQkJCgkJCSRsb2FkaW5nQmF5ID0gJHRhZyhkaXYsIGZhbHNlLCAncG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjk5OTlweDsgdmlzaWJpbGl0eTpoaWRkZW47IGRpc3BsYXk6bm9uZScpOwoJCQkKCQkJJGdyb3VwQ29udHJvbHMgPSAkbmV4dC5hZGQoJHByZXYpLmFkZCgkY3VycmVudCkuYWRkKCRzbGlkZXNob3cpOwoKCQkJJChkb2N1bWVudC5ib2R5KS5hcHBlbmQoJG92ZXJsYXksICRib3guYXBwZW5kKCR3cmFwLCAkbG9hZGluZ0JheSkpOwoJCX0KCX0KCgkvLyBBZGQgQ29sb3JCb3gncyBldmVudCBiaW5kaW5ncwoJZnVuY3Rpb24gYWRkQmluZGluZ3MoKSB7CgkJaWYgKCRib3gpIHsKCQkJaWYgKCFpbml0KSB7CgkJCQlpbml0ID0gdHJ1ZTsKCgkJCQkvLyBDYWNoZSB2YWx1ZXMgbmVlZGVkIGZvciBzaXplIGNhbGN1bGF0aW9ucwoJCQkJaW50ZXJmYWNlSGVpZ2h0ID0gJHRvcEJvcmRlci5oZWlnaHQoKSArICRib3R0b21Cb3JkZXIuaGVpZ2h0KCkgKyAkY29udGVudC5vdXRlckhlaWdodCh0cnVlKSAtICRjb250ZW50LmhlaWdodCgpOy8vU3VidHJhY3Rpb24gbmVlZGVkIGZvciBJRTYKCQkJCWludGVyZmFjZVdpZHRoID0gJGxlZnRCb3JkZXIud2lkdGgoKSArICRyaWdodEJvcmRlci53aWR0aCgpICsgJGNvbnRlbnQub3V0ZXJXaWR0aCh0cnVlKSAtICRjb250ZW50LndpZHRoKCk7CgkJCQlsb2FkZWRIZWlnaHQgPSAkbG9hZGVkLm91dGVySGVpZ2h0KHRydWUpOwoJCQkJbG9hZGVkV2lkdGggPSAkbG9hZGVkLm91dGVyV2lkdGgodHJ1ZSk7CgkJCQkKCQkJCS8vIFNldHRpbmcgcGFkZGluZyB0byByZW1vdmUgdGhlIG5lZWQgdG8gZG8gc2l6ZSBjb252ZXJzaW9ucyBkdXJpbmcgdGhlIGFuaW1hdGlvbiBzdGVwLgoJCQkJJGJveC5jc3MoeyJwYWRkaW5nLWJvdHRvbSI6IGludGVyZmFjZUhlaWdodCwgInBhZGRpbmctcmlnaHQiOiBpbnRlcmZhY2VXaWR0aH0pOwoKCQkJCS8vIEFub255bW91cyBmdW5jdGlvbnMgaGVyZSBrZWVwIHRoZSBwdWJsaWMgbWV0aG9kIGZyb20gYmVpbmcgY2FjaGVkLCB0aGVyZWJ5IGFsbG93aW5nIHRoZW0gdG8gYmUgcmVkZWZpbmVkIG9uIHRoZSBmbHkuCgkJCQkkbmV4dC5jbGljayhmdW5jdGlvbiAoKSB7CgkJCQkJcHVibGljTWV0aG9kLm5leHQoKTsKCQkJCX0pOwoJCQkJJHByZXYuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkJCXB1YmxpY01ldGhvZC5wcmV2KCk7CgkJCQl9KTsKCQkJCSRjbG9zZS5jbGljayhmdW5jdGlvbiAoKSB7CgkJCQkJcHVibGljTWV0aG9kLmNsb3NlKCk7CgkJCQl9KTsKCQkJCSRvdmVybGF5LmNsaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQlpZiAoc2V0dGluZ3Mub3ZlcmxheUNsb3NlKSB7CgkJCQkJCXB1YmxpY01ldGhvZC5jbG9zZSgpOwoJCQkJCX0KCQkJCX0pOwoJCQkJCgkJCQkvLyBLZXkgQmluZGluZ3MKCQkJCSQoZG9jdW1lbnQpLmJpbmQoJ2tleWRvd24uJyArIHByZWZpeCwgZnVuY3Rpb24gKGUpIHsKCQkJCQl2YXIga2V5ID0gZS5rZXlDb2RlOwoJCQkJCWlmIChvcGVuICYmIHNldHRpbmdzLmVzY0tleSAmJiBrZXkgPT09IDI3KSB7CgkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJcHVibGljTWV0aG9kLmNsb3NlKCk7CgkJCQkJfQoJCQkJCWlmIChvcGVuICYmIHNldHRpbmdzLmFycm93S2V5ICYmICRyZWxhdGVkWzFdKSB7CgkJCQkJCWlmIChrZXkgPT09IDM3KSB7CgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCQkkcHJldi5jbGljaygpOwoJCQkJCQl9IGVsc2UgaWYgKGtleSA9PT0gMzkpIHsKCQkJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQkJCSRuZXh0LmNsaWNrKCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9KTsKCgkJCQkkKCcuJyArIGJveEVsZW1lbnQsIGRvY3VtZW50KS5saXZlKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CgkJCQkJLy8gaWdub3JlIG5vbi1sZWZ0LW1vdXNlLWNsaWNrcyBhbmQgY2xpY2tzIG1vZGlmaWVkIHdpdGggY3RybCAvIGNvbW1hbmQsIHNoaWZ0LCBvciBhbHQuCgkJCQkJLy8gU2VlOiBodHRwOi8vamFja2xtb29yZS5jb20vbm90ZXMvY2xpY2stZXZlbnRzLwoJCQkJCWlmICghKGUud2hpY2ggPiAxIHx8IGUuc2hpZnRLZXkgfHwgZS5hbHRLZXkgfHwgZS5tZXRhS2V5KSkgewoJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCWxhdW5jaCh0aGlzKTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQoKCS8vIERvbid0IGRvIGFueXRoaW5nIGlmIENvbG9yQm94IGFscmVhZHkgZXhpc3RzLgoJaWYgKCQuY29sb3Jib3gpIHsKCQlyZXR1cm47Cgl9CgoJLy8gQXBwZW5kIHRoZSBIVE1MIHdoZW4gdGhlIERPTSBsb2FkcwoJJChhcHBlbmRIVE1MKTsKCgoJLy8gKioqKioqKioqKioqKioqKgoJLy8gUFVCTElDIEZVTkNUSU9OUwoJLy8gVXNhZ2UgZm9ybWF0OiAkLmZuLmNvbG9yYm94LmNsb3NlKCk7CgkvLyBVc2FnZSBmcm9tIHdpdGhpbiBhbiBpZnJhbWU6IHBhcmVudC4kLmZuLmNvbG9yYm94LmNsb3NlKCk7CgkvLyAqKioqKioqKioqKioqKioqCgkKCXB1YmxpY01ldGhvZCA9ICQuZm5bY29sb3Jib3hdID0gJFtjb2xvcmJveF0gPSBmdW5jdGlvbiAob3B0aW9ucywgY2FsbGJhY2spIHsKCQl2YXIgJHRoaXMgPSB0aGlzOwoJCQoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoJCQoJCWFwcGVuZEhUTUwoKTsKCgkJaWYgKGFkZEJpbmRpbmdzKCkpIHsKCQkJaWYgKCEkdGhpc1swXSkgewoJCQkJaWYgKCR0aGlzLnNlbGVjdG9yKSB7IC8vIGlmIGEgc2VsZWN0b3Igd2FzIGdpdmVuIGFuZCBpdCBkaWRuJ3QgbWF0Y2ggYW55IGVsZW1lbnRzLCBnbyBhaGVhZCBhbmQgZXhpdC4KCQkJCQlyZXR1cm4gJHRoaXM7CgkJCQl9CgkJCQkvLyBpZiBubyBzZWxlY3RvciB3YXMgZ2l2ZW4gKGllLiAkLmNvbG9yYm94KCkpLCBjcmVhdGUgYSB0ZW1wb3JhcnkgZWxlbWVudCB0byB3b3JrIHdpdGgKCQkJCSR0aGlzID0gJCgnPGEvPicpOwoJCQkJb3B0aW9ucy5vcGVuID0gdHJ1ZTsgLy8gYXNzdW1lIGFuIGltbWVkaWF0ZSBvcGVuCgkJCX0KCQkJCgkJCWlmIChjYWxsYmFjaykgewoJCQkJb3B0aW9ucy5vbkNvbXBsZXRlID0gY2FsbGJhY2s7CgkJCX0KCQkJCgkJCSR0aGlzLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJJC5kYXRhKHRoaXMsIGNvbG9yYm94LCAkLmV4dGVuZCh7fSwgJC5kYXRhKHRoaXMsIGNvbG9yYm94KSB8fCBkZWZhdWx0cywgb3B0aW9ucykpOwoJCQl9KS5hZGRDbGFzcyhib3hFbGVtZW50KTsKCQkJCgkJCWlmICgoJC5pc0Z1bmN0aW9uKG9wdGlvbnMub3BlbikgJiYgb3B0aW9ucy5vcGVuLmNhbGwoJHRoaXMpKSB8fCBvcHRpb25zLm9wZW4pIHsKCQkJCWxhdW5jaCgkdGhpc1swXSk7CgkJCX0KCQl9CgkJCgkJcmV0dXJuICR0aGlzOwoJfTsKCglwdWJsaWNNZXRob2QucG9zaXRpb24gPSBmdW5jdGlvbiAoc3BlZWQsIGxvYWRlZENhbGxiYWNrKSB7CgkJdmFyCgkJY3NzLAoJCXRvcCA9IDAsCgkJbGVmdCA9IDAsCgkJb2Zmc2V0ID0gJGJveC5vZmZzZXQoKSwKCQlzY3JvbGxUb3AsCgkJc2Nyb2xsTGVmdDsKCQkKCQkkd2luZG93LnVuYmluZCgncmVzaXplLicgKyBwcmVmaXgpOwoKCQkvLyByZW1vdmUgdGhlIG1vZGFsIHNvIHRoYXQgaXQgZG9lc24ndCBpbmZsdWVuY2UgdGhlIGRvY3VtZW50IHdpZHRoL2hlaWdodAoJCSRib3guY3NzKHt0b3A6IC05ZTQsIGxlZnQ6IC05ZTR9KTsKCgkJc2Nyb2xsVG9wID0gJHdpbmRvdy5zY3JvbGxUb3AoKTsKCQlzY3JvbGxMZWZ0ID0gJHdpbmRvdy5zY3JvbGxMZWZ0KCk7CgoJCWlmIChzZXR0aW5ncy5maXhlZCAmJiAhaXNJRTYpIHsKCQkJb2Zmc2V0LnRvcCAtPSBzY3JvbGxUb3A7CgkJCW9mZnNldC5sZWZ0IC09IHNjcm9sbExlZnQ7CgkJCSRib3guY3NzKHtwb3NpdGlvbjogJ2ZpeGVkJ30pOwoJCX0gZWxzZSB7CgkJCXRvcCA9IHNjcm9sbFRvcDsKCQkJbGVmdCA9IHNjcm9sbExlZnQ7CgkJCSRib3guY3NzKHtwb3NpdGlvbjogJ2Fic29sdXRlJ30pOwoJCX0KCgkJLy8ga2VlcHMgdGhlIHRvcCBhbmQgbGVmdCBwb3NpdGlvbnMgd2l0aGluIHRoZSBicm93c2VyJ3Mgdmlld3BvcnQuCgkJaWYgKHNldHRpbmdzLnJpZ2h0ICE9PSBmYWxzZSkgewoJCQlsZWZ0ICs9IE1hdGgubWF4KHdpbldpZHRoKCkgLSBzZXR0aW5ncy53IC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCAtIHNldFNpemUoc2V0dGluZ3MucmlnaHQsICd4JyksIDApOwoJCX0gZWxzZSBpZiAoc2V0dGluZ3MubGVmdCAhPT0gZmFsc2UpIHsKCQkJbGVmdCArPSBzZXRTaXplKHNldHRpbmdzLmxlZnQsICd4Jyk7CgkJfSBlbHNlIHsKCQkJbGVmdCArPSBNYXRoLnJvdW5kKE1hdGgubWF4KHdpbldpZHRoKCkgLSBzZXR0aW5ncy53IC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCwgMCkgLyAyKTsKCQl9CgkJCgkJaWYgKHNldHRpbmdzLmJvdHRvbSAhPT0gZmFsc2UpIHsKCQkJdG9wICs9IE1hdGgubWF4KHdpbkhlaWdodCgpIC0gc2V0dGluZ3MuaCAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCAtIHNldFNpemUoc2V0dGluZ3MuYm90dG9tLCAneScpLCAwKTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLnRvcCAhPT0gZmFsc2UpIHsKCQkJdG9wICs9IHNldFNpemUoc2V0dGluZ3MudG9wLCAneScpOwoJCX0gZWxzZSB7CgkJCXRvcCArPSBNYXRoLnJvdW5kKE1hdGgubWF4KHdpbkhlaWdodCgpIC0gc2V0dGluZ3MuaCAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCwgMCkgLyAyKTsKCQl9CgoJCSRib3guY3NzKHt0b3A6IG9mZnNldC50b3AsIGxlZnQ6IG9mZnNldC5sZWZ0fSk7CgoJCS8vIHNldHRpbmcgdGhlIHNwZWVkIHRvIDAgdG8gcmVkdWNlIHRoZSBkZWxheSBiZXR3ZWVuIHNhbWUtc2l6ZWQgY29udGVudC4KCQlzcGVlZCA9ICgkYm94LndpZHRoKCkgPT09IHNldHRpbmdzLncgKyBsb2FkZWRXaWR0aCAmJiAkYm94LmhlaWdodCgpID09PSBzZXR0aW5ncy5oICsgbG9hZGVkSGVpZ2h0KSA/IDAgOiBzcGVlZCB8fCAwOwoJCQoJCS8vIHRoaXMgZ2l2ZXMgdGhlIHdyYXBwZXIgcGxlbnR5IG9mIGJyZWF0aGluZyByb29tIHNvIGl0J3MgZmxvYXRlZCBjb250ZW50cyBjYW4gbW92ZSBhcm91bmQgc21vb3RobHksCgkJLy8gYnV0IGl0IGhhcyB0byBiZSBzaHJhbmsgZG93biBhcm91bmQgdGhlIHNpemUgb2YgZGl2I2NvbG9yYm94IHdoZW4gaXQncyBkb25lLiAgSWYgbm90LAoJCS8vIGl0IGNhbiBpbnZva2UgYW4gb2JzY3VyZSBJRSBidWcgd2hlbiB1c2luZyBpZnJhbWVzLgoJCSR3cmFwWzBdLnN0eWxlLndpZHRoID0gJHdyYXBbMF0uc3R5bGUuaGVpZ2h0ID0gIjk5OTlweCI7CgkJCgkJZnVuY3Rpb24gbW9kYWxEaW1lbnNpb25zKHRoYXQpIHsKCQkJJHRvcEJvcmRlclswXS5zdHlsZS53aWR0aCA9ICRib3R0b21Cb3JkZXJbMF0uc3R5bGUud2lkdGggPSAkY29udGVudFswXS5zdHlsZS53aWR0aCA9IHRoYXQuc3R5bGUud2lkdGg7CgkJCSRjb250ZW50WzBdLnN0eWxlLmhlaWdodCA9ICRsZWZ0Qm9yZGVyWzBdLnN0eWxlLmhlaWdodCA9ICRyaWdodEJvcmRlclswXS5zdHlsZS5oZWlnaHQgPSB0aGF0LnN0eWxlLmhlaWdodDsKCQl9CgoJCWNzcyA9IHt3aWR0aDogc2V0dGluZ3MudyArIGxvYWRlZFdpZHRoLCBoZWlnaHQ6IHNldHRpbmdzLmggKyBsb2FkZWRIZWlnaHQsIHRvcDogdG9wLCBsZWZ0OiBsZWZ0fTsKCQlpZihzcGVlZD09PTApeyAvLyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBzaWRlLXN0ZXAgalF1ZXJ5LVVJIDEuOCBidWcgKGh0dHA6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0LzEyMjczKQoJCQkkYm94LmNzcyhjc3MpOwoJCX0KCQkkYm94LmRlcXVldWUoKS5hbmltYXRlKGNzcywgewoJCQlkdXJhdGlvbjogc3BlZWQsCgkJCWNvbXBsZXRlOiBmdW5jdGlvbiAoKSB7CgkJCQltb2RhbERpbWVuc2lvbnModGhpcyk7CgkJCQkKCQkJCWFjdGl2ZSA9IGZhbHNlOwoJCQkJCgkJCQkvLyBzaHJpbmsgdGhlIHdyYXBwZXIgZG93biB0byBleGFjdGx5IHRoZSBzaXplIG9mIGNvbG9yYm94IHRvIGF2b2lkIGEgYnVnIGluIElFJ3MgaWZyYW1lIGltcGxlbWVudGF0aW9uLgoJCQkJJHdyYXBbMF0uc3R5bGUud2lkdGggPSAoc2V0dGluZ3MudyArIGxvYWRlZFdpZHRoICsgaW50ZXJmYWNlV2lkdGgpICsgInB4IjsKCQkJCSR3cmFwWzBdLnN0eWxlLmhlaWdodCA9IChzZXR0aW5ncy5oICsgbG9hZGVkSGVpZ2h0ICsgaW50ZXJmYWNlSGVpZ2h0KSArICJweCI7CgkJCQkKCQkJCWlmIChzZXR0aW5ncy5yZXBvc2l0aW9uKSB7CgkJCQkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7ICAvLyBzbWFsbCBkZWxheSBiZWZvcmUgYmluZGluZyBvbnJlc2l6ZSBkdWUgdG8gYW4gSUU4IGJ1Zy4KCQkJCQkJJHdpbmRvdy5iaW5kKCdyZXNpemUuJyArIHByZWZpeCwgcHVibGljTWV0aG9kLnBvc2l0aW9uKTsKCQkJCQl9LCAxKTsKCQkJCX0KCgkJCQlpZiAobG9hZGVkQ2FsbGJhY2spIHsKCQkJCQlsb2FkZWRDYWxsYmFjaygpOwoJCQkJfQoJCQl9LAoJCQlzdGVwOiBmdW5jdGlvbiAoKSB7CgkJCQltb2RhbERpbWVuc2lvbnModGhpcyk7CgkJCX0KCQl9KTsKCX07CgoJcHVibGljTWV0aG9kLnJlc2l6ZSA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CgkJaWYgKG9wZW4pIHsKCQkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgkJCQoJCQlpZiAob3B0aW9ucy53aWR0aCkgewoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUob3B0aW9ucy53aWR0aCwgJ3gnKSAtIGxvYWRlZFdpZHRoIC0gaW50ZXJmYWNlV2lkdGg7CgkJCX0KCQkJaWYgKG9wdGlvbnMuaW5uZXJXaWR0aCkgewoJCQkJc2V0dGluZ3MudyA9IHNldFNpemUob3B0aW9ucy5pbm5lcldpZHRoLCAneCcpOwoJCQl9CgkJCSRsb2FkZWQuY3NzKHt3aWR0aDogc2V0dGluZ3Mud30pOwoJCQkKCQkJaWYgKG9wdGlvbnMuaGVpZ2h0KSB7CgkJCQlzZXR0aW5ncy5oID0gc2V0U2l6ZShvcHRpb25zLmhlaWdodCwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodDsKCQkJfQoJCQlpZiAob3B0aW9ucy5pbm5lckhlaWdodCkgewoJCQkJc2V0dGluZ3MuaCA9IHNldFNpemUob3B0aW9ucy5pbm5lckhlaWdodCwgJ3knKTsKCQkJfQoJCQlpZiAoIW9wdGlvbnMuaW5uZXJIZWlnaHQgJiYgIW9wdGlvbnMuaGVpZ2h0KSB7CgkJCQkkbG9hZGVkLmNzcyh7aGVpZ2h0OiAiYXV0byJ9KTsKCQkJCXNldHRpbmdzLmggPSAkbG9hZGVkLmhlaWdodCgpOwoJCQl9CgkJCSRsb2FkZWQuY3NzKHtoZWlnaHQ6IHNldHRpbmdzLmh9KTsKCQkJCgkJCXB1YmxpY01ldGhvZC5wb3NpdGlvbihzZXR0aW5ncy50cmFuc2l0aW9uID09PSAibm9uZSIgPyAwIDogc2V0dGluZ3Muc3BlZWQpOwoJCX0KCX07CgoJcHVibGljTWV0aG9kLnByZXAgPSBmdW5jdGlvbiAob2JqZWN0KSB7CgkJaWYgKCFvcGVuKSB7CgkJCXJldHVybjsKCQl9CgkJCgkJdmFyIGNhbGxiYWNrLCBzcGVlZCA9IHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICJub25lIiA/IDAgOiBzZXR0aW5ncy5zcGVlZDsKCQkKCQkkbG9hZGVkLnJlbW92ZSgpOwoJCSRsb2FkZWQgPSAkdGFnKGRpdiwgJ0xvYWRlZENvbnRlbnQnKS5hcHBlbmQob2JqZWN0KTsKCQkKCQlmdW5jdGlvbiBnZXRXaWR0aCgpIHsKCQkJc2V0dGluZ3MudyA9IHNldHRpbmdzLncgfHwgJGxvYWRlZC53aWR0aCgpOwoJCQlzZXR0aW5ncy53ID0gc2V0dGluZ3MubXcgJiYgc2V0dGluZ3MubXcgPCBzZXR0aW5ncy53ID8gc2V0dGluZ3MubXcgOiBzZXR0aW5ncy53OwoJCQlyZXR1cm4gc2V0dGluZ3MudzsKCQl9CgkJZnVuY3Rpb24gZ2V0SGVpZ2h0KCkgewoJCQlzZXR0aW5ncy5oID0gc2V0dGluZ3MuaCB8fCAkbG9hZGVkLmhlaWdodCgpOwoJCQlzZXR0aW5ncy5oID0gc2V0dGluZ3MubWggJiYgc2V0dGluZ3MubWggPCBzZXR0aW5ncy5oID8gc2V0dGluZ3MubWggOiBzZXR0aW5ncy5oOwoJCQlyZXR1cm4gc2V0dGluZ3MuaDsKCQl9CgkJCgkJJGxvYWRlZC5oaWRlKCkKCQkuYXBwZW5kVG8oJGxvYWRpbmdCYXkuc2hvdygpKS8vIGNvbnRlbnQgaGFzIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBET00gZm9yIGFjY3VyYXRlIHNpemUgY2FsY3VsYXRpb25zLgoJCS5jc3Moe3dpZHRoOiBnZXRXaWR0aCgpLCBvdmVyZmxvdzogc2V0dGluZ3Muc2Nyb2xsaW5nID8gJ2F1dG8nIDogJ2hpZGRlbid9KQoJCS5jc3Moe2hlaWdodDogZ2V0SGVpZ2h0KCl9KS8vIHNldHMgdGhlIGhlaWdodCBpbmRlcGVuZGVudGx5IGZyb20gdGhlIHdpZHRoIGluIGNhc2UgdGhlIG5ldyB3aWR0aCBpbmZsdWVuY2VzIHRoZSB2YWx1ZSBvZiBoZWlnaHQuCgkJLnByZXBlbmRUbygkY29udGVudCk7CgkJCgkJJGxvYWRpbmdCYXkuaGlkZSgpOwoJCQoJCS8vIGZsb2F0aW5nIHRoZSBJTUcgcmVtb3ZlcyB0aGUgYm90dG9tIGxpbmUtaGVpZ2h0IGFuZCBmaXhlZCBhIHByb2JsZW0gd2hlcmUgSUUgbWlzY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBlbGVtZW50IGFzIDEwMCUgb2YgdGhlIGRvY3VtZW50IHdpZHRoLgoJCS8vJChwaG90bykuY3NzKHsnZmxvYXQnOiAnbm9uZScsIG1hcmdpbkxlZnQ6ICdhdXRvJywgbWFyZ2luUmlnaHQ6ICdhdXRvJ30pOwoJCQoJCSQocGhvdG8pLmNzcyh7J2Zsb2F0JzogJ25vbmUnfSk7CgkJCgkJLy8gSGlkZXMgU0VMRUNUIGVsZW1lbnRzIGluIElFNiBiZWNhdXNlIHRoZXkgd291bGQgb3RoZXJ3aXNlIHNpdCBvbiB0b3Agb2YgdGhlIG92ZXJsYXkuCgkJaWYgKGlzSUU2KSB7CgkJCSQoJ3NlbGVjdCcpLm5vdCgkYm94LmZpbmQoJ3NlbGVjdCcpKS5maWx0ZXIoZnVuY3Rpb24gKCkgewoJCQkJcmV0dXJuIHRoaXMuc3R5bGUudmlzaWJpbGl0eSAhPT0gJ2hpZGRlbic7CgkJCX0pLmNzcyh7J3Zpc2liaWxpdHknOiAnaGlkZGVuJ30pLm9uZShldmVudF9jbGVhbnVwLCBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLnN0eWxlLnZpc2liaWxpdHkgPSAnaW5oZXJpdCc7CgkJCX0pOwoJCX0KCQkKCQljYWxsYmFjayA9IGZ1bmN0aW9uICgpIHsKCQkJdmFyIHByZWxvYWQsCgkJCQlpLAoJCQkJdG90YWwgPSAkcmVsYXRlZC5sZW5ndGgsCgkJCQlpZnJhbWUsCgkJCQlmcmFtZUJvcmRlciA9ICdmcmFtZUJvcmRlcicsCgkJCQlhbGxvd1RyYW5zcGFyZW5jeSA9ICdhbGxvd1RyYW5zcGFyZW5jeScsCgkJCQljb21wbGV0ZSwKCQkJCXNyYywKCQkJCWltZywKCQkJCWRhdGE7CgkJCQoJCQlpZiAoIW9wZW4pIHsKCQkJCXJldHVybjsKCQkJfQoJCQkKCQkJZnVuY3Rpb24gcmVtb3ZlRmlsdGVyKCkgewoJCQkJaWYgKGlzSUUpIHsKCQkJCQkkYm94WzBdLnN0eWxlLnJlbW92ZUF0dHJpYnV0ZSgnZmlsdGVyJyk7CgkJCQl9CgkJCX0KCQkJCgkJCWNvbXBsZXRlID0gZnVuY3Rpb24gKCkgewoJCQkJY2xlYXJUaW1lb3V0KGxvYWRpbmdUaW1lcik7CgkJCQkvLyBEZXRhY2hpbmcgZm9yY2VzIEFuZHJpb2Qgc3RvY2sgYnJvd3NlciB0byByZWRyYXcgdGhlIGFyZWEgdW5kZXJuZWF0IHRoZSBsb2FkaW5nIG92ZXJsYXkuICBIaWRpbmcgYWxvbmUgaXNuJ3QgZW5vdWdoLgoJCQkJJGxvYWRpbmdPdmVybGF5LmRldGFjaCgpLmhpZGUoKTsKCQkJCXRyaWdnZXIoZXZlbnRfY29tcGxldGUsIHNldHRpbmdzLm9uQ29tcGxldGUpOwoJCQl9OwoJCQkKCQkJaWYgKGlzSUUpIHsKCQkJCS8vVGhpcyBmYWRlSW4gaGVscHMgdGhlIGJpY3ViaWMgcmVzYW1wbGluZyB0byBraWNrLWluLgoJCQkJaWYgKHBob3RvKSB7CgkJCQkJJGxvYWRlZC5mYWRlSW4oMTAwKTsKCQkJCX0KCQkJfQoJCQkKCQkJJHRpdGxlLmh0bWwoc2V0dGluZ3MudGl0bGUpLmFkZCgkbG9hZGVkKS5zaG93KCk7CgkJCQoJCQlpZiAodG90YWwgPiAxKSB7IC8vIGhhbmRsZSBncm91cGluZwoJCQkJaWYgKHR5cGVvZiBzZXR0aW5ncy5jdXJyZW50ID09PSAic3RyaW5nIikgewoJCQkJCSRjdXJyZW50Lmh0bWwoc2V0dGluZ3MuY3VycmVudC5yZXBsYWNlKCd7Y3VycmVudH0nLCBpbmRleCArIDEpLnJlcGxhY2UoJ3t0b3RhbH0nLCB0b3RhbCkpLnNob3coKTsKCQkJCX0KCQkJCQoJCQkJJG5leHRbKHNldHRpbmdzLmxvb3AgfHwgaW5kZXggPCB0b3RhbCAtIDEpID8gInNob3ciIDogImhpZGUiXSgpLmh0bWwoc2V0dGluZ3MubmV4dCk7CgkJCQkkcHJldlsoc2V0dGluZ3MubG9vcCB8fCBpbmRleCkgPyAic2hvdyIgOiAiaGlkZSJdKCkuaHRtbChzZXR0aW5ncy5wcmV2aW91cyk7CgkJCQkKCQkJCWlmIChzZXR0aW5ncy5zbGlkZXNob3cpIHsKCQkJCQkkc2xpZGVzaG93LnNob3coKTsKCQkJCX0KCQkJCQoJCQkJLy8gUHJlbG9hZHMgaW1hZ2VzIHdpdGhpbiBhIHJlbCBncm91cAoJCQkJaWYgKHNldHRpbmdzLnByZWxvYWRpbmcpIHsKCQkJCQlwcmVsb2FkID0gWwoJCQkJCQlnZXRJbmRleCgtMSksCgkJCQkJCWdldEluZGV4KDEpCgkJCQkJXTsKCQkJCQl3aGlsZSAoaSA9ICRyZWxhdGVkW3ByZWxvYWQucG9wKCldKSB7CgkJCQkJCWRhdGEgPSAkLmRhdGEoaSwgY29sb3Jib3gpOwoJCQkJCQkKCQkJCQkJaWYgKGRhdGEgJiYgZGF0YS5ocmVmKSB7CgkJCQkJCQlzcmMgPSBkYXRhLmhyZWY7CgkJCQkJCQlpZiAoJC5pc0Z1bmN0aW9uKHNyYykpIHsKCQkJCQkJCQlzcmMgPSBzcmMuY2FsbChpKTsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXNyYyA9IGkuaHJlZjsKCQkJCQkJfQoKCQkJCQkJaWYgKGlzSW1hZ2Uoc3JjKSkgewoJCQkJCQkJaW1nID0gbmV3IEltYWdlKCk7CgkJCQkJCQlpbWcuc3JjID0gc3JjOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJGdyb3VwQ29udHJvbHMuaGlkZSgpOwoJCQl9CgkJCQoJCQlpZiAoc2V0dGluZ3MuaWZyYW1lKSB7CgkJCQlpZnJhbWUgPSAkdGFnKCdpZnJhbWUnKVswXTsKCQkJCQoJCQkJaWYgKGZyYW1lQm9yZGVyIGluIGlmcmFtZSkgewoJCQkJCWlmcmFtZVtmcmFtZUJvcmRlcl0gPSAwOwoJCQkJfQoJCQkJaWYgKGFsbG93VHJhbnNwYXJlbmN5IGluIGlmcmFtZSkgewoJCQkJCWlmcmFtZVthbGxvd1RyYW5zcGFyZW5jeV0gPSAidHJ1ZSI7CgkJCQl9CgkJCQkvLyBnaXZlIHRoZSBpZnJhbWUgYSB1bmlxdWUgbmFtZSB0byBwcmV2ZW50IGNhY2hpbmcKCQkJCWlmcmFtZS5uYW1lID0gcHJlZml4ICsgKCtuZXcgRGF0ZSgpKTsKCQkJCWlmIChzZXR0aW5ncy5mYXN0SWZyYW1lKSB7CgkJCQkJY29tcGxldGUoKTsKCQkJCX0gZWxzZSB7CgkJCQkJJChpZnJhbWUpLm9uZSgnbG9hZCcsIGNvbXBsZXRlKTsKCQkJCX0KCQkJCWlmcmFtZS5zcmMgPSBzZXR0aW5ncy5ocmVmOwoJCQkJaWYgKCFzZXR0aW5ncy5zY3JvbGxpbmcpIHsKCQkJCQlpZnJhbWUuc2Nyb2xsaW5nID0gIm5vIjsKCQkJCX0KCQkJCSQoaWZyYW1lKS5hZGRDbGFzcyhwcmVmaXggKyAnSWZyYW1lJykuYXBwZW5kVG8oJGxvYWRlZCkub25lKGV2ZW50X3B1cmdlLCBmdW5jdGlvbiAoKSB7CgkJCQkJaWZyYW1lLnNyYyA9ICIvL2Fib3V0OmJsYW5rIjsKCQkJCX0pOwoJCQl9IGVsc2UgewoJCQkJY29tcGxldGUoKTsKCQkJfQoJCQkKCQkJaWYgKHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICdmYWRlJykgewoJCQkJJGJveC5mYWRlVG8oc3BlZWQsIDEsIHJlbW92ZUZpbHRlcik7CgkJCX0gZWxzZSB7CgkJCQlyZW1vdmVGaWx0ZXIoKTsKCQkJfQoJCX07CgkJCgkJaWYgKHNldHRpbmdzLnRyYW5zaXRpb24gPT09ICdmYWRlJykgewoJCQkkYm94LmZhZGVUbyhzcGVlZCwgMCwgZnVuY3Rpb24gKCkgewoJCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKDAsIGNhbGxiYWNrKTsKCQkJfSk7CgkJfSBlbHNlIHsKCQkJcHVibGljTWV0aG9kLnBvc2l0aW9uKHNwZWVkLCBjYWxsYmFjayk7CgkJfQoJfTsKCglwdWJsaWNNZXRob2QubG9hZCA9IGZ1bmN0aW9uIChsYXVuY2hlZCkgewoJCXZhciBocmVmLCBzZXRSZXNpemUsIHByZXAgPSBwdWJsaWNNZXRob2QucHJlcDsKCQkKCQlhY3RpdmUgPSB0cnVlOwoJCQoJCXBob3RvID0gZmFsc2U7CgkJCgkJZWxlbWVudCA9ICRyZWxhdGVkW2luZGV4XTsKCQkKCQlpZiAoIWxhdW5jaGVkKSB7CgkJCW1ha2VTZXR0aW5ncygpOwoJCX0KCQkKCQl0cmlnZ2VyKGV2ZW50X3B1cmdlKTsKCQkKCQl0cmlnZ2VyKGV2ZW50X2xvYWQsIHNldHRpbmdzLm9uTG9hZCk7CgkJCgkJc2V0dGluZ3MuaCA9IHNldHRpbmdzLmhlaWdodCA/CgkJCQlzZXRTaXplKHNldHRpbmdzLmhlaWdodCwgJ3knKSAtIGxvYWRlZEhlaWdodCAtIGludGVyZmFjZUhlaWdodCA6CgkJCQlzZXR0aW5ncy5pbm5lckhlaWdodCAmJiBzZXRTaXplKHNldHRpbmdzLmlubmVySGVpZ2h0LCAneScpOwoJCQoJCXNldHRpbmdzLncgPSBzZXR0aW5ncy53aWR0aCA/CgkJCQlzZXRTaXplKHNldHRpbmdzLndpZHRoLCAneCcpIC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aCA6CgkJCQlzZXR0aW5ncy5pbm5lcldpZHRoICYmIHNldFNpemUoc2V0dGluZ3MuaW5uZXJXaWR0aCwgJ3gnKTsKCQkKCQkvLyBTZXRzIHRoZSBtaW5pbXVtIGRpbWVuc2lvbnMgZm9yIHVzZSBpbiBpbWFnZSBzY2FsaW5nCgkJc2V0dGluZ3MubXcgPSBzZXR0aW5ncy53OwoJCXNldHRpbmdzLm1oID0gc2V0dGluZ3MuaDsKCQkKCQkvLyBSZS1ldmFsdWF0ZSB0aGUgbWluaW11bSB3aWR0aCBhbmQgaGVpZ2h0IGJhc2VkIG9uIG1heFdpZHRoIGFuZCBtYXhIZWlnaHQgdmFsdWVzLgoJCS8vIElmIHRoZSB3aWR0aCBvciBoZWlnaHQgZXhjZWVkIHRoZSBtYXhXaWR0aCBvciBtYXhIZWlnaHQsIHVzZSB0aGUgbWF4aW11bSB2YWx1ZXMgaW5zdGVhZC4KCQlpZiAoc2V0dGluZ3MubWF4V2lkdGgpIHsKCQkJc2V0dGluZ3MubXcgPSBzZXRTaXplKHNldHRpbmdzLm1heFdpZHRoLCAneCcpIC0gbG9hZGVkV2lkdGggLSBpbnRlcmZhY2VXaWR0aDsKCQkJc2V0dGluZ3MubXcgPSBzZXR0aW5ncy53ICYmIHNldHRpbmdzLncgPCBzZXR0aW5ncy5tdyA/IHNldHRpbmdzLncgOiBzZXR0aW5ncy5tdzsKCQl9CgkJaWYgKHNldHRpbmdzLm1heEhlaWdodCkgewoJCQlzZXR0aW5ncy5taCA9IHNldFNpemUoc2V0dGluZ3MubWF4SGVpZ2h0LCAneScpIC0gbG9hZGVkSGVpZ2h0IC0gaW50ZXJmYWNlSGVpZ2h0OwoJCQlzZXR0aW5ncy5taCA9IHNldHRpbmdzLmggJiYgc2V0dGluZ3MuaCA8IHNldHRpbmdzLm1oID8gc2V0dGluZ3MuaCA6IHNldHRpbmdzLm1oOwoJCX0KCQkKCQlocmVmID0gc2V0dGluZ3MuaHJlZjsKCQkKCQlsb2FkaW5nVGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJJGxvYWRpbmdPdmVybGF5LnNob3coKS5hcHBlbmRUbygkY29udGVudCk7CgkJfSwgMTAwKTsKCQkKCQlpZiAoc2V0dGluZ3MuaW5saW5lKSB7CgkJCS8vIEluc2VydHMgYW4gZW1wdHkgcGxhY2Vob2xkZXIgd2hlcmUgaW5saW5lIGNvbnRlbnQgaXMgYmVpbmcgcHVsbGVkIGZyb20uCgkJCS8vIEFuIGV2ZW50IGlzIGJvdW5kIHRvIHB1dCBpbmxpbmUgY29udGVudCBiYWNrIHdoZW4gQ29sb3JCb3ggY2xvc2VzIG9yIGxvYWRzIG5ldyBjb250ZW50LgoJCQkkdGFnKGRpdikuaGlkZSgpLmluc2VydEJlZm9yZSgkKGhyZWYpWzBdKS5vbmUoZXZlbnRfcHVyZ2UsIGZ1bmN0aW9uICgpIHsKCQkJCSQodGhpcykucmVwbGFjZVdpdGgoJGxvYWRlZC5jaGlsZHJlbigpKTsKCQkJfSk7CgkJCXByZXAoJChocmVmKSk7CgkJfSBlbHNlIGlmIChzZXR0aW5ncy5pZnJhbWUpIHsKCQkJLy8gSUZyYW1lIGVsZW1lbnQgd29uJ3QgYmUgYWRkZWQgdG8gdGhlIERPTSB1bnRpbCBpdCBpcyByZWFkeSB0byBiZSBkaXNwbGF5ZWQsCgkJCS8vIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggRE9NLXJlYWR5IEpTIHRoYXQgbWlnaHQgYmUgdHJ5aW5nIHRvIHJ1biBpbiB0aGF0IGlmcmFtZS4KCQkJcHJlcCgiICIpOwoJCX0gZWxzZSBpZiAoc2V0dGluZ3MuaHRtbCkgewoJCQlwcmVwKHNldHRpbmdzLmh0bWwpOwoJCX0gZWxzZSBpZiAoaXNJbWFnZShocmVmKSkgewoJCQkkKHBob3RvID0gbmV3IEltYWdlKCkpCgkJCS5hZGRDbGFzcyhwcmVmaXggKyAnUGhvdG8nKQoJCQkuZXJyb3IoZnVuY3Rpb24gKCkgewoJCQkJc2V0dGluZ3MudGl0bGUgPSBmYWxzZTsKCQkJCXByZXAoJHRhZyhkaXYsICdFcnJvcicpLmh0bWwoc2V0dGluZ3MuaW1nRXJyb3IpKTsKCQkJfSkKCQkJLmxvYWQoZnVuY3Rpb24gKCkgewoJCQkJdmFyIHBlcmNlbnQ7CgkJCQlwaG90by5vbmxvYWQgPSBudWxsOyAvL3N0b3BzIGFuaW1hdGVkIGdpZnMgZnJvbSBmaXJpbmcgdGhlIG9ubG9hZCByZXBlYXRlZGx5LgoJCQkJCgkJCQlpZiAoc2V0dGluZ3Muc2NhbGVQaG90b3MpIHsKCQkJCQlzZXRSZXNpemUgPSBmdW5jdGlvbiAoKSB7CgkJCQkJCXBob3RvLmhlaWdodCAtPSBwaG90by5oZWlnaHQgKiBwZXJjZW50OwoJCQkJCQlwaG90by53aWR0aCAtPSBwaG90by53aWR0aCAqIHBlcmNlbnQ7CgkJCQkJfTsKCQkJCQlpZiAoc2V0dGluZ3MubXcgJiYgcGhvdG8ud2lkdGggPiBzZXR0aW5ncy5tdykgewoJCQkJCQlwZXJjZW50ID0gKHBob3RvLndpZHRoIC0gc2V0dGluZ3MubXcpIC8gcGhvdG8ud2lkdGg7CgkJCQkJCXNldFJlc2l6ZSgpOwoJCQkJCX0KCQkJCQlpZiAoc2V0dGluZ3MubWggJiYgcGhvdG8uaGVpZ2h0ID4gc2V0dGluZ3MubWgpIHsKCQkJCQkJcGVyY2VudCA9IChwaG90by5oZWlnaHQgLSBzZXR0aW5ncy5taCkgLyBwaG90by5oZWlnaHQ7CgkJCQkJCXNldFJlc2l6ZSgpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJaWYgKHNldHRpbmdzLmgpIHsKCQkJCQlwaG90by5zdHlsZS5tYXJnaW5Ub3AgPSBNYXRoLm1heChzZXR0aW5ncy5oIC0gcGhvdG8uaGVpZ2h0LCAwKSAvIDIgKyAncHgnOwoJCQkJfQoJCQkJCgkJCQlpZiAoJHJlbGF0ZWRbMV0gJiYgKHNldHRpbmdzLmxvb3AgfHwgJHJlbGF0ZWRbaW5kZXggKyAxXSkpIHsKCQkJCQlwaG90by5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7CgkJCQkJcGhvdG8ub25jbGljayA9IGZ1bmN0aW9uICgpIHsKCQkJCQkJcHVibGljTWV0aG9kLm5leHQoKTsKCQkJCQl9OwoJCQkJfQoJCQkJCgkJCQlpZiAoaXNJRSkgewoJCQkJCXBob3RvLnN0eWxlLm1zSW50ZXJwb2xhdGlvbk1vZGUgPSAnYmljdWJpYyc7CgkJCQl9CgkJCQkKCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyAvLyBBIHBhdXNlIGJlY2F1c2UgQ2hyb21lIHdpbGwgc29tZXRpbWVzIHJlcG9ydCBhIDAgYnkgMCBzaXplIG90aGVyd2lzZS4KCQkJCQlwcmVwKHBob3RvKTsKCQkJCX0sIDEpOwoJCQl9KTsKCQkJCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyAvLyBBIHBhdXNlIGJlY2F1c2UgT3BlcmEgMTAuNisgd2lsbCBzb21ldGltZXMgbm90IHJ1biB0aGUgb25sb2FkIGZ1bmN0aW9uIG90aGVyd2lzZS4KCQkJCXBob3RvLnNyYyA9IGhyZWY7CgkJCX0sIDEpOwoJCX0gZWxzZSBpZiAoaHJlZikgewoJCQkkbG9hZGluZ0JheS5sb2FkKGhyZWYsIHNldHRpbmdzLmRhdGEsIGZ1bmN0aW9uIChkYXRhLCBzdGF0dXMsIHhocikgewoJCQkJcHJlcChzdGF0dXMgPT09ICdlcnJvcicgPyAkdGFnKGRpdiwgJ0Vycm9yJykuaHRtbChzZXR0aW5ncy54aHJFcnJvcikgOiAkKHRoaXMpLmNvbnRlbnRzKCkpOwoJCQl9KTsKCQl9Cgl9OwoJCQoJLy8gTmF2aWdhdGVzIHRvIHRoZSBuZXh0IHBhZ2UvaW1hZ2UgaW4gYSBzZXQuCglwdWJsaWNNZXRob2QubmV4dCA9IGZ1bmN0aW9uICgpIHsKCQlpZiAoIWFjdGl2ZSAmJiAkcmVsYXRlZFsxXSAmJiAoc2V0dGluZ3MubG9vcCB8fCAkcmVsYXRlZFtpbmRleCArIDFdKSkgewoJCQlpbmRleCA9IGdldEluZGV4KDEpOwoJCQlwdWJsaWNNZXRob2QubG9hZCgpOwoJCX0KCX07CgkKCXB1YmxpY01ldGhvZC5wcmV2ID0gZnVuY3Rpb24gKCkgewoJCWlmICghYWN0aXZlICYmICRyZWxhdGVkWzFdICYmIChzZXR0aW5ncy5sb29wIHx8IGluZGV4KSkgewoJCQlpbmRleCA9IGdldEluZGV4KC0xKTsKCQkJcHVibGljTWV0aG9kLmxvYWQoKTsKCQl9Cgl9OwoKCS8vIE5vdGU6IHRvIHVzZSB0aGlzIHdpdGhpbiBhbiBpZnJhbWUgdXNlIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBwYXJlbnQuJC5mbi5jb2xvcmJveC5jbG9zZSgpOwoJcHVibGljTWV0aG9kLmNsb3NlID0gZnVuY3Rpb24gKCkgewoJCWlmIChvcGVuICYmICFjbG9zaW5nKSB7CgkJCQoJCQljbG9zaW5nID0gdHJ1ZTsKCQkJCgkJCW9wZW4gPSBmYWxzZTsKCQkJCgkJCXRyaWdnZXIoZXZlbnRfY2xlYW51cCwgc2V0dGluZ3Mub25DbGVhbnVwKTsKCQkJCgkJCSR3aW5kb3cudW5iaW5kKCcuJyArIHByZWZpeCArICcgLicgKyBldmVudF9pZTYpOwoJCQkKCQkJJG92ZXJsYXkuZmFkZVRvKDIwMCwgMCk7CgkJCQoJCQkkYm94LnN0b3AoKS5mYWRlVG8oMzAwLCAwLCBmdW5jdGlvbiAoKSB7CgkJCQoJCQkJJGJveC5hZGQoJG92ZXJsYXkpLmNzcyh7J29wYWNpdHknOiAxLCBjdXJzb3I6ICdhdXRvJ30pLmhpZGUoKTsKCQkJCQoJCQkJdHJpZ2dlcihldmVudF9wdXJnZSk7CgkJCQkKCQkJCSRsb2FkZWQucmVtb3ZlKCk7CgkJCQkKCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCWNsb3NpbmcgPSBmYWxzZTsKCQkJCQl0cmlnZ2VyKGV2ZW50X2Nsb3NlZCwgc2V0dGluZ3Mub25DbG9zZWQpOwoJCQkJfSwgMSk7CgkJCX0pOwoJCX0KCX07CgoJLy8gUmVtb3ZlcyBjaGFuZ2VzIENvbG9yQm94IG1hZGUgdG8gdGhlIGRvY3VtZW50LCBidXQgZG9lcyBub3QgcmVtb3ZlIHRoZSBwbHVnaW4KCS8vIGZyb20galF1ZXJ5LgoJcHVibGljTWV0aG9kLnJlbW92ZSA9IGZ1bmN0aW9uICgpIHsKCQkkKFtdKS5hZGQoJGJveCkuYWRkKCRvdmVybGF5KS5yZW1vdmUoKTsKCQkkYm94ID0gbnVsbDsKCQkkKCcuJyArIGJveEVsZW1lbnQpCgkJCS5yZW1vdmVEYXRhKGNvbG9yYm94KQoJCQkucmVtb3ZlQ2xhc3MoYm94RWxlbWVudCkKCQkJLmRpZSgpOwoJfTsKCgkvLyBBIG1ldGhvZCBmb3IgZmV0Y2hpbmcgdGhlIGN1cnJlbnQgZWxlbWVudCBDb2xvckJveCBpcyByZWZlcmVuY2luZy4KCS8vIHJldHVybnMgYSBqUXVlcnkgb2JqZWN0LgoJcHVibGljTWV0aG9kLmVsZW1lbnQgPSBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuICQoZWxlbWVudCk7Cgl9OwoKCXB1YmxpY01ldGhvZC5zZXR0aW5ncyA9IGRlZmF1bHRzOwoKfShqUXVlcnksIGRvY3VtZW50LCB0aGlzKSk7]]></data>
	</file>
	<file>
	  <filename>/framework/js/jquery.slug.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ly8KLy8gICAgICBqUXVlcnkgU2x1ZyBHZW5lcmF0aW9uIFBsdWdpbiBieSBQZXJyeSBUcmluaWVyIChwZXJyeXRyaW5pZXJAZ21haWwuY29tKQovLyAgTGljZW5zZWQgdW5kZXIgdGhlIEdQTDogaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCgpqUXVlcnkuZm4uc2x1ZyA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgIHZhciBzZXR0aW5ncyA9IHsKICAgICAgICBzbHVnIDogJ3NsdWcnLCAvLyBDbGFzcyB1c2VkIGZvciBzbHVnIGRlc3RpbmF0aW9uIGlucHV0IGFuZCBzcGFuLiBUaGUgc3BhbiBpcyBjcmVhdGVkIG9uICQoZG9jdW1lbnQpLnJlYWR5KCkKICAgICAgICBoaWRlIDogdHJ1ZSwgLy8gQm9vbGVhbiAtIEJ5IGRlZmF1bHQgdGhlIHNsdWcgaW5wdXQgZmllbGQgaXMgaGlkZGVuLCBzZXQgdG8gZmFsc2UgdG8gc2hvdyB0aGUgaW5wdXQgZmllbGQgYW5kIGhpZGUgdGhlIHNwYW4uCiAgICAgICAgcHJlZml4IDogJycgLy8gcHJlZml4IGZvciBzbHVnIGlmIHNsdWcgaXMgbnVtZXJpYwogICAgfTsKCiAgICBpZiAob3B0aW9ucykgewogICAgICAgIGpRdWVyeS5leHRlbmQoc2V0dGluZ3MsIG9wdGlvbnMpOwogICAgfQoKICAgICR0aGlzID0galF1ZXJ5KHRoaXMpOwoKICAgIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHNldHRpbmdzLmhpZGUpIHsKICAgICAgICAgICAgalF1ZXJ5KCdpbnB1dC4nICsgc2V0dGluZ3Muc2x1ZykuYWZ0ZXIoIjxzcGFuIGNsYXNzPSIgKyBzZXR0aW5ncy5zbHVnICsgIj48L3NwYW4+Iik7CiAgICAgICAgICAgIGpRdWVyeSgnaW5wdXQuJyArIHNldHRpbmdzLnNsdWcpLmhpZGUoKTsKICAgICAgICB9CiAgICB9KTsKCiAgICAvLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzk5MDkwNC9qYXZhc2NyaXB0LXJlbW92ZS1hY2NlbnRzLWluLXN0cmluZ3MjYW5zd2VyLTU5MTI3NDYKICAgIHZhciBkZWZhdWx0RGlhY3JpdGljc1JlbW92YWxNYXAgPSBbewogICAgICAgICdiYXNlJyA6ICdBJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0MVx1MjRCNlx1RkYyMVx1MDBDMFx1MDBDMVx1MDBDMlx1MUVBNlx1MUVBNFx1MUVBQVx1MUVBOFx1MDBDM1x1MDEwMFx1MDEwMlx1MUVCMFx1MUVBRVx1MUVCNFx1MUVCMlx1MDIyNlx1MDFFMFx1MDBDNFx1MDFERVx1MUVBMlx1MDBDNVx1MDFGQVx1MDFDRFx1MDIwMFx1MDIwMlx1MUVBMFx1MUVBQ1x1MUVCNlx1MUUwMFx1MDEwNFx1MDIzQVx1MkM2Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdBQScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzJdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnQUUnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMEM2XHUwMUZDXHUwMUUyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0FPJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczNF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdBVScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzZdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnQVYnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzM4XHVBNzNBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0FZJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczQ10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdCJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0Mlx1MjRCN1x1RkYyMlx1MUUwMlx1MUUwNFx1MUUwNlx1MDI0M1x1MDE4Mlx1MDE4MV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdDJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0M1x1MjRCOFx1RkYyM1x1MDEwNlx1MDEwOFx1MDEwQVx1MDEwQ1x1MDBDN1x1MUUwOFx1MDE4N1x1MDIzQlx1QTczRV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdEJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0NFx1MjRCOVx1RkYyNFx1MUUwQVx1MDEwRVx1MUUwQ1x1MUUxMFx1MUUxMlx1MUUwRVx1MDExMFx1MDE4Qlx1MDE4QVx1MDE4OVx1QTc3OV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdEWicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxRjFcdTAxQzRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnRHonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUYyXHUwMUM1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0UnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ1XHUyNEJBXHVGRjI1XHUwMEM4XHUwMEM5XHUwMENBXHUxRUMwXHUxRUJFXHUxRUM0XHUxRUMyXHUxRUJDXHUwMTEyXHUxRTE0XHUxRTE2XHUwMTE0XHUwMTE2XHUwMENCXHUxRUJBXHUwMTFBXHUwMjA0XHUwMjA2XHUxRUI4XHUxRUM2XHUwMjI4XHUxRTFDXHUwMTE4XHUxRTE4XHUxRTFBXHUwMTkwXHUwMThFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0YnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ2XHUyNEJCXHVGRjI2XHUxRTFFXHUwMTkxXHVBNzdCXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ3XHUyNEJDXHVGRjI3XHUwMUY0XHUwMTFDXHUxRTIwXHUwMTFFXHUwMTIwXHUwMUU2XHUwMTIyXHUwMUU0XHUwMTkzXHVBN0EwXHVBNzdEXHVBNzdFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ4XHUyNEJEXHVGRjI4XHUwMTI0XHUxRTIyXHUxRTI2XHUwMjFFXHUxRTI0XHUxRTI4XHUxRTJBXHUwMTI2XHUyQzY3XHUyQzc1XHVBNzhEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDQ5XHUyNEJFXHVGRjI5XHUwMENDXHUwMENEXHUwMENFXHUwMTI4XHUwMTJBXHUwMTJDXHUwMTMwXHUwMENGXHUxRTJFXHUxRUM4XHUwMUNGXHUwMjA4XHUwMjBBXHUxRUNBXHUwMTJFXHUxRTJDXHUwMTk3XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRBXHUyNEJGXHVGRjJBXHUwMTM0XHUwMjQ4XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0snLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRCXHUyNEMwXHVGRjJCXHUxRTMwXHUwMUU4XHUxRTMyXHUwMTM2XHUxRTM0XHUwMTk4XHUyQzY5XHVBNzQwXHVBNzQyXHVBNzQ0XHVBN0EyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0wnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDRDXHUyNEMxXHVGRjJDXHUwMTNGXHUwMTM5XHUwMTNEXHUxRTM2XHUxRTM4XHUwMTNCXHUxRTNDXHUxRTNBXHUwMTQxXHUwMjNEXHUyQzYyXHUyQzYwXHVBNzQ4XHVBNzQ2XHVBNzgwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ0xKJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDN10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdMaicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQzhdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNERcdTI0QzJcdUZGMkRcdTFFM0VcdTFFNDBcdTFFNDJcdTJDNkVcdTAxOUNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNEVcdTI0QzNcdUZGMkVcdTAxRjhcdTAxNDNcdTAwRDFcdTFFNDRcdTAxNDdcdTFFNDZcdTAxNDVcdTFFNEFcdTFFNDhcdTAyMjBcdTAxOURcdUE3OTBcdUE3QTRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnTkonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUNBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ05qJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDQl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdPJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA0Rlx1MjRDNFx1RkYyRlx1MDBEMlx1MDBEM1x1MDBENFx1MUVEMlx1MUVEMFx1MUVENlx1MUVENFx1MDBENVx1MUU0Q1x1MDIyQ1x1MUU0RVx1MDE0Q1x1MUU1MFx1MUU1Mlx1MDE0RVx1MDIyRVx1MDIzMFx1MDBENlx1MDIyQVx1MUVDRVx1MDE1MFx1MDFEMVx1MDIwQ1x1MDIwRVx1MDFBMFx1MUVEQ1x1MUVEQVx1MUVFMFx1MUVERVx1MUVFMlx1MUVDQ1x1MUVEOFx1MDFFQVx1MDFFQ1x1MDBEOFx1MDFGRVx1MDE4Nlx1MDE5Rlx1QTc0QVx1QTc0Q10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdPSScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQTJdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnT08nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzRFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ09VJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDIyMl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdQJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1MFx1MjRDNVx1RkYzMFx1MUU1NFx1MUU1Nlx1MDFBNFx1MkM2M1x1QTc1MFx1QTc1Mlx1QTc1NF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdRJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1MVx1MjRDNlx1RkYzMVx1QTc1Nlx1QTc1OFx1MDI0QV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdSJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1Mlx1MjRDN1x1RkYzMlx1MDE1NFx1MUU1OFx1MDE1OFx1MDIxMFx1MDIxMlx1MUU1QVx1MUU1Q1x1MDE1Nlx1MUU1RVx1MDI0Q1x1MkM2NFx1QTc1QVx1QTdBNlx1QTc4Ml0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdTJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1M1x1MjRDOFx1RkYzM1x1MUU5RVx1MDE1QVx1MUU2NFx1MDE1Q1x1MUU2MFx1MDE2MFx1MUU2Nlx1MUU2Mlx1MUU2OFx1MDIxOFx1MDE1RVx1MkM3RVx1QTdBOFx1QTc4NF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdUJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA1NFx1MjRDOVx1RkYzNFx1MUU2QVx1MDE2NFx1MUU2Q1x1MDIxQVx1MDE2Mlx1MUU3MFx1MUU2RVx1MDE2Nlx1MDFBQ1x1MDFBRVx1MDIzRVx1QTc4Nl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdUWicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MjhdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNTVcdTI0Q0FcdUZGMzVcdTAwRDlcdTAwREFcdTAwREJcdTAxNjhcdTFFNzhcdTAxNkFcdTFFN0FcdTAxNkNcdTAwRENcdTAxREJcdTAxRDdcdTAxRDVcdTAxRDlcdTFFRTZcdTAxNkVcdTAxNzBcdTAxRDNcdTAyMTRcdTAyMTZcdTAxQUZcdTFFRUFcdTFFRThcdTFFRUVcdTFFRUNcdTFFRjBcdTFFRTRcdTFFNzJcdTAxNzJcdTFFNzZcdTFFNzRcdTAyNDRdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNTZcdTI0Q0JcdUZGMzZcdTFFN0NcdTFFN0VcdTAxQjJcdUE3NUVcdTAyNDVdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnVlknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzYwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU3XHUyNENDXHVGRjM3XHUxRTgwXHUxRTgyXHUwMTc0XHUxRTg2XHUxRTg0XHUxRTg4XHUyQzcyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU4XHUyNENEXHVGRjM4XHUxRThBXHUxRThDXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDU5XHUyNENFXHVGRjM5XHUxRUYyXHUwMEREXHUwMTc2XHUxRUY4XHUwMjMyXHUxRThFXHUwMTc4XHUxRUY2XHUxRUY0XHUwMUIzXHUwMjRFXHUxRUZFXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ1onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDVBXHUyNENGXHVGRjNBXHUwMTc5XHUxRTkwXHUwMTdCXHUwMTdEXHUxRTkyXHUxRTk0XHUwMUI1XHUwMjI0XHUyQzdGXHUyQzZCXHVBNzYyXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2EnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYxXHUyNEQwXHVGRjQxXHUxRTlBXHUwMEUwXHUwMEUxXHUwMEUyXHUxRUE3XHUxRUE1XHUxRUFCXHUxRUE5XHUwMEUzXHUwMTAxXHUwMTAzXHUxRUIxXHUxRUFGXHUxRUI1XHUxRUIzXHUwMjI3XHUwMUUxXHUwMEU0XHUwMURGXHUxRUEzXHUwMEU1XHUwMUZCXHUwMUNFXHUwMjAxXHUwMjAzXHUxRUExXHUxRUFEXHUxRUI3XHUxRTAxXHUwMTA1XHUyQzY1XHUwMjUwXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2FhJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczM10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdhZScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwRTZcdTAxRkRcdTAxRTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnYW8nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzM1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2F1JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTczN10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdhdicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MzlcdUE3M0JdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnYXknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzNEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2InLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYyXHUyNEQxXHVGRjQyXHUxRTAzXHUxRTA1XHUxRTA3XHUwMTgwXHUwMTgzXHUwMjUzXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2MnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDYzXHUyNEQyXHVGRjQzXHUwMTA3XHUwMTA5XHUwMTBCXHUwMTBEXHUwMEU3XHUxRTA5XHUwMTg4XHUwMjNDXHVBNzNGXHUyMTg0XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2QnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDY0XHUyNEQzXHVGRjQ0XHUxRTBCXHUwMTBGXHUxRTBEXHUxRTExXHUxRTEzXHUxRTBGXHUwMTExXHUwMThDXHUwMjU2XHUwMjU3XHVBNzdBXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ2R6JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFGM1x1MDFDNl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdlJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2NVx1MjRENFx1RkY0NVx1MDBFOFx1MDBFOVx1MDBFQVx1MUVDMVx1MUVCRlx1MUVDNVx1MUVDM1x1MUVCRFx1MDExM1x1MUUxNVx1MUUxN1x1MDExNVx1MDExN1x1MDBFQlx1MUVCQlx1MDExQlx1MDIwNVx1MDIwN1x1MUVCOVx1MUVDN1x1MDIyOVx1MUUxRFx1MDExOVx1MUUxOVx1MUUxQlx1MDI0N1x1MDI1Qlx1MDFERF0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdmJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2Nlx1MjRENVx1RkY0Nlx1MUUxRlx1MDE5Mlx1QTc3Q10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdnJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2N1x1MjRENlx1RkY0N1x1MDFGNVx1MDExRFx1MUUyMVx1MDExRlx1MDEyMVx1MDFFN1x1MDEyM1x1MDFFNVx1MDI2MFx1QTdBMVx1MUQ3OVx1QTc3Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdoJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2OFx1MjREN1x1RkY0OFx1MDEyNVx1MUUyM1x1MUUyN1x1MDIxRlx1MUUyNVx1MUUyOVx1MUUyQlx1MUU5Nlx1MDEyN1x1MkM2OFx1MkM3Nlx1MDI2NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdodicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxOTVdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNjlcdTI0RDhcdUZGNDlcdTAwRUNcdTAwRURcdTAwRUVcdTAxMjlcdTAxMkJcdTAxMkRcdTAwRUZcdTFFMkZcdTFFQzlcdTAxRDBcdTAyMDlcdTAyMEJcdTFFQ0JcdTAxMkZcdTFFMkRcdTAyNjhcdTAxMzFdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkFcdTI0RDlcdUZGNEFcdTAxMzVcdTAxRjBcdTAyNDldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnaycsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkJcdTI0REFcdUZGNEJcdTFFMzFcdTAxRTlcdTFFMzNcdTAxMzdcdTFFMzVcdTAxOTlcdTJDNkFcdUE3NDFcdUE3NDNcdUE3NDVcdUE3QTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnbCcsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNkNcdTI0REJcdUZGNENcdTAxNDBcdTAxM0FcdTAxM0VcdTFFMzdcdTFFMzlcdTAxM0NcdTFFM0RcdTFFM0JcdTAxN0ZcdTAxNDJcdTAxOUFcdTAyNkJcdTJDNjFcdUE3NDlcdUE3ODFcdUE3NDddL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnbGonLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMUM5XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ20nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDZEXHUyNERDXHVGRjREXHUxRTNGXHUxRTQxXHUxRTQzXHUwMjcxXHUwMjZGXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ24nLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDZFXHUyNEREXHVGRjRFXHUwMUY5XHUwMTQ0XHUwMEYxXHUxRTQ1XHUwMTQ4XHUxRTQ3XHUwMTQ2XHUxRTRCXHUxRTQ5XHUwMTlFXHUwMjcyXHUwMTQ5XHVBNzkxXHVBN0E1XS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ25qJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDFDQ10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdvJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA2Rlx1MjRERVx1RkY0Rlx1MDBGMlx1MDBGM1x1MDBGNFx1MUVEM1x1MUVEMVx1MUVEN1x1MUVENVx1MDBGNVx1MUU0RFx1MDIyRFx1MUU0Rlx1MDE0RFx1MUU1MVx1MUU1M1x1MDE0Rlx1MDIyRlx1MDIzMVx1MDBGNlx1MDIyQlx1MUVDRlx1MDE1MVx1MDFEMlx1MDIwRFx1MDIwRlx1MDFBMVx1MUVERFx1MUVEQlx1MUVFMVx1MUVERlx1MUVFM1x1MUVDRFx1MUVEOVx1MDFFQlx1MDFFRFx1MDBGOFx1MDFGRlx1MDI1NFx1QTc0Qlx1QTc0RFx1MDI3NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdvaScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAxQTNdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAnb3UnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMjIzXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ29vJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1QTc0Rl0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdwJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3MFx1MjRERlx1RkY1MFx1MUU1NVx1MUU1N1x1MDFBNVx1MUQ3RFx1QTc1MVx1QTc1M1x1QTc1NV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdxJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3MVx1MjRFMFx1RkY1MVx1MDI0Qlx1QTc1N1x1QTc1OV0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdyJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3Mlx1MjRFMVx1RkY1Mlx1MDE1NVx1MUU1OVx1MDE1OVx1MDIxMVx1MDIxM1x1MUU1Qlx1MUU1RFx1MDE1N1x1MUU1Rlx1MDI0RFx1MDI3RFx1QTc1Qlx1QTdBN1x1QTc4M10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICdzJywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3M1x1MjRFMlx1RkY1M1x1MDBERlx1MDE1Qlx1MUU2NVx1MDE1RFx1MUU2MVx1MDE2MVx1MUU2N1x1MUU2M1x1MUU2OVx1MDIxOVx1MDE1Rlx1MDIzRlx1QTdBOVx1QTc4NVx1MUU5Ql0vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICd0JywKICAgICAgICAnbGV0dGVycycgOiAvW1x1MDA3NFx1MjRFM1x1RkY1NFx1MUU2Qlx1MUU5N1x1MDE2NVx1MUU2RFx1MDIxQlx1MDE2M1x1MUU3MVx1MUU2Rlx1MDE2N1x1MDFBRFx1MDI4OFx1MkM2Nlx1QTc4N10vZwogICAgfSwgewogICAgICAgICdiYXNlJyA6ICd0eicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdUE3MjldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndScsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNzVcdTI0RTRcdUZGNTVcdTAwRjlcdTAwRkFcdTAwRkJcdTAxNjlcdTFFNzlcdTAxNkJcdTFFN0JcdTAxNkRcdTAwRkNcdTAxRENcdTAxRDhcdTAxRDZcdTAxREFcdTFFRTdcdTAxNkZcdTAxNzFcdTAxRDRcdTAyMTVcdTAyMTdcdTAxQjBcdTFFRUJcdTFFRTlcdTFFRUZcdTFFRURcdTFFRjFcdTFFRTVcdTFFNzNcdTAxNzNcdTFFNzdcdTFFNzVcdTAyODldL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndicsCiAgICAgICAgJ2xldHRlcnMnIDogL1tcdTAwNzZcdTI0RTVcdUZGNTZcdTFFN0RcdTFFN0ZcdTAyOEJcdUE3NUZcdTAyOENdL2cKICAgIH0sIHsKICAgICAgICAnYmFzZScgOiAndnknLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHVBNzYxXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3cnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc3XHUyNEU2XHVGRjU3XHUxRTgxXHUxRTgzXHUwMTc1XHUxRTg3XHUxRTg1XHUxRTk4XHUxRTg5XHUyQzczXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3gnLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc4XHUyNEU3XHVGRjU4XHUxRThCXHUxRThEXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3knLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDc5XHUyNEU4XHVGRjU5XHUxRUYzXHUwMEZEXHUwMTc3XHUxRUY5XHUwMjMzXHUxRThGXHUwMEZGXHUxRUY3XHUxRTk5XHUxRUY1XHUwMUI0XHUwMjRGXHUxRUZGXS9nCiAgICB9LCB7CiAgICAgICAgJ2Jhc2UnIDogJ3onLAogICAgICAgICdsZXR0ZXJzJyA6IC9bXHUwMDdBXHUyNEU5XHVGRjVBXHUwMTdBXHUxRTkxXHUwMTdDXHUwMTdFXHUxRTkzXHUxRTk1XHUwMUI2XHUwMjI1XHUwMjQwXHUyQzZDXHVBNzYzXS9nCiAgICB9XTsKCiAgICB2YXIgY2hhbmdlczsKCiAgICBmdW5jdGlvbiByZW1vdmVEaWFjcml0aWNzKHN0cikgewogICAgICAgIGlmICghY2hhbmdlcykgewogICAgICAgICAgICBjaGFuZ2VzID0gZGVmYXVsdERpYWNyaXRpY3NSZW1vdmFsTWFwOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgc3RyID0gc3RyLnJlcGxhY2UoY2hhbmdlc1tpXS5sZXR0ZXJzLCBjaGFuZ2VzW2ldLmJhc2UpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gc3RyOwogICAgfQoKICAgIG1ha2VTbHVnID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIHNsdWdjb250ZW50ID0galF1ZXJ5LnRyaW0ocmVtb3ZlRGlhY3JpdGljcygkdGhpcy52YWwoKSkpLAogICAgICAgICAgICBzbHVnY29udGVudF9oeXBoZW5zID0gc2x1Z2NvbnRlbnQucmVwbGFjZSgvXHMvZywgJy0nKSwKICAgICAgICAgICAgZmluaXNoZWRzbHVnID0gc2x1Z2NvbnRlbnRfaHlwaGVucy5yZXBsYWNlKC9bXmEtekEtWjAtOVwtXS9nLCAnLScpLAogICAgICAgICAgICBmaW5pc2hlZHNsdWcgPSBmaW5pc2hlZHNsdWcucmVwbGFjZSgvWy1dezIsfS9nLCAnLScpLAogICAgICAgICAgICBmaW5pc2hlZHNsdWcgPSBmaW5pc2hlZHNsdWcucmVwbGFjZSgvKF5bLV0pfChbLV0kKS9nLCAnJyk7CgogICAgICAgIGlmIChzZXR0aW5ncy5wcmVmaXggJiYgJC5pc051bWVyaWMoZmluaXNoZWRzbHVnKSkgewogICAgICAgICAgICBqUXVlcnkoJ2lucHV0LicgKyBzZXR0aW5ncy5zbHVnKS52YWwoc2V0dGluZ3MucHJlZml4ICsgZmluaXNoZWRzbHVnLnRvTG93ZXJDYXNlKCkpOwogICAgICAgICAgICBqUXVlcnkoJ3NwYW4uJyArIHNldHRpbmdzLnNsdWcpLnRleHQoc2V0dGluZ3MucHJlZml4ICsgZmluaXNoZWRzbHVnLnRvTG93ZXJDYXNlKCkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGpRdWVyeSgnaW5wdXQuJyArIHNldHRpbmdzLnNsdWcpLnZhbChmaW5pc2hlZHNsdWcudG9Mb3dlckNhc2UoKSk7CiAgICAgICAgICAgIGpRdWVyeSgnc3Bhbi4nICsgc2V0dGluZ3Muc2x1ZykudGV4dChmaW5pc2hlZHNsdWcudG9Mb3dlckNhc2UoKSk7CiAgICAgICAgfQogICAgfQoKICAgIGpRdWVyeSh0aGlzKS5rZXl1cChtYWtlU2x1Zyk7CgogICAgcmV0dXJuICR0aGlzOwp9Owo=]]></data>
	</file>
	<file>
	  <filename>/framework/js/lise.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRlVOQ1RJT05TCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgpmdW5jdGlvbiB1cGRhdGVSb3dzKCkgewogICAgJCgndGFibGUjc29ydGFibGVfaXRlbSA+IHRib2R5ID4gdHInKS5yZW1vdmVDbGFzcygncm93MScpLnJlbW92ZUNsYXNzKCdyb3cyJyk7CiAgICAkKCd0YWJsZSNzb3J0YWJsZV9pdGVtID4gdGJvZHkgPiB0cjp2aXNpYmxlOmV2ZW4nKS5hZGRDbGFzcygncm93MicpOwogICAgJCgndGFibGUjc29ydGFibGVfaXRlbSA+IHRib2R5ID4gdHI6dmlzaWJsZTpvZGQnKS5hZGRDbGFzcygncm93MScpOwp9CgpmdW5jdGlvbiBpbml0VGFibGVTb3J0ZXIoKSB7CiAgICAKICAgICQoJ3RhYmxlJykuZm9vdGFibGUoKS5iaW5kKHsKICAgICAgICAnZm9vdGFibGVfc29ydGVkJyA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB1cGRhdGVSb3dzKCk7CiAgICAgICAgfSwKICAgICAgICAnZm9vdGFibGVfZmlsdGVyZWQnIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHVwZGF0ZVJvd3MoKTsKICAgICAgICB9LAogICAgICAgICdmb290YWJsZV9yb3dfZXhwYW5kZWQnIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGluaXRBamF4KCk7CiAgICAgICAgICAgIGluaXRBamF4RXZlbnRzKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICAkKCcuZm9vdGFibGUtcm93LWRldGFpbC1uYW1lOmVtcHR5JykuaGlkZSgpOwogICAgICAgIH0KICAgIH0pOwp9CgpmdW5jdGlvbiBpbml0RGF0ZXBpY2tlcigpIHsKICAgICQoJyNtMV9zdGFydF90aW1lLCAjbTFfZW5kX3RpbWUnKS5kYXRlcGlja2VyKHsKICAgICAgICBkYXRlRm9ybWF0IDogJ3l5LW1tLWRkJwogICAgfSk7Cn0KCmZ1bmN0aW9uIGluaXRTb3J0YWJsZSgpIHsKCiAgICAkKCdib2R5JykuZGVsZWdhdGUoJyNtMV9zdWJtaXRfaXRlbW9yZGVyJywgJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHsKCiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgdmFyIG5ld09yZGVySWRzID0gZ2V0T3JkZXJpbmcoJyNzb3J0YWJsZV9pdGVtJyk7CiAgICAgICAgdmFyIGNhbGxiYWNrID0gYWpheF9mdW5jdGlvbignU2F2ZUl0ZW1PcmRlcicsIG5ld09yZGVySWRzKTsKICAgICAgICBjYWxsYmFjay5zdWNjZXNzKGZ1bmN0aW9uKGRhdGEpIHsKICAgICAgICAgICAgc2hvd19tZXNzYWdlKGRhdGEpOwogICAgICAgIH0pOwoKICAgIH0pOwoKICAgICQoJ2JvZHknKS5kZWxlZ2F0ZSgnI20xX3N1Ym1pdF9maWVsZGRlZm9yZGVyJywgJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHsKCiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgdmFyIG5ld09yZGVySWRzID0gZ2V0T3JkZXJpbmcoJyNzb3J0YWJsZV9maWVsZGRlZicpOwogICAgICAgIHZhciBjYWxsYmFjayA9IGFqYXhfZnVuY3Rpb24oJ1NhdmVGaWVsZERlZk9yZGVyJywgbmV3T3JkZXJJZHMpOwogICAgICAgIGNhbGxiYWNrLnN1Y2Nlc3MoZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICBzaG93X21lc3NhZ2UoZGF0YSk7CiAgICAgICAgfSk7CgogICAgfSk7CgogICAgdmFyIGdldE9yZGVyaW5nID0gZnVuY3Rpb24oaXRlbSkgewoKICAgICAgICB2YXIgbmV3T3JkZXJpbmcgPSAkKGl0ZW0pLmZpbmQoInRib2R5LmNvbnRlbnQiKS5zb3J0YWJsZSgndG9BcnJheScpOwoKICAgICAgICBpZiAoaXRlbSA9PSAnI3NvcnRhYmxlX2l0ZW0nKQogICAgICAgICAgICB2YXIgbCA9ICJpdGVtXyIubGVuZ3RoOwoKICAgICAgICBpZiAoaXRlbSA9PSAnI3NvcnRhYmxlX2ZpZWxkZGVmJykKICAgICAgICAgICAgdmFyIGwgPSAiZmllbGRkZWZfIi5sZW5ndGg7CgogICAgICAgIHZhciBuZXdPcmRlcklkcyA9IG5ldyBBcnJheShuZXdPcmRlcmluZy5sZW5ndGgpOwogICAgICAgIHZhciBjdHIgPSAwOwogICAgICAgIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGluIHRoZSBhcnJheSBhbmQgZ2V0IHRoZSBJRAogICAgICAgICQuZWFjaChuZXdPcmRlcmluZywgZnVuY3Rpb24oaW50SW5kZXgsIG9ialZhbHVlKSB7CiAgICAgICAgICAgIC8vR2V0IHRoZSBJRCBvZiB0aGUgcmVvcmRlcmVkIGl0ZW1zCiAgICAgICAgICAgIC8vLSB0aGlzIGlzIHNlbnQgYmFjayB0byBzZXJ2ZXIgdG8gc2F2ZQogICAgICAgICAgICBuZXdPcmRlcklkc1tjdHJdID0gb2JqVmFsdWUuc3Vic3RyaW5nKGwsIG9ialZhbHVlLmxlbmd0aCk7CiAgICAgICAgICAgIGN0ciA9IGN0ciArIDE7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ld09yZGVySWRzOwogICAgfTsKCiAgICAvL2ZpeCB0YWJsZSB3aWR0aCBvbiBzb3J0aW5nCiAgICB2YXIgZml4SGVscGVyID0gZnVuY3Rpb24oZSwgdWkpIHsKICAgICAgICB1aS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQodGhpcykud2lkdGgoJCh0aGlzKS53aWR0aCgpKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdWk7CiAgICB9OwoKICAgIC8vcnVuIHNvcnRhYmxlIGZ1bmN0aW9uCiAgICAkKCIjc29ydGFibGVfaXRlbSB0Ym9keS5jb250ZW50LCAjc29ydGFibGVfZmllbGRkZWYgdGJvZHkuY29udGVudCIpLnNvcnRhYmxlKHsKICAgICAgICBoZWxwZXIgOiBmaXhIZWxwZXIsCiAgICAgICAgdXBkYXRlIDogZnVuY3Rpb24oZXZlbnQsIHVpKSB7CiAgICAgICAgICAgICQoIiNzb3J0YWJsZV9pdGVtLCAjc29ydGFibGVfZmllbGRkZWYiKS5maW5kKCJ0Ym9keS5jb250ZW50IHRyOm9kZCIpLmF0dHIoJ2NsYXNzJywgInJvdzIiKTsKICAgICAgICAgICAgJCgiI3NvcnRhYmxlX2l0ZW0sICNzb3J0YWJsZV9maWVsZGRlZiIpLmZpbmQoInRib2R5LmNvbnRlbnQgdHI6ZXZlbiIpLmF0dHIoJ2NsYXNzJywgInJvdzEiKTsKICAgICAgICB9CiAgICB9KTsKICAgICQoIiNzb3J0YWJsZV9pdGVtLCAjc29ydGFibGVfZmllbGRkZWYiKS5maW5kKCJ0Ym9keS5jb250ZW50IikuZGlzYWJsZVNlbGVjdGlvbigpOwp9CgpmdW5jdGlvbiBpbml0U2VsZWN0QWxsKCkgewogICAgJCgnI2NoZWNrX2FsbF9pdGVtLCAjY2hlY2tfYWxsX2NhdGVnb3J5LCAjY2hlY2tfYWxsX2ZpZWxkZGVmJykuY2xpY2soZnVuY3Rpb24oKSB7CgogICAgICAgICQodGhpcykuY2xvc2VzdCgndGFibGUnKS5maW5kKCJ0Ym9keSB0ciIpLmVhY2goZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAkY2hlY2tib3ggPSAkKHRoaXMpLmZpbmQoJzpjaGVja2JveCcpOwogICAgICAgICAgICAkY2hlY2tib3gucHJvcCgnY2hlY2tlZCcsICEkY2hlY2tib3hbMF0uY2hlY2tlZCk7CiAgICAgICAgfSk7CiAgICB9KTsKfQoKZnVuY3Rpb24gaW5pdFNsdWcoKSB7CgogICAgaWYgKCQoJyNtMV9hbGlhcycpLnZhbCgpID09ICcnKSB7CiAgICAgICAgJCgnI20xX2FsaWFzJykuYWRkQ2xhc3MoJ3NsdWcnKTsKICAgICAgICAvLyBzbHVnIGFsaWFzCiAgICAgICAgJCgiI20xX3RpdGxlIikuc2x1Zyh7CiAgICAgICAgICAgIHNsdWcgOiAnc2x1ZycsIC8vIGNsYXNzIG9mIGlucHV0IC8gc3BhbiB0aGF0IGNvbnRhaW5zIHRoZSBnZW5lcmF0ZWQgc2x1ZwogICAgICAgICAgICBoaWRlIDogZmFsc2UsIC8vIGhpZGUgdGhlIHRleHQgaW5wdXQsIHRydWUgYnkgZGVmYXVsdAogICAgICAgICAgICBwcmVmaXggOiAnaXRlbS0nCiAgICAgICAgfSk7CiAgICB9Cn0KCmZ1bmN0aW9uIGluaXRRdWlja1NlYXJjaCgpIHsKICAgIAogICAgJCgndGFibGUjc29ydGFibGVfaXRlbScpLnRyaWdnZXIoJ2Zvb3RhYmxlX2ZpbHRlcicsCiAgICAgICAgewogICAgICAgICAgICBmaWx0ZXI6ICQoJ2lucHV0I2l0ZW1fc2VhcmNoJykudmFsKCkKICAgICAgICB9CiAgICApOwogICAgCiAgICAkKCcjcXVpY2tzZWFyY2hfZm9ybScpLnN1Ym1pdChmdW5jdGlvbihldmVudCkgewogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICB9KTsKfQoKZnVuY3Rpb24gaW5pdENvbG9yQm94KCkgewoKICAgIGlmICgoICQoJy5jYm94JykubGVuZ3RoICE9PSAwICkgJiYgKCB0eXBlb2YgJC5jb2xvcmJveCA9PT0gJ2Z1bmN0aW9uJyApKSB7CiAgICAgICAgJCgnLmNib3gnKS5jb2xvcmJveCh7CiAgICAgICAgICAgIHNjYWxlUGhvdG9zIDogdHJ1ZSwKICAgICAgICAgICAgbWF4V2lkdGggOiA4MDAsCiAgICAgICAgICAgIG1heEhlaWdodCA6IDYwMCwKICAgICAgICAgICAgcmVsIDogJ2dyb3VwJywKICAgICAgICAgICAgb3BhY2l0eSA6IDAuMgogICAgICAgIH0pOwogICAgfQp9CgoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogJCBJTklUIChSdW4gaW5pdGlhbCBzdHVmZiBoZXJlKQogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKJChmdW5jdGlvbigkKSB7CgogICAgJCgiLnBhZ2VtY29udGFpbmVyIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICB2YXIgYyA9ICQodGhpcyk7CiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGMuaGlkZSgpOwogICAgICAgIH0sIDkwMDApOwogICAgfSk7CiAgICAKICAgICQoJ3RhYmxlI3NvcnRhYmxlX2l0ZW0nKS5mb290YWJsZSgpOwoKICAgIGluaXRTb3J0YWJsZSgpOwogICAgaW5pdFNlbGVjdEFsbCgpOwogICAgaW5pdERhdGVwaWNrZXIoKTsKICAgIGluaXRUYWJsZVNvcnRlcigpOwogICAgaW5pdFNsdWcoKTsKICAgIGluaXRRdWlja1NlYXJjaCgpOwogICAgaW5pdENvbG9yQm94KCk7Cn0pOwoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogQUpBWCBMT0FESU5HIChPbmx5IGxvYWQgYWpheCBmdW5jdGlvbnMgaW4gaGVyZSkKICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCi8qKgogKiBBY2Nlc3MgbW9kdWxlIG9iamVjdCBtZXRob2RzIHdpdGggdGhpcwogKiBAIHVzcl9mdW5jdGlvbjogTWV0aG9kIG9mIG1vZHVsZSBvYmplY3QKICogQCBwYXJhbXM6IFBhcmFtcyB0byBtb2R1bGUgb2JqZWN0CiAqLwpmdW5jdGlvbiBhamF4X2Z1bmN0aW9uKHVzcl9mdW5jdGlvbiwgcGFyYW1zKSB7CgogICAgcmV0dXJuICQucG9zdChDTVNfQURNSU5fRElSICsgIi9tb2R1bGVpbnRlcmZhY2UucGhwIiArIENNU19VU0VSX0tFWSwgewogICAgICAgIG1hY3QgOiBNT0RVTEVfTkFNRSArICcsbTFfLGFqYXgsMCcsCiAgICAgICAgbTFfdXNyX2Z1bmN0aW9uIDogdXNyX2Z1bmN0aW9uLAogICAgICAgIHNob3d0ZW1wbGF0ZSA6IGZhbHNlLAogICAgICAgIG0xX3BhcmFtcyA6IHBhcmFtcwogICAgfSk7Cn0KCiQoZnVuY3Rpb24oJCkgewoKICAgIC8qKgogICAgICogVFlQRSBTRUxFQ1QKICAgICAqLwogICAgJCgnI20xX3R5cGUnKS5jaGFuZ2UoZnVuY3Rpb24oZXZlbnQpIHsKCiAgICAgICAgdmFyIHVybCA9ICQodGhpcykuY2xvc2VzdCgiZm9ybSIpLmF0dHIoImFjdGlvbiIpOwogICAgICAgIHZhciBwYXJhbXMgPSAkKHRoaXMpLmNsb3Nlc3QoImZvcm0iKS5zZXJpYWxpemUoKTsKICAgICAgICBwYXJhbXMgKz0gIiZzaG93dGVtcGxhdGU9ZmFsc2UiOwogICAgICAgIHZhciBzZWxlY3RvciA9ICcubGlzZV90eXBlb3B0aW9ucyc7CiAgICAgICAgdmFyIHNlbGVjdG9yMiA9ICcudGVtcGxhdGVfaW5wdXQgPiB0ZXh0YXJlYSc7CgogICAgICAgICQuYWpheCh7CiAgICAgICAgICAgIHR5cGUgOiAiUE9TVCIsCiAgICAgICAgICAgIHVybCA6IHVybCwKICAgICAgICAgICAgYXN5bmMgOiB0cnVlLAogICAgICAgICAgICBkYXRhVHlwZSA6ICJodG1sIiwKICAgICAgICAgICAgZGF0YSA6IHBhcmFtcywKICAgICAgICAgICAgYmVmb3JlU2VuZCA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgJChzZWxlY3RvcjIpLnZhbCgnJyk7CiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS5lbXB0eSgpLmFwcGVuZCgnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij48ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPjxkaXYgY2xhc3M9ImFqYXgtbG9hZGluZyBhamF4LWxvYWRlci10eXBlLXdpZGUiPjwvZGl2PjwvZGl2PjwvZGl2PicpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGVycm9yIDogZnVuY3Rpb24oanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKSB7CgogICAgICAgICAgICAgICAgYWxlcnQoIlNvcnJ5LiBUaGVyZSB3YXMgYSBMSVNFIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uKGRhdGEpIHsKCiAgICAgICAgICAgICAgICB2YXIgbXlfZGF0YSA9ICQoc2VsZWN0b3IsIGRhdGEpLmh0bWwoKTsKICAgICAgICAgICAgICAgICQoc2VsZWN0b3IpLmh0bWwobXlfZGF0YSk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBteV9kYXRhMiA9ICAkKCI8ZGl2Lz4iKS5odG1sKCQoc2VsZWN0b3IyLCBkYXRhKS5odG1sKCkpLnRleHQoKTs7CiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yMikudmFsKG15X2RhdGEyKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICAvKioKICAgICAqIE1BU1MgQUNUSU9OIElURU1TCiAgICAgKi8KICAgICQoJyNsaXNlX2l0ZW1fbWFzc19hY3Rpb24nKS5jaGFuZ2UoZnVuY3Rpb24oZXZlbnQpIHsKCiAgICAgICAgaWYgKGNvbmZpcm0oJ0FyZSB5b3VyIHN1cmU/JykpIHsKCiAgICAgICAgICAgIHZhciBpdGVtcyA9ICQoIi5pdGVtLW1hc3MtYWN0aW9uIDppbnB1dCIpLnNlcmlhbGl6ZUFycmF5KCk7CgogICAgICAgICAgICBzd2l0Y2goJCh0aGlzKS52YWwoKSkgewogICAgICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzoKCiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCkgewogICAgICAgICAgICAgICAgICAgICAgICBhamF4X2RlbGV0ZSgkKCIjaXRlbV8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hamF4LWRlbGV0ZSIpKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdhcHByb3ZlJzoKCiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCkgewogICAgICAgICAgICAgICAgICAgICAgICBhamF4X3RvZ2dsZSgkKCIjaXRlbV8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hcHByb3ZlLWl0ZW0gLmFqYXgtdG9nZ2xlIikpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgIH0KCiAgICAgICAgJCh0aGlzKS52YWwoMCk7CgogICAgfSk7CgogICAgLyoqCiAgICAgKiBNQVNTIEFDVElPTiBDQVRFR09SSUVTCiAgICAgKi8KICAgICQoJyNsaXNlX2NhdGVnb3J5X21hc3NfYWN0aW9uJykuY2hhbmdlKGZ1bmN0aW9uKGV2ZW50KSB7CgogICAgICAgIGlmIChjb25maXJtKCdBcmUgeW91ciBzdXJlPycpKSB7CgogICAgICAgICAgICB2YXIgaXRlbXMgPSAkKCIuY2F0ZWdvcnktbWFzcy1hY3Rpb24gOmlucHV0Iikuc2VyaWFsaXplQXJyYXkoKTsKCiAgICAgICAgICAgIHN3aXRjaCgkKHRoaXMpLnZhbCgpKSB7CiAgICAgICAgICAgICAgICBjYXNlICdkZWxldGUnOgoKICAgICAgICAgICAgICAgICAgICAkLmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhfZGVsZXRlKCQoIiNjYXRlZ29yeV8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hamF4LWRlbGV0ZSIpKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdhcHByb3ZlJzoKCiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCkgewogICAgICAgICAgICAgICAgICAgICAgICBhamF4X3RvZ2dsZSgkKCIjY2F0ZWdvcnlfIiArIGZpZWxkLnZhbHVlKS5maW5kKCIuYXBwcm92ZS1jYXRlZ29yeSAuYWpheC10b2dnbGUiKSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICQodGhpcykudmFsKDApOwoKICAgIH0pOwoKICAgIC8qKgogICAgICogTUFTUyBBQ1RJT04gRklFTERERUZTCiAgICAgKi8KICAgICQoJyNsaXNlX2ZpZWxkZGVmX21hc3NfYWN0aW9uJykuY2hhbmdlKGZ1bmN0aW9uKGV2ZW50KSB7CgogICAgICAgIGlmIChjb25maXJtKCdBcmUgeW91ciBzdXJlPycpKSB7CgogICAgICAgICAgICB2YXIgaXRlbXMgPSAkKCIuZmllbGRkZWYtbWFzcy1hY3Rpb24gOmlucHV0Iikuc2VyaWFsaXplQXJyYXkoKTsKCiAgICAgICAgICAgIHN3aXRjaCgkKHRoaXMpLnZhbCgpKSB7CiAgICAgICAgICAgICAgICBjYXNlICdkZWxldGUnOgoKICAgICAgICAgICAgICAgICAgICAkLmVhY2goaXRlbXMsIGZ1bmN0aW9uKGksIGZpZWxkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhfZGVsZXRlKCQoIiNmaWVsZGRlZl8iICsgZmllbGQudmFsdWUpLmZpbmQoIi5hamF4LWRlbGV0ZSIpKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdyZXF1aXJlJzoKCiAgICAgICAgICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbihpLCBmaWVsZCkgewogICAgICAgICAgICAgICAgICAgICAgICBhamF4X3RvZ2dsZSgkKCIjZmllbGRkZWZfIiArIGZpZWxkLnZhbHVlKS5maW5kKCIuYWpheC10b2dnbGUiKSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICQodGhpcykudmFsKDApOwoKICAgIH0pOwp9KTsg]]></data>
	</file>
	<file>
	  <filename>/framework/method.installGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEYXRhYmFzZSB0YWJsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFbmdpbmU9SW5ub0RCJyk7CgovLyBjcmVhdGUgaXRlbSB0YWJsZQokZmllbGRzID0gJwogICAgICAgICAgICBpdGVtX2lkIEkgS0VZIEFVVE8sCiAgICAgICAgICAgIHVybCBDKDI1NSksCiAgICAgICAgICAgIGNhdGVnb3J5X2lkIEksCiAgICAgICAgICAgIHRpdGxlIEMoMjU1KSwKICAgICAgICAgICAgYWxpYXMgQygyNTUpLAogICAgICAgICAgICBwb3NpdGlvbiBJLAogICAgICAgICAgICBhY3RpdmUgSTQsCiAgICAgICAgICAgIGNyZWF0ZV90aW1lIERULAogICAgICAgICAgICBtb2RpZmllZF90aW1lIERULAogICAgICAgICAgICBzdGFydF90aW1lIEQsCiAgICAgICAgICAgIGVuZF90aW1lIEQsCiAgICAgICAgICAgIGtleTEgQyg1MCksCiAgICAgICAgICAgIGtleTIgQyg1MCksCiAgICAgICAgICAgIGtleTMgQyg1MCksCiAgICAgICAgICAgIG93bmVyIEkKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBjcmVhdGUgY2F0ZWdvcnkgdGFibGUKJGZpZWxkcyA9ICcKICAgICAgICAgICAgY2F0ZWdvcnlfaWQgSSBLRVkgQVVUTywKICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZSBDKDI1NSksCiAgICAgICAgICAgIGNhdGVnb3J5X2FsaWFzIEMoMjU1KSwKICAgICAgICAgICAgY2F0ZWdvcnlfZGVzY3JpcHRpb24gWCwKICAgICAgICAgICAgcGFyZW50X2lkIEksCiAgICAgICAgICAgIHBvc2l0aW9uIEksCiAgICAgICAgICAgIGhpZXJhcmNoeSBDKDI1NSksCiAgICAgICAgICAgIGhpZXJhcmNoeV9wYXRoIEMoMjU1KSwKICAgICAgICAgICAgaWRfaGllcmFyY2h5IEMoMjU1KSwKICAgICAgICAgICAgYWN0aXZlIEk0LAogICAgICAgICAgICBjcmVhdGVfZGF0ZSBEVCwKICAgICAgICAgICAgbW9kaWZpZWRfZGF0ZSBEVCwKICAgICAgICAgICAga2V5MSBDKDUwKSwKICAgICAgICAgICAga2V5MiBDKDUwKSwKICAgICAgICAgICAga2V5MyBDKDUwKQonOwoKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBjcmVhdGUgaXRlbV9jYXRlZ29yaWVzCiRmaWVsZHMgPSAnCiAgICBpdGVtX2lkIEkgS0VZIE5PVCBudWxsLAogICAgY2F0ZWdvcnlfaWQgSSBLRVkgTk9UIG51bGwKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW1fY2F0ZWdvcmllcycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIGNyZWF0ZSBmaWVsZGRlZiB0YWJsZQokZmllbGRzID0gJwogICAgICAgICAgICBmaWVsZGRlZl9pZCBJIEtFWSBBVVRPLAogICAgICAgICAgICBuYW1lIEMoMjU1KSwKICAgICAgICAgICAgYWxpYXMgQygyNTUpLAogICAgICAgICAgICBoZWxwIEMoMjU1KSwKICAgICAgICAgICAgdHlwZSBDKDUwKSwKICAgICAgICAgICAgcG9zaXRpb24gSSwKICAgICAgICAgICAgcmVxdWlyZWQgSSwKICAgICAgICAgICAgdGVtcGxhdGUgQygyNTUpLAogICAgICAgICAgICBleHRyYSBYCic7Cgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8vIGNyZWF0ZSBmaWVsZGRlZiBvcHRpb25zIHRhYmxlCiRmaWVsZHMgPSAnCiAgICAgICAgICAgIGZpZWxkZGVmX2lkIEkgS0VZLAogICAgICAgICAgICBuYW1lIEMoMjU1KSBLRVksCiAgICAgICAgICAgIHZhbHVlIFgKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmX29wdHMnLCAkZmllbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgovLyBjcmVhdGUgZmllbGR2YWwgdGFibGUKJGZpZWxkcyA9ICcKICAgICAgICAgICAgaXRlbV9pZCBJIEtFWSBOT1QgbnVsbCwKICAgICAgICAgICAgZmllbGRkZWZfaWQgSSBLRVkgTk9UIG51bGwsCiAgICAgICAgICAgIHZhbHVlX2luZGV4IEkgS0VZIE5PVCBudWxsLAogICAgICAgICAgICB2YWx1ZSBYLAogICAgICAgICAgICBkYXRhIFgKJzsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsJywgJGZpZWxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRlbXBsYXRlcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCi8vIFN1bW1hcnkgdGVtcGxhdGVzCiRmbiA9IGNtc19qb2luX3BhdGgoTElTRV9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9kZWZhdWx0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZScsICdkZWZhdWx0Jyk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTRV9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9jYXRlZ29yaXplZC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X2NhdGVnb3JpemVkJywgJHRlbXBsYXRlKTsKfQoKJGZuID0gY21zX2pvaW5fcGF0aChMSVNFX1RFTVBMQVRFX1BBVEgsICdmZV9zdW1tYXJ5X2FjY29yZGlvbi50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X2FjY29yZGlvbicsICR0ZW1wbGF0ZSk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTRV9URU1QTEFURV9QQVRILCAnZmVfc3VtbWFyeV9zZWFyY2hyZXN1bHRzLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfc2VhcmNocmVzdWx0cycsICR0ZW1wbGF0ZSk7Cn0KCi8vIERldGFpbCB0ZW1wbGF0ZXMKJGZuID0gY21zX2pvaW5fcGF0aChMSVNFX1RFTVBMQVRFX1BBVEgsICdmZV9kZXRhaWxfZGVmYXVsdC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJywgJ2RlZmF1bHQnKTsKfQoKLy8gU2VhcmNoIHRlbXBsYXRlcwokZm4gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJ2ZlX3NlYXJjaF9kZWZhdWx0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaF9kZWZhdWx0JywgJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZGVmYXVsdF9zZWFyY2hfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgokZm4gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJ2ZlX3NlYXJjaF9maWx0ZXIudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VhcmNoX2ZpbHRlcicsICR0ZW1wbGF0ZSk7Cn0KCiRmbiA9IGNtc19qb2luX3BhdGgoTElTRV9URU1QTEFURV9QQVRILCAnZmVfc2VhcmNoX211bHRpc2VsZWN0LnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlYXJjaF9tdWx0aXNlbGVjdCcsICR0ZW1wbGF0ZSk7Cn0KCi8vIENhdGVnb3J5IHRlbXBsYXRlcwokZm4gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2RlZmF1bHQudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlfZGVmYXVsdCcsICR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgokZm4gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJ2ZlX2NhdGVnb3J5X2hpZXJhcmNoeS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeV9oaWVyYXJjaHknLCAkdGVtcGxhdGUpOwp9CgovLyBBcmNoaXZlIHRlbXBsYXRlcwokZm4gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJ2ZlX2FyY2hpdmVfZGVmYXVsdC50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdhcmNoaXZlX2RlZmF1bHQnLCAkdGVtcGxhdGUpOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19kZWZhdWx0X2FyY2hpdmVfdGVtcGxhdGUnLCAnZGVmYXVsdCcpOwp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUHJlZmVyZW5jZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvcnRvcmRlcicsICdBU0MnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FkbWluc2VjdGlvbicsICdjb250ZW50Jyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmx0ZW1wbGF0ZScsICd7JHByZWZpeH0veyRpdGVtX3RpdGxlfScpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJywgJHRoaXMtPkdldE5hbWUoKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3Npbmd1bGFyJywgdXRmOF9lbmNvZGUoaHRtbF9lbnRpdHlfZGVjb2RlKCR0aGlzLT5Nb2RMYW5nKCdpdGVtJykpKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpdGVtX3BsdXJhbCcsIHV0ZjhfZW5jb2RlKGh0bWxfZW50aXR5X2RlY29kZSgkdGhpcy0+TW9kTGFuZygnaXRlbXMnKSkpKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCB1dGY4X2VuY29kZShodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPk1vZExhbmcoJ2l0ZW1fdGl0bGUnKSkpKTsKLy8kdGhpcy0+U2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfY2F0ZWdvcnknLCAnMScpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFBlcm1pc3Npb25zCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2l0ZW0nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBNb2RpZnkgSXRlbXMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBNb2RpZnkgQ2F0ZWdvcmllcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9vcHRpb24nLCAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnOiBNb2RpZnkgT3B0aW9ucycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX3JlbW92ZV9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogUmVtb3ZlIGl0ZW1zJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfYXBwcm92ZV9pdGVtJywgJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJzogQXBwcm92ZSBpdGVtcycpOwokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX21vZGlmeV9hbGxfaXRlbScsICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICc6IE1vZGlmeSBhbGwgaXRlbXMnKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFdmVudHMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQcmVJdGVtU2F2ZScpOwokdGhpcy0+Q3JlYXRlRXZlbnQoJ1Bvc3RJdGVtU2F2ZScpOwoKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQcmVJdGVtRGVsZXRlJyk7CiR0aGlzLT5DcmVhdGVFdmVudCgnUG9zdEl0ZW1EZWxldGUnKTsKCiR0aGlzLT5DcmVhdGVFdmVudCgnUHJlSXRlbUxvYWQnKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCdQb3N0SXRlbUxvYWQnKTsKCiR0aGlzLT5DcmVhdGVFdmVudCgnUHJlUmVuZGVyQWN0aW9uJyk7]]></data>
	</file>
	<file>
	  <filename>/framework/method.uninstallGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIERhdGFiYXNlIHRhYmxlcw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtJyk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZicpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWZfb3B0cycpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknKTsgLy8gdGhlIG9ubHkgZ29vZCBjYXQgaXMgYSBkZWFkIGNhdA0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzJyk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCi8vIERFUFJFQ0FURUQNCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ190ZW1wbGF0ZScpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGR2YWwnKTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUZW1wbGF0ZXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoNCiR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOw0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFByZWZlcmVuY2VzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgUGVybWlzc2lvbnMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfY2F0ZWdvcnknKTsNCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X29wdGlvbicpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19yZW1vdmVfaXRlbScpOw0KJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19hcHByb3ZlX2l0ZW0nKTsNCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfbW9kaWZ5X2FsbF9pdGVtJyk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgRXZlbnRzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiR0aGlzLT5SZW1vdmVFdmVudCgnUHJlSXRlbVNhdmUnKTsNCiR0aGlzLT5SZW1vdmVFdmVudCgnUG9zdEl0ZW1TYXZlJyk7DQoNCiR0aGlzLT5SZW1vdmVFdmVudCgnUHJlSXRlbURlbGV0ZScpOw0KJHRoaXMtPlJlbW92ZUV2ZW50KCdQb3N0SXRlbURlbGV0ZScpOw0KDQokdGhpcy0+UmVtb3ZlRXZlbnQoJ1ByZUl0ZW1Mb2FkJyk7DQokdGhpcy0+UmVtb3ZlRXZlbnQoJ1Bvc3RJdGVtTG9hZCcpOw0KDQokdGhpcy0+UmVtb3ZlRXZlbnQoJ1ByZVJlbmRlckFjdGlvbicpOw0KDQo=]]></data>
	</file>
	<file>
	  <filename>/framework/method.upgradeGlobals.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKICAgc3dpdGNoICgkb2xkdmVyc2lvbikgCiAgIHsKICAgICAgY2FzZSAnMC4xLmIuMic6CiAgICAgICAgIyBhZGQgYSB0ZW1wbGF0ZSByb3cgZm9yIGZpZWxkIGRlZmluaXRpb24KICAgICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAgICAgICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYnLCAndGVtcGxhdGUgQygyNTUpJyk7CiAgICAgICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogICAgICAKICAgICAgY2FzZSAnMC4xLmIuMyc6CiAgICAgICAgIyB3ZSBub3cgc3VwcG9ydCBJbm5vREIgaW5zdGVhZCBvZiBNeUlTQU0KICAgICAgICAkcHJlZml4ID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ18nOwogICAgICAgIAogICAgICAgICR0YWJsZV9saXN0ID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fY2F0ZWdvcmllcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZGRlZicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZGRlZl9vcHRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkdmFsJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIGZvcmVhY2goJHRhYmxlX2xpc3QgYXMgJHRhYmxlKQogICAgICAgIHsKICAgICAgICAgICR0YWJsZW5hbWUgPSAkcHJlZml4IC4gJHRhYmxlOwogICAgICAgICAgJHF1ZXJ5ID0gJ0FMVEVSIFRBQkxFICcgLiAkdGFibGVuYW1lIC4gJyBFTkdJTkU9SW5ub0RCOyc7CiAgICAgICAgICBjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAgICAgfQogICAgICAgIAogICAgICBicmVhazsKICAgfQoKPz4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/framework/templates/admin_csv_import.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0aXRlbSI+CgkJeyR0aXRsZX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9jIj4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9yZXN1bHQiPjwvZGl2PgoKCQl7JGJhY2tsaW5rfQoJCXskc3RhcnRmb3JtfQoKCQk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJCQk8dGhlYWQ+CgkJCQk8dHIgY2xhc3M9InRvcCI+CgkJCQkJPHRoPnskbW9kLT5Nb2RMYW5nKCdpbXBvcnRfYWxpYXMnKX08L3RoPgoJCQkJCTx0aD57JG1vZC0+TW9kTGFuZygnZmlsZV9hbGlhcycpfTwvdGg+CgkJCQkJPHRoPntsYW5nKCdoZWxwJyl9PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygncmVxdWlyZWQnKX08L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGNsYXNzPSJjb250ZW50IiB3aWR0aD0iMTAwJSI+CgkJe2ZvcmVhY2ggZnJvbT0kZGF0YWJhc2VfdmFsdWVzIGl0ZW09b2JqfQoJCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInfSI+CgkJCQkJPHRkPnskb2JqLT5hbGlhc308L3RkPgoJCQkJCTx0ZD57aHRtbF9vcHRpb25zIG5hbWU9InskYWN0aW9uaWR9aW1wb3J0X3ZhbHVlc1t7JG9iai0+YWxpYXN9XSIgb3B0aW9ucz0kZmlsZV92YWx1ZXMgc2VsZWN0ZWQ9JGZpbGVfdmFsdWVzWyRvYmotPmFsaWFzXX08L3RkPgoJCQkJCTx0ZD57JG9iai0+aGVscH08L3RkPgoJCQkJCTx0ZD57JG9iai0+cmVxdWlyZWRfaW1hZ2V9PC90ZD4KCQkJCTwvdHI+CgkJey9mb3JlYWNofQkJCgkJCTwvdGJvZHk+CgkJPC90YWJsZT4JCQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyRwcmV2aW91c317JGRvX2ltcG9ydH17JGNhbmNlbH08L2Rpdj4KCQk8L2Rpdj4KCgkJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo8IS0tIGVuZCBjb250ZW50IC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/admin_csv_import_export.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0aXRlbSI+CgkJeyR0aXRsZX0KCTwvZGl2Pgo8L2Rpdj4KPCEtLSBlbmQgdGFiIC8vLS0+CjwhLS0gc3RhcnQgY29udGVudCAtLT4KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9jIj4gCgk8ZGl2IGlkPSJlZGl0aXRlbV9yZXN1bHQiPjwvZGl2PgoKCQl7JGJhY2tsaW5rfQoJCXskc3RhcnRmb3JtfQoKCQl7aWYgaXNzZXQoJGlucHV0X2V4cG9ydHZhbHVlcyl9CgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCd2YWx1ZXMnKX06PC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHBvcnR2YWx1ZXN9PC9kaXY+CgkJPC9kaXY+CgkJey9pZn0JCgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnZmlsZScpfTo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZpbGV9PC9kaXY+CgkJPC9kaXY+CgkKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQk8ZGl2IGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NlcGFyYXRvcn08L2Rpdj4KCQk8L2Rpdj4KCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdlbmNsb3N1cmUnKX06PC9kaXY+CgkJCTxkaXYgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbmNsb3N1cmV9PC9kaXY+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxkaXYgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L2Rpdj4KCQkJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L2Rpdj4KCQk8L2Rpdj4KCgkJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo8IS0tIGVuZCBjb250ZW50IC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/admin_reordercategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2Z1bmN0aW9uIG5hbWU9dHJlZV9tYW5hZ2VyIGRlcHRoPTAgdHJlZT0wfQogIDx1bCBjbGFzcz0ic29ydGFibGVMaXN0e2lmICRkZXB0aCA9PSAwfSBzb3J0YWJsZXsvaWZ9Ij4KICB7Zm9yZWFjaCBmcm9tPSR0cmVlIGl0ZW09aXRlbX0KICAgIDxsaSBpZD0iY2F0X3skaXRlbS5jYXRlZ29yeV9pZH0iPgoJCTxkaXYgY2xhc3M9ImxhYmVsIj48c3Bhbj4mbmJzcDs8L3NwYW4+eyRpdGVtLmNhdGVnb3J5X25hbWV9PC9kaXY+CgkJe2lmIGlzc2V0KCRpdGVtLmNoaWxkcmVuKX0KCQkJe3RyZWVfbWFuYWdlciBkZXB0aD0kZGVwdGgrMSB0cmVlPSRpdGVtLmNoaWxkcmVufQoJCXsvaWZ9CiAgICA8L2xpPgogIHsvZm9yZWFjaH0KICA8L3VsPgp7L2Z1bmN0aW9ufQoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBwYXJzZVRyZWUodWwpewoKCXZhciB0YWdzID0gW107Cgl1bC5jaGlsZHJlbigibGkiKS5lYWNoKGZ1bmN0aW9uKCl7CgkKCQl2YXIgc3VidHJlZSA9CSQodGhpcykuY2hpbGRyZW4oInVsIik7CgkJaWYoc3VidHJlZS5zaXplKCkgPiAwKQoJCQl0YWdzLnB1c2goWyQodGhpcykuYXR0cigiaWQiKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CgkJZWxzZQoJCQl0YWdzLnB1c2goJCh0aGlzKS5hdHRyKCJpZCIpKTsKCX0pOwoJCglyZXR1cm4gdGFnczsKfQoKalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKXsKCglqUXVlcnkoJ3VsLnNvcnRhYmxlJykubmVzdGVkU29ydGFibGUoewoJCWRpc2FibGVOZXN0aW5nOiAnbm8tbmVzdCcsCgkJZm9yY2VQbGFjZWhvbGRlclNpemU6IHRydWUsCgkJaGFuZGxlOiAnZGl2JywKCQlpdGVtczogJ2xpJywKCQlvcGFjaXR5OiA2LAoJCXBsYWNlaG9sZGVyOiAncGxhY2Vob2xkZXInLAoJCXRhYlNpemU6IDM1LAoJCXRvbGVyYW5jZTogJ3BvaW50ZXInLAoJCWxpc3RUeXBlOiAndWwnLAoJCXRvbGVyYW5jZUVsZW1lbnQ6ICc+IGRpdicKCX0pOwoKCWpRdWVyeSgiI2xpc2Vfb3JkZXJmb3JtIikuc3VibWl0KGZ1bmN0aW9uKCl7CgoJCXZhciB0cmVlID0gJC50b0pTT04ocGFyc2VUcmVlKCQoJ3VsLnNvcnRhYmxlJykpKTsKCQkkKCcjb3JkZXJkYXRhJykudmFsKHRyZWUpOwoJfSk7Cgp9KTsKPC9zY3JpcHQ+CjwhLS0gc3RhcnQgdGFiIC0tPgo8ZGl2IGlkPSJwYWdlX3RhYnMiPgoJPGRpdiBpZD0icmVvcmRlcl9jYXRlZ29yaWVzIj4KCQl7JG1vZC0+TW9kTGFuZygncmVvcmRlcl9jYXRlZ29yaWVzJyl9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0icmVvcmRlcl9jYXRlZ29yaWVzX2MiPiAKCgkJPGRpdiBpZD0ibGlzZV9vcmRlcmZvcm0iPgoJCQl7JGZvcm1zdGFydH0KCgkJCQk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfW9yZGVyZGF0YSIgdmFsdWU9IiIgaWQ9Im9yZGVyZGF0YSIgLz4KCgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJICA8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJCTxkaXYgY2xhc3M9InJlb3JkZXItcGFnZXMiPgoJCQkJCQl7dHJlZV9tYW5hZ2VyIHRyZWU9JHRyZWV9CgkJCQkJPC9kaXY+CgkJCQkgIDwvZGl2PgoJCQkJPGRpdj4KCgkJCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfTwvcD4KCQkJCTwvZGl2PgoJCQkJCgkJCXskZm9ybWVuZH0KCQk8L2Rpdj4KCgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIGNvbnRlbnQgLy8tLT4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/categorytab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQo8dGFibGUgaWQ9ImNhdGVnb3J5IiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2NhdGVnb3J5Jyl9PC90aD4KICAgICAgICAgICAgPHRoPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICAgICAgICAgIDx0aCB0aXRsZT0ieyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9hbGwnKX0iIGNsYXNzPSJwYWdlaWNvbiBuby1zb3J0Ij48aW5wdXQgaWQ9ImNoZWNrX2FsbF9jYXRlZ29yeSIgdHlwZT0iY2hlY2tib3giIC8+PC90aD4KICAgICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keSBjbGFzcz0iY29udGVudCIgd2lkdGg9IjEwMCUiPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgICA8dHIgaWQ9ImNhdGVnb3J5X3skZW50cnktPmNhdGVnb3J5X2lkfSIgY2xhc3M9Inskcm93Y2xhc3N9Ij4KICAgICAgICAgICAgPHRkPntyZXBlYXQgc3RyaW5nPSc+Jm5ic3A7JyB0aW1lcz0kZW50cnktPmRlcHRoIC0gMX17JGVudHJ5LT5uYW1lfTwvdGQ+CiAgICAgICAgICAgIDx0ZD57JGVudHJ5LT5hbGlhc308L3RkPgogICAgICAgICAgICA8dGQgY2xhc3M9ImluaXQtYWpheC10b2dnbGUgYXBwcm92ZS1jYXRlZ29yeSI+eyRlbnRyeS0+YXBwcm92ZX08L3RkPgogICAgICAgICAgICA8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJpbml0LWFqYXgtZGVsZXRlIj57JGVudHJ5LT5kZWxldGV9PC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJjYXRlZ29yeS1tYXNzLWFjdGlvbiI+eyRlbnRyeS0+c2VsZWN0fTwvdGQ+CiAgICAgICAgPC90cj4Key9mb3JlYWNofQogICAgPC90Ym9keT4KPC90YWJsZT4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDpyaWdodDsiPgo8c2VsZWN0IGlkPSJsaXNlX2NhdGVnb3J5X21hc3NfYWN0aW9uIj4KCTxvcHRpb24gdmFsdWU9IiI+eyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9vbmUnKX08L29wdGlvbj4KCTxvcHRpb24gdmFsdWU9ImRlbGV0ZSI+RGVsZXRlPC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJhcHByb3ZlIj5Ub2dnbGUgYWN0aXZlPC9vcHRpb24+Cjwvc2VsZWN0Pgo8L2Rpdj4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9e2lmIGlzc2V0KCRyZW9yZGVybGluayl9Jm5ic3A7eyRyZW9yZGVybGlua317L2lmfTwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0Y2F0ZWdvcnkiPgoJCXskdGl0bGV9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0iZWRpdGNhdGVnb3J5X2MiPiAKCXskYmFja2xpbmt9Cgl7JHN0YXJ0Zm9ybX0KCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRtb2QtPk1vZExhbmcoJ2NhdGVnb3J5X25hbWUnKX06PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhdGVnb3J5fTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPgoJCTwvZGl2PgoJCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIAkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57bGFuZygncGFyZW50Jyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9wYXJlbnR9PC9wPgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdjYXRlZ29yeV9kZXNjcmlwdGlvbicpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnlfZGVzY3JpcHRpb259PC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2FjdGl2ZScpfTo8L3A+CiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4KCQk8L2Rpdj4JCQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIGlkPSJsaXNlX3N1Ym1pdCIgdmFsdWU9IntsYW5nKCdzdWJtaXQnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCQkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgaWQ9Imxpc2VfY2FuY2VsIiB2YWx1ZT0ie2xhbmcoJ2NhbmNlbCcpfSIgdHlwZT0ic3VibWl0IiAvPgoJCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIGlkPSJsaXNlX2FwcGx5IiB2YWx1ZT0ie2xhbmcoJ2FwcGx5Jyl9IiB0eXBlPSJzdWJtaXQiIC8+CgkJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zYXZlX2NyZWF0ZSIgaWQ9Imxpc2Vfc2F2ZV9jcmVhdGUiIHZhbHVlPSJ7JG1vZC0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKX0iIHR5cGU9InN1Ym1pdCIgLz4JCQkJCgkJCTwvcD4KCQk8L2Rpdj4KCQoJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+DQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KCTxkaXYgaWQ9ImVkaXRmaWVsZGRlZiI+DQoJCXskdGl0bGV9DQoJPC9kaXY+DQoJe2lmIGlzc2V0KCRpbnB1dF9leHRyYSl9DQoJPGRpdiBpZD0iZmllbGRkZWZleHRyYSI+DQoJCXskbW9kLT5Nb2RMYW5nKCdleHRyYScpfQ0KCTwvZGl2PgkNCgl7L2lmfQ0KPC9kaXY+DQo8IS0tIGVuZCB0YWIgLy8tLT4NCjwhLS0gc3RhcnQgY29udGVudCAtLT4NCnskc3RhcnRmb3JtfQ0KPGRpdiBpZD0icGFnZV9jb250ZW50Ij4gDQoNCgl7JGJhY2tsaW5rfQ0KCTxkaXYgaWQ9ImVkaXRmaWVsZGRlZl9jIj4gDQoNCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX3R5cGUnKX06PC9wPg0KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHR5cGV9PC9wPg0KCQk8L2Rpdj4NCg0KCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX25hbWUnKX06PC9wPg0KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPg0KCQk8L2Rpdj4NCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2FsaWFzJyl9OjwvcD4NCgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxpYXN9PC9wPg0KCQk8L2Rpdj4NCgkJDQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl9oZWxwJyl9OjwvcD4NCgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRoZWxwfTwvcD4NCgkJPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX3JlcXVpcmVkJyl9OjwvcD4NCiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVxdWlyZWR9PC9wPg0KICAgIDwvZGl2PgkJDQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX3RlbXBsYXRlJyl9OjwvcD4NCgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQgdGVtcGxhdGVfaW5wdXQiPnskaW5wdXRfdGVtcGxhdGV9PC9wPg0KCQk8L2Rpdj4NCg0KCQk8ZGl2IGNsYXNzPSJsaXNlX3R5cGVvcHRpb25zIj4NCgkJe2lmIGlzc2V0KCRmaWVsZGRlZil9CQ0KCQkJeyRmaWVsZGRlZi0+UmVuZGVyRm9yRWRpdCgkYWN0aW9uaWQsICRyZXR1cm5pZCl9DQoJCXsvaWZ9DQoJCTwvZGl2Pg0KICAgICAgICAgIA0KCTwvZGl2Pg0Ke2lmIGlzc2V0KCRpbnB1dF9leHRyYSl9DQoJPGRpdiBpZD0iZmllbGRkZWZleHRyYV9jIj4gDQoNCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2V4dHJhJyl9OjwvcD4NCiAgICAJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZXh0cmF9PC9wPg0KCQk8L2Rpdj4NCgkJDQoJPC9kaXY+DQp7L2lmfQkNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQoJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIGlkPSJsaXNlX3N1Ym1pdCIgdmFsdWU9IntsYW5nKCdzdWJtaXQnKX0iIHR5cGU9InN1Ym1pdCIgLz4NCgkJCTxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgaWQ9Imxpc2VfY2FuY2VsIiB2YWx1ZT0ie2xhbmcoJ2NhbmNlbCcpfSIgdHlwZT0ic3VibWl0IiAvPg0KCQkJPGlucHV0IG5hbWU9InskYWN0aW9uaWR9YXBwbHkiIGlkPSJsaXNlX2FwcGx5IiB2YWx1ZT0ie2xhbmcoJ2FwcGx5Jyl9IiB0eXBlPSJzdWJtaXQiIC8+DQoJCQk8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1zYXZlX2NyZWF0ZSIgaWQ9Imxpc2Vfc2F2ZV9jcmVhdGUiIHZhbHVlPSJ7JG1vZC0+TW9kTGFuZygnc2F2ZV9jcmVhdGUnKX0iIHR5cGU9InN1Ym1pdCIgLz4JCQkJDQoJCTwvcD4NCgk8L2Rpdj4JCQ0KPC9kaXY+DQp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/framework/templates/edititem.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRiYWNrbGlua30NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCiAgICAgIDxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgaWQ9Imxpc2Vfc3VibWl0IiB2YWx1ZT0ie2xhbmcoJ3N1Ym1pdCcpfSIgdHlwZT0ic3VibWl0IiAvPg0KICAgICAgPGlucHV0IG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiBpZD0ibGlzZV9jYW5jZWwiIHZhbHVlPSJ7bGFuZygnY2FuY2VsJyl9IiB0eXBlPSJzdWJtaXQiIC8+DQogICAgICA8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1hcHBseSIgaWQ9Imxpc2VfYXBwbHkiIHZhbHVlPSJ7bGFuZygnYXBwbHknKX0iIHR5cGU9InN1Ym1pdCIgLz4NCiAgICAgIDxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfXNhdmVfY3JlYXRlIiBpZD0ibGlzZV9zYXZlX2NyZWF0ZSIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzYXZlX2NyZWF0ZScpfSIgdHlwZT0ic3VibWl0IiAvPg0KICAgIDwvcD4NCjwvZGl2Pg0KPCEtLSBzdGFydCB0YWIgLS0+DQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KCTxkaXYgaWQ9ImVkaXRpdGVtIj4NCgkJeyR0aXRsZX0NCgk8L2Rpdj4NCiAgICB7aWYgY291bnQoJGl0ZW1PYmplY3QpfQ0KICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpdGVtT2JqZWN0LT5maWVsZGRlZnMgaXRlbT0nZmllbGRkZWYnfQ0KICAgICAgICAgICAge2lmICRmaWVsZGRlZi0+dHlwZSA9PT0gJ1RhYnMnfQ0KICAgICAgICAgICAgICAgIHskZmllbGRkZWYtPmRpc3BsYXlUYWJIZWFkZXIoKX0NCiAgICAgICAgICAgIHsvaWZ9DQogICAgICAgIHsvZm9yZWFjaH0NCiAgICB7L2lmfQ0KPC9kaXY+DQo8IS0tIGVuZCB0YWIgLy8tLT4NCjwhLS0gc3RhcnQgY29udGVudCAtLT4NCjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IA0KICAgIDxkaXYgaWQ9ImVkaXRpdGVtX3Jlc3VsdCI+PC9kaXY+DQogICAgPGRpdiBpZD0iZWRpdGl0ZW1fYyI+DQoNCiAgICAgICAge2lmIGlzc2V0KCRpbnB1dF9hY3RpdmUpfQ0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdhY3RpdmUnKX06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWN0aXZlfTwvcD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICB7L2lmfQ0KDQogICAgICAgIHtpZiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdkaXNwbGF5X2NyZWF0ZV9kYXRlJywgMCkgPT0gMX0NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9J3BhZ2V0ZXh0Jz57JG1vZC0+TW9kTGFuZygnY3JlYXRlX3RpbWUnLCAnJyl9OiA8ZW0gc3R5bGU9J2ZvbnQtd2VpZ2h0OiBub3JtYWw7Jz57JGl0ZW1PYmplY3QtPmNyZWF0ZV90aW1lfTwvZW0+PC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIHsvaWZ9DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkdldFByZWZlcmVuY2UoJ2l0ZW1fdGl0bGUnLCAnJyl9Kjo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RpdGxlfTwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2FsaWFzJyl9OjwvcD57JGFsaWFzfGRlZmF1bHQ6Jyd9DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsaWFzfTwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3VybCcpfTo8L3A+eyR1cmx8ZGVmYXVsdDonJ30NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXJsfTwvcD4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3RpbWVfY29udHJvbCcpfTo8L3A+DQogICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RpbWVfY29udHJvbH08L3A+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgaWQ9ImV4cGlyeWluZm8ie2lmICR1c2VfdGltZV9jb250cm9sICE9IHRydWV9IHN0eWxlPSJkaXNwbGF5Om5vbmU7InsvaWZ9Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdzdGFydF90aW1lJyl9OjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N0YXJ0X3RpbWV9PC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnZW5kX3RpbWUnKX06PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZW5kX3RpbWV9PC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIHtpZiBjb3VudCgkaXRlbU9iamVjdCl9DQogICAgICAgICAgICB7Zm9yZWFjaCBmcm9tPSRpdGVtT2JqZWN0LT5maWVsZGRlZnMgaXRlbT0nZmllbGRkZWYnfQ0KICAgICAgICAgICAgICAgIHskZmllbGRkZWYtPlJlbmRlcklucHV0KCRhY3Rpb25pZCwgJHJldHVybmlkKX0NCiAgICAgICAgICAgIHsvZm9yZWFjaH0NCiAgICAgICAgey9pZn0gICAgDQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPg0KICAgICAgICAgICAgPGlucHV0IG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBpZD0ibGlzZV9zdWJtaXQiIHZhbHVlPSJ7bGFuZygnc3VibWl0Jyl9IiB0eXBlPSJzdWJtaXQiIC8+DQogICAgICAgICAgICA8aW5wdXQgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIGlkPSJsaXNlX2NhbmNlbCIgdmFsdWU9IntsYW5nKCdjYW5jZWwnKX0iIHR5cGU9InN1Ym1pdCIgLz4NCiAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJ7JGFjdGlvbmlkfWFwcGx5IiBpZD0ibGlzZV9hcHBseSIgdmFsdWU9IntsYW5nKCdhcHBseScpfSIgdHlwZT0ic3VibWl0IiAvPg0KICAgICAgICAgICAgPGlucHV0IG5hbWU9InskYWN0aW9uaWR9c2F2ZV9jcmVhdGUiIGlkPSJsaXNlX3NhdmVfY3JlYXRlIiB2YWx1ZT0ieyRtb2QtPk1vZExhbmcoJ3NhdmVfY3JlYXRlJyl9IiB0eXBlPSJzdWJtaXQiIC8+ICAgICAgICAgIA0KICAgICAgICA8L3A+DQogICAgPC9kaXY+DQo8L2Rpdj4NCnskZW5kZm9ybX0NCjwhLS0gZW5kIGNvbnRlbnQgLy8tLT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBhY3Rpb25faWQgPSAneyRhY3Rpb25pZH0nOw0KdmFyIGl0ZW1faWQgPSAneyRpdGVtT2JqZWN0LT5pdGVtX2lkfGRlZmF1bHQ6LTF9JzsNCnZhciBhamF4X3VybCA9ICd7JGFqYXhfZ2V0X3VybH0nOw0KdmFyIG1hbnVhbGx5X2NoYW5nZWQgPSBpdGVtX2lkOw0KdmFyIGZpbmlzaGVkX3NldHVwID0gMDsNCnZhciBhamF4X3hociA9IDA7DQp2YXIgYWpheF90aW1lb3V0Ow0KYWpheF91cmwgPSBhamF4X3VybC5yZXBsYWNlKC9hbXA7L2csJycpICsgJyZzdXBwcmVzc291dHB1dD0xJzsNCg0KZnVuY3Rpb24gYWpheF9nZXR1cmwoKSB7IA0KICB2YXIgZm9ybSA9ICQoJyNsaXNlX2VkaXRpdGVtIGZvcm0nKTsNCiAgdmFyIHZ0aXRsZSA9ICQoJyN7JGFjdGlvbmlkfXRpdGxlJykudmFsKCk7DQogIGFqYXhfeGhyID0gJC5wb3N0KGFqYXhfdXJsLCB7IHRpdGxlOiB2dGl0bGUsIGl0ZW1pZDogaXRlbV9pZCB9LCBmdW5jdGlvbihyZXRkYXRhKXsNCiAgICAkKCcjeyRhY3Rpb25pZH11cmwnKS52YWwocmV0ZGF0YSk7DQogICAgYWpheF94aHIgPSAwOw0KfSk7DQp9DQoNCmZ1bmN0aW9uIG9uX2NoYW5nZSgpIHsNCiAgaWYoIG1hbnVhbGx5X2NoYW5nZWQgPCAxICYmIGZpbmlzaGVkX3NldHVwID09IDEpIHsNCiAgICAvLyBhamF4IGZ1bmN0aW9uIHRvIGdldCBhIHVuaXF1ZSB1cmwgZ2l2ZW4gYSB0aXRsZS4NCiAgICBpZiggYWpheF90aW1lb3V0ICE9IHVuZGVmaW5lZCApIGNsZWFyVGltZW91dChhamF4X3RpbWVvdXQpOw0KICAgIGlmKCBhamF4X3hociA9IDAgKSB4aHIuYWJvcnQoKTsNCiAgICBhamF4X3RpbWVvdXQgPSBzZXRUaW1lb3V0KGFqYXhfZ2V0dXJsLDUwMCk7DQp9DQp9DQoNCmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQoNCg0KICAkKCd7JGFjdGlvbmlkfXVybCcpLmtleXVwKGZ1bmN0aW9uKCkgew0KICAgIHZhciB2YWwgPSAkKHRoaXMpLnZhbCgpOw0KICAgIG1hbnVhbGx5X2NoYW5nZWQgPSAwDQogICAgaWYoIHZhbCAhPSAnJyApIG1hbnVhbGx5X2NoYW5nZWQgPSAxOw0KfSk7DQoNCiAgJCgnZm9ybScpLmFqYXhTdGFydChmdW5jdGlvbigpIHsNCiAgICAkKCcqJykuY3NzKCdjdXJzb3InLCdwcm9ncmVzcycpOw0KfSk7DQoNCiAgJCgnZm9ybScpLmFqYXhTdG9wKGZ1bmN0aW9uKCkgew0KICAgICQoJyonKS5jc3MoJ2N1cnNvcicsJ2F1dG8nKTsNCn0pOw0KDQoNCiAgJCgnI3skYWN0aW9uaWR9dGl0bGUnKS5rZXl1cChmdW5jdGlvbigpIHsNCiAgICBvbl9jaGFuZ2UoKTsNCn0pOw0KDQogIGZpbmlzaGVkX3NldHVwID0gMTsNCiAgDQogIA0KICBqUXVlcnkoJ1tuYW1lPW0xX2FwcGx5XScpLmxpdmUoJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgaWYgKHR5cGVvZiB0aW55TUNFICE9ICd1bmRlZmluZWQnKSB7DQogICAgICB0aW55TUNFLnRyaWdnZXJTYXZlKCk7DQogIH0NCiAgdmFyIGRhdGEgPSBqUXVlcnkoJ2Zvcm0nKS5maW5kKCdpbnB1dDpub3QoW3R5cGU9c3VibWl0XSksIHNlbGVjdCwgdGV4dGFyZWEnKS5zZXJpYWxpemVBcnJheSgpOw0KICBkYXRhLnB1c2goew0KICAgICAgJ25hbWUnOiAnbTFfYWpheCcsDQogICAgICAndmFsdWUnOiAxDQogIH0pOw0KICBkYXRhLnB1c2goew0KICAgICAgJ25hbWUnOiAnbTFfYXBwbHknLA0KICAgICAgJ3ZhbHVlJzogMQ0KICB9KTsNCiAgZGF0YS5wdXNoKHsNCiAgICAgICduYW1lJzogJ3Nob3d0ZW1wbGF0ZScsDQogICAgICAndmFsdWUnOiAnZmFsc2UnDQogIH0pOw0KICB2YXIgdXJsID0galF1ZXJ5KCdmb3JtJykuYXR0cignYWN0aW9uJyk7DQogIGpRdWVyeS5wb3N0KHVybCwgZGF0YSwgZnVuY3Rpb24ocmVzdWx0ZGF0YSwgdGV4dCkgew0KICAgICAgdmFyIHJlc3AgPSBqUXVlcnkocmVzdWx0ZGF0YSkuZmluZCgnUmVzcG9uc2UnKS50ZXh0KCk7DQogICAgICB2YXIgZGV0YWlscyA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdEZXRhaWxzJykudGV4dCgpOw0KICAgICAgdmFyIGh0bWxTaG93ID0gJyc7DQogICAgICBpZiAocmVzcCA9PT0gJ1N1Y2Nlc3MnICYmIGRldGFpbHMgIT09ICcnKSB7DQogICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicgKyBkZXRhaWxzICsgJzxcL3A+PFwvZGl2Pic7DQogICAgfQ0KICAgIGVsc2Ugew0KICAgICAgICBodG1sU2hvdyA9ICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPjx1bCBjbGFzcz0icGFnZWVycm9yIj4nOw0KICAgICAgICBodG1sU2hvdyArPSBkZXRhaWxzOw0KICAgICAgICBodG1sU2hvdyArPSAnPFwvdWw+PFwvZGl2Pic7DQogICAgfQ0KICAgIGpRdWVyeSgnI2VkaXRpdGVtX3Jlc3VsdCcpLmh0bWwoaHRtbFNob3cpOw0KICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7IA0KICAgICAkKCcucGFnZW1jb250YWluZXInKS5oaWRlKCk7IA0KIH0sIDkwMDApDQp9LCAneG1sJyk7DQogIHJldHVybiBmYWxzZTsNCn0pOw0KfSk7DQo8L3NjcmlwdD4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBzdGFydCB0YWIgLS0+CjxkaXYgaWQ9InBhZ2VfdGFicyI+Cgk8ZGl2IGlkPSJlZGl0dGVtcGxhdGUiPgoJCXskdGl0bGV9Cgk8L2Rpdj4KPC9kaXY+CjwhLS0gZW5kIHRhYiAvLy0tPgo8IS0tIHN0YXJ0IGNvbnRlbnQgLS0+CjxkaXYgaWQ9InBhZ2VfY29udGVudCI+IAoJPGRpdiBpZD0iZWRpdHRlbXBsYXRlX2MiPiAKCTxkaXYgaWQ9ImVkaXR0ZW1wbGF0ZV9yZXN1bHQiPjwvZGl2PgoJeyRiYWNrbGlua30KCXskc3RhcnRmb3JtfQoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ3RlbXBsYXRlX25hbWUnKX06PC9wPgogICAgCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25hbWV9PC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ2RlZmF1bHRfdGVtcGxhdGVzJyl9OjwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCB0cGxfbGlzdCI+eyRpbnB1dF90cGxfbGlzdH08L3A+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3RlbXBsYXRlJyl9OjwvcD4KICAgIAkJPGRpdiBjbGFzcz0icGFnZWlucHV0IHRwbF9jb250ZW50Ij57JGlucHV0X3RlbXBsYXRlfTwvZGl2PgoJCTwvZGl2PgoKCQk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIAkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+e2lmIGlzc2V0KCRpZGZpZWxkKX17JGlkZmllbGR9ey9pZn17JHN1Ym1pdH17JGNhbmNlbH17JGFwcGx5fXtpZiBpc3NldCgkcmVzZXQpfXskcmVzZXR9ey9pZn08L3A+CgkJPC9kaXY+CgoJeyRlbmRmb3JtfQoJPC9kaXY+CjwvZGl2PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewoKCWpRdWVyeSgnLnRwbF9saXN0IHNlbGVjdCcpLmNoYW5nZShmdW5jdGlvbigpIHsKCQl2YXIgY2FsbGJhY2sgPSBhamF4X2Z1bmN0aW9uKCdNb2RHZXRUZW1wbGF0ZUZyb21GaWxlJywgJCh0aGlzKS52YWwoKSk7CgkJY2FsbGJhY2suc3VjY2VzcyhmdW5jdGlvbihkYXRhKSB7CgkJCWpRdWVyeSgnLnRwbF9jb250ZW50IHRleHRhcmVhJykudmFsKGRhdGEpOwoJCX0pOwoJfSk7CgogICAgalF1ZXJ5KCdbbmFtZT1tMV9hcHBseV0nKS5saXZlKCdjbGljaycsIGZ1bmN0aW9uKCkgewogICAgICAgIGlmICh0eXBlb2YgdGlueU1DRSAhPSAndW5kZWZpbmVkJykgewogICAgICAgICAgICB0aW55TUNFLnRyaWdnZXJTYXZlKCk7CiAgICAgICAgfQogICAgICAgIHZhciBkYXRhID0galF1ZXJ5KCdmb3JtJykuZmluZCgnaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLCBzZWxlY3QsIHRleHRhcmVhJykuc2VyaWFsaXplQXJyYXkoKTsKICAgICAgICBkYXRhLnB1c2goewogICAgICAgICAgICAnbmFtZSc6ICdtMV9hamF4JywKICAgICAgICAgICAgJ3ZhbHVlJzogMQogICAgICAgIH0pOwogICAgICAgIGRhdGEucHVzaCh7CiAgICAgICAgICAgICduYW1lJzogJ20xX2FwcGx5JywKICAgICAgICAgICAgJ3ZhbHVlJzogMQogICAgICAgIH0pOwogICAgICAgIGRhdGEucHVzaCh7CiAgICAgICAgICAgICduYW1lJzogJ3Nob3d0ZW1wbGF0ZScsCiAgICAgICAgICAgICd2YWx1ZSc6ICdmYWxzZScKICAgICAgICB9KTsKICAgICAgICB2YXIgdXJsID0galF1ZXJ5KCdmb3JtJykuYXR0cignYWN0aW9uJyk7CgkJCiAgICAgICAgalF1ZXJ5LnBvc3QodXJsLCBkYXRhLCBmdW5jdGlvbihyZXN1bHRkYXRhLCB0ZXh0KSB7CiAgICAgICAgICAgIHZhciByZXNwID0galF1ZXJ5KHJlc3VsdGRhdGEpLmZpbmQoJ1Jlc3BvbnNlJykudGV4dCgpOwogICAgICAgICAgICB2YXIgZGV0YWlscyA9IGpRdWVyeShyZXN1bHRkYXRhKS5maW5kKCdEZXRhaWxzJykudGV4dCgpOwogICAgICAgICAgICB2YXIgaHRtbFNob3cgPSAnJzsKICAgICAgICAgICAgaWYgKHJlc3AgPT09ICdTdWNjZXNzJyAmJiBkZXRhaWxzICE9PSAnJykgewogICAgICAgICAgICAgICAgaHRtbFNob3cgPSAnPGRpdiBjbGFzcz0icGFnZW1jb250YWluZXIiPjxwIGNsYXNzPSJwYWdlbWVzc2FnZSI+JyArIGRldGFpbHMgKyAnPFwvcD48XC9kaXY+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGh0bWxTaG93ID0gJzxkaXYgY2xhc3M9InBhZ2VlcnJvcmNvbnRhaW5lciI+PHVsIGNsYXNzPSJwYWdlZXJyb3IiPic7CiAgICAgICAgICAgICAgICBodG1sU2hvdyArPSBkZXRhaWxzOwogICAgICAgICAgICAgICAgaHRtbFNob3cgKz0gJzxcL3VsPjxcL2Rpdj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGpRdWVyeSgnI2VkaXR0ZW1wbGF0ZV9yZXN1bHQnKS5odG1sKGh0bWxTaG93KTsKICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXsgCiAgICAgICAgICAgIAkkKCcucGFnZW1jb250YWluZXInKS5oaWRlKCk7IAogICAgICAgICAgICAJfSwgOTAwMCkKICAgICAgICB9LCAneG1sJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7Cn0pOwp7L2xpdGVyYWx9PC9zY3JpcHQ+Cg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_archive_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRhcmNoaXZlc3xAY291bnQgPiAwfQoKICAgIDwhLS0gYXJjaGl2ZXMgLS0+CiAgICA8dWw+CiAgICAgICAge2ZvcmVhY2ggZnJvbT0kYXJjaGl2ZXMgaXRlbT0nYXJjaGl2ZSd9CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJ7JGFyY2hpdmUtPnVybH0iPnskYXJjaGl2ZS0+bW9udGh9L3skYXJjaGl2ZS0+eWVhcn0gKHskYXJjaGl2ZS0+Y291bnR9KTwvYT4gW3skYXJjaGl2ZS0+dGltZXN0YW1wfGNtc19kYXRlX2Zvcm1hdDonJUIgJVknfV08L2xpPiAgICAKICAgICAgICB7L2ZvcmVhY2h9CiAgICA8L3VsPgogICAgPCEtLSBhcmNoaXZlcyAvLy0tPgogICAgCnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_category_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBjYXRlZ29yaWVzIC0tPgo8dWw+Cntmb3JlYWNoIGZyb209JGNhdGVnb3JpZXMgaXRlbT1jYXRlZ29yeX0KCTxsaSBjbGFzcz0iY2F0ZWdvcnkteyRjYXRlZ29yeS0+YWxpYXN9Ij4KCQk8YSBjbGFzcz0iY2F0ZWdvcnktbmFtZSIgaHJlZj0ieyRjYXRlZ29yeS0+dXJsfSI+eyRjYXRlZ29yeS0+bmFtZX0gKHskY2F0ZWdvcnktPml0ZW1zfGNvdW50fSk8L2E+CgkJCXtpZiAhZW1wdHkoJGNhdGVnb3J5LT5kZXNjcmlwdGlvbil9CgkJCTxkaXYgY2xhc3M9ImNhdGVnb3J5LWRlc2NyaXB0aW9uIj4KCQkJCXtldmFsIHZhcj0kY2F0ZWdvcnktPmRlc2NyaXB0aW9ufQoJCQk8L2Rpdj4KCQkJey9pZn0KCTwvbGk+CnsvZm9yZWFjaH0KPHVsPgo8IS0tIGNhdGVnb3JpZXMgLy8tLT4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_category_hierarchy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBjYXRlZ29yaWVzIGhpZXJhcmNoeSAtLT4KPHVsIGNsYXNzPSJjYXRlZ29yaWVzIj4Ke2ZvcmVhY2ggZnJvbT0kY2F0ZWdvcmllcyBpdGVtPWNhdGVnb3J5fQoKe2lmICRjYXRlZ29yeS0+ZGVwdGggPiAkY2F0ZWdvcnktPnByZXZkZXB0aH0KCXtyZXBlYXQgc3RyaW5nPSI8dWw+IiB0aW1lcz0kY2F0ZWdvcnktPmRlcHRoLSRjYXRlZ29yeS0+cHJldmRlcHRofQp7ZWxzZWlmICRjYXRlZ29yeS0+ZGVwdGggPCAkY2F0ZWdvcnktPnByZXZkZXB0aH0KCXtyZXBlYXQgc3RyaW5nPSI8L2xpPjwvdWw+IiB0aW1lcz0kY2F0ZWdvcnktPnByZXZkZXB0aC0kY2F0ZWdvcnktPmRlcHRofQoJPC9saT4Ke2Vsc2VpZiAkY2F0ZWdvcnktPmluZGV4ID4gMH0KCTwvbGk+CnsvaWZ9Cgp7aWYgJGNhdGVnb3J5LT5jdXJyZW50fQo8bGkgY2xhc3M9ImNhdGVnb3J5LXskY2F0ZWdvcnktPmFsaWFzfSBjdXJyZW50e2lmICRjYXRlZ29yeS0+cGFyZW50ID09IHRydWUgfHwgJGNhdGVnb3J5LT5jaGlsZHJlbnxAY291bnQgPiAwfSBwYXJlbnR7L2lmfSI+Cgk8YSBocmVmPSJ7JGNhdGVnb3J5LT51cmx9Ij57JGNhdGVnb3J5LT5tZW51dGV4dH08L2E+CntlbHNlfQo8bGkgY2xhc3M9ImNhdGVnb3J5LXskY2F0ZWdvcnktPmFsaWFzfXtpZiAkY2F0ZWdvcnktPnBhcmVudCA9PSB0cnVlIHx8ICRjYXRlZ29yeS0+Y2hpbGRyZW58QGNvdW50ID4gMH0gcGFyZW50ey9pZn0iPgoJPGEgaHJlZj0ieyRjYXRlZ29yeS0+dXJsfSI+eyRjYXRlZ29yeS0+bWVudXRleHR9PC9hPgp7L2lmfQoKey9mb3JlYWNofQoKCXtyZXBlYXQgc3RyaW5nPSI8L2xpPjwvdWw+IiB0aW1lcz0kY2F0ZWdvcnktPmRlcHRoLTF9Cgk8L2xpPgo8L3VsPgo8IS0tIGNhdGVnb3JpZXMgaGllcmFyY2h5IC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_detail_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBpdGVtIC0tPgo8ZGl2IGNsYXNzPSJpdGVtIj4KCTxoMiBjbGFzcz0iaXRlbS10aXRsZSI+eyRpdGVtLT50aXRsZXxjbXNfZXNjYXBlfTwvaDI+CgoJe2lmICFlbXB0eSgkaXRlbS0+ZmllbGRkZWZzKX0KCgk8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPgoJCXtmb3JlYWNoIGZyb209JGl0ZW0tPmZpZWxkZGVmcyBpdGVtPWZpZWxkZGVmfQoKCQl7KgoJCQlDYXRlZ29yaWVzIHdlcmUgbW92ZWQgdG8gZmllbGQgZGVmaW5pdGlvbnMuCgkJCUlmIHlvdSBuZWVkIENhdGVnb3JpZXMsIGNyZWF0ZSBuZXcgRmllbGQgZGVmaW5pdGlvbiB3aXRoIGFsaWFzICJjYXRlZ29yeSIKCQkJYW5kIENhdGVnb3JpZXMgd2lsbCBiZSBhdmFpbGFibGUgYWdhaW4uCgkJKn0KCgkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDYXRlZ29yaWVzJyAmJiAoJGZpZWxkZGVmLnZhbHVlICE9ICcnKX0KCgkJCXsqIHVzZSBMSVNFTG9hZGVyIHBsdWdpbiBpZiB5b3UgbmVlZCBDYXRlZ29yeSBpbmZvcm1hdGlvbiBpbiBkZWZhdWx0IG1vZHVsZSBhY3Rpb24gdGVtcGxhdGVzICp9CgkJCXtMSVNFTG9hZGVyIGl0ZW09J2NhdGVnb3J5JyBmb3JjZV9hcnJheT0xIHZhbHVlPSRmaWVsZGRlZi52YWx1ZSBhc3NpZ249J2NhdHMnfQoJCgkJCTwhLS0gY2F0ZWdvcmllcyAtLT4KCQkJPGRpdiBjbGFzcz0iaXRlbS1jYXRlZ29yeSI+CgkJCQlDYXRlZ29yeTogeyRjYXRzfGltcGxvZGU6JywnfQoJCQk8L2Rpdj4KCQkJPCEtLSBjYXRlZ29yaWVzIC8vLS0+CgkJCQoJCXsvaWZ9CgoJCXtpZiAkZmllbGRkZWYudmFsdWUgJiYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQl7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ1NlbGVjdEZpbGUnIHx8ICRmaWVsZGRlZi50eXBlID09ICdGaWxlVXBsb2FkJ30KCQkJCXskZmllbGRkZWYubmFtZX06IDxhIGhyZWY9InskZmllbGRkZWYtPkdldEltYWdlUGF0aCh0cnVlKX0veyRmaWVsZGRlZi52YWx1ZX0iPnskZmllbGRkZWYudmFsdWV9PC9hPjxiciAvPgoJCXtlbHNlaWYgJGZpZWxkZGVmLnR5cGUgPT0gJ1NlbGVjdERhdGVUaW1lJ30KCQkJCQl7JGZpZWxkZGVmLm5hbWV9OiB7JGZpZWxkZGVmLnZhbHVlfGNtc19kYXRlX2Zvcm1hdH08YnIgLz4KCQl7ZWxzZX0KCQkJeyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX08YnIgLz4KCQkJey9pZn0KCQl7L2lmfQoKCQl7L2ZvcmVhY2h9Cgk8L2Rpdj4KCgl7L2lmfQoJCgk8YSBocmVmPSJ7JHJldHVybl91cmx9IiBjbGFzcz0icmV0dXJuLWxpbmsiPnJldHVybjwvYT4KCXsqIG9yIHVzZSB7JHJldHVybl9saW5rfSB0byBjcmVhdGUgbGluayB0YWcgKn0KCQo8L2Rpdj4KPCEtLSBpdGVtIC8vLS0+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fc2VhcmNoIj4KCXskZm9ybXN0YXJ0fQoJCTxsYWJlbCBmb3I9InskbW9kdWxlYWxpYXN9c2VhcmNoaW5wdXQiPnskbW9kLT5Nb2RMYW5nKCdzZWFyY2hmb3InKX06PC9sYWJlbD4mbmJzcDsKCQk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InskbW9kdWxlYWxpYXN9c2VhcmNoaW5wdXQiIG5hbWU9InskYWN0aW9uaWR9c2VhcmNoIiBzaXplPSIyMCIgbWF4bGVuZ3RoPSI1MCIgdmFsdWU9IiIgLz4KCQk8aW5wdXQgY2xhc3M9InNlYXJjaC1idXR0b24iIG5hbWU9InN1Ym1pdCIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzZWFyY2gnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCXskZm9ybWVuZH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_filter.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fZmlsdGVyIj4KCgk8aDM+eyRmaWx0ZXJwcm9tcHR9PC9oMz4KCgl7JGZvcm1zdGFydH0KCgkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWZzIGl0ZW09ZmllbGRkZWZ9CgkJPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgoJCQkKCQl7aWYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQk8bGFiZWwgZm9yPSJmaWx0ZXJfeyRmaWVsZGRlZi0+YWxpYXN9Ij57JGZpZWxkZGVmLT5uYW1lfTwvbGFiZWw+CgkJCQoJCQl7aWYgJGZpZWxkZGVmLnR5cGUgPT0gJ0NoZWNrYm94J30KCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9IiBpZD0iZmlsdGVyX3skZmllbGRkZWYtPmFsaWFzfSIgdmFsdWU9InskZmllbGRkZWYtPnZhbHVlfSIgLz4KCQkJe2Vsc2V9CgkJCQoJCQk8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9c2VhcmNoX3skZmllbGRkZWYtPmFsaWFzfSIgaWQ9ImZpbHRlcl97JGZpZWxkZGVmLT5hbGlhc30iPgoJCQkJPG9wdGlvbiB2YWx1ZT0nJz57JG1vZC0+TW9kTGFuZygnYWxsJyl9PC9vcHRpb24+CgkJCQl7Zm9yZWFjaCBmcm9tPSRmaWVsZGRlZi0+dmFsdWVzIGl0ZW09dmFsdWV9CgkJCQk8b3B0aW9uPnskdmFsdWV9PC9vcHRpb24+CgkJCQl7L2ZvcmVhY2h9CgkJCTwvc2VsZWN0PgoJCQl7L2lmfQoJCQkKCQl7L2lmfQoJCQkKCQk8L2Rpdj4KCQl7L2ZvcmVhY2h9CgkKCQk8aW5wdXQgY2xhc3M9InNlYXJjaC1idXR0b24iIG5hbWU9InN1Ym1pdCIgdmFsdWU9InskbW9kLT5Nb2RMYW5nKCdzZWFyY2gnKX0iIHR5cGU9InN1Ym1pdCIgLz4KCgl7JGZvcm1lbmR9Cgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_search_multiselect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBpZD0ieyRtb2R1bGVhbGlhc31fZmlsdGVyIj4KCgk8aDM+eyRmaWx0ZXJwcm9tcHR9PC9oMz4KCgl7JGZvcm1zdGFydH0KCgkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWZzIGl0ZW09ZmllbGRkZWZ9CgkJPGRpdiBjbGFzcz0iZmlsdGVyIGZvcm0tcm93Ij4KCgkJe2lmICRmaWVsZGRlZi50eXBlICE9ICdDYXRlZ29yaWVzJ30KCQkKCQkJPGxhYmVsPnskZmllbGRkZWYtPm5hbWV9PC9sYWJlbD48YnIgLz4KCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDaGVja2JveCd9CgkJCQkKCQkJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9IiBpZD0iZmlsdGVyX3skZmllbGRkZWYtPmFsaWFzfSIgdmFsdWU9InskZmllbGRkZWYtPnZhbHVlfSIgLz4KCQkJe2Vsc2V9CgkJCQkKCQkJCTxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1zZWFyY2hfeyRmaWVsZGRlZi0+YWxpYXN9W10iIHNpemU9IjUiIG11bHRpcGxlPSJtdWx0aXBsZSI+CgkJCQkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWYtPnZhbHVlcyBpdGVtPSd2YWx1ZSd9CgkJCQkJPG9wdGlvbiB2YWx1ZT0ieyR2YWx1ZX0iPnskdmFsdWV9PC9vcHRpb24+CgkJCQkJey9mb3JlYWNofQoJCQkJPC9zZWxlY3Q+CgkJCXsvaWZ9CgkJey9pZn0KCQk8L2Rpdj4KCQl7L2ZvcmVhY2h9CgoJCTxpbnB1dCBjbGFzcz0ic2VhcmNoLWJ1dHRvbiIgbmFtZT0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPk1vZExhbmcoJ2ZpbHRlcicpfSIgdHlwZT0ic3VibWl0IiAvPgoKCXskZm9ybWVuZH0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_summary_default.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQoKCXtpZiAkcGFnZWNvdW50ID4gMX0KCTwhLS0gcGFnaW5hdGlvbiAtLT4KCTxwPgoJCXtpZiAkcGFnZW51bWJlciA+IDF9CgkJCXskZmlyc3RwYWdlfSZuYnNwO3skcHJldnBhZ2V9Jm5ic3A7CgkJey9pZn0KCQkJe2ZvcmVhY2ggZnJvbT0kcGFnZWxpbmtzIGl0ZW09cGFnZX0KCQkJCXskcGFnZS0+bGlua30KCQkJey9mb3JlYWNofQoJCXtpZiAkcGFnZW51bWJlciA8ICRwYWdlY291bnR9CgkJCSZuYnNwO3skbmV4dHBhZ2V9Jm5ic3A7eyRsYXN0cGFnZX0KCQl7L2lmfQoJPC9wPgoJPCEtLSBwYWdpbmF0aW9uIC8vLS0+Cgl7L2lmfQoJCgk8IS0tIGl0ZW1zIC0tPgoJe2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1pdGVtfQoJPCEtLSBpdGVtIC0tPgoJPGRpdiBjbGFzcz0iaXRlbSI+CgkKCQk8aDIgY2xhc3M9Iml0ZW0tdGl0bGUiPnskaXRlbS0+dGl0bGV9PC9oMj4KCQoJCXtpZiAhZW1wdHkoJGl0ZW0tPmZpZWxkZGVmcyl9CgkJPCEtLSBmaWVsZCBkZWZpbml0aW9ucyAtLT4KCQk8ZGl2IGNsYXNzPSJpdGVtLXByb3BlcnRpZXMiPgoJCQl7Zm9yZWFjaCBmcm9tPSRpdGVtLT5maWVsZGRlZnMgaXRlbT1maWVsZGRlZn0KCQoJCQl7KgoJCQkJQ2F0ZWdvcmllcyB3ZXJlIG1vdmVkIHRvIGZpZWxkIGRlZmluaXRpb25zLgoJCQkJSWYgeW91IG5lZWQgQ2F0ZWdvcmllcywgY3JlYXRlIG5ldyBGaWVsZCBkZWZpbml0aW9uIHdpdGggYWxpYXMgImNhdGVnb3J5IgoJCQkJYW5kIENhdGVnb3JpZXMgd2lsbCBiZSBhdmFpbGFibGUgYWdhaW4uCgkJCSp9CgkKCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdDYXRlZ29yaWVzJyAmJiAoJGZpZWxkZGVmLnZhbHVlICE9ICcnKX0KCQoJCQl7KiB1c2UgTElTRUxvYWRlciBwbHVnaW4gaWYgeW91IG5lZWQgQ2F0ZWdvcnkgaW5mb3JtYXRpb24gaW4gZGVmYXVsdCBtb2R1bGUgYWN0aW9uIHRlbXBsYXRlcyAqfQoJCQl7TElTRUxvYWRlciBpdGVtPSdjYXRlZ29yeScgZm9yY2VfYXJyYXk9MSB2YWx1ZT0kZmllbGRkZWYudmFsdWUgYXNzaWduPSdjYXRzJ30KCQoJCQk8IS0tIGNhdGVnb3JpZXMgLS0+CgkJCTxkaXYgY2xhc3M9Iml0ZW0tY2F0ZWdvcnkiPgoJCQkJQ2F0ZWdvcnk6IHskY2F0c3xpbXBsb2RlOicsJ30KCQkJPC9kaXY+CgkJCTwhLS0gY2F0ZWdvcmllcyAvLy0tPgoJCQl7L2lmfQoJCgkJCXtpZiAkZmllbGRkZWYudmFsdWUgJiYgJGZpZWxkZGVmLnR5cGUgIT0gJ0NhdGVnb3JpZXMnfQoJCQkJe2lmICRmaWVsZGRlZi50eXBlID09ICdTZWxlY3RGaWxlJyB8fCAkZmllbGRkZWYudHlwZSA9PSAnRmlsZVVwbG9hZCd9CgkJCQkJeyRmaWVsZGRlZi5uYW1lfTogPGEgaHJlZj0ieyRmaWVsZGRlZi0+R2V0SW1hZ2VQYXRoKHRydWUpfS97JGZpZWxkZGVmLnZhbHVlfSI+eyRmaWVsZGRlZi52YWx1ZX08L2E+PGJyIC8+CgkJCQl7ZWxzZWlmICRmaWVsZGRlZi50eXBlID09ICdTZWxlY3REYXRlVGltZSd9CgkJCQkJeyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZXxjbXNfZGF0ZV9mb3JtYXR9PGJyIC8+CgkJCQl7ZWxzZX0KCQkJCQl7JGZpZWxkZGVmLm5hbWV9OiB7JGZpZWxkZGVmLnZhbHVlfTxiciAvPgoJCQkJey9pZn0KCQkJey9pZn0KCQoJCQl7L2ZvcmVhY2h9CgkJPC9kaXY+CgkJPCEtLSBmaWVsZCBkZWZpbml0aW9ucyAvLy0tPgoJCXsvaWZ9CgkKCQk8YSBocmVmPSJ7JGl0ZW0tPnVybH0iPm1vcmU8L2E+Cgk8L2Rpdj4KCTwhLS0gaXRlbSAvLy0tPgoJey9mb3JlYWNofQoJPCEtLSBpdGVtcyAvLy0tPgoKey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fe_summary_searchresults.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtc3xAY291bnQgPiAwfQoKe2lmICRwYWdlY291bnQgPiAxfQo8IS0tIHBhZ2luYXRpb24gLS0+CjxwPgp7aWYgJHBhZ2VudW1iZXIgPiAxfQogICAgeyRmaXJzdHBhZ2V9Jm5ic3A7eyRwcmV2cGFnZX0Key9pZn0Ke2ZvcmVhY2ggZnJvbT0kcGFnZWxpbmtzIGl0ZW09cGFnZX0KICAgIHskcGFnZS0+bGlua30Key9mb3JlYWNofQp7aWYgJHBhZ2VudW1iZXIgPCAkcGFnZWNvdW50fQogICAgJm5ic3A7eyRuZXh0cGFnZX0mbmJzcDt7JGxhc3RwYWdlfQp7L2lmfQo8L3A+CjwhLS0gcGFnaW5hdGlvbiAvLy0tPgp7L2lmfQoKe2lmICFlbXB0eSgkYWN0aW9ucGFyYW1zLnNlYXJjaCl9CiAgICA8aDI+eyRtb2QtPk1vZExhbmcoJ3NlYXJjaHJlc3VsdHNmb3InKX0gJnF1b3Q7eyRhY3Rpb25wYXJhbXMuc2VhcmNofSZxdW90OzwvaDI+CnsvaWZ9Cgo8dWw+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09aXRlbX0KICAgIDxsaSBjbGFzcz0iaXRlbSBzZWFyY2hyZXN1bHQiPgogICAgICAgIDxhIGhyZWY9InskaXRlbS0+dXJsfSI+eyRpdGVtLT50aXRsZX08L2E+CiAgICA8L2xpPgp7L2ZvcmVhY2h9CjwvdWw+Cgp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/fielddeftab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvZGl2Pgo8dGFibGUgaWQ9InNvcnRhYmxlX2ZpZWxkZGVmIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmJyl9PC90aD4KICAgICAgICAgICAgPHRoPnskbW9kLT5Nb2RMYW5nKCdhbGlhcycpfTwvdGg+CiAgICAgICAgICAgIDx0aD57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfdHlwZScpfTwvdGg+CiAgICAgICAgICAgIDx0aD57JG1vZC0+TW9kTGFuZygncmVxdWlyZWQnKX08L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICAgICAgICA8dGggdGl0bGU9InskbW9kLT5Nb2RMYW5nKCdzZWxlY3RfYWxsJyl9IiBjbGFzcz0icGFnZWljb24iPjxpbnB1dCBpZD0iY2hlY2tfYWxsX2ZpZWxkZGVmIiB0eXBlPSJjaGVja2JveCIgLz48L3RoPgogICAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5IGNsYXNzPSJjb250ZW50IiB3aWR0aD0iMTAwJSI+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09J2ZpZWxkZGVmJ30KICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgICAgPHRyIGlkPSJmaWVsZGRlZl97JGZpZWxkZGVmLT5HZXRJZCgpfSIgY2xhc3M9Inskcm93Y2xhc3N9IiBzdHlsZT0iY3Vyc29yOiBtb3ZlOyI+CiAgICAgICAgICAgIDx0ZD57JGZpZWxkZGVmLT5HZXROYW1lKCl9PC90ZD4KICAgICAgICAgICAgPHRkPnskZmllbGRkZWYtPkdldEFsaWFzKCl9PC90ZD4KICAgICAgICAgICAgPHRkPnskZmllbGRkZWYtPkdldEZyaWVuZGx5VHlwZSgpfTwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iaW5pdC1hamF4LXRvZ2dsZSI+eyRmaWVsZGRlZi0+R2V0UmVxdWlyZWQoKX08L3RkPgogICAgICAgICAgICA8dGQ+eyRmaWVsZGRlZi0+ZWRpdGxpbmt9PC90ZD4KICAgICAgICAgICAgPHRkIGNsYXNzPSJpbml0LWFqYXgtZGVsZXRlIj57JGZpZWxkZGVmLT5kZWxldGVsaW5rfTwvdGQ+CiAgICAgICAgICAgIDx0ZCBjbGFzcz0iZmllbGRkZWYtbWFzcy1hY3Rpb24iPnskZmllbGRkZWYtPnNlbGVjdH08L3RkPgogICAgICAgIDwvdHI+CnsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CjwvdGFibGU+CjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ij4KPHNlbGVjdCBpZD0ibGlzZV9maWVsZGRlZl9tYXNzX2FjdGlvbiI+Cgk8b3B0aW9uIHZhbHVlPSIiPnskbW9kLT5Nb2RMYW5nKCdzZWxlY3Rfb25lJyl9PC9vcHRpb24+Cgk8b3B0aW9uIHZhbHVlPSJkZWxldGUiPkRlbGV0ZTwvb3B0aW9uPgkKCTxvcHRpb24gdmFsdWU9InJlcXVpcmUiPlRvZ2dsZSByZXF1aXJlPC9vcHRpb24+Cjwvc2VsZWN0Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDpyaWdodDsiPnskc3VibWl0b3JkZXJ9PC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3N0cmlwfQ0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9jc3MvY29sb3Jib3guY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRyb290X3VybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9saWIvY3NzL2xpc2VIZWxwLmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0ieyRyb290X3VybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9mcmFtZXdvcmsvanMvanF1ZXJ5LmNvbG9yYm94LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQ+DQpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7bGRlbGltfQ0KCWpRdWVyeSgnLmNib3gnKS5jb2xvcmJveCh7bGRlbGltfQ0KCQlyZWw6J2dyb3VwJywNCgkJaWZyYW1lOiB0cnVlLA0KCQlpbm5lcldpZHRoOiA4MDAsDQoJCWlubmVySGVpZ2h0OiA0NTAsDQoJCW9wYWNpdHk6IDAuMg0KCXtyZGVsaW19KTsNCntyZGVsaW19KTsNCjwvc2NyaXB0Pg0KDQo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KCTxkaXYgaWQ9ImdlbmVyYWwiPg0KCQl7JG1vZC0+TW9kTGFuZygnZ2VuZXJhbCcpfQ0KCTwvZGl2Pg0KCTxkaXYgaWQ9InVzYWdlIj4NCgkJeyRtb2QtPk1vZExhbmcoJ3VzYWdlJyl9DQoJPC9kaXY+DQoJPGRpdiBpZD0icGVybWlzc2lvbnMiPg0KCQl7JG1vZC0+TW9kTGFuZygncGVybWlzc2lvbnMnKX0NCgk8L2Rpdj4NCgk8ZGl2IGlkPSJmaWVsZCI+DQoJCXskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZnMnKX0NCgk8L2Rpdj4NCgk8ZGl2IGlkPSJjYXRlZ29yaWVzIj4NCgkJeyRtb2QtPk1vZExhbmcoJ2NhdGVnb3JpZXMnKX0NCgk8L2Rpdj4NCgk8ZGl2IGlkPSJ0ZW1wbGF0ZXMiPg0KCQl7JG1vZC0+TW9kTGFuZygndGVtcGxhdGVzJyl9DQoJPC9kaXY+DQoJPGRpdiBpZD0iYWJvdXQiPg0KCQl7JG1vZC0+TW9kTGFuZygnYWJvdXQnKX0NCgk8L2Rpdj4JDQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+DQo8ZGl2IGlkPSJwYWdlX2NvbnRlbnQiPiAgDQoJPGRpdiBpZD0iZ2VuZXJhbF9jIj4NCgkJPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBV1FBQUFESUNBWUFBQURmc3BzQkFBQWdBRWxFUVZSNG5PMmRlWlJrVlpYdVQxVXhWWWtDUWxJYUZTU1JFVGZPL3I2OUx3V3RLTTZDcllnMHlBSzd0VlZRRkpYdXRsVlFXK1hwVTBSWHQ0b0t2TWJoMmJRellqOXQ3VmJScC9qc3B6M1lPR0E3SVNoRHdXT3FlWjZuOTBkRVNsRlVabVZFM0J2MzNzajlXK3RickVveTQ1Njc5N2xmM2p6RFBpRTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1UDB5NXdrU1E2dTErdnppMjdJTk13cHVnSE9RTXlyMSt2ekc0M0dJVVUzWkNiVTYvWDVydjZVSk1uQlJlZXZhc3dCY0xLUjF4amxIbE51VStWNkk5WW9zVXRWN3pMeUdqSytLQlJnaE1DaUkwbTVTRlgvMlJUM0dySERsTnVOMktHcWQ1SDhySWljRmtJNGFOaHRjMmJNZ1NyeVFwTFhtR0twRVp0TXVWYUpkVXJzTXVYTnBIeGtZbUppWWRFTkRTRUVFVG1SSW45bnlnZVUyR1hFR2xPdWRmVXVWYTVYWXBlU3Z5WHc0UmpqRTR2T2Iya3hrVk5NdWQyTTk1aHk5M1JLamN0TXVZM2txNGJVdkFOVTlWb2pscGx5NC9UdDA5VktyRFB5bWlHMXpka1BZMk5qaDVJOE96WDd2Nmx4a3lsWDdhK1BtWEt0bWE1U2JaOVVSSnVCOWhtcVdLNnFLMmZRVmxjZlV1WDlTaTRSa2NWRjVMaTBxSExyREIrU3ZiVWhOYjE5OGVMRmo4aXJiUURPNmJhdnQyUVRXMDI1MmNpTDgycWJNelV4eHFNTU9GK1ZQK3UrVmU3bkYrbVVXcTNBcDBJSUJ3eWozVW1TakpucHpVcXNLOXF3Wm9zNkwxRDQ5RER5VzNibW1uSjNhanBvVURlUXllUEd4OGVQeUtwaElyTFlpRnVOM0RSWTIvUjJvUDNtck5ybFRFMnIxVHJHeUl0TjlYWlZybFJpUzFZUGJXcmNGRUtZbTJmN1ZlU0ZxZW5Tb2cxcTlncjNKa21pZWVhNHRDd20wOVIwUTVZQnpkS1FqYnl5TzBhY1JkdFdrZkxSck5ybVBJaUlDQ252N1F4allYbHF6Q3BuKzlKcUFJL1A2VllPOHJmaTRwV2FiZ2l6Y2FKZWdYdXpEcVlTSzJLTWl3WnRtMEcrbkpwdXo3UnR5cFdrWEpCRjdHWTdaUEk0SXo5cXlvMUdMQ05rMTdBZVdGV3VIQnNiT3pUcmU4cnliZDQxdUxMT2I2a2grZG5jZ2tuY21TVEpXUDl0azQ4cXNEeVB0cVhHWlVtUzFMT001U3hobnNiNGRKSmZURlYzRTFoUjFJUGFIVjY3T2N1YlUrWDZvZzNJOWJBY2I4c3l4NldsM1c2ZmtPZWZacXJjQ3NSMzlkTTJjdUpZSlpma21uREtIVm5IZEJTcDErdnp5WGk2R2I3ZGZYdGNYZlNEK3FDd0hNQkxzcmhQVlRtcnUvS2pCUGZsMmtPclJWcW5aSkhqVW1PcWQrY2RUQ1dYdEZxdFkzcHRteXJlbmVHNDhSUnR3MzFwaWpQeWlHM1ZhVFFhaHdONHNTcHZWR0pkbWQ4Y1U5UGJzN2puZmxid3VJYW03V0dVeDVPMTNUNHBOWDBnOTBBU200QjRTUzl0R3hzYk85UTBuNkdLdlpXUy81QlhqS3NHZWV4akdlTmZtT3B2VExsS2ljMGxlQkQzS3lXWEFIakJZUGNlejdiK2xudTZoaUxjQytEa2pMcDYrU0RseXFFRnM4YzNHQkU1elhRSXZ5dzZXbDJyMVJia0ZlZXlreVJKaTVSM21PSmVKVllvc2EzNGg2OFBVZDQ2U0J5TStIVGg5K0RhVDQ1SGVJT1hLbjgzckVBcXNhNlh2ZXVBWEQ3RXRxMklNU0xQV0pjTkFNY1o1WXJPSmcwc04rWE93aCsyQVVYeVY0UEV4SlRWL0VVMHE0UjdzM29HU3Njd0E1bWFQa0JPSER2VHRpbjVnMkcxVFlrdGcvNjVXd0hta01tVHpQQ1oxSFM3UW9ZeUhEUnM5UnVjUnFOeGlKVjRqTnoxZTIwTG96aU8zR2cwRGhubXd2ZlV1S3pkYm5PbTdWUHlWOE5NTklrUDV4bnZnamdvSlo5amhxK2JjcnVOK1Bpb0t0ZjNXMEdzMFdnOHBsdVRwZkQ3Y09XVDQxSlRxOVVXV0tmcTBuQUNDVmtPNExpWnRzK0lXNGVaYUE0NC9sZ1dST1NSUVBzRlN2NGdOZDJvbEtIbHVHZ3BzYTdmc3AweHhrV204RzNTWlJleFppVG5lMHB2eUtyL05zUWs3MURWQy9PTWQ1NGtTVEpHa1F0U3d5OU11VG8xN2Jkd1QrWFZid3pIeHNZTzdSWTlLdndlWEZOTGlWMVpQanVsb2V5R3JLcWZIR0tTVndBNE5jOTRaMDJ6MlJ4WDRNMUtMbEZpaGErZjVXNVRETFFXdVZ0L3VRVDM0WnBLcW5wWFZzOVFxU2k3SVI5SFBtTlliM3BLM0ZlRkxkUXhSaWppWHl1eFFpSEw4OTQwVXpXUnVIcVErQTV6SXRuVnAwWjEyVnZaRFhsaVltS2hLWWV5RGxtSmRYbkdlaEJFNUVRRi9xY3BONnRpK1RBTDkxUkpxbHdwSWljT0V1c1VPS2Q3WWtuaDkrTjZ1Rkxqc3U3cFJLTkgyUTA1aEJCSTNwQjcyNGhOWkR3N3J6ajN3VHdnZWFhcWZzbTBZelJGUHdnVjBhb3N6dUh6WVl0U2F6U1h2SVZRRFVQdXZpWG4zRVpkVmZTaHJiVmFiUUdBTTVYOHJuVk9OZkhKcFY3NkZtV3RxcjQraTF3QTdUZFhkcWZpQ0NzMTNXakFxN1BJY1NtcGdpR0hFQUlwNzgvdHJZVllSc3BiOG9qdi9oZ2ZIejlDVmM0MXcwKzBrNGRNRHdlWVRjcXFzTkFrWHBpK2ZFcU5vMTJWc1NxR0hFSUlwcnd0aHdUdk1OVlZXY2QxT2tTa3BzRHJsUHh0OTBpalNoVHVLYm0yaFJEbVpaa25zcFYyRDlBdCt0NWNIVzNJODV6T1VsQWxRMmF6MmJhTTZ3eWt4bnV5anVtK2FMVmFpUUx2VXVYOTNab1IvdWR3UmlKeHA0cWNtMGZlRkxpa2s3UGk3M08ySzhkanVzcERsUXk1eTd5TWxzRnRVK1UvWlJiSWZkQnNOZzhqY1hVbnZsaXVST1VMOTVSTnFyekx6RTdJTTQ5ay9Bcy81TFRBSEJNcnpPelI5WHI5MFhubXVSUlUwSkJEQ09HZzdxcUR2b3habFN0VDQ0OHpDZUFVQUhpYkVpdXlQZ1BRMVJFaFcweTVPY2I0aER6ek9JbkYrTVR1Q1NtZXp5RkpsVnVOY2tjVzUzRldob29hY2tpUzVHQUFGNXJpWHB1aE1YZE4vR1lBVDg0aWRsTndvS25lN3V0WWM5TkdKYllvOEttUThaanhESmhINEF0bWVyZjVrRk4rSWpZcHVZU1V5eVltSmhZT09jZkZVbFZEbmlUR2VKU1JGNXZwYldaY284cjd0VE5HdTZvN1RMRENsSnRUOG5OcG11KzJhSkxIMml5dUg1SG5BMnFtcTB4NXN5citOZ3pmaUI4Q2dBWVpYNmJLRzAyNXR0dmZIdWpNRGJoNlZhZTZuajVneXJWbXZFTVYvNjNaYkk0WG1lUENxTG9oNzBtOVhwOGZZMFNNOFdrQVRoYVJFNGY1RzlaS2RlQm50YVhFT2lYV2tmZ2hHZiswMFdnY1Bxdzg5a0tqMFRoRVJHb3h4dU5GWkxHck44VVlqOWNrTVFDTkxEYjBWSjVSTXVRaTZTeWZLOTdJcXF6VWRMVXF0NnJLdHpURzUva0Q2c3c2M0pBSFI0RTMrWmh4bi8yaGMzYmZMak5jRjJOOFdnaGhidEg1ZEp6Q2NFTWVIUE1Kbmw0TWVHZDNIZllHSTYvV0pQbURvdlBuT0tYQkRYa3dTUDZWRy9MMDZpejl3M0l6WGFxS2R3UE5XSFRlSEtlVXVDRVBobzNBS2MyNTVKblkzRjJIZlRzcEYxV2h6clRqRkk0YmN2OGtTVExtWlRIM3lLMXl2Um5YS0hrVGdKY0RpNDRzT2tlT1V5bmNrUHNId01uRGpGMHAxU2tSdXRGVXY2Y3FaeTFjdUhDMGk3ODRUcDY0SWZjUEVGODlHMC91WUdlenpjNlUrSXFJbkJKQ09MRG9YRGpPU09DRzNEOUd2cU5vY3h5S0FVTjJtV0o1cDdZQXJ4bFcvUWpIbVhXNElmZFBkNFZGNFlhWmk0Z2QzVnJBcTBoNWY1SWtXblM4SFdma0dSVkRGcEVUR2VONUtmbjNLZmw5QTM1aWhuOGhjSFdhNHB4V3EzVjAxdGNrNDluV1o4VzVNa3FWV3hWWXJzcTdESGdiZ0ViV01Sc2xBRHhGZ1hlbjVGZU4vTEdTTjdsNkU0bWZtdUhmVmZWYUJTNk1NU0tFY0ZEUnVTMk1xaHN5WTN5UktkZXE4aTRsdGs1aE5PdE5zVFExM0pLbU9DZXJhOGNZMFNtTVVyeVo5cXZVdU1sVVZ4UDRKWURYekxycVdqMVNyOWZuSy9BaFUrNzAwMFN5bFJLN09pZm9jSzJSSHc0RkY1RXFoS29hY3F6VmpsSnlpZlY0QmgyQis1VDhMcGs4TG92NHBhWlZQQU52clNyWEcrVGZWZVNGU1pJOEtvdFlqRHFLK0NaVnJ2ZURCb2FpN2FyY0NpUm5GcDMzb1ZJMVEwNlM1T0R1S1J3REdhRXFmeDFqUEw3WmJCNDJTUHpNOE8wU2RONFpTRmVaY2x0S1htOW16MDJTNU9CQjduczIwV2cwRGpmeWpveE9xbkgxb003YWRud216SlpoaktvWnNnSG5XNFpsTGs4NjZhU0IzZzQ3d3hiNlFORWRkOS9DY2xQdVRDbWZBL0NVNElWNytrTEpYK1YyNHJsckp0cE84dnRGOTRPaFVDVkRKbmxORGp2alZyVmFyV01HaWFGQnZseUc5Y2hLN0RSeW1hcXVUeUZYeFJpUEgrUytuQkJVdVQ0MUxkcVFacjFTMCsycDZkS2krMFB1Vk1XUUc0M0c0YWJjbkV1N3lEc0dyYlZRNExqaXR1NGE0ZnNOZUdlcjFVb0d1US9uUVVoNWkva1plcVdSRXB0VjVZVkY5NHRjcVlvaDI0Qmp4dnRKOUU0alB6dElISk1rMGU0UXdaQTZKbGNxK1ZzQXJ4T1IyaUJ0ZHg1T3E5VTZ1ck02cDNnamN1MHBMQi9wL2w0RlF5YmxBM2svSEtxOGY5QzNTeFY1WVk3dFcyK2RNOGQrckNMbnpvb2owUXRFeVp1S054L1hGTS9DWFVYM2o5eW9naUVQWTBJbE5kMXRocThQR3M5NnZUN2ZqR3V5YVJQWG1ISXp5UnNBbkZHcjFSWU0yajVuL3dBNHpoUkxpelllMTVTNnU3dUJaUFFvdXlFRGVMd1M5dzJqYmFucHhpeGlPalkyZGlqSkwzWXJvZlVXSDJKRnFycGJWYjhFNE9Rd0d4ZkhGd3lCTDVUQWRGeFRQNmZiUmRwdkw3cWY1RUxaRFhuSUV5dXJ5R01mbTFWczIrMzJDYWwxMXE4cXNXWGZuWXM3ckxPTWI3T3FmRnhFVHN6cStrNS9kRGNjRlc0OHJta0UvS0xvZnBJTFpUZmtsTHgrV0cxTFRUZUt5TE95am5HOVhwK3ZNZjZocWx5YkVqODA1YzFHK2JrWi9oSEFYMmI1UzhBWm1MbXEzT2NXZkZlcHRMUG9qcElMNVRkay9IS1lpUWJ3dWp6ajdaUWJZTkdSQkZhVXdIQmMwMGhWMTQva2J0T3lHektKVzRlYWJPQnRlY2JiS1RjeHhrVlZMeGcxUzdSMkpDZTV5MjdJWnZxam9TWWFlRTJlOFhiS1RZenhxR0d0SjNjTnBNMWhGQ2U4eTI3SUJENDl4Q1N2QlhCcW52RjJwbVVPZ0FhQWQ2cnF2NmFHVzh6MHR0VHdIMGI1Q0lEbkR1R3RhSjRTK2V3SWRXVW1WYTdNdVI4VVE5a05HY0JMcGxxaGtMVlM0ekkvcm42NE5CcU5Rd0E4bDhRM1RMbGRpWFhUNUdpakV1dU11SE14bVVuNTFIMlJtdDVldE9HNHBoZUJyK1NWLzBJcHV5RzNXcTFqaGppbXR5SFBXRHNkNnZYNm8xWGtwYXE4VVlsMWZlM0NKSllaK2RteHNiRkRzMjZma2UvcExrY3MzSGhjRDVjU1cyS016ODQ2NzZXZzdJWWNRZ2lxdkQvdmRxWEdIYVI4SUs4NHozWmFyZFl4cEZ5a3l0OTE2bkFNUGl4QXlLN3VuNjZaamlXMldxMWtXSnVSWFAwcHkzeVhpaW9ZY296eDJmM3NldXRKeG50OHVDSmJraVJSSTkrbnhBcFRMTS96clRQckRUV204cHVpVGNmMWNDbXhVMVgvVjVhNUxoVlZNT1FRUWxEbGpUbTJhNk1CWDhzanZyT011VUR5WkJLZjdteXV3UEloMW9sZWZjSUpKeHllMVkySXlDazI3Q1dYcnYxS2lWMVo1YmlVVk1XUVJXU3hVZTdJS2NucjhvanRiS0M3Qy9GNVNuN1RsTnU2UjBVVjlNQWkwd0xtcEZ4bVJMNS9tYmxtTG1JWnlWZGxtZVBTVVJWRERpRUVNenNoanpabEhkTlJCMWgwcElxY2E2by9VbUxkZmxaR0RFMnEzRXJLWlZuZXE2cCszcmRTbDBPcWNsYVd1UzBsVlRKa1lOR1JyVllyeVdyVlJXcTZWSTQ2NnBFaGhBTXlEdXZJMFd3Mnh3MTRZMnA2TzRFVlpWMnJxOFNLUnFPUjJkQkZDQ0VZK1VVMzVlSkV5RG9EWGlNaWttVmVTMG1WREhrUzFmWkpxV25ma3k2cTNKcWFyZ1lXSFpsVkhFY1JzcFdTOG41VnJqUmlXUldXZ25YZmtqTmZMU01pcnpCbFNRK3pIV1hwNzREMm03UE9aMm1wb2lHSEVJSW15UjkwS3NIcDNUTytOckdyODhEeTRwRXNUREk0Y3dFOHhReWZTVTIzRzFISm1nNnEvSFVld1NINUhGUGVScFJqaUdhMGhhV212RHRWUFRlUFhKYVdxaHJ5SkdUN09TbjVmVk91VFUyWDd1TlB5dzNkNUs1VnhTVmhGUGUvRDBDOVhwOVB4dE5WNVZ1ZDJCVTVLWmVaVmlWSjhxaThZaVlpcHhseHA2bitQMU91SHNhSk5pTXZZb2RDbHFlbUQ1anEzU1QvUEsvOGxacXFHL0lralViakVCRTUwUXpuSy9CdW8zeUFJbThYa1Q4V2tZbXNyMWRsWW94SEFYaTVHWDdTOTA2NU1vdFlKaUtMODQ0ak9YR3N4dmgwQUs5UjRHOEF1ZHpWdTh6NFhqSytsakUrTzBtU3NienpWbXBHeFpDZDZRSFFVT0ROUnR6WjNTazNsUG9nQlJueUdzWjRldEV4ZDV5ZWNVTWVYUUFjQjhqbHFlbHFVeXczb3ZTVGNwbjBNZVY2QUdjV0hYL0g2UmszNUpGaW5vZzhOYVY4TGpYdVVNaXNyT3ViR3RjQWVFclJ5WENjbm5GRHJqYTFXbTBCZ0RNSWZLYzdEREVLazNLRDlUSGxTaEdwRlowYngra1pOK1Rxa1NUSm1BSG5LM21US2RlTzNLVGNnRXFObTRKdjluR3FpQnR5TlFEUUlQbFdKWmNvc1dLa0orVUc3V09xLzF4MHZoeW5MOXlReTB1bm9CS3ZNT1hxVGtIMjJURXBONGhTMDFVR3ZLVG8zRGxPWDdnaGw0cDVHdVBUVmZWYVUrNzB3emI3RUxHajZDUTZUdCs0SVJmTHdvVUxId0hnVEpJM0tMR2xzMFN0Qk1aV1FTbXhJZ1hPS0Rxbmp0TTNic2pEcDlWcUhhMHFyMURsejh5NHhwUWJpamF6eW92WVljQzNpODZ0NHd6RUtCbXlpTlJVNUU4WTQyc1Z1SVRrbndONGJxdlZPaWFQNi9WQ2pMR3B3Q1dxdkVzaHkzMVNMdU4rcGR4YVFGcm5kVGJmNEZReW51ZnFUd3E4VzBST2lUR2lnQnlXaTZvYmNxdlZTa2hlYjhxTjFsbUQrNUMzemRTNEpqVmRhc29OcXJoOG1PWmNyOWNmbmFiOG1CTHJVcU5QeXVYUm40aWRLZkhMWnJONTJMRHlDdUE0ZzN4TmlTMUszRWRnWGJlbzFVNVhYOXF1bExWSzNLZks5VXArYzlhYWMxVU51ZFZxSFVQZ0M5WmJqZHB0cHJ3N3Bid2g3L0tiWm5pbmtjdTYxeXpjdUVaVUcxVDFrM25tY1UrU0pLa3JlWk1xVjViZzNrZGJ4TEtVK0VZSVljNnc4bHNLcW1qSUFCcEtMdW43QUUxaTB4N0h4MmVhOEVhamNZZ3E3ekppVStHZGVrU1ZHamVaY2pQSloyU1p1K2t3eEhkMlRzOHUvdjVubFlnZFpMeDRXSGt1bkNvWmNvenhxUEh4OFNOTW1kbEtoRXN2dlhSdVZyRk0wN1JWbHZQbFJrMUtiT25VNXRCVkZMa2dxNXpOQktQOFBNcys1K3BaRHdCNHdUQnpYaGpWTXVUbTB6SnZrK25kNUxHUHpTS1d2bTQ0NDc2aVhKOGExNWpwZjZuS0sxdXQxdEZaNUtrWFNMbkFsS1U4UDNDVzZRRlYrZnl3OHo5MHFtTElNY2FucWZMWHViVEw5TjhHamFPZkdwR1pWcGx5czVMZlZaV3p4c2JHRGgwME4vMUNrY3ZNejlFcmt6YkVHQmNWMVIrR1FsVU1XWlUzNXRZbVlvdXF2S0xmR0ZMa0RUNW1QSWl3WElsZFpyaU9iRDhqbE9DWXJiR3hzVVBUemhyeEVzVEh0WWUyaDFHZTZLdUNJWk44V1dyTSs4RE56YUdQQ21IMWV2M1JRMmpiYUluWVljWmxxWEdOa1ZjTTQ3aWxYaUZ4ZGVGeGN1MUwyd3o0V3RIOUl6ZXFZTWltdURmdmRuVk9XZVo3ZW8wZkdjOHo1ZllTZE5SU3E3dG1kNFdxM21YQTI4cDh6cUdJMUV6Vmh5cEtxdFIwNmZqNCtCRkY5NU5jS0xzaGt4UEhxdkwrWWJXdjEvajVqcnRwdGNHTWExVDVNMVY1UlZVT3NGU1JsNXIva2kydGxGaEg4cnlpKzBrdWxONlFZM3laRWtPWjVWYmx5bDVNSTBtU01mcmExSWNvTlYydHhCYVNOd0E0YytIQ2hZL29yMmNXaDVML1dYUWNYZE5MbGQ4dHVwL2tRdGtOdVZ1S2NsaUpYdHVkVkpvUkFFNzFpWjlPVG8zWW9TcWZqekUrTFpSZ1VtNFFpbzZuYXdaOVRybSs2SDZTQzJVMzVKVDQ2YkRhUnNndUE4NmZhZHZJK05xK2R3dFdXY1FPSTVhWmNqV0pENDlTOWI3eDhmRWpmR3QwK1RXeXgzU1YzWkJKM0RyVVpBTnZtMm5iakh4SDBSMXphSG1ibkpRamw1QjhLNEJHWHgydTVNUVlGNWxpYWRIeGR1MVhhMnUxMm9LaSswdm1sTjJRaC9tR2JNcmRLdkw2bWJhTjVGK1ZvR1BtRnd2bGVsV3VKZkZUQUMrdnlxVGNJRXhNVEN6MFpZeVYwTVlRd29GRjk1Zk1LYnNoRzNEZEVKTzhvWmM5ODBEN0hPdVUvU3k2YzJhcFZhcmNhb1p2ayswL0dzbTNrR21vMSt2emRZalBnNnRQRVp1SzdpdTVVSFpEQnVLcmgxVkhXSlgzYTVMWVROdVdKSWwyYXkwWDMwRUh6RWxxM0pGU1BpY2lUdzBoWkZad3FZcVlGeElxdlZUMXhxTDdTUzZVM1pDVEpHa05xK3loRWx0Q2oyWmtWU3c4USt3d3hmTFVkQlVnbDQvU3BGd1dESGxsajZ0MzdSelprcHhsTitRUXdyeWgxWW13M3Jka211bjNTdEJCOXg5M1lvc3FWNmJHT3dDOGladzR0dGQ3blMwQXlUTjlZcSs4VW5KSmpQR0pSZmVUWEtpQUlRZFMzbTQ1ajlVcXVRVEFVM3FOSDlsS2xiaXY2RTY2NzN2Q09pWFhtdUVuSkY4R0xEcXkxL3VicmZoeFcrVlZhbnA3MGYwak42cGd5Q0dFa0JwemUwQUkyVVhnQy8zRzBBeGZLODk2WkYybHlxMnEraTB5bmw2djErZjNlMSt6R1lwY3BNaS9ob3FyTjZYR1phbzY0M21leWxFVlF3YncrTHdXN0tlR1d3WThWSEd1RlhwMkhwYWJjaHVKVHdQSms4TXNuNVRMQ2lWL29NVE9vazNJMVpFcXR4cHhkZEg5SWxlcVlzZ2hoS0F4L21IbWJTS1c5Ykt5WWlwaWpNY1BhOFZGYXR4aHhESWxWbERrZlZtMDM5azNxZkdlb28zSTFaRXFmMWQwZjhpZEtoa3ltODIyQWhjUzJaMWJKeUsxckdLcEt1Zm1GamRpTTRFVnFlbnRCcnl4Mld5T1o5VnVaM3AwQ09WZlhWTXJOZDFOOHZ0SmttalJmU0YzcW1USWt3RHhuWVRjT1ZCYlRHOWpxNVZtWFZlMVhxL1B6KzZnVTEydnhEcFYzcWdpNS9xa1hERUFhQkQ0WVdwYTRMRFVyTlVHSlg5VmRCOFlHbFUwNUJCQ0lPVU5xZWtHVTI3b3NRMnJsUHpQUE5mZTFtcTFCV1o2VzU5MW5GZWxwdHRUOG5vVE9hM1JhQnlTVnp1ZDNraUpyL2lwNHNOUmFycGJsU3NOK0plaTh6NVVxbXJJazVEeUFTVjJkYzF2cWdtWXphcGNyOFI5SnZLc3JLNjlQMVRrRmQyekFOZE9WY2crTmU1SVRWZDNWMFo4a2t5ZUZFYjV6TENLTXo0K2ZvU1MzN1RPZkVIMU5nV1ZYSjFmZUxqWFRQOXJOdFJPZVJoVk4rUkp5T1J4cEx5RnhEZFN3eThNdU1WTWYyVGtOUlM1b01oQzZVbVNQQXJBR1NubFk2bmhQd3k0eFNnL1RvbHZBUEdkclZicm1LTGE1dlRIeE1URVFoRTV4UXhmVG9sZmRpcmh1ZnBSYXJyVWdGc011RTVWWDlwb05CNVRkSDRMWTFRTTJYRWNwL0s0SVR1TzQ1UUVOMlRIY1p5UzRJYnNPSTVURXR5UUhjZHhTb0lic3VNNFRrbHdRM1ljeHlrSmJzaU80emdsd1EzWmNSeW5KTGdoTzQ3amxJUmhHN0lwVnh2d0FoRlo3SEs1WEpva05qRXhzVENFY0dEUmZsZzRRMzlESm5hWjZlck9LUmN1bDJ1Mkt6VXU2NTRzdjhGVXZxY2lydzhoSEZDME54WkNBVy9JTHBmTE5iVTZwOHh2QnRxdkM3UHRPREkzWkpmTFZVWXBzVldKTFNHRWVVWDc1TkJ3UTNhNVhDWFhkaEY1Wk5GZU9SVGNrRjB1VjltbHhDNmcvZUtpL1RKMzNKQmRMbGNWcE1xVml4Y3ZQcnBvejh3Vk4yU1h5MVVWS2ZuYm9qMHpWOXlRWFM1WFpVUnNJbmwyMGI2Wkc3VmFiVUdxOUpOMFhTNVhKYVRLbFVYN1ptN1VhclVGcVhGVDBVRjJ1Vnl1bVNnMXJoR1JFNHYyemx6b0RsbHNLenJJTHBmTE5WT3A2aWVMOXM1Y3FOVnFDNVRZVlhTQVhTNlhhNlpLamN1SzlzNWM2TDRoRng1Z2w4dmw2a0U3aS9iT1hGaTBhTkdSSlFpdXkrVnl6VnpFbWxxdHRxQm8vOHdja3UzQ2crdHl1Vnc5U0pYcmt5UTV1R2oveklONVJRZlg1WEs1ZXBFU3U0bzJ6dHd3NWM2aUEreHl1Vnd6MVVqdjJGUHl0MFVIMk9WeXVXWXFVcTRvMmpkemc0d1htNzhsdTF5dWF1aUJHT01UaS9iTjNMajAwa3ZubGlESUxwZkx0VitwOHE2aVBUTjNGUEZOUlFmYTVYSzVwcE1xMThjWWp5L2FMNGRDMGNGMnVWeXVhV1gybWFKOWNxZ1VIbkNYeStYYXAzQnYwZjQ0ZEh3ODJlVnlsVkFiVk5XSzlzZENVSkd6ekZkZHVGeXVncFdhN2pibDdoREMzS0o5c1hCTWVWdlJDWEc1WExOV3EweTVyV2dmTEJVcThpZXBjWWNTL3Nic2NybnlsL0VlVTI0emtXY1Y3WCtsUlVWZXFlUk5xZW4ydlFQWXJhZTh6WlFickhNK244dmxjczFJU3F4VDVWWlQzSnVTZnk4aXA0UVE1aFR0ZVpXaTJXd2V0bWpSb2lQcjlmcDhsOHZsNmtlMVdtMUJvOUU0SlBnWXNlTTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdE9sMVdvZDAyZzBEdS8zNTVNa3FZZDliQkJvdFZySDdGVVRkMTZqMFRoOFVtR3ZOYTFrKzQvMitMemZVNi9YNXdPTGp1eTNmWTdqT0ZWZ0xza2JUTGxSbFZ0RjVQbjlmSWdDRjQ2TmpSMjY5OWVCNUprS1hEajU3M2E3ZllMdHNYT1VuRGgyeis4bjhJVVF3b0VLdks3ejh6ZzFoQkNTSkZFUk9hMmZ0am1PNDFRQ0FJMUpZd1FXSFZtcjFSYUl5UFBKZURZcEgrMXVqUTBpVWxQZ2c2VDg5eVJKRGc0aHpGSGdRZ0tmRUpHbmlzZ2ZoeEFPWXJQWkJ1UnlCZjY2MFdnY1BwVWhkejhqaE5BeFcwQ3VVcEUvVTVYUGh4RG1BSGdKMlg2T1VYNnV3THRpakUwZ2VYSzN6UzhtNVNOQSs1enV2NThySXM4bmNEVVp6eDVxQUIzSEtUZk5abk1jUUtQWmJCNDJ4YmNjUk1aWDFldjErVmxldDJPcTAxNTNYeHhBNHBkSy9vcHNQeWVFRUFDNUNvZ3ZUNUxrWUNXL21TVEpvMVRsMmlSSnhnQ2Nxc0FsWkh5UkFtOEtJUnc0TmpaMktJRlBqSTJOSFJwalBHcHNiT3hRRVhrV0VOODQ1UnN5OERWVitWSUlJWmpLLzI0Mm00ZHB1MzBTaWUrRUVPYW95clVoaEdEQWRaMTdhejlEUmY0TVNKNUp5bnRENXhmQ2gyS01UNkRJWmFSY0ZFS1laOERYczQ2cjR6Z1ZScFhyVGJtYkltL2YxLytQTVQ3QmxMc24zejVud0R5Z0dXZHczYTJkdDExNXkrVFhGaTVjK0loV3EzWE1kRC9YYkRZUFUrQnZWTGxWWTN3ZUlGZkZHQmVGRUFKRjN0NXByL3dHa010SnVaS1VEM1QrKytCd3c2UWhBOG1UU1hrdktWZVE4cDZwREptTXJ5TGplYlZhYmNHaytZWVFnZ0gvR0tZeFpBVXVtVHpGdUd2T0YxSGtzbmE3emM3M3laV3RWdXZvR2NiVmNaeFJaMytHSEVLWUMrRE1FTUlCTS9rOE1ua1N5UnRtY04ySEdUSkZMaURseXFrLys5akhrc25qUWdnSHF2SmZTWGtISUZlMTIrMFRRZ2lCd05WSmtyUlU1VnNQdVJid0xtMjNUL3I5NTNRTnVmdDk4MktNVDV6T2tDY21KaFoySi9VT1VNby9oUkJDbzlFNGhPVDFZVHBERm5tbGlwelYrVnI4VXhVNWx5S1h0VnF0cFBNMU4yVEhjZlpnQm9ZOHI5Rm9QQ2JzWmNneFJwRHRaMmlTV0FoaFh2ZkxjenB2bS94K285RjRUUGZuRHByaXVuc2I4b0Vrcnlmd2lUMSs5aUVySVRSSnpJZzFTdXdpY2F1SVRBQnlsYXA4dkR0bS9IY2hoRURHOHd5NGpwUXJHZVBwU1pMVVNYNVZnUStLeUdtL04yVGdVeFI1bndJZm9zaGxNNW5VSStVZEJLNVc0RzlKK1Z6WXc1Qkovb01DbDA0YThzS0ZDeCtoS3ArbnlQc011SzVXcXkxd1EzWWNaMHIyWjhoSmtyUk11YnRydkNIR3VNaUFuNmh5cXdMTHV6V3JIeGdmSHorQzVGZVYyTm45Mm5aVGJnZndsQ211K3hCREpuR3JFcnU2Qnhac04rWDJLY2FYNXlSSjhxakpmd0J5VlpJa1l5THl5TDNhZmZCZUt5bm03djA5SVlTd3I2L3RqKzduN3F1czQ1eDlyTjU0U0hzZHgzR21wRmREVnBXUG04cjNKbzJzMld3ZXhoaFBmL0R6NHYvb2Q4aENWZjdQZEVNVysyTFNrSHY1R2NkeG5GTFNxeUdUL0dKM01tdUt6eHV1SVljUURneCtDb1RqT0tOQXI0WU00R1FsTml2NVhZM3hlV0d2UDkwTE1HVEhjWnpSb0ZkRERpRUVvQmtWK0pRU1c3cVRhNmM5K0hsdXlJN2pPSDNSanlGUE1qRXhzVkNCVDVseWU1SWsydms4TjJUSGNTM0hobEFBQUFEWlNVUkJWSnkrbURSa0JUNElvTEduUWdnSFRtZklYZWFZOGdFQTU0Y1FBaWxYS1BtREdWejM0ZXVRaWUrUThyRXM3c3R4SEtkeVRCcnl2aVFpOHZCSnZYaGVkL2ZaZ1NHRUE4aDRkbmQ1MitORENBSEFYNXB5WTNjMzJ0dzk2MERzZGQxOUdMSjh6QlMzZDFkTkhCUWVYTi9zT0k0eit2UnV5UEplVlc3dHJqZmVhY3JWazlYT1FnZ2hTWkpIbWNxUFRMbmJpQjFUVlQzYmx5RW5TZEpTY3Nua1p6ZWJ6Zkg4SStBNGpsTmhHbzNHSWExV0swbVNwQlgydmFWNmpvaE03Szh1eFJUTVk3UFo5aDFzanVNNGp1TTRqdU00czQzL0Q3QkVmWVRvK2FpOUFBQUFBRWxGVGtTdVFtQ0MiIGFsdD0iTElTRSBMb2dvIiAvPg0KCQl7JG1vZC0+TW9kTGFuZygnaGVscF9nZW5lcmFsJyl9DQoJPC9kaXY+CQ0KCTxkaXYgaWQ9InVzYWdlX2MiPgkJDQoJCXskdXNhZ2VfdGV4dH0NCgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsiPg0KCQkJeyRtb2QtPk1vZExhbmcoJ2hlbHBfdXNhZ2Vfb3B0aW9ucycpfQ0KCQk8L2Rpdj4NCgkJPGJyIHN0eWxlPSJjbGVhcjpib3RoOyIgLz4NCgkJPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgZGlzcGxheTogaW5saW5lOyI+DQoJCQl7JG1vZC0+TW9kTGFuZygnaGVscF91c2FnZV9maWVsZGRlZnMnKX0NCgkJPC9kaXY+DQoJCTxiciBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQoJCTxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCgkJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX3VzYWdlX2NhdGVnb3JpZXMnKX0NCgkJPC9kaXY+DQoJCTxiciBzdHlsZT0iY2xlYXI6Ym90aDsiIC8+DQoJCTxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij4NCgkJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX3VzYWdlX2l0ZW1zJyl9DQoJCTwvZGl2Pg0KCQk8YnIgc3R5bGU9ImNsZWFyOmJvdGg7IiAvPg0KCTwvZGl2Pg0KCTxkaXYgaWQ9InBlcm1pc3Npb25zX2MiPg0KCQl7JHBlcm1pc3Npb25zX3RleHR9DQoJPC9kaXY+DQoJPGRpdiBpZD0iZmllbGRfYyI+DQoJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX2ZpZWxkZGVmcycpfQ0KCTwvZGl2Pg0KCTxkaXYgaWQ9ImNhdGVnb3JpZXNfYyI+DQoJCXskbW9kLT5Nb2RMYW5nKCdoZWxwX2NhdGVnb3JpZXMnKX0NCgk8L2Rpdj4NCgk8ZGl2IGlkPSJ0ZW1wbGF0ZXNfYyI+DQoJCXskdGVtcGxhdGVzX3RleHR9DQo8cHJlIGNsYXNzPSJjb2RlIj4NCjxjb2RlPg0Ke2xpdGVyYWx9DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19DQoJeyRpdGVtLT5maWVsZGRlZnMucG9zaXRpb24udmFsdWV8Y21zX2VzY2FwZX0mbHQ7YnIgLyZndDsNCnsvZm9yZWFjaH0NCnsvbGl0ZXJhbH0NCg0Ke2xpdGVyYWx9DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWl0ZW19DQoJeyRpdGVtLT5wb3NpdGlvbnxjbXNfZXNjYXBlfSZsdDticiAvJmd0Ow0Key9mb3JlYWNofQ0Key9saXRlcmFsfQ0KPC9jb2RlPg0KPC9wcmU+DQoJPC9kaXY+DQoJPGRpdiBpZD0iYWJvdXRfYyI+DQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCQkNCgkJCTxoMz5BYm91dCB0aGlzIG1vZHVsZTwvaDM+DQogICAgICA8cD5PcmlnaW4gb2YgdGhpcyBtb2R1bGUgY29tZXMgZnJvbSA8c3Ryb25nPkxpc3RJdCBNb2R1bGU8L3N0cm9uZz4gZGV2ZWxvcGVkIGJ5IDxzdHJvbmc+QmVuIE1hbGVuPC9zdHJvbmc+LjxiciAvPkFzIHRoZXJlIHdlcmUgbm8gcGxhbnMgb24gZnVydGhlciBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlIHNvbWUgcGVvcGxlIGRlY2lkZWQgdG8gZm9yayB0aGUgbW9kdWxlIGFuZCBjb250aW51ZSB3aXRoIGRldmVsb3BtZW50LjxiciAvPg0KCQkJVGhpcyBpcyBhIHRoaXJkIGdlbmVyYXRpb24gZm9yayBvZiB0aGUgbW9kdWxlIGFuZCB0aGVyZSBhcmUgb3RoZXJzLiBDb25zaWRlciB0aGlzIGFzIGFub3RoZXIgZmxhdm91ciBvZiB0aGUgb3JpZ2luYWwgbW9kdWxlLjxiciAvPg0KCQkJSWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTM0NSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPg0KCQkJPHA+UGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IGRldmVsb3BlcnMgZG8gaGF2ZSB0aGVpciBkYWlseSBqb2JzIHdoaWNoIG1lYW5zIHRoYXQgZmVhdHVyZSByZXF1ZXN0cyBhcmUgY29uc2lkZXJlZCBhbmQgZG9uZSBhcyB0aW1lIGFsbG93cy4gSWYgeW91IG5lZWQgYSBmZWF0dXJlIHJlYWxseSBiYWRseSBjb25zaWRlciBjb250YWN0aW5nIG9uZSBvZiB0aGUgZGV2ZWxvcGVycyBmb3IgYSBzcG9uc29yZWQgZGV2ZWxvcG1lbnQuDQoJCQk8L3A+DQoJCQkNCiAgICAgIDxoMz5TdXBwb3J0PC9oMz4NCiAgICAgIDxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQogICAgICA8cD5UaGUgbW9kdWxlIGF1dGhvciBpcyBpbiBubyB3YXkgb2JsaWdhdGVkIHRvIHByb3ZpZGUgc3VwcG9ydCBmb3IgdGhpcyBjb2RlIGluIGFueSBmYXNoaW9uLiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0cyB1c2U6PC9wPg0KICAgICAgPHA+SWYgeW91IGZpbmQgYW55IGJ1Z3MgcGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYSBidWcgcmVwb3J0IDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvYnVnL2xpc3QvMTM0NSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+IG9yIGZvciBhbnkgZ29vZCBpZGVhcyBjb25zaWRlciBzdWJtaXRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPg0KICAgICAgPHA+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcml2aWRlIGFsbCByZWxhdmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L3A+DQogICAgICA8cD5UaGUgYXV0aG9yLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L3A+DQogICAgICA8cD5QbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgZGV2ZWxvcGVycyBkbyBoYXZlIHRoZWlyIGRhaWx5IGpvYnMgd2hpY2ggbWVhbnMgdGhhdCBmZWF0dXJlIHJlcXVlc3RzIGFyZSBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIGZlYXR1cmUgcmVhbGx5IGJhZGx5IGNvbnNpZGVyIGNvbnRhY3Rpbmcgb25lIG9mIHRoZSBkZXZlbG9wZXJzIGZvciBhIHNwb25zb3JlZCBkZXZlbG9wbWVudC48L3A+DQoNCiAgICAgIDxwPklmIHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuIDxiciBcPiA8YnIgXD4NCiAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyP2NtZD1fcy14Y2xpY2smaG9zdGVkX2J1dHRvbl9pZD1IWUFLTTJZMkdYRVpMIj4gDQogICAgICAgIDxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ltYWdlcy9wcF9idXR0b24ucG5nIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwgw6LigqzigJwgVGhlIHNhZmVyLCBlYXNpZXIgd2F5IHRvIHBheSBvbmxpbmUuIiAvPg0KICAgICAgPC9hPjwvcD4NCiAgICAgIA0KICAgICAgPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQogICAgICANCiAgICAgIDxwPlRoZSBNb2R1bGUgaXMgY3VycmVudGx5IGJlaW5nIGRldmVsb3BlZCBieSA8c3Ryb25nPkZlcm5hbmRvIE1vcmdhZG8gKEpvIE1vcmcpPC9zdHJvbmc+DQogICAgICA8YnIgLz4NCiAgICAgIFdlYjogPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnNtLWFydC1sYWIuY29tIiByZWw9ImV4dGVybmFsIj53d3cuc20tYXJ0LWxhYi5jb208L2E+DQogICAgICA8YnIgLz4NCiAgICAgIEVtYWlsOiA8YSBocmVmPSJtYWlsdG86am9tb3JnQHNtLWFydC1sYWIuY29tIj5qb21vcmdAc20tYXJ0LWxhYi5jb208L2E+DQogICAgICA8L3A+DQoNCiAgICAgIDxwPkNvcHlyaWdodCAmY29weTsgMjAxNS4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPGJyIC8+PC9wPg0KICAgICAgDQogICAgICA8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTs8YnIgLz4geW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOzxiciAvPiBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4NCiAgICAgIDxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7PGJyIC8+IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuPC9wPg0KICAgICAgPHA+U2VlIHRoZUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuPC9wPg0KICAgICAgIDxwPllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOzxiciAvPiBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9yIHJlYWQgaXQgb25saW5lPC9hPi48L3A+DQogICAgICA8cD5Zb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPiAgIAkNCgkJCQ0KCQkJPGg0PkNvbnRyaWJ1dG9yczwvaDQ+DQoJCQk8dWw+DQogICAgICAgIDxsaT48c3Ryb25nPlRhcGlvIEwmb3VtbDt5dHR5IChzdGlra2kpPC9zdHJvbmc+IHRhcHNhQG9yYW5nZS1tZWRpYS5maSA8YnIgLz53d3cub3JhbmdlLW1lZGlhLmZpPC9saT4NCiAgICAgICAgPGxpPjxzdHJvbmc+R29yYW4gSWxpYyAodW5pcXUzKTwvc3Ryb25nPiB1bmlxdTNlQGdtYWlsLmNvbSA8YnIgLz53d3cuaWR0LW1lZGlhLmNvbTwvbGk+DQoJCQkJPGxpPjxzdHJvbmc+Sm9uYXRoYW4gU2NobWlkIChGb2FseSopPC9zdHJvbmc+IGhpQGpvbmF0aGFuc2NobWlkLmRlIDxiciAvPnd3dy5qb25hdGhhbnNjaG1pZC5kZTwvbGk+DQoJCQkJPGxpPjxzdHJvbmc+Um9iZXJ0IENhbXBiZWxsIChjYWxndXkxMDAwKTwvc3Ryb25nPiBjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnICA8YnIgLz53d3cuY2FsZ3V5MTAwMC5jb208L2xpPg0KCQkJCTxsaT48c3Ryb25nPkx1a2FzIEJsYXR0ZXIgKG5vY2tlbmZlbGwpPC9zdHJvbmc+IG5vY2tlbmZlbGxAZ21haWwuY29tIDxiciAvPnd3dy5ibGF0dGVydGVjaC5jaDwvbGk+DQoJCQkJPGxpPjxzdHJvbmc+QXJub3VkIChhcm5vdWQpPC9zdHJvbmc+IGFybm91ZEB1cHNlcnZpY2UubmwgPGJyIC8+d3d3LnVwc2VydmljZS5ubDwvbGk+DQoJCQkJPGxpPjxzdHJvbmc+V2F5bmUgT05laWwgKHdpc2hib25lKTwvc3Ryb25nPiB3YXluZUB0ZWFtd2lzaGJvbmUuY29tIDxiciAvPnd3dy50ZWFtd2lzaGJvbmUuY29tPC9saT4NCiAgICAgICAgPGxpPjxzdHJvbmc+QWxiZXJ0IENhbnNhZG88L3N0cm9uZz48L2xpPg0KICAgICAgICA8bGk+PHN0cm9uZz5DaWF2YXJlbGxhIChjYWNpYXZhcik8L3N0cm9uZz48L2xpPg0KCQkJPC91bD4NCgkJPC9kaXY+DQoJPC9kaXY+ICANCgk8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PgkNCjwvZGl2Pg0Key9zdHJpcH0=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/HTML_Header.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRqcXVlcnl1aX0NCjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskbW9kdWxlZGlyfS9jc3MvY29sb3Jib3guY3NzIiAvPg0KPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRtb2R1bGVkaXJ9L2Nzcy9mb290YWJsZS5jb3JlLm1pbi5jc3MiIC8+DQo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JGdsb2JhbHNfY3NzfWxpc2UtZ2xvYmFscy5jc3MiIC8+DQo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JG1vZHVsZWRpcn0vY3NzL2JhY2tlbmQuY3NzIiAvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KPCEtLQ0KdmFyIENNU19BRE1JTl9ESVIgPSAneyRhZG1pbmRpcn0nOw0KdmFyIENNU19VU0VSX0tFWSA9ICd7JHVzZXJrZXl9JzsNCnZhciBNT0RVTEVfTkFNRSA9ICd7JG1vZHVsZW5hbWV9JzsNCi0tPg0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvZm9vdGFibGUuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRtb2R1bGVkaXJ9L2pzL2Zvb3RhYmxlLmZpbHRlci5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvZm9vdGFibGUuc29ydC5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JG1vZHVsZWRpcn0vanMvanF1ZXJ5LnNsdWcuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRtb2R1bGVkaXJ9L2pzL2pxdWVyeS5jb2xvcmJveC5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ7JGdsb2JhbHNfanN9bGlzZS1nbG9iYWxzLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskbW9kdWxlZGlyfS9qcy9saXNlLmpzIj48L3NjcmlwdD4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/framework/templates/itemtab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRpdGVtcykgPiAwfQ0KPGRpdiBjbGFzcz0iaXRlbS1zZWFyY2giPg0KPGZvcm0gaWQ9InF1aWNrc2VhcmNoX2Zvcm0iPiANCgk8bGFiZWwgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygnc2VhcmNoJyl9IHskdGl0bGVfcGx1cmFsfTogPC9sYWJlbD4NCgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InNlYXJjaCIgdmFsdWU9IiIgaWQ9Iml0ZW1fc2VhcmNoIiBwbGFjZWhvbGRlcj0ieyRtb2QtPk1vZExhbmcoJ3NlYXJjaGZvcicpfSB7JHRpdGxlfSIgLz4gDQo8L2Zvcm0+CQ0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfXtpZiBpc3NldCgkaW1wb3J0bGluayl9eyRpbXBvcnRsaW5rfXsvaWZ9e2lmIGlzc2V0KCRleHBvcnRsaW5rKX17JGV4cG9ydGxpbmt9ey9pZn08L2Rpdj4NCjxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4NCjxkaXYgY2xhc3M9InBhZ2VzaG93cm93cyI+eyRwYWdpbmF0aW9ufTwvZGl2Pg0KPHRhYmxlIGlkPSJzb3J0YWJsZV9pdGVtIiBkYXRhLWZpbHRlcj0iI2l0ZW1fc2VhcmNoIiBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSB7JHRoZW1lT2JqZWN0LT50aGVtZU5hbWV9Ij4NCgk8dGhlYWQ+DQoJCTx0ciBjbGFzcz0idG9wIj4NCgkJCTx0aCBkYXRhLXRvZ2dsZT0idHJ1ZSI+eyR0aXRsZX08L3RoPg0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5hbGlhcyl9PHRoIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0Ij57JG1vZC0+TW9kTGFuZygnYWxpYXMnKX08L3RoPnsvaWZ9DQoJCQl7Zm9yZWFjaCBmcm9tPSRpdGVtcy4wLT5maWVsZGRlZnMgaXRlbT1maWVsZGRlZn0NCgkJCTx0aCBkYXRhLWhpZGU9InBob25lLnRhYmxldCI+eyRmaWVsZGRlZi5uYW1lfTwvdGg+DQoJCQl7L2ZvcmVhY2h9DQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmNyZWF0ZV90aW1lKX08dGggZGF0YS1oaWRlPSJwaG9uZSx0YWJsZXQiIGRhdGEtdHlwZT0ibnVtZXJpYyI+eyRtb2QtPk1vZExhbmcoJ2NyZWF0ZV90aW1lJyl9PC90aD57L2lmfQ0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5tb2RpZmllZF90aW1lKX08dGggZGF0YS1oaWRlPSJwaG9uZSx0YWJsZXQiIGRhdGEtdHlwZT0ibnVtZXJpYyI+eyRtb2QtPk1vZExhbmcoJ21vZGlmaWVkX3RpbWUnKX08L3RoPnsvaWZ9DQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPnN0YXJ0X3RpbWUpfTx0aCBkYXRhLWhpZGU9InBob25lLHRhYmxldCIgZGF0YS10eXBlPSJudW1lcmljIj57JG1vZC0+TW9kTGFuZygnc3RhcnRfdGltZScpfTwvdGg+ey9pZn0NCgkJCXtpZiBpc3NldCgkaXRlbXMuMC0+ZW5kX3RpbWUpfTx0aCBkYXRhLWhpZGU9InBob25lLHRhYmxldCIgZGF0YS10eXBlPSJudW1lcmljIj57JG1vZC0+TW9kTGFuZygnZW5kX3RpbWUnKX08L3RoPnsvaWZ9DQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmFwcHJvdmUpfTx0aCBkYXRhLWlnbm9yZT0iaGlnaGxpZ2h0IiBkYXRhLWhpZGU9InBob25lLHRhYmxldCIgZGF0YS1jbGFzcz0iaGlkZS1oZWFkaW5nIiBkYXRhLXNvcnQtaWdub3JlPSJ0cnVlIiBjbGFzcz0icGFnZWljb24iPjxzcGFuIGNsYXNzPSJsaXNlLWhpZGRlbiI+eyRtb2QtPk1vZExhbmcoJ3RvZ2dsZV9zdGF0dXMnKX08L3NwYW4+Jm5ic3A7PC90aD57L2lmfQ0KCQkJPHRoIGRhdGEtaWdub3JlPSJoaWdobGlnaHQiIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0IiBkYXRhLXNvcnQtaWdub3JlPSJ0cnVlIiBkYXRhLWNsYXNzPSJoaWRlLWhlYWRpbmciIGNsYXNzPSJwYWdlaWNvbiI+PHNwYW4gY2xhc3M9Imxpc2UtaGlkZGVuIj57JG1vZC0+TW9kTGFuZygnY29weScpfTwvc3Bhbj4mbmJzcDs8L3RoPg0KCQkJPHRoIGRhdGEtaWdub3JlPSJoaWdobGlnaHQiIGRhdGEtaGlkZT0icGhvbmUsdGFibGV0IiBkYXRhLXNvcnQtaWdub3JlPSJ0cnVlIiBkYXRhLWNsYXNzPSJoaWRlLWhlYWRpbmciIGNsYXNzPSJwYWdlaWNvbiI+PHNwYW4gY2xhc3M9Imxpc2UtaGlkZGVuIj57JG1vZC0+TW9kTGFuZygnZWRpdCcpfTwvc3Bhbj4mbmJzcDs8L3RoPg0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5kZWxldGUpfTx0aCBkYXRhLWlnbm9yZT0iaGlnaGxpZ2h0IiBkYXRhLWhpZGU9InBob25lLHRhYmxldCIgZGF0YS1jbGFzcz0iaGlkZS1oZWFkaW5nIiBkYXRhLXNvcnQtaWdub3JlPSJ0cnVlIiBjbGFzcz0icGFnZWljb24iPjxzcGFuIGNsYXNzPSJsaXNlLWhpZGRlbiI+eyRtb2QtPk1vZExhbmcoJ2RlbGV0ZScpfTwvc3Bhbj4mbmJzcDs8L3RoPnsvaWZ9DQoJCQk8dGggZGF0YS1pZ25vcmU9ImhpZ2hsaWdodCIgZGF0YS1oaWRlPSJwaG9uZSx0YWJsZXQiIGRhdGEtc29ydC1pZ25vcmU9InRydWUiIGRhdGEtY2xhc3M9ImhpZGUtaGVhZGluZyJ0aXRsZT0ieyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9hbGwnKX0iIGNsYXNzPSJwYWdlaWNvbiBuby1zb3J0Ij48c3BhbiBjbGFzcz0ibGlzZS1oaWRkZW4iPnskbW9kLT5Nb2RMYW5nKCdzZWxlY3RfaXRlbScpfTwvc3Bhbj48aW5wdXQgaWQ9ImNoZWNrX2FsbF9pdGVtIiB0eXBlPSJjaGVja2JveCIgLz48L3RoPg0KCQk8L3RyPg0KCTwvdGhlYWQ+DQoJPHRib2R5IGNsYXNzPSJjb250ZW50IiB3aWR0aD0iMTAwJSI+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQ0Ke2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30NCgkJPHRyIGlkPSJpdGVtX3skZW50cnktPml0ZW1faWR9IiBjbGFzcz0ieyRyb3djbGFzc30iIHN0eWxlPSJjdXJzb3I6IG1vdmU7Ij4NCgkJCTx0ZD57JGVudHJ5LT50aXRsZX08L3RkPg0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5hbGlhcyl9PHRkPnskZW50cnktPmFsaWFzfTwvdGQ+ey9pZn0NCgkJCXtmb3JlYWNoIGZyb209JGVudHJ5LT5maWVsZGRlZnMgaXRlbT1maWVsZGRlZn0NCgkJCTx0ZD57JGZpZWxkZGVmLT5SZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGFjdGlvbmlkLCAkcmV0dXJuaWQpfTwvdGQ+DQoJCQl7L2ZvcmVhY2h9DQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmNyZWF0ZV90aW1lKX08dGQgZGF0YS12YWx1ZT0ieyRlbnRyeS0+Y3JlYXRlX3RpbWV8c3RydG90aW1lfSI+eyRlbnRyeS0+Y3JlYXRlX3RpbWV9PC90ZD57L2lmfQ0KCQkJe2lmIGlzc2V0KCRpdGVtcy4wLT5tb2RpZmllZF90aW1lKX08dGQgZGF0YS12YWx1ZT0ieyRlbnRyeS0+bW9kaWZpZWRfdGltZXxzdHJ0b3RpbWV9Ij57JGVudHJ5LT5tb2RpZmllZF90aW1lfTwvdGQ+ey9pZn0NCgkJCXtpZiBpc3NldCgkaXRlbXMuMC0+c3RhcnRfdGltZSl9PHRkIGRhdGEtdmFsdWU9InskZW50cnktPnN0YXJ0X3RpbWV8c3RydG90aW1lfSI+eyRlbnRyeS0+c3RhcnRfdGltZX08L3RkPnsvaWZ9DQoJCQl7aWYgaXNzZXQoJGl0ZW1zLjAtPmVuZF90aW1lKX08dGQgZGF0YS12YWx1ZT0ieyRlbnRyeS0+ZW5kX3RpbWV8c3RydG90aW1lfSI+eyRlbnRyeS0+ZW5kX3RpbWV9PC90ZD57L2lmfQ0KCQkJe2lmIGlzc2V0KCRlbnRyeS0+YXBwcm92ZSl9PHRkIGNsYXNzPSJpbml0LWFqYXgtdG9nZ2xlIGFwcHJvdmUtaXRlbSI+eyRlbnRyeS0+YXBwcm92ZX08L3RkPnsvaWZ9DQoJCQk8dGQ+eyRlbnRyeS0+Y29weWxpbmt9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPg0KCQkJe2lmIGlzc2V0KCRlbnRyeS0+ZGVsZXRlKX08dGQgY2xhc3M9ImluaXQtYWpheC1kZWxldGUiPnskZW50cnktPmRlbGV0ZX08L3RkPnsvaWZ9DQoJCQk8dGQgY2xhc3M9Iml0ZW0tbWFzcy1hY3Rpb24iPnskZW50cnktPnNlbGVjdH08L3RkPg0KCQk8L3RyPg0Key9mb3JlYWNofQ0KCTwvdGJvZHk+DQo8L3RhYmxlPg0KPGRpdiBjbGFzcz0icGFnZXNob3dyb3dzIj57JHBhZ2luYXRpb259PC9kaXY+DQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyIgc3R5bGU9ImZsb2F0OnJpZ2h0OyI+DQo8c2VsZWN0IGlkPSJsaXNlX2l0ZW1fbWFzc19hY3Rpb24iPg0KCTxvcHRpb24gdmFsdWU9IiI+eyRtb2QtPk1vZExhbmcoJ3NlbGVjdF9vbmUnKX08L29wdGlvbj4NCgk8b3B0aW9uIHZhbHVlPSJkZWxldGUiPkRlbGV0ZTwvb3B0aW9uPg0KCTxvcHRpb24gdmFsdWU9ImFwcHJvdmUiPlRvZ2dsZSBhcHByb3ZlPC9vcHRpb24+DQo8L3NlbGVjdD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiIHN0eWxlPSJmbG9hdDpyaWdodDsiPnskc3VibWl0b3JkZXJ9PC9kaXY+DQp7L2lmfQ0KDQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfXtpZiBpc3NldCgkaW1wb3J0bGluayl9eyRpbXBvcnRsaW5rfXsvaWZ9e2lmIGlzc2V0KCRleHBvcnRsaW5rKX17JGV4cG9ydGxpbmt9ey9pZn08L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/framework/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQo8ZmllbGRzZXQ+DQoJPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygnbW9kdWxlX29wdGlvbnMnKX08L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+DQoJCTxoMz57JG1vZC0+TW9kTGFuZygnbm90aWNlJyl9PC9oMz4NCgkJPHA+eyRtb2QtPk1vZExhbmcoJ29wdGlvbnNfbm90aWNlJyl9PC9wPg0KCTwvZGl2PgkNCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfZnJpZW5kbHluYW1lJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9mcmllbmRseW5hbWV9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9tb2RkZXNjcmlwdGlvbicpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kZGVzY3JpcHRpb259PC9wPg0KICAgIDwvZGl2PiAgICAgIA0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9hZG1pbnNlY3Rpb24nKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FkbWluc2VjdGlvbn08L3A+DQogICAgPC9kaXY+ICAgICANCjwvZmllbGRzZXQ+IA0KPGZpZWxkc2V0Pg0KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2RlZmF1bHRfb3B0aW9ucycpfTwvbGVnZW5kPg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9kZXRhaWxwYWdlJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXRhaWxwYWdlfTwvcD4NCiAgICA8L2Rpdj4gDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X3N1bW1hcnlwYWdlJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5cGFnZX08L3A+DQogICAgPC9kaXY+IAkNCjwvZmllbGRzZXQ+DQo8ZmllbGRzZXQ+DQogICAgPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygnaXRlbXNfb3B0aW9ucycpfTwvbGVnZW5kPiAgICAgICAgICAgDQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2l0ZW1fdGl0bGUnKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fdGl0bGV9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9pdGVtX3Npbmd1bGFyJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX3Npbmd1bGFyfTwvcD4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV9wbHVyYWwnKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2l0ZW1fcGx1cmFsfTwvcD4NCiAgICA8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfY3JlYXRlX2RhdGUnKX08L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3JlYXRlX2RhdGV9PC9wPg0KICAgIDwvZGl2PiAgICANCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaXRlbV9jb2xzJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9pdGVtX2NvbHN9PC9wPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9pdGVtc19wZXJfcGFnZScpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaXRlbXNfcGVyX3BhZ2V9PC9wPg0KICAgIDwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3RleHRfc29ydG9yZGVyJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0b3JkZXJ9PC9wPg0KICAgIDwvZGl2PiAgICAgDQo8L2ZpZWxkc2V0Pg0KPGZpZWxkc2V0Pg0KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ3VybF9vcHRpb25zJyl9PC9sZWdlbmQ+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X3VybF9wcmVmaXgnKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3VybF9wcmVmaXh9PC9wPg0KICAgIDwvZGl2PiANCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X3VybF90ZW1wbGF0ZScpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXJsX3RlbXBsYXRlfTwvcD4NCiAgICA8L2Rpdj4gDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X3N1YmNhdGVnb3J5Jyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdWJjYXRlZ29yeX08L3A+DQogICAgPC9kaXY+CQ0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9kaXNwbGF5X2lubGluZScpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGlzcGxheV9pbmxpbmV9PC9wPg0KICAgIDwvZGl2Pg0KPC9maWVsZHNldD4NCjxmaWVsZHNldD4NCiAgPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygneG1vZHVsZV9vcHRpb25zJyl9PC9sZWdlbmQ+DQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9yZWluZGV4X3NlYXJjaCcpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcmVpbmRleF9zZWFyY2h9PC9wPg0KICAgIDwvZGl2PiAgIA0KPC9maWVsZHNldD4NCjxmaWVsZHNldD4NCgk8bGVnZW5kPnskbW9kLT5Nb2RMYW5nKCdtaXNjX29wdGlvbnMnKX08L2xlZ2VuZD4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfYXV0b191cGdyYWRlJyl9OjwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdXRvX3VwZ3JhZGV9PC9wPg0KICAgIDwvZGl2PiAJDQo8L2ZpZWxkc2V0Pg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4NCgkJCXskc3VibWl0fQ0KCQk8L3A+DQogICAgPC9kaXY+DQoNCnskZW5kZm9ybX0NCg==]]></data>
	</file>
	<file>
	  <filename>/framework/templates/templatetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2ZvcmVhY2ggZnJvbT0kaXRlbXMga2V5PXNlY3Rpb24gaXRlbT10ZW1wbGF0ZXN9CgoJPGZpZWxkc2V0PgoJCXtjYXB0dXJlIGFzc2lnbj0nc2VjdGlvbl9sYW5nJ317JHNlY3Rpb259dGVtcGxhdGVzey9jYXB0dXJlfQoJCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJHNlY3Rpb25fbGFuZyl9PC9sZWdlbmQ+CgoJCXtpZiBjb3VudCgkdGVtcGxhdGVzKSA+IDB9CgkJPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD57JG1vZC0+TW9kTGFuZygndGVtcGxhdGUnKX08L3RoPgkJCQkKCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj57J2RlZmF1bHQnfGxhbmd9PC90aD4KCQkJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHk+CgkJCXtmb3JlYWNoIGZyb209JHRlbXBsYXRlcyBpdGVtPWVudHJ5fQoJCQkJPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInIG5hbWU9J3N1bW1hcnknfSI+CgkJCQkJPHRkPnskZW50cnktPmxpbmt9PC90ZD4KCQkJCQk8dGQ+eyRlbnRyeS0+ZGVmYXVsdH08L3RkPgoJCQkJCTx0ZD57JGVudHJ5LT5lZGl0fTwvdGQ+CgkJCQkJPHRkIGNsYXNzPSJpbml0LWFqYXgtZGVsZXRlIj57JGVudHJ5LT5kZWxldGV8ZGVmYXVsdDonJ308L3RkPgoJCQkJPC90cj4KCQkJey9mb3JlYWNofQoJCQk8L3Rib2R5PgoJCTwvdGFibGU+CgkJey9pZn0KCgkJPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPnskYWRkbGlua3MuJHNlY3Rpb259PC9kaXY+Cgk8L2ZpZWxkc2V0PgkKCQp7L2ZvcmVhY2h9]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH3wUYEQMKpO2HwAAAA91JREFUaN7t11uoVFUcBvDfmnNRj1Z2024PZT00MwpmUWRIoEFRUVHRYxQ9RBe0ICKIIrpRQdCVXnspuhhINzTMMo0Mi7I4x64IIYnYTS01PWdWD2vtGsdz2fOQJewPhpm99tprf99a/+9ba6hQoUKFChUqVKhwyCK0XzQb9aJtEvai1Xa7P18PxxgNbfxqwsHzeNCHGv4sGmIkBP153DJoYTfi4NDGAwXkl03GrbgEq/E4dubrW7AVD+E7aB9oFNJTcCoWYBEG8AzezvcX4A4cU1LAMN7E09hTvLu3o9O5uBeHYT424H08iLm5zw4s6SQdYxRCmIY6zs+k52WCtdx1Jj7GrvyeC0qSLzAPn2JV0dApYCam5t/9OB499l/mSYNDGzUbdc1GPWA6ZocQFmIh5uS2MAqB3iymJpVVt+jp5Nw7wQM1/ISHsRjb8Fwuk+NwMy7C6XnVxsIf+BqPhhC2xRjhkSzyqJLkR6QS+rAbAQVewDKpDgsj3o47x3lmOwbxnrTkG/BLJq+nJywfGYmrJd+VFfA7Wu3eKyvgNFyZV+A1ydgndfSJ+DkTfVfyzqDkmb8NX5h8ZCSeiKsxoySHfXki1jQb9TiWiTsRpTR5EhfnWTgWj+F5/9T7BqyUkusbyaSjplRGnxQM15UkX+B6XJbfV1rAEVKNk0w0R6rdlbhQKoEf5dJqn+lmo16TgmGu5JHVUhQPYHaX5OEEnNyNgJoYtwphKW7Cb1IJxUx2S9GxUa8LgWaj3ieV1zlSTM7HLCnJXsENtVpte6vVejm3DxTjjYOQ+6zB+vYbE3sghIj78JJkou+LmW7btCZnMudl0mdnEZ3jz8eMVqu1CU9hBY4sIYAUIN9KqdiFgGIl0gz25dnQbNSLclqUP2dIhqyNMUbEB1IJFbPamz9lVqDgsR/KCAh4ADdK0bgYS3ENnjB+iuzFD1iHd7BcMnjAbbhLComyWCsZf3NZAS1pw7pcqtWB/HsZrhiD/G5pqddKcbpeMvlIaziq9QY4XIrQ6V2QJx1RzuxGQMCvUp7Pkurws7bvq6Rk2oEhKftX4XOpVmNnlGbf7MIXOKtLAZuxqb2hjIA9UtmszKRez/eezQMeLR3QhmK0I4Rx87/APtyNT6SYLYN9eYK+7EbA4dJpchdezG1TMU0y3vI2oVNCMNA2yxMh4lWjH/pGw4jkwdjNUWIJru3iJf8mRvAW7m826jvLHiVmKH9WORg4RSrlFUVDZ65ukTar/yv2avtbyoErsA734FLlN7mDhWG8gY/aG8f6U99v7B31v0JLWoFYIuUqVKhQoUKFChUqHAr4C5raFbyiXgGBAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE1LTA1LTI0VDE3OjAzOjEwKzAyOjAwYp9tzQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNS0wNS0yNFQxNzowMzoxMCswMjowMBPC1XEAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/jqueryui/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-anim_basic_16x16.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_diagonals-thick_18_b81900_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAy0lEQVRYhe3XQQrCMBSE4d8svIH0Ft5/5X3EG7jRTYUYk5ekackgb5alDF8LbZjT7bq8SPJ83NNLPzlfluo9e/SFPctyGe37AqrhIAIq4mAFquIAgjIOMh/JSNkRD2sCZ+PAeIMKOCgAVXCQASrhIAGq4SACKuJgBariAIIyDhp+1D1lRzxsE3DmcVgFzj6rTeBsHBhABRwUgCo48E3im6Sv7BPfJFvLfJOMllnxTdJSlotvkp6yOL5JtpSBb5Kxstb4JimV1fKXm+QNcHvyUkD/BIAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_diagonals-thick_20_666666_40x40.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAwklEQVRYhe3XXQqDMBhE0dtsIKvNwrOC+mIhTfNrlAzlm0eR4ShomFcI4U2WGGN+6Sfe++49d/S5O8tKWe37AqrhIAEq4uAEquIAnDIOCh/JStkTD9sE7sZB4w0q4KACVMFBAaiEgwyohoMEqIiDE6iKA3DKOBj4Uc+UPfGwQ8Cdx2EXuPusbgJ346ABVMBBBaiCA9sktknmyj6xTXK1zDbJalkrtklGykqxTTJTlsY2yZUysE2yVjYa2yS1sl7+cpMcegPyrqBRcaoAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_flat_10_000000_40x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAeUlEQVRoge3OMQHAIBAAsQf/nlsJDDfAkCjImplvHrZvB04EK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEK8FKsBKsBCvBSrASrAQrwUqwEqwEqx92LQHHRpDUNwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_65_ffffff_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAMElEQVQ4je3LIQ4AIBTD0O3f/8wrFgmKhMy8pKJKwkhSKeVbbGuAPU9f4PIopTxgAeS0DRtI4yK0AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_100_f6f6f6_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAL0lEQVQ4je3HsQ0AIBDDwIT9F/4igpYiAyDk5mRrZvaSJAD4liT32u7bqi0APMcBiYQKDwcroFAAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_glass_100_fdf5ce_1x400.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAARElEQVQ4jWP4+/PhfyYGBgaGUWKUGCWGL/HnLQMTAwMjjGBkYmBiYGBiYGJgZEZlMcNlYRKMCMUQAwbcM6PEKDFKYCEAGrQJAcbElNQAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_gloss-wave_35_f6a828_500x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_highlight-soft_75_ffe45c_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAASElEQVQYldWPwQmAQBADJ+m/DfuzgN2ND/WjX+HwMzAQBkL2LQb4EZLCZLAYnDSWGpO6lBSGwjy1sHjvRN+pM1oYBmv5349xADIyLQUayPX/AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-bg_highlight-soft_100_eeeeee_1x100.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAAIUlEQVQYlWP48ePHfyYGBgaGIUT8//8fO5cSFn6J4UQAAJSgIpAFCJPdAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_228ef1_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_222222_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ef8c08_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ffd27a_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nz80nzkx5/eAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMM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]]></data>
	</file>
	<file>
	  <filename>/images/jqueryui/ui-icons_ffffff_256x240.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/moduleui/ajax-loader-wide.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/banner.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAAEAAABQCAYAAADYxx/bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAWdEVYdENyZWF0aW9uIFRpbWUAMTAvMTAvMzDEOp2NAAAAJ0lEQVQYlWP4+PHjfyYGBgYGpv///0MJNC6xYkSYQl9tpLt5wL0KAHD2rsaLVlOZAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/images/moduleui/xml_rss.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhJAAOAOYAAP/////9+f/9+v/68f/58P/45P/24//z3v7x2/7v2v7pvP7os/7muf7nqP7ktf7lr/7jo/7iq/7jmf7frv7gnv7cq/7fiv7cmf7YlP3be/3eZP3bYP3Vm/3aX/7Uj/3VfP3WWv3Qiv3Rgv3VWf3UWP3SXPzQY/3Mhf3PUPzLU/zKW/3FafzHRvzDU/zESv3DXfzAYvzAPPy8S/68N/64Mvy2Qvy4M/6xKfywOvywKfypMfuoJvypH/yjKfukHPuhFfucE/uaE/uZC/+WBf+VBPuVCf2TAvuRAPuSAf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAEkALAAAAAAkAA4AAAf/gDdEREOFhoeIiYqHgjMbGpCRkpOUlZAdNIMkIJydnp+goZ+DKKWlDQWlGQUlpQUSphasKLKmtqWDLLq6KQALLAIGuwAAuwICJiwQxbvNLIMx0dIPAAoALtLEHzEqxCoxFADS49GDNufoNsQR6QABAzYMxC02FwDp+IM5+/w5BwAi+gHAAOAFAAcAZOQg2K/hIB4QI64AQABARB4AalQMUCMjDw8WL14c9KOkSQAIfACYcBIHDAAhcADA8SPETBw4dpgsOUiIT58VAAARwgGADp9GhQAQoiPpCWLEEvz0OQiJVas9glztUQSr1a5IenztQTbrVauDiBxZy7at27dwDd0SMZK2rt27ePPODQQAOw==]]></data>
	</file>
	<file>
	  <filename>/images/pp_button.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyogLS0tIGRvIG5vdCBlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLyogT25seSBuZWNlc3NhcnkgaW4gdGhlIEVuZ2xpc2ggbGFuZyBmaWxlLCBiZWNhdXNlIGl0J3MgYWx3YXlzIGxvYWRlZCBmaXJzdCwgZXZlbiBpZiBFbmdsaXNoIGlzIG5vdCB0aGUgdXNlcidzIGxhbmd1YWdlLg0KKi8NCiRtb2R1bGVfbmFtZSA9ICcnOw0KaWYoIGlzc2V0KCRtb2RpbnN0YW5jZSkgJiYgaXNfb2JqZWN0KCRtb2RpbnN0YW5jZSkgKSAkbW9kdWxlX25hbWUgPSAkbW9kaW5zdGFuY2UtPkdldE5hbWUoKTsNCg0KLyogLS0gZW5kIG9mIGRvIG5vdCBlZGl0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQovLyBnbG9iYWwNCiRsYW5nWydpbnZhbGlkX2NoYXJhY3RlcnMnXSA9ICdDaGFyYWN0ZXJzLCBzdWNoOiAlcyBub3QgYWxsb3dlZCB3aXRoIGZpZWxkOiAlcyc7DQoNCi8vIHRhYnMNCiRsYW5nWydpdGVtJ10gPSAnSXRlbSc7DQokbGFuZ1snaXRlbXMnXSA9ICdJdGVtcyc7DQokbGFuZ1snZmllbGRkZWYnXSA9ICdGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyc7DQokbGFuZ1sndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7DQokbGFuZ1sndGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzJzsNCiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsNCiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7DQokbGFuZ1snb3B0aW9uJ10gPSAnT3B0aW9uJzsNCiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9ucyc7DQokbGFuZ1snbWFpbnRlbmFuY2UnXSA9ICdNYWludGVuYW5jZSc7DQokbGFuZ1snYmFjayddID0gJ0dvIG9uZSBwYWdlIGJhY2snOw0KJGxhbmdbJ2Fib3V0J10gPSAnQWJvdXQnOw0KJGxhbmdbJ3doYXRzbmV3J10gPSAnV2hhdFwncyBOZXcnOw0KDQovLyBtYWludGVuYW5jZQ0KJGxhbmdbJ3Byb21wdF9maXhfZmllbGRkZWZzJ10gPSAnQXR0ZW1wdCB0byByZXBhaXIgZmllbGQgZGVmaW5pdGlvbiBkYXRhYmFzZSB0YWJsZXMnOw0KJGxhbmdbJ21lc3NhZ2VfZmllbGRkZWZzX2ZpeGVkJ10gPSAnRmllbGQgRGVmaW5pdGlvbnMgb24gYWxsIGluc3RhbmNlcyByZXBhaXJlZC4nOw0KJGxhbmdbJ21lc3NhZ2VfaW5zdGFuY2VzX2NvcGllZCddID0gJ0FsbCBpbnN0YW5jZXMgaGF2ZSBiZWVuIGNsb25lZC4nOw0KDQovLyBpdGVtcw0KJGxhbmdbJ2l0ZW1fdGl0bGUnXSA9ICdUaXRsZSc7DQokbGFuZ1sncHJvbXB0X2l0ZW1fdGl0bGUnXSA9ICdJdGVtIHRpdGxlJzsNCiRsYW5nWydhY3RpdmUnXSA9ICdBY3RpdmUnOw0KJGxhbmdbJ2NyZWF0ZV90aW1lJ10gPSAnRGF0ZSBjcmVhdGVkJzsNCiRsYW5nWydtb2RpZmllZF90aW1lJ10gPSAnRGF0ZSBtb2RpZmllZCc7DQokbGFuZ1sndGltZV9jb250cm9sJ10gPSAnVXNlIHRpbWUgY29udHJvbCc7DQokbGFuZ1snc3RhcnRfdGltZSddID0gJ1N0YXJ0IHRpbWUnOw0KJGxhbmdbJ2VuZF90aW1lJ10gPSAnRW5kIHRpbWUnOw0KJGxhbmdbJ2l0ZW1fdGl0bGVfZW1wdHknXSA9ICdJdGVtIHRpdGxlIGlzIGVtcHR5JzsNCiRsYW5nWydyZXF1aXJlZF9maWVsZF9lbXB0eSddID0gJ1JlcXVpcmVkIGZpZWxkIGlzIGVtcHR5JzsNCiRsYW5nWyd0b29fbG9uZyddID0gJ0ZpZWxkIHZhbHVlIGV4Y2VlZHMgbWF4IGxlbmd0aCc7DQokbGFuZ1snYXBwcm92ZSddID0gJ1NldCBTdGF0dXMgdG8gXCdBY3RpdmVcJyc7DQokbGFuZ1sncmV2ZXJ0J10gPSAnU2V0IFN0YXR1cyB0byBcJ0luYWN0aXZlXCcnOw0KJGxhbmdbJ3RvZ2dsZV9zdGF0dXMnXSA9ICdUb2dnbGUgU3RhdHVzJzsNCiRsYW5nWydzZWxlY3RfaXRlbSddID0gJ1NlbGVjdCBpdGVtJzsNCiRsYW5nWydzdWJtaXRfb3JkZXInXSA9ICdTYXZlIG9yZGVyJzsNCiRsYW5nWydkZWxldGVfc2VsZWN0ZWQnXSA9ICdEZWxldGUgU2VsZWN0ZWQgJXMnOw0KJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlbXVsdGlwbGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBvZiB0aGVzZSAlcz8nOw0KJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdTZWxlY3QgYWxsJzsNCiRsYW5nWydlcnJvcl9zdGFydGdyZWF0ZXJlbmQnXSA9ICdTdGFydCBkYXRlIGlzIGdyZWF0ZXIgdGhhbiBlbmQgZGF0ZS4nOw0KJGxhbmdbJ2l0ZW1fYWxpYXNfZXhpc3RzJ10gPSAnSXRlbSBhbGlhcyBhbHJlYWR5IGV4aXN0cy4gQWxpYXMgbXVzdCBiZSB1bmlxdWUuJzsNCiRsYW5nWydyZXR1cm5fdXJsJ10gPSAnUmV0dXJuJzsNCiRsYW5nWydwYXRoY29udGFpbnN2YXJzJ10gPSAnVGhpcyBmaWVsZCBjYW4gYmUgZWRpdGVkIGFmdGVyIGZpcnN0IHNhdmluZyB0aGlzICVzJzsgLy8gPC0gdW51c2VkLg0KJGxhbmdbJ3VybCddID0gJ0Nob29zZSBhIGN1c3RvbSBVUkwgZm9yIHRoaXMgaXRlbSBvciBhY2NlcHQgdGhlIGdlbmVyYXRlZCBvbmUnOw0KDQovLyBJdGVtIHN0YXRpYyB2YXJpYWJsZSBoZWxwcw0KJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfaXRlbV9pZCddID0gJ0lmIGl0ZW1faWQgaXMgZ2l2ZW4sIGl0ZW1zIGFyZSBleHBlY3RlZCB0byBiZSBleGlzdGluZyBvbmVzIGluIGRhdGFiYXNlLiBJZiB5b3VcJ3JlIGltcG9ydGluZyBuZXcgaXRlbXMsIGlnbm9yZSB0aGlzIGZpZWxkLic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9jYXRlZ29yeV9pZCddID0gJ0lmIGNhdGVnb3J5X2lkIGlzIGdpdmVuLCB0aGUgaXRlbSB3aWxsIGJlIHNldCBpbnRvIHRoaXMgY2F0ZWdvcnkuIElmIGNhdGVnb3J5X2lkIGlzIGdpdmVuIGJ1dCBkb3NlblwnIGV4aXN0LCBpdCBpcyBpZ25vcmVkIGFuZCB0aGUgZGVmYXVsdCBjYXRlZ29yeSBpcyB1c2VkIGluc3RlYWQuJzsNCiRsYW5nWydpdGVtX3Zhcl9oZWxwX3RpdGxlJ10gPSAnSXRlbSB0aXRsZSB0aGF0IGlzIHNob3duIGluIFVSTCBhbmQgZGVzY3JpYmVzIGl0ZW0uJzsNCiRsYW5nWydpdGVtX3Zhcl9oZWxwX2FsaWFzJ10gPSAnSXRlbSBhbGlhcyBkZXRlcm1pbmVzIGZyaWVuZGx5IGNvbXB1dGVyIGFjY2VwdGFibGUgbmFtZSBvZiBpdGVtLiBBbGlhcyBpcyB1bmlxdWUgZm9yIGVhY2ggaXRlbS4nOw0KJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfdXJsJ10gPSAnSXRlbSBjdXN0b20gVVJMLiBNdXN0IGJlIHVuaXF1ZSBmb3IgZWFjaCBpdGVtIGFuZCBzeXN0ZW0gd2lkZS4nOw0KJGxhbmdbJ2l0ZW1fdmFyX2hlbHBfcG9zaXRpb24nXSA9ICdZb3UgY2FuIHNldCB0aGUgcG9zaXRpb24gb2YgaXRlbXMgd2hpY2ggZGV0ZXJtaW5lcyB0aGVpciBvcmRlciBvZiBkaXNwbGF5Lic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9hY3RpdmUnXSA9ICdUaGlzIG9wdGlvbiB3aWxsIHNldCB0aGUgaXRlbSBhcyBlaXRoZXIgYWN0aXZlIG9yIGluYWN0aXZlLic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9zdGFydF90aW1lJ10gPSAnU2V0IHRoZSB0aW1lIHdoZW4geW91IHdhbnQgdG8gc2hvdyB0aGlzIGl0ZW0uJzsNCiRsYW5nWydpdGVtX3Zhcl9oZWxwX2VuZF90aW1lJ10gPSAnU2V0IHRoZSB0aW1lIHdoZW4geW91IHdhbnQgdG8gaGlkZSB0aGlzIGl0ZW0uJzsNCiRsYW5nWydpdGVtX3Zhcl9oZWxwX293bmVyJ10gPSAnU2V0IGFkbWluIHVzZXIgSUQgZm9yIHRoaXMgaXRlbSwgdG8gc2V0IG93bmVyLic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9rZXkxJ10gPSAnU2V0IGFkZGl0aW9uYWwgaWRlbnRpZmllciBcJ2tleTFcJyBmb3IgdGhpcyBpdGVtLic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9rZXkyJ10gPSAnU2V0IGFkZGl0aW9uYWwgaWRlbnRpZmllciBcJ2tleTJcJyBmb3IgdGhpcyBpdGVtLic7DQokbGFuZ1snaXRlbV92YXJfaGVscF9rZXkzJ10gPSAnU2V0IGFkZGl0aW9uYWwgaWRlbnRpZmllciBcJ2tleTNcJyBmb3IgdGhpcyBpdGVtLic7DQoNCi8vIGZpZWxkIGRlZmluaXRpb25zDQokbGFuZ1snZWRpdGZpZWxkZGVmJ10gPSAnRWRpdCBGaWVsZCBEZWZpbml0aW9uJzsNCiRsYW5nWydmaWVsZGRlZl9uYW1lJ10gPSAnTmFtZSc7DQokbGFuZ1snZmllbGRkZWZfaGVscCddID0gJ0hlbHBmdWwgdGlwJzsNCiRsYW5nWydmaWVsZGRlZl90eXBlJ10gPSAnVHlwZSc7DQokbGFuZ1snZmllbGRkZWZfZGVwcyddID0gJ01vZHVsZSBEZXBlbmRlbmNpZXMnOw0KJGxhbmdbJ2ZpZWxkZGVmX2RlcHNfbWlzc2luZyddID0gJ09uZSBvciBtb3JlIG1vZHVsZSBkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcuIFBsZWFzZSBpbnN0YWxsIGFsbCByZXF1aXJlZCBtb2R1bGVzIHRvIHN0YXJ0IHVzaW5nIHRoaXMgZmllbGQuJzsNCiRsYW5nWydmaWVsZGRlZl9zY2FuJ10gPSAnU2NhbiBGaWVsZCBEZWZpbml0aW9ucyc7DQokbGFuZ1snZmllbGRkZWZfc2Nhbm5lZCddID0gJ0ZpZWxkIERlZmluaXRpb25zIHNjYW5uZWQnOw0KJGxhbmdbJ2ZpZWxkZGVmX3R5cGVfbm90c2V0J10gPSAnRmllbGQgRGVmaW5pdGlvbnMgdHlwZSBpcyBub3Qgc2V0JzsNCiRsYW5nWydmaWVsZGRlZl9mcmllbmRseXR5cGUnXSA9ICdGcmllbmRseSBUeXBlJzsNCiRsYW5nWydmaWVsZGRlZl9vcmlnaW5hdG9yJ10gPSAnT3JpZ2luYXRvcic7DQokbGFuZ1snZmllbGRkZWZfbWF4X2xlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoJzsNCiRsYW5nWydmaWVsZGRlZl9yZXF1aXJlZCddID0gJ1JlcXVpcmVkJzsNCiRsYW5nWydyZWdpc3RlcmVkX2ZpZWxkZGVmcyddID0gJ1JlZ2lzdGVyZWQgRmllbGQgRGVmaW5pdGlvbnMnOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZW1wdHknXSA9ICdGaWVsZCBkZWZpbml0aW9uIG5hbWUgaXMgZW1wdHknOw0KJGxhbmdbJ2ZpZWxkZGVmX25hbWVfZXhpc3RzJ10gPSAnRmllbGQgZGVmaW5pdGlvbiBuYW1lIGFscmVhZHkgZXhpc3RzJzsNCiRsYW5nWydmaWVsZGRlZl9hbGlhc19leGlzdHMnXSA9ICdGaWVsZCBkZWZpbml0aW9uIGFsaWFzIGFscmVhZHkgZXhpc3RzLiBBbGlhcyBtdXN0IGJlIHVuaXF1ZS4nOw0KJGxhbmdbJ2ZpZWxkZGVmX2lzX3VuaXF1ZSddID0gJ0ZpZWxkIGRlZmluaXRpb24gaXMgdW5pcXVlLCB5b3UgY2FuXCd0IGhhdmUgbW9yZSB0aGFuIG9uZSBvZiB0aGVzZS4nOw0KJGxhbmdbJ2ZpZWxkZGVmX2ltYWdlJ10gPSAnRXhwZWN0ZWQgdG8gYmUgaW1hZ2UnOw0KJGxhbmdbJ2ludmFsaWQnXSA9ICdGaWVsZCB2YWx1ZSBpcyBpbnZhbGlkJzsNCiRsYW5nWydzdGF0dXNfcmVxdWlyZWQnXSA9ICdTZXQgc3RhdHVzIHRvIFwncmVxdWlyZWRcJyc7DQokbGFuZ1snc3RhdHVzX29wdGlvbmFsJ10gPSAnU2V0IHN0YXR1cyB0byBcJ29wdGlvbmFsXCcnOw0KJGxhbmdbJ2lzX2RlZmF1bHQnXSA9ICdJcyBzZXQgdG8gXCdEZWZhdWx0XCcnOw0KJGxhbmdbJ3N0YXR1c19kZWZhdWx0J10gPSAnU2V0IHRvIFwnRGVmYXVsdFwnJzsNCiRsYW5nWydoZWxwdGV4dF90aXRsZSddID0gJ1Bvc3NpYmxlIEZpZWxkIERlZmluaXRpb24gaW5zdHJ1Y3Rpb25zIGZvciBFeHRyYSBmaWVsZDonOw0KJGxhbmdbJ2ZpZWxkZGVmX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOw0KDQovLyBmaWVsZHMgZGVmZnMNCg0KLy8gVGV4dElucHV0DQokbGFuZ1snZmllbGRkZWZfVGV4dElucHV0J10gPSAnVGV4dCBJbnB1dCc7DQovLyBDaGVja0JveA0KJGxhbmdbJ2ZpZWxkZGVmX0NoZWNrYm94J10gPSAnQ2hlY2tib3gnOw0KLy8gVGV4dEFyZWENCiRsYW5nWydmaWVsZGRlZl9UZXh0QXJlYSddID0gJ1RleHQgQXJlYSc7DQovLyBTZWxlY3QgRGF0ZSAoZGVwcmVjYXRlZCkNCiRsYW5nWydmaWVsZGRlZl9TZWxlY3REYXRlJ10gPSAnU2VsZWN0IERhdGUnOw0KLy8gU2VsZWN0IERhdGVUaW1lDQokbGFuZ1snZmllbGRkZWZfU2VsZWN0RGF0ZVRpbWUnXSA9ICdTZWxlY3QgRGF0ZVRpbWUnOw0KLy9Ecm9wZG93bg0KJGxhbmdbJ2ZpZWxkZGVmX0Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOw0KLy8gQ29udGVudCBQYWdlcw0KJGxhbmdbJ2ZpZWxkZGVmX0NvbnRlbnRQYWdlcyddID0gJ0NvbnRlbnQgUGFnZXMnOw0KLy8gU2VsZWN0IEZpbGUNCiRsYW5nWydmaWVsZGRlZl9TZWxlY3RGaWxlJ10gPSAnU2VsZWN0IEZpbGUnOw0KLy8gUmFkaW8gR3JvdXANCiRsYW5nWydmaWVsZGRlZl9SYWRpb0dyb3VwJ10gPSAnUmFkaW8gR3JvdXAnOw0KJGxhbmdbJ2VuYWJsZV9qcXVpJ10gPSAnVXNlIGpRdWVyeVVJIEJ1dHRvbnMnOw0KLy8gU2xpZGVyDQokbGFuZ1snZmllbGRkZWZfU2xpZGVyJ10gPSAnU2xpZGVyJzsNCi8vIE11bHRpIFNlbGVjdA0KJGxhbmdbJ2ZpZWxkZGVmX011bHRpU2VsZWN0J10gPSAnTXVsdGkgU2VsZWN0JzsNCi8vIENoZWNrYm94IEdyb3VwDQokbGFuZ1snZmllbGRkZWZfQ2hlY2tib3hHcm91cCddID0gJ0NoZWNrYm94IEdyb3VwJzsNCi8vIEZpbGUgVXBsb2FkDQokbGFuZ1snZmllbGRkZWZfRmlsZVVwbG9hZCddID0gJ0ZpbGUgVXBsb2FkJzsNCi8vIENvbG9yIFBpY2tlcg0KJGxhbmdbJ2ZpZWxkZGVmX0NvbG9yUGlja2VyJ10gPSAnQ29sb3IgUGlja2VyJzsNCi8vIFRhZ3MNCiRsYW5nWydmaWVsZGRlZl9UYWdzJ10gPSAnVGFncyc7DQovLyBUYWJzDQokbGFuZ1snZmllbGRkZWZfVGFicyddID0gJ1RhYic7DQoNCi8qIEluc3RydWN0aW9ucyAqLw0KJGxhbmdbJ2ZpZWxkZGVmX2FsbG93X2hlbHAnXSA9ICdTcGVjaWZ5IGEgY29tbWEgc2VwcmF0ZWQgbGlzdCBvZiBmaWxlIGV4dGVuc2lvbnMgdGhhdCBhcmUgYWxsb3dlZC4gRm9yIGV4YW1wbGU6IHBkZixnaWYsanBlZyxqcGcgKGtlZXAgbG93ZXJjYXNlKSc7DQokbGFuZ1snZmllbGRkZWZfZGlyX2hlbHAnXSA9ICdEaXJlY3RvcnkgcGF0aCB0aGF0IHdpbGwgYmUgYXBwZW5kZWQgdG8gJGNvbmZpZ1tcJ3VwbG9hZHNfdXJsXCddIC4gTm8gc2xhc2ggYXQgdGhlIGVuZC4geyRpdGVtX2lkfSBhbmQgeyRmaWVsZF9pZH0gd2lsbCBiZSByZXBsYWNlZC4nOw0KJGxhbmdbJ2ZpZWxkZGVmX2V4Y2x1ZGVfcHJlZml4X2hlbHAnXSA9ICdTcGVjaWZ5IGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcHJlZml4ZXMgdG8gZXhjbHVkZSBmaWxlcyB0aGF0IHN0YXJ0IHdpdGggdGhvc2UgcHJlZml4ZXMuIEZvciBleGFtcGxlOiB0aHVtYl8sIGZvb18nOw0KJGxhbmdbJ2ZpZWxkZGVmX211bHRpb3B0aW9uc19oZWxwJ10gPSAnT3B0aW9ucyBzZXBhcmF0ZWQgYnkgbGluZSBicmVha3MuIFZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIGZyb20gdGV4dCB3aXRoIGEgPSBjaGFyYWN0ZXIuIEZvciBleGFtcGxlOiBCYW5hbmE9YmFuYW5hJzsNCiRsYW5nWydmaWVsZGRlZl9zZXBhcmF0b3JfaGVscCddID0gJ0NhbiBiZSBlbXB0eSwgc2luZ2xlIGNoYXJhY3RlciBvciBIVE1MIGVudGl0eS4nOw0KJGxhbmdbJ2ZpZWxkZGVmX3NpemVfaGVscCddID0gJ1NwZWNpZnkgc2l6ZSBvZiBpbnB1dCBmaWVsZC4gRm9yIGV4YW1wbGU6IDIwJzsNCiRsYW5nWydmaWVsZGRlZl9tYXhfbGVuZ3RoX2hlbHAnXSA9ICdTcGVjaWZ5IG1heGltdW0gbGVuZ3RoIG9mIHRoZSBmaWVsZC4gRm9yIGV4YW1wbGU6IDI1NSc7DQokbGFuZ1snZmllbGRkZWZfZGF0ZV9mb3JtYXRfaGVscCddID0gJ1NwZWNpZnkgZGF0ZSBmb3JtYXQgdXNlZCBieSBqUXVlcnkgRGF0ZXBpY2tlci4gVHJ5IGdvb2dsaW5nIFwnanF1ZXJ5IGZvcm1hdERhdGVcJy4gRm9yIGV4YW1wbGU6IGRkLW1tLXl5JzsNCiRsYW5nWydmaWVsZGRlZl9mb3JtYXRfdHlwZV9oZWxwJ10gPSAnU3BlY2lmeSBvdXRwdXQgZm9ybWF0IGZvciB0aGlzIGZpZWxkLic7DQokbGFuZ1snZmllbGRkZWZfc2hvd19zZWNvbmRzX2hlbHAnXSA9ICdTcGVjaWZ5IHdoZXRoZXIgdGhlIHNlY29uZHMgc2Nyb2xsZXIgc2hvdWxkIGJlIHNob3duLiBOT1RJQ0UsIHNlY29uZCBzY3JvbGxlciBoYXMgbm8gZWZmZWN0IGlmIHRpbWUgZm9ybWF0IGlzIHdyb25nLiBUcnkgSEg6bW06c3MnOw0KJGxhbmdbJ2ZpZWxkZGVmX3RpbWVfZm9ybWF0X2hlbHAnXSA9ICdTcGVjaWZ5IGRhdGUgZm9ybWF0IHVzZWQgYnkgalF1ZXJ5IHRpbWVwaWNrZXIuIFRyeSBnb29nbGluZyBcJ2pxdWVyeSBmb3JtYXRUaW1lXCcuIEZvciBleGFtcGxlOiBISDptbSc7DQokbGFuZ1snZmllbGRkZWZfd3lzaXd5Z19oZWxwJ10gPSAnSWYgY2hlY2tlZCwgYSBXWVNJV1lHIEVkaXRvciB3aWxsIGJlIGVuYWJsZWQgZm9yIHRoaXMgZmllbGQuJzsNCiRsYW5nWydmaWVsZGRlZl9taW5fdmFsdWVfaGVscCddID0gJ1NwZWNpZnkgbWluaW11bSB2YWx1ZSBmb3IgdGhpcyBmaWVsZC4nOw0KJGxhbmdbJ2ZpZWxkZGVmX21heF92YWx1ZV9oZWxwJ10gPSAnU3BlY2lmeSBtYXhpbXVtIHZhbHVlIGZvciB0aGlzIGZpZWxkLic7DQokbGFuZ1snZmllbGRkZWZfaW5jcmVtZW50X2J5X2hlbHAnXSA9ICdJbmNyZW1lbnQgc2xpZGVyIHZhbHVlcyAsIGNvbW1vbmx5IGEgZGl2aWRlbmQgb2YgdGhlIHNsaWRlclwncyBtYXhpbXVtIHZhbHVlLiBUaGUgZGVmYXVsdCBpbmNyZW1lbnQgaXMgMS4nOw0KJGxhbmdbJ2ZpZWxkZGVmX3dpZHRoX2hlbHAnXSA9ICdTcGVjaWZ5IHdpZHRoIG9mIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgcGl4ZWwgdmFsdWUuIFRoaXMgaXMgdXNlZCBhcyB0aGUgQ1NTIHZhbHVlLic7DQokbGFuZ1snZmllbGRkZWZfc3VidHlwZV9oZWxwJ10gPSAnU2VsZWN0IFN1YiBUeXBlIGZvciB0aGlzIGZpZWxkIHRvIGRldGVybWluZSBpdHMgYmVoYXZpb3IuJzsNCiRsYW5nWydmaWVsZGRlZl9zaG93YWxsX2hlbHAnXSA9ICdTaG93IGFsbCwgcmVnYXJkbGVzcyBvZiBzeXN0ZW0gcGVybWlzc2lvbnMuJzsNCiRsYW5nWydmaWVsZGRlZl9jb2x1bW5zX2hlbHAnXSA9ICdOdW1iZXIgb2YgY29sdW1ucy4gRGl2aWRlIHRoaXMgZmllbGQgaW50byBtdWx0aXBsZSBjb2x1bW5zIGZvciBhIGJldHRlciB1c2VyIGV4cGVyaWVuY2UuJzsNCiRsYW5nWydmaWVsZGRlZl9tZWRpYV90eXBlX2hlbHAnXSA9ICdBbGxvd3MgeW91IHRvIHNwZWNpZnkgaW1hZ2VzIGFzIG1lZGlhIHR5cGUgdG8gYmUgZGlzcGxheWVkLiBCeSBkZWZhdWx0IGFsbCBmaWxlcyB3aWxsIGJlIHNob3duLic7DQokbGFuZ1snZmllbGRkZWZfZW5hYmxlX2pxdWlfaGVscCddID0gJ0VuaGFuY2VzIHN0YW5kYXJkIGZvcm0gZWxlbWVudHMgdG8gdGhlbWVhYmxlIGJ1dHRvbnMgd2l0aCBhcHByb3ByaWF0ZSBob3ZlciBhbmQgYWN0aXZlIHN0eWxlcy4nOw0KDQovLyBjYXRlZ29yeQ0KJGxhbmdbJ3Jlb3JkZXJfY2F0ZWdvcmllcyddID0gJ1Jlb3JkZXIgQ2F0ZWdvcmllcyc7DQokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOw0KJGxhbmdbJ2NhdGVnb3J5X25hbWUnXSA9ICdDYXRlZ29yeSBuYW1lJzsNCiRsYW5nWydjYXRlZ29yeV9kZXNjcmlwdGlvbiddID0gJ0NhdGVnb3J5IERlc2NyaXB0aW9uJzsNCiRsYW5nWydjYXRlZ29yeV9uYW1lX2VtcHR5J10gPSAnQ2F0ZWdvcnkgbmFtZSBpcyBlbXB0eSc7DQokbGFuZ1snY2F0ZWdvcnlfYWxpYXNfZXhpc3RzJ10gPSAnQ2F0ZWdvcnkgYWxpYXMgYWxyZWFkeSBleGlzdHMuIEFsaWFzIG11c3QgYmUgdW5pcXVlLic7DQoNCi8vIHRlbXBsYXRlcw0KJGxhbmdbJ2FyY2hpdmV0ZW1wbGF0ZSddID0gJ0FyY2hpdmUgVGVtcGxhdGUnOw0KJGxhbmdbJ2FyY2hpdmV0ZW1wbGF0ZXMnXSA9ICdBcmNoaXZlIFRlbXBsYXRlcyc7DQokbGFuZ1snY2F0ZWdvcnl0ZW1wbGF0ZSddID0gJ0NhdGVnb3J5IFRlbXBsYXRlJzsNCiRsYW5nWydjYXRlZ29yeXRlbXBsYXRlcyddID0gJ0NhdGVnb3J5IFRlbXBsYXRlcyc7DQokbGFuZ1snc3VtbWFyeXRlbXBsYXRlJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZSc7DQokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsNCiRsYW5nWydkZXRhaWx0ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7DQokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7DQokbGFuZ1snc2VhcmNodGVtcGxhdGUnXSA9ICdTZWFyY2ggVGVtcGxhdGUnOw0KJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1NlYXJjaCBUZW1wbGF0ZXMnOw0KJGxhbmdbJ2ZpbHRlcnRlbXBsYXRlJ10gPSAnRmlsdGVyIFRlbXBsYXRlJzsNCiRsYW5nWydmaWx0ZXJ0ZW1wbGF0ZXMnXSA9ICdGaWx0ZXIgVGVtcGxhdGVzJzsNCiRsYW5nWydlZGl0dGVtcGxhdGUnXSA9ICdFZGl0IFRlbXBsYXRlJzsNCiRsYW5nWyd0ZW1wbGF0ZV9uYW1lJ10gPSAnVGVtcGxhdGUgbmFtZSc7DQokbGFuZ1sndGVtcGxhdGVfbmFtZV9lbXB0eSddID0gJ1RlbXBsYXRlIG5hbWUgaXMgZW1wdHknOw0KJGxhbmdbJ3RlbXBsYXRlX2NvbnRlbnRfZW1wdHknXSA9ICdUZW1wbGF0ZSBjb250ZW50IGlzIGVtcHR5JzsNCiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ0RlZmF1bHQgdGVtcGxhdGVzJzsNCg0KLy8gb3B0aW9ucw0KJGxhbmdbJ21vZHVsZV9vcHRpb25zJ10gPSAnTW9kdWxlIE9wdGlvbnMnOw0KJGxhbmdbJ3VybF9vcHRpb25zJ10gPSAnVVJMIE9wdGlvbnMnOw0KJGxhbmdbJ2RlZmF1bHRfb3B0aW9ucyddID0gJ01vZHVsZSBkZWZhdWx0cyc7DQokbGFuZ1sneG1vZHVsZV9vcHRpb25zJ10gPSAnQ3Jvc3MgTW9kdWxlIE9wdGlvbnMnOw0KJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdNb2R1bGUgZnJpZW5kbHkgbmFtZSc7DQokbGFuZ1sncHJvbXB0X21vZGRlc2NyaXB0aW9uJ10gPSAnTW9kdWxlIEFkbWluIGRlc2NyaXB0aW9uJzsNCiRsYW5nWydwcm9tcHRfYWRtaW5zZWN0aW9uJ10gPSAnTW9kdWxlIEFkbWluIFNlY3Rpb24nOw0KJGxhbmdbJ2l0ZW1zX29wdGlvbnMnXSA9ICdJdGVtcyBPcHRpb25zJzsNCiRsYW5nWydwcm9tcHRfaXRlbV9zaW5ndWxhciddID0gJ0l0ZW0gc2luZ3VsYXInOw0KJGxhbmdbJ3Byb21wdF9pdGVtX3BsdXJhbCddID0gJ0l0ZW0gcGx1cmFsJzsNCiRsYW5nWydwcm9tcHRfdXJsX3ByZWZpeCddID0gJ1VSTCBQcmVmaXgnOw0KJGxhbmdbJ3Byb21wdF91cmxfdGVtcGxhdGUnXSA9ICdVUkwgVGVtcGxhdGUnOw0KJGxhbmdbJ3Byb21wdF9kaXNwbGF5X2lubGluZSddID0gJ0Rpc3BsYXkgZGV0YWlscyBpbmxpbmUgKHJlcGxhY2VzIG1vZHVsZSB0YWcgaW5zdGVhZCBvZiB7Y29udGVudH0pJzsNCiRsYW5nWydwcm9tcHRfc3ViY2F0ZWdvcnknXSA9ICdFbmFibGUgc3ViY2F0ZWdvcnkgb3B0aW9uLCB3aWxsIHNob3cgaW5oZXJpdGVkIGl0ZW1zIGluIGNhdGVnb3J5IGFuZCBpdHMgY2hpbGRyZW4nOw0KJGxhbmdbJ3Byb21wdF9pdGVtX2NvbHMnXSA9ICdEaXNwbGF5IHRoZXNlIGZpZWxkcyBpbiBpdGVtIG92ZXJ2aWV3JzsNCiRsYW5nWydwcm9tcHRfaXRlbXNfcGVyX3BhZ2UnXSA9ICdEaXNwbGF5IGl0ZW1zIHBlciBwYWdlJzsNCiRsYW5nWydwcm9tcHRfY3JlYXRlX2RhdGUnXSA9ICdEaXNwbGF5IGl0ZW0gY3JlYXRlZCBkYXRlIGluIEl0ZW0gZWRpdCBtb2RlPyc7DQokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZXRhaWwgcGFnZSc7DQokbGFuZ1sncHJvbXB0X3N1bW1hcnlwYWdlJ10gPSAnU3VtbWFyeSBwYWdlJzsNCiRsYW5nWydwcm9tcHRfcmVpbmRleF9zZWFyY2gnXSA9ICdJdGVtcyBzZWFyY2hhYmxlIGJ5IFNlYXJjaCBtb2R1bGUnOw0KJGxhbmdbJ3RleHRfc29ydG9yZGVyJ10gPSAnRGVmYXVsdCBJdGVtcyBzb3J0b3JkZXInOw0KJGxhbmdbJ29wdGlvbnNfbm90aWNlJ10gPSAnQWZ0ZXIgY2hhbmdpbmcgbW9kdWxlIGZyaWVuZGx5IG5hbWUgb3IgQWRtaW4gc2VjdGlvbiwgeW91IG1heSBuZWVkIHRvIGNsZWFyIHRoZSBjYWNoZSBmb3IgeW91ciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0Lic7DQokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9zY2FuJ10gPSAnQWxsb3cgc3lzdGVtIHRvIHNjYW4gZmllbGQgZGVmaW5pdGlvbnMgYXV0b21hdGljYWxseSc7DQokbGFuZ1snbm90aWNlX2FsbG93X2F1dG9zY2FuJ10gPSAnQWxsb3dpbmcgYXV0b21hdGljIHNjYW4gb24gTW9kdWxlSW5zdGFsbGVkLCBNb2R1bGVVcGdyYWRlZCwgTW9kdWxlVW5pbnN0YWxsZWQgYW5kIENvbnRlbnRQb3N0Q29tcGlsZSBldmVudHMsIG1pZ2h0IGhhdmUgc29tZSBzdHJhbmdlIGJlaGF2aW9yIHdpdGggc29tZSBjb3JlIHZlcnNpb25zLic7DQokbGFuZ1sncHJvbXB0X2FsbG93X2F1dG9pbnN0YWxsJ10gPSAnQWxsb3cgc3lzdGVtIHRvIGluc3RhbGwgaW5zdGFuY2VzIGF1dG9tYXRpY2FsbHknOw0KJGxhbmdbJ21pc2Nfb3B0aW9ucyddID0gJ01pc2NlbGxhbmVvdXMnOw0KJGxhbmdbJ3Byb21wdF9hdXRvX3VwZ3JhZGUnXSA9ICdBbGxvdyBzeXN0ZW0gdG8gdXBncmFkZSB0aGlzIGluc3RhbmNlIGF1dG9tYXRpY2FsbHkgd2hlbiBMSVNFIGlzIHVwZ3JhZGVkJzsNCg0KDQovLyBpbnN0YW5jZXMNCiRsYW5nWydub3RpY2UnXSA9ICdOb3RpY2UnOw0KJGxhbmdbJ2luc3RhbmNlcyddID0gJ0luc3RhbmNlcyc7DQokbGFuZ1snaW5zdGFsbGVkX2luc3RhbmNlc193YXJuaW5nJ10gPSAnQmVsb3cgaXMgYSBsaXN0IG9mIGR1cGxpY2F0ZWQgbW9kdWxlIGluc3RhbmNlcy48YnIgLz5NYWtlIHN1cmUgdG8gYmFja3VwIHlvdXIgc2l0ZSAoRGF0YWJhc2UgYW5kIEZpbGVzKSBiZWZvcmUgInVwZGF0ZSIgYWN0aW9uJzsNCiRsYW5nWydjbG9uZV9pbnN0YW5jZXNfd2FybmluZyddID0gJ0FsbCBzZXR0aW5ncyB3aWxsIGJlIGNvcGllZCBleGNlcHQgZm9yIHBlcm1pc3Npb25zIHdoaWNoIHdpbGwgaGF2ZSB0byBiZSBzZXQgbWFudWFsbHkuJzsNCiRsYW5nWydpbnN0YWxsZWRfaW5zdGFuY2VzJ10gPSAnSW5zdGFsbGVkIGluc3RhbmNlcyc7DQokbGFuZ1snaW5zdGFuY2VfbmFtZSddID0gJ0luc3RhbmNlIG5hbWUnOw0KJGxhbmdbJ2luc3RhbmNlX2ZyaWVuZGx5bmFtZSddID0gJ0ZyaWVuZGx5IG5hbWUnOw0KJGxhbmdbJ2luc3RhbmNlX3NtYXJ0eSddID0gJ1NtYXJ0eSB0YWcnOw0KJGxhbmdbJ2luc3RhbmNlX3ZlcnNpb24nXSA9ICdWZXJzaW9uJzsNCiRsYW5nWydpbnN0YW5jZV91cGdyYWRlJ10gPSAnVXBncmFkZSc7DQokbGFuZ1snaW5zdGFuY2VfdXB0b2RhdGUnXSA9ICdVcCB0byBkYXRlJzsNCiRsYW5nWydpbnN0YW5jZV9tb2R1bGV1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCc7DQovLyRsYW5nWydkdXBsaWNhdGVfaW5zdGFuY2UnXSA9ICdEdXBsaWNhdGUgbW9kdWxlJzsNCi8vJGxhbmdbJ2R1cGxpY2F0ZV9kZXNjcmlwdGlvbiddID0gJG1vZHVsZV9uYW1lIC4gJyBjYW4gYmUgZWFzaWx5IGR1cGxpY2F0ZWQgdG8gbXVsdGlwbGUgbW9kdWxlIGluc3RhbmNlcyB3aXRoIGR1cGxpY2F0ZSBidXR0b24uPGJyIC8+IEluc3RhbGwgbmV3bHkgY29waWVkIG1vZHVsZSBmcm9tICJFeHRlbnNpb25zICZyYXF1bzsgTW9kdWxlcyIuJzsNCiRsYW5nWydjb3B5X3RpdGxlJ10gPSAnRHVwbGljYXRlIG1vZHVsZSc7DQokbGFuZ1snaW1wb3J0X2Zyb21fTEkyX3RpdGxlJ10gPSAnSW1wb3J0IEluc3RhbmNlcyBGcm9tIExJMic7DQokbGFuZ1sncHJvbXB0X2ltcG9ydF9mcm9tX0xJMiddID0gJ0ltcG9ydCBmcm9tIGV4aXN0aW5nIExJMiBpbnRhbmNlcyc7DQokbGFuZ1snYnV0dG9uX2ltcG9ydF9mcm9tX0xJMiddID0gJ0ltcG9ydCEnOw0KDQovLyBnbG9iYWwNCiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOw0KJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsNCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOw0KJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7DQokbGFuZ1sncmVwYWlyJ10gPSAnUmVwYWlyJzsNCiRsYW5nWydzYXZlX2NyZWF0ZSddID0gJ1NhdmUgJmFtcDsgQ3JlYXRlJzsNCiRsYW5nWydyZXNldCddID0gJ1Jlc2V0IERlZmF1bHQnOw0KJGxhbmdbJ2R1cGxpY2F0ZSddID0gJ0NyZWF0ZSBpbnN0YW5jZSc7DQokbGFuZ1snY2hhbmdlc3NhdmVkJ10gPSAnWW91ciBjaGFuZ2VzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgc2F2ZWQuJzsNCiRsYW5nWydjaGFuZ2Vzc2F2ZWRfY3JlYXRlJ10gPSAnWW91ciBwcmV2aW91cyBpdGVtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBzYXZlZC4gQ3JlYXRlIG5ldyBpdGVtPyc7DQokbGFuZ1sndGVtcGxhdGVyZXN0b3JlZCddID0gJ0RlZmF1bHQgVGVtcGxhdGUgaGFzIGJlZW4gcmVzdG9yZWQuJzsNCiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT8nOw0KJGxhbmdbJ3VwJ10gPSAnVXAnOw0KJGxhbmdbJ2Rvd24nXSA9ICdEb3duJzsNCiRsYW5nWydlZGl0J10gPSAnRWRpdCc7DQokbGFuZ1snY29weSddID0gJ0NvcHknOw0KJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7DQokbGFuZ1snbm9zdWNoaWQnXSA9ICdObyBzdWNoIElEJzsNCiRsYW5nWydkZWxldGVkJ10gPSAnVGhlIGl0ZW0ocykgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkLic7DQokbGFuZ1snYWRkJ10gPSAnQWRkICVzJzsNCiRsYW5nWydpbXBvcnQnXSA9ICdJbXBvcnQgJXMnOw0KJGxhbmdbJ2V4cG9ydCddID0gJ0V4cG9ydCAlcyc7DQokbGFuZ1snY2xvbmUnXSA9ICdDbG9uZSAlcyc7DQokbGFuZ1snZXhwb3J0X3RpdGxlJ10gPSAnRXhwb3J0JzsNCiRsYW5nWydpbXBvcnRfdGl0bGUnXSA9ICdJbXBvcnQnOw0KJGxhbmdbJ2Nsb25lX3RpdGxlJ10gPSAnQ2xvbmUnOw0KJGxhbmdbJ2FsaWFzJ10gPSAnQWxpYXMnOw0KJGxhbmdbJ2FsaWFzX2ludmFsaWQnXSA9ICdBbGlhcyBpcyBpbnZhbGlkLiBJdCBtdXN0IG9ubHkgaW5jbHVkZSBsZXR0ZXJzLCBudW1iZXJzIGFuZCB1bmRlcnNjb3Jlcyc7DQokbGFuZ1snc2VhcmNoJ10gPSAnU2VhcmNoJzsNCiRsYW5nWydzZWFyY2hmb3InXSA9ICdTZWFyY2ggZm9yJzsNCiRsYW5nWydzZWFyY2hyZXN1bHRzZm9yJ10gPSAnU2VhcmNoIHJlc3VsdHMgZm9yJzsNCiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmbHQ7Jmx0Oyc7DQokbGFuZ1sncHJldnBhZ2UnXSA9ICcmbHQ7JzsNCiRsYW5nWyduZXh0cGFnZSddID0gJyZndDsnOw0KJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmd0OyZndDsnOw0KJGxhbmdbJ21vZHVsZV9uYW1lJ10gPSAnTW9kdWxlIG5hbWUnOw0KJGxhbmdbJ21vZHVsZV9uYW1lX2VtcHR5J10gPSAnTW9kdWxlIG5hbWUgaXMgZW1wdHknOw0KJGxhbmdbJ21vZHVsZV9uYW1lX2ludmFsaWQnXSA9ICdNb2R1bGUgbmFtZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlcnMnOw0KJGxhbmdbJ21vZHVsZWNvcGllZCddID0gJ01vZHVsZSBjb3BpZWQgc3VjY2VzZnVsbHknOw0KJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsNCiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7DQokbGFuZ1snbWF4X2xlbmd0aCddID0gJ01heCBMZW5ndGgnOw0KJGxhbmdbJ3d5c2l3eWcnXSA9ICdXWVNJV1lHJzsNCiRsYW5nWydkYXRlX2Zvcm1hdCddID0gJ0RhdGUgRm9ybWF0JzsNCiRsYW5nWyd0aW1lX2Zvcm1hdCddID0gJ1RpbWUgRm9ybWF0JzsNCiRsYW5nWydmb3JtYXRfdHlwZSddID0gJ0Zvcm1hdCBUeXBlJzsNCiRsYW5nWydkaXInXSA9ICdEaXJlY3RvcnknOw0KJGxhbmdbJ2FsbG93ZWQnXSA9ICdBbGxvd2VkJzsNCiRsYW5nWydleGNsdWRlX3ByZWZpeCddID0gJ0V4Y2x1ZGUgcHJlZml4JzsNCiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsNCiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7DQokbGFuZ1sncmVxdWlyZWQnXSA9ICdSZXF1aXJlZCc7DQokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsNCiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnRGVzY2VuZGluZyc7DQokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7DQokbGFuZ1snY29tYmluZWQnXSA9ICdDb21iaW5lZCc7DQokbGFuZ1snc2hvd19zZWNvbmRzJ10gPSAnU2hvdyBTZWNvbmRzJzsNCiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsNCiRsYW5nWyd3aWR0aCddID0gJ1dpZHRoJzsNCiRsYW5nWydtaW5fdmFsdWUnXSA9ICdNaW5pbXVtIFZhbHVlJzsNCiRsYW5nWydtYXhfdmFsdWUnXSA9ICdNYXhpbXVtIFZhbHVlJzsNCiRsYW5nWydpbmNyZW1lbnRfYnknXSA9ICdJbmNyZW1lbnQgYnknOw0KJGxhbmdbJ3N1YnR5cGUnXSA9ICdTdWIgVHlwZSc7DQokbGFuZ1snc2hvd2FsbCddID0gJ1Nob3cgQWxsJzsNCiRsYW5nWydjb2x1bW5zJ10gPSAnQ29sdW1ucyc7DQokbGFuZ1snb3duZXInXSA9ICdPd25lcic7DQoNCi8vIGNzdiBpbXBvcnQvZXhwb3J0DQokbGFuZ1snZmlsZW5hbWUnXSA9ICdGaWxlIG5hbWUnOw0KJGxhbmdbJ2VuY2xvc3VyZSddID0gJ0VuY2xvc3VyZSc7DQokbGFuZ1snc2VwYXJhdG9yJ10gPSAnU2VwYXJhdG9yJzsNCiRsYW5nWyd2YWx1ZXMnXSA9ICdWYWx1ZXMnOw0KJGxhbmdbJ2ltcG9ydF9hbGlhcyddID0gJ0l0ZW0vRmllbGRkZWYgYWxpYXMnOw0KJGxhbmdbJ2ZpbGVfYWxpYXMnXSA9ICdGaWxlIGhlYWRlci9hbGlhcyc7DQoNCi8vIGVycm9ycw0KJGxhbmdbJ2Vycm9yX29wdGlvbnJlcXVpcmVkJ10gPSAnT3B0aW9uICVzIGlzIHJlcXVpcmVkJzsNCiRsYW5nWydlcnJvcl9iYWRfZXh0ZW5zaW9uJ10gPSAnRmlsZSB5b3UgdHJ5aW5nIHRvIHVwbG9hZCBoYXMgYmFkIGV4dGVuc2lvbic7DQokbGFuZ1snZXJyb3JfZmlsZV9wZXJtaXNzaW9ucyddID0gJ1RoZXJlIHdhcyBwcm9ibGVtIHdpdGggZmlsZSBwZXJtaXNzaW9ucyc7DQokbGFuZ1snZXJyb3JfZmlsZV9lbXB0eSddID0gJ05vIGZpbGUgZ2l2ZW4nOw0KJGxhbmdbJ2Vycm9yX2ZpbGVfbm9jc3YnXSA9ICdGaWxlIGlzIG5vdCBDU1YgZmlsZSc7DQoNCi8vIGZpbHRlcg0KJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7DQokbGFuZ1snZmlsdGVycHJvbXB0J10gPSAnRmlsdGVyICVzJzsNCiRsYW5nWydwYXJhbV9maWx0ZXJfbWlzc2luZyddID0gJ1BhcmFtZXRlciA8ZW0+ZmlsdGVyPC9lbT4gaXMgcmVxdWlyZWQgaW4gZmlsdGVyIG1vZGUuJzsNCiRsYW5nWydhbGwnXSA9ICdBbGwnOw0KDQovLyBFdmVudCBkZXNjcmlwdGlvbnMNCiRsYW5nWydldmVudGRlc2NfUHJlSXRlbVNhdmUnXSA9ICdTZW50IGJlZm9yZSBpdGVtIHNhdmUgcHJvY2VzcyBiZWdpbnMuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOw0KJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbVNhdmUnXSA9ICdTZW50IGFmdGVyIGl0ZW0gc2F2ZSBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOw0KJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtRGVsZXRlJ10gPSAnU2VudCBiZWZvcmUgaXRlbSBkZWxldGUgcHJvY2VzcyBiZWdpbnMuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOw0KJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbURlbGV0ZSddID0gJ1NlbnQgYWZ0ZXIgaXRlbSBkZWxldGUgcHJvY2VzcyBoYXMgY29tcGxldGVkLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gb2JqZWN0IGRhdGEuJzsNCiRsYW5nWydldmVudGRlc2NfUHJlSXRlbUxvYWQnXSA9ICdTZW50IGJlZm9yZSBpdGVtIGxvYWQgcHJvY2VzcyBiZWdpbnMuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOw0KJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbUxvYWQnXSA9ICdTZW50IGFmdGVyIGl0ZW0gbG9hZCBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuIFBvc3NpYmxlIHRvIG1hbmlwdWxhdGUgaXRlbSBvYmplY3QgZGF0YS4nOw0KJGxhbmdbJ2V2ZW50ZGVzY19QcmVSZW5kZXJBY3Rpb24nXSA9ICdTZW50IG9uIGFjdGlvbiBleGVjdXRlLiBQb3NzaWJsZSB0byBtYW5pcHVsYXRlIGl0ZW0gcXVlcnkgZGF0YS4nOw0KDQojRXZlbnQgaGVscA0KJGxhbmdbJ2V2ZW50aGVscF9QcmVJdGVtU2F2ZSddID0gIjxwPiIuJGxhbmdbJ2V2ZW50ZGVzY19QcmVJdGVtU2F2ZSddLiI8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+J2l0ZW1fb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPg0KPC91bD4iOw0KDQokbGFuZ1snZXZlbnRoZWxwX1Bvc3RJdGVtU2F2ZSddID0gIjxwPiIuJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbVNhdmUnXS4iPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPidpdGVtX29iamVjdCcgLSBSZWZlcmVuY2UgdG8gYWZmZWN0ZWQgaXRlbSBvYmplY3QuPC9saT4NCjwvdWw+IjsNCg0KJGxhbmdbJ2V2ZW50aGVscF9QcmVJdGVtRGVsZXRlJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1ByZUl0ZW1EZWxldGUnXS4iPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPidpdGVtX29iamVjdCcgLSBSZWZlcmVuY2UgdG8gYWZmZWN0ZWQgaXRlbSBvYmplY3QuPC9saT4NCjwvdWw+IjsNCg0KJGxhbmdbJ2V2ZW50aGVscF9Qb3N0SXRlbURlbGV0ZSddID0gIjxwPiIuJGxhbmdbJ2V2ZW50ZGVzY19Qb3N0SXRlbURlbGV0ZSddLiI8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+J2l0ZW1fb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPg0KPC91bD4iOw0KDQokbGFuZ1snZXZlbnRoZWxwX1ByZUl0ZW1Mb2FkJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1ByZUl0ZW1Mb2FkJ10uIjwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT4naXRlbV9vYmplY3QnIC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIGl0ZW0gb2JqZWN0LjwvbGk+DQo8L3VsPiI7DQoNCiRsYW5nWydldmVudGhlbHBfUG9zdEl0ZW1Mb2FkJ10gPSAiPHA+Ii4kbGFuZ1snZXZlbnRkZXNjX1Bvc3RJdGVtTG9hZCddLiI8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+J2l0ZW1fb2JqZWN0JyAtIFJlZmVyZW5jZSB0byBhZmZlY3RlZCBpdGVtIG9iamVjdC48L2xpPg0KPC91bD4iOw0KDQokbGFuZ1snZXZlbnRoZWxwX1ByZVJlbmRlckFjdGlvbiddID0gIjxwPiIuJGxhbmdbJ2V2ZW50ZGVzY19QcmVSZW5kZXJBY3Rpb24nXS4iPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPidhY3Rpb25fbmFtZScgLSBOYW1lIG9mIGV4ZWN1dGVkIGFjdGlvbi48L2xpPg0KPGxpPidxdWVyeV9vYmplY3QnIC0gUmVmZXJlbmNlIHRvIGFmZmVjdGVkIHF1ZXJ5IG9iamVjdC48L2xpPg0KPC91bD4iOw0KDQovLyBtb2R1bGUNCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0xJU0UgYWxsb3dzIHlvdSB0byBjcmVhdGUgbGlzdHMgdGhhdCB5b3UgY2FuIGRpc3BsYXkgdGhyb3VnaG91dCB5b3VyIHdlYnNpdGUuJzsNCiRsYW5nWydwb3N0aW5zdGFsbCddID0gJG1vZHVsZV9uYW1lIC4gJyBoYXMgc3VjY2Vzc2Z1bGx5IGJlZW4gaW5zdGFsbGVkJzsNCiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAkbW9kdWxlX25hbWUgLiAnIGhhcyBzdWNjZXNzZnVsbHkgYmVlbiB1bmluc3RhbGxlZCc7DQoNCi8vIG1vZHVsZSBoZWxwDQokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWwnOw0KJGxhbmdbJ3VzYWdlJ10gPSAnVXNhZ2UnOw0KJGxhbmdbJ3Blcm1pc3Npb25zJ10gPSAnUGVybWlzc2lvbnMnOw0KJGxhbmdbJ2R1cGxpY2F0aW5nJ10gPSAnQ3JlYXRpbmcgSW5zdGFuY2VzJzsNCiRsYW5nWyd1cGdyYWRpbmcnXSA9ICdVcGdyYWRpbmcnOw0KJGxhbmdbJ2ltcG9ydGluZyddID0gJ0ltcG9ydGluZyBGcm9tIExpc3RJdEV4dGVuZGVkIEluc3RhbGxhdGlvbnMnOw0KJGxhbmdbJ3NtYXJ0eV9wbHVnaW5zJ10gPSAnU21hcnR5IHBsdWdpbnMnOw0KLy8kbGFuZ1snYWJvdXQnXSA9ICdBYm91dCc7DQokbGFuZ1sndXBncmFkZV9mcm9tJ10gPSAnVXBncmFkaW5nIGZyb20nOw0KJGxhbmdbJ2ltcG9ydGluZ19mcm9tX2xpMiddID0gJ0ltcG9ydGluZyBGcm9tIExJMiBJbnN0YW5jZXMnOw0KJGxhbmdbJ3RlYW0nXSA9ICdUZWFtJzsNCi8vJGxhbmdbJ2NvbnRyaWJ1dG9ycyddID0gJ0NvbnRyaWJ1dG9ycyc7DQoNCiRsYW5nWydoZWxwX2dlbmVyYWwnXSA9ICc8aDM+R2VuZXJhbCBJbmZvPC9oMz4gICAgICANCiAgICA8cD5TaW1wbHkgcHV0LCBMSVNFIGFsbG93cyB5b3UgdG8gY3JlYXRlIGxpc3RzIHRoYXQgeW91IGNhbiBkaXNwbGF5IHRocm91Z2hvdXQgeW91ciB3ZWJzaXRlLiBZb3UgY2FuIG1ha2UgYSBzaW1wbGUgRkFRIG9yIFRlc3RpbW9uaWFscyBmZWF0dXJlIHdpdGggdGhpcyBtb2R1bGUuIFRoZSB3ZWIgZGV2ZWxvcGVyIGNhbiBkZWZpbmUgZmllbGRzIHRvIGNvbnN0cmFpbiB3aGF0IGRhdGEgdGhlIGNsaWVudCBjYW4gZW50ZXIuIEEgbnVtYmVyIG9mIGZpZWxkIHR5cGVzIGNhbiBiZSBzcGVjaWZpZWQgLSB0ZXh0IGlucHV0LCBjaGVja2JveCwgdGV4dCBhcmVhLCBzZWxlY3QgZGF0ZSwgdXBsb2FkIGZpbGUsIHNlbGVjdCBmaWxlLCBkcm9wZG93biAtIGFuZCBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyBjYW4gYmUgc2V0IGZvciBlYWNoIHR5cGUsIGZvciBleGFtcGxlLCBpbnB1dCBmaWVsZCBzaXplLCBtYXggbGVuZ3RoLCBXWVNJV1lHIGVkaXRvciwgcG9zc2libGUgZHJvcCBkb3duIHZhbHVlcywgcG9zc2libGUgZmlsZSBleHRlbnNpb25zLCBkaXJlY3RvcnkgcGF0aHMgZm9yIGZpbGUgc2VsZWN0aW9ucywgZGF0ZSBmb3JtYXRzLCBldGMuLjwvcD4NCiAgICA8cD5BbiBpbXBvcnRhbnQgbm90ZSBvZiB3YXJuaW5nIC0gVGhpcyBpcyBub3QgYSBjb250ZW50IGNvbnN0cnVjdGlvbiBraXQsIHN1Y2ggYXMgaW4gRHJ1cGFsLiBJdCBpcyBtZWFudCBmb3Igc21hbGwgbGlzdGluZ3MsIG5vdCB0byBzdG9yZSB0aG91c2FuZHMgb2YgcmVjb3Jkcy4gVGhpcyBpcyBiZWNhdXNlIG9mIHRoZSBkYXRhYmFzZSBtb2RlbCB1c2VkIChFQVYpLiBBbHNvLCBlYWNoIGJpdCBvZiBkYXRhIHlvdSBlbnRlciBpcyBzdG9yZWQgYXMgVEVYVCBkYXRhIHR5cGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyB2YXJjaGFyLCBib29sZWFuLCB0aW1lc3RhbXAsIGV0Yy48L3A+DQogICAgPGRpdiBjbGFzcz0icmVkIj5Zb3UgY2FuIGltcG9ydCBpbnN0YW5jZXMgZnJvbSBMaXN0SXRFeHRlbmRlZC4gSWYgeW91IGhhdmUgaXQgaW5zdGFsbGVkIHlvdSB3aWxsIHNlZSBhIHRhYiwgPHN0cm9uZz5JbXBvcnRpbmcgRnJvbSBMaXN0SXRFeHRlbmRlZCBJbnN0YWxsYXRpb25zPC9zdHJvbmc+LCB3aXRoIG1vcmUgaGVscC4uLjwvZGl2Pg0KICAgICc7DQoJDQokbGFuZ1snaGVscF91c2FnZSddID0gJzxoMz5Vc2FnZTwvaDM+ICAgIA0KICAgICAgIA0KICAgIDxwPllvdSBjYW4gY29uZmlndXJlIHskbW9kdWxlX25hbWV9IGhlcmU6IENvbnRlbnQgJnJhcXVvOyB7JG1vZHVsZV9uYW1lfTwvcD4NCiAgICA8cD5QbGFjZSB0aGlzIHRhZyBpbiB5b3VyIHBhZ2U6IHt7JG1vZHVsZV9uYW1lfX08L3A+PGJyIC8+JzsNCgkNCiRsYW5nWydoZWxwX3VzYWdlX29wdGlvbnMnXSA9ICdBZnRlciBpbnN0YWxsaW5nIHRoZSBtb2R1bGUgdGhlIG5leHQgdGhpbmcgdG8gZG8gaXMgc2V0IHRoZSBvcHRpb25zLiAgICAgICAgICAgICAgICAgDQogICAgPG9sPiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgIDxsaT5UbyBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZSBpbiB0aGUgbWVudSBjaGFuZ2UgdGhlICJNb2R1bGUgRnJpZW5kbHkgTmFtZSIuPC9saT4NCiAgICAgICAgPGxpPlRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgaXRlbSB0YWIgY2hhbmdlIHRoZSAiSXRlbSBQbHVyYWwiLjwvbGk+DQogICAgPC9vbD4nOw0KCQ0KJGxhbmdbJ2hlbHBfdXNhZ2VfZmllbGRkZWZzJ10gPSAnTmV4dCAtIHNldCB0aGUgRmllbGQgRGVmaW5pdGlvbnMuIA0KICAgIDxvbD4NCiAgICAgICAgPGxpPkNob29zZSBmcm9tICJUZXh0IElucHV0IiwgIkNoZWNrYm94IiwgIlRleHQgQXJlYSIsICJTZWxlY3QgRGF0ZSIsICJTZWxlY3QgRmlsZSIsICJDb250ZW50IFBhZ2VzIiAgJmFtcDsgIkRyb3Bkb3duIi48L2xpPg0KICAgICAgICA8bGk+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IG9yIGNob29zZSBhZGRpdGlvbmFsIHNldHRpbmdzPGJyIC8+IGZyb20gYXZhaWxhYmxlIG9wdGlvbnMgd2hpY2ggZGVwZW5kIG9uIGZpZWxkIGRlZmluaXRpb24gdHlwZS48L2xpPg0KICAgICAgICA8bGk+RWFjaCBpdGVtIGluIGVhY2ggbGlzdCBoYXMgdGhyZWUgZGVmYXVsdCBmaWVsZHMuIDxiciAvPkFsbCBGaWVsZCBEZWZpbml0aW9ucyBzZXQgaGVyZSBhcmUgYWRkaXRpb25hbCB0byB0aGVtLjwvbGk+DQogICAgPC9vbD4nOw0KCQ0KJGxhbmdbJ2hlbHBfdXNhZ2VfY2F0ZWdvcmllcyddID0gJ1RvIGJlIGFibGUgdG8gdXNlIENhdGVnb3JpZXMgd2l0aCB5b3VyIExJU0UgaW5zdGFuY2UgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgYQ0KCSBGaWVsZCBkZWZpbml0aW9uIHdpdGggdHlwZSBvZiAiQ2F0ZWdvcnkiLjxiciAvPiBPbmNlIGEgRmllbGQgZGVmaW5pdGlvbiB3YXMgY3JlYXRlIG5ldyBUYWIgd2l0aCBuYW1lICJDYXRlZ29yaWVzIiB3aWxsIGJlY29tZSBhdmFpbGFibGUgaW4geW91ciBMSVNFIG1vZHVsZSBpbnN0YW5jZS48YnIgLz4NCgkgTm93IHlvdSBjYW4gc3RhcnQgYWRkaW5nIGNhdGVnb3JpZXMuJzsNCg0KJGxhbmdbJ2hlbHBfdXNhZ2VfaXRlbXMnXSA9ICdOb3cgd2UgbW92ZSBvbiB0byB0aGUgaXRlbSBsaXN0IGl0c2VsZi4gSW4gdGhpcyBleGFtcGxlIGl0IHNheXMgIkFkZCBCb3giLCB0aGlzIHdhcyByZW5hbWVkIGluIHRoZSAiT3B0aW9ucyIgdGFiLiANCiAgICA8b2w+DQogICAgICAgIDxsaT5UaGUgZmlyc3QgZmllbGQgaXMgdGhlIGRlZmF1bHQgIlRpdGxlIiBmaWVsZC48L2xpPg0KICAgICAgICA8bGk+VGhlICJDYXRlZ29yeSIgZHJvcGRvd24gaXMgYWxzbyBhIGRlZmF1bHQgZmllbGQsIGFuZCBpZiB1bmNoYW5nZWQsIHdpbGwgYmUgc2V0IHRvICJHZW5lcmFsIi48L2xpPg0KICAgICAgICA8bGk+VGhlIHRoaXJkIGRlZmF1bHQgZmllbGQgaXMgdGhlIGNoZWNrYm94IGNhbGxlZCAiQWN0aXZlIi4gVGhpcyBhbGxvd3MgeW91IHRvIHRvZ2dsZSBhIGxpc3QgZW50cnkgd2l0aG91dCBkZWxldGluZyBpdC48L2xpPg0KICAgIDwvb2w+JzsNCgkNCiRsYW5nWydoZWxwX3Blcm1pc3Npb25zJ10gPSAnPGgzPlBlcm1pc3Npb25zPC9oMz4NCiAgICA8cD5Zb3UgY2FuIHNwZWNpZnkgdGhlIGZvbGxvd2luZyBwZXJtaXNzaW9ucyB1bmRlciBVc2VycyAmYW1wOyBHcm91cHMgJnJhcnI7IEdyb3VwIFBlcm1pc3Npb25zPC9wPg0KICAgIDx1bD4NCiAgICAgICAgPGxpPnskbW9kdWxlX25hbWV9OiBNb2RpZnkgSXRlbXM8L2xpPg0KICAgICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBhbGwgaXRlbXM8L2xpPg0KICAgICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IFJlbW92ZSBpdGVtczwvbGk+DQogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogQXBwcm92ZSBpdGVtczwvbGk+DQogICAgICAgIDxsaT57JG1vZHVsZV9uYW1lfTogTW9kaWZ5IENhdGVnb3JpZXM8L2xpPg0KICAgICAgICA8bGk+eyRtb2R1bGVfbmFtZX06IE1vZGlmeSBPcHRpb25zPC9saT4NCiAgICA8L3VsPg0KICAgIDxwPlRvIGFsbG93IG5vbi1hZG1pbiB1c2VycyB0byB1cGxvYWQgZmlsZXMsIHBsZWFzZSBnbyB0byBFeHRlbnNpb25zID4gR0JGaWxlUGlja2VyIGFuZCB0aWNrIHRoYXQgZmlyc3QgY2hlY2tib3ggIlNob3cgZmlsZW1hbmFnZW1lbnQgb3B0aW9ucyIuPC9wPic7DQoJDQokbGFuZ1snaGVscF9maWVsZGRlZnMnXSA9ICc8aDM+RmllbGQgRGVmaW5pdGlvbnM8L2gzPg0KICAgIDxwPlRoZSBmaXJzdCB0aGluZyB5b3Ugc2hvdWxkIGNvbmZpZ3VyZSBhcmUgeW91ciBmaWVsZCBkZWZpbml0aW9ucy48L3A+DQogICAgPHA+Rm9yIGVhY2ggZmllbGQgZGVmaW5pdGlvbiwgeW91IGNhbiBzcGVjaWZ5IGFkZGl0aW9uYWwgc2V0dGluZ3MgYnkgY2hvb3NpbmcgZnJvbSBhdmFpbGFibGUgb3B0aW9ucy48L3A+DQogICAgDQogICAgPGgzPkRlZmF1bHQgRmllbGQgRGVmaW5pdGlvbnMgYnkgdHlwZTwvaDM+DQogICAgPHVsPg0KICAgICAgICA8bGk+VGV4dCBJbnB1dDwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveDwvbGk+DQogICAgICAgIDxsaT5DaGVja2JveCBHcm91cDwvbGk+DQogICAgICAgIDxsaT5SYWRpbyBHcm91cDwvbGk+DQogICAgICAgIDxsaT5UZXh0IEFyZWE8L2xpPg0KICAgICAgICA8bGk+U2VsZWN0IEZpbGU8L2xpPg0KICAgICAgICA8bGk+RmlsZSBVcGxvYWQ8L2xpPg0KICAgICAgICA8bGk+RHJvcGRvd248L2xpPg0KICAgICAgICA8bGk+Q29udGVudCBQYWdlczwvbGk+DQogICAgICAgIDxsaT5TZWxlY3QgRGF0ZVRpbWU8L2xpPg0KICAgICAgICA8bGk+TXVsdGkgU2VsZWN0PC9saT4NCiAgICAgICAgPGxpPkNoZWNrYm94IEdyb3VwPC9saT4NCiAgICAgICAgPGxpPlNsaWRlcjwvbGk+DQogICAgICAgIDxsaT5DYXRlZ29yaWVzPC9saT4NCiAgICAgICAgPGxpPlRhZ3M8L2xpPg0KICAgICAgICA8bGk+Q29sb3JQaWNrZXI8L2xpPiANCiAgICAgICAgPGxpPlRhYnM8L2xpPiANCiAgICA8L3VsPg0KICAgICc7DQoJDQokbGFuZ1snaGVscF9pbXBvcnRpbmdfZnJvbV9saTInXSA9IDw8PEVPVA0KICAgIDxkaXYgY2xhc3M9InJlZCI+DQogICAgICA8dWw+DQogICAgICAgIDxsaT4NCiAgICAgICAgICBUaGlzIHRhYiB3aWxsIG9ubHkgYmUgdmlzaWJsZSBpZiB0aGVyZSBpcyBhIHZhbGlkIExpc3RJdEV4dGVuZGVkIGluc3RhbGxhdGlvbiBvbiB0aGUgY3VycmVudCBzaXRlLg0KICAgICAgICA8L2xpPiAgICAgICAgDQogICAgICAgIDxsaT4NCiAgICAgICAgICA8c3Ryb25nPk1ha2Ugc3VyZSB5b3UgY3JlYXRlIGEgZnVsbCBiYWNrdXAgb3IgeW91ciBzaXRlIGFuZCBkYXRhYmFzZSBiZWZvcmUgdGFraW5nIGFueSBmdXJ0aGVyIGFjdGlvbnMuPC9zdHJvbmc+DQogICAgICAgIDwvbGk+DQogICAgICA8L3VsPg0KICAgIDwvZGl2Pg0KICAgIDxoND5TdGVwIE9uZTwvaDQ+DQogICAgPHA+SWYgdGhlcmUgYXJlIHZhbGlkIExpc3RJdEV4dGVuZGVkIGluc3RhbmNlcyBvbiB0aGUgc3lzdGVtIExJU0Ugd2lsbCBiZSBhYmxlIHRvIGRldGVjdCB0aGVtIGFuZCB0aGVyZSB3aWxsIGFwcGVhciBhIGJ1dHRvbiBvbiBMSVNFIG1hc3RlciBtb2R1bGUsIHVuZGVyIHRoZSBNYWludGVuYW5jZSB0YWIgaW5zaWRlIEltcG9ydCBJbnN0YW5jZXMgRnJvbSBMSTIgZm9ybS4gVGhpcyBpbXBvcnQgYnV0dG9uIHNob3VsZCBtYWtlIGEgY29weSBvZiBhbGwgY3VycmVudGx5IGluc3RhbGxlZCBMSTIgaW5zdGFuY2VzLCB3aXRob3V0IGNoYW5naW5nIHRoZSBvcmlnaW5hbCBvbmVzLiBIb3dldmVyLCBhdCB0aGlzIHBvaW50IExJU0Ugd2lsbCBub3QgY29weSB0aGUgdXNlcnMgcGVybWl0aW9ucyBmcm9tIExJMiwgZ2l2ZW4gdGhlIGxhY2sgb2YgYSBDTVNNUyBDb3JlIEFQSSB0byBkbyBzby4gVGhhdCBzaG91bGQgYmUgZG9uZSBtYW51YWxseS48L3A+DQogICAgPHA+VGVtcGxhdGVzIG1heSBoYXZlIHRvIGJlIGFkanVzdGVkIHRvIHdvcmsgd2l0aCBMSVNFLjwvcD4NCiAgICA8aDQ+U3RlcCBUd288L2g0Pg0KICAgIDxwPkFmdGVyIHlvdSBhcmUgc2F0aXNmaWVkIHdpdGggdGhlIExJU0UgaW5zdGFuY2UgY29waWVzIHlvdSB3aWxsIG5lZWQgdG8gY2hhbmdlIHRoZSBjYWxsaW5nIHRhZ3MgZnJvbSA8c3Ryb25nPntMaXN0SXQyJmxzYXF1bztpbnN0YW5jZV9uYW1lJnJzYXF1bzt9PC9zdHJvbmc+IHRvIDxzdHJvbmc+e0xJU0UmbHNhcXVvO2luc3RhbmNlX25hbWUmcnNhcXVvO308L3N0cm9uZz4gb24gZXZlcnkgdGVtcGxhdGUgd2hlcmUgdGhleSBhcmUgYmVpbmcgY2FsbGVkLjwvcD4NCiAgICA8aDQ+U3RlcCBUaHJlZTwvaDQ+DQogICAgSWRlYWxseSB5b3VyIEZpZWxkIGRlZmluaXRpb25zIHNob3VsZCB3b3JrIGFnYWluLCBpZiB0aGF0IGlzIG5vdCB0aGUgY2FzZSB5b3Ugc2hvdWxkIHRyeSB0byByZXBhaXIgRmllbGQgZGVmaW5pdGlvbnMgZGF0YWJhc2UgdGFibGUgYnkgY2xpY2tpbmcgb24gIlJlcGFpciIgYnV0dG9uIHVuZGVyICJNYWludGVuYW5jZSIgdGFiLjwvcD48YnIgLz4NCiAgICA8cD48c3Ryb25nPklmIHlvdSBoYXZlIGZvbGxvd2VkIGFib3ZlIHN0ZXBzLCB5b3Ugc2hvdWxkIG5vdyBoYXZlIGEgZnVsbHkgZnVuY3Rpb25hbCBhbmQgdXBncmFkZWQgTElTRSBNb2R1bGUgYW5kIGFsbCBjcmVhdGVkIEluc3RhbmNlcy48L3N0cm9uZz48L3A+DQogICAgPHA+PHN0cm9uZz5BZnRlciB0aGlzIHBvaW50IHlvdSBzaG91bGQgYmUgYWJsZSB0byB1bmluc3RhbGwgTEkyIEluc3RhbmNlcyBhbmQgTGlzdEl0RXh0ZW5kZWQgaXRzZWxmIChtYWtlIHN1cmUgeW91IGtlZXAgYSBmdWxsIGJhY2t1cCBqdXN0IGluIGNhc2UpLjwvc3Ryb25nPjwvcD4NCkVPVDsNCgkNCiRsYW5nWydoZWxwX2NhdGVnb3JpZXMnXSA9IDw8PEVPVA0KCTxoMz5DYXRlZ29yaWVzPC9oMz4NCiAgICA8cD5DYXRlZ29yaWVzIGFyZSBwYXJ0IG9mIEZpZWxkIGRlZmluaXRpb25zIGFuZCBkaXNhYmxlZCBieSBkZWZhdWx0LjxiciAvPg0KICAgIElmIHlvdSBuZWVkIENhdGVnb3JpZXMgd2l0aCB0aGlzIGluc3RhbmNlIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIGEgbmV3IEZpZWxkIGRlZmluaXRpb24gb2YgdHlwZSAiQ2F0ZWdvcnkiLjxiciAvPg0KICAgIE9uY2UgYSBGaWVsZCBkZWZpbml0aW9uIHdhcyBjcmVhdGVkLCBhIG5ld3MgdGFiIG5hbWVkICJDYXRlZ29yaWVzIiB3aWxsIGJlY29tZSBhdmFpbGFibGUgaW4gbW9kdWxlIEluc3RhbmNlLjwvcD4NCiAgICA8cD5DYXRlZ29yaWVzIHN1cHBvcnQgbXVsdGlwbGUgbGV2ZWxzIGFuZCBjcmVhdGVkIEl0ZW1zIG1heSBiZWxvbmcgdG8gbXVsdGlwbGUgY2F0ZWdvcmllcywgZGVwZW5kaW5nIG9uIHlvdXIgc2VsZWN0ZWQgb3B0aW9ucyB3aGlsZSBjcmVhdGluZyBDYXRlZ29yeSBGaWVsZCBkZWZpbnRpb24uPC9wPjxiciAvPg0KICAgIDxwPlRoZXJlIGFyZSB0d28gc2FtcGxlIHRlbXBsYXRlcyBpbmNsdWRlZCB0byBkZW1vbnN0YXJ0ZSBob3cgY2F0ZWdvcmllcyB3aXRoaW4gTElTRSBNb2R1bGUgaW5zdGFuY2Ugd29yaywgdGhpcyBzaG91bGQgZ2l2ZSB5b3UgYSBzdGFydGluZyBpZGVhIG9uIGhvdyB0byBjcmVhdGUgeW91ciBwZXJzb25hbGl6aWVkIGFuZCBjdXN0b208YnIgLz4NCiAgICBUZW1wbGF0ZXMgZm9yIHlvdXIgbmV4dCBwcm9qZWN0LjwvcD4NCiAgICA8aDQ+VXNpbmcgQ2F0ZWdvcmllczwvaDQ+DQogICAgPHA+Rm9yIGRldGFpbGVkIHVzYWdlIGFuZCBhdmFpbGFibGUgcGFyYW1ldGVycywgaGF2ZSBhIGxvb2sgYmVsb3cgYXQgIlBhcmFtZXRlcnMiIEhlbHAgc2VjdGlvbjwvcD4NCiAgICA8cHJlPjxjb2RlPnt7JG1vZHVsZV9uYW1lfSBhY3Rpb249J2NhdGVnb3J5J308L2NvZGU+PC9wcmU+DQpFT1Q7DQoJDQokbGFuZ1snaGVscF90ZW1wbGF0ZXMnXSA9ICc8aDM+VGVtcGxhdGVzPC9oMz4NCiAgICA8cD5JZiB5b3UgYXJlIG5vdCBzdXJlIHdoYXQgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgdG8gdXNlIGluIHlvdXIgdGVtcGxhdGVzLCB0cnkgZGVidWdnaW5nOjwvcD4NCiAgICA8cD57eyRtb2R1bGVfbmFtZX0gZGVidWc9MX08L3A+DQogICAgPHA+WW91IGNhbiBhY2Nlc3MgYW55IGZpZWxkIGRpcmVjdGx5IHdoZW4gbG9vcGluZyB0aHJvdWdoIGl0ZW1zIHVzaW5nIGl0cyBhbGlhcywgZm9yIGV4YW1wbGUsIHRvIGlmIHlvdSBjcmVhdGVkIGEgZmllbGQgZGVmaW5pdGlvbiB3aXRoIGFuIGFsaWFzICJwb3NpdGlvbiIsIHlvdSBjYW4gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6PC9wPic7DQoNCiRsYW5nWydoZWxwX2R1cGxpY2F0aW5nJ10gPSAnPGgzPkNyZWF0aW5nIE1vZHVsZSBJbnN0YW5jZXM8L2gzPg0KICAgIDxwPlRoaXMgbW9kdWxlIGlzIGEgQ29udHJvbCBQYW5lbCBmb3IgY3JlYXRpbmcgTElTRSBNb2R1bGUgSW5zdGFuY2VzLiBUbyBjcmVhdGUgYSBMSVNFIG1vZHVsZSBJbnN0YW5jZSwgc2ltcGx5IGdvIHRvICJJbnN0YW5jZXMiIHRhYiBhbmQgY2xpY2sgb24gIkNyZWF0ZSBJbnN0YW5jZSIgYnV0dG9uLjxiciAvPg0KICAgIE1ha2Ugc3VyZSB5b3UgZm9sbG93IHRoZSBDTVNNUyBtb2R1bGUgbmFtaW5nIGNvbnZlbnRpb25zLCBhLXogd2l0aCBubyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIG9yIHNwYWNlcyB0byBiZSBzYWZlIDopPGJyIC8+DQogICAgWW91IGNhbiBzZXQgdGhlIGluc3RhbmNlIDxzdHJvbmc+RnJpZW5kbHkgTmFtZTwvc3Ryb25nPiwgPHN0cm9uZz5Nb2R1bGUgQWRtaW4gRGVzY3JpcHRpb248L3N0cm9uZz4gYW5kIDxzdHJvbmc+TW9kdWxlIEFkbWluIFNlY3Rpb248L3N0cm9uZz4gb24gdGhlIDxzdHJvbmc+Q3JlYXRlIEluc3RhbmNlPC9zdHJvbmc+IGZvcm0uPGJyIC8+DQogICAgQWZ0ZXIgdGhlIG1vZHVsZSBoYXMgYmVlbiBjcmVhdGVkIGEgbmV3IGluc3RhbmNlIHdpbGwgYmUgaW5zdGFsbGVkIGFuZCBsaXN0ZWQgaW4gb3JpZ2luYWwgTElTRSBtb2R1bGUgdW5kZXIgIkluc3RhbmNlcyIgdGFiLjwvcD48YnIgLz4NCiAgICA8cD5Zb3UgY2FuIGFsd2F5cyBjaGFuZ2UgdGhlIG1vZHVsZSBmcmllbmRseSBuYW1lIG9uY2UgaW5zdGFsbGVkIHVuZGVyICJPcHRpb25zIiAoQ29udGVudCAmcmFxdW87IExJU0VOYW1lT2ZEdXBsaWNhdGUpLjxiciAvPg0KICAgIFRvIGNoYW5nZSB0aGUgaWNvbiwgcmVwbGFjZSAvbW9kdWxlcy9MSVNFTmFtZU9mRHVwbGljYXRlL2ltYWdlcy9pY29uLmdpZi48YnIgLz4NCiAgICBUbyBjaGFuZ2UgQWRtaW4gc2VjdGlvbiBvZiB0aGUgbW9kdWxlLCBzaW1wbHkgc2VsZWN0IGFwcHJvcHJpYXRlIHNlY3Rpb24gZnJvbSBEcm9wZG93bi4gTWFrZSBzdXJlIHlvdSBjbGVhciB0aGUgY2FjaGUgYWZ0ZXIgdGhlc2UgY2hhbmdlcy48L3A+JzsNCgkNCg0KJGxhbmdbJ2hlbHBfc21hcnR5X3BsdWdpbnMnXSA9IDw8PEVPVA0KCTxoND5XaGF0IGRvZXMgdGhpcyBkbz88L2g0Pg0KCSA8cD5UaGlzIHBsdWdpbiBhbGxvd3MgeW91IHRvIGxvYWQgTElTRSBpdGVtIGFuZCBjYXRlZ29yeSBvYmplY3QgYnkgY2VydGFpbiBjcml0ZXJpYSwgYW55d2hlcmUgaW4gdGhlIHN5c3RlbS48L3A+DQoJIA0KCTxoND5Ib3cgZG8gSSB1c2UgaXQ/PC9oND4NCgk8cD5TaW1wbHkgaW5zZXJ0IHRoaXMgdGFnIGludG8geW91ciBwYWdlIG9yIHRlbXBsYXRlOjwvcD4NCgk8cHJlPjxjb2RlPntMSVNFTG9hZGVyIGl0ZW09J2l0ZW0nIGlkZW50aWZpZXI9J2FsaWFzJyBpbnN0YW5jZT0nTElTRUluc3RhbmNlJyB2YWx1ZT0nbXlhbGlhcycgYXNzaWduPSd0bXAnfTwvY29kZT48L3ByZT4NCgkNCgk8cD4mbmJzcDs8L3A+DQoJDQoJPHA+Rm9sbG93aW5nIGxpbmUgd2lsbCBsb2FkIGl0ZW0gb2JqZWN0IGZyb20gaW5zdGFuY2UgJ0xJU0VJbnN0YW5jZScgYnkgYWxpYXMgJ215YWxpYXMnIGFuZCBhc3NpZ24gaXQgdG8gdmFyaWFibGUgJmRvbGxhcjt0bXAuIDxiciAvPiANCglBZnRlciB0aGlzIHlvdSBjYW4gdXNlIGl0IGluIHNpbWlsYXIgd2F5LCBqdXN0IGxpa2UgaW4gcmVndWxhciBMSVNFIHRlbXBsYXRlczo8L3A+DQoJPHByZT48Y29kZT57JmRvbGxhcjt0bXAtPnRpdGxlfTwvY29kZT48L3ByZT4NCgkNCgk8cD4mbmJzcDs8L3A+DQoJDQoJPHA+SWYgbXVsdGlwbGUgaXRlbXMgYXJlIGJlaW5nIGxvYWRlZCwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIGFycmF5IG9mIG9iamVjdHMsIGVsc2UgaXQgcmV0dXJucyBzaW5nbGUgaXRlbS9jYXRlZ29yeSBvYmplY3Q8L3A+DQoNCgk8aDQ+V2hhdCBwYXJhbWV0ZXJzIGRvZXMgaXQgdGFrZT88L2g0Pg0KCTx1bD4NCgkJPGxpPjxlbT4ocmVxdWlyZWQpIDwvZW0+PHR0Pmluc3RhbmNlPC90dD4gLSBOYW1lIG9mIGluc3RhbmNlIHRoYXQgaG9sZHMgaXRlbXMuIDxpPihJZiB1c2VkIGluc2lkZSBMSVNFIHRlbXBsYXRlcywgdGhpcyBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwpPC9pPjwvbGk+DQoJCTxsaT48ZW0+KHJlcXVpcmVkKSA8L2VtPjx0dD52YWx1ZTwvdHQ+IC0gQ29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaWRlbnRpZmllciB2YWx1ZXM6ICdhbGlhczEsYWxpYXMyLGFsaWFzMycgb3IgJzEsMiwzJzwvbGk+DQoJCTxsaT48ZW0+KG9wdGlvbmFsKSA8L2VtPjx0dD5pdGVtPSJpdGVtIjwvdHQ+IC0gV2FudGVkIGl0ZW0gdHlwZSwgZWl0aGVyOiBpdGVtL2NhdGVnb3J5PC9saT4NCgkJPGxpPjxlbT4ob3B0aW9uYWwpIDwvZW0+PHR0PmlkZW50aWZpZXI9Iml0ZW1faWQvY2F0ZWdvcnlfaWQiPC90dD4gLSBXYW50ZWQgaWRlbnRpZmllciwgb25lIG9mIGZvbGxvd2luZzogaXRlbV9pZCwgY2F0ZWdvcnlfaWQsIGFsaWFzPC9saT4NCgkJPGxpPjxlbT4ob3B0aW9uYWwpIDwvZW0+PHR0PmZvcmNlX2FycmF5PSJmYWxzZSI8L3R0PiAtIEZvcmNlIG91dHB1dCB2YWx1ZSBhcyBhcnJheTwvbGk+DQoJPC91bD4NCkVPVDsNCg0KJGxhbmdbJ2hlbHBfcGFyYW1fYWN0aW9uJ10gPSAnDQogICAgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYWN0aW9uLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgIDx1bD4NCiAgICAgICAgPGxpPiZxdW90O2RlZmF1bHQmcXVvdDsgLSBkaXNwbGF5cyB0aGUgc3VtbWFyeSB2aWV3LjwvbGk+DQogICAgICAgIDxsaT4mcXVvdDtkZXRhaWwmcXVvdDsgLSBkaXNwbGF5cyBhIHNwZWNpZmllZCBlbnRyeSBpbiBkZXRhaWwgbW9kZS48L2xpPg0KICAgICAgICA8bGk+JnF1b3Q7c2VhcmNoJnF1b3Q7IC0gZGlzcGxheXMgdGhlIHNlYXJjaCBmb3JtLiBPcHRpb25hbCBwYXJhbWV0ZXJzIHRoYXQgYWZmZWN0IHRvIHRoaXMgYWN0aW9uIG9ubHk6IDxlbT5maWx0ZXIuPC9lbT48L2xpPg0KICAgICAgICA8bGk+JnF1b3Q7Y2F0ZWdvcnkmcXVvdDsgLSBkaXNwbGF5cyB0aGUgY2F0ZWdvcmllcy4gT3B0aW9uYWwgcGFyYW1ldGVycyB0aGF0IGFmZmVjdCB0byB0aGlzIGFjdGlvbiBvbmx5OiA8ZW0+c2hvd19pdGVtcywgY29sbGFwc2UsIG51bWJlcl9vZl9sZXZlbHMuPC9lbT48L2xpPg0KICAgICAgICA8bGk+JnF1b3Q7YXJjaGl2ZSZxdW90OyAtIGRpc3BsYXlzIHRoZSBhcmNoaXZlcy4gPC9saT4NCiAgICA8L3VsPic7CQ0KJGxhbmdbJ2hlbHBfcGFyYW1fc2hvd2FsbCddID0gJ1Nob3cgYWxsIGl0ZW1zLCBpcnJlc3BlY3RpdmUgb2YgZW5kIGRhdGUuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2NhdGVnb3J5J10gPSAnU3BlY2lmeSBhbiBhbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgYWxpYXNlcyBvZiB0aGUgY2F0ZWdvcnkvY2F0ZWdvcmllcyBkaXNwbGF5ZWQgaXRlbXMgbXVzdCBiZSBhIG1lbWJlciBvZi4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fZXhjbHVkZV9jYXRlZ29yeSddID0gJ1NwZWNpZnkgYW4gYWxpYXMgb3IgY29tbWEgc2VwYXJhdGVkIGFsaWFzZXMgb2YgdGhlIGNhdGVnb3J5L2NhdGVnb3JpZXMgZGlzcGxheWVkIGl0ZW1zIG11c25cJ3QgYmUgYSBtZW1iZXIgb2YuJzsNCiRsYW5nWydoZWxwX3BhcmFtX3N1YmNhdGVnb3J5J10gPSAnSWYgcGFyYW1ldGVyIFwnY2F0ZWdvcnlcJyBpcyBzcGVjaWZpZWQsIHRoaXMgcGFyYW1ldGVyIHNldCB0byA8ZW0+dHJ1ZTwvZW0+IHdpbGwgbWFrZSBhbGxvd2FuY2UgZm9yIHN1YmNhdGVnb3JpZXNcJyBpdGVtcy4gSXQgaXMgc2V0IHRvIGZhbHNlIGJ5IGRlZmF1bHQuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhlIGRldGFpbCB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsNCiRsYW5nWydoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoZSBzdW1tYXJ5IHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNodGVtcGxhdGUnXSA9ICdUaGUgc2VhcmNoIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZS4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fY2F0ZWdvcnl0ZW1wbGF0ZSddID0gJ1RoZSBjYXRlZ29yeSB0ZW1wbGF0ZSB5b3Ugd2lzaCB0byB1c2UuJzsNCiRsYW5nWydoZWxwX3BhcmFtX29yZGVyYnknXSA9ICdZb3UgY2FuIG9yZGVyIGJ5IGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IGl0ZW1faWQsIGl0ZW1fdGl0bGUsIGl0ZW1fcG9zaXRpb24sIGl0ZW1fY3JlYXRlZCwgY2F0ZWdvcnlfaWQsIGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X3Bvc2l0aW9uLCBjYXRlZ29yeV9oaWVyYXJjaHksIHJhbmQgYW5kIGFsc28gYnkgY3VzdG9tIGZpZWxkcyB3aXRoIGN1c3RvbV8qICgqIHdvdWxkIGJlIGZpZWxkIGRlZmluaXRpb24gYWxpYXMpLjxiciAvPg0KICAgIDx1bD4NCiAgICAgICAgPGxpPkZvciBleGFtcGxlOjxiciAvPg0KICAgICAgICBvcmRlcmJ5PVwnY2F0ZWdvcnlfbmFtZSwgaXRlbV90aXRsZVwnPC9saT4NCiAgICAgICAgPGxpPldpdGggZmllbGRkZWYgdmFsdWVzOjxiciAvPg0KICAgICAgICBvcmRlcmJ5PVwnY3VzdG9tX1tmaWVsZGRlZiBhbGlhc11cJzwvbGk+ICAgICAgICANCiAgICAgICAgPGxpPllvdSBjYW4gYWxzbyBzcGVjaWZ5IGFzY2VuZGluZyBvciBkZXNjZW5kaW5nIGZvciBhbnkgY29sdW1uLCBmb3IgZXhhbXBsZTo8YnIgLz4NCiAgICAgICAgb3JkZXJieT1cJ2NhdGVnb3J5X25hbWV8QVNDLCBpdGVtX3RpdGxlfERFU0NcJzwvbGk+DQogICAgPC91bD4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fcGFnZWxpbWl0J10gPSAnTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGlzcGxheSAocGVyIHBhZ2UpLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHN1cHBsaWVkIGFsbCBtYXRjaGluZyBpdGVtcyB3aWxsIGJlIGRpc3BsYXllZC4gIElmIGl0IGlzLCBhbmQgdGhlcmUgYXJlIG1vcmUgaXRlbXMgYXZhaWxhYmxlIHRoYW4gc3BlY2lmaWVkIGluIHRoZSBwYXJhbWV0ZXIsIHRleHQgYW5kIGxpbmtzIHdpbGwgYmUgc3VwcGxpZWQgdG8gYWxsb3cgc2Nyb2xsaW5nIHRocm91Z2ggdGhlIHJlc3VsdHMnOw0KJGxhbmdbJ2hlbHBfcGFyYW1fc3RhcnQnXSA9ICdTdGFydCBhdCB0aGUgbnRoIGl0ZW0gLS0gbGVhdmluZyBlbXB0eSB3aWxsIHN0YXJ0IGF0IHRoZSBmaXJzdCBpdGVtLic7DQokbGFuZ1snaGVscF9wYXJhbV9udW1iZXInXSA9ICdNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5IChwZXIgcGFnZSkgLS0gbGVhdmluZyBlbXB0eSB3aWxsIHNob3cgYWxsIGl0ZW1zLiBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIHBhZ2VsaW1pdCBwYXJhbWV0ZXIuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdQYWdlIHRvIGRpc3BsYXkgaXRlbSBkZXRhaWxzIGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy9pZC4gVXNlZCB0byBhbGxvdyBkZXRhaWxzIHRvIGJlIGRpc3BsYXllZCBpbiBhIGRpZmZlcmVudCBwYWdlIHRoYW4gc3VtbWFyeS4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fc3VtbWFyeXBhZ2UnXSA9ICdQYWdlIHRvIGRpc3BsYXkgaXRlbSBzdW1tYXJ5IGluLiBNdXN0IGJlIGEgcGFnZSBhbGlhcy9pZC4gVXNlZCB0byBhbGxvdyBzdW1tYXJpZXMgdG8gYmUgZGlzcGxheWVkIGluIGEgZGlmZmVyZW50IHBhZ2UgdGhhbiBpbml0aWF0b3IuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2l0ZW0nXSA9ICdUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGFwcGxpY2FibGUgdG8gdGhlIGRldGFpbCB2aWV3LiBJdCBhbGxvd3Mgc3BlY2lmeWluZyB3aGljaCBpdGVtIHRvIGRpc3BsYXkgaW4gZGV0YWlsIG1vZGUuIE11c3QgYmUgYW4gaXRlbSBhbGlhcy4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fc2VhcmNoJ10gPSAnU2VhcmNoIGFsbCBmaWVsZHMuIFVzZXMgZnVsbHRleHQgc2VhcmNoLiBDYW4gYmUgY29tYmluZWQgd2l0aCBmaWx0ZXIgc2VhcmNoLic7DQokbGFuZ1snaGVscF9wYXJhbV9zZWFyY2hfJ10gPSAnU2VhcmNoIGEgcGFydGljdWxhciBmaWVsZC4gWW91IGNhbiB1c2UgXCd0aXRsZVwnIG9yIHRoZSBhbGlhcyBvZiBhIGZpZWxkIGRlZmluaXRpb24sIGUuZy4gc2VhcmNoX3RpdGxlLiBDYW4gYmUgY29tYmluZWQgd2l0aCBmdWxsdGV4dCBzZWFyY2guIE11bHRpcGxlIHNlYXJjaF8qIHBhcmFtcyBjYW4gYmUgY29tYmluZWQuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2ZpbHRlciddID0gJ0FwcGxpZXMgb25seSB0byBhY3Rpb246IDxlbT5zZWFyY2g8L2VtPi4gU3BlY2lmeSB0aGUgZmllbGRzIHdob3NlIHZhbHVlcyBzaG91bGQgYmUgb2ZmZXJlZCBhcyBmaWx0ZXIgb3B0aW9ucyBieSBsaXN0aW5nIHRoZSBmaWVsZFwncyBhbGlhc2VzIGNvbW1hIHNlcGFyYXRlZC4nOw0KLy8kbGFuZ1snaGVscF9wYXJhbV9yZXR1cm5wYWdlJ10gPSAnVXNlZCBmb3IgZmlsdGVyIG9yIHNlYXJjaCBtb2RlIG9ubHkuIFBhZ2UgdG8gZGlzcGxheSBzZWFyY2ggcmVzdWx0cyByZXNwZWN0aXZseSBmaWx0ZXJlZCBpdGVtcyBpbi4gTXVzdCBiZSBhIHBhZ2UgYWxpYXMuIFVzZWQgdG8gYWxsb3cgc3VtbWFyeSB0byBiZSBkaXNwbGF5ZWQgaW4gYSBkaWZmZXJlbnQgcGFnZSB0aGFuIGZpbHRlciAvIHNlYXJjaCBtYXNrLic7DQokbGFuZ1snaGVscF9wYXJhbV9kZWJ1ZyddID0gJ0VuYWJsZXMgZGVidWcgbW9kZSwgcHJpbnRpbmcgb3V0IGFsbCB0aGUgb2JqZWN0cywgYXJyYXlzLCB2YXJpYWJsZXMgYXZhaWxhYmxlIGZvciBjdXJyZW50IGFjdGlvbi4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fY29sbGFwc2UnXSA9ICdBcHBsaWVzIG9ubHkgdG8gYWN0aW9uOiA8ZW0+Y2F0ZWdvcnk8L2VtPi4gVG9nZ2xlIGNvbGxhcHNlIGNhdGVnb3JpZXMuJzsNCiRsYW5nWydoZWxwX3BhcmFtX3Nob3dfaXRlbXMnXSA9ICdBcHBsaWVzIG9ubHkgdG8gYWN0aW9uOiA8ZW0+Y2F0ZWdvcnk8L2VtPi4gQXBwZW5kIGl0ZW1zIHRvIGNhdGVnb3J5IHRyZWUuJzsNCiRsYW5nWydoZWxwX3BhcmFtX251bWJlcl9vZl9sZXZlbHMnXSA9ICdBcHBsaWVzIG9ubHkgdG8gYWN0aW9uOiA8ZW0+Y2F0ZWdvcnk8L2VtPi4gTnVtYmVyIG9mIG9mIGNhdGVnb3J5IGxldmVscyB0byBzaG93Lic7DQokbGFuZ1snaGVscF9wYXJhbV9pbmNsdWRlX2l0ZW1zJ10gPSAnU3BlY2lmeSBhbiBpZC9hbGlhcyBvciBjb21tYSBzZXBhcmF0ZWQgaWRzL2FsaWFzZXMgb2YgdGhlIGl0ZW1zIHlvdSB3YW50IHRvIGRpc3BsYXkuJzsNCiRsYW5nWydoZWxwX3BhcmFtX2V4Y2x1ZGVfaXRlbXMnXSA9ICdTcGVjaWZ5IGFuIGlkL2FsaWFzIG9yIGNvbW1hIHNlcGFyYXRlZCBpZHMvYWxpYXNlcyBvZiB0aGUgaXRlbXMgeW91IHdhbnQgdG8gZXhjbHVkZSBmcm9tIGxpc3QuJzsNCiRsYW5nWydoZWxwX3BhcmFtX3llYXInXSA9ICdGaWx0ZXIgaXRlbXMgYnkgeWVhci4nOw0KJGxhbmdbJ2hlbHBfcGFyYW1fbW9udGgnXSA9ICdGaWx0ZXIgaXRlbXMgYnkgbW9udGguJzsNCg0KLy8gdGhpcyBpcyBmb3IgaW1wb3J0aW5nIGZyb20gTEkyDQokbGFuZ1snaW1wb3J0aW5nX3dhcm5pbmcnXSA9ICc8aDM+SW1wb3J0YW50IEluZm9ybWF0aW9uPC9oMz4NCiAgICA8cD48c3Ryb25nPlJlYWQgdGhpcyBjYXJlZnVsbHkhPC9zdHJvbmc+PC9wPg0KICAgIDxwPllvdSBuZWVkIHRvIGhhdmUgYSBMaXN0SXRFeHRlbmRlZCBpbnN0YWxsYXRpb24gdXBkYXRlZCB1cCB0byBpdFwncyBsYXRlc3Qga25vd24gdmVyc2lvbiAoMS40LjEpLjxiciAvPg0KICAgIERvblwndCBhdHRlbXB0IHRvIGltcG9ydCBMaXN0SXRFeHRlbmRlZCBpbnN0YW5jZXMgd2l0aG91dCB1cGdyYWRpbmcgYXMgaXQgbWF5IHJlc3VsdCBpbiBpbmNvbXBsZXRlIExJU0UgaW5zdGFuY2VzLjwvcD4nOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.LISEArchiveQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExOiBKb25hdGhhbiBTY2htaWQsIDxoaUBqb25hdGhhbnNjaG1pZC5kZT4NCiMgV2ViOiB3d3cuam9uYXRoYW5zY2htaWQuZGUNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyOiANCiMNCiMgVGFwaW8gTA0KLCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPg0KIyBXZWI6IHd3dy5vcmFuZ2UtbWVkaWEuZmkNCiMNCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPg0KIyBXZWI6IHd3dy5pY2gtbWFjaC1kYXMuYXQNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIExJU0UgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUNCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQ0KIyBuYW1lcyBmb3IgZWFzaWVyIGNsaWVudCBtYWludGVuYW5jZS4NCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIExJU0VBcmNoaXZlUXVlcnkgZXh0ZW5kcyBMSVNFUXVlcnkNCnsNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBBdHRyaWJ1dGVzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoJcHJpdmF0ZSBzdGF0aWMgJG9yZGVyYnlfbWFwID0gYXJyYXkoDQoJCS8vIGl0ZW1zDQoJCSd5ZWFyJyA9PiAnWUVBUihBLmNyZWF0ZV90aW1lKScsICdtb250aCcgPT4gJ01PTlRIKEEuY3JlYXRlX3RpbWUpJywNCgkJLy8gY2F0ZWdvcnkNCgkJJ2NhdGVnb3J5X2lkJyA9PiAnQi5jYXRlZ29yeV9pZCcsICdjYXRlZ29yeV9uYW1lJyA9PiAnQi5jYXRlZ29yeV9uYW1lJywNCgkJLy8gZnVuY3Rpb25zDQoJCSdyYW5kJz0+J1JBTkQoKScNCgkpOwkNCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNYWdpYyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExJU0UgJiRtb2QsICYkcGFyYW1zKQ0KCXsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbW9kLCAkcGFyYW1zKTsNCgl9DQoJCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFF1ZXJ5IG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBfYXBwZW5kX2ludGVybmFsKCkNCgl7DQoJCWlmKGlzc2V0KCR0aGlzLT5xdWVyeSkpDQoJCQlyZXR1cm47DQoJCQkNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoKTsNCgkJJHBhcmFtcyA9ICR0aGlzLT5HZXRQYXJhbXMoKTsJDQoNCgkJLyoNCgkJICogT1JERVIgQlkNCgkJICovDQoJCWlmKGlzc2V0KCRwYXJhbXNbJ29yZGVyYnknXSkpIHsNCg0KCQkJbGlzdCgkb3JkZXJfY29scywgJGN1c3RvbV9jb2xzKSA9IHNlbGY6OmV4cGxvZGVfb3JkZXJieSgkcGFyYW1zWydvcmRlcmJ5J10sIHNlbGY6OiRvcmRlcmJ5X21hcCk7IC8vIDwtIEJpdCBicm9rZW4sIHdhc24ndCBtZW50IGZvciBjYXRlZ29yeSBhY3Rpb24sIHNlY29uZCBhcnJheSB0b3RhbGx5IHVubmVjY2VyeS4NCgkJCQ0KCQkJaWYoY291bnQoJG9yZGVyX2NvbHMpKSB7DQoJCQkNCgkJCQlmb3JlYWNoKCRvcmRlcl9jb2xzIGFzICRvbmUpIHsNCgkJCQkNCgkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9PUkRFUkJZLCAkb25lKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCS8qKg0KCQkgKiBGSUxURVI6IFlFQVINCgkJICovCQkNCgkJDQoJCWlmKCFlbXB0eSgkcGFyYW1zWydmaWx0ZXJfeWVhciddKSkgew0KCQkJDQoJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX1dIRVJFLCAnWUVBUihBLmNyZWF0ZV90aW1lKSA9ID8nKTsNCgkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgKGludCkkcGFyYW1zWydmaWx0ZXJfeWVhciddKTsNCgkJfQ0KCX0NCgkJDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIF9xdWVyeSgpDQoJew0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOw0KCQkkcGFyYW1zID0gJHRoaXMtPkdldFBhcmFtcygpOw0KCQkNCgkJJG9yZGVyX2NvbHMgPSBhcnJheSgpOw0KCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOw0KCQkkdGhpcy0+X2FwcGVuZF9pbnRlcm5hbCgpOw0KDQoJCS8vIEluaXQgcXVlcnkNCgkJJHRoaXMtPnF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBNT05USChBLmNyZWF0ZV90aW1lKSBBUyBtb250aCwgWUVBUihBLmNyZWF0ZV90aW1lKSBBUyB5ZWFyLCBjb3VudChBLml0ZW1faWQpIEFTIGNvdW50IEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIEEgDQoJCQkJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgSUIgDQoJCQkJCQlPTiBBLml0ZW1faWQgPSBJQi5pdGVtX2lkIA0KCQkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgQiANCgkJCQkJCU9OIElCLmNhdGVnb3J5X2lkID0gQi5jYXRlZ29yeV9pZCAnOwkJDQoJCQ0KCQkvLyBNZXJnZSBldmVyeXRoaW5nIHRvIG9uZSBxdWVyeQ0KCQlpZihjb3VudCgkdGhpcy0+am9pbnMpKQ0KCQkJJHRoaXMtPnF1ZXJ5IC49IGltcGxvZGUoJyAnLCAkdGhpcy0+am9pbnMpOw0KCQkNCgkJaWYoY291bnQoJHRoaXMtPndoZXJlKSkNCgkJCSR0aGlzLT5xdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsICR0aGlzLT53aGVyZSk7DQoJCQkNCgkJJHRoaXMtPnF1ZXJ5IC49ICcgR1JPVVAgQlkgWUVBUihBLmNyZWF0ZV90aW1lKSwgTU9OVEgoQS5jcmVhdGVfdGltZSkgJzsJCQkNCg0KCQlpZihjb3VudCgkdGhpcy0+b3JkZXJieSkpIHsNCgkJDQoJCQkkdGhpcy0+cXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+b3JkZXJieSk7DQoJCX0gZWxzZSB7DQoJCQ0KCQkJJHRoaXMtPnF1ZXJ5IC49ICcgT1JERVIgQlkgQS5jcmVhdGVfdGltZSBERVNDJzsNCgkJfQkJCQ0KCQkJDQoJCSR0aGlzLT5yZXN1bHRzZXQgPSAkZGItPkV4ZWN1dGUoJHRoaXMtPnF1ZXJ5LCAkdGhpcy0+cXBhcmFtcyk7DQoJfQkNCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBDbGFzcyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoJDQoJc3RhdGljIHByaXZhdGUgZnVuY3Rpb24gZXhwbG9kZV9vcmRlcmJ5KCRwYXJhbSwgJHZhbGlkX2NvbHMpew0KCQ0KCQkkb3JkZXJfY29scyA9IGFycmF5KCk7DQoJCSRjdXN0b21fY29scyA9IGFycmF5KCk7DQoJCSRpbmRleCA9IDA7DQoJCQ0KCQlmb3JlYWNoKGV4cGxvZGUoJywnLCAkcGFyYW0pIGFzICRjb2wpIHsNCgkJDQoJCQkkY29sID0gdHJpbSgkY29sKTsNCgkJCSRjb2xfcGFydHMgPSBleHBsb2RlKCd8JywgJGNvbCk7DQoJDQoJCQkvLyBjb2x1bW4gbmFtZQ0KCQkJJGNvbF9uYW1lID0gJGNvbF9wYXJ0c1swXTsNCgkJCSRjb2xfb3JkZXIgPSAnQVNDJzsNCgkNCgkJCS8vIG9yZGVyIGNvbHVtbiBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZw0KCQkJaWYoaXNzZXQoJGNvbF9wYXJ0c1sxXSkpIHsNCgkJCQkNCgkJCQkkY29sX29yZGVyID0gKGluX2FycmF5KCRjb2xfcGFydHNbMV0sIGFycmF5KCdBU0MnLCAnREVTQycpKSA/ICRjb2xfcGFydHNbMV0gOiAnQVNDJyk7DQoJCQl9DQoJDQoJCQkkY29sX29yZGVyID0gKGluX2FycmF5KCRjb2xfb3JkZXIsIGFycmF5KCdBU0MnLCAnREVTQycpKSA/ICRjb2xfb3JkZXIgOiAnQVNDJyk7DQoJDQoJCQlpZihpc3NldCgkdmFsaWRfY29sc1skY29sX25hbWVdKSkgew0KCQkJDQoJCQkJJG9yZGVyX2NvbHNbJGluZGV4XSA9ICR2YWxpZF9jb2xzWyRjb2xfbmFtZV0gLiAnICcgLiAkY29sX29yZGVyOw0KCQkJfSANCgkJCWVsc2VpZiAoc3RhcnRzd2l0aCgkY29sX25hbWUsICdjdXN0b21fJykpIHsNCgkJCQkNCgkJCQkkY3VzdG9tX25hbWUgPSBzdWJzdHIoJGNvbF9uYW1lLCA3KTsNCgkJCQkkb2JqID0gbmV3IHN0ZENsYXNzOw0KCQkJCSRvYmotPm5hbWUgPSAkY3VzdG9tX25hbWU7DQoJCQkJJG9iai0+b3JkZXIgPSAkY29sX29yZGVyOw0KCQkJCQ0KCQkJCSRjdXN0b21fY29sc1skaW5kZXhdID0gJG9iajsNCgkJCX0NCgkJCQ0KCQkJJGluZGV4Kys7DQoJCX0NCgkJCQ0KCQlyZXR1cm4gYXJyYXkoJG9yZGVyX2NvbHMsICRjdXN0b21fY29scyk7DQoJfQkJDQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KDQo/Pgk=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECache.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VDYWNoZSBleHRlbmRzIEFycmF5T2JqZWN0CnsgCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFZhcmlhYmxlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHJpdmF0ZSAkX2lkZW50aWZpZXJzOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpZGVudGlmaWVycykgCgl7CgkJJHRoaXMtPl9pZGVudGlmaWVycyA9ICRpZGVudGlmaWVyczsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybiAiQXJyYXkiOwoJfQkKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBcnJheSBPYmplY3QgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGtleSwgJHZhbHVlKQoJewkJCQoJCWlmKCFpc19vYmplY3QoJHZhbHVlKSkKCQkJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oX19NRVRIT0RfXyAuICI6IFZhbHVlIHR5cGUgbXVzdCBiZSBvYmplY3QhIik7CgkJCQoJCSRrZXkgPSByZXNldCgkdGhpcy0+X2lkZW50aWZpZXJzKTsKCQoJCXBhcmVudDo6b2Zmc2V0U2V0KCR2YWx1ZS0+JGtleSwgJHZhbHVlKTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpIAoJewoJCWlmKHBhcmVudDo6b2Zmc2V0RXhpc3RzKCRvZmZzZXQpKQoJCQlyZXR1cm4gdHJ1ZTsKCQkJCgkJcmV0dXJuIEZBTFNFOwogICAgfQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpIAoJewoJCWlmKHBhcmVudDo6b2Zmc2V0RXhpc3RzKCRvZmZzZXQpKQoJCQlyZXR1cm4gcGFyZW50OjpvZmZzZXRHZXQoJG9mZnNldCk7CgkJCQoJCXJldHVybiBudWxsOwogICAgfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ2xhc3MgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJcHVibGljIGZ1bmN0aW9uIEdldENhY2hlZEJ5SWRlbnRpZmllcigkaWRlbnRpZmllciwgJHZhbHVlKQoJewoJCWlmKCFpbl9hcnJheSgkaWRlbnRpZmllciwgJHRoaXMtPl9pZGVudGlmaWVycykpCgkJCXRocm93IG5ldyBMSVNFRXhjZXB0aW9uKF9fTUVUSE9EX18gLiAiOiBJbGxlZ2FsIGlkZW50aWZpZXI6ICRpZGVudGlmaWVyISIpOwoJCQkKCQlmb3JlYWNoKCR0aGlzIGFzICRjYWNoZWQpIHsKCQkKCQkJaWYoJGNhY2hlZC0+JGlkZW50aWZpZXIgPT0gJHZhbHVlKSB7CgkJCQoJCQkJcmV0dXJuICRjYWNoZWQ7CQkJCgkJCX0KCQl9CgkJCgkJcmV0dXJuIG51bGw7Cgl9CgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VDYXRlZ29yeQp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCglwdWJsaWMgJGNhdGVnb3J5X2lkID0gbnVsbDsKCXB1YmxpYyAkYWxpYXMgPSBudWxsOwkKCXB1YmxpYyAkbmFtZSA9ICcnOwoJcHVibGljICRkZXNjcmlwdGlvbiA9ICcnOwoJcHVibGljICRhY3RpdmUgPSAxOwoJcHVibGljICRwb3NpdGlvbiA9IDE7CglwdWJsaWMgJHBhcmVudF9pZCA9IC0xOwoJcHVibGljICRoaWVyYXJjaHkgPSAnJzsKCXB1YmxpYyAkaWRfaGllcmFyY2h5ID0gJyc7CglwdWJsaWMgJGhpZXJhcmNoeV9wYXRoID0gJyc7CglwdWJsaWMgJGNyZWF0ZV9kYXRlID0gJyc7CglwdWJsaWMgJG1vZGlmaWVkX2RhdGUgPSAnJzsKCQoJcHVibGljICRrZXkxID0gbnVsbDsKCXB1YmxpYyAka2V5MiA9IG51bGw7CglwdWJsaWMgJGtleTMgPSBudWxsOwoJCglwdWJsaWMgJGl0ZW1zOwoJcHVibGljICRjaGlsZHJlbjsKCXN0YXRpYyBwdWJsaWMgJG1hbmRhdG9yeSA9IGFycmF5KCduYW1lJyk7CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIAoJewoJCSR0aGlzLT5pdGVtcyA9IGFycmF5KCk7CgkJJHRoaXMtPmNoaWxkcmVuID0gYXJyYXkoKTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQoJewoJCXJldHVybiAoc3RyaW5nKSR0aGlzLT5uYW1lOwoJfQoJCn0gLy8gZW5kIG9mIGNsYXNzCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECategoryOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VDYXRlZ29yeU9wZXJhdGlvbnMKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBWYXJpYWJsZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgoJcHVibGljIHN0YXRpYyAkaWRlbnRpZmllcnMgPSBhcnJheSgKCQknY2F0ZWdvcnlfaWQnIAkJPT4gJ2NhdGVnb3J5X2lkJywgCgkJJ2NhdGVnb3J5X2FsaWFzJyAJPT4gJ2FsaWFzJywgCgkJJ2hpZXJhcmNoeScgCQk9PiAnaGllcmFyY2h5JywgCgkJJ2lkX2hpZXJhcmNoeScgCQk9PiAnaWRfaGllcmFyY2h5JywgCgkJJ2hpZXJhcmNoeV9wYXRoJyAJPT4gJ2hpZXJhcmNoeV9wYXRoJywgCgkJJ2tleTEnIAkJCQk9PiAna2V5MScsIAoJCSdrZXkyJyAJCQkJPT4gJ2tleTInLCAKCQkna2V5MycgCQkJCT0+ICdrZXkzJwoJKTsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBEYXRhYmFzZSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFNhdmUoTElTRSAmJG1vZCwgTElTRUNhdGVnb3J5ICYkb2JqKQoJewoJCS8vIENoZWNrIGFnYWluc3QgbWFuZGF0b3J5IGxpc3QKCQlmb3JlYWNoKExJU0VDYXRlZ29yeTo6JG1hbmRhdG9yeSBhcyAkcnVsZSkgewoJCQoJCQlpZigkb2JqLT4kcnVsZSA9PSAnJykKCQkJCXJldHVybjsKCQl9CgkJCgkJLy8gRW5zdXJlIHRoYXQgd2UgaGF2ZSBhbGlhcwoJCWlmICgkb2JqLT5hbGlhcyA9PSAnJyl7CgkJCgkJCSRvYmotPmFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkb2JqLT5uYW1lLCB0cnVlKTsKCQl9CgkKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJLy8gR2V0IG5ldyBwb3NpdGlvbgoJCSRxdWVyeSA9ICdTRUxFQ1QgbWF4KHBvc2l0aW9uKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIHBhcmVudF9pZCA9ID8nOwoJCSRwb3NpdGlvbiA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJG9iai0+cGFyZW50X2lkKSk7CgkJCgkJaWYgKCRwb3NpdGlvbiA9PSBudWxsKQoJCQkkcG9zaXRpb24gPSAxOwkKCQoJCS8vIEV4aXN0aW5nCgkJaWYgKCRvYmotPmNhdGVnb3J5X2lkID4gMCkgewoJCQoJCQkvLyBHZXQgb2xkIGRhdGEKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCBwYXJlbnRfaWQsIHBvc2l0aW9uIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJCQkkb2xkX2RhdGEgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CQkKCQkKCQkJaWYoJG9iai0+cGFyZW50X2lkICE9ICRvbGRfZGF0YVsncGFyZW50X2lkJ10pIHsKCQkJCgkJICAgICAgLy8gaGF2ZSB0byB1cGRhdGUgcG9zaXRpb24gaW5kZXhlcyBvZiBvbGQgc2libGluZ3MgaWYgY2hhbmdpbmcgcGFyZW50cy4KCQkgICAgICAkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgCgkJCQkJU0VUIHBvc2l0aW9uID0gcG9zaXRpb24gLSAxIFdIRVJFIHBhcmVudF9pZCA9ID8gQU5EIHBvc2l0aW9uID4gPyc7CgkJCQkJCgkJICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9sZF9kYXRhWydwYXJlbnRfaWQnXSwgJG9sZF9kYXRhWydwb3NpdGlvbiddKSk7CgkJCSAgCgkJICAgIH0gZWxzZSB7CgkJCQoJCQkJJHBvc2l0aW9uID0gJG9sZF9kYXRhWydwb3NpdGlvbiddOwoJCQl9CgkKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IAoJCQkJCVNFVCBjYXRlZ29yeV9uYW1lID0gPywgY2F0ZWdvcnlfZGVzY3JpcHRpb24gPSA/LCBjYXRlZ29yeV9hbGlhcyA9ID8sIHBvc2l0aW9uID0gPywgcGFyZW50X2lkID0gPywgYWN0aXZlID0gPywgbW9kaWZpZWRfZGF0ZSA9IE5PVygpLCBrZXkxID0gPywga2V5MiA9ID8sIGtleTMgPSA/IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCQkJCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgKCQkJCSRvYmotPm5hbWUsIAoJCQkJJG9iai0+ZGVzY3JpcHRpb24sIAoJCQkJJG9iai0+YWxpYXMsICAKCQkJCSRwb3NpdGlvbiwgCgkJCQkkb2JqLT5wYXJlbnRfaWQsCgkJCQkkb2JqLT5hY3RpdmUsCgkJCQkkb2JqLT5rZXkxLAoJCQkJJG9iai0+a2V5MiwKCQkJCSRvYmotPmtleTMsCQkJCQoJCQkJJG9iai0+Y2F0ZWdvcnlfaWQKCQkJKSk7CgkJCQoJCQlpZiAoISRyZXN1bHQpCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoKCQkvLyBOZXcKCQl9IGVsc2UgewoJCQkKCQkJLy8gY2hlY2sgYWxpYXMgaXMgdW5pcXVlCgkJCSRxdWVyeSA9ICdTRUxFQ1QgQ09VTlQoYWxpYXMpIEFTIGFsaWFzIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBXSEVSRSBjYXRlZ29yeV9hbGlhcyBMSUtFICInLiRvYmotPmFsaWFzLiclIic7CgkJCSRkYnJlc3VsdCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CgkJCQoJCQlpZigkZGJyZXN1bHQgPiAwKQoJCQkJJG9iai0+YWxpYXMgLj0gJ18nLigkZGJyZXN1bHQrMSk7CQkKCQkKCQkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgCgkJCQkJKGNhdGVnb3J5X25hbWUsIGNhdGVnb3J5X2Rlc2NyaXB0aW9uLCBjYXRlZ29yeV9hbGlhcywgcG9zaXRpb24sIHBhcmVudF9pZCwgYWN0aXZlLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwga2V5MSwga2V5Miwga2V5MykgCgkJCQkJVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/LCBOT1coKSwgTk9XKCksID8sID8sID8pJzsKCQkJCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgKCQkJCSRvYmotPm5hbWUsIAoJCQkJJG9iai0+ZGVzY3JpcHRpb24sIAoJCQkJJG9iai0+YWxpYXMsIAoJCQkJJHBvc2l0aW9uLCAKCQkJCSRvYmotPnBhcmVudF9pZCwKCQkJCSRvYmotPmFjdGl2ZSwKCQkJCSRvYmotPmtleTEsCgkJCQkkb2JqLT5rZXkyLAoJCQkJJG9iai0+a2V5MwkJCQkKCQkJKSk7CgkJCQoJCQlpZiAoISRyZXN1bHQpCgkJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoKCQkJLy8gcG9wdWxhdGUgJGNhdGVnb3J5X2lkIGZvciBuZXdseSBpbnNlcnRlZCBjYXRlZ29yeQoJCQkkb2JqLT5jYXRlZ29yeV9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CgkJfQoKCQkvLyB1cGRhdGUgaGllcmFyY2h5CgkJc2VsZjo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCRtb2QpOwkJCQkKCX0KCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIERlbGV0ZShMSVNFICYkbW9kLCBMSVNFQ2F0ZWdvcnkgJiRvYmopCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkKCQlpZiAoJG9iai0+Y2F0ZWdvcnlfaWQgPiAwKSB7CgoJCQkvLyBHZXQgZGV0YWlscwoJCQkkcXVlcnkgPSAnU0VMRUNUIHBvc2l0aW9uLCBwYXJlbnRfaWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CgkJCQoJCQkvLyBEZXRlbGV0ZSBjYXRlZ29yeQoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5jYXRlZ29yeV9pZCkpOwoJCQkKCQkJLy8gRGVsZXRlIGZyb20gaXRlbXMKCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CQkJCgkJCQkJCQkJCQoJCQkvLyBVcGRhdGUgcG9zaXRpb24gZm9yIHNpYmxpbmdzCgkJCWlmKCRyb3dbJ3BhcmVudF9pZCddID4gMCkgewoJCQkKCQkJCSRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBTRVQgcG9zaXRpb24gPSBwb3NpdGlvbiAtIDEgV0hFUkUgcGFyZW50X2lkID0gPyBBTkQgcG9zaXRpb24gPiA/JzsKCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRyb3dbJ3BhcmVudF9pZCddLCAkcm93Wydwb3NpdGlvbiddKSk7CQkJCQoJCQl9CgkJCWVsc2UgewkJCQoJCQkKCQkJCSRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBTRVQgcG9zaXRpb24gPSBwb3NpdGlvbiArIDEgV0hFUkUgcGFyZW50X2lkID0gPyc7CgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5jYXRlZ29yeV9pZCkpOwkJCQoJCQl9CgkJCQoJCQkvLyBVcGRhdGUgcGFyZW50IGZvciBjaGlsZHJlbgoJCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgU0VUIHBhcmVudF9pZCA9ID8gV0hFUkUgcGFyZW50X2lkID0gPyc7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRyb3dbJ3BhcmVudF9pZCddLCAkb2JqLT5jYXRlZ29yeV9pZCkpOwkJCQoJCQkKCQkJc2VsZjo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCRtb2QpOwoJCQkKCQkJcmV0dXJuIHRydWU7CgkJfQoKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBMb2FkKExJU0UgJiRtb2QsIExJU0VDYXRlZ29yeSAmJG9iaiwgJHJvdyA9IGZhbHNlKQoJewkKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJLy8gSWYgd2UgZG9uJ3QgaGF2ZSByb3cgdGhlbiBhdHRlbXB0IHRvIGxvYWQgaXQKCQlpZiAoISRyb3cpIHsKCQkKCQkJZm9yZWFjaChzZWxmOjokaWRlbnRpZmllcnMgYXMgJGRiX2NvbHVtbiA9PiAkaWRlbnRpZmllcikgewoJCQkKCQkJCWlmKCFpc19udWxsKCRvYmotPiRpZGVudGlmaWVyKSkgewoJCQkKCQkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IAoJCQkJCQkJCQkJV0hFUkUgJGRiX2NvbHVtbiA9ID8gCgkJCQkJCQkJCQlMSU1JVCAxIjsJCQkJCQkJCQoJCQkJCQkJCQkJCgkJCQkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJG9iai0+JGlkZW50aWZpZXIpKTsKCQkJCQkKCQkJCQlpZigkcm93KQoJCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCgkJaWYgKCRyb3cpIHsKCgkJCSRvYmotPmNhdGVnb3J5X2lkIAkJCT0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCQkJJG9iai0+YWxpYXMgCQkJCT0gJHJvd1snY2F0ZWdvcnlfYWxpYXMnXTsKCQkJJG9iai0+bmFtZSAJCQkJCT0gJHJvd1snY2F0ZWdvcnlfbmFtZSddOwoJCQkkb2JqLT5kZXNjcmlwdGlvbiAJCQk9ICRyb3dbJ2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ107CgkJCSRvYmotPmFjdGl2ZSAJCQkJPSAkcm93WydhY3RpdmUnXTsKCQkJJG9iai0+cG9zaXRpb24gCQkJCT0gJHJvd1sncG9zaXRpb24nXTsKCQkJJG9iai0+cGFyZW50X2lkIAkJCT0gJHJvd1sncGFyZW50X2lkJ107CgkJCSRvYmotPmhpZXJhcmNoeSAJCQk9ICRyb3dbJ2hpZXJhcmNoeSddOwoJCQkkb2JqLT5pZF9oaWVyYXJjaHkgCQkJPSAkcm93WydpZF9oaWVyYXJjaHknXTsKCQkJJG9iai0+aGllcmFyY2h5X3BhdGgJCT0gJHJvd1snaGllcmFyY2h5X3BhdGgnXTsKCQkJJG9iai0+Y3JlYXRlX2RhdGUgCQkJPSAkcm93WydjcmVhdGVfZGF0ZSddOwoJCQkkb2JqLT5tb2RpZmllZF9kYXRlIAkJPSAkcm93Wydtb2RpZmllZF9kYXRlJ107CgkJCSRvYmotPmRlcHRoIAkJCQk9IGNvdW50KGV4cGxvZGUoJy4nLCAkb2JqLT5oaWVyYXJjaHkpKTsKCQkJCgkJCSRvYmotPmtleTEJCSAJCQk9ICRyb3dbJ2tleTEnXTsKCQkJJG9iai0+a2V5MgkJIAkJCT0gJHJvd1sna2V5MiddOwoJCQkkb2JqLT5rZXkzCQkgCQkJPSAkcm93WydrZXkzJ107CQoJCQkKCQkJLy8gSXRlbXMKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCBBLml0ZW1faWQgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gQSAKCQkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIElCIAoJCQkJCQlPTiBBLml0ZW1faWQgPSBJQi5pdGVtX2lkIAoJCQkJCQlXSEVSRSBJQi5jYXRlZ29yeV9pZCA9ID8gCgkJCQkJCUFORCBBLmFjdGl2ZSA9IDEnOwoJCQkKCQkJJG9iai0+aXRlbXMgPSAkZGItPkdldENvbCgkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CQkJCQkJCgoJCQkvLyBDaGlsZHJlbgoJCQkkcXVlcnkgPSAnU0VMRUNUIGNhdGVnb3J5X2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBXSEVSRSBwYXJlbnRfaWQgPSA/IEFORCBhY3RpdmUgPSAxJzsKCQkJJG9iai0+Y2hpbGRyZW4gPSAkZGItPkdldENvbCgkcXVlcnksIGFycmF5KCRvYmotPmNhdGVnb3J5X2lkKSk7CQkJCgkJCgkJCXJldHVybiB0cnVlOwoJCX0KCgkJcmV0dXJuIEZBTFNFOwoJfQkKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBVdGlsaXR5IG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBHZXRIaWVyYXJjaHlMaXN0KExJU0UgJiRtb2QsICRudWxsID0gdHJ1ZSwgJGV4Y2x1ZGVzID0gbnVsbCkKCXsKCQlpZighaXNfbnVsbCgkZXhjbHVkZXMpICYmICFpc19hcnJheSgkZXhjbHVkZXMpKSB7CgkJCgkJCSRleGNsdWRlcyA9IGFycmF5KCRleGNsdWRlcyk7CgkJfQoJCQoJCWlmKGlzX251bGwoJGV4Y2x1ZGVzKSkgJGV4Y2x1ZGVzID0gYXJyYXkoKTsKCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CgkJCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBoaWVyYXJjaHksIGNhdGVnb3J5X2lkLCBjYXRlZ29yeV9uYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBPUkRFUiBCWSBoaWVyYXJjaHkgQVNDJzsKCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQkKCQkkb3B0aW9ucyA9ICRudWxsID8gYXJyYXkoJy0tLSAnLmxhbmcoJ25vbmUnKS4nIC0tLScgPT4gJy0xJykgOiBhcnJheSgpOwoKCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7CgkJCgkJCWlmKGluX2FycmF5KCRyb3dbJ2NhdGVnb3J5X2lkJ10sICRleGNsdWRlcykpIAoJCQkJY29udGludWU7CgkJCQkKCQkJJHBvc2l0aW9uID0gJGNvbnRlbnRvcHMtPkNyZWF0ZUZyaWVuZGx5SGllcmFyY2h5UG9zaXRpb24oJHJvd1snaGllcmFyY2h5J10pOwoJCQkkb3B0aW9uc1skcG9zaXRpb24gLiAnLiAtICcgLiAkcm93WydjYXRlZ29yeV9uYW1lJ11dID0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCQl9CgkJCgkJcmV0dXJuICRvcHRpb25zOwoJfQoJCgkvLyBObyBpbiB1c2UKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gR2V0Q2hpbGRyZW5zRm9yQ2F0ZWdvcnkoTElTRSAmJG1vZCwgJGlkKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgPSAnU0VMRUNUIGNhdGVnb3J5X2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKCQkkY2F0ZWdvcmllcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSwgYXJyYXkoJGlkKSk7CgoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCWZvcmVhY2goJGNhdGVnb3JpZXMgYXMgJG9uZV9pZCkgewoJCQoJCQkkcmVzdWx0W10gPSAkbW9kLT5Mb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJ2NhdGVnb3J5X2lkJywgJG9uZV9pZCk7CgkJfQoJCgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgkKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gR2V0Q2F0ZWdvcnlOYW1lRnJvbUlkKExJU0UgJiRtb2QsICRpZF9hcnJheSkKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjYXRlZ29yeV9uYW1lIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19jYXRlZ29yeSc7CgkJJHFwYXJtcyA9IGFycmF5KCk7CgkJJGNsYXVzZSA9IGFycmF5KCk7CgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJCgkJZm9yZWFjaCgoYXJyYXkpJGlkX2FycmF5IGFzICRvbmVfaWQpIHsKCQkJJGNsYXVzZVtdID0gJ2NhdGVnb3J5X2lkID0gPyc7CgkJCSRxcGFybXNbXSA9ICRvbmVfaWQ7CgkJfQoJCQoJCSRxdWVyeSAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgT1IgJywgJGNsYXVzZSk7CgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRxcGFybXMpOwoJCQoJCXdoaWxlKCRkYnIgJiYgISRkYnItPkVPRikgewoJCQkKCQkJJHJlc3VsdFtdID0gJGRici0+ZmllbGRzWydjYXRlZ29yeV9uYW1lJ107CgkJCSRkYnItPk1vdmVOZXh0KCk7CgkJfQoJCQoJCWlmKCRkYnIpIAoJCQkkZGJyLT5DbG9zZSgpOwkKCQkKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbihMSVNFICYkbW9kLCAkaWQpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCgkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gJyc7CgkJJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uID0gJyc7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3BhdGggPSAnJzsKCQkkY3VycmVudF9wYXJlbnRfaWQgPSAkaWQ7CgoJCXdoaWxlICgkY3VycmVudF9wYXJlbnRfaWQgPiAtMSkKCQl7CgkJCSRxdWVyeSA9ICdTRUxFQ1QgcG9zaXRpb24sIHBhcmVudF9pZCwgY2F0ZWdvcnlfYWxpYXMgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2lkID0gPyc7CgkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjdXJyZW50X3BhcmVudF9pZCkpOwoJCQlpZiAoJHJvdykgewoJCQkKCQkJCSRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN0cl9wYWQoJHJvd1sncG9zaXRpb24nXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gJy4nIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJCQkJJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uID0gJGN1cnJlbnRfcGFyZW50X2lkIC4gJy4nIC4gJGN1cnJlbnRfaWRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJCQkJJGN1cnJlbnRfaGllcmFyY2h5X3BhdGggPSAkcm93WydjYXRlZ29yeV9hbGlhcyddIC4gJy8nIC4gJGN1cnJlbnRfaGllcmFyY2h5X3BhdGg7CgkJCQkkY3VycmVudF9wYXJlbnRfaWQgPSAkcm93WydwYXJlbnRfaWQnXTsKCQkJfQoJCQllbHNlIHsKCQkJCgkJCQkkY3VycmVudF9wYXJlbnRfaWQgPSAtMTsKCQkJfQoJCX0KCgkJaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkgewoJCQoJCQkkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSBzdWJzdHIoJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uLCAwLCBzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uKSAtIDEpOwoJCX0KCQkKCQlpZiAoc3RybGVuKCRjdXJyZW50X2lkX2hpZXJhcmNoeV9wb3NpdGlvbikgPiAwKSB7CgkJCgkJCSRjdXJyZW50X2lkX2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9pZF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9pZF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkJfQoJCQoJCWlmIChzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3BhdGgpID4gMCkgewoJCQoJCQkkY3VycmVudF9oaWVyYXJjaHlfcGF0aCA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcGF0aCwgMCwgc3RybGVuKCRjdXJyZW50X2hpZXJhcmNoeV9wYXRoKSAtIDEpOwoJCX0KCgkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBoaWVyYXJjaHkgPSA/LCBpZF9oaWVyYXJjaHkgPSA/LCBoaWVyYXJjaHlfcGF0aCA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sICRjdXJyZW50X2lkX2hpZXJhcmNoeV9wb3NpdGlvbiwgJGN1cnJlbnRfaGllcmFyY2h5X3BhdGgsICRpZCkpOwoJfQoKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gVXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKExJU0UgJiRtb2QpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBjYXRlZ29yeV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnknOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgkJd2hpbGUgKCRkYnIgJiYgISRkYnItPkVPRikgewoJCQoJCQlzZWxmOjpVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbigkbW9kLCAkZGJyLT5maWVsZHNbJ2NhdGVnb3J5X2lkJ10pOwoJCQkkZGJyLT5Nb3ZlTmV4dCgpOwoJCX0KCQkKCQlpZigkZGJyKSAKCQkJJGRici0+Q2xvc2UoKTsKCX0JCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECategoryQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIExJU0VDYXRlZ29yeVF1ZXJ5IGV4dGVuZHMgTElTRVF1ZXJ5DQp7DQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQXR0cmlidXRlcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KCXByaXZhdGUgc3RhdGljICRvcmRlcmJ5X21hcCA9IGFycmF5KA0KCQkvLyBjYXRlZ29yeQ0KCQknY2F0ZWdvcnlfaWQnID0+ICdjYXRlZ29yeV9pZCcsICduYW1lJyA9PiAnY2F0ZWdvcnlfbmFtZScsICdhbGlhcycgPT4gJ2NhdGVnb3J5X25hbWUnLCAnaGllcmFyY2h5JyA9PiAnaGllcmFyY2h5JywgJ3Bvc2l0aW9uJyA9PiAncG9zaXRpb24nLA0KCQknY3JlYXRlX2RhdGUnID0+ICdjcmVhdGVfZGF0ZScsICdtb2RpZmllZF9kYXRlJyA9PiAnbW9kaWZpZWRfZGF0ZScsICdoaWVyYXJjaHlfcGF0aCcgPT4gJ2hpZXJhcmNoeV9wYXRoJywgJ2lkX2hpZXJhcmNoeScgPT4gJ2lkX2hpZXJhcmNoeScsDQoJCS8vIGZ1bmN0aW9ucw0KCQkncmFuZCc9PidSQU5EKCknCQ0KCSk7DQoJDQoJLy9wcml2YXRlIHN0YXRpYyAkX2FsbG93ZWRfcGFyYW1zID0gYXJyYXkoKTsgLy8gVE9ETwkNCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNYWdpYyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExJU0UgJiRtb2QsICYkcGFyYW1zKQ0KCXsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbW9kLCAkcGFyYW1zKTsNCgl9DQoJCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFF1ZXJ5IG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBfYXBwZW5kX2ludGVybmFsKCkNCgl7DQoJCWlmKGlzc2V0KCR0aGlzLT5xdWVyeSkpDQoJCQlyZXR1cm47DQoJCQkNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoKTsNCgkJJHBhcmFtcyA9ICR0aGlzLT5HZXRQYXJhbXMoKTsJDQoNCgkJLyoqDQoJCSAqIE9SREVSIEJZDQoJCSAqLw0KCQlpZihpc3NldCgkcGFyYW1zWydvcmRlcmJ5J10pKSB7DQoNCgkJCWxpc3QoJG9yZGVyX2NvbHMsICRjdXN0b21fY29scykgPSBzZWxmOjpleHBsb2RlX29yZGVyYnkoJHBhcmFtc1snb3JkZXJieSddLCBzZWxmOjokb3JkZXJieV9tYXApOyAvLyA8LSBCaXQgYnJva2VuLCB3YXNuJ3QgbWVudCBmb3IgY2F0ZWdvcnkgYWN0aW9uLCBzZWNvbmQgYXJyYXkgdG90YWxseSB1bm5lY2NlcnkuDQoJCQkNCgkJCWlmKGNvdW50KCRvcmRlcl9jb2xzKSkgew0KCQkJDQoJCQkJZm9yZWFjaCgkb3JkZXJfY29scyBhcyAkb25lKSB7DQoJCQkJDQoJCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfT1JERVJCWSwgJG9uZSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCQkNCglwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkNCgl7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7DQoJCSRwYXJhbXMgPSAkdGhpcy0+R2V0UGFyYW1zKCk7DQoJCQ0KCQkkb3JkZXJfY29scyA9IGFycmF5KCk7DQoJCSRjdXN0b21fY29scyA9IGFycmF5KCk7DQoJCSR0aGlzLT5fYXBwZW5kX2ludGVybmFsKCk7CQkNCg0KCQkvLyBJbml0IHF1ZXJ5DQoJCSR0aGlzLT5xdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgQiAnOw0KDQoJCS8vIE1lcmdlIGV2ZXJ5dGhpbmcgdG8gb25lIHF1ZXJ5DQoJCWlmKGNvdW50KCR0aGlzLT5qb2lucykpDQoJCQkkdGhpcy0+cXVlcnkgLj0gaW1wbG9kZSgnICcsICR0aGlzLT5qb2lucyk7DQoJCQ0KCQlpZihjb3VudCgkdGhpcy0+d2hlcmUpKQ0KCQkJJHRoaXMtPnF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHRoaXMtPndoZXJlKTsNCgkJCQ0KCQkkdGhpcy0+cXVlcnkgLj0gJyBHUk9VUCBCWSBCLmNhdGVnb3J5X2lkICc7CQkJDQoNCgkJaWYoY291bnQoJHRoaXMtPm9yZGVyYnkpKSB7DQoJCQ0KCQkJJHRoaXMtPnF1ZXJ5IC49ICcgT1JERVIgQlkgJyAuIGltcGxvZGUoJywgJywgJHRoaXMtPm9yZGVyYnkpOw0KCQl9IGVsc2Ugew0KCQkNCgkJCSR0aGlzLT5xdWVyeSAuPSAnIE9SREVSIEJZIGhpZXJhcmNoeSAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJyk7DQoJCX0JCQkNCgkJCQ0KCQkkdGhpcy0+cmVzdWx0c2V0ID0gJGRiLT5FeGVjdXRlKCR0aGlzLT5xdWVyeSwgJHRoaXMtPnFwYXJhbXMpOw0KCX0JDQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQ2xhc3MgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQ0KCQ0KCXN0YXRpYyBwcml2YXRlIGZ1bmN0aW9uIGV4cGxvZGVfb3JkZXJieSgkcGFyYW0sICR2YWxpZF9jb2xzKXsNCgkNCgkJJG9yZGVyX2NvbHMgPSBhcnJheSgpOw0KCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOw0KCQkkaW5kZXggPSAwOw0KCQkNCgkJZm9yZWFjaChleHBsb2RlKCcsJywgJHBhcmFtKSBhcyAkY29sKSB7DQoJCQ0KCQkJJGNvbCA9IHRyaW0oJGNvbCk7DQoJCQkkY29sX3BhcnRzID0gZXhwbG9kZSgnfCcsICRjb2wpOw0KCQ0KCQkJLy8gY29sdW1uIG5hbWUNCgkJCSRjb2xfbmFtZSA9ICRjb2xfcGFydHNbMF07DQoJCQkkY29sX29yZGVyID0gJ0FTQyc7DQoJDQoJCQkvLyBvcmRlciBjb2x1bW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcNCgkJCWlmKGlzc2V0KCRjb2xfcGFydHNbMV0pKSB7DQoJCQkJDQoJCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX3BhcnRzWzFdLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX3BhcnRzWzFdIDogJ0FTQycpOw0KCQkJfQ0KCQ0KCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX29yZGVyLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX29yZGVyIDogJ0FTQycpOw0KCQ0KCQkJaWYoaXNzZXQoJHZhbGlkX2NvbHNbJGNvbF9uYW1lXSkpIHsNCgkJCQ0KCQkJCSRvcmRlcl9jb2xzWyRpbmRleF0gPSAkdmFsaWRfY29sc1skY29sX25hbWVdIC4gJyAnIC4gJGNvbF9vcmRlcjsNCgkJCX0gDQoJCQllbHNlaWYgKHN0YXJ0c3dpdGgoJGNvbF9uYW1lLCAnY3VzdG9tXycpKSB7DQoJCQkJDQoJCQkJJGN1c3RvbV9uYW1lID0gc3Vic3RyKCRjb2xfbmFtZSwgNyk7DQoJCQkJJG9iaiA9IG5ldyBzdGRDbGFzczsNCgkJCQkkb2JqLT5uYW1lID0gJGN1c3RvbV9uYW1lOw0KCQkJCSRvYmotPm9yZGVyID0gJGNvbF9vcmRlcjsNCgkJCQkNCgkJCQkkY3VzdG9tX2NvbHNbJGluZGV4XSA9ICRvYmo7DQoJCQl9DQoJCQkNCgkJCSRpbmRleCsrOw0KCQl9DQoJCQkNCgkJcmV0dXJuIGFycmF5KCRvcmRlcl9jb2xzLCAkY3VzdG9tX2NvbHMpOw0KCX0JCQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCg0KPz4J]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECloner.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTElTRUNsb25lciAKewogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIENvbnN0YW50cwogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgY29uc3QgTU9EX1BSRUZJWCA9ICdMSVNFJzsKCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQXR0cmlidXRlcwogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgcHJpdmF0ZSAkc3JjOwogIHByaXZhdGUgJGR1cDsKICBwcml2YXRlICRkc3Q7CiAgcHJpdmF0ZSAkbW9kbmFtZTsKICBwcml2YXRlICRvbGRtb2RuYW1lOwogIAoJcHJpdmF0ZSBzdGF0aWMgJF9pbnZhbGlkID0gYXJyYXkoJy4nLCAnLi4nKTsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRvbGRtb2RuYW1lID0gTlVMTCwgJG5ld21vZGVuYW1lID0gTlVMTCkgCgl7CiAgICBpZiggZW1wdHkoJG9sZG1vZG5hbWUpICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgaW4gJyAuIF9fQ0xBU1NfXyAuICcgY29uc3RydWN0b3I6IGludmFsaWQgcGFyYW1ldGVyIScpOwogICAgaWYoIGVtcHR5KCRuZXdtb2RlbmFtZSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJyBjb25zdHJ1Y3RvcjogaW52YWxpZCBwYXJhbWV0ZXIhJyk7CiAgICAKICAgIGlmKCAhc3RhcnRzd2l0aCgkb2xkbW9kbmFtZSwgc2VsZjo6TU9EX1BSRUZJWCkgKQogICAgewogICAgICAkb2xkbW9kbmFtZSA9IHNlbGY6Ok1PRF9QUkVGSVggLiAkb2xkbW9kbmFtZTsKICAgIH0KICAgIAogICAgaWYoICFzdGFydHN3aXRoKCRuZXdtb2RlbmFtZSwgc2VsZjo6TU9EX1BSRUZJWCkgKQogICAgewogICAgICAkbmV3bW9kZW5hbWUgPSBzZWxmOjpNT0RfUFJFRklYIC4gJG5ld21vZGVuYW1lOwogICAgfQoKICAgICRuZXdtb2RlbmFtZSA9IHNlbGY6Ol9tYWtlX3ZhbGlkX21vZG5hbWUoJG5ld21vZGVuYW1lKTsgCiAgICAkdGhpcy0+b2xkbW9kbmFtZSA9ICRvbGRtb2RuYW1lOwogICAgJHRoaXMtPm1vZG5hbWUgPSAkbmV3bW9kZW5hbWU7CiAgICAkdGhpcy0+c3JjID0gZGlybmFtZShkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm9sZG1vZG5hbWU7CiAgICAkdGhpcy0+ZHN0ID0gZGlybmFtZShkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm1vZG5hbWU7Cgl9CgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIFNldC9HZXQKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCiAgcHVibGljIGZ1bmN0aW9uIFNldE1vZHVsZSgkbmFtZSkKICB7CgkgICR0aGlzLT5tb2RuYW1lID0gJG5hbWU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gU2V0RHVwbGljYXRlKCRuYW1lKQogIHsKICAgICR0aGlzLT5kdXAgPSAkbmFtZTsKICB9CiAgICAKICBwdWJsaWMgZnVuY3Rpb24gU2V0U291cmNlKCRuYW1lKQogIHsKCSAgJHRoaXMtPnNyYyA9ICRuYW1lOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIFNldERlc3RpbmF0aW9uKCRuYW1lKQogIHsKCSAgJHRoaXMtPmRzdCA9ICRuYW1lOwogIH0JCgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIFJ1bm5lcgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQoJcHVibGljIGZ1bmN0aW9uIFJ1bigpCgl7CiAgICAjIDFzdCBjb3B5IHRoZSBvcmlnaW5hbAogICAgJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHRoaXMtPnNyYywgJHRoaXMtPmRzdCk7CgkJJHRoaXMtPlJlbmFtZSgpOwogICAgJHRoaXMtPkZpeE1vZHVsZWZpbGUoKTsKICAgICMgbm93IHdlIGluc3RhbGwgbmV3CiAgICAkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwogICAgJG1vZG9wcy0+SW5zdGFsbE1vZHVsZSgkdGhpcy0+bW9kbmFtZSk7CiAgICAjIGNsb25lIHRoZSByZXN0IG9mIHRoZSBkYXRhCgkJJHRoaXMtPkNvcHlEYXRhQmFzZSgpOwogICAgJHRoaXMtPkNvcHlUZW1wbGF0ZXMoKTsKICAgICR0aGlzLT5Db3B5UHJlZmVyZW5jZXMoKTsKICAgICMgbm93IHdlIGhhdmUgYSBuZXcgTElTRSBNb2R1bGUKCQlyZXR1cm4gJHRoaXMtPm1vZG5hbWU7Cgl9CgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEZpbGUgaGFuZGxpbmcgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDb3B5UmVjdXJzaXZlKCRzcmMsICRkc3QpIAoJewoJCSRkaXIgPSBvcGVuZGlyKCRzcmMpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQlAbWtkaXIoJGRzdCk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCQoJCXdoaWxlKGZhbHNlICE9PSAoICRmaWxlID0gcmVhZGRpcigkZGlyKSkgKSAKICAgIHsKCQkKCQkJaWYgKGluX2FycmF5KCRmaWxlLCBzZWxmOjokX2ludmFsaWQpKSBjb250aW51ZTsgLy8gPC0gU2tpcCBzdHVmZiB3ZSBuZXZlciBhbGxvdyB0byBjb3B5CgoJCQlpZiAoIGlzX2Rpcigkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSApIAogICAgICB7IAoJCQkJJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJGRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSk7IAoJCQl9IAoJCQllbHNlIAogICAgICB7IAoJCQkJQGNvcHkoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJGRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCQl9IAoJCX0gCgkJCgkJY2xvc2VkaXIoJGRpcik7IAoJfQoJCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIFJlbmFtZSgpIAoJewogICAgJG9sZCA9IGNtc19qb2luX3BhdGgoJHRoaXMtPmRzdCwgJHRoaXMtPm9sZG1vZG5hbWUgLiAnLm1vZHVsZS5waHAnKTsKICAgICRuZXcgPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5kc3QsICR0aGlzLT5tb2RuYW1lIC4gJy5tb2R1bGUucGhwJykgOwoJCUByZW5hbWUoJG9sZCwgJG5ldyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJfQoJCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIEZpeE1vZHVsZWZpbGUoKSAKCXsKCQkkZmlsZW5hbWUgPSAkdGhpcy0+ZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICR0aGlzLT5tb2RuYW1lIC4nLm1vZHVsZS5waHAnOwoKCQkvLyBSZXBsYWNlbWVudHMKCQkkX2NvbnRlbnRzID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGVuYW1lKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJJF9jb250ZW50cyA9IHN0cl9yZXBsYWNlKCR0aGlzLT5vbGRtb2RuYW1lLCAkdGhpcy0+bW9kbmFtZSwgJF9jb250ZW50cyk7CgkKCQkvLyBXcml0ZSBmaWxlCgkJJGZoID0gQGZvcGVuKCRmaWxlbmFtZSwgJ3cnKTsKCQlmd3JpdGUoJGZoLCAkX2NvbnRlbnRzKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJZmNsb3NlKCRmaCk7CQoJfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weURhdGFCYXNlKCkKICB7CiAgICAgJG1vZF9wcmVmaXggPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiBzdHJ0b2xvd2VyKCR0aGlzLT5tb2RuYW1lKSAuICdfJzsKICAgICAkb2xkX21vZF9wcmVmaXggPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiBzdHJ0b2xvd2VyKCR0aGlzLT5vbGRtb2RuYW1lKSAuICdfJzsKICAgICAkdGFibGVfbGlzdCA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtX2NhdGVnb3JpZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZGRlZicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkZGVmX29wdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHZhbCcgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgIAogICAgIGZvcmVhY2goJHRhYmxlX2xpc3QgYXMgJG9uZSkKICAgICB7CiAgICAgICAkbnQgPSAkbW9kX3ByZWZpeCAuICRvbmU7IAogICAgICAgJG90PSAkb2xkX21vZF9wcmVmaXggLiAkb25lOwogICAgICAgCiAgICAgICAkcSA9ICdEUk9QIFRBQkxFIElGIEVYSVNUUyAnIC4gJG50OwogICAgICAgJHIgPSAkZGItPkV4ZWN1dGUoJHEpOwogICAgICAgCiAgICAgICBpZighJHIpIHRocm93IG5ldyBFeGNlcHRpb24oICRkYi0+RXJyb3JNc2coKSApOyAKICAgICAgIAogICAgICAgJHEgPSAnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgJyAuICRudCAuICcgU0VMRUNUICogRlJPTSAnIC4gJG90OyAKICAgICAgICRyID0gJGRiLT5FeGVjdXRlKCRxKTsKICAgICAgIAogICAgICAgaWYoISRyKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCAkZGItPkVycm9yTXNnKCkgKTsKICAgICB9CiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weVByZWZlcmVuY2VzKCkKICB7CiAgICAKICAgICRwcmVmcyA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdmcmllbmRseW5hbWUnLAogICAgICAgICAgICAgICAgICAgICdhZG1pbnNlY3Rpb24nLAogICAgICAgICAgICAgICAgICAgICdtb2RkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fdGl0bGUnLAogICAgICAgICAgICAgICAgICAgICdzb3J0b3JkZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtX3Npbmd1bGFyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV9wbHVyYWwnLAogICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X2NyZWF0ZV9kYXRlJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV9jb2xzJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXNfcGVyX3BhZ2UnLAogICAgICAgICAgICAgICAgICAgICd1cmxfcHJlZml4JywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9pbmxpbmUnLAogICAgICAgICAgICAgICAgICAgICdzdWJjYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgJ3VybHRlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAnZGV0YWlscGFnZScsCiAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnlwYWdlJywKICAgICAgICAgICAgICAgICAgICAncmVpbmRleF9zZWFyY2gnCiAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgIAogICAgJHRlbXBsYXRlX3ByZWZzID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9zdW1tYXJ5X3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9zZWFyY2hfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfYXJjaGl2ZV90ZW1wbGF0ZScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAKICAgICRuZXdtb2QgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkdGhpcy0+bW9kbmFtZSwgTlVMTCwgVFJVRSk7CiAgICAkb2xkbW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm9sZG1vZG5hbWUsIE5VTEwsIFRSVUUpOwogICAgCiAgICBmb3JlYWNoKCRwcmVmcyBhcyAkcHJlZikKICAgIHsKICAgICAgaWYoJHByZWYgPT0gJ2ZyaWVuZGx5bmFtZScpCiAgICAgIHsKICAgICAgICAkbmV3bW9kLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCAkb2xkbW9kLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJykgLiAnKicgKTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICAKICAgICAgJG5ld21vZC0+U2V0UHJlZmVyZW5jZSgkcHJlZiwgJG9sZG1vZC0+R2V0UHJlZmVyZW5jZSgkcHJlZiwgJycpICk7CiAgICB9CiAgICAgICAgCiAgICBmb3JlYWNoKCR0ZW1wbGF0ZV9wcmVmcyBhcyAkcHJlZikKICAgIHsgICAgIAogICAgICAkbmV3bW9kLT5TZXRQcmVmZXJlbmNlKCR0aGlzLT5tb2RuYW1lIC4gJHByZWYsICRvbGRtb2QtPkdldFByZWZlcmVuY2UoJHRoaXMtPm1vZG5hbWUgLiAkcHJlZiwgJycpICk7CiAgICB9CgogIH0KICAKICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlUZW1wbGF0ZXMoKQogIHsKICAgIAogICAgJG5ld21vZCA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5nZXRfbW9kdWxlX2luc3RhbmNlKCR0aGlzLT5tb2RuYW1lLCBOVUxMLCBUUlVFKTsKICAgICRvbGRtb2QgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkdGhpcy0+b2xkbW9kbmFtZSwgTlVMTCwgVFJVRSk7CgogICAgCiAgICAkdGVtcGxhdGVzID0gJG5ld21vZC0+TGlzdFRlbXBsYXRlcygpOwogICAgCiAgICBmb3JlYWNoKCR0ZW1wbGF0ZXMgYXMgJG9uZSkgJG5ld21vZC0+RGVsZXRlVGVtcGxhdGUoJG9uZSk7CiAgICAKICAgICR0ZW1wbGF0ZXMgPSAkb2xkbW9kLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAKICAgIGZvcmVhY2goJHRlbXBsYXRlcyBhcyAkb25lKQogICAgewogICAgICAkbmV3bW9kLT5TZXRUZW1wbGF0ZSggJG9uZSwgJG9sZG1vZC0+R2V0VGVtcGxhdGUoJG9uZSkgKTsKICAgIH0KICAgICAKICB9CiAgCiAgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBVcGdyYWRlRnJvbUJhc2UoKQogIHsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPm1vZG5hbWUgLiAnX2ZpZWxkZGVmJywgJ3RlbXBsYXRlIEMoMjU1KScpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogIH0KICAKICAvKioKICAqIGNhcmVmdWxsOiBubyBlcnJvciBjaGVja2luZwogICogCiAgKiBAcGFyYW0gbWl4ZWQgJGZuCiAgKi8KICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIF9pc192YWxpZF9maWxlbmFtZSgkZm4pCiAgewogICAgJHRlc3QgPSBjbXNfam9pbl9wYXRoKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlybmFtZSggZGlybmFtZSggZGlybmFtZShfX0ZJTEVfXykgKSApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZuCiAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICByZXR1cm4gIWlzX2RpcigkdGVzdCk7CiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gX21ha2VfdmFsaWRfbW9kbmFtZSgkbmFtZSkKICB7CiAgICAkY250ID0gMDsKICAgICR0ZXN0ID0gJG5hbWU7CiAgICB3aGlsZSghc2VsZjo6X2lzX3ZhbGlkX2ZpbGVuYW1lKCR0ZXN0KSkKICAgIHsKICAgICAgJHRlc3QgPSAkbmFtZSAuICsrJGNudDsKICAgIH0KICAgIAogICAgcmV0dXJuICR0ZXN0OwogICAgCiAgfQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEConfig.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VDb25maWcgaW1wbGVtZW50cyBBcnJheUFjY2Vzcwp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCiAKCXN0YXRpYyBwcml2YXRlICRfYWxsb3dlZCA9IGFycmF5KCdtb2R1bGVfYWxpYXMnLCAnaXRlbV9xdWVyeV9jbGFzcycsICdjYXRlZ29yeV9xdWVyeV9jbGFzcycsICdhcmNoaXZlX3F1ZXJ5X2NsYXNzJyk7Cglwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7Cglwcml2YXRlICRfbW9kX2luc3RhbmNlOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMSVNFICYkbW9kKSAKCXsKCQkkdGhpcy0+X21vZF9pbnN0YW5jZSA9ICRtb2Q7IC8vIDwtIE1heSBiZSBtZW1vcnkgaGVhdmUsIGRvIHNvbWUgdGVzdGluZy4uLgoJCgkJJGxpc2VfY29uZmlnID0gYXJyYXkoKTsKCQkkZm4gPSBjbXNfam9pbl9wYXRoKCRtb2QtPkdldE1vZHVsZVBhdGgoKSwgTElTRV9DT05GSUdfRklMRSk7CgkJaWYoaXNfcmVhZGFibGUoJGZuKSkgewoJCQoJCQlpbmNsdWRlKCRmbik7CgkJCWlmKGlzc2V0KCRsaXNlX2NvbmZpZykpIHsKCQkJCgkJCQlmb3JlYWNoKCRsaXNlX2NvbmZpZyBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCQkKCQkJCQkkdGhpcy0+b2Zmc2V0U2V0KCRrZXksICR2YWx1ZSk7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBcnJheSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRrZXkpCgl7CQkKCQlpZihpc3NldChzZWxmOjokX2FsbG93ZWRbJGtleV0pKQoJCQlyZXR1cm4gdHJ1ZTsKCQoJCXJldHVybiBmYWxzZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRrZXkpCgl7CQoJCS8vIENoZWNrIGZpbGUgdmFsdWVzCgkJaWYoaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSkgCgkJCXJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CgkJCgkJLy8gQ2hlY2sgcHJlLWRlZmluZWQgdmFsdWVzCgkJc3dpdGNoKCRrZXkpIHsKCQkKCQkJY2FzZSAnbW9kdWxlX2FsaWFzJzoKCQkJCXJldHVybiBzdHJ0b2xvd2VyKCR0aGlzLT5fbW9kX2luc3RhbmNlLT5HZXROYW1lKCkpOwoJCQkKCQkJY2FzZSAnaXRlbV9xdWVyeV9jbGFzcyc6CgkJCQlyZXR1cm4gJ0xJU0VJdGVtUXVlcnknOwoJCQkKCQkJY2FzZSAnY2F0ZWdvcnlfcXVlcnlfY2xhc3MnOgoJCQkJcmV0dXJuICdMSVNFQ2F0ZWdvcnlRdWVyeSc7CgkJCQkKCQkJY2FzZSAnYXJjaGl2ZV9xdWVyeV9jbGFzcyc6CgkJCQlyZXR1cm4gJ0xJU0VBcmNoaXZlUXVlcnknOwoKCQkJZGVmYXVsdDoKCQkJCXJldHVybiBudWxsOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrZXksJHZhbHVlKQoJewoJCWlmKGluX2FycmF5KCRrZXksIHNlbGY6OiRfYWxsb3dlZCkpCgkJCSR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGtleSkKCXsKCQl0cmlnZ2VyX2Vycm9yKCdVbnNldHRpbmcgTElTRSBjb25maWcgdmFyaWFibGUgJy4ka2V5LicgaXMgaW52YWxpZCcsIEVfVVNFUl9FUlJPUik7Cgl9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISECsvIterator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKICogc291cmNlOiBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmZnZXRjc3YucGhwIzU3ODAyCiAqIAogKiA9PiBjYW4gaW1wb3J0IGEgY3N2IGZpbGUgYW5kIGl0ZXJhdGUgb3ZlciB0aGUgaXRlbXMKICogPT4gYWxsb3dzIHRvIHNwZWNpZnkgdGhlIHNlcGFyYXRvciBhbmQgdGhlIGVuY2xvc3VyZQogKiAKICogUmVxdWlyZXMgYXQgbGVhc3QgUEhQIDQuMwogKiAKICogSG93VG8gdXNlIGV4YW1wbGU6CgkkY3N2SXRlcmF0b3IgPSBuZXcgQ3N2SXRlcmF0b3IoJy9wYXRoL3RvL2ZpbGUnLCB0cnVlLCAnfCcsICciJyk7Cgl3aGlsZSAoJGNzdkl0ZXJhdG9yLT5uZXh0KCkpIHsKCQlwcmludF9yKCRjc3ZJdGVyYXRvci0+Y3VycmVudCgpKTsKCX0KICogCiAqIEBhdXRob3IgTU8gbW9ydGFub24gYXQgZ21haWwgZG90IGNvbSwgMTQtT2N0LTIwMDUgMDg6MDUKICogQGF1dGhvciBUSyBUb2JpYXMgS2x1Z2UsIGh0dHA6Ly9lbmFyaW9uLm5ldAogKiAKICogQHZlcnNpb24gMS4xIC0gMjAwNi0wNC0yMiBieSBUSwogKiAJCS0gYmFja3BvcnQgdG8gUEhQIDQKICogCQktIGFkZGVkIHVzYWdlIG9mIGVuY2xvc3VyZQogKiAJCS0gYWRkZWQgc3VwcG9ydCBvZiBoZWFkZXJzIAogKiBAdmVyc2lvbiAxLjAgLSAyMDA1LTEwLTE0IGJ5IE1PCiAqIAogKi8KCmNsYXNzIExJU0VDc3ZJdGVyYXRvcgp7CiAgIHZhciAkUk9XX1NJWkUgPSA0MDk2OwogICAvKioKICAgICAqIFRoZSBwb2ludGVyIHRvIHRoZSBjdnMgZmlsZS4KICAgICAqIEB2YXIgcmVzb3VyY2UKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkZmlsZVBvaW50ZXIgPSBudWxsOwogICAvKioKICAgICAqIFRoZSBjdXJyZW50IGVsZW1lbnQsIHdoaWNoIHdpbGwKICAgICAqIGJlIHJldHVybmVkIG9uIGVhY2ggaXRlcmF0aW9uLgogICAgICogQHZhciBhcnJheQogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgdmFyICRjdXJyZW50RWxlbWVudCA9IG51bGw7CiAgIC8qKgogICAgICogVGhlIHJvdyBjb3VudGVyLgogICAgICogQHZhciBpbnQKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkcm93Q291bnRlciA9IG51bGw7CiAgIC8qKgogICAgICogVGhlIGRlbGltaXRlciBmb3IgdGhlIGNzdiBmaWxlLgogICAgICogQHZhciBzdHIKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkZGVsaW1pdGVyID0gbnVsbDsKICAgLyoqCiAgICAgKiBUaGUgZW5jbG9zdXJlIGZvciB0aGUgY3N2IGZpbGUuCiAgICAgKiBAdmFyIHN0cgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgdmFyICRlbmNsb3N1cmUgPSAnIic7CiAgIC8qKgogICAgICogU3BlY2lmaWVzIGlmIGhlYWRlcnMgc2hvdWxkIGJlIHJlYWQgYW5kIHVzZWQuCiAgICAgKiBAdmFyIGJvb2wKICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICovCiAgIHZhciAkd2l0aEhlYWRlcnMgPSBmYWxzZTsKICAgLyoqCiAgICAqIENvbnRhaW5zIHRoZSBoZWFkZXJzIGlmIGhlYWRlcnMgYXJlIHVzZWQuCiAgICAqIEB2YXIgYXJyYXkKICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAqLwogICB2YXIgJGhlYWRlciA9IGFycmF5KCk7CgoKICAgLyoqCiAgICogVGhpcyBpcyB0aGUgY29uc3RydWN0b3IuIEl0IHRyaWVzIHRvIG9wZW4gdGhlIGNzdiBmaWxlLiAKICAgKiBUaGUgbWV0aG9kIHRocm93cyBhbiBleGNlcHRpb24gb24gZmFpbHVyZS4KICAgKgogICAqIEBhY2Nlc3MgcHVibGljCiAgICogQHBhcmFtIHN0ciAkZmlsZSBUaGUgY3N2IGZpbGUuCiAgICogQHBhcmFtIGJvb2wgJHdpdGhIZWFkZXJzIFNwZWNpZnkgaWYgZmlsZSBjb250YWlucyBoZWFkZXIgYW5kIHNob3VsZCBiZSB1c2VkLgogICAqIEBwYXJhbSBzdHIgJGRlbGltaXRlciBUaGUgZGVsaW1pdGVyLgogICAqIEBwYXJhbSBzdHIgJGVuY2xvc3VyZSBUaGUgZW5jbG9zdXJlLgogICAqCiAgICogQHRocm93cyBFeGNlcHRpb24KICAgKi8KICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGZpbGUsICR3aXRoSGVhZGVycyA9IHRydWUsICRkZWxpbWl0ZXI9JywnLCAkZW5jbG9zdXJlPSciJykKICAgewogICAgICAgJHRoaXMtPmZpbGVQb2ludGVyID0gQGZvcGVuKCRmaWxlLCAncicpOwogICAgICAgaWYgKCR0aGlzLT5maWxlUG9pbnRlciA9PT0gZmFsc2UpIHsKICAgICAgIAkJZGllKCdUaGUgZmlsZSAiJyAuICRmaWxlIC4gJyIgY2Fubm90IGJlIHJlYWQuJyk7CiAgICAgICB9CiAgICAgICAkdGhpcy0+ZGVsaW1pdGVyID0gJGRlbGltaXRlcjsKICAgICAgICR0aGlzLT5lbmNsb3N1cmUgPSAkZW5jbG9zdXJlOwogICAgICAgJHRoaXMtPndpdGhIZWFkZXJzID0gJHdpdGhIZWFkZXJzOwogICB9CgogICAvKioKICAgKiBUaGlzIG1ldGhvZCByZXNldHMgdGhlIGZpbGUgcG9pbnRlci4KICAgKgogICAqIEBhY2Nlc3MgcHVibGljCiAgICovCiAgIGZ1bmN0aW9uIHJld2luZCgpIHsKICAgICAgICR0aGlzLT5yb3dDb3VudGVyID0gMDsKICAgICAgIHJld2luZCgkdGhpcy0+ZmlsZVBvaW50ZXIpOwogICB9CgogICAvKioKICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBjdXJyZW50IGNzdiByb3cgYXMgYSAyIGRpbWVuc2lvbmFsIGFycmF5CiAgICoKICAgKiBAYWNjZXNzIHB1YmxpYwogICAqIEByZXR1cm4gYXJyYXkgVGhlIGN1cnJlbnQgY3N2IHJvdyBhcyBhIDIgZGltZW5zaW9uYWwgYXJyYXkKICAgKi8KICAgZnVuY3Rpb24gY3VycmVudCgpIHsKCSAgIGlmICgkdGhpcy0+d2l0aEhlYWRlcnMgJiYgJHRoaXMtPnJvd0NvdW50ZXIgPT0gMCkgeyAgIAkKICAgICAgIAkJJHRoaXMtPmhlYWRlciA9ICR0aGlzLT5jdXJyZW50RWxlbWVudDsKICAgICAgIAkJJHRoaXMtPm5leHQoKTsKCSAgIH0JICAgCgogICAgICAgLy8gY2hlY2sgZm9yIGludmFsaWQgY3VycmVudEVsZW1lbnQKICAgICAgIGlmICghaXNfYXJyYXkoJHRoaXMtPmN1cnJlbnRFbGVtZW50KSkgewogICAgICAgCQl2YXJfZHVtcCgkdGhpcy0+Y3VycmVudEVsZW1lbnQpOwogICAgICAgCQlyZXR1cm4gJHRoaXMtPmN1cnJlbnRFbGVtZW50OwogICAgICAgfQoKCSAgIC8vIGhhbmRsZSBoZWFkZXJzICAgICAgIAogICAgICAgaWYgKCR0aGlzLT53aXRoSGVhZGVycykgewogICAgICAgCQkvLyBhcHBseSBoZWFkZXJzIHRvIGN1cnJlbnRFbGVtZW50CgkJCSR0bXAgPSBhcnJheSgpOyAgICAgICAJCQogICAgICAgCQkKICAgICAgIAkJZm9yZWFjaCAoJHRoaXMtPmN1cnJlbnRFbGVtZW50IGFzICRpID0+ICR2YWx1ZSkgewogICAgICAgCQkJLy8gJHRtcFskaV0gPSAkdmFsdWU7IC8vIHVuY29tbWVudCB0aGlzIGxpbmUgdG8gdXNlIGluZGljZXMgYXMgYXJyYXkga2V5cwoJCQkJaWYoaXNzZXQoJHRoaXMtPmhlYWRlclskaV0pKQoJCQkJCSR0bXBbJHRoaXMtPmhlYWRlclskaV1dID0gJHZhbHVlOwogICAgICAgCQl9CiAgICAgICAJCSR0aGlzLT5jdXJyZW50RWxlbWVudCA9ICR0bXA7CiAgICAgICB9CiAgICAgICAkdGhpcy0+cm93Q291bnRlcisrOwogICAgICAgcmV0dXJuICR0aGlzLT5jdXJyZW50RWxlbWVudDsKICAgfSAgCiAgIAogICAvKioKICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBjdXJyZW50IHJvdyBudW1iZXIuCiAgICoKICAgKiBAYWNjZXNzIHB1YmxpYwogICAqIEByZXR1cm4gaW50IFRoZSBjdXJyZW50IHJvdyBudW1iZXIKICAgKi8KICAgZnVuY3Rpb24ga2V5KCkgewogICAgICAgcmV0dXJuICR0aGlzLT5yb3dDb3VudGVyOwogICB9CgogIC8qKgogICAqIFRoaXMgbWV0aG9kIGNoZWNrcyBpZiB0aGUgZW5kIG9mIGZpbGUgaXMgcmVhY2hlZC4KICAgKgogICAqIEBhY2Nlc3MgcHVibGljCiAgICogQHJldHVybiBib29sZWFuIFJldHVybnMgdHJ1ZSBvbiBFT0YgcmVhY2hlZCwgZmFsc2Ugb3RoZXJ3aXNlLgogICAqLwogICBmdW5jdGlvbiBuZXh0KCkgewogICAgICAgJHRoaXMtPmN1cnJlbnRFbGVtZW50ID0gQGZnZXRjc3YoJHRoaXMtPmZpbGVQb2ludGVyLCAkdGhpcy0+Uk9XX1NJWkUsICR0aGlzLT5kZWxpbWl0ZXIsICR0aGlzLT5lbmNsb3N1cmUpOwogICAgICAgLy8gZW9mIGlzIHJlYWNoZWQgPD0+IHJlc3VsdCBvZiBmZ2V0Y3N2IGlzIGZhbHNlIAogICAgICAgcmV0dXJuICR0aGlzLT5jdXJyZW50RWxlbWVudCAhPT0gRkFMU0U7CiAgIH0KCiAgIC8qKgogICAgICogVGhpcyBtZXRob2QgY2hlY2tzIGlmIHRoZSBuZXh0IHJvdyBpcyBhIHZhbGlkIHJvdy4KICAgICAqCiAgICAgKiBAYWNjZXNzIHB1YmxpYwogICAgICogQHJldHVybiBib29sZWFuIElmIHRoZSBuZXh0IHJvdyBpcyBhIHZhbGlkIHJvdy4KICAgICAqLwogICBmdW5jdGlvbiB2YWxpZCgpIHsKICAgICAgIGlmICghJHRoaXMtPm5leHQoKSkgewogICAgICAgICAgICR0aGlzLT50ZWFyRHJvcCgpOwogICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KICAgICAgIHJldHVybiB0cnVlOwogICB9CiAgIAogICAvKioKICAgICogVGhpcyBtZXRob2QgY2xvc2VzIGFsbCBvcGVuIGZpbGVzIGFuZCBzaHV0cyB0aGlzIG9iamVjdCBkb3duLgogICAgKiAKICAgICogQGFjY2VzcyBwdWJsaWMKICAgICogQHJldHVybiB2b2lkIG5vIHJlc3VsdAogICAgKi8KICAgZnVuY3Rpb24gdGVhckRvd24oKSB7CiAgIAkgICBmY2xvc2UoJHRoaXMtPmZpbGVQb2ludGVyKTsKICAgfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEDuplicator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBMSVNFRHVwbGljYXRvciAKewoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ29uc3RhbnRzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkKCWNvbnN0IE1PRF9QUkVGSVggPSAnTElTRSc7Cgljb25zdCBQTEFDRUhPTERFUiA9ICdQTEFDRV9IT0xERVJfX18nOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQXR0cmlidXRlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgJHNyYzsKCXByaXZhdGUgJGRzdDsKCXByaXZhdGUgJG1vZG5hbWU7Cglwcml2YXRlIHN0YXRpYyAkX2ludmFsaWQgPSBhcnJheSgnLicsICcuLicpOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZG5hbWUgPSBzZWxmOjpQTEFDRUhPTERFUikgCgl7CgkJJHRoaXMtPm1vZG5hbWUgPSBzZWxmOjpNT0RfUFJFRklYIC4gJG1vZG5hbWU7CgkJJHRoaXMtPnNyYyA9IGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdkdXBsaWNhdGUnOwoJCSR0aGlzLT5kc3QgPSBkaXJuYW1lKGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkdGhpcy0+bW9kbmFtZTsKCX0KCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFNldC9HZXQKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gU2V0TW9kdWxlKCRuYW1lKQoJewoJCSR0aGlzLT5tb2RuYW1lID0gJG5hbWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBTZXRTb3VyY2UoJG5hbWUpCgl7CgkJJHRoaXMtPnNyYyA9ICRuYW1lOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBTZXREZXN0aW5hdGlvbigkbmFtZSkKCXsKCQkkdGhpcy0+ZHN0ID0gJG5hbWU7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFJ1bm5lcgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCglwdWJsaWMgZnVuY3Rpb24gUnVuKCkKCXsKCQkkdGhpcy0+Q29weVJlY3Vyc2l2ZSgkdGhpcy0+c3JjLCAkdGhpcy0+ZHN0KTsKCQkkdGhpcy0+UmVuYW1lKCk7CgkJJHRoaXMtPkZpeE1vZHVsZWZpbGUoKTsKCQlyZXR1cm4gJHRoaXMtPm1vZG5hbWU7Cgl9CgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEZpbGUgaGFuZGxpbmcgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDb3B5UmVjdXJzaXZlKCRzcmMsICRkc3QpIAoJewoJCSRkaXIgPSBvcGVuZGlyKCRzcmMpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQlAbWtkaXIoJGRzdCk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCQoJCXdoaWxlKGZhbHNlICE9PSAoICRmaWxlID0gcmVhZGRpcigkZGlyKSkgKSB7CgkJCgkJCWlmIChpbl9hcnJheSgkZmlsZSwgc2VsZjo6JF9pbnZhbGlkKSkgY29udGludWU7IC8vIDwtIFNraXAgc3R1ZmYgd2UgbmV2ZXIgYWxsb3cgdG8gY29weQoKCQkJaWYgKCBpc19kaXIoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSkgKSB7IAoJCQkJJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJGRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSk7IAoJCQl9IAoJCQllbHNlIHsgCgkJCQlAY29weSgkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJCX0gCgkJfSAKCQkKCQljbG9zZWRpcigkZGlyKTsgCgl9CgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gUmVuYW1lKCkgCgl7CgkJQHJlbmFtZSgkdGhpcy0+ZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OlBMQUNFSE9MREVSIC4gJy5waHAnLCAKCQkJJHRoaXMtPmRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkdGhpcy0+bW9kbmFtZSAuJy5tb2R1bGUucGhwJyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJfQoJCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIEZpeE1vZHVsZWZpbGUoKSAKCXsKCQkkZmlsZW5hbWUgPSAkdGhpcy0+ZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICR0aGlzLT5tb2RuYW1lIC4nLm1vZHVsZS5waHAnOwoKCQkvLyBSZXBsYWNlbWVudHMKCQkkX2NvbnRlbnRzID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGVuYW1lKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJJF9jb250ZW50cyA9IHN0cl9yZXBsYWNlKHNlbGY6OlBMQUNFSE9MREVSLCAkdGhpcy0+bW9kbmFtZSwgJF9jb250ZW50cyk7CgkKCQkvLyBXcml0ZSBmaWxlCgkJJGZoID0gQGZvcGVuKCRmaWxlbmFtZSwgJ3cnKTsKCQlmd3JpdGUoJGZoLCAkX2NvbnRlbnRzKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJZmNsb3NlKCRmaCk7CQoJfQkKCQp9IC8vIGVuZCBvZiBjbGFzcw==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEEventHandlerBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIwojIEN1cnJlbnQgYXZhaWxhYmxlIGV2ZW50cyBpbiBzeXN0ZW06CiMJLSBPbkl0ZW1Mb2FkKExJU0UgJiRtb2QpCiMJLSBPbkl0ZW1TYXZlKExJU0UgJiRtb2QpCiMJLSBPbkl0ZW1EZWxldGUoTElTRSAmJG1vZCkKIwktIEl0ZW1TYXZlUHJlUHJvY2VzcyhBcnJheSAmJGVycm9ycywgQXJyYXkgJiRwYXJhbXMpIAojCS0gSXRlbVNhdmVQb3N0UHJvY2VzcyhBcnJheSAmJGVycm9ycywgQXJyYXkgJiRwYXJhbXMpCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmNsYXNzIExJU0VFdmVudEhhbmRsZXJCYXNlCnsKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQXR0cmlidXRlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCXByaXZhdGUgJF9maWVsZDsKCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExJU0VGaWVsZGRlZkJhc2UgJiRmaWVsZCkKCXsKCQkkdGhpcy0+X2ZpZWxkCSAJPSAkZmllbGQ7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG5hbWUsICRhcmdzKQoJewoJCWlmKG1ldGhvZF9leGlzdHMoJHRoaXMtPl9maWVsZCwgJG5hbWUpKQoJCQlyZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoYXJyYXkoJHRoaXMtPl9maWVsZCwgJG5hbWUpLCAkYXJncyk7CgkKCQlyZXR1cm4gRkFMU0U7Cgl9CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBPdmVyd3JpdGFibGUgZXZlbnRzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCgkvKioKCSAqIExJU0UgRmllbGQgRGF0YWJhc2UgU2F2ZSBtZXRob2QKCSAqCgkgKiBAcmV0dXJuIHZvaWQKCSAqLwkKCXB1YmxpYyBmdW5jdGlvbiBPbkl0ZW1TYXZlKExJU0UgJiRtb2QpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQoJCSRxdWVyeSAgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBXSEVSRSBpdGVtX2lkID0gPyBBTkQgZmllbGRkZWZfaWQgPSA/JzsKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+aXRlbV9pZCwgJHRoaXMtPkdldElkKCkpKTsKCQkJCgkJaWYgKCEkcmVzdWx0KQoJCQlkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOwoJCgkJJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIChpdGVtX2lkLCBmaWVsZGRlZl9pZCwgdmFsdWVfaW5kZXgsIHZhbHVlKSBWQUxVRVMgKD8sPyw/LD8pJzsKCQkkaW5kZXggPSAwOwoJCQoJCWZvcmVhY2goJHRoaXMtPkdldFZhbHVlKCkgYXMgJG9uZV92YWwpIHsKCQkKCQkJaWYoISRvbmVfdmFsKQoJCQkJY29udGludWU7CgkJCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0UGFyZW50SXRlbSgpLT5pdGVtX2lkLCAkdGhpcy0+R2V0SWQoKSwgJGluZGV4LCAkb25lX3ZhbCkpOwoKCQkJaWYgKCEkcmVzdWx0KQoJCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsKCgkJCSRpbmRleCsrOwkJCQkJCQoJCX0KCX0KCgkvKioKCSAqIExJU0UgRmllbGQgRGF0YWJhc2UgTG9hZCBtZXRob2QKCSAqCgkgKiBAcmV0dXJuIHZvaWQKCSAqLwkJCglwdWJsaWMgZnVuY3Rpb24gT25JdGVtTG9hZChMSVNFICYkbW9kKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgPSAiU0VMRUNUIHZhbHVlX2luZGV4LCB2YWx1ZSwgZGF0YSBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfZmllbGR2YWwgV0hFUkUgZmllbGRkZWZfaWQgPSA/IEFORCBpdGVtX2lkID0gPyI7CgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXRJZCgpLCAkdGhpcy0+R2V0UGFyZW50SXRlbSgpLT5pdGVtX2lkKSk7CgkKCQkkaW5wdXRfYXJyID0gYXJyYXkoKTsKCQl3aGlsZSgkZGJyICYmICEkZGJyLT5FT0YpIHsKCQkKCQkJaWYoIWlzX251bGwoJGRici0+ZmllbGRzWydkYXRhJ10pKSB7CgkJCQoJCQkJJHRoaXMtPlNldFZhbHVlKHVuc2VyaWFsaXplKCRkYnItPmZpZWxkc1snZGF0YSddKSk7CgkJCQlyZXR1cm47CgkJCX0KCQkKCQkJJGlucHV0X2FyclskZGJyLT5maWVsZHNbJ3ZhbHVlX2luZGV4J11dID0gJGRici0+ZmllbGRzWyd2YWx1ZSddOwoJCQkkZGJyLT5Nb3ZlTmV4dCgpOwoJCX0KCQkKCQlpZigkZGJyKSAKCQkJJGRici0+Q2xvc2UoKTsJCQkKCQkJCgkJJHRoaXMtPlNldFZhbHVlKCRpbnB1dF9hcnIpOyAvLyA8LSBBbHdheXMgc2V0IGFycmF5LCByZWdhcmRsZXNzIG9mIGNvbnRlbnRzLCBjaGVjayBpZiB0aGlzIGNhbiBmYWlsLgkKCX0JCgoJLyoqCgkgKiBFeGVjdXRlZCBpbiBlZGl0X2l0ZW0gYWN0aW9uLiBKdXN0IGJlZm9yZSBkYXRhYmFzZSBzYXZlIHByb2Nlc3MgaXMgYWJvdXQgdG8gdGFrZSBwbGFjZS4KCSAqCgkgKiBAcmV0dXJuIHZvaWQKCSAqLwkKCXB1YmxpYyBmdW5jdGlvbiBJdGVtU2F2ZVByZVByb2Nlc3MoJiRlcnJvcnMsICYkcGFyYW1zKSAKCXsKCQkkdGhpcy0+X2ZpZWxkLT5WYWxpZGF0ZSgkZXJyb3JzKTsKCX0JCgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBVdGlsaXR5IG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgoJcHJvdGVjdGVkIGZ1bmN0aW9uIEdldEZpZWxkKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9maWVsZDsKCX0KCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgk=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEException.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VFeGNlcHRpb24gZXh0ZW5kcyBTbWFydHlFeGNlcHRpb24ge30KCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEFielddefArray.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBMSVNFRmllbGRkZWZBcnJheSBleHRlbmRzIEFycmF5T2JqZWN0CnsgCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFZhcmlhYmxlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHJpdmF0ZSAkX3BhcmVudF9pdGVtOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRhcnJheSkgCgl7CiAgICAgICAgZm9yZWFjaCgkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsKCQkKCQkJJHZhbHVlLT5TZXRQYXJlbnRBcnJheSgkdGhpcyk7CiAgICAgICAgICAgICR0aGlzLT5vZmZzZXRTZXQoJGtleSwgJHZhbHVlKTsKICAgICAgICB9CQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpCgl7CgkJcmV0dXJuICJBcnJheSI7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEFycmF5IE9iamVjdCBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIG9mZnNldFNldCgka2V5LCAkdmFsdWUpCgl7CgkJaWYoISR2YWx1ZSBpbnN0YW5jZW9mIExJU0VGaWVsZGRlZkJhc2UpCgkJCWRpZSgnTm90IGEgTElTRSBGaWVsZGRlZiBPYmplY3QnKTsgLy8gPC0gUHV0IG1lbnRpb24gdG8gYWRtaW4gbG9nIGluc3RlYWQgb2Yga2lsbGluZyBzY3JpcHQgYW5kIGlnbm9yZSB2YWx1ZS4KCQkJCgkJcGFyZW50OjpvZmZzZXRTZXQoJGtleSwgJHZhbHVlKTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRvZmZzZXQpIAoJewoJCWlmKHBhcmVudDo6b2Zmc2V0RXhpc3RzKCRvZmZzZXQpKQoJCQlyZXR1cm4gdHJ1ZTsKCQkJCgkJZm9yZWFjaCgkdGhpcyBhcyAkZmllbGQpIHsKCQkKCQkJaWYoaXNfb2JqZWN0KCRmaWVsZCkpCgkJCQlpZigkZmllbGQtPkdldEFsaWFzKCkgPT0gJG9mZnNldCkKCQkJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJCgkJcmV0dXJuIEZBTFNFOwogICAgfQoJCiAgICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRvZmZzZXQpIAoJewoJCWlmKHBhcmVudDo6b2Zmc2V0RXhpc3RzKCRvZmZzZXQpKSB7CgkJCQoJCQkkb2JqID0gcGFyZW50OjpvZmZzZXRHZXQoJG9mZnNldCk7CgkJCQoJCQlpZighY21zbXMoKS0+aXNfZnJvbnRlbmRfcmVxdWVzdCgpKSB7CgkJCQoJCQkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCQkJJHNtYXJ0eS0+YXNzaWduKCdmaWVsZGRlZicsICRvYmopOwoJCQl9CgkJCQkJCQoJCQlyZXR1cm4gJG9iajsKCQl9CgkJCQoJCWZvcmVhY2goJHRoaXMgYXMgJGZpZWxkKSB7CgkJCgkJCWlmKGlzX29iamVjdCgkZmllbGQpKQoJCQkJaWYoJGZpZWxkLT5HZXRBbGlhcygpID09ICRvZmZzZXQpIHsKCQkJCQkKCQkJCQlpZighY21zbXMoKS0+aXNfZnJvbnRlbmRfcmVxdWVzdCgpKSB7CgkJCQkJCgkJCQkJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsJCgkJCQkJCSRzbWFydHktPmFzc2lnbignZmllbGRkZWYnLCAkZmllbGQpOwoJCQkJCX0KCQkJCQkKCQkJCQlyZXR1cm4gcGFyZW50OjpvZmZzZXRHZXQoJGZpZWxkLT5HZXRJZCgpKTsJCgkJCQl9CgkJfQoJCQoJCXJldHVybiBudWxsOwogICAgfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ2xhc3MgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldFBhcmVudEl0ZW0oKSB7CgkKCQlpZihpc3NldCgkdGhpcy0+X3BhcmVudF9pdGVtKSkKCQkJcmV0dXJuICR0aGlzLT5fcGFyZW50X2l0ZW07CgkJCgkJcmV0dXJuIEZBTFNFOwoJfQoKCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXRQYXJlbnRJdGVtKCYkb2JqKSB7CgkKCQkkdGhpcy0+X3BhcmVudF9pdGVtID0gJG9iajsKCX0JCQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEFielddefBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCi8qKg0KICogTElTRSBGaWVsZGRlZiBCYXNlDQogKg0KICogQHBhY2thZ2UgTElTRQ0KICogQGF1dGhvciBUYXBpbyBMDQoNCiAqIEBzaW5jZSAxLjMNCiAqLw0KYWJzdHJhY3QgY2xhc3MgTElTRUZpZWxkZGVmQmFzZSBpbXBsZW1lbnRzIEFycmF5QWNjZXNzDQp7DQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgQ29uc3RhbnRzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQ0KCWNvbnN0IFRZUEVfU1RSSU5HIAkJCT0gInN0cmluZyI7DQoJY29uc3QgVFlQRV9BUlJBWSAJCQkgID0gImFycmF5IjsNCgljb25zdCBUWVBFX09CSkVDVCAJCQk9ICJvYmplY3QiOw0KDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgVmFyaWFibGVzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCg0KCXByaXZhdGUgJGlkOw0KCXByaXZhdGUgJG5hbWU7DQoJcHJpdmF0ZSAkYWxpYXM7DQoJcHJpdmF0ZSAkZGVzY3JpcHRpb247DQoJcHJpdmF0ZSAkdHlwZTsNCglwcml2YXRlICRmcmllbmRseXR5cGU7DQoJcHJpdmF0ZSAkdmFsdWU7DQoJcHJpdmF0ZSAkb3JpZ2luYXRvcjsNCglwcml2YXRlICRhY3RpdmU7DQoJcHJpdmF0ZSAkZGlzYWJsZWQ7DQoJcHJpdmF0ZSAkcGF0aDsNCglwcml2YXRlICRwb3NpdGlvbjsNCglwcml2YXRlICRyZXF1aXJlZDsNCglwcml2YXRlICRvcHRpb25zOw0KCXByaXZhdGUgJGNhbGxlcjsNCglwcml2YXRlICRpdGVtX2lkOyAvLyBkZXByZWNhdGVkDQogIHByaXZhdGUgJHBhcmVudF9hcnJheTsNCglwcml2YXRlICR0ZW1wbGF0ZTsNCiAgcHJpdmF0ZSAkdmlldzsNCgkNCglwcm90ZWN0ZWQgJGV2ZW50X2hhbmRsZXI7DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTWFnaWMgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbywgJGNhbGxlcl9vYmplY3QgPSBudWxsKSB7DQoJDQoJCSR0aGlzLT5pZCA9IC0xOw0KCQkkdGhpcy0+bmFtZSA9ICcnOw0KCQkkdGhpcy0+YWxpYXMgPSAnJzsNCgkJJHRoaXMtPmRlc2NyaXB0aW9uID0gJyc7DQoJCSR0aGlzLT50eXBlID0gJGRiX2luZm8tPnR5cGU7DQoJCSR0aGlzLT5vcmlnaW5hdG9yID0gJGRiX2luZm8tPm9yaWdpbmF0b3I7DQoJCSR0aGlzLT5hY3RpdmUgPSAkZGJfaW5mby0+YWN0aXZlOw0KCQkkdGhpcy0+ZGlzYWJsZWQgPSAkZGJfaW5mby0+ZGlzYWJsZWQ7DQoJCSR0aGlzLT5wYXRoID0gJGRiX2luZm8tPnBhdGg7CQkNCgkJJHRoaXMtPmZyaWVuZGx5dHlwZSA9ICRkYl9pbmZvLT50eXBlOw0KCQkkdGhpcy0+dmFsdWUgPSBuZXcgTElTRUZpZWxkZGVmVmFsdWU7DQoJCSR0aGlzLT5wb3NpdGlvbiA9IC0xOw0KCQkkdGhpcy0+cmVxdWlyZWQgPSAwOw0KCQkkdGhpcy0+b3B0aW9ucyA9IGFycmF5KCk7DQoJCSR0aGlzLT5jYWxsZXIgPSBOVUxMOw0KICAgICR0aGlzLT5pdGVtX2lkID0gLTE7DQoJCSR0aGlzLT50ZW1wbGF0ZSA9ICR0aGlzLT5fZ2V0X2RlZmF1bHRfdGVtcGxhdGUoKTsNCgkJDQoJCWlmKCRjYWxsZXJfb2JqZWN0IGluc3RhbmNlb2YgQ01TTW9kdWxlKSANCiAgICB7DQoJCQkkdGhpcy0+Y2FsbGVyID0gJGNhbGxlcl9vYmplY3QtPkdldE5hbWUoKTsNCgkJfQ0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkNCgl7DQoJCXJldHVybiAkdGhpcy0+X292ZXJ3cml0ZV9jb25zdGFudHMoJGtleSk7CQ0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gX190b1N0cmluZygpDQoJew0KCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+dmFsdWU7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBfX2NhbGwoJG5hbWUsICRhcmdzKQ0KCXsNCgkJcmV0dXJuIEZBTFNFOw0KCX0NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBBcnJheSBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoNCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgkb2Zmc2V0KSANCiAgewkJCQ0KICAgIHJldHVybiAkdGhpcy0+X292ZXJ3cml0ZV9jb25zdGFudHMoJG9mZnNldCk7DQogIH0NCg0KICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRvZmZzZXQsICR2YWx1ZSkge30NCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygkb2Zmc2V0KSB7fQ0KICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJG9mZnNldCkge30NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBQcml2YXRlIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkNCg0KICAvKioNCiAgKiBsaW1pdHMgdGhlIHByb3BlcnR5IGFjY2VzcyB0bzoNCiAgKiBuYW1lLCB2YWx1ZSwgdHlwZSwgYWxpYXMsIHRlbXBsYXRlIGFuZCB2aWV3DQogICogbW9zdGx5IHdoZW4gY2FsbGVkIGZyb20gYSB0ZW1wbGF0ZSANCiAgKiANCiAgKiBAcGFyYW0gbWl4ZWQgJGtleQ0KICAqLw0KCXByaXZhdGUgZnVuY3Rpb24gX292ZXJ3cml0ZV9jb25zdGFudHMoJGtleSkNCgl7DQoJCXN3aXRjaCgka2V5KSB7DQoJCQ0KCQkJY2FzZSAnbmFtZSc6DQoJCQkJcmV0dXJuICR0aGlzLT5HZXROYW1lKCk7DQoJCQkJDQoJCQljYXNlICd2YWx1ZSc6DQoJCQkJcmV0dXJuICR0aGlzLT5HZXRWYWx1ZShzZWxmOjpUWVBFX1NUUklORyk7DQoJCQkJCQkJCQ0KCQkJY2FzZSAndHlwZSc6DQoJCQkJcmV0dXJuICR0aGlzLT5HZXRUeXBlKCk7DQoJCQkJDQoJCQljYXNlICdhbGlhcyc6DQoJCQkJcmV0dXJuICR0aGlzLT5HZXRBbGlhcygpOw0KICAgICAgICANCiAgICAgICBjYXNlICd0ZW1wbGF0ZSc6DQogICAgICAgIHJldHVybiAkdGhpcy0+R2V0VGVtcGxhdGUoKTsNCiAgICAgICAgDQogICAgICAgIGNhc2UgJ3ZpZXcnOg0KICAgICAgICAgIHJldHVybiAkdGhpcy0+RnJvbnRFbmRSZW5kZXIoKTsJDQoNCgkJCWRlZmF1bHQ6DQoJCQkJcmV0dXJuIG51bGw7DQoJCX0JDQoJfQ0KICANCiAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0X2RlZmF1bHRfdGVtcGxhdGUoKQ0KICB7DQogICAgJGZuID0gJHRoaXMtPkdldFBhdGgoKSAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAnb3V0cHV0LicgLiAkdGhpcy0+R2V0VHlwZSgpIC4gJy50cGwnOw0KICAgICRyZXQgPSAneyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0nOw0KICAgIA0KICAgIGlmKGlzX3JlYWRhYmxlKCRmbikpDQogICAgew0KICAgICAgJHJldCA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KICAgIH0NCiAgICANCiAgICByZXR1cm4gJHJldDsNCiAgfQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIGdldC9zZXQgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRJZCgpIHsNCgkNCgkJcmV0dXJuICR0aGlzLT5pZDsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0SWQoJHZhbHVlKSB7DQoJDQoJCSR0aGlzLT5pZCA9ICR2YWx1ZTsNCgl9CQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXROYW1lKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPm5hbWU7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldE5hbWUoJHZhbHVlKSB7DQoJDQoJCSR0aGlzLT5uYW1lID0gJHZhbHVlOw0KCX0NCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRBbGlhcygpIHsNCgkNCgkJcmV0dXJuICR0aGlzLT5hbGlhczsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0QWxpYXMoJHZhbHVlKSB7DQoJDQoJCSR0aGlzLT5hbGlhcyA9ICR2YWx1ZTsNCgl9CQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXREZXNjKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmRlc2NyaXB0aW9uOw0KCX0NCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBTZXREZXNjKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+ZGVzY3JpcHRpb24gPSAkdmFsdWU7DQoJfQkJDQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldFR5cGUoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+dHlwZTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldEZyaWVuZGx5VHlwZSgpIHsNCgkNCgkJcmV0dXJuICR0aGlzLT5mcmllbmRseXR5cGU7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldEZyaWVuZGx5VHlwZSgkdmFsdWUpIHsNCgkNCgkJJHRoaXMtPmZyaWVuZGx5dHlwZSA9ICR2YWx1ZTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gSGFzVmFsdWUoKQ0KCXsNCgkJaWYoJHRoaXMtPkdldFZhbHVlKHNlbGY6OlRZUEVfU1RSSU5HKSAhPT0gJycpDQoJCQlyZXR1cm4gdHJ1ZTsNCgkJDQoJCXJldHVybiBmYWxzZTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldFZhbHVlKCR0eXBlID0gc2VsZjo6VFlQRV9PQkpFQ1QpIA0KICB7DQoJCSR0eXBlID0gc3RydG9sb3dlcigkdHlwZSk7DQoJDQoJCXN3aXRjaCgkdHlwZSkgDQogICAgew0KCQkJY2FzZSBzZWxmOjpUWVBFX1NUUklORzoNCgkJCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+dmFsdWU7DQoJCQkNCgkJCWNhc2Ugc2VsZjo6VFlQRV9BUlJBWToNCgkJCQlyZXR1cm4gKGFycmF5KSR0aGlzLT52YWx1ZTsNCgkJCQ0KCQkJZGVmYXVsdDoNCgkJCQlyZXR1cm4gJHRoaXMtPnZhbHVlOw0KCQl9DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFZhbHVlKCR2YWx1ZSA9IGFycmF5KCkpIHsNCgkJCQkNCgkJJHRoaXMtPnZhbHVlID0gbmV3IExJU0VGaWVsZGRlZlZhbHVlKCR2YWx1ZSk7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRPcmlnaW5hdG9yKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPm9yaWdpbmF0b3I7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIElzQWN0aXZlKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmFjdGl2ZSA/IHRydWUgOiBmYWxzZTsNCgl9CQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc0Rpc2FibGVkKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlOw0KCX0JCQ0KCQ0KCS8vIGRlcHJlY2F0ZWQNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0QWN0aXZlKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPmFjdGl2ZTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UG9zaXRpb24oKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+cG9zaXRpb247DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFBvc2l0aW9uKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+cG9zaXRpb24gPSAkdmFsdWU7DQoJfQkNCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRQYXRoKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPnBhdGg7DQoJfQ0KCQ0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRVUkxQYXRoKCkgew0KCQ0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkdXJsID0gc3Vic3RyKCR0aGlzLT5HZXRQYXRoKCksIHN0cmxlbigkY29uZmlnWydyb290X3BhdGgnXSkpOw0KCQkkdXJsID0gc3RyX3JlcGxhY2UoRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkdXJsKTsNCgkJJHVybCA9ICRjb25maWdbJ3Jvb3RfdXJsJ10gLiAkdXJsOw0KCQkNCgkJcmV0dXJuICR1cmw7DQoJfQkNCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBJc1JlcXVpcmVkKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPnJlcXVpcmVkID8gdHJ1ZSA6IGZhbHNlOw0KCX0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UmVxdWlyZWQoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+cmVxdWlyZWQ7DQoJfQ0KDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldFJlcXVpcmVkKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+cmVxdWlyZWQgPSAkdmFsdWU7DQoJfQkNCg0KCXB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRJdGVtSWQoKSB7DQoJDQoJCXJldHVybiAkdGhpcy0+R2V0UGFyZW50SXRlbSgpLT5pdGVtX2lkOw0KCX0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0SXRlbUFsaWFzKCkgew0KCQ0KCQlyZXR1cm4gJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+YWxpYXM7DQoJfQkNCg0KCS8vIGRlcHJlY2F0ZWQNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0SXRlbUlkKCR2YWx1ZSkgew0KCQ0KCQkkdGhpcy0+aXRlbV9pZCA9ICR2YWx1ZTsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldFBhcmVudEFycmF5KCkgew0KCQ0KCQlpZihpc3NldCgkdGhpcy0+cGFyZW50X2FycmF5KSkNCgkJCXJldHVybiAkdGhpcy0+cGFyZW50X2FycmF5Ow0KCQkJDQoJCXJldHVybiBGQUxTRTsNCgl9DQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0UGFyZW50QXJyYXkoTElTRUZpZWxkZGVmQXJyYXkgJiRvYmopIHsNCgkNCgkJJHRoaXMtPnBhcmVudF9hcnJheSA9ICRvYmo7DQoJfQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0UGFyZW50SXRlbSgpIHsNCgkNCgkJaWYoJHRoaXMtPkdldFBhcmVudEFycmF5KCkpDQoJCQlpZigkdGhpcy0+R2V0UGFyZW50QXJyYXkoKS0+R2V0UGFyZW50SXRlbSgpKQ0KCQkJCXJldHVybiAkdGhpcy0+R2V0UGFyZW50QXJyYXkoKS0+R2V0UGFyZW50SXRlbSgpOw0KCQkJDQoJCXJldHVybiBGQUxTRTsNCgl9DQogIA0KICBwdWJsaWMgZmluYWwgZnVuY3Rpb24gU2V0VGVtcGxhdGUoJGNvbnRlbnQpDQogIHsNCiAgICAkdGhpcy0+dGVtcGxhdGUgPSAkY29udGVudDsNCiAgfQ0KICANCiAgcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldFRlbXBsYXRlKCkNCiAgew0KICAgIHJldHVybiAkdGhpcy0+dGVtcGxhdGU7DQogIH0NCg0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIE9wdGlvbiBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJDQoNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0T3B0aW9uVmFsdWVzKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+b3B0aW9uczsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIEdldE9wdGlvblZhbHVlKCRrZXksICRkZWZhdWx0ID0gJycpDQoJew0KCQlyZXR1cm4gaXNzZXQoJHRoaXMtPm9wdGlvbnNbJGtleV0pID8gJHRoaXMtPm9wdGlvbnNbJGtleV0gOiAkZGVmYXVsdDsNCgl9DQoJDQoJcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNldE9wdGlvblZhbHVlKCRrZXksICR2YWx1ZSkNCgl7DQoJCSR0aGlzLT5vcHRpb25zWyRrZXldID0gJHZhbHVlOw0KCX0JDQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBPdmVyd3JpdGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoNCglzdGF0aWMgcHVibGljIGZ1bmN0aW9uIEdldE1vZHVsZURlcHMoKQ0KCXsNCgkJcmV0dXJuIG51bGw7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCgl7DQoJCSRyZXQgPSBOVUxMOw0KICAgIA0KICAgICRmbiA9ICR0aGlzLT5HZXRQYXRoKCkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2hlYWRlci4nIC4gJHRoaXMtPkdldFR5cGUoKSAuICcudHBsJzsNCiAgICANCiAgICBpZihpc19yZWFkYWJsZSgkZm4pKQ0KICAgIHsNCiAgICAgICRyZXQgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCiAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCiAgICAgICRzbWFydHktPmFzc2lnbignZmllbGRkZWZkaXInLCAkdGhpcy0+R2V0VVJMUGF0aCgpICk7DQogICAgICAkcmV0ID0gJHNtYXJ0eS0+ZmV0Y2goJ2V2YWw6JyAuICRyZXQpOw0KICAgIH0NCiAgICANCiAgICByZXR1cm4gJHJldDsNCgl9CQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBJc1VuaXF1ZSgpDQoJew0KCQlyZXR1cm4gRkFMU0U7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkdldFZhbHVlKHNlbGY6OlRZUEVfU1RSSU5HKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFJlbmRlckZvckVkaXQoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQkkZm4gPSAkdGhpcy0+R2V0UGF0aCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdhZG1pbi4nIC4gJHRoaXMtPkdldFR5cGUoKSAuICcudHBsJzsgDQogICAgDQogICAgaWYoIGlzX3JlYWRhYmxlKCRmbikgKQ0KICAgIHsgICAgDQogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ2FjdGlvbmlkJywgJGlkKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigncmV0dXJuaWQnLCAkcmV0dXJuaWQpOyAgICANCiAgICAgIHJldHVybiAkc21hcnR5LT5mZXRjaCgnbGlzZXRlbXBsYXRlOmZpZWxkZGVmOycgLiAkZm4pOw0KICAgIH0NCiAgICANCiAgICByZXR1cm4gJyc7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJJbnB1dCgkaWQsICRyZXR1cm5pZCkNCgl7ICAJCQ0KCQkkZm4gPSAkdGhpcy0+R2V0UGF0aCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdpbnB1dC4nIC4gJHRoaXMtPkdldFR5cGUoKSAuICcudHBsJzsJDQogICAgaWYoIGlzX3JlYWRhYmxlKCRmbikgKQ0KICAgIHsgICAgDQogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ2FjdGlvbmlkJywgJGlkKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigncmV0dXJuaWQnLCAkcmV0dXJuaWQpOyAgICANCiAgICAgIHJldHVybiAkc21hcnR5LT5mZXRjaCgnbGlzZXRlbXBsYXRlOmZpZWxkZGVmOycgLiAkZm4pOw0KICAgIH0NCiAgICANCiAgICByZXR1cm4gJyc7DQoJfQkNCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBGcm9udEVuZFJlbmRlcigpDQogIHsNCiAgICBpZiggZW1wdHkoJHRoaXMtPnZpZXcpICkNCiAgICB7DQogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ25hbWUnLCAkdGhpcy0+bmFtZSk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ3ZhbHVlJywgJHRoaXMtPnZhbHVlKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigndHlwZScsICR0aGlzLT50eXBlKTsNCiAgICAgICRzbWFydHktPmFzc2lnbignYWxpYXMnLCAkdGhpcy0+YWxpYXMpOw0KICAgICAgJHRoaXMtPnZpZXcgPSAkc21hcnR5LT5mZXRjaCggJ3N0cmluZzonIC4gJHRoaXMtPkdldFRlbXBsYXRlKCkgKTsNCiAgICB9DQoNCiAgICByZXR1cm4gJHRoaXMtPnZpZXc7DQogIH0NCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpIA0KCXsNCgkJaWYoJHRoaXMtPkdldFZhbHVlKHNlbGY6OlRZUEVfU1RSSU5HKSA9PSAnJyAmJiAkdGhpcy0+SXNSZXF1aXJlZCgpKSB7DQoJDQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygncmVxdWlyZWRfZmllbGRfZW1wdHknKSAuICcgKCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJyknOw0KCQl9DQoJfQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIEV2ZW50IGhhbmRsZXINCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KCQ0KCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCgkgIE5PVElDRTogSGlnaGx5IGV4cGVyaW1lbnRhbA0KCSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCgkNCgkvLyBTaG91bGQgaSBtYWtlIHRoaXMgZmluYWwgb3Igbm90LCBsZXRzIGxlYXZlIGl0IGxpa2UgdGhpcyBmb3Igbm93Lg0KCXB1YmxpYyBmdW5jdGlvbiBFdmVudEhhbmRsZXIoKQ0KCXsNCgkJLy8gQ2hlY2sgaWYgZmllbGQgaGFzIG93biBldmVudCBoYW5kbGVyDQoJCWlmKCFpc3NldCgkdGhpcy0+ZXZlbnRfaGFuZGxlcikpIHsNCgkJDQoJCQkkZm4gPSAkdGhpcy0+R2V0UGF0aCgpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdsaXNlZWguJyAuICR0aGlzLT5HZXRUeXBlKCkgLiAnLnBocCc7DQoJCQlpZihpc19yZWFkYWJsZSgkZm4pKSB7DQoJCQkNCgkJCQlyZXF1aXJlX29uY2UoJGZuKTsNCgkJCQkNCgkJCQkkY2xhc3MgPSAnbGlzZWVoXycuJHRoaXMtPkdldFR5cGUoKTsNCgkJCQlpZihjbGFzc19leGlzdHMoJGNsYXNzKSkNCgkJCQkJJHRoaXMtPmV2ZW50X2hhbmRsZXIgPSBuZXcgJGNsYXNzKCR0aGlzKTsNCgkJCX0NCgkJfQ0KCQkNCgkJLy8gRW5zdXJlIHRoYXQgd2UgaGF2ZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXINCgkJaWYoIWlzc2V0KCR0aGlzLT5ldmVudF9oYW5kbGVyKSkNCgkJCSR0aGlzLT5ldmVudF9oYW5kbGVyID0gbmV3IExJU0VFdmVudEhhbmRsZXJCYXNlKCR0aGlzKTsNCgkJDQoJCXJldHVybiAkdGhpcy0+ZXZlbnRfaGFuZGxlcjsNCgl9DQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNb2R1bGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gR2V0TW9kdWxlSW5zdGFuY2UoJGNhbGxlciA9IGZhbHNlKQ0KCXsJDQoJCWlmKCRjYWxsZXIgJiYgIWlzX251bGwoJHRoaXMtPmNhbGxlcikpDQoJCQlyZXR1cm4gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJHRoaXMtPmNhbGxlcik7DQoNCgkJcmV0dXJuIGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCR0aGlzLT5vcmlnaW5hdG9yKTsNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTGFuZyBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkNCgkNCglwdWJsaWMgZmluYWwgZnVuY3Rpb24gTW9kTGFuZygpDQoJew0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7DQoJCWlmKCFpc19vYmplY3QoJG1vZCkpIA0KCQkJdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJ0NvdWxkIG5vdCByZXRyaXZlIG1vZHVsZSBpbnN0YW5jZSBmcm9tIG9yaWdpbmF0b3IhJyk7IC8vIDwtIFNlbmQgb3duIG1pc3NpbmcgbGFuZyBzdHJpbmcgaW5zdGVhZCBvZiBmYWlsdXJlPw0KCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsNCgkJcmV0dXJuIGNhbGxfdXNlcl9mdW5jX2FycmF5KGFycmF5KCRtb2QsICdsYW5nJyksICRhcmdzKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KDQovKioNCiAqIExJU0UgRmllbGRkZWYgdmFsdWUNCiAqDQogKiBAcGFja2FnZSBMSVNFDQogKiBAYXV0aG9yIFRhcGlvIEwNCg0KICogQHNpbmNlIDEuMy4xDQogKi8NCmNsYXNzIExJU0VGaWVsZGRlZlZhbHVlIGV4dGVuZHMgQXJyYXlPYmplY3QNCnsgDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTWFnaWMgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGFycmF5ID0gYXJyYXkoKSkgDQoJew0KICAgICAgICBmb3JlYWNoKChhcnJheSkkYXJyYXkgYXMgJGtleSA9PiAkdmFsdWUpIHsNCgkJDQogICAgICAgICAgICAkdGhpcy0+b2Zmc2V0U2V0KCRrZXksICR2YWx1ZSk7DQogICAgICAgIH0NCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKQ0KCXsNCgkJcmV0dXJuIChzdHJpbmcpaW1wbG9kZShMSVNFX1ZBTFVFX1NFUEFSQVRPUiwgKGFycmF5KSR0aGlzKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEFielddefOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY2xhc3MgTElTRUZpZWxkZGVmT3BlcmF0aW9ucw0Kew0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIENvbnN0YW50cw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCgljb25zdCBGSUVMRERFRl9QUkVGSVggPSAnbGlzZWZkJzsNCg0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIEF0dHJpYnV0ZXMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQ0KCQ0KCXB1YmxpYyBzdGF0aWMgJGlkZW50aWZpZXJzID0gYXJyYXkoDQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmllbGRkZWZfaWQnICAgPT4gJ2ZpZWxkZGVmX2lkJywgDQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxpYXMnICAgICAgICAgPT4gJ2FsaWFzJw0KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KCXByaXZhdGUgc3RhdGljICRfZmllbGRkZWZzOw0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIE1hZ2ljIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIA0KDQoJcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgU2Nhbm5pbmcgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gDQoNCglzdGF0aWMgcHVibGljIGZpbmFsIGZ1bmN0aW9uIFNjYW5Nb2R1bGVzKCkNCgl7DQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJDQoJCSRmaWVsZGRlZnMgPSBzZWxmOjpMb2FkRGF0YWJhc2VJbmZvKHRydWUsIHRydWUpOw0KCQkkaW5zdGFsbGVkX21vZHVsZXMgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+R2V0SW5zdGFsbGVkTW9kdWxlcygpOw0KCQkNCgkJLy8gTWFrZSBzdXJlIExJU0UgaXMgc2Nhbm5lZCBmaXJzdA0KCQlhcnJheV91bnNoaWZ0KCRpbnN0YWxsZWRfbW9kdWxlcywgTElTRSk7DQoJCSRpbnN0YWxsZWRfbW9kdWxlcyA9IGFycmF5X3VuaXF1ZSgkaW5zdGFsbGVkX21vZHVsZXMpOw0KCQkJDQoJCS8vIFNjYW4gbW9kdWxlcyBmb3IgZmllbGRkZWZzDQoJCSRzY2FubmVkX2ZpZWxkZGVmcyA9IGFycmF5KCk7CQkNCgkJZm9yZWFjaCgkaW5zdGFsbGVkX21vZHVsZXMgYXMgJG1vZF9uYW1lKSB7DQoNCgkJCSRyZXMgPSBhcnJheSgpOw0KCQkJJG1vZF9kaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsICRtb2RfbmFtZSk7CQkNCgkJCXNlbGY6OlNjYW5EaXJGb3JGaWVsZGRlZnMoJG1vZF9kaXIsICRyZXMpOw0KCQkJJHNjYW5uZWRfZmllbGRkZWZzWyRtb2RfbmFtZV0gPSAkcmVzOw0KCQl9CQkNCgkJDQoJCS8vIFJlZ2lzdGVyIGZpZWxkZGVmcw0KCQlmb3JlYWNoKCRzY2FubmVkX2ZpZWxkZGVmcyBhcyAkbW9kX25hbWU9PiRtb2RfZGVmcykgew0KCQkNCgkJCWZvcmVhY2goJG1vZF9kZWZzIGFzICR0eXBlPT4kcGF0aCkgew0KDQoJCQkJJGRpc2FibGVkID0gZmFsc2U7DQoJCQkNCgkJCQkvLyBDaGVjayBpZiBGaWVsZGRlZiBpcyBtb3ZlZCwgdW5yZWdpc3RlciBpbiB0aGF0IGNhc2UuDQoJCQkJaWYoaXNzZXQoJGZpZWxkZGVmc1skdHlwZV0pICYmICRwYXRoICE9ICRmaWVsZGRlZnNbJHR5cGVdLT5wYXRoKSB7DQoJCQkJDQoJCQkJCXNlbGY6OlVucmVnaXN0ZXIoJHR5cGUpOw0KCQkJCQl1bnNldCgkZmllbGRkZWZzWyR0eXBlXSk7CQkJCQkNCgkJCQl9CQkNCgkJCQ0KCQkJCS8vIENoZWNrIGlmIGZpZWxkZGVmIHNob3VsZCBiZSB0b3RhbGx5IGRpc2FibGVkLCBza2lwIHdob2xlIGNoZWNrIGlmIFBIUCB2ZXJzaW9uIGRvZXNuJ3QgbWVldCByZXF1aXJlbWVudHMuDQoJCQkJaWYgKHZlcnNpb25fY29tcGFyZShQSFBfVkVSU0lPTiwgJzUuMy4wJykgPj0gMCkgew0KCQkJCQkNCgkJCQkJcmVxdWlyZV9vbmNlKCRwYXRoIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHNlbGY6OkZpbGVuYW1lRnJvbVR5cGUoJHR5cGUpKTsNCgkJCQkJJGNsYXNzID0gc2VsZjo6Q2xhc3NuYW1lRnJvbVR5cGUoJHR5cGUpOw0KCQkJCQkkbW9kdWxlX2RlcHMgPSBAZXZhbCgicmV0dXJuICRjbGFzczo6R2V0TW9kdWxlRGVwcygpOyIpOyAvLyA8LSBFdmFsIHJlcXVpcmVkIGZvciBub3QgdG8gY3Jhc2ggc3lzdGVtIHdpdGggUEhQIDUuMi54DQoJCQkJCQ0KCQkJCQlpZihpc19hcnJheSgkbW9kdWxlX2RlcHMpKSB7DQoJCQkJCQ0KCQkJCQkJZm9yZWFjaCgoYXJyYXkpJG1vZHVsZV9kZXBzIGFzICRtb2R1bGU9PiR2ZXJzaW9uKSB7DQoJCQkJCQkNCgkJCQkJCQkkb2JqID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJG1vZHVsZSwgJHZlcnNpb24pOyAvLyA8LSBXaHkgYW0gSSBnZXR0aW5nIG5vdCBpbnN0YWxsZWQgbW9kdWxlcyBhdCB0aGlzIHBvaW50PyBDb3JlIGJ1Zz8NCgkJCQkJCQlpZighaXNfb2JqZWN0KCRvYmopIHx8ICFpbl9hcnJheSgkbW9kdWxlLCAkaW5zdGFsbGVkX21vZHVsZXMpKSB7DQoJCQkJCQkJCQ0KCQkJCQkJCQlzZWxmOjpTZXREaXNhYmxlZFN0YXR1cygkdHlwZSwgdHJ1ZSk7DQoJCQkJCQkJCSRkaXNhYmxlZCA9IHRydWU7DQoJCQkJCQkJCWJyZWFrOyAvLyA8LSBJZiBvbmUgZGVwZW5kZW5jeSBmYWlscywgYWxsIG9mIGVtIGZhaWwuDQoJCQkJCQkJCQ0KCQkJCQkJCX0gZWxzZWlmKGlzc2V0KCRmaWVsZGRlZnNbJHR5cGVdKSAmJiAkZmllbGRkZWZzWyR0eXBlXS0+ZGlzYWJsZWQpIHsNCgkJCQkJCQkNCgkJCQkJCQkJc2VsZjo6U2V0RGlzYWJsZWRTdGF0dXMoJHR5cGUsIGZhbHNlKTsNCgkJCQkJCQl9DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJDQoJCQkJLy8gRmllbGRkZWYgbm90IGluIGRhdGFiYXNlLCByZWdpc3RlciBpdC4NCgkJCQlpZighaXNzZXQoJGZpZWxkZGVmc1skdHlwZV0pKSB7DQoJCQkJCQkJCQkJDQoJCQkJCXNlbGY6OlJlZ2lzdGVyKCRtb2RfbmFtZSwgJHR5cGUsICRwYXRoLCAkZGlzYWJsZWQpOw0KCQkJCX0NCgkJCQllbHNlIHsNCgkJCQkJDQoJCQkJCXVuc2V0KCRmaWVsZGRlZnNbJHR5cGVdKTsNCgkJCQl9CQkJCQ0KCQkJfQ0KCQl9DQoJCQkNCgkJLy8gVW5yZWdpc3RlciBmaWVsZGRlZnMNCgkJZm9yZWFjaCgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsNCgkJDQoJCQlpZighaXNfcmVhZGFibGUoJG9uZWRlZi0+cGF0aCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzZWxmOjpGaWxlbmFtZUZyb21UeXBlKCRvbmVkZWYtPnR5cGUpKSB8fCANCgkJCQkhaW5fYXJyYXkoJG9uZWRlZi0+b3JpZ2luYXRvciwgJGluc3RhbGxlZF9tb2R1bGVzKSkgew0KCQkJCQ0KCQkJCXNlbGY6OlVucmVnaXN0ZXIoJG9uZWRlZi0+dHlwZSk7DQoJCQl9DQoJCX0JCQ0KCX0NCgkNCglzdGF0aWMgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBTY2FuRGlyRm9yRmllbGRkZWZzKCRzcmMsICYkcmVzKQ0KCXsNCgkJJGludmFsaWQgPSAgYXJyYXkoJy4nLCAnLi4nKTsNCgkJJGRpciA9IG9wZW5kaXIoJHNyYyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPw0KDQoJCXdoaWxlKGZhbHNlICE9PSAoJGZpbGUgPSByZWFkZGlyKCRkaXIpKSkgew0KCQkNCgkJCWlmIChpbl9hcnJheSgkZmlsZSwgJGludmFsaWQpKSBjb250aW51ZTsgLy8gPC0gU2tpcCBzdHVmZiB3ZSBuZXZlciBhbGxvdyB0byBjb3B5DQoNCgkJCWlmIChpc19kaXIoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSkpIHsgDQoJDQoJCQkJc2VsZjo6U2NhbkRpckZvckZpZWxkZGVmcygkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkcmVzKTsgDQoJCQl9IA0KCQkJZWxzZSB7IA0KCQkJCQ0KCQkJCWlmKHN0YXJ0c3dpdGgoJGZpbGUsIHNlbGY6OkZJRUxEREVGX1BSRUZJWCAuICcuJykgJiYgZW5kc3dpdGgoJGZpbGUsICcucGhwJykpIHsNCgkJCQkNCgkJCQkJJGZuID0gJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZTsNCgkJCQkJaWYoaXNfcmVhZGFibGUoJGZuKSkgew0KCQkJCQ0KCQkJCQkJJGZpbGUgPSBleHBsb2RlKCcuJywgJGZpbGUpOw0KCQkJCQkJJHJlc1skZmlsZVsxXV0gPSAkc3JjOw0KCQkJCQl9CQkJCQkNCgkJCQl9DQoJCQl9IA0KCQl9IA0KCQkNCgkJY2xvc2VkaXIoJGRpcik7IAkJDQoJfQ0KCQ0KCXN0YXRpYyBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIEZpbGVuYW1lRnJvbVR5cGUoJHR5cGUpDQoJew0KCQlyZXR1cm4gc2VsZjo6RklFTERERUZfUFJFRklYIC4gJy4nIC4gJHR5cGUgLiAnLnBocCc7DQoJfQ0KCQ0KCXN0YXRpYyBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENsYXNzbmFtZUZyb21UeXBlKCR0eXBlKQ0KCXsNCgkJcmV0dXJuIHNlbGY6OkZJRUxEREVGX1BSRUZJWCAuICdfJyAuICR0eXBlOw0KCX0JDQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgTG9hZCBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCQ0KCQ0KCXN0YXRpYyBmaW5hbCBwcml2YXRlIGZ1bmN0aW9uIExvYWREYXRhYmFzZUluZm8oJGZvcmNlX2RiID0gZmFsc2UsICRsb2FkX2FsbCA9IGZhbHNlKQ0KCXsNCgkJaWYoaXNfYXJyYXkoc2VsZjo6JF9maWVsZGRlZnMpICYmICEkZm9yY2VfZGIpIA0KCQkJcmV0dXJuIHNlbGY6OiRfZmllbGRkZWZzOw0KCQkNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJc2VsZjo6JF9maWVsZGRlZnMgPSBhcnJheSgpOw0KCQ0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9saXNlX2ZpZWxkZGVmcyI7CQ0KCQlpZighJGxvYWRfYWxsKQ0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgYWN0aXZlID0gMSBBTkQgZGlzYWJsZWQgPSAwIjsNCgkJJHF1ZXJ5IC49ICIgT1JERVIgQlkgdHlwZSI7DQoJCQ0KCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoNCgkJd2hpbGUgKCRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkpIHsNCgkJDQoJCQkkb2JqID0gbmV3IHN0ZENsYXNzKCk7DQoJCQ0KCQkJJG9iai0+dHlwZSA9ICRyb3dbJ3R5cGUnXTsNCgkJCSRvYmotPm9yaWdpbmF0b3IgPSAkcm93WydvcmlnaW5hdG9yJ107DQoJCQkkb2JqLT5hY3RpdmUgPSAkcm93WydhY3RpdmUnXSA/IHRydWUgOiBmYWxzZTsNCgkJCSRvYmotPmRpc2FibGVkID0gJHJvd1snZGlzYWJsZWQnXSA/IHRydWUgOiBmYWxzZTsNCgkJCSRvYmotPnBhdGggPSAkcm93WydwYXRoJ107DQoJCQ0KCQkJc2VsZjo6JF9maWVsZGRlZnNbJHJvd1sndHlwZSddXSA9ICRvYmo7DQoJCX0NCgkNCgkJcmV0dXJuIHNlbGY6OiRfZmllbGRkZWZzOwkNCgl9DQoNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIExvYWRGaWVsZGRlZkJ5VHlwZSgkdHlwZSwgJG1vZCA9IG51bGwpDQoJew0KCQkkZmllbGRkZWZzID0gc2VsZjo6TG9hZERhdGFiYXNlSW5mbygpOw0KCQkNCgkJaWYoaXNzZXQoJGZpZWxkZGVmc1skdHlwZV0pKSB7DQoJCQ0KCQkJaWYoIWNtc191dGlsczo6bW9kdWxlX2F2YWlsYWJsZSgkZmllbGRkZWZzWyR0eXBlXS0+b3JpZ2luYXRvcikpDQoJCQkJcmV0dXJuIGZhbHNlOwkJDQoJCQ0KCQkJJGZuID0gJGZpZWxkZGVmc1skdHlwZV0tPnBhdGggLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gc2VsZjo6RmlsZW5hbWVGcm9tVHlwZSgkdHlwZSk7DQoJCQlpZihpc19yZWFkYWJsZSgkZm4pKSB7DQoJCQkNCgkJCQlyZXF1aXJlX29uY2UoJGZuKTsNCgkJCQkkY2xhc3MgPSBzZWxmOjpDbGFzc25hbWVGcm9tVHlwZSgkdHlwZSk7DQoJCQkJJG9iaiA9IG5ldyAkY2xhc3MoJGZpZWxkZGVmc1skdHlwZV0sICRtb2QpOw0KCQkJCQ0KCQkJCXJldHVybiAkb2JqOw0KCQkJfQ0KCQl9DQoJCQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBHZXRGaWVsZGRlZlR5cGVzKCkNCgl7DQoJCSRmaWVsZGRlZnMgPSBzZWxmOjpMb2FkRGF0YWJhc2VJbmZvKCk7DQoJCQ0KCQkkcmVzdWx0ID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsNCgkJDQoJCQkvL2lmKCFjbXNfdXRpbHM6Om1vZHVsZV9hdmFpbGFibGUoJG9uZWRlZi0+b3JpZ2luYXRvcikpDQoJCQkJLy9jb250aW51ZTsJCQ0KCQkNCgkJCSRvYmogPSBzZWxmOjpMb2FkRmllbGRkZWZCeVR5cGUoJG9uZWRlZi0+dHlwZSk7DQoJCQlpZihpc19vYmplY3QoJG9iaikpIHsNCgkJCQkNCgkJCQkkcmVzdWx0WyRvYmotPkdldEZyaWVuZGx5dHlwZSgpXSA9ICRvYmotPkdldFR5cGUoKTsNCgkJCX0NCgkJfQ0KCQkNCgkJa3NvcnQoJHJlc3VsdCk7DQoJCQ0KCQlyZXR1cm4gJHJlc3VsdDsNCgl9DQoJDQoJc3RhdGljIGZpbmFsIGZ1bmN0aW9uIEdldFJlZ2lzdGVyZWRGaWVsZGRlZnMoJGZvcmNlX2RiID0gZmFsc2UsICRsb2FkX2FsbCA9IGZhbHNlKQ0KCXsNCgkJJGZpZWxkZGVmcyA9IHNlbGY6OkxvYWREYXRhYmFzZUluZm8oJGZvcmNlX2RiLCAkbG9hZF9hbGwpOw0KCQkNCgkJJHJlc3VsdCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGZpZWxkZGVmcyBhcyAkb25lZGVmKSB7DQoJCQ0KCQkJLy9pZighY21zX3V0aWxzOjptb2R1bGVfYXZhaWxhYmxlKCRvbmVkZWYtPm9yaWdpbmF0b3IpKQ0KCQkJCS8vY29udGludWU7DQoJCQ0KCQkJJG9iaiA9IHNlbGY6OkxvYWRGaWVsZGRlZkJ5VHlwZSgkb25lZGVmLT50eXBlKTsNCgkJCWlmKGlzX29iamVjdCgkb2JqKSkgew0KCQkJCQ0KCQkJCSRyZXN1bHRbJG9iai0+R2V0RnJpZW5kbHl0eXBlKCldID0gJG9iajsNCgkJCX0NCgkJfQ0KCQkJDQoJCXJldHVybiAkcmVzdWx0OwkNCgl9DQoNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBNb2R1bGUgaGVscCBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJDQoJDQoJc3RhdGljIGZpbmFsIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKQ0KCXsNCgkJJGZpZWxkZGVmcyA9IHNlbGY6OkxvYWREYXRhYmFzZUluZm8oKTsNCgkJDQoJCSRzdHJpbmcgPSAnJzsNCgkJZm9yZWFjaCgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsNCgkJDQoJCQkkb2JqID0gc2VsZjo6TG9hZEZpZWxkZGVmQnlUeXBlKCRvbmVkZWYtPnR5cGUpOw0KCQkJaWYoaXNfb2JqZWN0KCRvYmopKSB7DQoJCQkJDQoJCQkJJGZpZWxkX2hlYWRlcl9odG1sID0gJG9iai0+R2V0SGVhZGVySFRNTCgpOw0KCQkJCQ0KCQkJCWlmKCFpc19udWxsKCRmaWVsZF9oZWFkZXJfaHRtbCkpDQoJCQkJCSRzdHJpbmcgLj0gJGZpZWxkX2hlYWRlcl9odG1sOw0KCQkJCQkNCgkJCQl1bnNldCgkb2JqKTsNCgkJCX0NCgkJfQ0KCQkJDQoJCXJldHVybiAkc3RyaW5nOwkNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgVG9nZ2xlIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkNCgkNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFRvZ2dsZUFjdGl2ZSgkdHlwZSkNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJDQoJCSRxdWVyeSAgPSAnU0VMRUNUIGFjdGl2ZSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc2VfZmllbGRkZWZzIFdIRVJFIHR5cGU9Pyc7DQoJCSRhY3RpdmUgPSAkZGItPkdldE9uZSgkcXVlcnksIGFycmF5KCR0eXBlKSk7DQoJCQkNCgkJJGFjdGl2ZSA9ICRhY3RpdmUgPyBmYWxzZSA6IHRydWU7DQoJDQoJCXNlbGY6OlNldEFjdGl2ZVN0YXR1cygkdHlwZSwgJGFjdGl2ZSk7DQoJCQ0KCQlyZXR1cm4gJGFjdGl2ZTsNCgkJDQoJfQ0KCQ0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gU2V0QWN0aXZlU3RhdHVzKCR0eXBlLCAkc3RhdHVzKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJDQoJCSRxdWVyeSAgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc2VfZmllbGRkZWZzIFNFVCBhY3RpdmU9PyBXSEVSRSB0eXBlPT8nOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHN0YXR1cywgJHR5cGUpKTsNCgkJDQoJCWlmICghJHJlc3VsdCkgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCgkJDQoJfQ0KDQoJLy8gTm90IHVzZWQgY3VycmVudGx5IGFueXdoZXJlDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBUb2dnbGVEaXNhYmxlZCgkdHlwZSkNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJDQoJCSRxdWVyeSAgPSAnU0VMRUNUIGRpc2FibGVkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfbGlzZV9maWVsZGRlZnMgV0hFUkUgdHlwZT0/JzsNCgkJJGFjdGl2ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJHR5cGUpKTsNCgkJCQ0KCQkkYWN0aXZlID0gJGFjdGl2ZSA/IGZhbHNlIDogdHJ1ZTsNCgkNCgkJc2VsZjo6U2V0RGlzYWJsZWRTdGF0dXMoJHR5cGUsICRhY3RpdmUpOw0KCQkNCgkJcmV0dXJuICRhY3RpdmU7DQoJCQ0KCX0NCgkNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFNldERpc2FibGVkU3RhdHVzKCR0eXBlLCAkc3RhdHVzKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJDQoJCSRxdWVyeSAgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc2VfZmllbGRkZWZzIFNFVCBkaXNhYmxlZD0/IFdIRVJFIHR5cGU9Pyc7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkc3RhdHVzLCAkdHlwZSkpOw0KCQkNCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkNCgl9CQkNCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBSZWdpc3RlciBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCQ0KDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBSZWdpc3Rlcigkb3JpZ2luYXRvciwgJHR5cGUsICRwYXRoLCAkZGlzYWJsZWQgPSAwLCAkYWN0aXZlID0gMSkNCgl7DQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7DQoJCQ0KCQkkcXVlcnkgID0gJ1NFTEVDVCBvcmlnaW5hdG9yIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfbGlzZV9maWVsZGRlZnMgV0hFUkUgdHlwZT0/JzsNCgkJJGV4aXN0cyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJHR5cGUpKTsNCgkJDQoJCWlmKCRleGlzdHMpIHJldHVybiBmYWxzZTsNCgkJCQkNCgkJJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2ZpZWxkZGVmcyAodHlwZSwgb3JpZ2luYXRvciwgcGF0aCwgYWN0aXZlLCBkaXNhYmxlZCkgVkFMVUVTICg/LD8sPyw/LD8pJzsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0eXBlLCAkb3JpZ2luYXRvciwgJHBhdGgsICRhY3RpdmUsICRkaXNhYmxlZCkpOw0KCQkNCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCS8vIE1ha2UgYnJ1dGUgZm9yY2UgdG8gd2lwZSBpdCBmcm9tIG1vZHVsZXMNCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFVucmVnaXN0ZXIoJHR5cGUpDQoJew0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KDQoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2ZpZWxkZGVmcyBXSEVSRSB0eXBlID0gPyc7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdHlwZSkpOw0KCQkNCgkJaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KCQkNCgkJcmV0dXJuIHRydWU7CQkNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgRnJhbWV3b3JrIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkNCg0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gU2F2ZShMSVNFICYkbW9kLCBMSVNFRmllbGRkZWZCYXNlICYkb2JqKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsJDQoJDQoJCS8vIGdlbmVyYXRlIGFsaWFzIGlmIG5vdCBzdXBwbGllZA0KCQlpZiAoJG9iai0+R2V0QWxpYXMoKSA9PSAnJykgDQogICAgew0KCQkJJG9iai0+U2V0QWxpYXMobGlzZV91dGlsczo6Z2VuZXJhdGVfYWxpYXMoJG9iai0+R2V0TmFtZSgpKSk7DQoJCX0JDQoJDQogICAgLy8gdXBkYXRlDQogICAgaWYgKCRvYmotPkdldElkKCkgPiAwKSANCiAgICB7DQoJCQ0KICAgICAgJHF1ZXJ5ID0gICdVUERBVEUgJyANCiAgICAgICAgICAgICAgICAuIGNtc19kYl9wcmVmaXgoKSANCiAgICAgICAgICAgICAgICAuICdtb2R1bGVfJyANCiAgICAgICAgICAgICAgICAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIA0KICAgICAgICAgICAgICAgIC4gJ19maWVsZGRlZiBTRVQgbmFtZSA9ID8sIGFsaWFzID0gPywgaGVscCA9ID8sIHR5cGUgPSA/LCByZXF1aXJlZCA9ID8sIHRlbXBsYXRlPT8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJCQ0KICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRxdWVyeSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgNCgkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXROYW1lKCksIA0KCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPkdldEFsaWFzKCksIA0KCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPkdldERlc2MoKSwgDQoJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+R2V0VHlwZSgpLCANCgkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXRSZXF1aXJlZCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXRUZW1wbGF0ZSgpLA0KCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPkdldElkKCkNCgkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KCQkJDQogICAgICBpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoNCiAgICAvLyBpbnNlcnQNCiAgICB9IA0KICAgIGVsc2UgDQogICAgew0KCQkNCgkJCSRxdWVyeSA9ICdTRUxFQ1QgbWF4KHBvc2l0aW9uKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmJzsNCiAgICAgIA0KICAgICAgJHBvc2l0aW9uID0gJGRiLT5HZXRPbmUoJHF1ZXJ5KTsNCgkJCQ0KICAgICAgaWYgKCRwb3NpdGlvbiA9PSBudWxsKSAkcG9zaXRpb24gPSAxOw0KICAgICAgDQogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZiAobmFtZSwgYWxpYXMsIGhlbHAsIHR5cGUsIHBvc2l0aW9uLCByZXF1aXJlZCwgdGVtcGxhdGUpIFZBTFVFUyAoPywgPywgPywgPywgPywgPywgPyknOw0KCQkJDQogICAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHF1ZXJ5LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KA0KCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvYmotPkdldE5hbWUoKSwgDQoJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+R2V0QWxpYXMoKSwgDQoJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9iai0+R2V0RGVzYygpLCANCgkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXRUeXBlKCksDQoJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLCANCgkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXRSZXF1aXJlZCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2JqLT5HZXRUZW1wbGF0ZSgpDQoJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCgkJCQ0KICAgICAgaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOw0KDQoJCQkkb2JqLT5TZXRJZCgkZGItPkluc2VydF9JRCgpKTsJDQogICAgfQ0KCQkNCgkJLy8gRHJvcCBhbGwgb3B0aW9ucw0KCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZl9vcHRzIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb2JqLT5HZXRJZCgpKSk7CQkNCgkJDQoJCWlmICghJHJlc3VsdCkgZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsNCgkJDQoJCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmX29wdHMgKGZpZWxkZGVmX2lkLCBuYW1lLCB2YWx1ZSkgVkFMVUVTICg/LCA/LCA/KSc7DQoJCQ0KCQkvLyBJbnNlcnQgYWxsIG9wdGlvbnMNCgkJZm9yZWFjaCgkb2JqLT5HZXRPcHRpb25WYWx1ZXMoKSBhcyAka2V5PT4kdmFsdWUpDQogICAgew0KICAgICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPkdldElkKCksICRrZXksICR2YWx1ZSkpOwkJCQ0KCQkJDQogICAgICBpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7DQoJCX0NCgl9DQoJDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBEZWxldGUoTElTRSAmJG1vZCwgJGZpZWxkZGVmX2lkKQ0KCXsNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCi8qCQkNCgkJLy8gSGFuZGxlIGV4dGVybmFsIGRhdGFiYXNlcyAodGhpcyBtaWdodCBub3QgYmVsb25nIGhlcmUsIGRvdWJsZSBjaGVjaykNCgkJJGZpZWxkZGVmID0gc2VsZjo6TG9hZCgkbW9kLCAnZmllbGRkZWZfaWQnLCAkZmllbGRkZWZfaWQpOw0KCQkkZmllbGRkZWYtPkV2ZW50SGFuZGxlcigpLT5EZWxldGUoJG1vZCk7DQoqLwkJDQoJCS8vIGdldCBkZXRhaWxzDQoJCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsNCgkJJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGZpZWxkZGVmX2lkKSk7DQoJCQkNCgkJLy8gZGVsZXRlIGZpZWxkIGRlZmluaXRpb25zDQoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZGRlZl9pZCkpOw0KCQkNCgkJLy8gZGVsZXRlIGZpZWxkIGRlZmluaXRpb25zIG9wdGlvbnMNCgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWZfb3B0cyBXSEVSRSBmaWVsZGRlZl9pZCA9ID8nOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmllbGRkZWZfaWQpKTsJDQoJCQ0KCQkvLyBkZWxldGUgZmllbGQgdmFsdWVzDQoJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRmaWVsZGRlZl9pZCkpOw0KCQkNCgkJLy8gY2xlYW4gdXAgc29ydCBvcmRlcg0KCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfZmllbGRkZWYgU0VUIHBvc2l0aW9uID0gKHBvc2l0aW9uIC0gMSkgV0hFUkUgcG9zaXRpb24gPiA/JzsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHJvd1sncG9zaXRpb24nXSkpOw0KCQkNCgl9DQoNCgkvKioNCgkgKiBMb2FkcyBmaWVsZGRlZiBvYmplY3QNCgkgKg0KCSAqIEBMSVNFICYkbW9kLCBBcnJheSAkcm93DQoJICogQExJU0UgJiRtb2QsIFN0cmluZyAka2V5LCBTdHJpbmcgJHZhbHVlDQoJICogQHJldHVybiBMSVNFRmllbGRkZWZCYXNlIE9iamVjdA0KCSAqLw0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gTG9hZCgpDQoJew0KCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsNCgkJJG1vZCA9ICRhcmdzWzBdOw0KCQ0KCQkkcm93ID0gY291bnQoJGFyZ3MpID09IDIgPyAkYXJnc1sxXSA6IGZhbHNlOw0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwkNCgkJDQoJCWlmKCEkcm93KSANCiAgICB7DQoJDQoJCQlmb3JlYWNoKHNlbGY6OiRpZGVudGlmaWVycyBhcyAkZGJfY29sdW1uID0+ICRpZGVudGlmaWVyKSB7DQoJCQkNCgkJCQlpZigkaWRlbnRpZmllciA9PSAkYXJnc1sxXSkgew0KCQkJCQ0KCQkJCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkZGVmDQoJCQkJCQkJCQkJV0hFUkUgJGRiX2NvbHVtbiA9ID8gDQoJCQkJCQkJCQkJTElNSVQgMSI7CQkJCQkJCQkJDQoJCQkJCQkJCQkJDQoJCQkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRhcmdzWzJdKSk7DQoJCQkJCQ0KCQkJCQlpZigkcm93KQ0KCQkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoNCgkJaWYoJHJvdykgDQogICAgew0KCQkNCgkJCSRvYmogPSBzZWxmOjpMb2FkRmllbGRkZWZCeVR5cGUoJHJvd1sndHlwZSddLCAkbW9kKTsNCgkJCQ0KICAgICAgaWYoaXNfb2JqZWN0KCRvYmopKSANCiAgICAgIHsNCgkJCQ0KCQkJCS8vIEZpbGwgb2JqZWN0DQoJCQkJJG9iai0+U2V0SWQoJHJvd1snZmllbGRkZWZfaWQnXSk7DQoJCQkJJG9iai0+U2V0TmFtZSgkcm93WyduYW1lJ10pOw0KCQkJCSRvYmotPlNldEFsaWFzKCRyb3dbJ2FsaWFzJ10pOw0KCQkJCSRvYmotPlNldERlc2MoJHJvd1snaGVscCddKTsNCgkJCQkkb2JqLT5TZXRQb3NpdGlvbigkcm93Wydwb3NpdGlvbiddKTsNCgkJCQkkb2JqLT5TZXRSZXF1aXJlZCgkcm93WydyZXF1aXJlZCddKTsNCiAgICAgICAgJG9iai0+U2V0VGVtcGxhdGUoJHJvd1sndGVtcGxhdGUnXSk7DQoJCQkJDQoJCQkJLy8gU2V0IG9wdGlvbnMNCgkJCQkkcXVlcnkgPSAnU0VMRUNUIG5hbWUsIHZhbHVlIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZGRlZl9vcHRzIFdIRVJFIGZpZWxkZGVmX2lkID0gPyc7DQoJCQkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPkdldElkKCkpKTsNCgkJCQkNCgkJCQl3aGlsZSgkZGJyICYmICEkZGJyLT5FT0YpIHsNCgkJCQkNCgkJCQkJJG9iai0+U2V0T3B0aW9uVmFsdWUoJGRici0+ZmllbGRzWyduYW1lJ10sICRkYnItPmZpZWxkc1sndmFsdWUnXSk7DQoJCQkJCSRkYnItPk1vdmVOZXh0KCk7DQoJCQkJfQkJDQoNCgkJCQlpZigkZGJyKSANCgkJCQkJJGRici0+Q2xvc2UoKTsNCgkJCQ0KCQkJCXJldHVybiAkb2JqOw0KCQkJfQ0KCQl9DQoJCQkNCgkJcmV0dXJuIEZBTFNFOwkNCgl9DQoJDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSMgVXRpbGl0eSBtZXRob2RzDQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCQ0KCQ0KCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gTG9hZFZhbHVlc0ZvckZpZWxkRGVmKExJU0UgJiRtb2QsIExJU0VGaWVsZGRlZkJhc2UgJiRvYmopDQoJewkJCQ0KCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KCQ0KCQkkb2JqLT52YWx1ZXMgPSBhcnJheSgpOw0KCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIERJU1RJTkNUIHZhbHVlIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfIiAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZHZhbCBXSEVSRSBmaWVsZGRlZl9pZCA9ID8gR1JPVVAgQlkgdmFsdWUgQVNDIjsNCgkJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvYmotPkdldElkKCkpKTsNCgkJDQoJCXdoaWxlKCRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkpew0KCQkNCgkJCSRvYmotPnZhbHVlc1tdID0gJHJvd1sndmFsdWUnXTsJDQoJCX0NCgkJCQ0KCQlyZXR1cm4gJG9iai0+dmFsdWVzOw0KCX0JDQoJDQoJc3RhdGljIGZpbmFsIHB1YmxpYyBmdW5jdGlvbiBUZXN0RXhpc3RhbmNlQnlUeXBlKExJU0UgJiRtb2QsICR0eXBlKQ0KCXsJCQkNCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCgkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCBmaWVsZGRlZl9pZCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfZmllbGRkZWYgV0hFUkUgdHlwZSA9ID8iOw0KCQkkZXhpc3RzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdHlwZSkpOw0KCQkNCgkJaWYoJGV4aXN0cykNCgkJCXJldHVybiAkZXhpc3RzOw0KCQkJDQoJCXJldHVybiBGQUxTRTsNCgl9CQkNCgkNCn0gLy8gZW5kIG9mIGNsYXNzDQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEHierarchyManager.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VIaWVyYXJjaHlNYW5hZ2VyIHsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgoJcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSGllcmFyY2h5IG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoJCQkJCQkJCQkJCQkJCQkJCQkvLyB8LSBVc2VsZXNzCQoJc3RhdGljIHB1YmxpYyBmaW5hbCBmdW5jdGlvbiAmRmlsbE5vZGVXaXRoQ2hpbGQoTElTRSAmJG1vZCwgJGlkLCAkcmV0dXJuaWQsICYkbm9kZSwgJiRub2RlbGlzdCwgJiRjb3VudCwgJiRwcmV2ZGVwdGgsICRvcmlnZGVwdGgsICYkcGFyYW1zKSAKCXsJCgkJLy8gR3JhcCBjdXJyZW50IGlkX2hpZXJhcmNoeQoJCSRjdXJyZW50X3BhdGggPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgnbGlzZV9pZF9oaWVyYXJjaHknKTsKCQkkY3VycmVudF9wYXRoX2FycmF5ID0gZXhwbG9kZSgnLicsICRjdXJyZW50X3BhdGgpOwoJCQoJCS8vJG5vZGUtPmRlcHRoID0gY291bnQoZXhwbG9kZSgnLicsICRub2RlLT5oaWVyYXJjaHkpKTsKCQkkbm9kZS0+cHJldmRlcHRoID0gJHByZXZkZXB0aCAtICgkb3JpZ2RlcHRoIC0gMSk7CgkJaWYgKCRub2RlLT5wcmV2ZGVwdGggPT0gMCkgJG5vZGUtPnByZXZkZXB0aCA9IDE7CQoJCSRwcmV2ZGVwdGggPSAkbm9kZS0+ZGVwdGggKyAoJG9yaWdkZXB0aCAtIDEpOwoJCQoJCSRsaW5rcGFyYW1zID0gYXJyYXkoKTsKCQkkbGlua3BhcmFtc1snY2F0ZWdvcnknXSAJCT0gJG5vZGUtPmFsaWFzOwkJCgkJJGxpbmtwYXJhbXNbJ2lkX2hpZXJhcmNoeSddIAk9ICRub2RlLT5pZF9oaWVyYXJjaHk7CgkJCgkJJHJldHVybmlkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCAkcmV0dXJuaWQpOwoJCWlmKGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pKSB7CgoJCQlpZihpc19udW1lcmljKCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pKSB7CgkJCQkkcmV0dXJuaWQgPSAkcGFyYW1zWydzdW1tYXJ5cGFnZSddOwoJCQl9CgkJCWVsc2UgewkJCQoJCQkJJGhtID0gY21zbXMoKS0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwkJCQkKCQkJCSRyZXR1cm5pZCA9ICRobS0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pLT5HZXRJZCgpOwoJCQl9CgkJfQoJCQoJCSRsaW5rcGFyYW1zID0gYXJyYXlfbWVyZ2UoJGxpbmtwYXJhbXMsICRwYXJhbXMpOwoJCQoJCSRub2RlLT51cmwgPSAkbW9kLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICcnLCAkbGlua3BhcmFtcywgJycsIHRydWUsIGZhbHNlKTsKCQkkbm9kZS0+aW5kZXggPSAkY291bnQ7CgkJJG5vZGUtPm1lbnV0ZXh0ID0gJG5vZGUtPm5hbWU7IC8vIEFsaWFzIGZvciBuYW1lLCBtYWtlIGNvbXBhdGliaWxpdHkgd2l0aCBNZW51TWFuYWdlciBwb3NzaWJsZQoJCSRub2RlLT5wYXJlbnQgPSBmYWxzZTsJCgkJJGNvdW50Kys7CgkgCgkJaWYgKCRub2RlLT5pZF9oaWVyYXJjaHkgPT09ICRjdXJyZW50X3BhdGgpIHsKCQkJCgkJCSRub2RlLT5jdXJyZW50ID0gdHJ1ZTsKCQkJCgkJfSBlbHNlIHsKCQkgIAoJCQkkbm9kZS0+Y3VycmVudCA9IGZhbHNlOwoJCQkJCgkJCWlmIChpbl9hcnJheSgkbm9kZS0+Y2F0ZWdvcnlfaWQsICRjdXJyZW50X3BhdGhfYXJyYXkpKSB7CgkJCQkJCgkJCQkkbm9kZS0+cGFyZW50ID0gdHJ1ZTsKCQkJfQoJCX0JCQoJCQoJCSRub2RlbGlzdFtdID0gJG5vZGU7CgoJCXJldHVybiAkbm9kZTsKCX0KCQkJCQkJCQkJCQkJCQkJCQkJLy8gfC0gVXNlbGVzcwoJc3RhdGljIHB1YmxpYyBmaW5hbCBmdW5jdGlvbiAmRmlsbE5vZGVXaXRoSXRlbShMSVNFICYkbW9kLCAkaWQsICRyZXR1cm5pZCwgJiRub2RlLCAmJGl0ZW0sICYkbm9kZWxpc3QsICYkY291bnQsICYkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAmJHBhcmFtcykgCgl7CQkKCQkvLyBHcmFwIGN1cnJlbnQgaXRlbQoJCSRjdXJyZW50X2l0ZW0gPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgnbGlzZV9pdGVtJyk7CgkKCQkkaXRlbS0+ZGVwdGggPSAkbm9kZS0+ZGVwdGggKyAxOwoJCSRpdGVtLT5wcmV2ZGVwdGggPSAkcHJldmRlcHRoIC0gKCRvcmlnZGVwdGggLSAxKTsKCQlpZiAoJGl0ZW0tPnByZXZkZXB0aCA9PSAwKSAkaXRlbS0+cHJldmRlcHRoID0gMTsJCgkJJHByZXZkZXB0aCA9ICRpdGVtLT5kZXB0aCArICgkb3JpZ2RlcHRoIC0gMSk7CgkKCQkkbGlua3BhcmFtcyA9IGFycmF5KCk7CgkJJGxpbmtwYXJhbXNbJ2l0ZW0nXSAJCQk9ICRpdGVtLT5hbGlhczsKCQkkbGlua3BhcmFtc1snY2F0ZWdvcnknXSAJCT0gJG5vZGUtPmFsaWFzOwkJCgkJJGxpbmtwYXJhbXNbJ2lkX2hpZXJhcmNoeSddIAk9ICRub2RlLT5pZF9oaWVyYXJjaHk7CgkKCQkkcmV0dXJuaWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywgJHJldHVybmlkKTsKCQlpZihpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKSB7CgoJCQlpZihpc19udW1lcmljKCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkpIHsKCQkJCSRyZXR1cm5pZCA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKCQkJfQoJCQllbHNlIHsJCQkKCQkJCSRobSA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsJCQkJCgkJCQkkcmV0dXJuaWQgPSAkaG0tPnN1cmVHZXROb2RlQnlBbGlhcygkcGFyYW1zWydkZXRhaWxwYWdlJ10pLT5HZXRJZCgpOwoJCQl9CgkJfQkJCQoJCQoJCSRsaW5rcGFyYW1zID0gYXJyYXlfbWVyZ2UoJGxpbmtwYXJhbXMsICRwYXJhbXMpOwoJCQoJCSRpdGVtLT51cmwgPSAkbW9kLT5DcmVhdGVQcmV0dHlMaW5rKCRpZCwgJ2RldGFpbCcsICRyZXR1cm5pZCwgJycsICRsaW5rcGFyYW1zLCAnJywgdHJ1ZSwgZmFsc2UpOwoJCSRpdGVtLT5pbmRleCA9ICRjb3VudDsJCQoJCSRpdGVtLT5tZW51dGV4dCA9ICRpdGVtLT50aXRsZTsgLy8gQWxpYXMgZm9yIG5hbWUsIG1ha2UgY29tcGF0aWJpbGl0eSB3aXRoIE1lbnVNYW5hZ2VyIHBvc3NpYmxlCgkJJGl0ZW0tPnBhcmVudCA9IGZhbHNlOwkKCQkkY291bnQrKzsJCgoJCSRpdGVtLT5jdXJyZW50ID0gKCRpdGVtLT5hbGlhcyA9PSAkY3VycmVudF9pdGVtKSA/IHRydWUgOiBmYWxzZTsKCQkJCgkJJG5vZGVsaXN0W10gPSAkaXRlbTsKCQkKCQlyZXR1cm4gJGl0ZW07Cgl9CQoKCQkJCQkJCQkJCQkJCQkJCQkvLyB8LSBVc2VsZXNzCQoJc3RhdGljIHB1YmxpYyBmaW5hbCBmdW5jdGlvbiBHZXRDaGlsZE5vZGVzKExJU0UgJiRtb2QsICRpZCwgJHJldHVybmlkLCAmJGlkX2xpc3QsICYkbm9kZWxpc3QsICYkY291bnQsICYkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAmJHBhcmFtcywgJiRzaG93cGFyZW50cykgCgl7CQoJCWlmICghZW1wdHkoJGlkX2xpc3QpKSB7CgkJCgkJCWZvcmVhY2goJGlkX2xpc3QgYXMgJG9uZV9pZCkgewoKCQkJCSRvbmVjaGlsZCA9ICRtb2QtPkxvYWRDYXRlZ29yeUJ5SWRlbnRpZmllcignY2F0ZWdvcnlfaWQnLCAkb25lX2lkKTsKCQkJCgkJCQlpZighaXNfb2JqZWN0KCRvbmVjaGlsZCkpCgkJCQkJY29udGludWU7CgkJCQkJCQoJCQkJLy8gRmlsbCBjYXRlZ29yaWVzCgkJCQkkbmV3bm9kZSA9IHNlbGY6OkZpbGxOb2RlV2l0aENoaWxkKCRtb2QsICRpZCwgJHJldHVybmlkLCAkb25lY2hpbGQsICRub2RlbGlzdCwgJGNvdW50LCAkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAkcGFyYW1zKTsJCQkJCQoJCQoJCQkJaWYgKCEoaXNzZXQoJHBhcmFtc1snbnVtYmVyX29mX2xldmVscyddKSAmJiAkbmV3bm9kZS0+ZGVwdGggPiAoJHBhcmFtc1snbnVtYmVyX29mX2xldmVscyddKSAtICgkb3JpZ2RlcHRoKSkgJiYgCgkJCQkJCSghaXNzZXQoJHBhcmFtc1snY29sbGFwc2UnXSkgfHwgKGNvdW50KCRzaG93cGFyZW50cykgPiAwICYmIGluX2FycmF5KCRuZXdub2RlLT5jYXRlZ29yeV9pZCwgJHNob3dwYXJlbnRzKSkpKSB7CgkJCQkKCQkJCQlzZWxmOjpHZXRDaGlsZE5vZGVzKCRtb2QsICRpZCwgJHJldHVybmlkLCAkbmV3bm9kZS0+Y2hpbGRyZW4sICRub2RlbGlzdCwgJGNvdW50LCAkcHJldmRlcHRoLCAkb3JpZ2RlcHRoLCAkcGFyYW1zLCAkc2hvd3BhcmVudHMpOwoJCQkJCQoJCQkJCS8vIEZpbGwgaXRlbXMgZm9yIGNhdGVnb3J5CgkJCQkJaWYoIWVtcHR5KCRuZXdub2RlLT5pdGVtcykgJiYgaXNzZXQoJHBhcmFtc1snc2hvd19pdGVtcyddKSkgewoJCQkJCQoJCQkJCQlmb3JlYWNoKCRuZXdub2RlLT5pdGVtcyBhcyAkaXRlbV9pZCkgewoJCQkJCQkJCgkJCQkJCQkkaXRlbSA9ICRtb2QtPkxvYWRJdGVtQnlJZGVudGlmaWVyKCdpdGVtX2lkJywgJGl0ZW1faWQpOwoJCQkJCQkJc2VsZjo6RmlsbE5vZGVXaXRoSXRlbSgkbW9kLCAkaWQsICRyZXR1cm5pZCwgJG5ld25vZGUsICRpdGVtLCAkbm9kZWxpc3QsICRjb3VudCwgJHByZXZkZXB0aCwgJG9yaWdkZXB0aCwgJHBhcmFtcyk7CQkJCQkJCgkJCQkJCX0KCQkJCQl9CQkJCQkKCQkJCX0KCQkJfQoJCX0KCX0gIAoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEInstance.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY2xhc3MgTElTRUluc3RhbmNlIGV4dGVuZHMgTElTRQ0Kew0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAjIE1hZ2ljIG1ldGhvZHMNCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICANCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpDQogIHsgIA0KICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCiAgfQ0KDQogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgIyBNb2R1bGUgYXBpIG1ldGhvZHMNCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgICANCg0KICBwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpDQogIHsNCiAgICByZXR1cm4gZ2V0X2NsYXNzKCR0aGlzKTsNCiAgfQ0KICANCiAgcHVibGljIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpDQogIHsNCiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScpOw0KICB9DQogIA0KICBwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpDQogIHsNCiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ21vZGRlc2NyaXB0aW9uJywgJHRoaXMtPk1vZExhbmcoJ21vZGRlc2NyaXB0aW9uJykpOw0KICB9ICAgDQoNCiAgcHVibGljIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpDQogIHsNCiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FkbWluc2VjdGlvbicpOw0KICB9IA0KICANCiAgZnVuY3Rpb24gQWxsb3dBdXRvSW5zdGFsbCgpDQogIHsNCiAgICByZXR1cm4gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9faW5zdGFsbCcsIEZBTFNFKTsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkNCiAgew0KICAgIHJldHVybiAoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3VwZ3JhZGUnLCBGQUxTRSkgKTsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KICB7DQogICAgcmV0dXJuIGFycmF5KCdMSVNFJyA9PiAnMS4wJyk7DQogIH0NCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKQ0KICB7DQogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19tb2RpZnlfaXRlbScpOw0KICB9DQogIA0KICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0gIA0KDQogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgDQogIHsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBTdWJQYWNrYWdlKCkNCiAgew0KICAgIHJldHVybiBGQUxTRTsNCiAgfQ0KICANCg0KICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVscCgpDQogIHsNCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KDQogICAgJHNtYXJ0eS0+YXNzaWduKCdwYXJlbnRfbmFtZScsIHBhcmVudDo6R2V0TmFtZSgpKTsgICAgDQogICAgJHNtYXJ0eS0+YXNzaWduKCdyb290X3VybCcsICRjb25maWdbJ3Jvb3RfdXJsJ10pOw0KICAgICRzbWFydHktPmFzc2lnbignbW9kJywgJHRoaXMpOw0KICAgICRzbWFydHktPmFzc2lnbigndXNhZ2VfdGV4dCcsIHN0cl9yZXBsYWNlKCd7JG1vZHVsZV9uYW1lfScsICR0aGlzLT5HZXROYW1lKCksICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3VzYWdlJykpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3Blcm1pc3Npb25zX3RleHQnLCBzdHJfcmVwbGFjZSgneyRtb2R1bGVfbmFtZX0nLCAkdGhpcy0+R2V0TmFtZSgpLCAkdGhpcy0+TW9kTGFuZygnaGVscF9wZXJtaXNzaW9ucycpKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCd0ZW1wbGF0ZXNfdGV4dCcsIHN0cl9yZXBsYWNlKCd7JG1vZHVsZV9uYW1lfScsICR0aGlzLT5HZXROYW1lKCksICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3RlbXBsYXRlcycpKSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdkdXBsaWNhdGluZ190ZXh0Jywgc3RyX3JlcGxhY2UoJ3skbW9kdWxlX25hbWV9JywgJHRoaXMtPkdldE5hbWUoKSwgJHRoaXMtPk1vZExhbmcoJ2hlbHBfZHVwbGljYXRpbmcnKSkpOw0KDQogICAgcmV0dXJuICR0aGlzLT5Nb2RQcm9jZXNzVGVtcGxhdGUoJ2hlbHAudHBsJyk7DQogIH0gIA0KICANCiAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVGcm9udGVuZCgpDQogIHsNCiAgICAkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsNCiAgICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7DQogIA0KICAgIC8vIFNldCBhbGxvd2VkIHBhcmFtZXRlcnMNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWN0aW9uJywgICAgICAgICAgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3dhbGwnLCAgICAgICAgICAgICAgICAgICAgICBDTEVBTl9JTlQpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeScsICAgICAgICAgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZXhjbHVkZV9jYXRlZ29yeScsICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1YmNhdGVnb3J5JywgICAgICAgICAgICAgICAgICBDTEVBTl9JTlQpOyAgICANCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnb3JkZXJieScsICAgICAgICAgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7ICAgIA0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWx0ZW1wbGF0ZScsICAgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXRlbXBsYXRlJywgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaHRlbXBsYXRlJywgICAgICAgICAgICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeXRlbXBsYXRlJywgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYXJjaGl2ZXRlbXBsYXRlJywgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy90ZW1wbGF0ZV8uKi8nLCBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWxwYWdlJywgICAgICAgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXBhZ2UnLCAgICAgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2l0ZW0nLCAgICAgICAgICAgICAgICAgICAgICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpZF9oaWVyYXJjaHknLCAgICAgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsgICAgDQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsICAgICAgICAgICAgICAgICAgICBDTEVBTl9JTlQpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzdGFydCcsICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQU5fSU5UKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncGFnZW51bWJlcicsICAgICAgICAgICAgICAgICAgIENMRUFOX0lOVCk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlYXJjaCcsICAgICAgICAgICAgICAgICAgICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUCAuICcvc2VhcmNoXy4qLycsICAgQ0xFQU5fU1RSSU5HKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmlsdGVyJywgICAgICAgICAgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQIC4gJy9maWx0ZXJfLiovJywgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZWJ1ZycsICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQU5fSU5UKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY29sbGFwc2UnLCAgICAgICAgICAgICAgICAgICAgIENMRUFOX0lOVCk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Nob3dfaXRlbXMnLCAgICAgICAgICAgICAgICAgICBDTEVBTl9JTlQpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdudW1iZXJfb2ZfbGV2ZWxzJywgICAgICAgICAgICAgQ0xFQU5fSU5UKTsNCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5jbHVkZV9pdGVtcycsICAgICAgICAgICAgICAgIENMRUFOX1NUUklORyk7DQogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2V4Y2x1ZGVfaXRlbXMnLCAgICAgICAgICAgICAgICBDTEVBTl9TVFJJTkcpOw0KICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd0YWcnLCAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQU5fU1RSSU5HKTsNCiAgICANCiAgICAvLyBHZXQgc3VtbWFyeXBhZ2UNCiAgICAkc3VtbWFyeXBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCBudWxsKTsNCiAgICBpZihpc19udWxsKCRzdW1tYXJ5cGFnZSkpIHsNCiAgICANCiAgICAgIGlmKCFpc3NldCgkY29udGVudG9wcykpDQogICAgICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCiAgICAgICAgDQogICAgICAkc3VtbWFyeXBhZ2UgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdFBhZ2VJRCgpOw0KICAgIH0NCiAgICANCiAgICAvLyBHZXQgZGV0YWlscGFnZQ0KICAgICRkZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLCBudWxsKTsNCiAgICBpZihpc19udWxsKCRkZXRhaWxwYWdlKSkgew0KICAgIA0KICAgICAgaWYoIWlzc2V0KCRjb250ZW50b3BzKSkNCiAgICAgICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOw0KICAgICAgDQogICAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0UGFnZUlEKCk7DQogICAgfQ0KICAgIA0KICAgIC8vIEdldCBzdWJjYXRlZ29yeQ0KICAgICRzdWJjYXRlZ29yeSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdWJjYXRlZ29yeScpOw0KICAgIA0KICAgIC8vIEFyY2hpdmUNCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAuICR0aGlzLT5wcmVmaXggDQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvYXJjaGl2ZVwvKD9QPGZpbHRlcl95ZWFyPlswLTldKz8pXC8oP1A8ZmlsdGVyX21vbnRoPlswLTldKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhY3Rpb24nID0+ICdkZWZhdWx0JykNCiAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgICAgICANCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nDQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJHRoaXMtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAuICdcL2FyY2hpdmVcLyg/UDxmaWx0ZXJfeWVhcj5bMC05XSs/KVwvKD9QPHJldHVybmlkPlswLTldKykkLycsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpDQogICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgIA0KICAgIC8vIFBhZ2luYXRpb24NCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nDQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJHRoaXMtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAuICdcL3BhZ2VcLyg/UDxwYWdlbnVtYmVyPlswLTldKz8pXC8oP1A8cGFnZWxpbWl0PlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAnLycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgLiAkdGhpcy0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvcGFnZVwvKD9QPHBhZ2VudW1iZXI+WzAtOV0rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICANCiAgICAvLyBIaWVyYXJjaHkgdmlldyAgICANCiAgICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nDQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJHRoaXMtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAuICdcLyg/UDxjYXRlZ29yeT4uKz8pXC8oP1A8aWRfaGllcmFyY2h5PlswLTkuXSspXC8oP1A8aXRlbT4uKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhY3Rpb24nID0+ICdkZXRhaWwnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICcvJyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgLiAkdGhpcy0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvKD9QPGNhdGVnb3J5Pi4rPylcLyg/UDxpZF9oaWVyYXJjaHk+WzAtOS5dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcsICdzdWJjYXRlZ29yeScgPT4gJHN1YmNhdGVnb3J5KQ0KICAgICAgICAgICAgICAgICAgICAgICAgKTsgIA0KIA0KICAgIC8vIFNpbmd1bGFyICAgIA0KICAgICR0aGlzLT5SZWdpc3RlclJvdXRlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAnLycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgLiAkdGhpcy0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvKD9QPGl0ZW0+Lis/KVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDxkZXRhaWx0ZW1wbGF0ZT4uKz8pJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcpDQogICAgICAgICAgICAgICAgICAgICAgICApOw0KDQogICAgDQogICAgJHRoaXMtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICcvJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAuICR0aGlzLT5wcmVmaXgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnXC8oP1A8aXRlbT4uKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdhY3Rpb24nID0+ICdkZXRhaWwnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgfQ0KICANCiAgcHVibGljIGZ1bmN0aW9uIEluaXRpYWxpemVBZG1pbigpDQogIHsNCiAgICAvLyBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIGNhbGxlZCBpbiB0aGUgbW9kdWxlIHRhZw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsICAgICAgICAgICAgJ2RlZmF1bHQnLCAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9hY3Rpb24nKSApOyAgICANCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdvcmRlcmJ5JywgICAgICAgICAgICdpdGVtX3Bvc2l0aW9uJywgICAgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fb3JkZXJieScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2FsbCcsICAgICAgICAgICAnMCcsICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3Nob3dhbGwnKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5JywgICAgICAgICAgJ2dlbmVyYWwnLCAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9jYXRlZ29yeScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZXhjbHVkZV9jYXRlZ29yeScsICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2V4Y2x1ZGVfY2F0ZWdvcnknKSApOyAgICAgIA0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1YmNhdGVnb3J5JywgICAgICAgJ2ZhbHNlJywgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9zdWJjYXRlZ29yeScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZGV0YWlscGFnZScsICAgICAgICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2RldGFpbHBhZ2UnKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnlwYWdlJywgICAgICAgJycsICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9zdW1tYXJ5cGFnZScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaXRlbScsICAgICAgICAgICAgICAnYWxpYXMnLCAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2l0ZW0nKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhZ2VsaW1pdCcsICAgICAgICAgMTAwMDAwLCAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9wYWdlbGltaXQnKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0YXJ0JywgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9zdGFydCcpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoJywgICAgICAgICAgICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3NlYXJjaCcpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoXyonLCAgICAgICAgICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3NlYXJjaF8nKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcicsICAgICAgICAgICAgJycsICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9maWx0ZXInKSApOw0KLy8gICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyJywgICAgICAgICAgICAnJywgICAgICAgICAgICAgICAgICc8c3Ryb25nPkRlcHJlY2F0ZWQ8L3N0cm9uZz4gLSAnIC4gJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fZmlsdGVyJykgKTsNCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZWJ1ZycsICAgICAgICAgICAgICdmYWxzZScsICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fZGVidWcnKSApOw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvbGxhcHNlJywgICAgICAgICAgJ2ZhbHNlJywgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9jb2xsYXBzZScpICk7ICAgIA0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Nob3dfaXRlbXMnLCAgICAgICAgJ2ZhbHNlJywgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9zaG93X2l0ZW1zJykgKTsgICAgDQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbnVtYmVyX29mX2xldmVscycsICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX251bWJlcl9vZl9sZXZlbHMnKSApOyAgICAgICAgDQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaW5jbHVkZV9pdGVtcycsICAgICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2luY2x1ZGVfaXRlbXMnKSApOyAgICANCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdleGNsdWRlX2l0ZW1zJywgICAgICcnLCAgICAgICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fZXhjbHVkZV9pdGVtcycpICk7ICAgIA0KICAgIA0KICAgIC8vIFRlbXBsYXRlcw0KICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3RlbXBsYXRlX2RldGFpbCcsICAgJ2RlZmF1bHQnLCAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnaGVscF9wYXJhbV9kZXRhaWx0ZW1wbGF0ZScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGVfc3VtbWFyeScsICAnZGVmYXVsdCcsICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGVfc2VhcmNoJywgICAnZGVmYXVsdCcsICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX3NlYXJjaHRlbXBsYXRlJykgKTsNCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0ZW1wbGF0ZV9jYXRlZ29yeScsICdkZWZhdWx0JywgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1fY2F0ZWdvcnl0ZW1wbGF0ZScpICk7DQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGVfYXJjaGl2ZScsICAnZGVmYXVsdCcsICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX2NhdGVnb3J5dGVtcGxhdGUnKSApOw0KICAgIA0KICAgIC8vIFNRTCBmaWx0ZXJzICANCiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfeWVhcicsICAgICAgICcnLCAgICAgICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2hlbHBfcGFyYW1feWVhcicpKTsgICAgDQogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX21vbnRoJywgICAgICAnJywgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdoZWxwX3BhcmFtX21vbnRoJykpOw0KICAgIA0KICB9ICANCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCiAgew0KICAgIC8vIFNTTCBjaGVjayAoSG9wZWZ1bGx5IGNvcmUgd291bGQgZG8gdGhpcyBzb29uLi4uKQ0KICAgICR1c2Vfc3NsID0gZmFsc2U7DQogICAgaWYoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddPT0nb24nKSAkdXNlX3NzbCA9IHRydWU7DQogIA0KICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgJG1vZHVsZW5hbWUgPSAkdGhpcy0+R2V0TmFtZSgpOw0KICAgICRtb2R1bGVkaXIgPSAkdGhpcy0+R2V0UGFyZW50VVJMUGF0aCgkdXNlX3NzbCk7DQogICAgJGdsb2JhbHNfanMgPSAoJHVzZV9zc2w/JGNvbmZpZ1snc3NsX3VybCddOiRjb25maWdbJ3Jvb3RfdXJsJ10pLiAnL21vZHVsZXMvJy4gTElTRSAuJy9saWIvanMvJzsNCiAgICAkZ2xvYmFsc19jc3MgPSAoJHVzZV9zc2w/JGNvbmZpZ1snc3NsX3VybCddOiRjb25maWdbJ3Jvb3RfdXJsJ10pLiAnL21vZHVsZXMvJy4gTElTRSAuJy9saWIvY3NzLyc7DQogICAgJGFkbWluZGlyID0gJGNvbmZpZ1snYWRtaW5fdXJsJ107DQogICAgJHVzZXJrZXkgPSBnZXRfc2VjdXJlX3BhcmFtKCk7DQogICAgJGpxdWVyeXVpID0gJyc7DQogICAgDQogICAgaWYgKHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwgJzEuMTEtYWxwaGEwJykgPCAwKSANCiAgICB7DQogICAgICAkanF1ZXJ5dWkgPSAnPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iJy4gJG1vZHVsZWRpciAuJy9jc3MvanF1ZXJ5LXVpLTEuOC4yLmN1c3RvbS5jc3MiPjwvbGluaz4nOw0KICAgIH0NCiAgICANCiAgICAkc21hcnR5LT5hc3NpZ24oJ21vZHVsZWRpcicsICRtb2R1bGVkaXIpOw0KICAgICRzbWFydHktPmFzc2lnbignZ2xvYmFsc19jc3MnLCAkZ2xvYmFsc19jc3MpOw0KICAgICRzbWFydHktPmFzc2lnbignZ2xvYmFsc19qcycsICRnbG9iYWxzX2pzKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2pxdWVyeXVpJywgJGpxdWVyeXVpKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ2FkbWluZGlyJywgJGFkbWluZGlyKTsNCiAgICAkc21hcnR5LT5hc3NpZ24oJ3VzZXJrZXknLCAkdXNlcmtleSk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdtb2R1bGVuYW1lJywgJG1vZHVsZW5hbWUpOw0KICAgIA0KICAgICR0bXBsID0gJHRoaXMtPk1vZFByb2Nlc3NUZW1wbGF0ZSgnSFRNTF9IZWFkZXIudHBsJyk7DQoNCiAgICAkdG1wbCAuPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpHZXRIZWFkZXJIVE1MKCk7DQogICAgDQogICAgcmV0dXJuICR0bXBsOw0KICB9ICANCg0KICBwdWJsaWMgZnVuY3Rpb24gRG9BY3Rpb24oJG5hbWUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkPScnKQ0KICB7DQogICAgZ2xvYmFsICRDTVNfQURNSU5fUEFHRTsNCiAgICANCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoNCiAgICBpZihsaXNlX3V0aWxzOjppc0NNUzIwMSgpKQ0KICAgIHsNCiAgICAgICRzbWFydHkgPSAkdGhpcy0+R2V0QWN0aW9uVGVtcGxhdGVPYmplY3QoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCiAgICB9DQogICAgDQogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiAgICAgIA0KICAgICR0aGlzLT5Mb2FkTW9kdWxlSGludHMoJHBhcmFtcyk7DQogICAgDQogICAgJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdhY3Rpb25pZCcsICRpZCk7DQogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXR1cm5pZCcsICRyZXR1cm5pZCk7DQogICAgDQogICAgY21zX3V0aWxzOjpzZXRfYXBwX2RhdGEoJ2xpc2VfaW5zdGFuY2UnLCAkdGhpcy0+R2V0TmFtZSgpKTsNCiAgICANCiAgICBpZihjbXNtcygpLT5pc19mcm9udGVuZF9yZXF1ZXN0KCkpIA0KICAgIHsNCiAgICAgIGlmKGlzc2V0KCRwYXJhbXNbJ2lkX2hpZXJhcmNoeSddKSkgDQogICAgICB7DQogICAgICAgIGNtc191dGlsczo6c2V0X2FwcF9kYXRhKCdsaXNlX2lkX2hpZXJhcmNoeScsICRwYXJhbXNbJ2lkX2hpZXJhcmNoeSddKTsNCiAgICAgICAgJGNhdGVnb3J5ID0gJHRoaXMtPkxvYWRDYXRlZ29yeUJ5SWRlbnRpZmllcignaWRfaGllcmFyY2h5JywgJHBhcmFtc1snaWRfaGllcmFyY2h5J10pOw0KICAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5JywgJGNhdGVnb3J5KTsNCiAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCR0aGlzLT5HZXROYW1lKCkgLiAnX2NhdGVnb3J5JywgJGNhdGVnb3J5KTsgLy8gPC0gQWxpYXMgZm9yICRjYXRlZ29yeSAgICAgICAgDQogICAgICB9ICAgICAgICANCiAgICB9DQogICAgDQogICAgaWYoJENNU19BRE1JTl9QQUdFKSANCiAgICB7DQogICAgICAkdGhlbWVPYmplY3QgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigndGhlbWVPYmplY3QnLCAkdGhlbWVPYmplY3QpOyAgICANCiAgICB9ICANCiAgDQogICAgaWYgKCRuYW1lICE9ICcnKSANCiAgICB7DQogICAgICAkZ290X2NvbnRlbnRzID0gZmFsc2U7DQogICAgICAkY29udGVudHMgPSAnJzsgICAgDQogICAgICAkbmFtZSA9IHByZWdfcmVwbGFjZSgnL1teQS1aYS16MC05XC1fK10vJywgJycsICRuYW1lKTsNCg0KICAgICAgaWYoJENNU19BRE1JTl9QQUdFICYmICRuYW1lICE9ICdhamF4X2dldHVybCcpDQogICAgICAgICRjb250ZW50cyAuPSAnPGRpdiBjbGFzcz0ibGlzZS1hZG1pbi13cmFwcGVyIj4nOyAvLyB3ZSBuZWVkIHRvIHJldmlzaXQgdGhpcyAoSk0pDQogICAgICAgIA0KICAgICAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhbiBhY3Rpb24gZmlsZQ0KICAgICAgJGZpbGVuYW1lID0gY21zX2pvaW5fcGF0aCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3Rpb24uJyAuICRuYW1lIC4gJy5waHAnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQoNCiAgICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpICYmICEkZ290X2NvbnRlbnRzKSANCiAgICAgIHsgICAgIA0KICAgICAgICBvYl9zdGFydCgpOyAgDQogICAgICAgIGluY2x1ZGUoJGZpbGVuYW1lKTsNCiAgICAgICAgJGNvbnRlbnRzIC49IG9iX2dldF9jb250ZW50cygpOw0KICAgICAgICBvYl9lbmRfY2xlYW4oKTsNCiAgICAgICAgJGdvdF9jb250ZW50cyA9IHRydWU7ICAgICAgICANCiAgICAgIH0gICAgICANCiAgICAgIA0KICAgICAgLy8gQ2hlY2sgcGFyZW50IGlmIHdlIGRvbid0DQogICAgICANCiAgICAgICRmaWxlbmFtZSA9IGNtc19qb2luX3BhdGgoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldFBhcmVudFBhdGgoKSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbi4nIC4gJG5hbWUgLiAnLnBocCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCg0KICAgICAgaWYgKEBpc19maWxlKCRmaWxlbmFtZSkgJiYgISRnb3RfY29udGVudHMpIA0KICAgICAgeyAgICAgDQogICAgICAgIG9iX3N0YXJ0KCk7ICANCiAgICAgICAgaW5jbHVkZSgkZmlsZW5hbWUpOw0KICAgICAgICAkY29udGVudHMgLj0gb2JfZ2V0X2NvbnRlbnRzKCk7DQogICAgICAgIG9iX2VuZF9jbGVhbigpOyAgDQogICAgICAgICRnb3RfY29udGVudHMgPSB0cnVlOyAgICAgICAgDQogICAgICB9DQogICAgICANCiAgICAgIGlmKCRDTVNfQURNSU5fUEFHRSAmJiAkbmFtZSAhPSAnYWpheF9nZXR1cmwnKQ0KICAgICAgICAkY29udGVudHMgLj0gJzwvZGl2Pic7IC8vIHdlIG5lZWQgdG8gcmV2aXNpdCB0aGlzIHRvbyAoSk0pDQoNCiAgICAgIGVjaG8gJGNvbnRlbnRzOyAgICAgIA0KICAgIH0NCiAgfQ0KICANCiAgZnVuY3Rpb24gVXBncmFkZSgkb2xkdmVyc2lvbiwgJG5ld3ZlcnNpb24pDQogIHsNCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7DQogICAgDQogICAgJHJlc3BvbnNlID0gRkFMU0U7DQogICAgDQogICAgJGZpbGVuYW1lID0gY21zX2pvaW5fcGF0aCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldFBhcmVudFBhdGgoKSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QudXBncmFkZUdsb2JhbHMucGhwJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICANCiAgICBpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgDQogICAgew0KICAgICAgDQogICAgICAkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOw0KICAgICAgDQogICAgICBpZihsaXNlX3V0aWxzOjppc0NNUzIoKSkNCiAgICAgIHsNCiAgICAgICAgaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpDQogICAgICAgIHsNCiAgICAgICAgICAkcmVzcG9uc2UgPSBGQUxTRTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAkcmVzcG9uc2UgPSAkcmVzOw0KICAgICAgICB9DQogICAgICB9DQogICAgICBlbHNlDQogICAgICB7DQogICAgICAgIGlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSAgJHJlc3BvbnNlID0gVFJVRTsNCiAgICAgIH0NCiAgICB9DQogICAgDQogICAgJGZpbGVuYW1lID0gY21zX2pvaW5fcGF0aCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QudXBncmFkZS5waHAnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgIA0KICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSANCiAgICB7DQogICAgICAkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOw0KICAgICAgDQogICAgICBpZihsaXNlX3V0aWxzOjppc0NNUzIoKSkNCiAgICAgIHsNCiAgICAgICAgaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpDQogICAgICAgIHsNCiAgICAgICAgICAkcmVzcG9uc2UgPSBGQUxTRTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlDQogICAgICAgIHsNCiAgICAgICAgICAkcmVzcG9uc2UgPSAkcmVzOw0KICAgICAgICB9DQogICAgICB9DQogICAgICBlbHNlDQogICAgICB7DQogICAgICAgIGlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSAkcmVzcG9uc2UgPSBUUlVFOw0KICAgICAgfQ0KICAgIH0NCiAgICANCiAgICAvLyBDaGVjayBpZiBtb2R1bGUgaW4gb3VyIG93biBjb250cm9sIHRhYmxlcyB5ZXQNCiAgICAkcXVlcnkgPSAiU0VMRUNUIG1vZHVsZV9pZCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2xpc2VfaW5zdGFuY2VzIFdIRVJFIG1vZHVsZV9uYW1lID0gPyI7ICANCiAgICAkbW9kc3RhdHVzID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpKSk7DQogICAgDQogICAgaWYoISRtb2RzdGF0dXMpICR0aGlzLT5SZWdpc3Rlck1vZHVsZSgpOyAgICANCiAgDQogICAgcmV0dXJuICRyZXNwb25zZTsNCiAgfSAgDQoNCiAgZnVuY3Rpb24gSW5zdGFsbCgpDQogIHsNCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOw0KICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7DQogICAgDQogICAgJHJlc3BvbnNlID0gRkFMU0U7DQogICAgDQogICAgJGZpbGVuYW1lID0gY21zX2pvaW5fcGF0aCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldFBhcmVudFBhdGgoKSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QuaW5zdGFsbEdsb2JhbHMucGhwJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCg0KICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSANCiAgICB7DQogICAgICAkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOw0KICAgICAgDQogICAgICBpZigkcmVzID09IDEgfHwgJHJlcyA9PSAnJykgDQogICAgICB7DQogICAgICAgICRyZXNwb25zZSA9IEZBTFNFOw0KICAgICAgfSANCiAgICAgIGVsc2UgDQogICAgICB7DQogICAgICAgICRyZXNwb25zZSA9ICRyZXM7DQogICAgICB9DQogICAgfQ0KICAgIA0KICAgICRmaWxlbmFtZSA9IGNtc19qb2luX3BhdGgoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5HZXRNb2R1bGVQYXRoKCkgLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWV0aG9kLmluc3RhbGwucGhwJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCg0KICAgIGlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSANCiAgICB7ICAgICANCiAgICAgICRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7DQogICAgICANCiAgICAgIGlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSANCiAgICAgIHsNCiAgICAgICAgJHJlc3BvbnNlID0gRkFMU0U7DQogICAgICB9IA0KICAgICAgZWxzZSANCiAgICAgIHsNCiAgICAgICAgJHJlc3BvbnNlID0gJHJlczsNCiAgICAgIH0NCiAgICB9DQogICAgDQogICAgaWYoISRyZXNwb25zZSkgDQogICAgew0KICAgICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlKCk7DQogICAgfQ0KICANCiAgICByZXR1cm4gJHJlc3BvbnNlOw0KICB9DQoNCiAgZnVuY3Rpb24gVW5pbnN0YWxsKCkNCiAgew0KICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiAgICANCiAgICAkcmVzcG9uc2UgPSBGQUxTRTsNCiAgICANCiAgICAkZmlsZW5hbWUgPSBjbXNfam9pbl9wYXRoKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+R2V0UGFyZW50UGF0aCgpICwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ldGhvZC51bmluc3RhbGxHbG9iYWxzLnBocCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgDQogICAgaWYgKEBpc19maWxlKCRmaWxlbmFtZSkpIA0KICAgIHsgICAgICANCiAgICAgICRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7DQogICAgICANCiAgICAgIGlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSANCiAgICAgIHsNCiAgICAgICAgJHJlc3BvbnNlID0gRkFMU0U7DQogICAgICB9IA0KICAgICAgZWxzZSANCiAgICAgIHsNCiAgICAgICAgJHJlc3BvbnNlID0gJHJlczsNCiAgICAgIH0NCiAgICB9DQogICAgDQogICAgJGZpbGVuYW1lID0gY21zX2pvaW5fcGF0aCgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldE1vZHVsZVBhdGgoKSAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QudW5pbnN0YWxsLnBocCcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICBpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgDQogICAgew0KICAgICAgJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsNCiAgICAgIA0KICAgICAgaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIA0KICAgICAgew0KICAgICAgICAkcmVzcG9uc2UgPSBGQUxTRTsNCiAgICAgIH0gDQogICAgICBlbHNlIA0KICAgICAgew0KICAgICAgICAkcmVzcG9uc2UgPSAkcmVzOw0KICAgICAgfQ0KICAgIH0NCiAgICANCiAgICBpZighJHJlc3BvbnNlKSANCiAgICB7DQogICAgDQogICAgICAkdGhpcy0+VW5yZWdpc3Rlck1vZHVsZSgpOw0KICAgIH0gICAgDQogIA0KICAgIHJldHVybiAkcmVzcG9uc2U7DQogIH0gIA0KICANCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAjIE1hbmlwdWxhdGlvbiBtZXRob2RzDQogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gICANCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBNb2RMYW5nKCkNCiAgew0KICAgICRtb2QgPSBjbXNtcygpLT5HZXRNb2R1bGVJbnN0YW5jZShMSVNFKTsNCiAgICBpZighaXNfb2JqZWN0KCRtb2QpKQ0KICAgICAgcmV0dXJuICcnOyANCiAgICAgICN0aHJvdyBuZXcgTElTRUV4Y2VwdGlvbignQ2Fubm90IHJldHJpdmUgTElTRSBPYmplY3QuJyk7DQogICAgDQogICAgJG1vZC0+TG9hZExhbmdNZXRob2RzKCk7DQoNCiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsNCiAgICBhcnJheV91bnNoaWZ0KCRhcmdzLCcnKTsNCg0KICAgIGlmKCBsaXNlX3V0aWxzOjppc0NNUzIoKSkNCiAgICB7DQogICAgICAkYXJnc1swXSA9ICRtb2QtPkdldE5hbWUoKTsNCiAgICAgIHJldHVybiBDbXNMYW5nT3BlcmF0aW9uczo6bGFuZ19mcm9tX3JlYWxtKCRhcmdzKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICRhcmdzWzBdID0gJiRtb2Q7DQogICAgICByZXR1cm4gY2FsbF91c2VyX2Z1bmNfYXJyYXkoJ2Ntc19tb2R1bGVfTGFuZycsICRhcmdzKTsNCiAgICB9DQogIH0NCiAgICANCiAgcHVibGljIGZ1bmN0aW9uIEdldFBhcmVudFBhdGgoKQ0KICB7DQogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOw0KICAgIHJldHVybiBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsIExJU0UsICdmcmFtZXdvcmsnKTsNCiAgfQ0KICANCiAgcHVibGljIGZ1bmN0aW9uIEdldFBhcmVudFVSTFBhdGgoJHVzZV9zc2w9ZmFsc2UpDQogIHsNCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQogICAgcmV0dXJuICgkdXNlX3NzbCA/ICRjb25maWdbJ3NzbF91cmwnXSA6ICRjb25maWdbJ3Jvb3RfdXJsJ10pIC4gJy9tb2R1bGVzLycgLiBMSVNFIC4gJy9mcmFtZXdvcmsnOw0KICB9ICANCiAgDQogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgIyBJbnN0YW5jZSBtZXRob2RzDQogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gICAgIA0KDQogIGZpbmFsIHByaXZhdGUgZnVuY3Rpb24gUmVnaXN0ZXJNb2R1bGUoKQ0KICB7DQogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsNCiAgDQogICAgJHF1ZXJ5ICA9ICdJTlNFUlQgSU5UTyAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2luc3RhbmNlcyAobW9kdWxlX25hbWUpIFZBTFVFUyAoPyknOw0KICAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkdGhpcy0+R2V0TmFtZSgpKSk7DQogICAgDQogICAgaWYgKCEkcmVzdWx0KSBkaWUoJ0ZBVEFMIFNRTCBFUlJPUjogJyAuICRkYi0+RXJyb3JNc2coKSAuICc8YnIvPlFVRVJZOiAnIC4gJGRiLT5zcWwpOyAvLyBUT0RPOiBleGNlcHRpb25zDQogICAgDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgDQogIGZpbmFsIHByaXZhdGUgZnVuY3Rpb24gVW5yZWdpc3Rlck1vZHVsZSgpDQogIHsNCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOw0KDQogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc2VfaW5zdGFuY2VzIFdIRVJFIG1vZHVsZV9uYW1lID0gPyc7DQogICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXROYW1lKCkpKTsNCiAgICANCiAgICBpZiAoISRyZXN1bHQpIGRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7IC8vIFRPRE86IGV4Y2VwdGlvbnMNCiAgICANCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogIH0gIA0KICAgIA0KfSAvLyBlbmQgb2YgY2xhc3MNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEInstanceExporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTElTRUluc3RhbmNlRXhwb3J0ZXIgCnsKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBDb25zdGFudHMKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIGNvbnN0IE1PRF9QUkVGSVggPSAnTElTRSc7CiAgY29uc3QgWE1MX1ZFUlNJT04gPSAnMS4wJzsKCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQXR0cmlidXRlcwogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgcHJpdmF0ZSAkbW9kbmFtZTsKICBwcml2YXRlICRfZGF0YTsKICBwcml2YXRlICRfcHJlZnM7CiAgcHJpdmF0ZSAkX3RlbXBsYXRlX3ByZWZzOwogIHByaXZhdGUgJF94bWw7CiAgCglwcml2YXRlIHN0YXRpYyAkX2ludmFsaWQgPSBhcnJheSgnLicsICcuLicpOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1vZG5hbWUgPSBOVUxMKSAKCXsKICAgIGlmKCBlbXB0eSgkbW9kbmFtZSkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJyBjb25zdHJ1Y3RvcjogaW52YWxpZCBwYXJhbWV0ZXIhJyk7CiAgICAKICAgIGlmKCAhc3RhcnRzd2l0aCgkbW9kbmFtZSwgc2VsZjo6TU9EX1BSRUZJWCkgKQogICAgewogICAgICAkbW9kbmFtZSA9IHNlbGY6Ok1PRF9QUkVGSVggLiAkbW9kbmFtZTsKICAgIH0KICAgIAogICAgJHRoaXMtPm1vZG5hbWUgPSAkbW9kbmFtZTsKCX0KCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgUnVubmVyCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCglwdWJsaWMgZnVuY3Rpb24gUnVuKCkKCXsKICAgICR0aGlzLT5Db3B5RnJvbURhdGFCYXNlKCk7CiAgICAkdGhpcy0+Q29weUZyb21QcmVmZXJlbmNlcygpOwogICAgJHRoaXMtPkNvcHlGcm9tVGVtcGxhdGVzKCk7CiAgICAkdGhpcy0+X2J1aWxkX3htbCgpOwogICAgCiAgICAvLyBhbmQgc2VuZCB0aGUgZmlsZQogICAgb2JfZW5kX2NsZWFuKCk7CiAgICBoZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKICAgIGhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9mb3JjZS1kb3dubG9hZCcpOwogICAgaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0nIC4gJHRoaXMtPm1vZG5hbWUgLiAnLkxJU0UueG1sJyk7CiAgICBlY2hvICR0aGlzLT5feG1sOwogICAgZXhpdCgpOwoJfQoJCQoKICAvKioKICAqIFRPRE86IGVycm9yIGNoZWNrcwogICovCiAgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDb3B5RnJvbURhdGFCYXNlKCkKICB7CiAgICAgJG1vZF9wcmVmaXggPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiBzdHJ0b2xvd2VyKCR0aGlzLT5tb2RuYW1lKSAuICdfJzsKCiAgICAgJHRhYmxlX2xpc3QgPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAnaXRlbV9jYXRlZ29yaWVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnZmllbGRkZWYnLAogICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZGRlZl9vcHRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnZmllbGR2YWwnICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgIAogICAgICRkYXRhID0gYXJyYXkoKTsKICAgICBmb3JlYWNoKCR0YWJsZV9saXN0IGFzICRvbmUpCiAgICAgewogICAgICAgJG50ID0gJG1vZF9wcmVmaXggLiAkb25lOwogICAgICAgJHEgPSAnU0VMRUNUICogRlJPTSAnIC4gJG50OwogICAgICAgJGRhdGFbJG9uZV0gPSAkZGItPkdldEFycmF5KCRxKTsKICAgICB9CiAgICAgCiAgICAgJHRoaXMtPl9kYXRhWydkYiddID0gJGRhdGE7CiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weUZyb21QcmVmZXJlbmNlcygpCiAgewogICAgCiAgICAkcHJlZnMgPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnZnJpZW5kbHluYW1lJywKICAgICAgICAgICAgICAgICAgICAnYWRtaW5zZWN0aW9uJywKICAgICAgICAgICAgICAgICAgICAnbW9kZGVzY3JpcHRpb24nLAogICAgICAgICAgICAgICAgICAgICdpdGVtX3RpdGxlJywKICAgICAgICAgICAgICAgICAgICAnc29ydG9yZGVyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV9zaW5ndWxhcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fcGx1cmFsJywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9jcmVhdGVfZGF0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fY29scycsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1zX3Blcl9wYWdlJywKICAgICAgICAgICAgICAgICAgICAndXJsX3ByZWZpeCcsCiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXlfaW5saW5lJywKICAgICAgICAgICAgICAgICAgICAnc3ViY2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICd1cmx0ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgJ2RldGFpbHBhZ2UnLAogICAgICAgICAgICAgICAgICAgICdzdW1tYXJ5cGFnZScsCiAgICAgICAgICAgICAgICAgICAgJ3JlaW5kZXhfc2VhcmNoJwogICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAKICAgICR0ZW1wbGF0ZV9wcmVmcyA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfc3VtbWFyeV90ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9kZXRhaWxfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfc2VhcmNoX3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X2NhdGVnb3J5X3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X2FyY2hpdmVfdGVtcGxhdGUnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwogICAgCiAgICAkbW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm1vZG5hbWUsIE5VTEwsIFRSVUUpOwogICAgCiAgICBmb3JlYWNoKCRwcmVmcyBhcyAkcHJlZikKICAgIHsKICAgICAgJHRoaXMtPl9kYXRhWydwcmVmcyddWyRwcmVmXSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJHByZWYsICcnKTsKICAgIH0KICAgICAgICAKICAgIGZvcmVhY2goJHRlbXBsYXRlX3ByZWZzIGFzICRwcmVmKQogICAgeyAgICAgCiAgICAgICAkdGhpcy0+X2RhdGFbJ3RlbXBsYXRlX3ByZWZzJ11bJHByZWZdID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+bW9kbmFtZSAuICRwcmVmLCAnJyk7CiAgICB9CgogIH0KICAKICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlGcm9tVGVtcGxhdGVzKCkKICB7CiAgICAkbW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm1vZG5hbWUsIE5VTEwsIFRSVUUpOwoKICAgICR0ZW1wbGF0ZXMgPSAkbW9kLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAKICAgIGZvcmVhY2goJHRlbXBsYXRlcyBhcyAkb25lKQogICAgewogICAgICAkdGhpcy0+X2RhdGFbJ3RlbXBsYXRlcyddWyRvbmVdID0gJG1vZC0+R2V0VGVtcGxhdGUoJG9uZSk7IAogICAgfQogICAgIAogIH0KCiAgCiAgCiAgLyoqCiAgKiBwcmV0dHkgc2ltcGxlIHhtbCBidWlsZGVyLCBidXQgcHJvbmUgdG8gZXJyb3JzIChJIHRoaW5rKQogICogV2lsbCBiZSB3b3JrZWQgb24gZGVwZW5kaW5nIG9uIHVzYWJpbGl0eS4uLgogICovCiAgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBfYnVpbGRfeG1sKCkKICB7CiAgICAkbW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm1vZG5hbWUsIE5VTEwsIFRSVUUpOwogICAgCiAgICAkdGhpcy0+X3htbCAgPSAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nIC4gIlxuIjsKICAgICR0aGlzLT5feG1sIC49ICc8TElTRUluc3RhbmNlTW9kdWxlPicgLiAiXG4iOwogICAgJHRoaXMtPl94bWwgLj0gJyA8WE1MVkVSU0lPTj4nIC4gc2VsZjo6WE1MX1ZFUlNJT04gLiAnPC9YTUxWRVJTSU9OPicgLiAiXG4iOwogICAgJHRoaXMtPl94bWwgLj0gJyA8TW9kdWxlTmFtZT4nIC4gJHRoaXMtPm1vZG5hbWUgLiAnPC9Nb2R1bGVOYW1lPicgLiAiXG4iOwogICAgJHRoaXMtPl94bWwgLj0gJyA8VmVyc2lvbj4nIC4gJG1vZC0+R2V0VmVyc2lvbigpIC4gJzwvVmVyc2lvbj4nIC4gIlxuIjsKICAgICR0aGlzLT5feG1sIC49ICcgPE1vZHVsZUZyaWVuZGx5TmFtZT4nIC4gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCkgLiAnPC9Nb2R1bGVGcmllbmRseU5hbWU+JyAuICJcbiI7CiAgICAkdGhpcy0+X3htbCAuPSAnIDxEYXRhPicgLiBiYXNlNjRfZW5jb2RlKHNlcmlhbGl6ZSgkdGhpcy0+X2RhdGEpKSAuICc8L0RhdGE+JyAuICJcbiI7CiAgICAkdGhpcy0+X3htbCAuPSAnPC9MSVNFSW5zdGFuY2VNb2R1bGU+JyAuICJcbiI7CiAgfQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEInstanceImporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTElTRUluc3RhbmNlSW1wb3J0ZXIgCnsKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBDb25zdGFudHMKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIGNvbnN0IE1PRF9QUkVGSVggPSAnTElTRSc7CiAgY29uc3QgUExBQ0VIT0xERVIgPSAnUExBQ0VfSE9MREVSX19fJzsKCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQXR0cmlidXRlcwogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgcHJpdmF0ZSAkc3JjOwogIHByaXZhdGUgJGR1cDsKICBwcml2YXRlICRkc3Q7CiAgcHJpdmF0ZSAkbW9kbmFtZTsKICBwcml2YXRlICRvbGRtb2RuYW1lOwogIHByaXZhdGUgJF9kYXRhOwogIHByaXZhdGUgJF94bWw7CiAgCglwcml2YXRlIHN0YXRpYyAkX2ludmFsaWQgPSBhcnJheSgnLicsICcuLicpOwoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHhtbCA9ICcnKSAKCXsKICAgIGlmKCBlbXB0eSgkeG1sKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGluICcgLiBfX0NMQVNTX18gLiAnIGNvbnN0cnVjdG9yOiBpbnZhbGlkIHBhcmFtZXRlciEnKTsKICAgICR0aGlzLT5feG1sID0gJHhtbDsKICAgICR0aGlzLT5fZXhwYW5kX3htbCgpOwogICAgJHRoaXMtPnNyYyA9IGRpcm5hbWUoZGlybmFtZShfX0ZJTEVfXykpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICdkdXBsaWNhdGUnOwogICAgJHRoaXMtPmRzdCA9IGRpcm5hbWUoZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkpIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICR0aGlzLT5tb2RuYW1lOwoJfQoKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBSdW5uZXIKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkKCXB1YmxpYyBmdW5jdGlvbiBSdW4oKQoJewogICAgIyAxc3QgY29weSB0aGUgb3JpZ2luYWwKICAgICR0aGlzLT5Db3B5UmVjdXJzaXZlKCR0aGlzLT5zcmMsICR0aGlzLT5kc3QpOwoJCSR0aGlzLT5SZW5hbWUoKTsKICAgICR0aGlzLT5GaXhNb2R1bGVmaWxlKCk7CiAgICAjIG5vdyB3ZSBpbnN0YWxsIG5ldwogICAgJG1vZG9wcyA9IGNtc21zKCktPkdldE1vZHVsZU9wZXJhdGlvbnMoKTsKICAgICRtb2RvcHMtPkluc3RhbGxNb2R1bGUoJHRoaXMtPm1vZG5hbWUpOwogICAgIyBleHBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRhdGEKCQkkdGhpcy0+Q29weURhdGFCYXNlKCk7CiAgICAkdGhpcy0+Q29weVRlbXBsYXRlcygpOwogICAgJHRoaXMtPkNvcHlQcmVmZXJlbmNlcygpOwogICAgIyBub3cgd2UgaGF2ZSBhIG5ldyBMSVNFIE1vZHVsZQoJCXJldHVybiAkdGhpcy0+bW9kbmFtZTsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgRmlsZSBoYW5kbGluZyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlSZWN1cnNpdmUoJHNyYywgJGRzdCkgCgl7CgkJJGRpciA9IG9wZW5kaXIoJHNyYyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCUBta2RpcigkZHN0KTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJCgkJd2hpbGUoZmFsc2UgIT09ICggJGZpbGUgPSByZWFkZGlyKCRkaXIpKSApIAogICAgewoJCQoJCQlpZiAoaW5fYXJyYXkoJGZpbGUsIHNlbGY6OiRfaW52YWxpZCkpIGNvbnRpbnVlOyAvLyA8LSBTa2lwIHN0dWZmIHdlIG5ldmVyIGFsbG93IHRvIGNvcHkKCgkJCWlmICggaXNfZGlyKCRzcmMgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJGZpbGUpICkgCiAgICAgIHsgCgkJCQkkdGhpcy0+Q29weVJlY3Vyc2l2ZSgkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsgCgkJCX0gCgkJCWVsc2UgCiAgICAgIHsgCgkJCQlAY29weSgkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlLCAkZHN0IC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKTsgLy8gPC0gVGhyb3cgZXhjZXB0aW9uIG9uIGZhaWx1cmU/CgkJCX0gCgkJfSAKCQkKCQljbG9zZWRpcigkZGlyKTsgCgl9CgkKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gUmVuYW1lKCkgCgl7CiAgICAkb2xkID0gY21zX2pvaW5fcGF0aCgkdGhpcy0+ZHN0LCBzZWxmOjpQTEFDRUhPTERFUiAuICcucGhwJyk7CiAgICAkbmV3ID0gY21zX2pvaW5fcGF0aCgkdGhpcy0+ZHN0LCAkdGhpcy0+bW9kbmFtZSAuICcubW9kdWxlLnBocCcpIDsKCQlAcmVuYW1lKCRvbGQsICRuZXcpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCX0KCQoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBGaXhNb2R1bGVmaWxlKCkgCgl7CgkJJGZpbGVuYW1lID0gJHRoaXMtPmRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkdGhpcy0+bW9kbmFtZSAuJy5tb2R1bGUucGhwJzsKCgkJLy8gUmVwbGFjZW1lbnRzCgkJJF9jb250ZW50cyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCSRfY29udGVudHMgPSBzdHJfcmVwbGFjZShzZWxmOjpQTEFDRUhPTERFUiwgJHRoaXMtPm1vZG5hbWUsICRfY29udGVudHMpOwoJCgkJLy8gV3JpdGUgZmlsZQoJCSRmaCA9IEBmb3BlbigkZmlsZW5hbWUsICd3Jyk7CgkJZndyaXRlKCRmaCwgJF9jb250ZW50cyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCWZjbG9zZSgkZmgpOwkKCX0KICAKICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlEYXRhQmFzZSgpCiAgewogICAgICRtb2RfcHJlZml4ID0gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gc3RydG9sb3dlcigkdGhpcy0+bW9kbmFtZSkgLiAnXyc7CgogICAgICR0YWJsZV9saXN0ID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW0nLAogICAgICAgICAgICAgICAgICAgICAgICAgICdjYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fY2F0ZWdvcmllcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkZGVmJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnZmllbGRkZWZfb3B0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkdmFsJyAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgCiAgICAgZm9yZWFjaCgkdGFibGVfbGlzdCBhcyAkb25lKQogICAgIHsKICAgICAgICRudCA9ICRtb2RfcHJlZml4IC4gJG9uZTsKICAgICAgIAogICAgICAgJHJvd3MgPSBhcnJheSgpOwogICAgICAgCiAgICAgICBmb3JlYWNoKCR0aGlzLT5fZGF0YVsnZGInXVskb25lXSBhcyAkcm93KQogICAgICAgewogICAgICAgICAkZmllbGRzID0gaW1wbG9kZSgnLCcsIGFycmF5X2tleXMoJHJvdykgKTsKICAgICAgICAgJHBocyA9IGltcGxvZGUoJywnLCBhcnJheV9maWxsKDAsIGNvdW50KCRyb3cpLCAnPycpICk7CgogICAgICAgICAkcSA9ICdJTlNFUlQgSU5UTyAnIC4gJG50LiAnICgnIC4gJGZpZWxkcyAuICcpIFZBTFVFUyAoJyAuICRwaHMgLiAnKSc7CiAgICAgICAgICRyID0gJGRiLT5FeGVjdXRlKCRxLCBhcnJheV92YWx1ZXMoJHJvdykpOwogICAgICAgICAKICAgICAgICAgaWYoISRyKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCAkZGItPkVycm9yTXNnKCkgKTsKICAgICAgIH0KICAgICB9CiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weVByZWZlcmVuY2VzKCkKICB7CiAgICAKICAgICRwcmVmcyA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICdmcmllbmRseW5hbWUnLAogICAgICAgICAgICAgICAgICAgICdhZG1pbnNlY3Rpb24nLAogICAgICAgICAgICAgICAgICAgICdtb2RkZXNjcmlwdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fdGl0bGUnLAogICAgICAgICAgICAgICAgICAgICdzb3J0b3JkZXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtX3Npbmd1bGFyJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV9wbHVyYWwnLAogICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X2NyZWF0ZV9kYXRlJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV9jb2xzJywKICAgICAgICAgICAgICAgICAgICAnaXRlbXNfcGVyX3BhZ2UnLAogICAgICAgICAgICAgICAgICAgICd1cmxfcHJlZml4JywKICAgICAgICAgICAgICAgICAgICAnZGlzcGxheV9pbmxpbmUnLAogICAgICAgICAgICAgICAgICAgICdzdWJjYXRlZ29yeScsCiAgICAgICAgICAgICAgICAgICAgJ3VybHRlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAnZGV0YWlscGFnZScsCiAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnlwYWdlJywKICAgICAgICAgICAgICAgICAgICAncmVpbmRleF9zZWFyY2gnCiAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgIAogICAgJHRlbXBsYXRlX3ByZWZzID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9zdW1tYXJ5X3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X2RldGFpbF90ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9zZWFyY2hfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfY2F0ZWdvcnlfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfYXJjaGl2ZV90ZW1wbGF0ZScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAKICAgICRtb2QgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkdGhpcy0+bW9kbmFtZSwgTlVMTCwgVFJVRSk7CiAgICAKICAgIAogICAgCiAgICBmb3JlYWNoKCRwcmVmcyBhcyAkcHJlZikKICAgIHsKICAgICAgJG1vZC0+U2V0UHJlZmVyZW5jZSgkcHJlZiwgJHRoaXMtPl9kYXRhWydwcmVmcyddWyRwcmVmXSk7CiAgICB9CiAgICAgICAgCiAgICBmb3JlYWNoKCR0ZW1wbGF0ZV9wcmVmcyBhcyAkcHJlZikKICAgIHsgICAgIAogICAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCAkdGhpcy0+X2RhdGFbJ3RlbXBsYXRlX3ByZWZzJ11bJHByZWZdKTsKICAgIH0KCiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weVRlbXBsYXRlcygpCiAgewogICAgCiAgICAkbW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm1vZG5hbWUsIE5VTEwsIFRSVUUpOwogICAgJHRlbXBsYXRlcyA9ICRtb2QtPkxpc3RUZW1wbGF0ZXMoKTsKICAgIAogICAgZm9yZWFjaCgkdGVtcGxhdGVzIGFzICRvbmUpICRtb2QtPkRlbGV0ZVRlbXBsYXRlKCRvbmUpOwogICAgCiAgICBmb3JlYWNoKCR0aGlzLT5fZGF0YVsndGVtcGxhdGVzJ10gYXMgJGsgPT4gJHYpCiAgICB7CiAgICAgICRtb2QtPlNldFRlbXBsYXRlKCRrLCAkdik7CiAgICB9CiAgICAgCiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gX2V4cGFuZF94bWwoKQogIHsKICAgICR0bXAgPSBzaW1wbGV4bWxfbG9hZF9zdHJpbmcoJHRoaXMtPl94bWwpOwoKICAgIGlmKCR0bXApCiAgICB7CiAgICAgIGlmKCAhaXNzZXQoJHRtcC0+WE1MVkVSU0lPTikgfHwgJHRtcC0+WE1MVkVSU0lPTiA+IExJU0VJbnN0YW5jZUV4cG9ydGVyOjpYTUxfVkVSU0lPTikgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgaW4gJyAuIF9fQ0xBU1NfXyAuICdpbnZhbGlkIFhNTCEnKTsKICAgICAgaWYoICFpc3NldCgkdG1wLT5Nb2R1bGVOYW1lKSkgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgaW4gJyAuIF9fQ0xBU1NfXyAuICdpbnZhbGlkIFhNTCEnKTsKICAgICAgaWYoICFpc3NldCgkdG1wLT5WZXJzaW9uKSkgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgaW4gJyAuIF9fQ0xBU1NfXyAuICdpbnZhbGlkIFhNTCEnKTsKICAgICAgaWYoICFpc3NldCgkdG1wLT5Nb2R1bGVGcmllbmRseU5hbWUpKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJ2ludmFsaWQgWE1MIScpOwogICAgICBpZiggIWlzc2V0KCR0bXAtPkRhdGEpKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJ2ludmFsaWQgWE1MIScpOwogICAgICAKICAgICAgJHRoaXMtPm1vZG5hbWUgPSAoc3RyaW5nKSR0bXAtPk1vZHVsZU5hbWU7CiAgICAgIC8vIHRoZSBmb2xsb3dpbmcgYXJlIG5vdCB1c2VkIHlldAogICAgICAvLyR0aGlzLT52ZXJzaW9uID0gKHN0cmluZykkdG1wLT5WZXJzaW9uOwogICAgICAvLyR0aGlzLT5mcmllbmRseW5hbWUgPSAoc3RyaW5nKSR0bXAtPk1vZHVsZUZyaWVuZGx5TmFtZTsKICAgICAgJHRoaXMtPl9kYXRhID0gdW5zZXJpYWxpemUoIGJhc2U2NF9kZWNvZGUoJHRtcC0+RGF0YSkgKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGluICcgLiBfX0NMQVNTX18gLiAnaW52YWxpZCBYTUwhJyk7CiAgICB9CiAgfQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEItem.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VJdGVtCnsKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQXR0cmlidXRlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCS8vcHVibGljICRpZDsKCXB1YmxpYyAkaXRlbV9pZDsgLy8gZGVwcmVjYXRlZAoJcHVibGljICRhbGlhczsKICBwdWJsaWMgJHRpdGxlOwoJcHVibGljICR1cmw7CglwdWJsaWMgJHBvc2l0aW9uOwoJcHVibGljICRhY3RpdmU7CglwdWJsaWMgJGNyZWF0ZV90aW1lOwoJcHVibGljICRtb2RpZmllZF90aW1lOwoJcHVibGljICRzdGFydF90aW1lOwoJcHVibGljICRlbmRfdGltZTsKCXB1YmxpYyAkb3duZXI7CQoJCglwdWJsaWMgJGtleTE7CglwdWJsaWMgJGtleTI7CglwdWJsaWMgJGtleTM7CgoJcHVibGljICRmaWVsZGRlZnM7CgkKCXN0YXRpYyBwdWJsaWMgJG1hbmRhdG9yeSA9IGFycmF5KCd0aXRsZScpOwoJCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgCgl7CgkJJHRoaXMtPml0ZW1faWQgPSBudWxsOwoJCSR0aGlzLT5hbGlhcyA9IG51bGw7CgkJJHRoaXMtPnRpdGxlID0gJyc7CgkJJHRoaXMtPnBvc2l0aW9uID0gLTE7CgkJJHRoaXMtPmFjdGl2ZSA9IDE7CgkJJHRoaXMtPmNyZWF0ZV90aW1lID0gJyc7CgkJJHRoaXMtPm1vZGlmaWVkX3RpbWUgPSAnJzsKCQkkdGhpcy0+c3RhcnRfdGltZSA9ICcnOwoJCSR0aGlzLT5lbmRfdGltZSA9ICcnOwogICAgJHRoaXMtPm93bmVyID0gbnVsbDsKCQkkdGhpcy0+dXJsID0gbnVsbDsKCQkKCQkkdGhpcy0+a2V5MSA9IG51bGw7CgkJJHRoaXMtPmtleTIgPSBudWxsOwoJCSR0aGlzLT5rZXkzID0gbnVsbDsKICAgIAoJCQoJCSR0aGlzLT5maWVsZGRlZnMgPSBuZXcgTElTRUZpZWxkZGVmQXJyYXkoYXJyYXkoKSk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCkKCXsKCQkkdGhpcy0+ZmllbGRkZWZzLT5TZXRQYXJlbnRJdGVtKCR0aGlzKTsJCQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKCXsKCQlpZihpc3NldCgkdGhpcy0+ZmllbGRkZWZzWyRrZXldKSkgCgkJCXJldHVybiAkdGhpcy0+ZmllbGRkZWZzWyRrZXldLT5HZXRWYWx1ZSgpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwgJHZhbHVlKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5maWVsZGRlZnNbJGtleV0pKSB7CgkJCgkJCSR0aGlzLT5maWVsZGRlZnNbJGtleV0tPlNldFZhbHVlKCR2YWx1ZSk7CgkJfQoJCWVsc2UgewoJCQoJCQkkdGhpcy0+JGtleSA9ICR2YWx1ZTsKCQl9Cgl9CQoKCXB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRrZXkpCgl7CgkJaWYoaXNzZXQoJHRoaXMtPmZpZWxkZGVmc1ska2V5XSkgJiYgJHRoaXMtPmZpZWxkZGVmc1ska2V5XS0+SGFzVmFsdWUoKSkKCQkJcmV0dXJuIHRydWU7CgkJCQoJCXJldHVybiBGQUxTRTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBfX3RvU3RyaW5nKCkKCXsKCQlyZXR1cm4gKHN0cmluZykkdGhpcy0+dGl0bGU7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFV0aWxpdHkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJLy8gRGVsZXRlIHRoaXMgYXdmdWwgbWV0aG9kLiBVc2VkIG9ubHkgYnkgaW1wb3J0ZXIuCglwdWJsaWMgZnVuY3Rpb24gU2V0UHJvcGVydHlWYWx1ZSgkcHJvcGVydHksICR2YWx1ZSkKCXsKCQlpZihwcm9wZXJ0eV9leGlzdHMoJHRoaXMsICRwcm9wZXJ0eSkpIHsgIC8vIDwtIEZvciBpbnRlcm5hbCBwcm9wZXJ0aWVzCgkJCgkJCWlmKGlzX2FycmF5KCR2YWx1ZSkpIHsKCQkJCSR0aGlzLT4kcHJvcGVydHkgPSAkdmFsdWVbMF07CgkJCX0KCQkJZWxzZSB7CgkJCQkkdGhpcy0+JHByb3BlcnR5ID0gJHZhbHVlOyAKCQkJfQoJCX0gCgkJZWxzZWlmKGlzc2V0KCR0aGlzLT5maWVsZGRlZnNbJHByb3BlcnR5XSkpIHsgLy8gPC0gRm9yIGZpZWxkIGRlZmluaXRpb25zCgkJCgkJCSR0aGlzLT4kcHJvcGVydHkgPSAoYXJyYXkpJHZhbHVlOwoJCX0KCQllbHNlIHsgLy8gQW55dGhpbmcgZWxzZS4KCQkKCQkJJHRoaXMtPiRwcm9wZXJ0eSA9ICR2YWx1ZTsgCgkJfQoJfQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEItemOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VJdGVtT3BlcmF0aW9ucwp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFZhcmlhYmxlcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHVibGljIHN0YXRpYyAkaWRlbnRpZmllcnMgPSBhcnJheSgKCQknaXRlbV9pZCcgCT0+ICdpdGVtX2lkJywgCgkJJ2FsaWFzJyAJPT4gJ2FsaWFzJywgCgkJJ2tleTEnIAkJPT4gJ2tleTEnLCAKCQkna2V5MicJCT0+ICdrZXkyJywgCiAgICAna2V5MycgICAgPT4gJ2tleTMnLAoJCSd1cmwnCQk9PiAndXJsJwoJKTsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBEYXRhYmFzZSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIFNhdmUoTElTRSAmJG1vZCwgTElTRUl0ZW0gJiRvYmopCgl7CgkJRXZlbnRzOjpTZW5kRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCAnUHJlSXRlbVNhdmUnLCBhcnJheSgnaXRlbV9vYmplY3QnID0+ICYkb2JqKSk7CgoJCS8vIENoZWNrIGFnYWluc3QgbWFuZGF0b3J5IGxpc3QKCQlmb3JlYWNoKExJU0VJdGVtOjokbWFuZGF0b3J5IGFzICRydWxlKSB7CgkJCgkJCWlmKCRvYmotPiRydWxlID09ICcnKQoJCQkJcmV0dXJuOwoJCX0KCQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkvLyR0aW1lID0gJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpOwoKCQkkc3FsX3N0YXJ0X3RpbWUgPSAkb2JqLT5zdGFydF90aW1lID8gZGF0ZSgnWS1tLWQnLCBzdHJ0b3RpbWUoJG9iai0+c3RhcnRfdGltZSkpIDogTlVMTDsKCQkkc3FsX2VuZF90aW1lID0gJG9iai0+ZW5kX3RpbWUgPyBkYXRlKCdZLW0tZCcsIHN0cnRvdGltZSgkb2JqLT5lbmRfdGltZSkpIDogTlVMTDsJCQoJCQoJCS8vIEVuc3VyZSB0aGF0IHdlIGhhdmUgYWxpYXMKCQlpZiAoJG9iai0+YWxpYXMgPT0gJycpewoJCQoJCQkkb2JqLT5hbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJG9iai0+dGl0bGUsIHRydWUpOwoJCX0KCQkKCQkvLyBUcnkgZ3JhYmJpbmcgb3duZXIgaWYgbm90IHNldAoJCWlmIChpc19udWxsKCRvYmotPm93bmVyKSkgewoJCQoJCQkkbG9nZ2VkaW4gPSBnZXRfdXNlcmlkKGZhbHNlKTsKCQkJaWYoJGxvZ2dlZGluKQoJCQkJJG9iai0+b3duZXIgPSAkbG9nZ2VkaW47CgkJfQoJCQkKCQkvLyBFeGlzdGluZyBpdGVtCQoJCWlmICgkb2JqLT5pdGVtX2lkID4gMCkgCiAgICB7CgkJCgkJCS8vIHVwZGF0ZSBpdGVtCgkJCSRxdWVyeSAgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSAKCQkJCQlTRVQgdGl0bGUgPSA/LCBhbGlhcyA9ID8sIGFjdGl2ZSA9ID8sIHN0YXJ0X3RpbWUgPSA/LCBlbmRfdGltZSA9ID8sIG1vZGlmaWVkX3RpbWUgPSBOT1coKSwga2V5MSA9ID8sIGtleTIgPSA/LCBrZXkzID0gPywgb3duZXIgPSA/LCB1cmwgPSA/IAoJCQkJCVdIRVJFIGl0ZW1faWQgPSA/JzsKCQkJCQkJCgkJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgKCQkJCSRvYmotPnRpdGxlLAoJCQkJJG9iai0+YWxpYXMsCgkJCQkvLyRvYmotPmNhdGVnb3J5X2lkLAoJCQkJJG9iai0+YWN0aXZlLAoJCQkJJHNxbF9zdGFydF90aW1lLAoJCQkJJHNxbF9lbmRfdGltZSwKCQkJCSRvYmotPmtleTEsCgkJCQkkb2JqLT5rZXkyLAoJCQkJJG9iai0+a2V5MywJCQoJCQkJJG9iai0+b3duZXIsCiAgICAgICAgJG9iai0+dXJsLAkJCiAgICAgICAgJG9iai0+aXRlbV9pZAoJCQkpKTsKCQkJCgkJCWlmICghJHJlc3VsdCkKCQkJCWRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CQkKCQkKCQkvLyBOZXcgaXRlbQoJCX0gCiAgICBlbHNlIAogICAgewoKCQkJLy8gZmluZCBwb3NpdGlvbiBiZWZvcmUgaW5zZXJ0aW5nIG5ldyBpdGVtCgkJCSRxdWVyeSA9ICdTRUxFQ1QgTUFYKHBvc2l0aW9uKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0nOwoJCQkkcG9zaXRpb24gPSAkZGItPkdldE9uZSgkcXVlcnkpOwoKCQkJaWYgKCRwb3NpdGlvbiA9PSBudWxsKQoJCQkJJHBvc2l0aW9uID0gMTsKCQkJCgkJCS8vIGNoZWNrIGFsaWFzIGlzIHVuaXF1ZQoJCQkkcXVlcnkgPSAnU0VMRUNUIENPVU5UKGFsaWFzKSBhcyBhbGlhcyBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSBhbGlhcyBMSUtFICInLiRvYmotPmFsaWFzLiclIic7CgkJCSRkYnJlc3VsdCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICAgIAoJCQkKCQkJaWYoJGRicmVzdWx0ID4gMCkKCQkJCSRvYmotPmFsaWFzIC49ICdfJy4oJGRicmVzdWx0KzEpOwkKCQkJCgkJCS8vIGluc2VydCBpdGVtCgkJCSRxdWVyeSAgPSAnSU5TRVJUIElOVE8gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIAoJCQkJCSh0aXRsZSwgYWxpYXMsIHBvc2l0aW9uLCBhY3RpdmUsIGNyZWF0ZV90aW1lLCBtb2RpZmllZF90aW1lLCBzdGFydF90aW1lLCBlbmRfdGltZSwga2V5MSwga2V5Miwga2V5Mywgb3duZXIsIHVybCkgCgkJCQkJVkFMVUVTICg/LCA/LCA/LCA/LCBOT1coKSwgTk9XKCksID8sID8sID8sID8sID8sID8sID8pJzsKCQkJCQkKCQkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KAoJCQkJJG9iai0+dGl0bGUsCgkJCQkkb2JqLT5hbGlhcywKCQkJCS8vJG9iai0+Y2F0ZWdvcnlfaWQsCgkJCQkkcG9zaXRpb24sCgkJCQkkb2JqLT5hY3RpdmUsCgkJCQkkc3FsX3N0YXJ0X3RpbWUsCgkJCQkkc3FsX2VuZF90aW1lLAoJCQkJJG9iai0+a2V5MSwKCQkJCSRvYmotPmtleTIsCgkJCQkkb2JqLT5rZXkzLAogICAgICAgICRvYmotPm93bmVyLAoJCQkJJG9iai0+dXJsCgkJCSkpOwoJCQkKCQkJaWYgKCEkcmVzdWx0KQoJCQkJZGllKCdGQVRBTCBTUUwgRVJST1I6ICcgLiAkZGItPkVycm9yTXNnKCkgLiAnPGJyLz5RVUVSWTogJyAuICRkYi0+c3FsKTsKCgkJCS8vIHBvcHVsYXRlICRpdGVtX2lkIGZvciBuZXdseSBpbnNlcnRlZCBpdGVtCgkJCSRvYmotPml0ZW1faWQgPSAkZGItPkluc2VydF9JRCgpOwkJCgkJfQoJCgkJLy8gSW5pdCBzZWFyY2gKCQkkc2VhcmNoID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJCWlmIChpc19vYmplY3QoJHNlYXJjaCkpCgkJCSRzZWFyY2h0ZXh0ID0gJG9iai0+dGl0bGUgLicgJzsKCQkJCQkKCQkvLyBoYW5kbGUgaW5zZXJ0aW5nIGN1c3RvbSBmaWVsZHMgaW50byBkYXRhYmFzZQoJCWlmKGNvdW50KCRvYmotPmZpZWxkZGVmcykpIHsKCQkKCQkJZm9yZWFjaCAoJG9iai0+ZmllbGRkZWZzIGFzICRmaWVsZCkgewoJCQkKCQkJCSRmaWVsZC0+U2V0SXRlbUlkKCRvYmotPml0ZW1faWQpOyAvLyA8LSBSZW1vdmUgaW4gMS41CgkJCQkkZmllbGQtPkV2ZW50SGFuZGxlcigpLT5Pbkl0ZW1TYXZlKCRtb2QpOwkKCgkJCQkvLyBQYXJ0IG9mIHNlYXJjaCByZWluZGV4aW5nCgkJCQlpZihpc19vYmplY3QoJHNlYXJjaCkpCgkJCQkJJHNlYXJjaHRleHQgLj0gJGZpZWxkLT5HZXRWYWx1ZSgic3RyaW5nIikgLicgJzsKCQkJCQkJCQoJCQl9CgkJfQoJCQoJCS8vIFJlaW5kZXggc2VhcmNoCgkJaWYoaXNfb2JqZWN0KCRzZWFyY2gpKQoJCQkkc2VhcmNoLT5BZGRXb3JkcygkbW9kLT5HZXROYW1lKCksICRvYmotPml0ZW1faWQsICd0aXRsZScsICRzZWFyY2h0ZXh0KTsJCQoJCQoJCUV2ZW50czo6U2VuZEV2ZW50KCRtb2QtPkdldE5hbWUoKSwgJ1Bvc3RJdGVtU2F2ZScsIGFycmF5KCdpdGVtX29iamVjdCcgPT4gJiRvYmopKTsKCQkKCX0KCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIERlbGV0ZShMSVNFICYkbW9kLCBMSVNFSXRlbSAmJG9iaikKCXsKCQlFdmVudHM6OlNlbmRFdmVudCgkbW9kLT5HZXROYW1lKCksICdQcmVJdGVtRGVsZXRlJywgYXJyYXkoJ2l0ZW1fb2JqZWN0JyA9PiAmJG9iaikpOwkKCQoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJaWYgKCRvYmotPml0ZW1faWQgPiAwKSB7CgoJCQkvLyBnZXQgZGV0YWlscwoJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gV0hFUkUgaXRlbV9pZCA9ID8nOwoJCQkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkb2JqLT5pdGVtX2lkKSk7CgkJCQoJCQkvLyBkZWxldGUgaXRlbQoJCQkkcXVlcnkgPSAnREVMRVRFIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGl0ZW1faWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+aXRlbV9pZCkpOwoJCQkKCQkJLy8gRGVsZXRlIGZyb20gaXRlbXMKCQkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIFdIRVJFIGl0ZW1faWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+aXRlbV9pZCkpOwkJCQkKCQkJCgkJCS8vIENsZWFuIHVwIHNvcnQgb3JkZXIKCQkJJHF1ZXJ5ID0gJ1VQREFURSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2l0ZW0gU0VUIHBvc2l0aW9uID0gKHBvc2l0aW9uIC0gMSkgV0hFUkUgcG9zaXRpb24gPiA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHJvd1sncG9zaXRpb24nXSkpOwkJCQoJCQkKCQkJLy8gRGVsZXRlIGZpZWxkIHZhbHVlcyBmcm9tIHJlZ3VsYXIgdGFibGVzCgkJCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkdmFsIFdIRVJFIGl0ZW1faWQgPSA/JzsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJG9iai0+aXRlbV9pZCkpOwkJCQoJCQkKCQkJLy8gRGVsZXRlIGZpZWxkIHZhbHVlcyBmcm9tIGFueSBleHRlcm5hbCB0YWJsZXMgKHRoaXMgbWlnaHQgbm90IGJlbG9uZyBoZXJlLCBkb3VibGUgY2hlY2spCgkJCWlmKGNvdW50KCRvYmotPmZpZWxkZGVmcykpIHsKCQkJCgkJCQlmb3JlYWNoICgoYXJyYXkpJG9iai0+ZmllbGRkZWZzIGFzICRmaWVsZCkgewoJCQkJCgkJCQkJJGZpZWxkLT5FdmVudEhhbmRsZXIoKS0+T25JdGVtRGVsZXRlKCRtb2QpOwoJCQkJfSAvLyBlbmQgb2YgZm9yZWFjaAoJCQl9IC8vIGVuZCBvZiBjb3VudAoJCQkKCQkJRXZlbnRzOjpTZW5kRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCAnUG9zdEl0ZW1EZWxldGUnLCBhcnJheSgnaXRlbV9vYmplY3QnID0+ICYkb2JqKSk7CgkJCQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCXJldHVybiBGQUxTRTsKCX0KCglzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIExvYWQoTElTRSAmJG1vZCwgTElTRUl0ZW0gJiRvYmosICRyb3cgPSBmYWxzZSkKCXsKCQlFdmVudHM6OlNlbmRFdmVudCgkbW9kLT5HZXROYW1lKCksICdQcmVJdGVtTG9hZCcsIGFycmF5KCdpdGVtX29iamVjdCcgPT4gJiRvYmopKTsJCgkKCQkvLyBJZiB3ZSBkb24ndCBoYXZlIHJvdyB0aGVuIGF0dGVtcHQgdG8gbG9hZCBpdAoJCWlmICghJHJvdykgewoJCgkJCWZvcmVhY2goc2VsZjo6JGlkZW50aWZpZXJzIGFzICRkYl9jb2x1bW4gPT4gJGlkZW50aWZpZXIpIHsKCQkJCgkJCQlpZighaXNfbnVsbCgkb2JqLT4kaWRlbnRpZmllcikpIHsKCgkJCQkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkJCQoJCQkJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfaXRlbQoJCQkJCQkJCQkJV0hFUkUgJGRiX2NvbHVtbiA9ID8gCgkJCQkJCQkJCQlMSU1JVCAxIjsJCQkJCQkJCQkKCQkJCQkJCQkJCQoJCQkJCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRvYmotPiRpZGVudGlmaWVyKSk7CgkJCQkJCgkJCQkJaWYoJHJvdykKCQkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgoJCWlmICgkcm93KSB7CgoJCQkvLyBJdGVtIHRhYmxlCgkJCS8vJG9iai0+aWQgICAgICAgIAkJCT0gJHJvd1snaXRlbV9pZCddOwoJCQkkb2JqLT5pdGVtX2lkICAgICAgICAJCT0gJHJvd1snaXRlbV9pZCddOyAvLyBkZXByZWNhdGVkCgkJCSRvYmotPnRpdGxlICAgICAgICAJCQk9ICRyb3dbJ3RpdGxlJ107CgkJCSRvYmotPmFsaWFzCQkgCQkJICAgID0gJHJvd1snYWxpYXMnXTsKCQkJJG9iai0+cG9zaXRpb24gICAgICAgCQk9ICRyb3dbJ3Bvc2l0aW9uJ107CQkJCgkJCSRvYmotPmFjdGl2ZSAgICAgICAJCQk9ICRyb3dbJ2FjdGl2ZSddOwoJCQkkb2JqLT5jcmVhdGVfdGltZSAgCQkJPSAkcm93WydjcmVhdGVfdGltZSddOwoJCQkkb2JqLT5tb2RpZmllZF90aW1lICAJCT0gJHJvd1snbW9kaWZpZWRfdGltZSddOwoJCQkkb2JqLT5zdGFydF90aW1lICAgCQkJPSAkcm93WydzdGFydF90aW1lJ107CgkJCSRvYmotPmVuZF90aW1lICAgICAJCQk9ICRyb3dbJ2VuZF90aW1lJ107CgkJCSRvYmotPm93bmVyICAgICAJCQkgID0gJHJvd1snb3duZXInXTsKCQkJCgkJCSRvYmotPmtleTEJCSAJCQkgICAgPSAkcm93WydrZXkxJ107CgkJCSRvYmotPmtleTIJCSAJCQkgICAgPSAkcm93WydrZXkyJ107CiAgICAgICRvYmotPmtleTMgICAgICAgICAgICAgID0gJHJvd1sna2V5MyddOwoJCQkkb2JqLT51cmwJCSAJCQkgICAgICA9ICRyb3dbJ3VybCddOwoJCQkvLyRvYmotPmNhdGVnb3J5X2lkIAkJCT0gJHJvd1snY2F0ZWdvcnlfaWQnXTsKCgkJCS8vIEZpZWxkcwoJCQlpZihjb3VudCgkb2JqLT5maWVsZGRlZnMpKSB7CgkJCQoJCQkJZm9yZWFjaCAoKGFycmF5KSRvYmotPmZpZWxkZGVmcyBhcyAkZmllbGQpIHsKCQkJCQoJCQkJCSRmaWVsZC0+U2V0SXRlbUlkKCRvYmotPml0ZW1faWQpOyAvLyA8LSBSZW1vdmUgaW4gMS41CgkJCQkJJGZpZWxkLT5FdmVudEhhbmRsZXIoKS0+T25JdGVtTG9hZCgkbW9kKTsJCQkKCQkJCX0gLy8gZW5kIG9mIGZvcmVhY2gKCQkJfSAvLyBlbmQgb2YgY291bnQKCQkKCQkJRXZlbnRzOjpTZW5kRXZlbnQoJG1vZC0+R2V0TmFtZSgpLCAnUG9zdEl0ZW1Mb2FkJywgYXJyYXkoJ2l0ZW1fb2JqZWN0JyA9PiAmJG9iaikpOwoJCQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCXJldHVybiBGQUxTRTsKCX0JCgkKCXN0YXRpYyBmaW5hbCBwdWJsaWMgZnVuY3Rpb24gQ29weShMSVNFSXRlbSAkb2JqKQkKCXsKCQkkb2JqID0gY2xvbmUgJG9iajsKCQoJCSRvYmotPml0ZW1faWQgPSBudWxsOwoJCSRvYmotPmFsaWFzID0gbnVsbDsKCQkkb2JqLT5wb3NpdGlvbiA9IC0xOwoJCSRvYmotPmNyZWF0ZV90aW1lID0gJyc7CgkJJG9iai0+bW9kaWZpZWRfdGltZSA9ICcnOwoJCSRvYmotPmtleTEgPSBudWxsOwoJCSRvYmotPmtleTIgPSBudWxsOwogICAgJG9iai0+a2V5MyA9IG51bGw7CgkJJG9iai0+dXJsID0gbnVsbDsKCQkkb2JqLT5vd25lciA9IG51bGw7CgkKCQlyZXR1cm4gJG9iajsKCX0KCQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEItemQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIExJU0VJdGVtUXVlcnkgZXh0ZW5kcyBMSVNFUXVlcnkKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHJpdmF0ZSBzdGF0aWMgJG9yZGVyYnlfbWFwID0gYXJyYXkoCgkJLy8gaXRlbXMKCQknaXRlbV9pZCcgPT4gJ0EuaXRlbV9pZCcsICdpdGVtX3RpdGxlJyA9PiAnQS50aXRsZScsICdpdGVtX3Bvc2l0aW9uJyA9PiAnQS5wb3NpdGlvbicsICdpdGVtX2NyZWF0ZWQnID0+ICdBLmNyZWF0ZV90aW1lJywgJ2l0ZW1fbW9kaWZpZWQnID0+ICdBLm1vZGlmaWVkX3RpbWUnLCAnaXRlbV9zdGFydCcgPT4gJ0Euc3RhcnRfdGltZScsICdpdGVtX2VuZCcgPT4gJ0EuZW5kX3RpbWUnLAoJCS8vIGNhdGVnb3J5CgkJJ2NhdGVnb3J5X2lkJyA9PiAnQi5jYXRlZ29yeV9pZCcsICdjYXRlZ29yeV9uYW1lJyA9PiAnQi5jYXRlZ29yeV9uYW1lJywgJ2NhdGVnb3J5X2hpZXJhcmNoeScgPT4gJ0IuaGllcmFyY2h5JywgJ2NhdGVnb3J5X3Bvc2l0aW9uJyA9PiAnQi5wb3NpdGlvbicsIC8vIDwtIE5vdCBuZWNjZXJ5IHZhbGlkLCBpZiBKT0lOIHRvIGNhdGVnb3J5IHRhYmxlIGlzIG5vdCBtYWRlLCBjaGVjayB0aGlzLgoJCS8vIGZ1bmN0aW9ucwoJCSdyYW5kJz0+J1JBTkQoKScKCSk7CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hZ2ljIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoTElTRSAmJG1vZCwgJiRwYXJhbXMpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbW9kLCAkcGFyYW1zKTsKCX0KCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgUXVlcnkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHJpdmF0ZSBmdW5jdGlvbiBfYXBwZW5kX2ludGVybmFsKCkKCXsKCQlpZihpc3NldCgkdGhpcy0+cXVlcnkpKQoJCQlyZXR1cm47CgkJCQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoKTsKCQkkcGFyYW1zID0gJHRoaXMtPkdldFBhcmFtcygpOwkJCQoJCQkKCQkvKgoJCSAqIE9SREVSIEJZCgkJICovCgkJaWYoaXNzZXQoJHBhcmFtc1snb3JkZXJieSddKSkgewoKCQkJbGlzdCgkb3JkZXJfY29scywgJGN1c3RvbV9jb2xzKSA9IHNlbGY6OmV4cGxvZGVfb3JkZXJieSgkcGFyYW1zWydvcmRlcmJ5J10sIHNlbGY6OiRvcmRlcmJ5X21hcCk7IC8vIDwtIEFsd2F5cyByZXR1cm5pbmcgdHdvIGFycmF5cwoJCQkKCQkJLy8gSGFuZGxlIGN1c3RvbV8qIG9yZGVyYnkgc3R1ZmYKCQkJaWYoIWVtcHR5KCRjdXN0b21fY29scykpIHsKCgkJCQlmb3JlYWNoKCRjdXN0b21fY29scyBhcyAkaW5kZXg9PiRvYmopIHsKCQkJCQoJCQkJCSRvbmVkZWYgPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkKCRtb2QsICdhbGlhcycsICRvYmotPm5hbWUpOwoJCQkJCWlmKCRvbmVkZWYpIHsKCQkJCQkKCQkJCQkJJGFzID0gJ1ZBTCcgLiAkb25lZGVmLT5HZXRJZCgpOwoJCQkJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX0pPSU5TLCAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kbW9kLT5fR2V0TW9kdWxlQWxpYXMoKS4nX2ZpZWxkdmFsICcuJGFzLicgT04gQS5pdGVtX2lkID0gJy4kYXMuJy5pdGVtX2lkJyk7IAkJCQkJCQkKCQkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgJGFzLicuZmllbGRkZWZfaWQgPSAnLiRkYi0+cXN0cigkb25lZGVmLT5HZXRJZCgpKSk7CQkJCQkJCQkKCQkJCQkJJG9yZGVyX2NvbHNbJGluZGV4XSA9ICRhcy4nLnZhbHVlICcuJG9iai0+b3JkZXI7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlrc29ydCgkb3JkZXJfY29scyk7CgkJCX0KCQkJCgkJCWlmKGNvdW50KCRvcmRlcl9jb2xzKSkgewoJCQkKCQkJCWZvcmVhY2goJG9yZGVyX2NvbHMgYXMgJG9uZSkgewoJCQkJCgkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9PUkRFUkJZLCAkb25lKTsKCQkJCX0KCQkJfQoKCQl9IC8vIGVuZCBvZiBvcmRlcmJ5OwoKCQkvKgoJCSAqIElOQ0xVREUvRVhDTFVERSBJVEVNUwoJCSAqLwkJCQkJCgkJaWYoIWVtcHR5KCRwYXJhbXNbJ2luY2x1ZGVfaXRlbXMnXSkgfHwgIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfaXRlbXMnXSkpIHsKCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2luY2x1ZGVfaXRlbXMnXSkpIHsKCQkJCgkJCQkkYXJyYXkgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snaW5jbHVkZV9pdGVtcyddKTsKCQkJCSRzdHIgPSAiKCI7CgkJCX0KCQkJCgkJCWlmKCFlbXB0eSgkcGFyYW1zWydleGNsdWRlX2l0ZW1zJ10pKSB7CgkJCQoJCQkJJGFycmF5ID0gZXhwbG9kZSgnLCcsICRwYXJhbXNbJ2V4Y2x1ZGVfaXRlbXMnXSk7CgkJCQkkc3RyID0gIk5PVCAoIjsKCQkJfQoJCQkKCQkJJGNvdW50ID0gMDsJCQkKCQkJZm9yZWFjaCAoJGFycmF5IGFzICRhbGlhcykgeyAgCgoJCQkJaWYgKCRjb3VudCA+IDApCgkJCQkJJHN0ciAuPSAnIE9SICc7CgkJCQkJCQoJCQkJJHN0ciAuPSAgaXNfbnVtZXJpYygkYWxpYXMpID8gIiBBLml0ZW1faWQgPSAnIiAuICRhbGlhcyAuICInIiA6ICIgQS5hbGlhcyA9ICciIC4gJGFsaWFzIC4gIiciOwoJCQkJJGNvdW50Kys7CgkJCX0KCQkJJHN0ciAuPSAnKSc7CgkJCQoJCQkkdGhpcy0+QXBwZW5kVG8ocGFyZW50OjpWQVJUWVBFX1dIRVJFLCAkc3RyKTsKCgkJfSAvLyBlbmQgb2YgaW5jbHVkZSBpdGVtczsJCQoJCQoJCS8qCgkJICogSU5DTFVERS9FWENMVURFIENBVEVHT1JZCgkJICovCQkJCQkKCQlpZighZW1wdHkoJHBhcmFtc1snY2F0ZWdvcnknXSkgfHwgIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfY2F0ZWdvcnknXSkpIHsKCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2NhdGVnb3J5J10pKSB7CgkJCQoJCQkJJGFycmF5ID0gZXhwbG9kZSgnLCcsICRwYXJhbXNbJ2NhdGVnb3J5J10pOwoJCQkJJHN0ciA9ICIoIjsKCQkJfQoJCQkKCQkJaWYoIWVtcHR5KCRwYXJhbXNbJ2V4Y2x1ZGVfY2F0ZWdvcnknXSkpIHsKCQkJCgkJCQkkYXJyYXkgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snZXhjbHVkZV9jYXRlZ29yeSddKTsKCQkJCSRzdHIgPSAiTk9UICgiOwoJCQl9CgkJCQoJCQkkY291bnQgPSAwOwoJCQlmb3JlYWNoICgkYXJyYXkgYXMgJGNhdCkgeyAKCgkJCQlpZiAoJGNvdW50ID4gMCkKCQkJCQkkc3RyIC49ICcgT1IgJzsKCQkJCQkJCgkJCQkkc3RyIC49ICIgQi5jYXRlZ29yeV9hbGlhcyA9ICciIC4gJGNhdCAuICInIjsKCQkJCQoJCQkJaWYgKChpc3NldCgkcGFyYW1zWydzdWJjYXRlZ29yeSddKSAmJiAkcGFyYW1zWydzdWJjYXRlZ29yeSddKSB8fCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzdWJjYXRlZ29yeScpKSB7CgkJCQkJCgkJCQkJJHRoaXMtPl9nZXRfc3ViY2F0ZWdvcmllcygkc3RyLCAkY2F0KTsKCQkJCX0JCgkJCQkKCQkJCSRjb3VudCsrOwoJCQl9CgkJCSRzdHIgLj0gJyknOwoJCQkKCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgJHN0cik7CgoJCX0gLy8gZW5kIG9mIGNhdGVnb3J5OwoJCQkKCQkvKgoJCSAqIFNFQVJDSAoJCSAqLwkKCQlpZighZW1wdHkoJHBhcmFtc1snc2VhcmNoJ10pKSB7CgkJCQoJCQkJJHN0ciA9ICRwYXJhbXNbJ3NlYXJjaCddOwoJCQkKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfV0hFUkUsICcoQS50aXRsZSBMSUtFID8gT1IgQS5pdGVtX2lkIElOIChTRUxFQ1QgQy5pdGVtX2lkIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19maWVsZHZhbCBDIFdIRVJFIEMudmFsdWUgTElLRSA/KSknKTsKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJyUnLnRyaW0oJHN0cikuJyUnKTsKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJyUnLnRyaW0oJHN0cikuJyUnKTsKCQkJCgkJfSAvLyBlbmQgb2Ygc2VhcmNoCgkJCgkJLyoKCQkgKiBGSUxURVI6IE1PTlRIICYgWUVBUgoJCSAqLwkKCQlpZighZW1wdHkoJHBhcmFtc1snZmlsdGVyX3llYXInXSkgfHwgIWVtcHR5KCRwYXJhbXNbJ2ZpbHRlcl9tb250aCddKSkgewoKCQkJJHllYXIgPSAhZW1wdHkoJHBhcmFtc1snZmlsdGVyX3llYXInXSkgPyAoaW50KSRwYXJhbXNbJ2ZpbHRlcl95ZWFyJ10gOiBkYXRlKCdZJyk7CgoJCQkkc3RhcnRfbW9udGggPSAhZW1wdHkoJHBhcmFtc1snZmlsdGVyX21vbnRoJ10pID8gKGludCkkcGFyYW1zWydmaWx0ZXJfbW9udGgnXSA6IDE7CgkJCSRlbmRfbW9udGggPSAhZW1wdHkoJHBhcmFtc1snZmlsdGVyX21vbnRoJ10pID8gKGludCkkcGFyYW1zWydmaWx0ZXJfbW9udGgnXSA6IDEyOwkKCQkKCQkJJHN0YXJ0X2RheSA9IDE7CgkJCSRlbmRfZGF5ID0gIWVtcHR5KCRwYXJhbXNbJ2ZpbHRlcl9tb250aCddKSA/IGRhdGUoJ3QnLG1rdGltZSgwLDAsMCwkc3RhcnRfbW9udGgsJHN0YXJ0X2RheSwkeWVhcikpIDogMzE7CgoJCQkkdGltZXN0YW1wMSA9IG1rdGltZSgwLDAsMCwkc3RhcnRfbW9udGgsJHN0YXJ0X2RheSwkeWVhcik7CgkJCSR0aW1lc3RhbXAxID0gJGRiLT5EYlRpbWVTdGFtcCgkdGltZXN0YW1wMSk7CgkJCQoJCQkkdGltZXN0YW1wMiA9IG1rdGltZSgyMyw1OSwwLCRlbmRfbW9udGgsJGVuZF9kYXksJHllYXIpOwoJCQkkdGltZXN0YW1wMiA9ICRkYi0+RGJUaW1lU3RhbXAoJHRpbWVzdGFtcDIpOwoKCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgIihBLmNyZWF0ZV90aW1lIEJFVFdFRU4gJHRpbWVzdGFtcDEgQU5EICR0aW1lc3RhbXAyKSIpOwoJCQkJCgkJfSAvLyBlbmQgb2YgZmlsdGVyX3llYXIJCQoJCgkJLyoKCQkgKiBUSU1FIENPTlRST0wKCQkgKi8JCgkJaWYoIWlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkpCgkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfV0hFUkUsICcoc3RhcnRfdGltZSBJUyBOVUxMIE9SIFRJTUVTVEFNUERJRkYoREFZLCBDVVJEQVRFKCksIHN0YXJ0X3RpbWUpIDw9IDApIEFORCAoZW5kX3RpbWUgSVMgTlVMTCBPUiBUSU1FU1RBTVBESUZGKERBWSwgZW5kX3RpbWUsIENVUkRBVEUoKSkgPD0gMCknKTsKCQoJCS8qCgkJICogU0VBUkNIXyoKCQkgKi8JCgkJJHNlYXJjaF9jbGF1c2UgPSAiQS5pdGVtX2lkIElOIAoJCQkJCQkJKFNFTEVDVCBDLml0ZW1faWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2ZpZWxkdmFsIEMsICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlXyIgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICJfZmllbGRkZWYgRAoJCQkJCQkJCQlXSEVSRSBDLmZpZWxkZGVmX2lkID0gRC5maWVsZGRlZl9pZCAKCQkJCQkJCQkJQU5EIEQuYWxpYXMgPSA/IjsJCQkJCQkJCQkKCQkJCQkKCQkkZmllbGRkZWZzID0gJG1vZC0+R2V0RmllbGREZWZzKCk7CgkJZm9yZWFjaCgkZmllbGRkZWZzIGFzICRmaWVsZGRlZikgewoJCQoJCQlpZighZW1wdHkoJHBhcmFtc1snc2VhcmNoXycuJGZpZWxkZGVmLT5HZXRBbGlhcygpXSkpIHsKCQkJCgkJCQkkdGhpc3BhcmFtID0gJHBhcmFtc1snc2VhcmNoXycuJGZpZWxkZGVmLT5HZXRBbGlhcygpXTsKCQkJCSR0aGlzLT5BcHBlbmRUbyhwYXJlbnQ6OlZBUlRZUEVfUVBBUkFNUywgJGZpZWxkZGVmLT5HZXRBbGlhcygpKTsKCQkJCQoJCQkJJHRoaXNvciA9IGFycmF5KCk7CgkJCQlmb3JlYWNoKChhcnJheSkkdGhpc3BhcmFtIGFzICR0aGlzdmFsdWUpIHsKCQkJCQoJCQkJCSR0aGlzb3JbXSA9ICdDLnZhbHVlID0gPyc7CgkJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9RUEFSQU1TLCAkdGhpc3ZhbHVlKTsKCQkJCX0KCQkJCQoJCQkJJHRoaXMtPkFwcGVuZFRvKHBhcmVudDo6VkFSVFlQRV9XSEVSRSwgJHNlYXJjaF9jbGF1c2UgLiAiIEFORCAiIC4gaW1wbG9kZSgiIE9SICIsICR0aGlzb3IpIC4gIikiKTsJCgkJCX0KCQl9CQkKCX0KCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIF9xdWVyeSgpCgl7CgkJJGRiID0gJHRoaXMtPkdldERiKCk7CgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOwoJCSRwYXJhbXMgPSAkdGhpcy0+R2V0UGFyYW1zKCk7CgkJCQoJCSRvcmRlcl9jb2xzID0gYXJyYXkoKTsKCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOwoJCSR0aGlzLT5fYXBwZW5kX2ludGVybmFsKCk7CgkJCQkJCgkJLy8gSW5pdCBxdWVyeQoJCSR0aGlzLT5xdWVyeSA9ICdTRUxFQ1QgQS4qIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIEEgCgkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIElCIAoJCQkJCU9OIEEuaXRlbV9pZCA9IElCLml0ZW1faWQgCgkJCQkJTEVGVCBKT0lOICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgQiAKCQkJCQlPTiBJQi5jYXRlZ29yeV9pZCA9IEIuY2F0ZWdvcnlfaWQgJzsKCQkJCQkJCgkJLy8gTWVyZ2UgZXZlcnl0aGluZyB0byBvbmUgcXVlcnkKCQlpZihjb3VudCgkdGhpcy0+am9pbnMpKQoJCQkkdGhpcy0+cXVlcnkgLj0gaW1wbG9kZSgnICcsICR0aGlzLT5qb2lucyk7CgkJCgkJaWYoY291bnQoJHRoaXMtPndoZXJlKSkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgV0hFUkUgJyAuIGltcGxvZGUoJyBBTkQgJywgJHRoaXMtPndoZXJlKTsKCgkJJHRoaXMtPnF1ZXJ5IC49ICcgR1JPVVAgQlkgQS5pdGVtX2lkICc7CQkJCgkJCQoJCWlmKGNvdW50KCR0aGlzLT5vcmRlcmJ5KSkgewoJCQoJCQkkdGhpcy0+cXVlcnkgLj0gJyBPUkRFUiBCWSAnIC4gaW1wbG9kZSgnLCAnLCAkdGhpcy0+b3JkZXJieSk7CgkJfSBlbHNlIHsKCQkKCQkJJHRoaXMtPnF1ZXJ5IC49ICcgT1JERVIgQlkgQS5wb3NpdGlvbiAnIC4gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJyk7CgkJfQoJCQkKCQkvLyBJbml0IHBhcmFtcyBuZWNlc3NhcnkgdG8gZXhlY3V0aW9uCgkJJHBhZ2Vjb3VudCA9IC0xOwoJCSRzdGFydGVsZW1lbnQgPSAwOwoJCSRwYWdlbnVtYmVyID0gJHRoaXMtPkdldFBhZ2VOdW1iZXIoKTsKCQkkcGFnZWxpbWl0ID0gJHRoaXMtPkdldFBhZ2VMaW1pdCgpOwoJCSRzdGFydGVsZW1lbnQgPSAoJHBhZ2VudW1iZXItMSkgKiAkcGFnZWxpbWl0OwoJCQoJCSRyZXMgPSAkZGItPkdldEFycmF5KCR0aGlzLT5xdWVyeSwgJHRoaXMtPnFwYXJhbXMpOwkKCQkkdGhpcy0+dG90YWxjb3VudCA9IGNvdW50KCRyZXMpOwoJCQkKCQlpZihpc3NldCgkcGFyYW1zWydzdGFydCddKSkgewoKCQkJJHRoaXMtPnRvdGFsY291bnQgLT0gKGludCkkcGFyYW1zWydzdGFydCddOwoJCQkkc3RhcnRlbGVtZW50ID0gJHN0YXJ0ZWxlbWVudCArIChpbnQpJHBhcmFtc1snc3RhcnQnXTsKCQl9CgoJCSR0aGlzLT5wYWdlY291bnQgPSAoaW50KSgkdGhpcy0+dG90YWxjb3VudCAvICRwYWdlbGltaXQpOwoJCWlmKCgkdGhpcy0+dG90YWxjb3VudCAlICRwYWdlbGltaXQpICE9IDApICR0aGlzLT5wYWdlY291bnQrKzsKCgkJJHRoaXMtPnJlc3VsdHNldCA9ICRkYi0+U2VsZWN0TGltaXQoJHRoaXMtPnF1ZXJ5LCAkcGFnZWxpbWl0LCAkc3RhcnRlbGVtZW50LCAkdGhpcy0+cXBhcmFtcyk7Cgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIENsYXNzIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCQoJCglzdGF0aWMgcHJpdmF0ZSBmdW5jdGlvbiBleHBsb2RlX29yZGVyYnkoJHBhcmFtLCAkdmFsaWRfY29scyl7CgkKCQkkb3JkZXJfY29scyA9IGFycmF5KCk7CgkJJGN1c3RvbV9jb2xzID0gYXJyYXkoKTsKCQkkaW5kZXggPSAwOwoJCQoJCWZvcmVhY2goZXhwbG9kZSgnLCcsICRwYXJhbSkgYXMgJGNvbCkgewoJCQoJCQkkY29sID0gdHJpbSgkY29sKTsKCQkJJGNvbF9wYXJ0cyA9IGV4cGxvZGUoJ3wnLCAkY29sKTsKCQoJCQkvLyBjb2x1bW4gbmFtZQoJCQkkY29sX25hbWUgPSAkY29sX3BhcnRzWzBdOwoJCQkkY29sX29yZGVyID0gJ0FTQyc7CgkKCQkJLy8gb3JkZXIgY29sdW1uIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nCgkJCWlmKGlzc2V0KCRjb2xfcGFydHNbMV0pKSB7CgkJCQkKCQkJCSRjb2xfb3JkZXIgPSAoaW5fYXJyYXkoJGNvbF9wYXJ0c1sxXSwgYXJyYXkoJ0FTQycsICdERVNDJykpID8gJGNvbF9wYXJ0c1sxXSA6ICdBU0MnKTsKCQkJfQoJCgkJCSRjb2xfb3JkZXIgPSAoaW5fYXJyYXkoJGNvbF9vcmRlciwgYXJyYXkoJ0FTQycsICdERVNDJykpID8gJGNvbF9vcmRlciA6ICdBU0MnKTsKCQoJCQlpZihpc3NldCgkdmFsaWRfY29sc1skY29sX25hbWVdKSkgewoJCQkKCQkJCSRvcmRlcl9jb2xzWyRpbmRleF0gPSAkdmFsaWRfY29sc1skY29sX25hbWVdIC4gJyAnIC4gJGNvbF9vcmRlcjsKCQkJfSAKCQkJZWxzZWlmIChzdGFydHN3aXRoKCRjb2xfbmFtZSwgJ2N1c3RvbV8nKSkgewoJCQkJCgkJCQkkY3VzdG9tX25hbWUgPSBzdWJzdHIoJGNvbF9uYW1lLCA3KTsKCQkJCSRvYmogPSBuZXcgc3RkQ2xhc3M7CgkJCQkkb2JqLT5uYW1lID0gJGN1c3RvbV9uYW1lOwoJCQkJJG9iai0+b3JkZXIgPSAkY29sX29yZGVyOwoJCQkJCgkJCQkkY3VzdG9tX2NvbHNbJGluZGV4XSA9ICRvYmo7CgkJCX0KCQkJCgkJCSRpbmRleCsrOwoJCX0KCQkJCgkJcmV0dXJuIGFycmF5KCRvcmRlcl9jb2xzLCAkY3VzdG9tX2NvbHMpOwoJfQkJCgkKCXByaXZhdGUgZnVuY3Rpb24gX2dldF9zdWJjYXRlZ29yaWVzKCYkc3RyLCAkYWxpYXMpCgl7CgkJJGRiID0gJHRoaXMtPkdldERiKCk7CgkJJG1vZCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgpOwkKCQoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfaWQgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IFdIRVJFIGNhdGVnb3J5X2FsaWFzID0gPyI7CgkJJHN1YmNhdCA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoJGFsaWFzKSk7CgkJCgkJaWYoISRzdWJjYXQpCgkJCXJldHVybiBGQUxTRTsKCQkJCgkJJHN0ciAuPSAiIE9SIEIucGFyZW50X2lkID0gJyIgLiAkc3ViY2F0IC4gIiciOwoJCQoJCSRxdWVyeSA9ICJTRUxFQ1QgY2F0ZWdvcnlfYWxpYXMgRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJG1vZC0+X0dldE1vZHVsZUFsaWFzKCkgLiAiX2NhdGVnb3J5IFdIRVJFIHBhcmVudF9pZCA9ID8iOwoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkc3ViY2F0KSk7CgkJCgkJd2hpbGUoJGRiciAmJiAhJGRici0+RU9GKSB7CgoJCQkkdGhpcy0+X2dldF9zdWJjYXRlZ29yaWVzKCRzdHIsICRkYnItPmZpZWxkc1snY2F0ZWdvcnlfYWxpYXMnXSk7CgkJCSRkYnItPk1vdmVOZXh0KCk7CgkJfQoKCQlpZigkZGJyKSAKCQkJJGRici0+Q2xvc2UoKTsJCQkKCQkKCX0JCgkKfSAvLyBlbmQgb2YgY2xhc3MKCj8+CQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISELoader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY2xhc3MgTElTRUxvYWRlcg0Kew0KICBzdGF0aWMgZmluYWwgcHVibGljIGZ1bmN0aW9uIGxvYWRlcigkcGFyYW1zLCAmJHNtYXJ0eSkNCiAgew0KICAgICRpdGVtID0gaXNzZXQoJHBhcmFtc1snaXRlbSddKSA/ICRwYXJhbXNbJ2l0ZW0nXSA6ICdpdGVtJzsNCiAgICAkaW5zdGFuY2UgPSBpc3NldCgkcGFyYW1zWydpbnN0YW5jZSddKSA/ICRwYXJhbXNbJ2luc3RhbmNlJ10gOiBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgnbGlzZV9pbnN0YW5jZScpOyAvLyBNYW5kYXRvcnkNCiAgICAkaWRlbnRpZmllciA9IGlzc2V0KCRwYXJhbXNbJ2lkZW50aWZpZXInXSkgPyAkcGFyYW1zWydpZGVudGlmaWVyJ10gOiBudWxsOw0KICAgICR2YWx1ZSA9IGlzc2V0KCRwYXJhbXNbJ3ZhbHVlJ10pID8gJHBhcmFtc1sndmFsdWUnXSA6IG51bGw7IC8vIE1hbmRhdG9yeQ0KICAgICRmb3JjZV9hcnJheSA9IGlzc2V0KCRwYXJhbXNbJ2ZvcmNlX2FycmF5J10pID8gdHJ1ZSA6IGZhbHNlOw0KICAgICRyZXN1bHQgPSBhcnJheSgpOw0KDQogICAgaWYoaXNfbnVsbCgkaW5zdGFuY2UpKQ0KICAgICAgdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJHNtYXJ0eS0+bGVmdF9kZWxpbWl0ZXIgLiAiTElTRUxvYWRlciIgLiAkc21hcnR5LT5yaWdodF9kZWxpbWl0ZXIgLiAiOiBQYXJhbWV0ZXIgaW5zdGFuY2UgaXMgbm90IGdpdmVuLiIpOw0KICANCiAgICBpZihpc19udWxsKCR2YWx1ZSkpDQogICAgICB0aHJvdyBuZXcgTElTRUV4Y2VwdGlvbigkc21hcnR5LT5sZWZ0X2RlbGltaXRlciAuICJMSVNFTG9hZGVyIiAuICRzbWFydHktPnJpZ2h0X2RlbGltaXRlciAuICI6IFBhcmFtZXRlciB2YWx1ZSBpcyBub3QgZ2l2ZW4uIik7DQogICAgICANCiAgICAvLyBMb2FkIHdhbnRlZCBpbnN0YW5jZQ0KICAgICRpbnN0YW5jZSA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCRpbnN0YW5jZSk7DQogICAgaWYoISRpbnN0YW5jZSBpbnN0YW5jZW9mIExJU0UpDQogICAgICB0aHJvdyBuZXcgTElTRUV4Y2VwdGlvbigkc21hcnR5LT5sZWZ0X2RlbGltaXRlciAuICJMSVNFTG9hZGVyIiAuICRzbWFydHktPnJpZ2h0X2RlbGltaXRlciAuICI6IExvYWRlZCBpbnN0YW5jZSBpcyBub3QgTElTRSBpbnN0YW5jZS4iKTsNCiAgICANCiAgICAvLyBHZXQgbG9hZGVyIGluZm8NCiAgICBzd2l0Y2goJGl0ZW0pIHsNCiAgICANCiAgICAgIGNhc2UgJ2l0ZW0nOg0KICAgICAgICANCiAgICAgICAgJGxvYWRlciA9ICdMb2FkSXRlbUJ5SWRlbnRpZmllcic7DQogICAgICAgIGlmKGlzX251bGwoJGlkZW50aWZpZXIpKQ0KICAgICAgICAgICRpZGVudGlmaWVyID0gJ2l0ZW1faWQnOw0KICAgICAgICBicmVhazsNCiAgICAgICAgDQogICAgICBjYXNlICdjYXRlZ29yeSc6DQoNCiAgICAgICAgJGxvYWRlciA9ICdMb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXInOw0KICAgICAgICBpZihpc19udWxsKCRpZGVudGlmaWVyKSkNCiAgICAgICAgICAkaWRlbnRpZmllciA9ICdjYXRlZ29yeV9pZCc7ICAgICAgICANCiAgICAgICAgYnJlYWs7DQogICAgICAgIA0KICAgICAgZGVmYXVsdDoNCiAgICAgICAgdGhyb3cgbmV3IExJU0VFeGNlcHRpb24oJHNtYXJ0eS0+bGVmdF9kZWxpbWl0ZXIgLiAiTElTRUxvYWRlciIgLiAkc21hcnR5LT5yaWdodF9kZWxpbWl0ZXIgLiAiOiBVbmtub3duIGl0ZW0gdHlwZSIpOw0KDQogICAgfSAvLyBlbmQgc3dpdGNoDQogICAgDQogICAgLy9Mb2FkDQogICAgJHZhbHVlID0gZXhwbG9kZSgnLCcsICR2YWx1ZSk7DQogICAgZm9yZWFjaCgoYXJyYXkpJHZhbHVlIGFzICRvbmUpIHsNCiAgICANCiAgICAgICRyZXN1bHRbJG9uZV0gPSAkaW5zdGFuY2UtPiRsb2FkZXIoJGlkZW50aWZpZXIsICRvbmUpOw0KICAgIH0NCiAgICAgIA0KICAgIC8vIFJldHVybiBzaW5ndWxhciwgaWYgc2luZ3VsYXIgJiBmb3JjZSBhcnJheSBpcyBPZmYNCiAgICBpZihjb3VudCgkcmVzdWx0KSA9PSAxICYmICEkZm9yY2VfYXJyYXkpICAgICANCiAgICAgICRyZXN1bHQgPSAkcmVzdWx0W2tleSgkcmVzdWx0KV07DQogICAgICAgIA0KICAgIC8vIEFzc2lnbg0KICAgIGlmKGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSkgew0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCAkcmVzdWx0KTsgICAgICANCiAgICAgIHJldHVybjsNCiAgICB9DQogIA0KICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIA0KICB9DQp9DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEQuery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmFic3RyYWN0IGNsYXNzIExJU0VRdWVyeQp7CgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIENvbnN0YW50cwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCgljb25zdCBWQVJUWVBFX0pPSU5TIAk9ICdqb2lucyc7Cgljb25zdCBWQVJUWVBFX1dIRVJFIAk9ICd3aGVyZSc7Cgljb25zdCBWQVJUWVBFX09SREVSQlkgCT0gJ29yZGVyYnknOwoJY29uc3QgVkFSVFlQRV9RUEFSQU1TIAk9ICdxcGFyYW1zJzsKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEF0dHJpYnV0ZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQoJcHJpdmF0ZSAkX3BhcmFtczsKCXByaXZhdGUgJF9pbnN0YW5jZTsKCS8vcHJpdmF0ZSAkX2RiOwoKCXByb3RlY3RlZCAkam9pbnM7Cglwcm90ZWN0ZWQgJHdoZXJlOwoJcHJvdGVjdGVkICRvcmRlcmJ5OwoJcHJvdGVjdGVkICRxcGFyYW1zOwoKCXByb3RlY3RlZCAkcXVlcnk7IC8vIE5vdCBzZXQJCglwcm90ZWN0ZWQgJHJlc3VsdHNldDsgLy8gTm90IHNldAoJcHJvdGVjdGVkICR0b3RhbGNvdW50OyAvLyBOb3Qgc2V0Cglwcm90ZWN0ZWQgJHBhZ2Vjb3VudDsgLy8gTm90IHNldAoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgTWFnaWMgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMSVNFICYkbW9kLCAmJHBhcmFtcykKCXsKCQkvLyR0aGlzLT5fZGIgCQkJPSBjbXNtcygpLT5HZXREYigpOwkKCQkkdGhpcy0+X2luc3RhbmNlIAk9ICRtb2Q7CgkJJHRoaXMtPl9wYXJhbXMgCQk9ICRwYXJhbXM7CgkJCgkJJHRoaXMtPmpvaW5zIAkJPSBhcnJheSgpOwoJCSR0aGlzLT53aGVyZSAJCT0gYXJyYXkoKTsKCQkkdGhpcy0+b3JkZXJieSAJCT0gYXJyYXkoKTsKCQkkdGhpcy0+cXBhcmFtcyAJCT0gYXJyYXkoKTsKCX0KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBYnN0cmFjdCBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCglhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCk7CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgVXRpbGl0eSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCQoJcHJvdGVjdGVkIGZ1bmN0aW9uIEdldERiKCkKCXsKCQlyZXR1cm4gY21zbXMoKS0+R2V0RGIoKTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIEdldE1vZHVsZUluc3RhbmNlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPl9pbnN0YW5jZTsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRQYXJhbXMoKQoJewoJCXJldHVybiAkdGhpcy0+X3BhcmFtczsKCX0JCgkKCXB1YmxpYyBmdW5jdGlvbiBTZXRQYXJhbSgka2V5LCAkdmFsdWUpCgl7CgkJJHRoaXMtPl9wYXJhbXNbJGtleV0gPSAkdmFsdWU7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRQYXJhbSgka2V5KQoJewoJCXJldHVybiBpc3NldCgkdGhpcy0+X3BhcmFtc1ska2V5XSkgPyAkdGhpcy0+X3BhcmFtc1ska2V5XSA6IG51bGw7Cgl9CgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIERhdGFiYXNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgkKCXB1YmxpYyBmdW5jdGlvbiBBcHBlbmRUbygkdmFyLCAkdmFsdWUpCgl7CgkJJHZhciA9IHN0cnRvbG93ZXIoJHZhcik7CgkJJHZhbHVlID0gKHN0cmluZykkdmFsdWU7CgkKCQlzd2l0Y2goJHZhcikgewoJCQoJCQljYXNlIHNlbGY6OlZBUlRZUEVfSk9JTlM6CgkJCQkkdGhpcy0+am9pbnNbXSA9ICR2YWx1ZTsKCQkJCWJyZWFrOwoJCQkJCgkJCWNhc2Ugc2VsZjo6VkFSVFlQRV9XSEVSRToKCQkJCSR0aGlzLT53aGVyZVtdID0gJHZhbHVlOwoJCQkJYnJlYWs7CgoJCQljYXNlIHNlbGY6OlZBUlRZUEVfT1JERVJCWToKCQkJCSR0aGlzLT5vcmRlcmJ5W10gPSAkdmFsdWU7CgkJCQlicmVhazsKCgkJCWNhc2Ugc2VsZjo6VkFSVFlQRV9RUEFSQU1TOgoJCQkJJHRoaXMtPnFwYXJhbXNbXSA9ICR2YWx1ZTsKCQkJCWJyZWFrOwkJCQkKCQkKCQkJZGVmYXVsdDoKCQkJCXRocm93IG5ldyBMSVNFRXhjZXB0aW9uKCdBdHRlbXB0IHRvIHNldCB1bmlkZW50aWZpZWQgVkFSVFlQRS4nKTsKCQl9CgkJCgkJcmV0dXJuIHRydWU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEV4ZWN1dGUoJGZvcmNlX2V4ZWN1dGUgPSBmYWxzZSkKCXsKCQlpZighaXNzZXQoJHRoaXMtPnJlc3VsdHNldCkgfHwgJGZvcmNlX2V4ZWN1dGUpCgkJCSR0aGlzLT5fcXVlcnkoKTsKCQkJCgkJcmV0dXJuICR0aGlzLT5yZXN1bHRzZXQ7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBUb3RhbENvdW50KCkKCXsKCQlpZihpc3NldCgkdGhpcy0+dG90YWxjb3VudCkpCgkJCXJldHVybiAkdGhpcy0+dG90YWxjb3VudDsKCQkJCgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRQYWdlQ291bnQoKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5wYWdlY291bnQpKQoJCQlyZXR1cm4gJHRoaXMtPnBhZ2Vjb3VudDsKCQkJCgkJcmV0dXJuIG51bGw7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRQYWdlTGltaXQoKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5fcGFyYW1zWydwYWdlbGltaXQnXSkpIAoJCQlyZXR1cm4gKGludCkkdGhpcy0+X3BhcmFtc1sncGFnZWxpbWl0J107CgkJCQoJCXJldHVybiAxMDAwMDA7CQoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIEdldFBhZ2VOdW1iZXIoKQoJewoJCWlmKGlzc2V0KCR0aGlzLT5fcGFyYW1zWydwYWdlbnVtYmVyJ10pKSAKCQkJcmV0dXJuIChpbnQpJHRoaXMtPl9wYXJhbXNbJ3BhZ2VudW1iZXInXTsKCQkJCgkJaWYoaXNzZXQoJHRoaXMtPl9wYXJhbXNbJ3BhZ2UnXSkpIAoJCQlyZXR1cm4gKGludCkkdGhpcy0+X3BhcmFtc1sncGFnZSddOwkJCQoJCQkKCQlyZXR1cm4gMTsJCgl9CQoKfSAvLyBlbmQgb2YgY2xhc3MKCj8+CQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISESmarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBMSVNFU21hcnR5IAp7CiAgc3RhdGljIHByaXZhdGUgJF9yZWFkeSA9IEZBTFNFOwogIHN0YXRpYyBwcml2YXRlICRfTEkyX3ByZXNlbnQgPSBGQUxTRTsKICBzdGF0aWMgcHJpdmF0ZSAkX0NNU01TMiA9IEZBTFNFOwogIAogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9pbml0KCkKICB7CiAgICBpZighc2VsZjo6JF9yZWFkeSkKICAgIHsKICAgICAgc2VsZjo6JF9MSTJfcHJlc2VudCA9IGlzX29iamVjdCggY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0xpc3RJdDInKSApOwogICAgICBzZWxmOjokX0NNU01TMiA9IGxpc2VfdXRpbHM6OmlzQ01TMigpOwogICAgICBzZWxmOjokX3JlYWR5ID0gVFJVRTsKICAgIH0KICB9CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBMSTJfcHJlc2VudCgpCiAgewogICAgc2VsZjo6X2luaXQoKTsKICAgIHJldHVybiBzZWxmOjokX0xJMl9wcmVzZW50OwogIH0KICAgIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gSXNDTVNNUzIoKQogIHsKICAgIHNlbGY6Ol9pbml0KCk7CiAgICByZXR1cm4gc2VsZjo6JF9DTVNNUzI7CiAgfQogIAogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gSW5zdGFuY2VOYW1lKCkKICB7CiAgICAkaW5zdGFuY2UgPSBjbXNfdXRpbHM6OmdldF9hcHBfZGF0YSgnbGlzZV9pbnN0YW5jZScpOwogICAgaWYoIGVtcHR5KCRpbnN0YW5jZSkgKSAkaW5zdGFuY2UgPSAnOjpOQTo6JzsgCiAgICByZXR1cm4gJGluc3RhbmNlOwogIH0KCQp9IC8vIGVuZCBvZiBjbGFzcwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISETemplateResource.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovKioKKiBUaGlzIGNsYXNzIGRlZmluZXMgYSBuZXcgdGVtcGxhdGUgcmVzb3VyY2UKKiBhbmQgaXMgYmFzaWNhbHkgYmFzZWQgb24gdGhlIGNvcmUgb3duCiogQ01TTW9kdWxlRmlsZVRlbXBsYXRlUmVzb3VyY2UgYW5kIENNU19GaXhlZF9SZXNvdXJjZV9DdXN0b20KKiBDTVNfRml4ZWRfUmVzb3VyY2VfQ3VzdG9tIGZpeGVzIHNvbWUgd2VpcmQgc3R1ZmYgaW4gc21hcnR5CiogYnV0IGFzIHRoZXNlIGFyZSBpbnRlcm5hbCBjb3JlIGNsYXNzZXMsIHdlIGp1c3QgY29weSB0aGUgY29kZSAKKiBhbmQgYWRhcHQgaXQgdG8gb3VyIG5lZWRzCiogCiogSm8gTW9yZyAKKi8KY2xhc3MgTElTRVRlbXBsYXRlUmVzb3VyY2UgZXh0ZW5kcyBTbWFydHlfUmVzb3VyY2VfQ3VzdG9tCnsKICAvKioKICAqIGEgZml4IHRvIHJlc29sdmUgYW4gaXNzdWUgd2l0aCBzbWFydHkKICAqIAogICogQHBhcmFtIFNtYXJ0eV9UZW1wbGF0ZV9Tb3VyY2UgJHNvdXJjZQogICogQHBhcmFtIFNtYXJ0eV9JbnRlcm5hbF9UZW1wbGF0ZSAkX3RlbXBsYXRlCiAgKi8KICBwdWJsaWMgZnVuY3Rpb24gcG9wdWxhdGUoU21hcnR5X1RlbXBsYXRlX1NvdXJjZSAkc291cmNlLCBTbWFydHlfSW50ZXJuYWxfVGVtcGxhdGUgJF90ZW1wbGF0ZSA9IG51bGwpCiAgewogICAgJHNvdXJjZS0+ZmlsZXBhdGggPSAkc291cmNlLT50eXBlIC4gJzonIC4gJHNvdXJjZS0+bmFtZTsKICAgICRzb3VyY2UtPnVpZCA9IHNoYTEoJHNvdXJjZS0+dHlwZSAuICc6JyAuICRzb3VyY2UtPm5hbWUpOwoKICAgICRtdGltZSA9ICR0aGlzLT5mZXRjaFRpbWVzdGFtcCgkc291cmNlLT5uYW1lKTsKICAgIAogICAgaWYgKCRtdGltZSAhPT0gbnVsbCkKICAgIHsKICAgICAgICAkc291cmNlLT50aW1lc3RhbXAgPSAkbXRpbWU7CiAgICB9CiAgICBlbHNlIAogICAgewogICAgICAgICR0aGlzLT5mZXRjaCgkc291cmNlLT5uYW1lLCAkY29udGVudCwgJHRpbWVzdGFtcCk7CiAgICAgICAgJHNvdXJjZS0+dGltZXN0YW1wID0gaXNzZXQoJHRpbWVzdGFtcCkgPyAkdGltZXN0YW1wIDogZmFsc2U7CiAgICAgICAgaWYoIGlzc2V0KCRjb250ZW50KSApICRzb3VyY2UtPmNvbnRlbnQgPSAkY29udGVudDsKICAgIH0KICAgIAogICAgJHNvdXJjZS0+ZXhpc3RzID0gISEkc291cmNlLT50aW1lc3RhbXA7CiAgfQogIAogIC8qKgogICogT3VyIG1lY2hhbmlzbSB0byBkZWFsIHdpdGggdGhlIHRlbXBsYXRlcwogICogZm9yIHRoZSBpbnN0YW5jZXMKICAqIAogICogQHBhcmFtIG1peGVkICRuYW1lCiAgKiBAcGFyYW0gbWl4ZWQgJHNvdXJjZQogICogQHBhcmFtIG1peGVkICRtdGltZQogICovCiAgcHVibGljIGZ1bmN0aW9uIGZldGNoKCRuYW1lLCAmJHNvdXJjZSwgJiRtdGltZSkKICB7CiAgICAkc291cmNlID0gbnVsbDsKICAgICRtdGltZSA9IG51bGw7CiAgICAkcGFyYW1zID0gcHJlZ19zcGxpdCgnLzsvJywgJG5hbWUpOwoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRmaWxlcyA9IGFycmF5KCk7CiAgICAKICAgIHN3aXRjaCAoJHBhcmFtc1swXSkgCiAgICB7CiAgICAgICBjYXNlICdpbnN0YW5jZSc6CiAgICAgICAgICAgIGlmKCBjb3VudCgkcGFyYW1zKSAhPSAzICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignaW52YWxpZCBMSVNFIHRlbXBsYXRlIHJlc291cmNlOiAnIC4gJHBhcmFtc1swXSk7CiAgICAgICAgICAgICRmaWxlc1tdID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZV9jdXN0b20nLCAkcGFyYW1zWzFdLCAndGVtcGxhdGVzJywgJHBhcmFtc1syXSk7CiAgICAgICAgICAgICRmaWxlc1tdID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJ21vZHVsZXMnLCRwYXJhbXNbMV0sICd0ZW1wbGF0ZXMnLCAkcGFyYW1zWzJdKTsKICAgICAgICAgICAgJGZpbGVzW10gPSBjbXNfam9pbl9wYXRoKExJU0VfVEVNUExBVEVfUEFUSCwgJHBhcmFtc1syXSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAgICAgIGNhc2UgJ2ZpZWxkZGVmJzoKICAgICAgICAgICAgaWYoIGNvdW50KCRwYXJhbXMpICE9IDIgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdpbnZhbGlkIExJU0UgdGVtcGxhdGUgcmVzb3VyY2U6ICcgLiAkcGFyYW1zWzBdKTsKICAgICAgICAgICAgJGZpbGVzW10gPSAkcGFyYW1zWzFdOwogICAgICAgICAgYnJlYWs7ICAKICAgICAgIAogICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignaW52YWxpZCBMSVNFIHRlbXBsYXRlIHJlc291cmNlOiAnIC4gJHBhcmFtc1swXSk7CiAgICB9CgogICAgZm9yZWFjaCggJGZpbGVzIGFzICRvbmUgKSAKICAgIHsKICAgICAgaWYoIGZpbGVfZXhpc3RzKCRvbmUpICkgCiAgICAgIHsKICAgICAgICAkc291cmNlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRvbmUpOwogICAgICAgICRtdGltZSA9IEBmaWxlbXRpbWUoJG9uZSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICB9CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISEURLOperations.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY2xhc3MgTElTRVVSTE9wZXJhdGlvbnMNCnsNCiAgcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBjcmVhdGVfc3RhdGljX3JvdXRlcygkbW9kKQ0KICB7DQogICAgY21zX3JvdXRlX21hbmFnZXI6OmRlbF9zdGF0aWMoJycsICRtb2QtPkdldE5hbWUoKSApOw0KDQogICAgLy8gR2V0IHN1bW1hcnlwYWdlDQogICAgJHN1bW1hcnlwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeXBhZ2UnLCBudWxsKTsNCiAgICANCiAgICBpZihpc19udWxsKCRzdW1tYXJ5cGFnZSkpIA0KICAgIHsNCiAgICANCiAgICAgIGlmKCFpc3NldCgkY29udGVudG9wcykpDQogICAgICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsNCiAgICAgICAgDQogICAgICAkc3VtbWFyeXBhZ2UgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdFBhZ2VJRCgpOw0KICAgIH0NCiAgICAgIA0KICAgICAgLy8gR2V0IGRldGFpbHBhZ2UNCiAgICAgICRkZXRhaWxwYWdlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsIG51bGwpOw0KICAgICAgaWYoaXNfbnVsbCgkZGV0YWlscGFnZSkpIA0KICAgICAgew0KICAgICAgDQogICAgICAgIGlmKCFpc3NldCgkY29udGVudG9wcykpDQogICAgICAgICAgJGNvbnRlbnRvcHMgPSBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOw0KICAgICAgICANCiAgICAgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdFBhZ2VJRCgpOw0KICAgICAgfQ0KICAgICAgDQogICAgICAvLyBHZXQgc3ViY2F0ZWdvcnkNCiAgICAgICRzdWJjYXRlZ29yeSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3N1YmNhdGVnb3J5Jyk7DQogICAgICANCiAgICAgIC8vIHRhZ3MgICAgDQogICAgICAkbW9kLT5SZWdpc3RlclJvdXRlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJG1vZC0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnXC90YWdcLyg/UDx0YWc+Lis/KVwvKD9QPHJldHVybmlkPlswLTldKylcJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICANCiAgICAgIC8vIEFyY2hpdmUNCiAgICAgICRtb2QtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJG1vZC0+cHJlZml4IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvYXJjaGl2ZVwvKD9QPGZpbHRlcl95ZWFyPlswLTldKz8pXC8oP1A8ZmlsdGVyX21vbnRoPlswLTldKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgIC8vJG1vZC0+UmVnaXN0ZXJSb3V0ZSgnLycuJG1vZC0+cHJlZml4LidcL2FyY2hpdmVcLyg/UDxmaWx0ZXJfeWVhcj5bMC05XSs/KVwvKD9QPGZpbHRlcl9tb250aD5bMC05XSs/KSQvJywgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnLCAncmV0dXJuaWQnID0+ICRzdW1tYXJ5cGFnZSkpOw0KICAgICAgJG1vZC0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICRtb2QtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvYXJjaGl2ZVwvKD9QPGZpbHRlcl95ZWFyPlswLTldKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgLy8kbW9kLT5SZWdpc3RlclJvdXRlKCcvJy4kbW9kLT5wcmVmaXguJ1wvYXJjaGl2ZVwvKD9QPGZpbHRlcl95ZWFyPlswLTldKz8pJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcsICdyZXR1cm5pZCcgPT4gJHN1bW1hcnlwYWdlKSk7DQogICAgICANCiAgICAgIC8vIFBhZ2luYXRpb24NCiAgICAgICRtb2QtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAkbW9kLT5wcmVmaXgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICdcL3BhZ2VcLyg/UDxwYWdlbnVtYmVyPlswLTldKz8pXC8oP1A8cGFnZWxpbWl0PlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgJG1vZC0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICRtb2QtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvcGFnZVwvKD9QPHBhZ2VudW1iZXI+WzAtOV0rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGVmYXVsdCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICANCiAgICAgIC8vIEhpZXJhcmNoeSB2aWV3ICAgIA0KICAgICAgJG1vZC0+UmVnaXN0ZXJSb3V0ZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICRtb2QtPnByZWZpeA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1wvKD9QPGNhdGVnb3J5Pi4rPylcLyg/UDxpZF9oaWVyYXJjaHk+WzAtOS5dKylcLyg/UDxpdGVtPi4rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICRtb2QtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJG1vZC0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnXC8oP1A8Y2F0ZWdvcnk+Lis/KVwvKD9QPGlkX2hpZXJhcmNoeT5bMC05Ll0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RlZmF1bHQnLCAnc3ViY2F0ZWdvcnknID0+ICRzdWJjYXRlZ29yeSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgKTsgIA0KICAgDQogICAgICAvLyBTaW5ndWxhciAgICANCiAgICAgICRtb2QtPlJlZ2lzdGVyUm91dGUoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAkbW9kLT5wcmVmaXgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICdcLyg/UDxpdGVtPi4rPylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8ZGV0YWlsdGVtcGxhdGU+Lis/KSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICAgICAgICANCiAgICAgIC8vJG1vZC0+UmVnaXN0ZXJSb3V0ZSgnLycuJG1vZC0+cHJlZml4LidcLyg/UDxpdGVtPi4rPylcLyg/UDxkZXRhaWx0ZW1wbGF0ZT5bYS16QS1aXy1dKz8pJC8nLCBhcnJheSgnYWN0aW9uJyA9PiAnZGV0YWlsJywgJ3JldHVybmlkJyA9PiAkZGV0YWlscGFnZSkpOw0KICAgICAgDQogICAgICAkbW9kLT5SZWdpc3RlclJvdXRlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gJG1vZC0+cHJlZml4DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnXC8oP1A8aXRlbT4uKz8pXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcpDQogICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgIA0KICAgICAgLy8kbW9kLT5SZWdpc3RlclJvdXRlKCcvJy4kbW9kLT5wcmVmaXguJ1wvKD9QPGl0ZW0+Lis/KSQvJywgYXJyYXkoJ2FjdGlvbicgPT4gJ2RldGFpbCcsICdyZXR1cm5pZCcgPT4gJGRldGFpbHBhZ2UpKTsgIA0KDQogIH0NCiAgDQogIHB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gY3JlYXRlX2xpbmsoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtb2QgPSBOVUxMLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaWQgPSBOVUxMLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFjdGlvbiAgPSAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXR1cm5pZCA9ICcnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnRzID0gJycsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zID0gYXJyYXkoKSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3YXJuX21lc3NhZ2UgPSAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvbmx5aHJlZiA9IGZhbHNlLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlubGluZSA9IGZhbHNlLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFkZHRleHQgPSAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXRjb250ZW50b25seSA9IGZhbHNlLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByZXR0eXVybCA9ICcnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQogIHsNCiAgICANCiAgICANCiAgICAvLyBHZXQgc3VtbWFyeXBhZ2UNCiAgICAkc3VtbWFyeXBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cGFnZScsIG51bGwpOw0KICAgIA0KICAgIC8vIEdldCBkZXRhaWxwYWdlDQogICAgJGRldGFpbHBhZ2UgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywgbnVsbCk7DQogICAgICAgIA0KICAgIHN3aXRjaCgkYWN0aW9uKSANCiAgICB7DQoNCiAgICAgIGNhc2UgJ2RldGFpbCc6DQogICAgICAgICAgICANCiAgICAgICAgaWYoICFlbXB0eSgkcHJldHR5dXJsKSApDQogICAgICAgIHsNCiAgICAgICAgICByZXR1cm4gJG1vZC0+Q3JlYXRlTGluaygNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY3Rpb24sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGV0YWlscGFnZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50cywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2Fybl9tZXNzYWdlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9ubHlocmVmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlubGluZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhZGR0ZXh0LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRhcmdldGNvbnRlbnRvbmx5LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByZXR0eXVybA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQogICAgICAgIH0NCiAgICAgIA0KICAgICAgICAkc3RyaW5nX2FycmF5ID0gYXJyYXkoKTsNCiAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJG1vZC0+cHJlZml4Ow0KICAgICAgICANCiAgICAgICAgLy8gQ2F0ZWdvcnkgLyBoaWVyYXJjaGlhbCBzdHVmZg0KICAgICAgICBpZihpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSAmJiBpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpIA0KICAgICAgICB7DQogICAgICAgIA0KICAgICAgICAgIGlmKCFpc3NldCgkbW9kLT51c2VfaGludHNbJ2NhdGVnb3J5J10pKSANCiAgICAgICAgICB7DQogICAgICAgICAgICAkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydjYXRlZ29yeSddOw0KICAgICAgICAgIH0NCiAgICAgICAgICANCiAgICAgICAgICBpZighaXNzZXQoJG1vZC0+dXNlX2hpbnRzWydpZF9oaWVyYXJjaHknXSkpDQogICAgICAgICAgew0KICAgICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snaWRfaGllcmFyY2h5J107DQogICAgICAgICAgfQ0KICAgICAgICB9ICAgIA0KICAgICAgICAgICAgDQogICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2l0ZW0nXTsNCiAgICAgICAgDQogICAgICAgIC8vaWYoICFpc3NldCgkbW9kLT51c2VfaGludHNbJ3JldHVybmlkJ10pIHx8IGlzX251bGwoJGRldGFpbHBhZ2UpICkNCiAgICAgICAgaWYoICFpc3NldCgkbW9kLT51c2VfaGludHNbJ3JldHVybmlkJ10pICkNCiAgICAgICAgew0KICAgICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRyZXR1cm5pZDsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKCFpc3NldCgkbW9kLT51c2VfaGludHNbJ2RldGFpbHRlbXBsYXRlJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSANCiAgICAgICAgICAkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOw0KICAgICAgICANCiAgICAgICAgJHByZXR0eXVybCA9IGltcGxvZGUoJy8nLCAkc3RyaW5nX2FycmF5KTsgICAgICANCiAgICAgIGJyZWFrOw0KDQogICAgICBjYXNlICdkZWZhdWx0JzoNCiAgICAgICAgDQogICAgICAgICRzdHJpbmdfYXJyYXkgPSBhcnJheSgpOw0KICAgICAgICAkc3RyaW5nX2FycmF5W10gPSAkbW9kLT5wcmVmaXg7ICANCiAgICAgICAgDQogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWyd0YWcnXSkgKQ0KICAgICAgICB7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJ3RhZyc7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1sndGFnJ107DQovLyAgICAgICAgICANCi8vICAgICAgICAgIGlmKCFpc3NldCgkbW9kLT51c2VfaGludHNbJ3NlYXJjaHRlbXBsYXRlJ10pICYmIGlzc2V0KCRwYXJhbXNbJ3NlYXJjaHRlbXBsYXRlJ10pKSANCi8vICAgICAgICAgIHsNCi8vICAgICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snc2VhcmNodGVtcGxhdGUnXTsNCi8vICAgICAgICAgIH0NCiAgICAgICAgICANCiAgICAgICAgfSAgICAgICAgDQogICAgICAgIA0KICAgICAgICAvLyBDYXRlZ29yeSAvIGhpZXJhcmNoaWFsIHN0dWZmDQogICAgICAgIGlmKCFpc3NldCgkbW9kLT51c2VfaGludHNbJ2NhdGVnb3J5J10pICYmIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5J10pKSANCiAgICAgICAgew0KICAgICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107DQogICAgICAgIH0gICAgICAgICAgDQogICAgICAgIA0KICAgICAgICBpZighaXNzZXQoJG1vZC0+dXNlX2hpbnRzWydpZF9oaWVyYXJjaHknXSkgJiYgaXNzZXQoJHBhcmFtc1snaWRfaGllcmFyY2h5J10pKQ0KICAgICAgICB7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snaWRfaGllcmFyY2h5J107DQogICAgICAgIH0gICAgICAgDQoNCiAgICAgICAgLy8gUGFnZWxpbWl0IHN0dWZmLCB3b24ndCB3b3JrIHRvZ2V0aGVyIHdpdGggaGllcmFyY2h5IHN0dWZmLg0KICAgICAgICBpZihpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkpDQogICAgICAgIHsNCiAgICAgICAgICAkc3RyaW5nX2FycmF5W10gPSAncGFnZSc7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1sncGFnZW51bWJlciddOw0KICAgICAgICANCiAgICAgICAgICBpZighaXNzZXQoJG1vZC0+dXNlX2hpbnRzWydwYWdlbGltaXQnXSkpIA0KICAgICAgICAgIHsNCiAgICAgICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ3BhZ2VsaW1pdCddOw0KICAgICAgICAgIH0gIA0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICAvLyBBcmNoaXZlIHN0dWZmLg0KICAgICAgICBpZihpc3NldCgkcGFyYW1zWydmaWx0ZXJfeWVhciddKSB8fCBpc3NldCgkcGFyYW1zWydmaWx0ZXJfbW9udGgnXSkpIA0KICAgICAgICB7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJ2FyY2hpdmUnOw0KICAgICAgICAgIA0KICAgICAgICAgIGlmKCFpc3NldCgkbW9kLT51c2VfaGludHNbJ2ZpbHRlcl95ZWFyJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl95ZWFyJ10pKSANCiAgICAgICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2ZpbHRlcl95ZWFyJ107ICANCiAgICAgICAgDQogICAgICAgICAgaWYoIWlzc2V0KCRtb2QtPnVzZV9oaW50c1snZmlsdGVyX21vbnRoJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl9tb250aCddKSkgDQogICAgICAgICAgICAkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydmaWx0ZXJfbW9udGgnXTsgIA0KICAgICAgICB9ICAgICAgICANCiAgICAgICAgDQogICAgICAgIC8vaWYoIWlzc2V0KCRtb2QtPnVzZV9oaW50c1sncmV0dXJuaWQnXSkpICAgICAgICANCiAgICAgICAgaWYoICFpc3NldCgkbW9kLT51c2VfaGludHNbJ3JldHVybmlkJ10pICYmIGlzX251bGwoJGRldGFpbHBhZ2UpICkNCiAgICAgICAgew0KICAgICAgICAgICRzdHJpbmdfYXJyYXlbXSA9ICRyZXR1cm5pZDsNCiAgICAgICAgICAkcGFyYW1zWydyZXR1cm5pZCddID0gJHJldHVybmlkOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYoIWlzc2V0KCRtb2QtPnVzZV9oaW50c1snZGV0YWlsdGVtcGxhdGUnXSkgJiYgaXNzZXQoJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXSkpIA0KICAgICAgICB7DQogICAgICAgICAgJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsNCiAgICAgICAgfSAgDQoNCiAgICAgICAgJHByZXR0eXVybCA9IGltcGxvZGUoJy8nLCAkc3RyaW5nX2FycmF5KTsgICAgICANCiAgICAgIGJyZWFrOyAgICAgIA0KICAgIH0NCiAgICANCiAgICAkcmV0ID0gJG1vZC0+Q3JlYXRlTGluaygNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY3Rpb24sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV0dXJuaWQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdhcm5fbWVzc2FnZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvbmx5aHJlZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmxpbmUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYWRkdGV4dCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXRjb250ZW50b25seSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwcmV0dHl1cmwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICANCiAgICByZXR1cm4gJHJldDsNCiAgfQ0KICANCn0NCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.LISE_LI2converter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKY2xhc3MgTElTRV9MSTJjb252ZXJ0ZXIgCnsKCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgQ29uc3RhbnRzCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKICBjb25zdCBNT0RfUFJFRklYID0gJ0xJU0UnOwogIGNvbnN0IExJMl9QUkVGSVggPSAnTGlzdEl0Mic7CiAgY29uc3QgTEkyUExBQ0VIT0xERVIgPSAnMDI0ZmM3MGQ1MTA3NGM5ZjQyZWU3ZjkxN2MzN2I0ZWQnOwogIGNvbnN0IFBMQUNFSE9MREVSID0gJ1BMQUNFX0hPTERFUl9fXyc7CgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIEF0dHJpYnV0ZXMKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogIHByaXZhdGUgJHNyYzsKICBwcml2YXRlICRkdXA7CiAgcHJpdmF0ZSAkZHN0OwogIHByaXZhdGUgJG1vZG5hbWU7CiAgcHJpdmF0ZSAkb2xkbW9kbmFtZTsKICAKCXByaXZhdGUgc3RhdGljICRfaW52YWxpZCA9IGFycmF5KCcuJywgJy4uJyk7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkb2xkbW9kbmFtZSA9IE5VTEwpIAoJewogICAgaWYoIGVtcHR5KCRvbGRtb2RuYW1lKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGluICcgLiBfX0NMQVNTX18gLiAnIGNvbnN0cnVjdG9yOiBpbnZhbGlkIHBhcmFtZXRlciEnKTsKICAgIGlmKCAhc3RhcnRzd2l0aCgkb2xkbW9kbmFtZSwgc2VsZjo6TEkyX1BSRUZJWCkgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBpbiAnIC4gX19DTEFTU19fIC4gJyBjb25zdHJ1Y3RvcjogaW52YWxpZCBwYXJhbWV0ZXIhJyk7CgogICAgJHRoaXMtPm9sZG1vZG5hbWUgPSAkb2xkbW9kbmFtZTsKICAgICRtb2RuYW1lID0gc3Vic3RyKCAkb2xkbW9kbmFtZSwgIHN0cmxlbihzZWxmOjpMSTJfUFJFRklYKSApOwogICAgJHRoaXMtPm1vZG5hbWUgPSBzZWxmOjpNT0RfUFJFRklYIC4gJG1vZG5hbWU7CiAgICAkdGhpcy0+ZHVwID0gZGlybmFtZShkaXJuYW1lKF9fRklMRV9fKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJ2R1cGxpY2F0ZSc7CiAgICAkdGhpcy0+c3JjID0gZGlybmFtZShkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm9sZG1vZG5hbWU7CiAgICAkdGhpcy0+ZHN0ID0gZGlybmFtZShkaXJuYW1lKGRpcm5hbWUoX19GSUxFX18pKSkgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm1vZG5hbWU7Cgl9CgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIFNldC9HZXQKICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCiAgcHVibGljIGZ1bmN0aW9uIFNldE1vZHVsZSgkbmFtZSkKICB7CgkgICR0aGlzLT5tb2RuYW1lID0gJG5hbWU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gU2V0RHVwbGljYXRlKCRuYW1lKQogIHsKICAgICR0aGlzLT5kdXAgPSAkbmFtZTsKICB9CiAgICAKICBwdWJsaWMgZnVuY3Rpb24gU2V0U291cmNlKCRuYW1lKQogIHsKCSAgJHRoaXMtPnNyYyA9ICRuYW1lOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIFNldERlc3RpbmF0aW9uKCRuYW1lKQogIHsKCSAgJHRoaXMtPmRzdCA9ICRuYW1lOwogIH0JCgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIFJ1bm5lcgogICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQoJcHVibGljIGZ1bmN0aW9uIFJ1bigpCgl7CiAgICAjIDFzdCBjb3B5IHRoZSBvcmlnaW5hbAogICAgJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHRoaXMtPnNyYywgJHRoaXMtPmRzdCk7CiAgICAjIHRoZW4gb3ZlcndyaXRlIHRoZSB3aXRoIG91ciBvd24gZXhjZXB0IGZvciB0aGUgaWNvbi5wbmcgYW5kIGljb24uZ2lmCiAgICBzZWxmOjokX2ludmFsaWRbXSA9ICdpY29uLnBuZyc7CiAgICBzZWxmOjokX2ludmFsaWRbXSA9ICdpY29uLmdpZic7CgkJJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHRoaXMtPmR1cCwgJHRoaXMtPmRzdCk7CgkJJHRoaXMtPlJlbmFtZSgpOwoJCSR0aGlzLT5GaXhNb2R1bGVmaWxlKCk7CiAgICAjIG5vdyB3ZSBkZWFjdGl2YXRlIG9sZCBhbmQgaW5zdGFsbCBuZXcKICAgICRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7CiAgICAkbW9kb3BzLT5BY3RpdmF0ZU1vZHVsZSgkdGhpcy0+b2xkbW9kbmFtZSwgRkFMU0UpOwogICAgJG1vZG9wcy0+SW5zdGFsbE1vZHVsZSgkdGhpcy0+bW9kbmFtZSk7CiAgICAjIGNsb25lIHRoZSByZXN0IG9mIHRoZSBkYXRhCgkJJHRoaXMtPkNvcHlEYXRhQmFzZSgpOwogICAgJHRoaXMtPkNvcHlUZW1wbGF0ZXMoKTsKICAgICR0aGlzLT5Db3B5UHJlZmVyZW5jZXMoKTsKICAgICMgbm93IHdlIGhhdmUgYSBiYXNlIExJU0UgdmVyc2lvbiBvZiBvbGQgTEkyIGluc3RhbmNlCiAgICAjIHVwZ3JhZGUgdG8gbGF0ZXN0IExJU0UKICAgICR0aGlzLT5VcGdyYWRlRnJvbUJhc2UoKTsKCQlyZXR1cm4gJHRoaXMtPm1vZG5hbWU7Cgl9CgkJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEZpbGUgaGFuZGxpbmcgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDb3B5UmVjdXJzaXZlKCRzcmMsICRkc3QpIAoJewoJCSRkaXIgPSBvcGVuZGlyKCRzcmMpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCQlAbWtkaXIoJGRzdCk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCQoJCXdoaWxlKGZhbHNlICE9PSAoICRmaWxlID0gcmVhZGRpcigkZGlyKSkgKSAKICAgIHsKCQkKCQkJaWYgKGluX2FycmF5KCRmaWxlLCBzZWxmOjokX2ludmFsaWQpKSBjb250aW51ZTsgLy8gPC0gU2tpcCBzdHVmZiB3ZSBuZXZlciBhbGxvdyB0byBjb3B5CgoJCQlpZiAoIGlzX2Rpcigkc3JjIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuICRmaWxlKSApIAogICAgICB7IAoJCQkJJHRoaXMtPkNvcHlSZWN1cnNpdmUoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJGRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSk7IAoJCQl9IAoJCQllbHNlIAogICAgICB7IAoJCQkJQGNvcHkoJHNyYyAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSwgJGRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkZmlsZSk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCQl9IAoJCX0gCgkJCgkJY2xvc2VkaXIoJGRpcik7IAoJfQoJCglwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIFJlbmFtZSgpIAoJewoJCUByZW5hbWUoJHRoaXMtPmRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiBzZWxmOjpQTEFDRUhPTERFUiAuICcucGhwJywgCgkJCSR0aGlzLT5kc3QgLiBESVJFQ1RPUllfU0VQQVJBVE9SIC4gJHRoaXMtPm1vZG5hbWUgLicubW9kdWxlLnBocCcpOyAvLyA8LSBUaHJvdyBleGNlcHRpb24gb24gZmFpbHVyZT8KCX0KCQoJcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBGaXhNb2R1bGVmaWxlKCkgCgl7CgkJJGZpbGVuYW1lID0gJHRoaXMtPmRzdCAuIERJUkVDVE9SWV9TRVBBUkFUT1IgLiAkdGhpcy0+bW9kbmFtZSAuJy5tb2R1bGUucGhwJzsKCgkJLy8gUmVwbGFjZW1lbnRzCgkJJF9jb250ZW50cyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRmaWxlbmFtZSk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCSRfY29udGVudHMgPSBzdHJfcmVwbGFjZShzZWxmOjpQTEFDRUhPTERFUiwgJHRoaXMtPm1vZG5hbWUsICRfY29udGVudHMpOwoJCgkJLy8gV3JpdGUgZmlsZQoJCSRmaCA9IEBmb3BlbigkZmlsZW5hbWUsICd3Jyk7CgkJZndyaXRlKCRmaCwgJF9jb250ZW50cyk7IC8vIDwtIFRocm93IGV4Y2VwdGlvbiBvbiBmYWlsdXJlPwoJCWZjbG9zZSgkZmgpOwkKCX0KICAKICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIENvcHlEYXRhQmFzZSgpCiAgeyAgCiAgICAgJG1vZF9wcmVmaXggPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiBzdHJ0b2xvd2VyKCR0aGlzLT5tb2RuYW1lKSAuICdfJzsKICAgICAkb2xkX21vZF9wcmVmaXggPSBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiBzdHJ0b2xvd2VyKCR0aGlzLT5vbGRtb2RuYW1lKSAuICdfJzsKICAgICAKICAgICAkdGFibGVfbGlzdCA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F0ZWdvcnknLAogICAgICAgICAgICAgICAgICAgICAgICAgICdpdGVtX2NhdGVnb3JpZXMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZGRlZicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkZGVmX29wdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZHZhbCcgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgCiAgICAgZm9yZWFjaCgkdGFibGVfbGlzdCBhcyAkb25lKQogICAgIHsKICAgICAgICRudCA9ICRtb2RfcHJlZml4IC4gJG9uZTsgCiAgICAgICAkb3Q9ICRvbGRfbW9kX3ByZWZpeCAuICRvbmU7CiAgICAgICAKICAgICAgICRxID0gJ0RST1AgVEFCTEUgSUYgRVhJU1RTICcgLiAkbnQ7CiAgICAgICAkciA9ICRkYi0+RXhlY3V0ZSgkcSk7CiAgICAgICAKICAgICAgIGlmKCEkcikgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpICk7IAogICAgICAgCiAgICAgICAkcSA9ICdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAnIC4gJG50IC4gJyBTRUxFQ1QgKiBGUk9NICcgLiAkb3Q7IAogICAgICAgJHIgPSAkZGItPkV4ZWN1dGUoJHEpOwogICAgICAgCiAgICAgICBpZighJHIpIHRocm93IG5ldyBFeGNlcHRpb24oICRkYi0+RXJyb3JNc2coKSApOwogICAgIH0KICB9CiAgCiAgcHJpdmF0ZSBmaW5hbCBmdW5jdGlvbiBDb3B5UHJlZmVyZW5jZXMoKQogIHsKICAgIAogICAgJHByZWZzID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgJ2ZyaWVuZGx5bmFtZScsCiAgICAgICAgICAgICAgICAgICAgJ2FkbWluc2VjdGlvbicsCiAgICAgICAgICAgICAgICAgICAgJ21vZGRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAnaXRlbV90aXRsZScsCiAgICAgICAgICAgICAgICAgICAgJ3NvcnRvcmRlcicsCiAgICAgICAgICAgICAgICAgICAgJ2l0ZW1fc2luZ3VsYXInLAogICAgICAgICAgICAgICAgICAgICdpdGVtX3BsdXJhbCcsCiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXlfY3JlYXRlX2RhdGUnLAogICAgICAgICAgICAgICAgICAgICdpdGVtX2NvbHMnLAogICAgICAgICAgICAgICAgICAgICdpdGVtc19wZXJfcGFnZScsCiAgICAgICAgICAgICAgICAgICAgJ3VybF9wcmVmaXgnLAogICAgICAgICAgICAgICAgICAgICdkaXNwbGF5X2lubGluZScsCiAgICAgICAgICAgICAgICAgICAgJ3N1YmNhdGVnb3J5JywKICAgICAgICAgICAgICAgICAgICAndXJsdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICdkZXRhaWxwYWdlJywKICAgICAgICAgICAgICAgICAgICAnc3VtbWFyeXBhZ2UnLAogICAgICAgICAgICAgICAgICAgICdyZWluZGV4X3NlYXJjaCcKICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgCiAgICAkdGVtcGxhdGVfcHJlZnMgPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X3N1bW1hcnlfdGVtcGxhdGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19kZWZhdWx0X3NlYXJjaF90ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9jYXRlZ29yeV90ZW1wbGF0ZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfZGVmYXVsdF9hcmNoaXZlX3RlbXBsYXRlJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgIAogICAgJG5ld21vZCA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5nZXRfbW9kdWxlX2luc3RhbmNlKCR0aGlzLT5tb2RuYW1lLCBOVUxMLCBUUlVFKTsKICAgICRvbGRtb2QgPSBNb2R1bGVPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkdGhpcy0+b2xkbW9kbmFtZSwgTlVMTCwgVFJVRSk7CiAgICAKICAgIGZvcmVhY2goJHByZWZzIGFzICRwcmVmKQogICAgewogICAgICBpZigkcHJlZiA9PSAnZnJpZW5kbHluYW1lJykKICAgICAgewogICAgICAgICRuZXdtb2QtPlNldFByZWZlcmVuY2UoJHByZWYsICRvbGRtb2QtPkdldFByZWZlcmVuY2UoJHByZWYsICcnKSAuICcqJyApOwogICAgICAgIGNvbnRpbnVlOwogICAgICB9CiAgICAgIAogICAgICAkbmV3bW9kLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCAkb2xkbW9kLT5HZXRQcmVmZXJlbmNlKCRwcmVmLCAnJykgKTsKICAgIH0KICAgICAgICAKICAgIGZvcmVhY2goJHRlbXBsYXRlX3ByZWZzIGFzICRwcmVmKQogICAgeyAgICAgCiAgICAgICRuZXdtb2QtPlNldFByZWZlcmVuY2UoJHRoaXMtPm1vZG5hbWUgLiAkcHJlZiwgJG9sZG1vZC0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+bW9kbmFtZSAuICRwcmVmLCAnJykgKTsKICAgIH0KCiAgfQogIAogIHByaXZhdGUgZmluYWwgZnVuY3Rpb24gQ29weVRlbXBsYXRlcygpCiAgewogICAgCiAgICAkbmV3bW9kID0gTW9kdWxlT3BlcmF0aW9uczo6Z2V0X2luc3RhbmNlKCktPmdldF9tb2R1bGVfaW5zdGFuY2UoJHRoaXMtPm1vZG5hbWUsIE5VTEwsIFRSVUUpOwogICAgJG9sZG1vZCA9IE1vZHVsZU9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5nZXRfbW9kdWxlX2luc3RhbmNlKCR0aGlzLT5vbGRtb2RuYW1lLCBOVUxMLCBUUlVFKTsKCiAgICAKICAgICR0ZW1wbGF0ZXMgPSAkbmV3bW9kLT5MaXN0VGVtcGxhdGVzKCk7CiAgICAKICAgIGZvcmVhY2goJHRlbXBsYXRlcyBhcyAkb25lKSAkbmV3bW9kLT5EZWxldGVUZW1wbGF0ZSgkb25lKTsKICAgIAogICAgJHRlbXBsYXRlcyA9ICRvbGRtb2QtPkxpc3RUZW1wbGF0ZXMoKTsKICAgIAogICAgZm9yZWFjaCgkdGVtcGxhdGVzIGFzICRvbmUpCiAgICB7CiAgICAgICRuZXdtb2QtPlNldFRlbXBsYXRlKCAkb25lLCAkb2xkbW9kLT5HZXRUZW1wbGF0ZSgkb25lKSApOwogICAgfQogICAgIAogIH0KICAKICBwcml2YXRlIGZpbmFsIGZ1bmN0aW9uIFVwZ3JhZGVGcm9tQmFzZSgpCiAgewogICAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+bW9kbmFtZSAuICdfZmllbGRkZWYnLCAndGVtcGxhdGUgQygyNTUpJyk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgfQoJCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/class.lise_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KY2xhc3MgbGlzZV91dGlscyANCnsNCiAgcHJpdmF0ZSBzdGF0aWMgJF9pbml0ID0gRkFMU0U7DQogIHByaXZhdGUgc3RhdGljICRfbW9kOw0KICANCiAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgZnVuY3Rpb24gX2luaXRpYWxpemUoKQ0KICB7DQogICAgaWYoIXNlbGY6OiRfaW5pdCkNCiAgICB7DQogICAgICBzZWxmOjokX21vZCA9IGNtc21zKCktPkdldE1vZHVsZUluc3RhbmNlKCdMSVNFJyk7DQogICAgICBzZWxmOjokX2luaXQgPSBUUlVFOw0KICAgIH0gDQogIH0NCg0KCXB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gJmFycmF5X3RvX29iamVjdCgkYXJyYXkpDQoJew0KCQkkb2JqID0gbmV3IFN0ZENsYXNzOw0KCQlmb3JlYWNoKCRhcnJheSBhcyAka2V5PT4kdmFsdWUpIHsNCgkJDQoJCQkkb2JqLT4ka2V5ID0gJHZhbHVlOw0KCQl9DQoJCQ0KCQlyZXR1cm4gJG9iajsNCgl9DQoJICANCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGNsZWFuX3BhcmFtcygmJHBhcmFtcywgJGxpc3QsICRhY2Nlc3NsaXN0ID0gZmFsc2UpIA0KCXsNCgkNCgkJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSkgew0KCQkNCgkJCWlmKCRhY2Nlc3NsaXN0KSB7DQoNCgkJCQlpZighaW5fYXJyYXkoJGtleSwgKGFycmF5KSRsaXN0KSkgew0KCQkJCQ0KCQkJCQl1bnNldCgkcGFyYW1zWyRrZXldKTsJDQoJCQkJfQkJCQ0KCQkJDQoJCQl9IGVsc2Ugew0KCQkNCgkJCQlpZihpbl9hcnJheSgka2V5LCAoYXJyYXkpJGxpc3QpKSB7DQoJCQkJDQoJCQkJCXVuc2V0KCRwYXJhbXNbJGtleV0pOwkNCgkJCQl9DQoJCQkNCgkJCX0NCgkJfQkNCgl9DQoJDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpbml0X3Zhcigkc3RyaW5nLCAkcGFyYW1zLCAkZGVmYXVsdCA9ICcnKSANCgl7DQoJCSR2YXIgPSAkZGVmYXVsdDsNCg0KCQlpZihpc3NldCgkcGFyYW1zWyRzdHJpbmddKSkNCgkJCSR2YXIgPSAkcGFyYW1zWyRzdHJpbmddOw0KCQkJCQkJDQoJCXJldHVybiAkdmFyOw0KCX0JDQoJDQoJLyoqDQoJICogR2VuZXJhdGUgYWxpYXMNCgkgKiBAcGFyYW0gc3RyaW5nICRuYW1lIFRoZSBzdHJpbmcgdGhhdCB0aGUgYWxpYXMgd2lsbCBiZSBnZW5lcmF0ZWQgZnJvbQ0KCSAqIEByZXR1cm4gc3RyaW5nIFJldHVybnMgdGhlIGFsaWFzDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBnZW5lcmF0ZV9hbGlhcygkbmFtZSkNCgl7DQoJCWlmICghaXNfc3RyaW5nKCRuYW1lKSkNCgkJCXJldHVybjsNCgkNCgkJJGFsaWFzID0gJG5hbWU7DQoJDQoJCS8vIHJlcGxhY2UgbXVsdGlwbGUgc3BhY2VzIHdpdGggc2luZ2xlIHVuZGVyc2NvcmUNCgkJJGFsaWFzID0gcHJlZ19yZXBsYWNlKCcvICsvJywgJ18nLCAkYWxpYXMpOw0KCQ0KCQkvLyBsZWF2ZSBhbHBoYWJldGljIGNoYXJhY3RlcnMgYW5kIHVuc2NvcmVzLA0KCQkvLyByZXBsYWNlIGV2ZXJ5dGhpbmcgZWxzZSB3aXRoIGFuIHVuZGVyc2NvcmUNCgkJJGFsaWFzID0gcHJlZ19yZXBsYWNlKCcvW15hLXpBLVpfXS8nLCAnXycsICRhbGlhcyk7DQoJDQoJCS8vIHJlcGxhY2UgbXVsdGlwbGUgdW5kZXJzY29yZXMgd2l0aCBzaW5nbGUgdW5kZXJzY29yZQ0KCQkkYWxpYXMgPSBwcmVnX3JlcGxhY2UoJy9fKy8nLCAnXycsICRhbGlhcyk7DQoJDQoJCS8vIGNvbnZlcnQgdG8gbG93ZXJjYXNlDQoJCSRhbGlhcyA9IHN0cnRvbG93ZXIoJGFsaWFzKTsNCgkNCgkJLy8gcmVtb3ZlIHVuZGVyc2NvcmUgZnJvbSBzdGFydCBhbmQgZW5kDQoJCSRhbGlhcyA9IHRyaW0oJGFsaWFzLCAnXycpOw0KCQ0KCQlyZXR1cm4gJGFsaWFzOw0KCX0JDQoJDQoJLyoqDQoJICogSXMgdmFsaWQgYWxpYXMNCgkgKiBAcGFyYW0gc3RyaW5nICRhbGlhcw0KCSAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgc3RyaW5nIGluIHF1ZXN0aW9uIGlzIGEgdmFsaWQgYWxpYXMsIG9yDQoJICogZmFsc2Ugb3RoZXJ3aXNlDQoJICovDQoJcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc192YWxpZF9hbGlhcygkYWxpYXMpDQoJew0KCQlpZiAoIWlzX3N0cmluZygkYWxpYXMpKQ0KCQkJcmV0dXJuOw0KCQ0KCQkvLyBjaGVjayBhbGlhcw0KCQkvLyBodHRwOi8vd3d3LnBocC5uZXQvbWFudWFsL2VuL2xhbmd1YWdlLnZhcmlhYmxlcy5iYXNpY3MucGhwDQoJCWlmIChwcmVnX21hdGNoKCcvXlthLXpBLVpfXHg3Zi1ceGZmXVthLXpBLVowLTlfXHg3Zi1ceGZmXSokLycsICRhbGlhcykpIHsNCgkJCXJldHVybiB0cnVlOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KDQoJLyoqDQoJICogSGFzIFByZWZpeA0KCSAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZyBUaGUgc3RyaW5nIGluIHF1ZXN0aW9uDQoJICogQHBhcmFtIGFycmF5ICRwcmVmaXggQXJyYXkgb2YgcHJlZml4ZXMgdG8gbWF0Y2ggYWdhaW5zdA0KCSAqIEByZXR1cm4gYm9vbCBSZXR1cm5zIHRydWUgaWYgcHJlZml4IGlzIGZvdW5kLCBvciBmYWxzZSBvdGhlcndpc2UNCgkgKi8NCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGhhc19wcmVmaXgoJHN0cmluZywgJHByZWZpeGVzKQ0KCXsNCgkJaWYgKCFpc19zdHJpbmcoJHN0cmluZykpDQoJCQlyZXR1cm47DQoJCWlmICghaXNfYXJyYXkoJHByZWZpeGVzKSkNCgkJCXJldHVybjsNCgkNCgkJZm9yZWFjaCAoJHByZWZpeGVzIGFzICRwcmVmaXgpDQoJCXsNCgkJCWlmIChzdHJwb3MoJHN0cmluZywgJHByZWZpeCkgPT09IDApDQoJCQl7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCgkNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCgkNCglwdWJsaWMgc3RhdGljIGZpbmFsIGZ1bmN0aW9uIGV4cGxvZGVfb3JkZXJieSgkcGFyYW0sICR2YWxpZF9jb2xzKXsNCgkNCgkJJG9yZGVyX2NvbHMgPSBhcnJheSgpOw0KCQkkY3VzdG9tX2NvbHMgPSBhcnJheSgpOw0KCQkkaW5kZXggPSAwOw0KCQkNCgkJZm9yZWFjaChleHBsb2RlKCcsJywgJHBhcmFtKSBhcyAkY29sKSB7DQoJCQ0KCQkJJGNvbCA9IHRyaW0oJGNvbCk7DQoJCQkkY29sX3BhcnRzID0gZXhwbG9kZSgnfCcsICRjb2wpOw0KCQ0KCQkJLy8gY29sdW1uIG5hbWUNCgkJCSRjb2xfbmFtZSA9ICRjb2xfcGFydHNbMF07DQoJCQkkY29sX29yZGVyID0gJ0FTQyc7DQoJDQoJCQkvLyBvcmRlciBjb2x1bW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcNCgkJCWlmKGlzc2V0KCRjb2xfcGFydHNbMV0pKSB7DQoJCQkJDQoJCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX3BhcnRzWzFdLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX3BhcnRzWzFdIDogJ0FTQycpOw0KCQkJfQ0KCQ0KCQkJJGNvbF9vcmRlciA9IChpbl9hcnJheSgkY29sX29yZGVyLCBhcnJheSgnQVNDJywgJ0RFU0MnKSkgPyAkY29sX29yZGVyIDogJ0FTQycpOw0KCQ0KCQkJaWYoaXNzZXQoJHZhbGlkX2NvbHNbJGNvbF9uYW1lXSkpIHsNCgkJCQ0KCQkJCSRvcmRlcl9jb2xzWyRpbmRleF0gPSAkdmFsaWRfY29sc1skY29sX25hbWVdIC4gJyAnIC4gJGNvbF9vcmRlcjsNCgkJCX0gDQoJCQllbHNlaWYgKHN0YXJ0c3dpdGgoJGNvbF9uYW1lLCAnY3VzdG9tXycpKSB7DQoJCQkJDQoJCQkJJGN1c3RvbV9uYW1lID0gc3Vic3RyKCRjb2xfbmFtZSwgNyk7DQoJCQkJJG9iaiA9IG5ldyBzdGRDbGFzczsNCgkJCQkkb2JqLT5uYW1lID0gJGN1c3RvbV9uYW1lOw0KCQkJCSRvYmotPm9yZGVyID0gJGNvbF9vcmRlcjsNCgkJCQkNCgkJCQkkY3VzdG9tX2NvbHNbJGluZGV4XSA9ICRvYmo7DQoJCQl9DQoJCQkNCgkJCSRpbmRleCsrOw0KCQl9DQoJCQkNCgkJcmV0dXJuIGFycmF5KCRvcmRlcl9jb2xzLCAkY3VzdG9tX2NvbHMpOw0KCX0NCiAgDQogIHB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gaXNDTVMyKCkNCiAgew0KICAgIHJldHVybiAoYm9vbCkodmVyc2lvbl9jb21wYXJlKENNU19WRVJTSU9OLCAnMi4wJykgPiAtMSk7DQogIH0NCiAgICANCiAgcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBpc0NNUzIwMSgpDQogIHsNCiAgICByZXR1cm4gKGJvb2wpKHZlcnNpb25fY29tcGFyZShDTVNfVkVSU0lPTiwgJzIuMC4xJykgPiAtMSk7DQogIH0NCiAgDQogICAgDQogIHB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gVUlnaWYoJG5hbWUgPSAnJykNCiAgew0KICAgIHNlbGY6Ol9pbml0aWFsaXplKCk7DQogICAgJHVybCA9IHNlbGY6OiRfbW9kLT5HZXRNb2R1bGVVUkxQYXRoKCkgLiAnL2ltYWdlcy9tb2R1bGV1aS8nIC4gJG5hbWUgLiAnLmdpZic7IA0KICAgIHJldHVybiAkdXJsOw0KICB9DQogICAgICANCiAgcHVibGljIHN0YXRpYyBmaW5hbCBmdW5jdGlvbiBVSXBuZygkbmFtZSA9ICcnKQ0KICB7DQogICAgc2VsZjo6X2luaXRpYWxpemUoKTsNCiAgICAkdXJsID0gc2VsZjo6JF9tb2QtPkdldE1vZHVsZVVSTFBhdGgoKSAuICcvaW1hZ2VzL21vZHVsZXVpLycgLiAkbmFtZSAuICcucG5nJzsgDQogICAgcmV0dXJuICR1cmw7DQogIH0NCiAgDQogIHB1YmxpYyBzdGF0aWMgZmluYWwgZnVuY3Rpb24gRGlzcGxheUltYWdlKCRpbWFnZWZuID0gJycsICRhbHQ9JycsICR3aWR0aD0nJywgJGhlaWdodD0nJywgJGNsYXNzPScnKQ0KICB7DQogIA0KICAgICRyZXRTdHIgPSAnPGltZyBzcmM9IicgLiAkaW1hZ2VmbiAuICciJzsNCiAgICANCiAgICBpZiAoJGNsYXNzICE9ICcnKQ0KICAgIHsNCiAgICAgICRyZXRTdHIgLj0gJyBjbGFzcz0iJy4kY2xhc3MuJyInOw0KICAgIH0NCiAgICANCiAgICBpZiAoJHdpZHRoICE9ICcnKQ0KICAgIHsNCiAgICAgICRyZXRTdHIgLj0gJyB3aWR0aD0iJy4kd2lkdGguJyInOw0KICAgIH0NCiAgICANCiAgICBpZiAoJGhlaWdodCAhPSAnJykNCiAgICB7DQogICAgICAkcmV0U3RyIC49ICcgaGVpZ2h0PSInLiRoZWlnaHQuJyInOw0KICAgIH0NCiAgICANCiAgICBpZiAoJGFsdCAhPSAnJykNCiAgICB7DQogICAgICAkcmV0U3RyIC49ICcgYWx0PSInLiRhbHQuJyIgdGl0bGU9IicuJGFsdC4nIic7DQogICAgfQ0KICAgIA0KICAgICRyZXRTdHIgLj0gJyAvPic7DQogICAgDQogICAgcmV0dXJuICRyZXRTdHI7DQogIH0NCgkNCn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/css/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/css/lise-globals.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogQmFja2VuZCAqLwpkaXYubGlzZS1hZG1pbi13cmFwcGVyIGF7CgoJb3V0bGluZTogbm9uZTsKfQoKLyogYWpheCBsb2FkZXJzICovCi5hamF4LWxvYWRlci10eXBlLTE2IHsKCgl3aWR0aDogMTZweDsKCWhlaWdodDogMTZweDsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvanF1ZXJ5dWkvdWktYW5pbV9iYXNpY18xNngxNi5naWYpIG5vLXJlcGVhdDsKfQoKLmFqYXgtbG9hZGVyLXR5cGUtd2lkZSB7CgoJbWFyZ2luLXRvcDogMTVweDsKCXdpZHRoOiAxMjhweDsKCWhlaWdodDogMTVweDsKCWJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvbW9kdWxldWkvYWpheC1sb2FkZXItd2lkZS5naWYpIG5vLXJlcGVhdDsKfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/css/liseHelp.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[aW1nLmltZy1yaWdodCB7CglmbG9hdDpyaWdodDsKCW1hcmdpbjowIDE1cHggMTVweCAxNXB4Owp9Cgojb2VfbWFpbmFyZWEgLnZpZGVvcy1jb250YWluZXIgdWwsCi52aWRlb3MtY29udGFpbmVyIHVsIHsKCWxpc3Qtc3R5bGU6IG5vbmU7CgltYXJnaW46IDA7CglwYWRkaW5nOiAwOwp9Cgojb2VfbWFpbmFyZWEgLnZpZGVvcy1jb250YWluZXIgdWwgbGksCi52aWRlb3MtY29udGFpbmVyIHVsIGxpIHsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQoKI29lX21haW5hcmVhIC52aWRlb3MtY29udGFpbmVyIHVsIGxpIGEsCi52aWRlb3MtY29udGFpbmVyIHVsIGxpIGEgewoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJZGlzcGxheTogYmxvY2s7CgltYXJnaW46IDE1cHg7CglvdXRsaW5lOiAwOwp9CgphLmNvbnRhY3QtYnV0dG9uIHsKCWZvbnQtc2l6ZTogMTRweDsgCglwYWRkaW5nOiA0cHggMjBweDsgCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7IAoJY29sb3I6ICMwMDA7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCmEuY29udGFjdC1idXR0b24gLnVpLWljb24gewoJbWFyZ2luLWJvdHRvbTogLTJweDsKCW1hcmdpbi1yaWdodDogNXB4Owp9CgoKLyogQ0xFQVIgSlVTVCBJTiBDQVNFICovCgouY2Y6YmVmb3JlLCAuY2Y6YWZ0ZXIgeyAKCWNvbnRlbnQ6ICcnOyAKCWRpc3BsYXk6IHRhYmxlOwp9CgouY2Y6YWZ0ZXIsIC5jbGVhciB7IAoJY2xlYXI6IGJvdGg7IAp9CgouY2xlYXIgewoJY2xlYXI6IGJvdGg7Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/admin.Categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc3VidHlwZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc3VidHlwZV9oZWxwJyl9PC9lbT48YnIgLz4KCQl7aHRtbF9vcHRpb25zIG5hbWU9ImAkYWN0aW9uaWRgY3VzdG9tX2lucHV0W3N1YnR5cGVdIiBvcHRpb25zPSRmaWVsZGRlZi0+U3ViVHlwZXMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyl9Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2VwYXJhdG9yX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtzZXBhcmF0b3JdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NlcGFyYXRvcicpfSIgLz4KCTwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2NvbHVtbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2NvbHVtbnNfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2NvbHVtbnNdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2NvbHVtbnMnLCAxKX0iIC8+Cgk8L3A+CQo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NpemUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NpemVfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NpemVdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnLCA1KX0iIC8+CiAgICA8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/liseeh.Categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIGxpc2VlaF9DYXRlZ29yaWVzIGV4dGVuZHMgTElTRUV2ZW50SGFuZGxlckJhc2UKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExJU0VGaWVsZGRlZkJhc2UgJiRmaWVsZCkKCXsKCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRmaWVsZCk7Cgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgRGF0YWJhc2UgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJLyoqCgkgKiBMSVNFIEZpZWxkIERhdGFiYXNlIFNhdmUgbWV0aG9kCgkgKgoJICogQHBhY2thZ2UgTElTRQoJICogQHNpbmNlIDEuNC1iZXRhMgoJICogQHJldHVybiB2b2lkCgkgKi8JCglwdWJsaWMgZnVuY3Rpb24gT25JdGVtU2F2ZShMSVNFICYkbW9kKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkKCQkkcXVlcnkgID0gJ0RFTEVURSBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIFdIRVJFIGl0ZW1faWQgPSA/JzsKCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+aXRlbV9pZCkpOwoKCQkkcXVlcnkgID0gJ0lOU0VSVCBJTlRPICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbV9jYXRlZ29yaWVzIChpdGVtX2lkLCBjYXRlZ29yeV9pZCkgVkFMVUVTICg/LD8pJzsKCgkJaWYoY291bnQoJHRoaXMtPkdldFZhbHVlKCkpKSB7CgkJCgkJCWZvcmVhY2ggKCR0aGlzLT5HZXRWYWx1ZSgpIGFzICRjYXRlZ29yeV9pZCkgewkJCgkJCgkJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHRoaXMtPkdldFBhcmVudEl0ZW0oKS0+aXRlbV9pZCwgJGNhdGVnb3J5X2lkKSk7CgoJCQkJaWYgKCEkcmVzdWx0KQoJCQkJCWRpZSgnRkFUQUwgU1FMIEVSUk9SOiAnIC4gJGRiLT5FcnJvck1zZygpIC4gJzxici8+UVVFUlk6ICcgLiAkZGItPnNxbCk7CgkJCX0KCQl9Cgl9CgkKCS8qKgoJICogTElTRSBGaWVsZCBEYXRhYmFzZSBMb2FkIG1ldGhvZAoJICoKCSAqIEBwYWNrYWdlIExJU0UKCSAqIEBzaW5jZSAxLjQtYmV0YTIKCSAqIEByZXR1cm4gdm9pZAoJICovCQkKCXB1YmxpYyBmdW5jdGlvbiBPbkl0ZW1Mb2FkKExJU0UgJiRtb2QpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQoJCSRxdWVyeSA9ICdTRUxFQ1QgQi5jYXRlZ29yeV9pZCBGUk9NICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkbW9kLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfY2F0ZWdvcnkgQiAKCQkJCQlMRUZUIEpPSU4gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICRtb2QtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtX2NhdGVnb3JpZXMgSUIgCgkJCQkJT04gQi5jYXRlZ29yeV9pZCA9IElCLmNhdGVnb3J5X2lkIAoJCQkJCVdIRVJFIElCLml0ZW1faWQgPSA/IAoJCQkJCUFORCBCLmFjdGl2ZSA9IDEnOwkJCQoJCQoJCSR0aGlzLT5TZXRWYWx1ZSgkZGItPkdldENvbCgkcXVlcnksIGFycmF5KCR0aGlzLT5HZXRQYXJlbnRJdGVtKCktPml0ZW1faWQpKSk7Cgl9CQoJCn0gLy8gZW5kIG9mIGNsYXNzCgo/Pgk=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/lisefd.Categories.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9DYXRlZ29yaWVzIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8sICRjYWxsZXJfb2JqZWN0KSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvLCAkY2FsbGVyX29iamVjdCk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdjYXRlZ29yaWVzJykpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gSXNVbmlxdWUoKQ0KCXsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJJbnB1dCgkaWQsICRyZXR1cm5pZCkNCgl7DQoJCSR0eXBlID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyk7DQoJCSRvYmogPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkRmllbGRkZWZCeVR5cGUoJHR5cGUpOw0KCQkNCgkJaWYoaXNfb2JqZWN0KCRvYmopKQ0KCQkJcmV0dXJuICRvYmotPlJlbmRlcklucHV0KCRpZCwgJHJldHVybmlkKTsNCgkJCQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKHRydWUpOw0KCQkkaWRfbGlzdCA9ICR0aGlzLT5HZXRWYWx1ZShwYXJlbnQ6OlRZUEVfQVJSQVkpOw0KCQkNCgkJJG91dHB1dCA9IExJU0VDYXRlZ29yeU9wZXJhdGlvbnM6OkdldENhdGVnb3J5TmFtZUZyb21JZCgkbW9kLCAkaWRfbGlzdCk7DQoJCQ0KCQlyZXR1cm4gaW1wbG9kZSgnLCAnLCAkb3V0cHV0KTsNCgl9CQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRPcHRpb25zKCkNCgl7CQkJDQoJCSRtb2QgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UodHJ1ZSk7DQoJCSR0eXBlID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyk7DQoJCSRjYXRlZ29yaWVzID0gTElTRUNhdGVnb3J5T3BlcmF0aW9uczo6R2V0SGllcmFyY2h5TGlzdCgkbW9kKTsNCg0KCQlpZigkdHlwZSA9PSAnTXVsdGlTZWxlY3QnIHx8ICR0eXBlID09ICdDaGVja2JveEdyb3VwJyB8fCAkdGhpcy0+SXNSZXF1aXJlZCgpKQ0KCQkJYXJyYXlfc2hpZnQoJGNhdGVnb3JpZXMpOw0KDQoJCXJldHVybiBhcnJheV9mbGlwKCRjYXRlZ29yaWVzKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gU3ViVHlwZXMoKQ0KCXsNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgJ0Ryb3Bkb3duJyA9PiAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfRHJvcGRvd24nKSwNCiAgICAgICAgICAgICdNdWx0aVNlbGVjdCcgPT4gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX011bHRpU2VsZWN0JyksDQogICAgICAgICAgICAnUmFkaW9Hcm91cCcgPT4gJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX1JhZGlvR3JvdXAnKSwNCiAgICAgICAgICAgICdDaGVja2JveEdyb3VwJyA9PiAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfQ2hlY2tib3hHcm91cCcpDQogICAgICAgICk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBTZXBhcmF0b3IoKQ0KCXsNCgkJcmV0dXJuICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyk7CQ0KCX0JDQoNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Categories/output.Categories.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e0xJU0VMb2FkZXIgaXRlbT0nY2F0ZWdvcnknIGZvcmNlX2FycmF5PTEgdmFsdWU9JGZpZWxkZGVmLnZhbHVlIGFzc2lnbj0nY2F0cyd9CjwhLS0gY2F0ZWdvcmllcyAtLT4KICBDYXRlZ29yeTogeyRjYXRzfGltcGxvZGU6JywnfQo8IS0tIGNhdGVnb3JpZXMgLy8tLT4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/input.Checkbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIwIiAvPgoJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldFZhbHVlKCJzdHJpbmciKX0gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgkJCgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/lisefd.Checkbox.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9DaGVja2JveCBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvLCAkY2FsbGVyX29iamVjdCkgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbywgJGNhbGxlcl9vYmplY3QpOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBWYWxpZGF0ZSgmJGVycm9ycykgDQoJew0KCQlpZigkdGhpcy0+R2V0VmFsdWUoInN0cmluZyIpID09IDAgJiYgJHRoaXMtPklzUmVxdWlyZWQoKSkgew0KCQ0KCQkJJGVycm9yc1tdID0gJHRoaXMtPk1vZExhbmcoJ3JlcXVpcmVkX2ZpZWxkX2VtcHR5JykgLiAnICgnIC4gJHRoaXMtPkdldE5hbWUoKSAuICcpJzsNCgkJfQ0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQ0KCQkkb3V0cHV0ID0gJzxkaXYgY2xhc3M9ImluaXQtYWpheC10b2dnbGUiPic7DQoJDQoJCSRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CQ0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKHRydWUpOw0KCQ0KCQlpZiAoJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSkgew0KDQoJCQkkb3V0cHV0IC49ICRtb2QtPkNyZWF0ZUxpbmsoJGlkLCAnYWRtaW5fdG9nZ2xlZmllbGRkZWZ2YWx1ZScsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJycsICcnLCAnJywgJ3N5c3RlbWljb24nKSwgYXJyYXkoDQoJCQkJJ2ZpZWxkZGVmX2lkJyA9PiAkdGhpcy0+R2V0SWQoKSwNCgkJCQknaXRlbV9pZCcgPT4gJHRoaXMtPkdldEl0ZW1JZCgpLA0KCQkJCSd2YWx1ZScgPT4gMA0KCQkJKSk7CQkNCgkJfSANCgkJZWxzZSB7DQoJCQ0KCQkJJG91dHB1dCAuPSAkbW9kLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX3RvZ2dsZWZpZWxkZGVmdmFsdWUnLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9mYWxzZS5naWYnLCAnJywgJycsICcnLCAnc3lzdGVtaWNvbicpLCBhcnJheSgNCgkJCQknZmllbGRkZWZfaWQnID0+ICR0aGlzLT5HZXRJZCgpLA0KCQkJCSdpdGVtX2lkJyA9PiAkdGhpcy0+R2V0SXRlbUlkKCksDQoJCQkJJ3ZhbHVlJyA9PiAxDQoJCQkpKTsJDQoJCX0JDQoJCQ0KCQkkb3V0cHV0IC49ICc8L2Rpdj4nOw0KCQkNCgkJcmV0dXJuICRvdXRwdXQ7DQoJfQkNCgkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Checkbox/output.Checkbox.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/admin.CheckboxGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdzZXBhcmF0b3InKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NlcGFyYXRvcl9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2VwYXJhdG9yXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzZXBhcmF0b3InKX0iIC8+CiAgICA8L3A+CQo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdjb2x1bW5zJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9jb2x1bW5zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtjb2x1bW5zXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdjb2x1bW5zJywgMSl9IiAvPgogICAgPC9wPgkKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZW5hYmxlX2pxdWknKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2VuYWJsZV9qcXVpX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2pxdWlfYnV0dG9uc10iIHZhbHVlPSIwIiAvPgogICAgCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbanF1aV9idXR0b25zXSIgdmFsdWU9IjEie2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2pxdWlfYnV0dG9ucycpID09IDF9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KICAgIDwvcD4JCjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/input.CheckboxGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPkdldE5hbWUoKX17aWYgJGZpZWxkZGVmLT5Jc1JlcXVpcmVkKCl9KnsvaWZ9OjwvcD4NCgk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPg0KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0NCgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIiIC8+DQoJCQ0KCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnanF1aV9idXR0b25zJykgPT0gJzEnfQ0KCQk8ZGl2IGNsYXNzPSJsaXNlLWNoZWNrYm94LWJ1dHRvbnMiIGlkPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkeyRmaWVsZGRlZi0+R2V0SWQoKX0tY2hlY2tib3hlcyI+DQoJCXtmb3JlYWNoICRmaWVsZGRlZi0+R2V0T3B0aW9ucygpIGFzICR2YWx1ZSA9PiAkb3B0aW9ufQ0KCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XVtdIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV17JG9wdGlvbkBpdGVyYXRpb259IiB2YWx1ZT0ieyR2YWx1ZX0ie2lmIGluX2FycmF5KCR2YWx1ZSwgJGZpZWxkZGVmLT5HZXRWYWx1ZSgiYXJyYXkiKSl9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4NCgkJCTxsYWJlbCBmb3I9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1deyRvcHRpb25AaXRlcmF0aW9ufSI+eyRvcHRpb259PC9sYWJlbD4NCgkJey9mb3JlYWNofQ0KCQk8L2Rpdj4NCgkJDQoJCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7DQoJCQkkKCIjeyRhY3Rpb25pZH1jdXN0b21maWVsZHskZmllbGRkZWYtPkdldElkKCl9LWNoZWNrYm94ZXMiKS5idXR0b25zZXQoKTsJDQoJCX0pOw0KCQk8L3NjcmlwdD4NCgkJDQoJCXtlbHNlfQ0KCQkNCgkJe2h0bWxfY2hlY2tib3hlcyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldE9wdGlvbnMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldFZhbHVlKCJhcnJheSIpIHNlcGFyYXRvcj0kZmllbGRkZWYtPlNlcGFyYXRvcigpIGFzc2lnbj0nbGlzZWJveGVzJ30NCgkJe21hdGggZXF1YXRpb249J3gveScgeD0kbGlzZWJveGVzfGNvdW50IHk9JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnY29sdW1ucycsIDEpIGFzc2lnbj0nY291bnRlcid9DQoNCgkJPHVsIGNsYXNzPSJsaXNlLWNvbHVtbi1saXN0Ij4NCgkJe2ZvcmVhY2ggZnJvbT0kbGlzZWJveGVzIGl0ZW09J2JveCd9DQoJCQl7aWYgJGJveEBmaXJzdH08bGk+e2Vsc2VpZiAkYm94QGluZGV4ICUgJGNvdW50ZXJ8Y2VpbCA9PSAwfTwvbGk+PGxpPnsvaWZ9DQoJCQl7JGJveH0NCgkJCXtpZiAkYm94QGxhc3R9PC9saT57L2lmfQ0KCQl7L2ZvcmVhY2h9DQoJCTwvdWw+DQoJCQ0KCQl7L2lmfQ0KCTwvZGl2Pg0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/lisefd.CheckboxGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9DaGVja2JveEdyb3VwIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRPcHRpb25zKCkNCgl7DQoJCSRvcHRpb25zID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdvcHRpb25zJyk7DQoJCSRsaXN0ID0gZXhwbG9kZSgiXG4iLCAkb3B0aW9ucyk7DQoJCQ0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxpc3QgYXMgJG9wdGlvbikgew0KCQkNCgkJCSRvcHRpb24gPSBleHBsb2RlKCI9IiwgJG9wdGlvbiwgMik7DQoJCQlpZihjb3VudCgkb3B0aW9uKSA+IDEpIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMV0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9IGVsc2Ugew0KCQkJCSRvcHRpb25zW3RyaW0oJG9wdGlvblswXSldID0gdHJpbSgkb3B0aW9uWzBdKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFNlcGFyYXRvcigpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzZXBhcmF0b3InKTsJDQoJfQkNCgkJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/CheckboxGroup/output.CheckboxGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/admin.ColorPicker.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmdodCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmdodF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmdodF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcsIDI1NSl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/blank.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhAQABAJH/AP///wAAAMDAwAAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_background.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_hex.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEgAAAAsCAIAAABJ6mlcAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAGaSURBVHja7Jixa8JAFMa/JAdmyGJB4iIdAhqySSfplH9Gi3+P0PjX3FSciuBQ3Iq4GFwP7GLpcCDXi1LRQF8e900fyQXej/eS3H1ekiRRFIGXlFIiiqL9fs8MrNPpCAC+74OdBIAgCHiCCSFueJLgm6mUqgEMwHa7pUPV6/VMkLvAyI2fAeLrd+ysZrOZZUwRBDNr8/VX8awArFYr01h3qcmsTQD4OhysFa9FoY2U8nTRWtYKQ2pgpwpbYegD+K5oMh4DyPM8z3NtqssIdsysTQCA511a2u/3LUNaBogAUMUq5nNzDqWUL5NJA7isH7R3rmN6/KSU2gBIBwPyDfvdsUujmKapZZo2ihWw6XSqr59MQ7i8v0cxyzLLMAG7cnvGEOx4PLLtGPXzGE8wpRTPMOeh3e7GMTOwXVmKbhy/L5fMwJ6GQ5dSNRHstswjo7eB/Fiv6wlz3hYLOlTPo5FLqVxKRUT1pFQEZVboUiqXUv0n1zXHFpdSUR5Fl1JxALtye8YQ7HOzYdsx6ucxnmC7snwkFujWEub8DAA5n9W+w+9WGgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_hsb_b.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAANQSURBVHja7JpBSxtBGIa/3Wyt4pqwosaDUWrWmPS2eDF48FAM3urdg4IFIagFf4UgSKi56A+wf8CbBBQpHtKSg7CJ5hAXL0aPbrLFZLM9jG432ZgN1kln2v3wMG5mmIfhnc3MQ5hgMMjzPNBWqqpyPM/f3d1Rhz44OMgBAMuyQGFxAODxeGhF5zjuBSNx7xBVVXGhA8D19TUm7kAg4Ej1R+h489AOuj3r6+vrZvv8/Pz4+Ljz6I47sPkbRhTFVCp1e3vb29sbi8UMwzg9PW3oYxgGVnQrVSaTkSSpYXYOAH5qmn3k4eFhoVB4w3F9fX3BYPDrwcHAwIC1w9vubqzoJlU2l0P0kXDYOjsHALVazT5yfn6+XC57vd7p6elEIlEql/ubdcNXJtVkKHSZz6N2aGKiLjDAMPaRoihqmsaybE9Pj8/nEwShaTeMZZkuFAo1z3pTomQymc1mPSz7cWEhHo9/T6c7C/6bKndxgRrhycm6zQAAjK3QZ/6hodHRUUEQAKBwdVUzDHsfnIv+WCjiDMNcXF5aZ382MGtra5VKhef5kZGRk5OTv3BesFBFIhEACFu26VNgbOiJREJRlK6uLoZh7u/vZVn2+XxMZ7PeMB2id0bP5/OlUsn8d3x8vBvzq9AR/Zlt2qxTO6erQCBAIrpj6bpO6KrTcV6nFV1VVVqv1f2CMOz3U4d+Uyxyw37/j0yGOvQpSXKNAF1G4H39ieLVS87lMF6rv52dYeKeiUZdI/CPGQHc1doIPKK/zAjgrtZG4BHdNQKuEXCNgGsEXCPwmkZgJhql8lpdUBTXCPyHRuCmWBzDKbHwXaupvJUCgNfrJdQITEnSh7m5Fh1SR0fkGgFHp0muEWgLnUwjUKlUaDUCDw8PtBqBtladTCPgmHUWvWEaShRFRVHS6bQsy7FYbHZ21t6nA+hmbW1t6fVFtBEwV31nZwcAtre3Nzc36TACerWKGp83Nr7s7qL2hiXJ5BqBqiXr8Xjc/pBcI1B9WvW9vT3UWF1dpcMI6NUq+vu0soIg9/f3zYdEGwFrNpaXlwFgaWnJFhgijYAZGFSLi4sNT8g1Ano9KE1GoK2TI4FG4N3YGEZ07IFx+gYkF73muOrkGoGWPwEta9qvAQBPtPTdMmi31AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_hsb_h.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAN6SURBVHja7JnPSuNAGMC/aVJta1FqqO3BRhZrbfcixVP1uAi+gCcPCi4Igq6PUelFdr3oK/gIssfFi6V42cZNYREVLF6KxEbbJtnD1BCTtBHd2c6w+QhlJvnC/Jh++TO/oOnp6Wg0CqyFoih8NBq9u7tjDj0ej/MAEAgEgMHgAYDjOFbReZ5/w5mkrxBFUUihA8DV1RUh7lQq5Un1LnSy9eBFFcC1bovd3V1RFM3uysrKwsKCLYc0Otc3uugBR6TT6Uaj8fT0hLuTk5PBYLDRaFhzSKNbxzo/P7cRdgvmUVWdZ6qqqjabCAAAdE1rt9vNh4dIOGwmDIdCRNFNqqokAUClUslls9bReQDQdd155vLycrPZDPI8AIwLgmEYhmG4ZhIKc6zZTOaXLON2ZmbmxWUKCDnPTKfTqqrivyYcDuu6Dgi5ZpIKy1iZTMb9DuOKc3BwUK1WuUAAAIp7e4Zh9MokRf7ckC4ucCM7O+tA7zGXiYmJSCQCAKHhYZ7nUe9MMpPeHSuXzVYlCXet9D0LprsfHzJ/B1QwuVwOALKWyxQAuGQyqes6ehmyLJfL5UgkMjQ0hBC6vr4+OztrtVojIyNmDsdx9/f3hLDHxsZsVPF43NrlOM69YGRZFgQhFArhQzc3NwihWCw2kILpmTA3N9fpdEg8qN8Z/al4PPzb5lLTtMHO+tvRqXhfZxVdURRWl9XjsVgykWAO/bZe55OJRLlSYQ59Pp/3jQBbRuDjyzeKvx4/JYngsvrH6Skh7sVCwTcCvhGgxQiQjv5GoIvuGwHfCPhGgGoj4D7r+/v7tVpNEAR86Pj4uFarwYBm3Urvjc6EEehZ67alU9jtjr5YKDC5rP59eekbgf/QCNzW61OpFIvLaiZXpQAwOjpKqRGYz+c/LS31Sfh+ckKvEfB0mvQagVeh02kE2u02q0ag1WqxagQ8Z51eI6D1DaqNgBW0WCy6oz+qqm0zjQDumkbAlvNv0EulEgCUSiUbOr1GQHv+DPZlZ+frt2+4vbO9zYAR6Fju61tbW86d9BoB8+Pj4eEhbmxubtrvMMgRphEQRVEURasRsOUQLRi8fd7YwJBHR0fmTqqNgLU21tfXAWBtbc1RMFQaAdvX6tXVVdseeo2A5vX5n14j8Ko3RwqNwIepKYLoxAvG6/FHL7ruOev0GgHD6HOwqap/BgCyOj0SRJlwPQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_hsb_s.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAQZSURBVHja7JpBSNtgFMdfanRVgm0zpNUtk7VrV3fpiiDI8LTtpBXBowcLHQiCDoTZq8eCKOi8KHj0KB42bEB21NaC9DDZ2lqUaQ9TD2rJ7GqTdodolyYl6dy+Ltn6J4eQvo/3J335vrzfF8xmsxEEAVoTwzA4QRCnp6eas97S0oIDgE6nAw0KB4C6ujqtWsdx/BYjUT8hDMOgsg4AR0dHiHxTFKXo6reso62HSqxLa72xsXFoaIgkyUwmk0wmg8Fg9a0rPoHlZxi/3395eUnTtF6vHxgYaGpqWltbE8UUCgWk1oWuotGo2+0WZccB4HsmIxpmMpnm5ubC4bDBYMjlcm1tbQcHB60WizDmjl6P1HrR1edYjHff4XQKs+MAkM/nRcMSicTU1NTOzs7ux4/xeHx9fb1QKEjDkKqY7rHDkdjb488ddvvPirJYLCzLAoYJj1AolEwmzWazp7//+YsX6XT64uJCFFNfX59OpxH5NhgMQld3byTMrgMArPR4QFEejyceiy0sLHg8ntXVVZ/Px7KsKAy1ioniNxJl1wEAVirAsL6+PpvNZjQY7t+7941hAODk5CRfKJSEobZ+I77EMQyLJxLC7DgfJRyTSqU2NzffTE4eHh5ms1m73U7T9PXahmHVK3ZBro6ODgBwCh5TAMBcLtfV1ZV0IEmSra2tRqMxHA7v7u6SJGk2m4UBDQ0NSFfTsq6E2XH+v5D+dnZ2lkqlstksx3FWq1WPeCosWzAKAS6Xi2VZFAv1b0reFc6nv90zx3Hc373rt7euivd1rVpnGEarbTVpMllKZz1N6OvxMW4xm3eiUc1Z73S7a0RAW0TgSekbxR/Xp1gMYVu9GQoh8v2su7tGBP4xIoBa8kTg2vrtiABqyROBa+saJQJ42bZtZmbG6XR2dXUNe70AsLy8HIlEql3sAlcOh6NMRdWIQI0I/AoRKN9qrKysBINBngjMz8/zRKDKK5fIFe++oi5J/URArsEjCEK+gXrW3a3Jtvrgy5caEfgPicDX4+N2itJiW63JrhQAmpubVUoEOt3u5y9fygR82NhQLxFQZJrqJQIVWVcnEcjlclolAvK7GqomAhXddXUSAcVa1/EzjEh+v58kSZqmt7e3e3p6BgcHpTFVsF5UIBDgSqVqIlC867OzswAwPT09MTGhDSLA3WyDvR4fn3/7lj8fHxvTABFgBbU+OjoqvYiDpL2nKMr19On7d+8ikUggEPB6vT6fb2trq766E1Fx83FxcZE/GRkZkcAMVRIBjmX545XPx5tcWloqXlQ1ERDWhtfrBYDh4WHhRczT25vc35eOVPxG4JHVinQ1bTYaZQLS5+fqJQKc0va/eolARW+OKiQCD9vbEVpHXjBKK6B6recV77p6iYDsJ6CXmcyPAQBGu49cr2kIwAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_indic.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIwAJAJEAADk5OVtbW////wAAACH5BAEAAAIALAAAAAAjAAkAAAInTISpy50WwHG0imiAtFxF+W2dFWaaODYheE6pU37uC2vZTNdQ3hkFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_overlay.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_rgb_b.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAANQSURBVHja7JpBSxtBGIa/3Wyt4pqwosaDUWrWmPS2eDF48FAM3urdg4IFIagFf4UgSKi56A+wf8CbBBQpHtKSg7CJ5hAXL0aPbrLFZLM9jG432ZgN1kln2v3wMG5mmIfhnc3MQ5hgMMjzPNBWqqpyPM/f3d1Rhz44OMgBAMuyQGFxAODxeGhF5zjuBSNx7xBVVXGhA8D19TUm7kAg4Ej1R+h489AOuj3r6+vrZvv8/Pz4+Ljz6I47sPkbRhTFVCp1e3vb29sbi8UMwzg9PW3oYxgGVnQrVSaTkSSpYXYOAH5qmn3k4eFhoVB4w3F9fX3BYPDrwcHAwIC1w9vubqzoJlU2l0P0kXDYOjsHALVazT5yfn6+XC57vd7p6elEIlEql/ubdcNXJtVkKHSZz6N2aGKiLjDAMPaRoihqmsaybE9Pj8/nEwShaTeMZZkuFAo1z3pTomQymc1mPSz7cWEhHo9/T6c7C/6bKndxgRrhycm6zQAAjK3QZ/6hodHRUUEQAKBwdVUzDHsfnIv+WCjiDMNcXF5aZ382MGtra5VKhef5kZGRk5OTv3BesFBFIhEACFu26VNgbOiJREJRlK6uLoZh7u/vZVn2+XxMZ7PeMB2id0bP5/OlUsn8d3x8vBvzq9AR/Zlt2qxTO6erQCBAIrpj6bpO6KrTcV6nFV1VVVqv1f2CMOz3U4d+Uyxyw37/j0yGOvQpSXKNAF1G4H39ieLVS87lMF6rv52dYeKeiUZdI/CPGQHc1doIPKK/zAjgrtZG4BHdNQKuEXCNgGsEXCPwmkZgJhql8lpdUBTXCPyHRuCmWBzDKbHwXaupvJUCgNfrJdQITEnSh7m5Fh1SR0fkGgFHp0muEWgLnUwjUKlUaDUCDw8PtBqBtladTCPgmHUWvWEaShRFRVHS6bQsy7FYbHZ21t6nA+hmbW1t6fVFtBEwV31nZwcAtre3Nzc36TACerWKGp83Nr7s7qL2hiXJ5BqBqiXr8Xjc/pBcI1B9WvW9vT3UWF1dpcMI6NUq+vu0soIg9/f3zYdEGwFrNpaXlwFgaWnJFhgijYAZGFSLi4sNT8g1Ano9KE1GoK2TI4FG4N3YGEZ07IFx+gYkF73muOrkGoGWPwEta9qvAQBPtPTdMmi31AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_rgb_g.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAOzSURBVHja7JnPT+JAFMdfobBst1GoCh5Es0pQNtGGeCLG08a7d2MkkURjoht//A0uiVEOXhT/B68edI+rB7MhXNjSkKgRVJbIqbEqre6h0i2UUKI77DTLSw9kmMn78vhOp+9TYmBggKZpMFsIgkDSNF0oFEwnvauriwQAi8UCJgwSAKxWq1mlkyT5ipWod4ggCKikA8Dl5SUi3V6v11DVm6Sj9UMj0mt6fXh4eGRkxOfzFYvFTCZzcHDQZOmGO9Ci3GGqgmXZSCRSKpX29vaOjo7Gx8enp6er5qCWrs2VTCb12UkAuBfFqmWTk5P7+/vb29vt7e00Tefz+fn5+evra5fTqc5553Agla6q+slxAJBIJAJDQ9rsFgB4qgyXy8UwzMnxcQfDeNzuDxR1lcutra0Vb28lSVKnoa66mmjQ7ycIgiAILp3WZicBAAhCu6ajsxMAsrnce4ryDw6urq4q45ubmzzPN8/sGlV+v7+214nKK5fNAoDP57PbbLls9uv6+vLyMgBks1nx7k6dhlx5+UqXQyuyLL0yRFHkeT4cDltJUhTFs/Nzt9tdLsSfQF/0l1AsThBEmue12WsYBgB2dnYWFxfj8TjP8xRF9fT0cByXyWQYhgGCaL5hAoEAAAxptikAECzLPj4+6hfKsux0Ont7e202WzKZTKVSym9Qb7d2ux3paVpTlRp2u51U/ouah5kgCKenpw8PDwDQ39/vQHw31BvGYALLspIkoTio3xj1VZFK+tftOVmW/23VXy8di+d1s0oXBMGsbTXjcnV7PKaTfpPPk90ez49EwnTSR4PBFhEwFxH4VPlE8dcjxXEI2+rvJyeIdI+FQi0i0CICuBAB1FGfCLxUvUUEWkSgRQSwJgK1W437+/toNKonAg6Ho2l9SVUiRX1DXRL+RMCgwaNpuk4PNRYKmbKtPru4aBGB/5AI3OTzfV6vGdtqU3alANDW1oYpERgNBj9PTNSZ8O3wEF8iYMg08SUCDUnHkwiUSiWzEoH6bzWwJgINVR1PImDodXyJgKyJaDQqVwbWRECt+tbWFgBsbGysrKyYgwjIkqRcX5aWlKYuFoupg1gTAUnj9YWFBf0gCbr2XiUCV7mcQgR+FQqxWEwhAhRFNUl6+eXj7u6u8mFubk4HM7AkAqo3IrOzSup4PG5gGEyIgNYb4XAYAGZmZnSGwZIIVL2tnpqaqhrBlwjIRq//8SUCDT05YkgEPvb1IZSO3DBGpx6+0p8Mq44vEXh+rvPlnSj+HgA0S90s9ElKvAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_rgb_r.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAOwSURBVHja7JlBSxtBFMffxmUTYwi2a1ghpqEY19hLDJ6kxyL4ESoeFAwIihZB8OZZyMG0nrTipxAsDQEvVVKoUTRtTBQbtGKIFoTdbHSzsYeNy7qbJkGZdJbmMYdh5g3zZ+bN7rzfEJ2dnTabDYxmHMeRNpstm80aTrrD4SABwGQygQGNBICmpiajSidJ8hEjUZ8QjuNQSQeA09NTRLpdLldVVU+SjjYeapGuj/WpqSmlLghCNBrd39+vs/SqJ9Akf2E05vF4Njc319bW1tfXc7lcIBBwOp0aH9TS1XPt7e3pZycBIC8I+pHxePz8/PzX2dnXaPTj6irDMPGDA6vVqjiYLRak0hVVPxIJAIjFYj1er3p2EgCKxaJ+pMfjcTgcZrO5t7e3paVla2uL53kLYrlqU1R1s2wylZLrbFfXg1gHgtCPnJyclCuXl5fz8/PJZNLtdpf1RGWquViWLX9My8qZmZnZ3d0dHBycm5uz2+2ujg6L2VzPY6qoShweyhVvd7f2mBI6k/teuFw/T04+bWzMzs46nc6yPigXvWRyiBMEcZhMqmc3lbZGU5QtI4jP4XA2m307NJS/uSnjgzRg7ktPTw8AeL1e9eyEz+e7vb3VjGJZNhKJ0DQtf1JaW1tFUUyn021tbYoPRVFI/6Z6VWqjKIqU90LTkUqlaJq2WCxy1/X1tSiKVqu1WCzW7a5WNSYJn89XKBRQ/KifaJVVkfL0jztzkiT921V/vHQs7utGlc5xnFHT6ufPnrUzjOGkX2QyZDvDfIvFDCe9z+9vEAFjEYFXqos/CvueSCBMq79sbyPS/bq/v0EEGkQAFyKA2ioTgZL0BhFoEIEGEcCaCJRPNUKh0NHREU3TBEHk8/nFxUVRFHmeb25urmOoP1Alq6+eJRmCCPw1wdOkThRFURSlv2kYMq0+SacbROA/JAIXmYzb5TJiWm3IrBQA7HY7pkSgz+9/MzBQwSESDuNLBKoyTXyJQE3S8SQCoigalQhUftXAmgjUtOp4EoGqsY4vEZBUtrCwID20kvS8IGiKTASOj49jOzvvQyGe5xmG+X11pfGpj/RgMAgAwWBQIx1fIiDdP4O9m57+sLQk16dVkYwvESioYn1iYkLfiC8RUB4fl5eX5cr4+LgxiIBUKMglMDYmi1xZWVEasSYCBUlSyujoKACMjIwoLVgTAc1r9fDwsKYFXyIgVXv+x5cI1HRzxJAIvHS7EUpHHjDlfpTGkF6suur4EoG7uwqdOUH4MwCllHKmGpTirAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_select.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhCwALAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAALAAsAAAIflINoG+AeGFgGxEaXxVns2X2dh4CZJXBadDxQlihGAQA7]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/colorpicker_submit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABYAAAAsCAIAAADuN9+nAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAANeSURBVHja7JTfb9tUFMe/1/c6tuMfsdNkdbem6xZtbILS/ShIFG3ihYdJSNszSCDxvyHeYOrbNFaQ0OCh6yooo1PLoIvpaJvGsWM7cdzY4cFpSIMqQfIAk3bkB58rnY/uOffeDymXy4qiYNTwfZ8pilKtVkdGFItFBoDjOIwRDACldFwEY2xo1ch03hGDucOoUOvCFw+4wk+88L3ctln0jxBvzfh3zkeXZt+d1i8pzSw80felxY36zRXrLr+9olhDCGqaZjqONBZeDz56n7x36+OSykQ34GoRV+uKTfVU7sL0lbeNp2o9bu9JNjcQx2ahqIcf3G4t3vhEi6qgOjgdYhaainAK7oRWNxZv3W58OfGrvN/g3WON9E/kwjXv9NwVacZBkINkQi5CVKBpCCaR1UGMbE2eKnuv7VxfLXyTlnS7XQYgbLXSXCw3xNLsC5LkFF0RC0wxkc1D0+FOJEQLQt5pgJ8qZTZmQ7lXIogiA5AkSZq72mGgCW3EHkSdybpuZKUzRM6HVHI8OBKcDDxJcw+1fkmvERCSJjsJLLQJmAG4gAvkBYFKkg04R58bYQdJv6SH6Ge/77N1p6oUJjSEBsJJIADhABfYa8NuwY1gHTgW2+eH7gU5QjZ/lpY3f3mjoBroRGAJqAcQgoCixrCbYC/ASmWzKW3pQ7vo70p9om09tvSLl+OCQMBCkCwIgJDApajyeBYcWLXHk6fW/9bIUc6HvPaV9kj4bu7O+ahIGyAiACACPA5Wo7q+elfPPeD5YKB7UNM0kyQhRyHYAp51ntu/1ZokzE62RNNpZSqbuxv3H27fW8q1l1SlQgaCUkrm5+c7nU7/nsRxHMdxh0+C6Uz73ExHPYumxrY94fm2HFqURIwxSml/4yx9YP08/SGEsC5EC7AqQOWv0WcA8Om7wEknkr6Xf6uPYcQoyvF9f1z9TpmmoesjI+qOwwxdX11bGxlx/erVVwY/GXHtsvfhDW5x4VPNdmDV4Aaw1Vwk5abnSuWb8hdrXOvhqvr0xFn8NwbvIcYxeA/xyuD/J4MPW0vdUvGZ/8PuUmXBP/2moBfPkChy/qi++PpHe/lRDsuquj9YP4xIDS7sZPKft4NvHzw5tzVo8HxoURbF8TGDDyNeaoPXHedsqTSOfv8cAI6z+2gFO4OaAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_background.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAWQAAACwCAYAAAA4wxStAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAcCSURBVHja7N3Pbxx3Hcfh96zXcXandhIlSoNrEXAISJEgJ8SJI0KVEPcKCfEf8Ldw58SFGwduqOopvUTcUgmpCoRC0ihUqRrb3d0mXXs4dI2GiP6wZzb5sn0eaQ8eeWzrs7MvfTU7nq3S0jTNxSRXkpxPshEAluFpkidJHlVV9eHxxmoR4s0k30uyZU4AL9R+knerqjoYLDaIMcDLsbVocIaL0xTHMR4m+WWSnya5ZE4AS/E4yZ+S/C7JPMlW0zQXh0m2W9/0qwcPP3jjn+9/kGfPPjUygCU4c2b90jdfu/yLne3LgyS/XWzeHuazN/COvf7e/Ue5cH4zr166YGoAS/Cvxx/lvfuPsrN9+fVWkM8Pkqy3vu/8fH4oxgBL9OqlC5nPD/Pcgnh9YDQAZRBkAEEGQJABCjQ86Q7TT57m7r0H2T+YmB6929qsc313J+OzJ//P/b/942H29rsfl+e26ly7uh2vjX6eM3P56sfyiYMsxizT/sEkd+89yM0b104c44ePHvfyN0ymsyQ5cZS/rq+NL3vOzOWrH8vD0/ySJPnxj36gHvTu1u07p3rxHq+Mv//GzzNsmlP//nlV5Z3f//FUK+2v62vjy54zc1niKQso0XT2SZLkWx8fZnjUIciDKu+0fh68SILMihknaTrsXxkhggyCjCDDSqkFGUGGMoyMAEGGMoyNAEEGQQZBhpbaCBBksEIGQYaWUbpdKdEYIYIM/a2QBRlBBkEGQYZjtSAjyFCGUbp97sKRESLI0I+xICPIIMggyNBSCzKCDGUYJVnrsP+hESLI0I+xICPIsDpBnhkjggzd1YKMIEMZRh0P67kRIsjQj7EgI8hQhlqQEWQowVHO5qjDYX0kyAgy9GNqfYwggyCDIEPLRJARZCjDLP5PD0GGIkxfYpC3NuvsH0xy6/adr93ctzZrcznhXP6XgZcwqxbkro/Tur67c+IX4KpE5/rujrmccC5WyKy8yUtcIY/PbuTmjWueBHM5NUFmpczS/W7I68aIIEN30x6CfM4YEWQQZAQZVsYkPsAJQYYizJJUHfZvjBBBhn5MBRlBBkEGQQZBRpChzCCDIIMggyCDICPIIMggyPB5Qe7yxlxlhAgyCDIIMoIsyAgyCDIIMisd5C43CPIROggy9OTpWnLUYZk7UGQEGXoyinMWCDIUoRZkBBnKMBZkBBkEGQQZWkZGgCBDGWojQJChDGMjQJBBkEGQoWUUn+GEIEMRakFGkKEMY0FGkEGQQZChZZRut2w7MkIEGfpbIQsyggwFqAUZQQYrZBBkEGQEGcozSrLWYf/DxQMEGTqqewjyvjEiyNDdWJARZFidIIMgQw9GHY/quREiyNCPWpARZCjDWJARZCjDmXm3o3qgyAgy9GRiiYwgQxmmgowgQxlmcd0bggzFrJAFGUGGAkwEGUGG1VkhbxgjggyCjCDDypil+w2RLxgjggzdTeIO9QgyFGEqyAgyCDIIMrTMklQd9m+MEEGG/lbIgowgQwEmgowggxUyCDK0zIwAQYZyVsggyFCAiREgyGCFDIIMLbN0e2OuMkIEGfpbIQsyggwFmAgyggxWyCDI8FyQu9wgaGCECDL0YT3zHHUI8kCQEWToxzhOWCDIIMggyCDICDIUpxZkBBnKMDICBBnKMDYCBBkEGQQZWmojQJChDKP4ACcEGYowFmQEGQQZBBlaakFGkKEMo3S7X9uRESLI0I+xICPIIMggyCDICDKUGeS1DvsfLh4gyFBAkA+MEUEGQUaQQZBbQQZBhp6C3OWgnhshggyCDIKMIAsyggz9qwUZQYYyrD1N1jq8M9coMoIMPZlaIiPIIMggyPBckF2IjCCDIIMggyAjyCDIIMjweUHuekPkDWNEkEGQEWQQ5FaQLxgjggzdTeIznBBkKMIsSdVh/8YIEWTox1SQEWQQZBBkEGQEGQQZBBm+IMggyCDIIMggyAgyFGZiBAgylGGWbm/MVUaIIEM/poKMIIMggyBDy0SQEWR4qdbWBpnPDzN9Nsxac/pbth1Wg//8PCg+yFubdfYPJrl1+47psRRbm/WJ9zm3+Uo+/Ggvb/3hzV7+hnObr3giKD/I13d3cvfeg+wfuL6I5cT4+u7Oiff7zrdfS5LsHXycpsMpi6r6LMbHPw+KDvL47EZu3rhmchTlzPowN7571SD4v+ZEGYAgAyDIAIIMwBcF+bD19WwwGGTPFRQAS7N3MMlwuJYkT1qbPx0uNlxcbHhr9+o3fvbXv7+f+2YGsDSLSyvfbm16UjVNcyXJjcWGjSS/TvKTOJ0BsCxHSd5M8pskTxfb/lIlSdM0P0yyaUYAL8VBVVV/Pl4Fv5vkwEwAXnyMFw3+73tbNU2zneRKknNx3yuAZWmS7CV5VFXVw+ON/x4AypzsTQdSi9MAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_hex.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEgAAAAsCAIAAABJ6mlcAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAG4SURBVHja7JjPSwJBFMe/rgsVopeETCIQPAQFRdRhIRA6+n/0i4T+mIqw+js8BkLgIQiipKJQ7GBGCqEIK21jh4FtHLeQxcPbaR7v8Hb2sbwP82b37Tf08FRrd7pQy2LRiNnudBMz04qBNd5aJgDGGJQzE4DjfGmwHyN4MmPRyADYp+P4e1BqfpYOVfXlVQRRqhVFEINfe/re/oEUiE4TzK3NAMD6fU8HsLayIAbSXWom1mYCmJqckDK2d3M8sDJZd1FKs+0eNTC3QtvuGQAMIyT5+ekxgFKxUCoWeDCcRnDHxNqMv1PLj1UpCNJ3rD90YLZ2cmIfWpnsWf6IPowIwsE8knj7WZksDwDc3lfIgw3u2G/mktBHGrUV8yeHfN0NAgEz3Ioedd+Un6VAEbARxzPSYIz5AQuHw+QmDzamHQvey0MFsFg0oqaY8976qDeaioElE3Gz3mha60uKgZWu7rRK9X/ACE4ky4vpATDfKtXmxiodqovLa61SaZWKyqw4FpWKoIkVapVKq1Sk/qC9xi2tUgWpFbVKFUCwEccz0mD+VKp0ao7c5KFVqiCDJRPxSq2unpjzPQB3outYJCzdqwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_hsb_b.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAPPSURBVHja7Jp7SBRBHMd/tzt3ep5efyj4LHyWnqYkPuhFIhRJBP1X/RFBIESBqD0gKKLHH1JZoEWYFRVUEOQfgRQYihFICkb5OC33rrPUExXPe/jc2+2PtW29u25vz0Z34Yb5Y3buNzPfm/vO7OxnTzXw3WJ3uABD0hCLUpssMpoAI/VROmR3uOJio3FIJ4GW2sQNKMBI6/gUAgCGYXBIV4HkbhkpTRAA0LQbsGiX3C3NqtZCuugKWaXX9VE6celLNB3ctKZsivfzKaGSbhiW4Arm4TFRVTgNs7okqsq39Ft1jXw5Oye3rLRYhtIJAGBY1iNbKGPixtSCgsLMrJy2luZ3bZ3eMbilC8cq3JblPToCAG14mHfLw4dKM1KSlmh6xu6kKCr52MHxiWlhwPz8AlbpvKpcQxoAFOcbvvZTwtERABCEjy2pqfmDLiLcNuP83NleVVUZqdNOTNnW0jC8qt4BU/aWFK7cN2he4XWfyUwNhmsjGIZZmJ+dtjmmpu3ruGSFildIZ30Z90xFeZ4hjXa7XzS9b7hfv7PoAYvf38LED7c1K40r9Bgpz2XKsp6ZSyPWSZNljJvvjNQkgiC8Y3BKX86cxVmWzclMFY7+T8PU1jUipJ51OawjP4p27wcAt5tZL8Nw6nuMJnHDVFRWpyUnLiwssixs0OvystOnbY71MoxQvbh0w+bkSJ2Wv/xG/ZzDvBWKSpewTB3OWdHezcNj+I5fAUlnmGCcQJKkSABBSu5T9beJqCoUyPfD9IuvsomSpeujdJgeq7FK10fp0MSUbdQ6ieX8hOakNpmjtQFGJsTFoFHr5PbCHMURgY6u3hARUBYR+NI3hNXrednpGIlA6a58TESg9WN3iAjIkggg7tnbo9ZCGXeUHIiPjXa65tpamlUq1b6SwjWWLlRVnG/41N3vQ3pwRAB38k8ElqWHiECICISIQIgIhIjA/yQCrR+78R2/MBKB9JQk/wGrhBkhIiBP6QlxMSbLqBIfqwlQZrLZnTIlAh1dvW9b2v1Elu3dI18iQJJIqUSAEMOx8iUCarVGqURArQlTKhHQqIPyuhyIAEmKbNzy/Y8AIkk+11w8KbxEJClrIsC/8Lly/gQAXL9QfvnGY2UQAd4wV2ufXKo+zpWv3X6qACKgFizTmvrn3pXyJQLoj2HOnT7KFW7ee6kMIoAQyeU7Da+4+T176ghfKWsigAQHgfqHrwHg7qMmYaV8iYB65S2p4dkbjxr5EgHRW5J8iQAK5OQoQyIwZP4V/Kyv+2M1t40oUjpBiM26bImA/zeoERHhvwcA1EixiuNS9+4AAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_hsb_h.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAANQSURBVHja7JhdSBRBHMD/uzN77u3lgSloIpmcFneWkiARBEHQQ4+9RD71JISBhNmDUC8lIUT2YEFC0QdEEeRDED4EQiH4IAjp+UXe6UWel54feXof3t5uD3Nte3vXXR2tt4P7Zx5m5mZvfgz/2Zn9MTNffJuhbaAt7MU2vBnarigvpQ498H0VA4AkSUBhYAAQxcTeQtd7h9iLbbnR46KY37/XHDygE/f816WcVMZNmJxULBmkKT29jzwLfqX59PXg0PCYZswuoGcpSXRJljXF55kuLbHzvIU0A4sLO3Fxf4ldPUZvdPVczcedGsJkwlj5ovQnBYEXrDwhZFnWwuF9Nut2OKoMiEZjuqIrVA0uBwCcaHKNT3nUs2MAYFkm/cmB959sAh+PiwCwsbbCMAzDMBlH6hTKXO4Zb/2RGlKfnJ1P2aaZ97hnlrcK5LSKRsIsyxZwy6qJU9DlTIl7rb210eUQEwkAaOu8Q1ZA1j/FlVDmOuZ0kMrEtCcdPfPDi4EgSe6dWERMJGR5N8l/U41PeRpcDjL3xLQ35eVo/CAbVM39x4Rpv9rhrKteDq6Tn1ounHfWVRcqYdT0udFdhw8tB9cj0Rj5qbqqXJbl4NqPAqL/wzYNbYXVzXAkmvGmUWB0ScpnLRFC+p6mUr6rTsd9nVZ0e7GN1s/qldUNfyBIHXplRRn2B4Inm49Shz4y6jaNAF3onyfndCVrrK/V0QicOdWkE/fQ8JhpBEwjYBQjoHdkNwJJdNMImEbANAKmETCNwP80AkPDY1QagdqaKtMI7EEjUFlR5vX5afysZoHO2NjcMqgRGBl1D374mGXAubOnjWsEEMK0fuCxuXSscY0Ax1loNQKcpYjWhLFwmFYjgBCbpRjaCGCElNJz47K6iRFKolv5Ik1RjABpKkZAM0bnVU9Gd1crAHR3tSJVGNoIkKwAgFv3nt3suETqt3ufU2AEONU27el7md5pXCOAfx1J16+0kMrdh6+0bxhZ1hbFCHh9S17fktoIaMboiI4RKff735BV62y7qHRmS5jCX8dVF4G+x28B4MGTAXWncY0Al3ok9b94p+kxrhFQ3jD0GQH8NzdHAxqBuflv+a964bcpRrSi5zwEjWsEsl85BIH/OQCtdN0dq9fmGQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_hsb_s.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAQWSURBVHja7JltSFNRGMef3Xs23ZqClFgxjJkte7NU8gUNIyiUsqAICj8EQS+UIGT2AkX28iGN6oP1YZCShQVSfUijKBQiITKQVVYWW1Y3nKu8s7o593ZvH46N6+a9inL13NrD+XB27jOe/86ePec5v2nsdjvHcSBhPl4HRFp83AzEcVxiYqKURxAQmdL7XP0IAHiel/LggQdSDQFAMBiUehwQNERLDwQCE5D+89dvpbN5UtL9srtuTp6jkO6ez06/tKpx7jo1XfkQCAQnkusej6exsZFl2YAuyTzfsmV9IYHSKVxhwqy6uppl2aKiopycnGftrdeaHvCCEDaUli6OtTJjUWR0BACxen3Y29xud3l5eW5uLjvAaRFier8uMJu+OL+JfYaGvIpK18fG4En64vkAkJO5+OUbhzg6AgCKCk9oi8VSVVWVlZU1Ly1v2aKUrRtXU5SGoqa0UIbCdXV/WLLQjOev3/WEHDQ2m00fsesA0N3d3dHR0fqkEwB27NyzKjc9zGFwcEjRCmMwxMo4DA4OUQAgjByfGaa5uXlhWlpZWdnDe7dKNm9vqLdqERJGmtK7Hgq0NC0Fj7DolNhpeFUQWlpaHA7HwI8fH5k+o0EPAHOSZlIUJQgQGspLHx44xfFnEEdHw14iM5lM+fn552pqkpOTfSjxo/3N6nWb4oyGaTzzsfpXbz+IFzU2m02nG6WzZVnW6XQy/Xxh3orMdMv3/oFeV7/Ywev1KZrrMTFy/bbX60P4u4h8lpCQYDKZ8nQGhOj3DsajcCkcNdfHPk2lnDiO8ws++b0hVDoA8LzkI5qmlT1N+clJn4IiOKl+Xa3SjUajzLWaWOnxcTMQ63b3uVxSHp6Ankzpc2fPQn0uV1ZGhuqIwNPnXVEioC4i8OK1XVFly5ekKkgE1hRkKqS7rb0zSgSiRIAUIqC0yROBYekqJQKjXPAAoKKiAhOBG9frpIjAVJpY8YhcjxKBKBEYNxEY/apRWlpaXFyMiUBl+W5MBMYstIreTcPKi9wt6R8nAm3tnaokAqlmU5QI/IdEYHZS0ieGUeO1mgJ12sBPjlAi8PR51/1Hj2UcitcWkksEaBqplQhQY+FYcomAVqtTKxHQ6mLUSgR02gnlOglEgKYptRIBRNOhcfbYXvFLRNNEE4HQHz4nD+0EgDNHd52oqVcHEQglzKnzV48f2IHnpy80qIAIaEU/07O1jZGLCBMBsTEM88Jm21BSkp2dffhIfG3d7YZ665oCq8/vn9LG8G/CVO7fjifnLt+MgBlEEgGEaDwuWpuwyIP7toUWiSYCSNQI1F65DQCX6u6IF8klAtqRR5L12t2wFXKJwJhHErlEAI2ncySQCNh7vkxq16f3Wo3LiCqlR57xqiEC8l2HwRD7ZwA5jycNuKJrggAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_indic.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIwAJAJEAAL/Ezpihsf///wAAACH5BAEAAAIALAAAAAAjAAkAAAInTISpy50WwHG0imiAtFxF+W2dFWaaODYheE6pU37uC2vZTNdQ3hkFADs=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_rgb_b.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAN2SURBVHja7JprSBRBHMDndmf1Hnp9UPBZeJ6W3l1K4im9SIQiiaBv1YcIAiEKRO0BQRE9PkhlgRZhVlRQQZAfAikwFEOQFIzycVru2VXqiR533kO9vNvtw9qy3l2uHa03QzvMh9m52Zsfw/+/O/O7Uwx/sbk9PoBb0SZqoNvjS01Jwg7dPuWAAACGYQCGBQIAAoHg/4UudYZoEzXi6IuBQHTfrtuQJhH32LdJUSp0A0aUKjL6jYZmvm00FVSUlyKITgAAGJYNqTbakrE+u7jYnJdv6mhrfdPREz5GanThXOYt+eGzQwCAShkffufBA+W5uszFQGDW7aVpOuvI/qlpp3DAwoJfUnSeqsCgBwCUFhk+DdHC2SEAgCAU4Xe2tL7TqJWuWe+Hns6amuoEjWra4VrLgOGpBoatxk06rj04MrYs1iPnOD2iVKkZhvEvzDldHofTHcOUFRIvQ2cjBe6pqspCgz4QDD5redt0t3F7yT1W+vgWFn66zfl6rtFvoUPTlGVDK1fG7TNW2yS33rnZmQRBhI+REn2pciHOsqwpL1s4+x8Dpr6hGUJqzuexj38t2bkXABAMxmyrw9H3W6ziAVNVXavPyvD7f7IsWKfVFBpznC5PrAJGSC+ObtiYlaBR8Zef6e/zEj8KRdH/Ik093rnV7DRijM4w0UQCSZLSvk2ZaFcdj/06rujaRA2ux+pph2vCPoMdenpqMpywz2w1m7BD7+4dkI0AXugfB0clJSs05khoBMp3FEnE3d7VJxsBJI0A5M7eIb022rKtbF9aSpLXN9/R1qpQKPaUmdcYXUhVWmR43zcUAT06IyB1WdkILKHLRkA2ArIRkI2AbAT+pRFo7+rD0gjk6DJlI/AfGoH01GSrbQLHYzUB8CwutxdRI9DdO/C6rXOFARW7d6FrBEgS4nrAI8R0LLpGgKLicDUCVFw8rgETR0UV6ygYAZIUeXCj+x8BSJJ8rTt/XHgJSRJpI8D/4HPp7DEAwNVzlRevPcTDCPABc7n+0YXao1z7ys3HGBgBSpCmdY1PwzvRNQLwd8CcOXmYa1y/8xwPIwAhydVbTS+49T194hDfibQRgIKNQOP9lwCA2w9ahJ3oGgFq+Sup6cmrkB50jYDoKwldIwBXs3NE0AiMjv2IftVjf2qGJK7oBCG26sgaAcWKn6rVyl8DAGeXQsbU7haWAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_rgb_g.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAOzSURBVHja7JldSFNhGMcfz8ecG4qk5ub3xxR1miiYRIIkFYQ3QTd2E1hZoRdpaWQJWXghpWmolJllQQWBUt10EQmBICFJmqb52frwIzc3972cO10cOxw320I77rx4Xp6L7eF59/z37nnP+7y/+YyOq/QGE6A2AvylhN5gkoUGISd9bl5DAIDD4QAEBwEAdvvK9pLO9Q4J8Jd6lr5st2/s02Oj5Bzpnv4661EVfwvGo6q/Sn8/ONY/MKyaHAncERIbn3gkP5dv0jEAcFCUk/V9GO1ov0OSotOnTh7cn/eu583dh51OMVxLZ+fKykh2zU4AgJ/Y12nai+dd+YcLqsqOaXUGg8kcJgtuud0WIQ/RaPVMjNVq41Q6o2pXSjwAZGemDH6aZGfHAADDfNimWVxa0qr37c1Y0Ohm5tUGozkyfGdzQ01IUCBJ4EwY16vOJBoanaIoiqKotOQ4dnbCdc5PtRYAYiJlZot1eHS64WYd7S87V65MivXKlh3+PL1+rVNrR3SkDABGxlU223J0pOxi5aVbjfUAEBMll0rETBjXcplEqUlxtLFFMtLXmMRPHKNQtj14Yl9ZkfiJE+IiZuc1q1vHQTFh3EtfNbrE6e/Azk6sO620pLCusfVEUXGMQmm1mOZ+fIlLTEtOiF7Q6LxSMLT6jyNTzs9111/fT+xbfbl0UaufUs3+Wl7enZGcrlSYzBaL1bYFpcIUjKt6z9LpEyHAX5qTnSb2FQHA2OQ3C8dPQ/fS1z9N3QQZjGaD0eym0/CydIdjIzWA4zi3p6ljc6vO934dVekB/lJUr9ULGt3MnBo56WGyYGJmTr0nKxU56b19QwIRQEv6wPAEp8rSlQoOiUBeTiZHurt7+gUiIBABvhABrod7IrC66gIREIiAQAQEIiAQgf9JBLp7+pEkAorYCIEIbEMiECYLnlLNoHitxgDNodMbeUoEevuGXr1+6ybg0IFc/hIBHCdQveBhnnAsf4kASYpQJQKkyBfVghGRG611rxMBHMdQJQIEjjNWW3WG/ZbAcV4TAeYPn6sXjgNATWXRlev30SACOI7Rdq2+g76PVlcUMk5eEwGStU1rmx67OtfpHBkiEBUeShMBeWjQ2dLzNBEwmixb1Bj+KZiKkqP0ixstT11hBh+JAEHgtDW0PqPXt7y4gHHymggQrEag6V4nADS3d7Gd/CUC5NojqfXRSycPf4mAxyOJv0SA+JfOkYdEYGL6+2ZX3Zu3ZgJHVTqGeVp13hIB952GRCL+PQCkvQ/XwSnlVAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_rgb_r.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAD4AAABCCAIAAACAQ/KpAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAOASURBVHja7JhdSBRBHMDndmfv07PUIy8x6/LUPD/iLsyKRBMKfAh7LIiCRJCiiCMfBHvIfLBMK61QSrCggqCEHuohCApBQjgotbPyTi/tPO1M0/v2vO1hz2PvA7eO1tvB/TMPs7uzOz+G/+zM/ASj3yyLS06AWiTLZXBxyalMT0MO3TYzBwEAgUAAIBgQAOD3r2wsdLZnSLJcxoy+7PfH93VV1laWuMe/TzNScTdhGKlio9/ouB+qi8TSA/tK9hTncg0dAwAESDKiWEzGQxXldTUnq49WSaSy3p4uy9RMRBu20el9lWjzo3uHAACJWBT9prYoZ1vGlqzM9LLS4lM1BqvNri3Kcbo8oQYej5dV9BBVsSYbAFCq03z6bKL3DgEAGCaIftP41WKb/eXxeD8YjG6Xo7JMJ0+SulnGDcuHVarhUXNBnoqqj3wZD8v1mNF1r4OqpKSlNzVdKchTmSZ+JGrK0onD0MlYiXv7VttebX7fq/fXr7Us/HZMTE6v55DTqYrys6nKkNEUOU1JMrJQYbZY1arMiiPV7W2tlsmZmG3YRA8WKsVJkizctZPeO8b4iWNVZakKZe+TPolYmKiEoeiHjGbmhLlwUZ+fs33WPk+SpEQsqtefJwgoT5K63N71Txg6PTO6JnfHrH3e7fFSj1I2ywkCOpxuDBOsrAQSgv4P03TJ4aJf+nzLPt9y9E4jweiBQDyTDsdxdlfTQLyjjsZ+HVX0ZLkM1WP1z7kFq82OHHqGUgGtNvv+kkLk0AcGh3kjgBb6x5ExVsl2F6hZNAKVB3Uscb/tN/BGgDcCXDECbMfaRiCIzhsB3gjwRoA3ArwR+J9G4G2/AUkjoFZl8kZgAxqBDKXCbLGieKzGAJqxsOjgqBEYGBx+/ebdGg2qDpdz1wjgOET1gIcx6VjuGgGCEKJqBAihCNWEERJx5ToXjACOY6gaAYjjodLSWEe/hDgeRJeIRRGFMgJ56qxSnaZRf0YiTbLa7IrUTRFtWB71YDQ31AIAmhtqcVpw2giEEqaprfey/jRVv9r+EAEjQNCmaUvn4+ib3DUCcHVJqj93gqq03n2KhhGAEKfKze5n1PheOns8dJPTRoD+P+l88BwAcKfnBf0Pw10jQIQvSd2PXkbc4a4RYFySuGsE4N/sHDloBMbGp+If9cSfmiGOKjqGMY06Z42AYM2nUqn4zwCEU3rVAog+6AAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/custom_submit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABYAAAAsCAIAAADuN9+nAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAANrSURBVHja7JTdb9tkFMaf16+9xInj2MlGmi1FYUu7srEV+kEF4kvTusLKBmwXCAE3XMF/ww3X3DKQJjY6FWlSQRqorC0V2UpXNd2Uj36laRM7qRMnsR0u4pouGUhrkRATR+/Nsd7n0Tnn9fmRhUSqWNKw1xB9XrZY0jpCwT1brGe3WACWZWEfwQIwDPOft4jPJ2ZnZjxLU9E7cVQOJE8NlE+f7Bvs7322u92CTM3O87xr96er12/KK9+cCQsRqUcoe1Byb2/zy/cKE+V8YbT70uibuy9XKtXWKq7fmDjJfTH8/nkxryCzBVVD3uev8f7IqU6XfPPLmasYvzhy7i8bWUgk/a6vh98bEWs5UAmMBLcHog96GGpQLMjDL19a/m5sLproOXb0IQur0Wgmc3fjb1+m/NMKND/4DngPwS1AFKGF4JFAZM+Wt09//Ub8++6jz9iDaFrwbnsWZWbK3RldJZZfkAT3QVbogCcAUYIatIio6ZxSBBfuLP9W5z+wJbpeZQEwDGnmylO/auKFKswS3BLrlSTZwx8h3oBOeaUEhYdyACVeVH8OOhK7ESeyFjKoErAyoAIqEHC5KM/nAWXnqDVswGodZ2NnFsJ6310lJxwMitBl6CFAA2EAFchWka9ArSGzqXh6c44EAAOg0bBPFzM0sbj0ALUUjCzYNdA0kCJYociyyFhIaLiVXux6nncktoUTA/0D3I/y8qa+Cdc62AxICiQJZAjWKDY43Nc2xfCt/v4XdquaVdjR3RW9wH6U+GoumSutgKZBkkASSAPLDJaKufTilYuXfce7jjmS1lkAOD96hozj28+v/fLK9uHTLunQEVKrKWu51R/uhBKTn31y+K1zZ3fft3eE4+x3IYRQyrCU3lu4f3t6Oq4szXMUFeGEbvVGQkMvDp7oidUNwzQtx6VeN8jU7Dyl1LGklGEY5m9W27Is0/zzUU3TbG3EMEzAfGxetPT22MgRfd794jezupEvFPdsEZBFNl8ovjT43J4tJqfnnhiCswDqhtFO8I/DQuS1HmGg1yb4bGHip7ErbQR/RBX/TYJj/wS3Lf4n+BNG8IcsmgR/952R4wux25PT8fFrv3NjTYK/GgkNffpGO8F3/k7LyRvN6cZi0Vgs+mHbUtbqRgvBH9HIv0TwgCw+SK3uB79/DADGdpQV5qQikQAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/select.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGMSURBVHja7JjBSsNAEIZ3N6l6SVIiordcBLEgXrzniTx48hk89eAT5e7JgyL4AIoYmuSiNjH+E2ZhKdgWcZMWduBv00lgvu4OS+aXbdsKHVLKfXwdQWNoV9iNT2gGvUDvlCAW2X1IGeD3CRSKYaKEnsBSKU4MCSO4NjEIn7dJw+xBN9AEUpYhvqEH6Br6IAZikbg4gw74odsgCCZhGArf963S1HUtyrIUVVUR1CWn3xQ3sI7TKIqsw3RbgxpUi2oa6TFVHhkJ6Xled5HnOdFbgcEuiDiOBdeSxq3Rr33CMNKGlv1RJTYsHJADckAOyAE5oG0HsvXi0656/egbSCRJ4npou4GyLNscIA2zDpTqe2VWQVmfd9I0/Z8e4rOi/YuWnTPrHIxzYzZrm6bpZjOam0g2A7UWD9G5YktEx2NRFPpB6zBUi1wPIz2jwY3MhnPDbJhCxz2ZDc/QFZsNFPfaH7oY2I6hKMFyp1eBlq0cEkZvnVyw9MiWOWRHZMcyxBf37yvZMF13g+VHgAEAdy2A5iqs9mkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/select2.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHotAACAlQAA+NcAAIhSAABxRQAA6mYAADkHAAAh+QMnhVYAAAGMSURBVHja7JjBSsNAFEXPS6cq1KQtpegHCKUFceO+X+TCld/gyoVf1L0rF5WCghtBCaFpYkFN6rjoBKJgW8RpWsiF2TyGzJmZy0tyhZy01i3gEGgAu9jVOxACz0AAICKIAXGBDuBRjCJgJCKxYwpFwmDW7gAoc00ZzB5wCfQAxzLEJzAELoA3wNNat0RrfQy0zaTrKJ72wuiVJEmt0lSrioa3j+fWhsCZKfuOMXCm7ngSW4cBSJKU8SQG6ObKDQVUcwVJ0xkA7VYDz63ZcXA8xQ9CzFqSP7hffWJgxMZYtFGHDVMJVAKVQCVQCVQCbTuQsvRcvezzY91APDw+lR7abqB+v785QBnMKlDOuk9mGZSyDTQYDP7HQ6ZX6L+MRX1mlcaY5P7NtFIVSdMZfhDiB6HdrqwqP5to4phIJNNds+5mE63DNOsuwChXDsWEDSe5sOEKOFpT2HAPnJuwAeA2y4dOC45jACIRuclOYcQ8NCoMJrs6+faK1roNHJhEZMcyxIfx7wvgwzzS+xoAL3mHxLdQZBMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/slider.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABcAAAEECAIAAABMfTh2AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADNSURBVHja7Nw7DoMwDADQUFCrjh04FhyhA/di4JqVEKUftYwo7hCpz0OiDH5KRluRq3GcUiyG4dqsW9tesomu69a1eR/6PpNZlq+S0jHyKAqFQqFQKBQK5S+U0w+UOR3y8uutcsu9xbkgJVEoFAqFQqFQKOUrsWKCQqFQKBQKhUKh7FbqOVeoN0qs812KkigUCoVCoVAolNKVWBlAoVAoFAqFQqFQ9iqx5vmnDoh9Gy9ESRQKhUKhUCgUStnKYxLMc4xLdlRLLP8VdwEGACtbkjIi2/AfAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/images/Thumbs.db</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Pz8R4KGxGj8AAAAAAAAAAAAAAAAAAAAAPgADAD8/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAIAAAA/Pz8/AAAAAAAAAAA/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/DQoAAAARAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACwAAABwAAAAMAAAADQoAAAAOAAAADwAAABAAAAASAAAAPz8/PxMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAAB0AAAA/Pz8/HgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAA/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/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]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/input.ColorPicker.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfSIgc2l6ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnKX0iIC8+Cgk8L3A+CgkKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXSIpCgkJLkNvbG9yUGlja2VyKHsKCQkJb25TaG93OiBmdW5jdGlvbiAoY29scGtyKSB7CgkJCQkkKGNvbHBrcikuZmFkZUluKDMwMCk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0sCgkJCW9uSGlkZTogZnVuY3Rpb24gKGNvbHBrcikgewoJCQkJJChjb2xwa3IpLmZhZGVPdXQoMzAwKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJb25CZWZvcmVTaG93OiBmdW5jdGlvbiAoKSB7CgkJCQkkKHRoaXMpLkNvbG9yUGlja2VyU2V0Q29sb3IodGhpcy52YWx1ZSk7CgkJCX0sCgkJCW9uQ2hhbmdlOiBmdW5jdGlvbiAoaHNiLCBoZXgsIHJnYikgewoJCQkJJCgiI3skYWN0aW9uaWR9Y3VzdG9tZmllbGRcXFxbeyRmaWVsZGRlZi0+R2V0SWQoKX1cXFxdIikudmFsKGhleCk7CgkJCX0KCQl9KQoKCX0pOwoJPC9zY3JpcHQ+CgkKPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/lisefd-colorpicker.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lmxpc3RpdDItY29sb3JwaWNrZXItYWRtaW5saXN0aW5nLXZhbHVlIHsNCglkaXNwbGF5OiBibG9jazsNCgl3aWR0aDogMTRweDsNCgloZWlnaHQ6IDE0cHg7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQoJYm9yZGVyOiAxcHggc29saWQgIzk5OTsNCglib3JkZXItcmFkaXVzOiAycHg7DQp9DQouY29sb3JwaWNrZXIgew0KCXotaW5kZXg6IDk5OTk5OTsNCgl3aWR0aDogMzU2cHg7DQoJaGVpZ2h0OiAxNzZweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2NvbG9ycGlja2VyX2JhY2tncm91bmQucG5nKTsNCglmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCglkaXNwbGF5OiBub25lOw0KfQ0KLmNvbG9ycGlja2VyX2NvbG9yIHsNCgl3aWR0aDogMTUwcHg7DQoJaGVpZ2h0OiAxNTBweDsNCglsZWZ0OiAxNHB4Ow0KCXRvcDogMTNweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJYmFja2dyb3VuZDogI2YwMDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWN1cnNvcjogY3Jvc3NoYWlyOw0KfQ0KLmNvbG9ycGlja2VyX2NvbG9yIGRpdiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAxNTBweDsNCgloZWlnaHQ6IDE1MHB4Ow0KCWJhY2tncm91bmQ6IHVybChpbWFnZXMvY29sb3JwaWNrZXJfb3ZlcmxheS5wbmcpOw0KfQ0KLmNvbG9ycGlja2VyX2NvbG9yIGRpdiBkaXYgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTFweDsNCgloZWlnaHQ6IDExcHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2NvbG9ycGlja2VyX3NlbGVjdC5naWYpOw0KCW1hcmdpbjogLTVweCAwIDAgLTVweDsNCn0NCi5jb2xvcnBpY2tlcl9odWUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDEzcHg7DQoJbGVmdDogMTcxcHg7DQoJd2lkdGg6IDM1cHg7DQoJaGVpZ2h0OiAxNTBweDsNCgljdXJzb3I6IG4tcmVzaXplOw0KfQ0KLmNvbG9ycGlja2VyX2h1ZSBkaXYgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMzVweDsNCgloZWlnaHQ6IDlweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWJhY2tncm91bmQ6IHVybChpbWFnZXMvY29sb3JwaWNrZXJfaW5kaWMuZ2lmKSBsZWZ0IHRvcDsNCgltYXJnaW46IC00cHggMCAwIDA7DQoJbGVmdDogMHB4Ow0KfQ0KLmNvbG9ycGlja2VyX25ld19jb2xvciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiA2MHB4Ow0KCWhlaWdodDogMzBweDsNCglsZWZ0OiAyMTNweDsNCgl0b3A6IDEzcHg7DQoJYmFja2dyb3VuZDogI2YwMDsNCn0NCi5jb2xvcnBpY2tlcl9jdXJyZW50X2NvbG9yIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDYwcHg7DQoJaGVpZ2h0OiAzMHB4Ow0KCWxlZnQ6IDI4M3B4Ow0KCXRvcDogMTNweDsNCgliYWNrZ3JvdW5kOiAjZjAwOw0KfQ0KLmNvbG9ycGlja2VyIGlucHV0IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCglib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJZm9udC1zaXplOiAxMHB4Ow0KCWZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KCWNvbG9yOiAjODk4OTg5Ow0KCXRvcDogNHB4Ow0KCXJpZ2h0OiAxMXB4Ow0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KCW1hcmdpbjogMDsNCglwYWRkaW5nOiAwOw0KCWhlaWdodDogMTFweDsNCn0NCi5jb2xvcnBpY2tlcl9oZXggew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogNzJweDsNCgloZWlnaHQ6IDIycHg7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9jb2xvcnBpY2tlcl9oZXgucG5nKSB0b3A7DQoJbGVmdDogMjEycHg7DQoJdG9wOiAxNDJweDsNCn0NCi5jb2xvcnBpY2tlcl9oZXggaW5wdXQgew0KCXJpZ2h0OiA2cHg7DQp9DQouY29sb3JwaWNrZXJfZmllbGQgew0KCWhlaWdodDogMjJweDsNCgl3aWR0aDogNjJweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7DQoJcG9zaXRpb246IGFic29sdXRlOw0KfQ0KLmNvbG9ycGlja2VyX2ZpZWxkIHNwYW4gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTJweDsNCgloZWlnaHQ6IDIycHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQoJY3Vyc29yOiBuLXJlc2l6ZTsNCn0NCi5jb2xvcnBpY2tlcl9yZ2JfciB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9jb2xvcnBpY2tlcl9yZ2Jfci5wbmcpOw0KCXRvcDogNTJweDsNCglsZWZ0OiAyMTJweDsNCn0NCi5jb2xvcnBpY2tlcl9yZ2JfZyB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9jb2xvcnBpY2tlcl9yZ2JfZy5wbmcpOw0KCXRvcDogODJweDsNCglsZWZ0OiAyMTJweDsNCn0NCi5jb2xvcnBpY2tlcl9yZ2JfYiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9jb2xvcnBpY2tlcl9yZ2JfYi5wbmcpOw0KCXRvcDogMTEycHg7DQoJbGVmdDogMjEycHg7DQp9DQouY29sb3JwaWNrZXJfaHNiX2ggew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvY29sb3JwaWNrZXJfaHNiX2gucG5nKTsNCgl0b3A6IDUycHg7DQoJbGVmdDogMjgycHg7DQp9DQouY29sb3JwaWNrZXJfaHNiX3Mgew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvY29sb3JwaWNrZXJfaHNiX3MucG5nKTsNCgl0b3A6IDgycHg7DQoJbGVmdDogMjgycHg7DQp9DQouY29sb3JwaWNrZXJfaHNiX2Igew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvY29sb3JwaWNrZXJfaHNiX2IucG5nKTsNCgl0b3A6IDExMnB4Ow0KCWxlZnQ6IDI4MnB4Ow0KfQ0KLmNvbG9ycGlja2VyX3N1Ym1pdCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAyMnB4Ow0KCWhlaWdodDogMjJweDsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2NvbG9ycGlja2VyX3N1Ym1pdC5wbmcpIHRvcDsNCglsZWZ0OiAzMjJweDsNCgl0b3A6IDE0MnB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQouY29sb3JwaWNrZXJfZm9jdXMgew0KCWJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCn0NCi5jb2xvcnBpY2tlcl9oZXguY29sb3JwaWNrZXJfZm9jdXMgew0KCWJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsNCn0NCi5jb2xvcnBpY2tlcl9zdWJtaXQuY29sb3JwaWNrZXJfZm9jdXMgew0KCWJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsNCn0NCi5jb2xvcnBpY2tlcl9zbGlkZXIgew0KCWJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/lisefd-colorpicker.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqDQogKg0KICogQ29sb3IgcGlja2VyDQogKiBBdXRob3I6IFN0ZWZhbiBQZXRyZSB3d3cuZXllY29uLnJvDQogKiANCiAqIER1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzDQogKiANCiAqLw0KKGZ1bmN0aW9uICgkKSB7DQoJdmFyIENvbG9yUGlja2VyID0gZnVuY3Rpb24gKCkgew0KCQl2YXINCgkJCWlkcyA9IHt9LA0KCQkJaW5BY3Rpb24sDQoJCQljaGFyTWluID0gNjUsDQoJCQl2aXNpYmxlLA0KCQkJdHBsID0gJzxkaXYgY2xhc3M9ImNvbG9ycGlja2VyIj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9jb2xvciI+PGRpdj48ZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2h1ZSI+PGRpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9uZXdfY29sb3IiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2N1cnJlbnRfY29sb3IiPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2hleCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iNiIgc2l6ZT0iNiIgLz48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9yZ2JfciBjb2xvcnBpY2tlcl9maWVsZCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgc2l6ZT0iMyIgLz48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY29sb3JwaWNrZXJfcmdiX2cgY29sb3JwaWNrZXJfZmllbGQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHNpemU9IjMiIC8+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX3JnYl9iIGNvbG9ycGlja2VyX2ZpZWxkIj48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiBzaXplPSIzIiAvPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9oc2JfaCBjb2xvcnBpY2tlcl9maWVsZCI+PGlucHV0IHR5cGU9InRleHQiIG1heGxlbmd0aD0iMyIgc2l6ZT0iMyIgLz48c3Bhbj48L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY29sb3JwaWNrZXJfaHNiX3MgY29sb3JwaWNrZXJfZmllbGQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBtYXhsZW5ndGg9IjMiIHNpemU9IjMiIC8+PHNwYW4+PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImNvbG9ycGlja2VyX2hzYl9iIGNvbG9ycGlja2VyX2ZpZWxkIj48aW5wdXQgdHlwZT0idGV4dCIgbWF4bGVuZ3RoPSIzIiBzaXplPSIzIiAvPjxzcGFuPjwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjb2xvcnBpY2tlcl9zdWJtaXQiPjwvZGl2PjwvZGl2PicsDQoJCQlkZWZhdWx0cyA9IHsNCgkJCQlldmVudE5hbWU6ICdjbGljaycsDQoJCQkJb25TaG93OiBmdW5jdGlvbiAoKSB7fSwNCgkJCQlvbkJlZm9yZVNob3c6IGZ1bmN0aW9uKCl7fSwNCgkJCQlvbkhpZGU6IGZ1bmN0aW9uICgpIHt9LA0KCQkJCW9uQ2hhbmdlOiBmdW5jdGlvbiAoKSB7fSwNCgkJCQlvblN1Ym1pdDogZnVuY3Rpb24gKCkge30sDQoJCQkJY29sb3I6ICdmZjAwMDAnLA0KCQkJCWxpdmVQcmV2aWV3OiB0cnVlLA0KCQkJCWZsYXQ6IGZhbHNlDQoJCQl9LA0KCQkJZmlsbFJHQkZpZWxkcyA9IGZ1bmN0aW9uICAoaHNiLCBjYWwpIHsNCgkJCQl2YXIgcmdiID0gSFNCVG9SR0IoaHNiKTsNCgkJCQkkKGNhbCkuZGF0YSgnY29sb3JwaWNrZXInKS5maWVsZHMNCgkJCQkJLmVxKDEpLnZhbChyZ2IucikuZW5kKCkNCgkJCQkJLmVxKDIpLnZhbChyZ2IuZykuZW5kKCkNCgkJCQkJLmVxKDMpLnZhbChyZ2IuYikuZW5kKCk7DQoJCQl9LA0KCQkJZmlsbEhTQkZpZWxkcyA9IGZ1bmN0aW9uICAoaHNiLCBjYWwpIHsNCgkJCQkkKGNhbCkuZGF0YSgnY29sb3JwaWNrZXInKS5maWVsZHMNCgkJCQkJLmVxKDQpLnZhbChoc2IuaCkuZW5kKCkNCgkJCQkJLmVxKDUpLnZhbChoc2IucykuZW5kKCkNCgkJCQkJLmVxKDYpLnZhbChoc2IuYikuZW5kKCk7DQoJCQl9LA0KCQkJZmlsbEhleEZpZWxkcyA9IGZ1bmN0aW9uIChoc2IsIGNhbCkgew0KCQkJCSQoY2FsKS5kYXRhKCdjb2xvcnBpY2tlcicpLmZpZWxkcw0KCQkJCQkuZXEoMCkudmFsKEhTQlRvSGV4KGhzYikpLmVuZCgpOw0KCQkJfSwNCgkJCXNldFNlbGVjdG9yID0gZnVuY3Rpb24gKGhzYiwgY2FsKSB7DQoJCQkJJChjYWwpLmRhdGEoJ2NvbG9ycGlja2VyJykuc2VsZWN0b3IuY3NzKCdiYWNrZ3JvdW5kQ29sb3InLCAnIycgKyBIU0JUb0hleCh7aDogaHNiLmgsIHM6IDEwMCwgYjogMTAwfSkpOw0KCQkJCSQoY2FsKS5kYXRhKCdjb2xvcnBpY2tlcicpLnNlbGVjdG9ySW5kaWMuY3NzKHsNCgkJCQkJbGVmdDogcGFyc2VJbnQoMTUwICogaHNiLnMvMTAwLCAxMCksDQoJCQkJCXRvcDogcGFyc2VJbnQoMTUwICogKDEwMC1oc2IuYikvMTAwLCAxMCkNCgkJCQl9KTsNCgkJCX0sDQoJCQlzZXRIdWUgPSBmdW5jdGlvbiAoaHNiLCBjYWwpIHsNCgkJCQkkKGNhbCkuZGF0YSgnY29sb3JwaWNrZXInKS5odWUuY3NzKCd0b3AnLCBwYXJzZUludCgxNTAgLSAxNTAgKiBoc2IuaC8zNjAsIDEwKSk7DQoJCQl9LA0KCQkJc2V0Q3VycmVudENvbG9yID0gZnVuY3Rpb24gKGhzYiwgY2FsKSB7DQoJCQkJJChjYWwpLmRhdGEoJ2NvbG9ycGlja2VyJykuY3VycmVudENvbG9yLmNzcygnYmFja2dyb3VuZENvbG9yJywgJyMnICsgSFNCVG9IZXgoaHNiKSk7DQoJCQl9LA0KCQkJc2V0TmV3Q29sb3IgPSBmdW5jdGlvbiAoaHNiLCBjYWwpIHsNCgkJCQkkKGNhbCkuZGF0YSgnY29sb3JwaWNrZXInKS5uZXdDb2xvci5jc3MoJ2JhY2tncm91bmRDb2xvcicsICcjJyArIEhTQlRvSGV4KGhzYikpOw0KCQkJfSwNCgkJCWtleURvd24gPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQl2YXIgcHJlc3NlZEtleSA9IGV2LmNoYXJDb2RlIHx8IGV2LmtleUNvZGUgfHwgLTE7DQoJCQkJaWYgKChwcmVzc2VkS2V5ID4gY2hhck1pbiAmJiBwcmVzc2VkS2V5IDw9IDkwKSB8fCBwcmVzc2VkS2V5ID09IDMyKSB7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQkJdmFyIGNhbCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCk7DQoJCQkJaWYgKGNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLmxpdmVQcmV2aWV3ID09PSB0cnVlKSB7DQoJCQkJCWNoYW5nZS5hcHBseSh0aGlzKTsNCgkJCQl9DQoJCQl9LA0KCQkJY2hhbmdlID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJdmFyIGNhbCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCksIGNvbDsNCgkJCQlpZiAodGhpcy5wYXJlbnROb2RlLmNsYXNzTmFtZS5pbmRleE9mKCdfaGV4JykgPiAwKSB7DQoJCQkJCWNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLmNvbG9yID0gY29sID0gSGV4VG9IU0IoZml4SGV4KHRoaXMudmFsdWUpKTsNCgkJCQl9IGVsc2UgaWYgKHRoaXMucGFyZW50Tm9kZS5jbGFzc05hbWUuaW5kZXhPZignX2hzYicpID4gMCkgew0KCQkJCQljYWwuZGF0YSgnY29sb3JwaWNrZXInKS5jb2xvciA9IGNvbCA9IGZpeEhTQih7DQoJCQkJCQloOiBwYXJzZUludChjYWwuZGF0YSgnY29sb3JwaWNrZXInKS5maWVsZHMuZXEoNCkudmFsKCksIDEwKSwNCgkJCQkJCXM6IHBhcnNlSW50KGNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLmZpZWxkcy5lcSg1KS52YWwoKSwgMTApLA0KCQkJCQkJYjogcGFyc2VJbnQoY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuZmllbGRzLmVxKDYpLnZhbCgpLCAxMCkNCgkJCQkJfSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuY29sb3IgPSBjb2wgPSBSR0JUb0hTQihmaXhSR0Ioew0KCQkJCQkJcjogcGFyc2VJbnQoY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuZmllbGRzLmVxKDEpLnZhbCgpLCAxMCksDQoJCQkJCQlnOiBwYXJzZUludChjYWwuZGF0YSgnY29sb3JwaWNrZXInKS5maWVsZHMuZXEoMikudmFsKCksIDEwKSwNCgkJCQkJCWI6IHBhcnNlSW50KGNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLmZpZWxkcy5lcSgzKS52YWwoKSwgMTApDQoJCQkJCX0pKTsNCgkJCQl9DQoJCQkJaWYgKGV2KSB7DQoJCQkJCWZpbGxSR0JGaWVsZHMoY29sLCBjYWwuZ2V0KDApKTsNCgkJCQkJZmlsbEhleEZpZWxkcyhjb2wsIGNhbC5nZXQoMCkpOw0KCQkJCQlmaWxsSFNCRmllbGRzKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJfQ0KCQkJCXNldFNlbGVjdG9yKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJc2V0SHVlKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJc2V0TmV3Q29sb3IoY29sLCBjYWwuZ2V0KDApKTsNCgkJCQljYWwuZGF0YSgnY29sb3JwaWNrZXInKS5vbkNoYW5nZS5hcHBseShjYWwsIFtjb2wsIEhTQlRvSGV4KGNvbCksIEhTQlRvUkdCKGNvbCldKTsNCgkJCX0sDQoJCQlibHVyID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJdmFyIGNhbCA9ICQodGhpcykucGFyZW50KCkucGFyZW50KCk7DQoJCQkJY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuZmllbGRzLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdjb2xvcnBpY2tlcl9mb2N1cycpOw0KCQkJfSwNCgkJCWZvY3VzID0gZnVuY3Rpb24gKCkgew0KCQkJCWNoYXJNaW4gPSB0aGlzLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluZGV4T2YoJ19oZXgnKSA+IDAgPyA3MCA6IDY1Ow0KCQkJCSQodGhpcykucGFyZW50KCkucGFyZW50KCkuZGF0YSgnY29sb3JwaWNrZXInKS5maWVsZHMucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ2NvbG9ycGlja2VyX2ZvY3VzJyk7DQoJCQkJJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnY29sb3JwaWNrZXJfZm9jdXMnKTsNCgkJCX0sDQoJCQlkb3duSW5jcmVtZW50ID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJdmFyIGZpZWxkID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdpbnB1dCcpLmZvY3VzKCk7DQoJCQkJdmFyIGN1cnJlbnQgPSB7DQoJCQkJCWVsOiAkKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCdjb2xvcnBpY2tlcl9zbGlkZXInKSwNCgkJCQkJbWF4OiB0aGlzLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluZGV4T2YoJ19oc2JfaCcpID4gMCA/IDM2MCA6ICh0aGlzLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluZGV4T2YoJ19oc2InKSA+IDAgPyAxMDAgOiAyNTUpLA0KCQkJCQl5OiBldi5wYWdlWSwNCgkJCQkJZmllbGQ6IGZpZWxkLA0KCQkJCQl2YWw6IHBhcnNlSW50KGZpZWxkLnZhbCgpLCAxMCksDQoJCQkJCXByZXZpZXc6ICQodGhpcykucGFyZW50KCkucGFyZW50KCkuZGF0YSgnY29sb3JwaWNrZXInKS5saXZlUHJldmlldwkJCQkJDQoJCQkJfTsNCgkJCQkkKGRvY3VtZW50KS5iaW5kKCdtb3VzZXVwJywgY3VycmVudCwgdXBJbmNyZW1lbnQpOw0KCQkJCSQoZG9jdW1lbnQpLmJpbmQoJ21vdXNlbW92ZScsIGN1cnJlbnQsIG1vdmVJbmNyZW1lbnQpOw0KCQkJfSwNCgkJCW1vdmVJbmNyZW1lbnQgPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQlldi5kYXRhLmZpZWxkLnZhbChNYXRoLm1heCgwLCBNYXRoLm1pbihldi5kYXRhLm1heCwgcGFyc2VJbnQoZXYuZGF0YS52YWwgKyBldi5wYWdlWSAtIGV2LmRhdGEueSwgMTApKSkpOw0KCQkJCWlmIChldi5kYXRhLnByZXZpZXcpIHsNCgkJCQkJY2hhbmdlLmFwcGx5KGV2LmRhdGEuZmllbGQuZ2V0KDApLCBbdHJ1ZV0pOw0KCQkJCX0NCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9LA0KCQkJdXBJbmNyZW1lbnQgPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQljaGFuZ2UuYXBwbHkoZXYuZGF0YS5maWVsZC5nZXQoMCksIFt0cnVlXSk7DQoJCQkJZXYuZGF0YS5lbC5yZW1vdmVDbGFzcygnY29sb3JwaWNrZXJfc2xpZGVyJykuZmluZCgnaW5wdXQnKS5mb2N1cygpOw0KCQkJCSQoZG9jdW1lbnQpLnVuYmluZCgnbW91c2V1cCcsIHVwSW5jcmVtZW50KTsNCgkJCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlbW92ZScsIG1vdmVJbmNyZW1lbnQpOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0sDQoJCQlkb3duSHVlID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJdmFyIGN1cnJlbnQgPSB7DQoJCQkJCWNhbDogJCh0aGlzKS5wYXJlbnQoKSwNCgkJCQkJeTogJCh0aGlzKS5vZmZzZXQoKS50b3ANCgkJCQl9Ow0KCQkJCWN1cnJlbnQucHJldmlldyA9IGN1cnJlbnQuY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykubGl2ZVByZXZpZXc7DQoJCQkJJChkb2N1bWVudCkuYmluZCgnbW91c2V1cCcsIGN1cnJlbnQsIHVwSHVlKTsNCgkJCQkkKGRvY3VtZW50KS5iaW5kKCdtb3VzZW1vdmUnLCBjdXJyZW50LCBtb3ZlSHVlKTsNCgkJCX0sDQoJCQltb3ZlSHVlID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJY2hhbmdlLmFwcGx5KA0KCQkJCQlldi5kYXRhLmNhbC5kYXRhKCdjb2xvcnBpY2tlcicpDQoJCQkJCQkuZmllbGRzDQoJCQkJCQkuZXEoNCkNCgkJCQkJCS52YWwocGFyc2VJbnQoMzYwKigxNTAgLSBNYXRoLm1heCgwLE1hdGgubWluKDE1MCwoZXYucGFnZVkgLSBldi5kYXRhLnkpKSkpLzE1MCwgMTApKQ0KCQkJCQkJLmdldCgwKSwNCgkJCQkJW2V2LmRhdGEucHJldmlld10NCgkJCQkpOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0sDQoJCQl1cEh1ZSA9IGZ1bmN0aW9uIChldikgew0KCQkJCWZpbGxSR0JGaWVsZHMoZXYuZGF0YS5jYWwuZGF0YSgnY29sb3JwaWNrZXInKS5jb2xvciwgZXYuZGF0YS5jYWwuZ2V0KDApKTsNCgkJCQlmaWxsSGV4RmllbGRzKGV2LmRhdGEuY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuY29sb3IsIGV2LmRhdGEuY2FsLmdldCgwKSk7DQoJCQkJJChkb2N1bWVudCkudW5iaW5kKCdtb3VzZXVwJywgdXBIdWUpOw0KCQkJCSQoZG9jdW1lbnQpLnVuYmluZCgnbW91c2Vtb3ZlJywgbW92ZUh1ZSk7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSwNCgkJCWRvd25TZWxlY3RvciA9IGZ1bmN0aW9uIChldikgew0KCQkJCXZhciBjdXJyZW50ID0gew0KCQkJCQljYWw6ICQodGhpcykucGFyZW50KCksDQoJCQkJCXBvczogJCh0aGlzKS5vZmZzZXQoKQ0KCQkJCX07DQoJCQkJY3VycmVudC5wcmV2aWV3ID0gY3VycmVudC5jYWwuZGF0YSgnY29sb3JwaWNrZXInKS5saXZlUHJldmlldzsNCgkJCQkkKGRvY3VtZW50KS5iaW5kKCdtb3VzZXVwJywgY3VycmVudCwgdXBTZWxlY3Rvcik7DQoJCQkJJChkb2N1bWVudCkuYmluZCgnbW91c2Vtb3ZlJywgY3VycmVudCwgbW92ZVNlbGVjdG9yKTsNCgkJCX0sDQoJCQltb3ZlU2VsZWN0b3IgPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQljaGFuZ2UuYXBwbHkoDQoJCQkJCWV2LmRhdGEuY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykNCgkJCQkJCS5maWVsZHMNCgkJCQkJCS5lcSg2KQ0KCQkJCQkJLnZhbChwYXJzZUludCgxMDAqKDE1MCAtIE1hdGgubWF4KDAsTWF0aC5taW4oMTUwLChldi5wYWdlWSAtIGV2LmRhdGEucG9zLnRvcCkpKSkvMTUwLCAxMCkpDQoJCQkJCQkuZW5kKCkNCgkJCQkJCS5lcSg1KQ0KCQkJCQkJLnZhbChwYXJzZUludCgxMDAqKE1hdGgubWF4KDAsTWF0aC5taW4oMTUwLChldi5wYWdlWCAtIGV2LmRhdGEucG9zLmxlZnQpKSkpLzE1MCwgMTApKQ0KCQkJCQkJLmdldCgwKSwNCgkJCQkJW2V2LmRhdGEucHJldmlld10NCgkJCQkpOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0sDQoJCQl1cFNlbGVjdG9yID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJZmlsbFJHQkZpZWxkcyhldi5kYXRhLmNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLmNvbG9yLCBldi5kYXRhLmNhbC5nZXQoMCkpOw0KCQkJCWZpbGxIZXhGaWVsZHMoZXYuZGF0YS5jYWwuZGF0YSgnY29sb3JwaWNrZXInKS5jb2xvciwgZXYuZGF0YS5jYWwuZ2V0KDApKTsNCgkJCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNldXAnLCB1cFNlbGVjdG9yKTsNCgkJCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlbW92ZScsIG1vdmVTZWxlY3Rvcik7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfSwNCgkJCWVudGVyU3VibWl0ID0gZnVuY3Rpb24gKGV2KSB7DQoJCQkJJCh0aGlzKS5hZGRDbGFzcygnY29sb3JwaWNrZXJfZm9jdXMnKTsNCgkJCX0sDQoJCQlsZWF2ZVN1Ym1pdCA9IGZ1bmN0aW9uIChldikgew0KCQkJCSQodGhpcykucmVtb3ZlQ2xhc3MoJ2NvbG9ycGlja2VyX2ZvY3VzJyk7DQoJCQl9LA0KCQkJY2xpY2tTdWJtaXQgPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQl2YXIgY2FsID0gJCh0aGlzKS5wYXJlbnQoKTsNCgkJCQl2YXIgY29sID0gY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuY29sb3I7DQoJCQkJY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykub3JpZ0NvbG9yID0gY29sOw0KCQkJCXNldEN1cnJlbnRDb2xvcihjb2wsIGNhbC5nZXQoMCkpOw0KCQkJCWNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLm9uU3VibWl0KGNvbCwgSFNCVG9IZXgoY29sKSwgSFNCVG9SR0IoY29sKSwgY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuZWwpOw0KCQkJfSwNCgkJCXNob3cgPSBmdW5jdGlvbiAoZXYpIHsNCgkJCQl2YXIgY2FsID0gJCgnIycgKyAkKHRoaXMpLmRhdGEoJ2NvbG9ycGlja2VySWQnKSk7DQoJCQkJY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykub25CZWZvcmVTaG93LmFwcGx5KHRoaXMsIFtjYWwuZ2V0KDApXSk7DQoJCQkJdmFyIHBvcyA9ICQodGhpcykub2Zmc2V0KCk7DQoJCQkJdmFyIHZpZXdQb3J0ID0gZ2V0Vmlld3BvcnQoKTsNCgkJCQl2YXIgdG9wID0gcG9zLnRvcCArIHRoaXMub2Zmc2V0SGVpZ2h0Ow0KCQkJCXZhciBsZWZ0ID0gcG9zLmxlZnQ7DQoJCQkJaWYgKHRvcCArIDE3NiA+IHZpZXdQb3J0LnQgKyB2aWV3UG9ydC5oKSB7DQoJCQkJCXRvcCAtPSB0aGlzLm9mZnNldEhlaWdodCArIDE3NjsNCgkJCQl9DQoJCQkJaWYgKGxlZnQgKyAzNTYgPiB2aWV3UG9ydC5sICsgdmlld1BvcnQudykgew0KCQkJCQlsZWZ0IC09IDM1NjsNCgkJCQl9DQoJCQkJY2FsLmNzcyh7bGVmdDogbGVmdCArICdweCcsIHRvcDogdG9wICsgJ3B4J30pOw0KCQkJCWlmIChjYWwuZGF0YSgnY29sb3JwaWNrZXInKS5vblNob3cuYXBwbHkodGhpcywgW2NhbC5nZXQoMCldKSAhPSBmYWxzZSkgew0KCQkJCQljYWwuc2hvdygpOw0KCQkJCX0NCgkJCQkkKGRvY3VtZW50KS5iaW5kKCdtb3VzZWRvd24nLCB7Y2FsOiBjYWx9LCBoaWRlKTsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9LA0KCQkJaGlkZSA9IGZ1bmN0aW9uIChldikgew0KCQkJCWlmICghaXNDaGlsZE9mKGV2LmRhdGEuY2FsLmdldCgwKSwgZXYudGFyZ2V0LCBldi5kYXRhLmNhbC5nZXQoMCkpKSB7DQoJCQkJCWlmIChldi5kYXRhLmNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLm9uSGlkZS5hcHBseSh0aGlzLCBbZXYuZGF0YS5jYWwuZ2V0KDApXSkgIT0gZmFsc2UpIHsNCgkJCQkJCWV2LmRhdGEuY2FsLmhpZGUoKTsNCgkJCQkJfQ0KCQkJCQkkKGRvY3VtZW50KS51bmJpbmQoJ21vdXNlZG93bicsIGhpZGUpOw0KCQkJCX0NCgkJCX0sDQoJCQlpc0NoaWxkT2YgPSBmdW5jdGlvbihwYXJlbnRFbCwgZWwsIGNvbnRhaW5lcikgew0KCQkJCWlmIChwYXJlbnRFbCA9PSBlbCkgew0KCQkJCQlyZXR1cm4gdHJ1ZTsNCgkJCQl9DQoJCQkJaWYgKHBhcmVudEVsLmNvbnRhaW5zKSB7DQoJCQkJCXJldHVybiBwYXJlbnRFbC5jb250YWlucyhlbCk7DQoJCQkJfQ0KCQkJCWlmICggcGFyZW50RWwuY29tcGFyZURvY3VtZW50UG9zaXRpb24gKSB7DQoJCQkJCXJldHVybiAhIShwYXJlbnRFbC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbCkgJiAxNik7DQoJCQkJfQ0KCQkJCXZhciBwckVsID0gZWwucGFyZW50Tm9kZTsNCgkJCQl3aGlsZShwckVsICYmIHByRWwgIT0gY29udGFpbmVyKSB7DQoJCQkJCWlmIChwckVsID09IHBhcmVudEVsKQ0KCQkJCQkJcmV0dXJuIHRydWU7DQoJCQkJCXByRWwgPSBwckVsLnBhcmVudE5vZGU7DQoJCQkJfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0sDQoJCQlnZXRWaWV3cG9ydCA9IGZ1bmN0aW9uICgpIHsNCgkJCQl2YXIgbSA9IGRvY3VtZW50LmNvbXBhdE1vZGUgPT0gJ0NTUzFDb21wYXQnOw0KCQkJCXJldHVybiB7DQoJCQkJCWwgOiB3aW5kb3cucGFnZVhPZmZzZXQgfHwgKG0gPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCksDQoJCQkJCXQgOiB3aW5kb3cucGFnZVlPZmZzZXQgfHwgKG0gPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApLA0KCQkJCQl3IDogd2luZG93LmlubmVyV2lkdGggfHwgKG0gPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggOiBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoKSwNCgkJCQkJaCA6IHdpbmRvdy5pbm5lckhlaWdodCB8fCAobSA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgOiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkNCgkJCQl9Ow0KCQkJfSwNCgkJCWZpeEhTQiA9IGZ1bmN0aW9uIChoc2IpIHsNCgkJCQlyZXR1cm4gew0KCQkJCQloOiBNYXRoLm1pbigzNjAsIE1hdGgubWF4KDAsIGhzYi5oKSksDQoJCQkJCXM6IE1hdGgubWluKDEwMCwgTWF0aC5tYXgoMCwgaHNiLnMpKSwNCgkJCQkJYjogTWF0aC5taW4oMTAwLCBNYXRoLm1heCgwLCBoc2IuYikpDQoJCQkJfTsNCgkJCX0sIA0KCQkJZml4UkdCID0gZnVuY3Rpb24gKHJnYikgew0KCQkJCXJldHVybiB7DQoJCQkJCXI6IE1hdGgubWluKDI1NSwgTWF0aC5tYXgoMCwgcmdiLnIpKSwNCgkJCQkJZzogTWF0aC5taW4oMjU1LCBNYXRoLm1heCgwLCByZ2IuZykpLA0KCQkJCQliOiBNYXRoLm1pbigyNTUsIE1hdGgubWF4KDAsIHJnYi5iKSkNCgkJCQl9Ow0KCQkJfSwNCgkJCWZpeEhleCA9IGZ1bmN0aW9uIChoZXgpIHsNCgkJCQl2YXIgbGVuID0gNiAtIGhleC5sZW5ndGg7DQoJCQkJaWYgKGxlbiA+IDApIHsNCgkJCQkJdmFyIG8gPSBbXTsNCgkJCQkJZm9yICh2YXIgaT0wOyBpPGxlbjsgaSsrKSB7DQoJCQkJCQlvLnB1c2goJzAnKTsNCgkJCQkJfQ0KCQkJCQlvLnB1c2goaGV4KTsNCgkJCQkJaGV4ID0gby5qb2luKCcnKTsNCgkJCQl9DQoJCQkJcmV0dXJuIGhleDsNCgkJCX0sIA0KCQkJSGV4VG9SR0IgPSBmdW5jdGlvbiAoaGV4KSB7DQoJCQkJdmFyIGhleCA9IHBhcnNlSW50KCgoaGV4LmluZGV4T2YoJyMnKSA+IC0xKSA/IGhleC5zdWJzdHJpbmcoMSkgOiBoZXgpLCAxNik7DQoJCQkJcmV0dXJuIHtyOiBoZXggPj4gMTYsIGc6IChoZXggJiAweDAwRkYwMCkgPj4gOCwgYjogKGhleCAmIDB4MDAwMEZGKX07DQoJCQl9LA0KCQkJSGV4VG9IU0IgPSBmdW5jdGlvbiAoaGV4KSB7DQoJCQkJcmV0dXJuIFJHQlRvSFNCKEhleFRvUkdCKGhleCkpOw0KCQkJfSwNCgkJCVJHQlRvSFNCID0gZnVuY3Rpb24gKHJnYikgew0KCQkJCXZhciBoc2IgPSB7DQoJCQkJCWg6IDAsDQoJCQkJCXM6IDAsDQoJCQkJCWI6IDANCgkJCQl9Ow0KCQkJCXZhciBtaW4gPSBNYXRoLm1pbihyZ2IuciwgcmdiLmcsIHJnYi5iKTsNCgkJCQl2YXIgbWF4ID0gTWF0aC5tYXgocmdiLnIsIHJnYi5nLCByZ2IuYik7DQoJCQkJdmFyIGRlbHRhID0gbWF4IC0gbWluOw0KCQkJCWhzYi5iID0gbWF4Ow0KCQkJCWlmIChtYXggIT0gMCkgew0KCQkJCQkNCgkJCQl9DQoJCQkJaHNiLnMgPSBtYXggIT0gMCA/IDI1NSAqIGRlbHRhIC8gbWF4IDogMDsNCgkJCQlpZiAoaHNiLnMgIT0gMCkgew0KCQkJCQlpZiAocmdiLnIgPT0gbWF4KSB7DQoJCQkJCQloc2IuaCA9IChyZ2IuZyAtIHJnYi5iKSAvIGRlbHRhOw0KCQkJCQl9IGVsc2UgaWYgKHJnYi5nID09IG1heCkgew0KCQkJCQkJaHNiLmggPSAyICsgKHJnYi5iIC0gcmdiLnIpIC8gZGVsdGE7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQloc2IuaCA9IDQgKyAocmdiLnIgLSByZ2IuZykgLyBkZWx0YTsNCgkJCQkJfQ0KCQkJCX0gZWxzZSB7DQoJCQkJCWhzYi5oID0gLTE7DQoJCQkJfQ0KCQkJCWhzYi5oICo9IDYwOw0KCQkJCWlmIChoc2IuaCA8IDApIHsNCgkJCQkJaHNiLmggKz0gMzYwOw0KCQkJCX0NCgkJCQloc2IucyAqPSAxMDAvMjU1Ow0KCQkJCWhzYi5iICo9IDEwMC8yNTU7DQoJCQkJcmV0dXJuIGhzYjsNCgkJCX0sDQoJCQlIU0JUb1JHQiA9IGZ1bmN0aW9uIChoc2IpIHsNCgkJCQl2YXIgcmdiID0ge307DQoJCQkJdmFyIGggPSBNYXRoLnJvdW5kKGhzYi5oKTsNCgkJCQl2YXIgcyA9IE1hdGgucm91bmQoaHNiLnMqMjU1LzEwMCk7DQoJCQkJdmFyIHYgPSBNYXRoLnJvdW5kKGhzYi5iKjI1NS8xMDApOw0KCQkJCWlmKHMgPT0gMCkgew0KCQkJCQlyZ2IuciA9IHJnYi5nID0gcmdiLmIgPSB2Ow0KCQkJCX0gZWxzZSB7DQoJCQkJCXZhciB0MSA9IHY7DQoJCQkJCXZhciB0MiA9ICgyNTUtcykqdi8yNTU7DQoJCQkJCXZhciB0MyA9ICh0MS10MikqKGglNjApLzYwOw0KCQkJCQlpZihoPT0zNjApIGggPSAwOw0KCQkJCQlpZihoPDYwKSB7cmdiLnI9dDE7CXJnYi5iPXQyOyByZ2IuZz10Mit0M30NCgkJCQkJZWxzZSBpZihoPDEyMCkge3JnYi5nPXQxOyByZ2IuYj10MjsJcmdiLnI9dDEtdDN9DQoJCQkJCWVsc2UgaWYoaDwxODApIHtyZ2IuZz10MTsgcmdiLnI9dDI7CXJnYi5iPXQyK3QzfQ0KCQkJCQllbHNlIGlmKGg8MjQwKSB7cmdiLmI9dDE7IHJnYi5yPXQyOwlyZ2IuZz10MS10M30NCgkJCQkJZWxzZSBpZihoPDMwMCkge3JnYi5iPXQxOyByZ2IuZz10MjsJcmdiLnI9dDIrdDN9DQoJCQkJCWVsc2UgaWYoaDwzNjApIHtyZ2Iucj10MTsgcmdiLmc9dDI7CXJnYi5iPXQxLXQzfQ0KCQkJCQllbHNlIHtyZ2Iucj0wOyByZ2IuZz0wOwlyZ2IuYj0wfQ0KCQkJCX0NCgkJCQlyZXR1cm4ge3I6TWF0aC5yb3VuZChyZ2IuciksIGc6TWF0aC5yb3VuZChyZ2IuZyksIGI6TWF0aC5yb3VuZChyZ2IuYil9Ow0KCQkJfSwNCgkJCVJHQlRvSGV4ID0gZnVuY3Rpb24gKHJnYikgew0KCQkJCXZhciBoZXggPSBbDQoJCQkJCXJnYi5yLnRvU3RyaW5nKDE2KSwNCgkJCQkJcmdiLmcudG9TdHJpbmcoMTYpLA0KCQkJCQlyZ2IuYi50b1N0cmluZygxNikNCgkJCQldOw0KCQkJCSQuZWFjaChoZXgsIGZ1bmN0aW9uIChuciwgdmFsKSB7DQoJCQkJCWlmICh2YWwubGVuZ3RoID09IDEpIHsNCgkJCQkJCWhleFtucl0gPSAnMCcgKyB2YWw7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCQlyZXR1cm4gaGV4LmpvaW4oJycpOw0KCQkJfSwNCgkJCUhTQlRvSGV4ID0gZnVuY3Rpb24gKGhzYikgew0KCQkJCXJldHVybiBSR0JUb0hleChIU0JUb1JHQihoc2IpKTsNCgkJCX0sDQoJCQlyZXN0b3JlT3JpZ2luYWwgPSBmdW5jdGlvbiAoKSB7DQoJCQkJdmFyIGNhbCA9ICQodGhpcykucGFyZW50KCk7DQoJCQkJdmFyIGNvbCA9IGNhbC5kYXRhKCdjb2xvcnBpY2tlcicpLm9yaWdDb2xvcjsNCgkJCQljYWwuZGF0YSgnY29sb3JwaWNrZXInKS5jb2xvciA9IGNvbDsNCgkJCQlmaWxsUkdCRmllbGRzKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJZmlsbEhleEZpZWxkcyhjb2wsIGNhbC5nZXQoMCkpOw0KCQkJCWZpbGxIU0JGaWVsZHMoY29sLCBjYWwuZ2V0KDApKTsNCgkJCQlzZXRTZWxlY3Rvcihjb2wsIGNhbC5nZXQoMCkpOw0KCQkJCXNldEh1ZShjb2wsIGNhbC5nZXQoMCkpOw0KCQkJCXNldE5ld0NvbG9yKGNvbCwgY2FsLmdldCgwKSk7DQoJCQl9Ow0KCQlyZXR1cm4gew0KCQkJaW5pdDogZnVuY3Rpb24gKG9wdCkgew0KCQkJCW9wdCA9ICQuZXh0ZW5kKHt9LCBkZWZhdWx0cywgb3B0fHx7fSk7DQoJCQkJaWYgKHR5cGVvZiBvcHQuY29sb3IgPT0gJ3N0cmluZycpIHsNCgkJCQkJb3B0LmNvbG9yID0gSGV4VG9IU0Iob3B0LmNvbG9yKTsNCgkJCQl9IGVsc2UgaWYgKG9wdC5jb2xvci5yICE9IHVuZGVmaW5lZCAmJiBvcHQuY29sb3IuZyAhPSB1bmRlZmluZWQgJiYgb3B0LmNvbG9yLmIgIT0gdW5kZWZpbmVkKSB7DQoJCQkJCW9wdC5jb2xvciA9IFJHQlRvSFNCKG9wdC5jb2xvcik7DQoJCQkJfSBlbHNlIGlmIChvcHQuY29sb3IuaCAhPSB1bmRlZmluZWQgJiYgb3B0LmNvbG9yLnMgIT0gdW5kZWZpbmVkICYmIG9wdC5jb2xvci5iICE9IHVuZGVmaW5lZCkgew0KCQkJCQlvcHQuY29sb3IgPSBmaXhIU0Iob3B0LmNvbG9yKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlyZXR1cm4gdGhpczsNCgkJCQl9DQoJCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQoJCQkJCWlmICghJCh0aGlzKS5kYXRhKCdjb2xvcnBpY2tlcklkJykpIHsNCgkJCQkJCXZhciBvcHRpb25zID0gJC5leHRlbmQoe30sIG9wdCk7DQoJCQkJCQlvcHRpb25zLm9yaWdDb2xvciA9IG9wdC5jb2xvcjsNCgkJCQkJCXZhciBpZCA9ICdjb2xsb3JwaWNrZXJfJyArIHBhcnNlSW50KE1hdGgucmFuZG9tKCkgKiAxMDAwKTsNCgkJCQkJCSQodGhpcykuZGF0YSgnY29sb3JwaWNrZXJJZCcsIGlkKTsNCgkJCQkJCXZhciBjYWwgPSAkKHRwbCkuYXR0cignaWQnLCBpZCk7DQoJCQkJCQlpZiAob3B0aW9ucy5mbGF0KSB7DQoJCQkJCQkJY2FsLmFwcGVuZFRvKHRoaXMpLnNob3coKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJY2FsLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpOw0KCQkJCQkJfQ0KCQkJCQkJb3B0aW9ucy5maWVsZHMgPSBjYWwNCgkJCQkJCQkJCQkJLmZpbmQoJ2lucHV0JykNCgkJCQkJCQkJCQkJCS5iaW5kKCdrZXl1cCcsIGtleURvd24pDQoJCQkJCQkJCQkJCQkuYmluZCgnY2hhbmdlJywgY2hhbmdlKQ0KCQkJCQkJCQkJCQkJLmJpbmQoJ2JsdXInLCBibHVyKQ0KCQkJCQkJCQkJCQkJLmJpbmQoJ2ZvY3VzJywgZm9jdXMpOw0KCQkJCQkJY2FsDQoJCQkJCQkJLmZpbmQoJ3NwYW4nKS5iaW5kKCdtb3VzZWRvd24nLCBkb3duSW5jcmVtZW50KS5lbmQoKQ0KCQkJCQkJCS5maW5kKCc+ZGl2LmNvbG9ycGlja2VyX2N1cnJlbnRfY29sb3InKS5iaW5kKCdjbGljaycsIHJlc3RvcmVPcmlnaW5hbCk7DQoJCQkJCQlvcHRpb25zLnNlbGVjdG9yID0gY2FsLmZpbmQoJ2Rpdi5jb2xvcnBpY2tlcl9jb2xvcicpLmJpbmQoJ21vdXNlZG93bicsIGRvd25TZWxlY3Rvcik7DQoJCQkJCQlvcHRpb25zLnNlbGVjdG9ySW5kaWMgPSBvcHRpb25zLnNlbGVjdG9yLmZpbmQoJ2RpdiBkaXYnKTsNCgkJCQkJCW9wdGlvbnMuZWwgPSB0aGlzOw0KCQkJCQkJb3B0aW9ucy5odWUgPSBjYWwuZmluZCgnZGl2LmNvbG9ycGlja2VyX2h1ZSBkaXYnKTsNCgkJCQkJCWNhbC5maW5kKCdkaXYuY29sb3JwaWNrZXJfaHVlJykuYmluZCgnbW91c2Vkb3duJywgZG93bkh1ZSk7DQoJCQkJCQlvcHRpb25zLm5ld0NvbG9yID0gY2FsLmZpbmQoJ2Rpdi5jb2xvcnBpY2tlcl9uZXdfY29sb3InKTsNCgkJCQkJCW9wdGlvbnMuY3VycmVudENvbG9yID0gY2FsLmZpbmQoJ2Rpdi5jb2xvcnBpY2tlcl9jdXJyZW50X2NvbG9yJyk7DQoJCQkJCQljYWwuZGF0YSgnY29sb3JwaWNrZXInLCBvcHRpb25zKTsNCgkJCQkJCWNhbC5maW5kKCdkaXYuY29sb3JwaWNrZXJfc3VibWl0JykNCgkJCQkJCQkuYmluZCgnbW91c2VlbnRlcicsIGVudGVyU3VibWl0KQ0KCQkJCQkJCS5iaW5kKCdtb3VzZWxlYXZlJywgbGVhdmVTdWJtaXQpDQoJCQkJCQkJLmJpbmQoJ2NsaWNrJywgY2xpY2tTdWJtaXQpOw0KCQkJCQkJZmlsbFJHQkZpZWxkcyhvcHRpb25zLmNvbG9yLCBjYWwuZ2V0KDApKTsNCgkJCQkJCWZpbGxIU0JGaWVsZHMob3B0aW9ucy5jb2xvciwgY2FsLmdldCgwKSk7DQoJCQkJCQlmaWxsSGV4RmllbGRzKG9wdGlvbnMuY29sb3IsIGNhbC5nZXQoMCkpOw0KCQkJCQkJc2V0SHVlKG9wdGlvbnMuY29sb3IsIGNhbC5nZXQoMCkpOw0KCQkJCQkJc2V0U2VsZWN0b3Iob3B0aW9ucy5jb2xvciwgY2FsLmdldCgwKSk7DQoJCQkJCQlzZXRDdXJyZW50Q29sb3Iob3B0aW9ucy5jb2xvciwgY2FsLmdldCgwKSk7DQoJCQkJCQlzZXROZXdDb2xvcihvcHRpb25zLmNvbG9yLCBjYWwuZ2V0KDApKTsNCgkJCQkJCWlmIChvcHRpb25zLmZsYXQpIHsNCgkJCQkJCQljYWwuY3NzKHsNCgkJCQkJCQkJcG9zaXRpb246ICdyZWxhdGl2ZScsDQoJCQkJCQkJCWRpc3BsYXk6ICdibG9jaycNCgkJCQkJCQl9KTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJJCh0aGlzKS5iaW5kKG9wdGlvbnMuZXZlbnROYW1lLCBzaG93KTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfSwNCgkJCXNob3dQaWNrZXI6IGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uICgpIHsNCgkJCQkJaWYgKCQodGhpcykuZGF0YSgnY29sb3JwaWNrZXJJZCcpKSB7DQoJCQkJCQlzaG93LmFwcGx5KHRoaXMpOw0KCQkJCQl9DQoJCQkJfSk7DQoJCQl9LA0KCQkJaGlkZVBpY2tlcjogZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24gKCkgew0KCQkJCQlpZiAoJCh0aGlzKS5kYXRhKCdjb2xvcnBpY2tlcklkJykpIHsNCgkJCQkJCSQoJyMnICsgJCh0aGlzKS5kYXRhKCdjb2xvcnBpY2tlcklkJykpLmhpZGUoKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfSwNCgkJCXNldENvbG9yOiBmdW5jdGlvbihjb2wpIHsNCgkJCQlpZiAodHlwZW9mIGNvbCA9PSAnc3RyaW5nJykgew0KCQkJCQljb2wgPSBIZXhUb0hTQihjb2wpOw0KCQkJCX0gZWxzZSBpZiAoY29sLnIgIT0gdW5kZWZpbmVkICYmIGNvbC5nICE9IHVuZGVmaW5lZCAmJiBjb2wuYiAhPSB1bmRlZmluZWQpIHsNCgkJCQkJY29sID0gUkdCVG9IU0IoY29sKTsNCgkJCQl9IGVsc2UgaWYgKGNvbC5oICE9IHVuZGVmaW5lZCAmJiBjb2wucyAhPSB1bmRlZmluZWQgJiYgY29sLmIgIT0gdW5kZWZpbmVkKSB7DQoJCQkJCWNvbCA9IGZpeEhTQihjb2wpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiB0aGlzOw0KCQkJCX0NCgkJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7DQoJCQkJCWlmICgkKHRoaXMpLmRhdGEoJ2NvbG9ycGlja2VySWQnKSkgew0KCQkJCQkJdmFyIGNhbCA9ICQoJyMnICsgJCh0aGlzKS5kYXRhKCdjb2xvcnBpY2tlcklkJykpOw0KCQkJCQkJY2FsLmRhdGEoJ2NvbG9ycGlja2VyJykuY29sb3IgPSBjb2w7DQoJCQkJCQljYWwuZGF0YSgnY29sb3JwaWNrZXInKS5vcmlnQ29sb3IgPSBjb2w7DQoJCQkJCQlmaWxsUkdCRmllbGRzKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJCQlmaWxsSFNCRmllbGRzKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJCQlmaWxsSGV4RmllbGRzKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJCQlzZXRIdWUoY29sLCBjYWwuZ2V0KDApKTsNCgkJCQkJCXNldFNlbGVjdG9yKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJCQlzZXRDdXJyZW50Q29sb3IoY29sLCBjYWwuZ2V0KDApKTsNCgkJCQkJCXNldE5ld0NvbG9yKGNvbCwgY2FsLmdldCgwKSk7DQoJCQkJCX0NCgkJCQl9KTsNCgkJCX0NCgkJfTsNCgl9KCk7DQoJJC5mbi5leHRlbmQoew0KCQlDb2xvclBpY2tlcjogQ29sb3JQaWNrZXIuaW5pdCwNCgkJQ29sb3JQaWNrZXJIaWRlOiBDb2xvclBpY2tlci5oaWRlUGlja2VyLA0KCQlDb2xvclBpY2tlclNob3c6IENvbG9yUGlja2VyLnNob3dQaWNrZXIsDQoJCUNvbG9yUGlja2VyU2V0Q29sb3I6IENvbG9yUGlja2VyLnNldENvbG9yDQoJfSk7DQp9KShqUXVlcnkp]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/lisefd.ColorPicker.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRhcGlvIEw/eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMaXN0SXQyWERlZnMgaXMgYSBDTVMgTWFkZSBTaW1wbGUgRHVtbXkgbW9kdWxlIHRoYXQgYWRkcyBMaXN0SXQyIE1vZHVsZSANCiMgQ29yZSBUZWFtIHN1cHBvcnRlZCBMaXN0IERlZmluaXRpb25zIHRvIExpc3RJdDIgTW9kdWxlLg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgTElTRWZkX0NvbG9yUGlja2VyIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWFkZXJIVE1MKCkNCgl7DQogICAgICAgICR0bXBsID0gPDw8RU9UDQo8bGluayB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JHRoaXMtPkdldFVSTFBhdGgoKX0vbGlzZWZkLWNvbG9ycGlja2VyLmNzcyIgLz4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskdGhpcy0+R2V0VVJMUGF0aCgpfS9saXNlZmQtY29sb3JwaWNrZXIuanMiPjwvc2NyaXB0Pg0KRU9UOw0KCQlyZXR1cm4gJHRtcGw7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQlpZighJHRoaXMtPkhhc1ZhbHVlKCkpDQoJCQlyZXR1cm47CQ0KCQ0KCQlyZXR1cm4gJzxkaXYgY2xhc3M9Imxpc2UtY29sb3JwaWNrZXItYWRtaW5saXN0aW5nLXZhbHVlIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIycgLiAkdGhpcy0+R2V0VmFsdWUoKSAuICciPjwvZGl2Pic7DQoJfQ0KCQkJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ColorPicker/output.ColorPicker.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdG8gZG8gKn0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/admin.ContentPages.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc3VidHlwZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc3VidHlwZV9oZWxwJyl9PC9lbT48YnIgLz4KCQl7aHRtbF9vcHRpb25zIG5hbWU9ImAkYWN0aW9uaWRgY3VzdG9tX2lucHV0W3N1YnR5cGVdIiBvcHRpb25zPSRmaWVsZGRlZi0+U3ViVHlwZXMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyl9Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NlcGFyYXRvcicpfTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2VwYXJhdG9yX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtzZXBhcmF0b3JdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NlcGFyYXRvcicpfSIgLz4KCTwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2NvbHVtbnMnKX06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2NvbHVtbnNfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2NvbHVtbnNdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2NvbHVtbnMnLCAxKX0iIC8+Cgk8L3A+CQo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3Nob3dhbGwnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3Nob3dhbGxfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2hvd2FsbF0iIHZhbHVlPSIwIiAvPgoJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2hvd2FsbF0iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaG93YWxsJyl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/lisefd.ContentPages.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9Db250ZW50UGFnZXMgZXh0ZW5kcyBMSVNFRmllbGRkZWZCYXNlDQp7DQoJcHJpdmF0ZSAkX2xpc2U7DQoNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCQkNCgkJJHRoaXMtPl9saXNlID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoTElTRSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJJbnB1dCgkaWQsICRyZXR1cm5pZCkNCgl7DQoJCSR0eXBlID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzdWJ0eXBlJywgJ0Ryb3Bkb3duJyk7DQoJCSRvYmogPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpMb2FkRmllbGRkZWZCeVR5cGUoJHR5cGUpOw0KCQkNCgkJaWYoaXNfb2JqZWN0KCRvYmopKQ0KCQkJcmV0dXJuICRvYmotPlJlbmRlcklucHV0KCRpZCwgJHJldHVybmlkKTsNCgkJCQ0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBSZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGlkLCAkcmV0dXJuaWQpDQoJew0KCQkkbWFuYWdlciA9IGNtc21zKCktPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJJGlkX2xpc3QgPSAkdGhpcy0+R2V0VmFsdWUocGFyZW50OjpUWVBFX0FSUkFZKTsNCgkJJHVzZV9uYW1lID0gZ2V0X3NpdGVfcHJlZmVyZW5jZSgnbGlzdGNvbnRlbnRfc2hvd3RpdGxlJyx0cnVlKTsNCgkJDQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRpZF9saXN0IGFzICRvbmVpZCkgew0KCQkNCgkJCSRub2RlID0gJG1hbmFnZXItPmZpbmRfYnlfdGFnKCdpZCcsICRvbmVpZCk7DQoJCQkNCgkJCWlmKCRub2RlKSB7DQoJCQkJJGNvbnRlbnQgPSAkbm9kZS0+Z2V0Q29udGVudChGQUxTRSwgRkFMU0UsIEZBTFNFKTsNCgkJCQ0KCQkJCWlmKCRjb250ZW50KSB7DQoJCQkJCQ0KCQkJCQkkdHh0ID0gJHVzZV9uYW1lID8gJGNvbnRlbnQtPk5hbWUoKSA6ICRjb250ZW50LT5NZW51VGV4dCgpOw0KCQkJCQkkb3V0cHV0W10gPSAkdHh0Ow0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuIGltcGxvZGUoJywgJywgJG91dHB1dCk7DQoJfQkNCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkY29udGVudG9wcyA9IGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCk7DQoJCQkJDQoJCSRyZXN1bHQgPSBhcnJheSgpOw0KCQkkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOw0KCQkkdHlwZSA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnc3VidHlwZScsICdEcm9wZG93bicpOw0KCQkkc2hvd19hbGwgPSAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ3Nob3dhbGwnKSA/IHRydWUgOiBmYWxzZTsJCQ0KCQkkdXNlX25hbWUgPSBnZXRfc2l0ZV9wcmVmZXJlbmNlKCdsaXN0Y29udGVudF9zaG93dGl0bGUnLHRydWUpOw0KCQkkYWxsY29udGVudCA9ICRjb250ZW50b3BzLT5HZXRBbGxDb250ZW50KGZhbHNlKTsNCgkJDQoJCWlmICgkYWxsY29udGVudCAhPT0gRkFMU0UgJiYgY291bnQoJGFsbGNvbnRlbnQpID4gMCkgew0KCQkgIA0KCQkJaWYoJHR5cGUgPT0gJ0Ryb3Bkb3duJyB8fCAkdHlwZSA9PSAnUmFkaW9Hcm91cCcpDQoJCQkJJHJlc3VsdFstMV0gPSBsYW5nKCdub25lJyk7DQoJCQkgIA0KCQkJZm9yZWFjaCAoJGFsbGNvbnRlbnQgYXMgJG9uZSkgew0KCQkJDQoJCQkJLy8gQ2hlY2sgaWYgb2JqZWN0IGlzIHZhbGlkDQoJCQkJaWYoIWlzX29iamVjdCgkb25lKSkgDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQkNCgkJCQkvLyBJZiBpdCBkb2Vzbid0IGhhdmUgYSB2YWxpZCBsaW5rLi4uDQoJCQkJLy8gZG9uJ3QgaW5jbHVkZSBpdC4NCgkJCQlpZighJG9uZS0+SGFzVXNhYmxlTGluaygpKQ0KCQkJCQljb250aW51ZTsNCgkJCQkJDQoJCQkJLy8gSWYgd2UgaGF2ZSBhIHZhbGlkIHVzZXJpZC4uLiBvbmx5IGluY2x1ZGUgcGFnZXMgd2hlcmUgdGhpcyB1c2VyDQoJCQkJLy8gaGFzIHdyaXRlIGFjY2Vzcy4uLiBvciBpcyBhbiBhZG1pbiB1c2VyLi4uIG9yIGhhcyBhcHByb3ByaWF0ZSBwZXJtaXNzaW9uLg0KCQkJCWlmKCEkc2hvd19hbGwgJiYgIWNoZWNrX3Blcm1pc3Npb24oJHVzZXJpZCwnTWFuYWdlIEFsbCBDb250ZW50JykgJiYgIWNoZWNrX2F1dGhvcnNoaXAoJHVzZXJpZCwgJG9uZS0+SWQoKSkpDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQkJCQkNCgkJCQkvLyBEb24ndCBpbmNsdWRlIGNvbnRlbnQgdHlwZXMgdGhhdCBkbyBub3Qgd2FudCBjaGlsZHJlbiBlaXRoZXIuLi4NCgkJCQlpZiAoISRvbmUtPldhbnRzQ2hpbGRyZW4oKSkgDQoJCQkJCWNvbnRpbnVlOw0KCQkJCQ0KCQkJCS8vIEVsc2UgYXBwZW5kIHRvIGFycmF5Lg0KCQkJCSR0eHQgPSAkdXNlX25hbWUgPyAkb25lLT5OYW1lKCkgOiAkb25lLT5NZW51VGV4dCgpOw0KCQkJCSRyZXN1bHRbJG9uZS0+SWQoKV0gPSAkb25lLT5IaWVyYXJjaHkoKSAuICcuIC0gJyAuICR0eHQ7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJHJlc3VsdDsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gU3ViVHlwZXMoKQ0KCXsNCiAgICAgICAgcmV0dXJuIGFycmF5KA0KICAgICAgICAgICAgJ0Ryb3Bkb3duJyA9PiAkdGhpcy0+X2xpc2UtPk1vZExhbmcoJ2ZpZWxkZGVmX0Ryb3Bkb3duJyksDQogICAgICAgICAgICAnTXVsdGlTZWxlY3QnID0+ICR0aGlzLT5fbGlzZS0+TW9kTGFuZygnZmllbGRkZWZfTXVsdGlTZWxlY3QnKSwNCiAgICAgICAgICAgICdSYWRpb0dyb3VwJyA9PiAkdGhpcy0+X2xpc2UtPk1vZExhbmcoJ2ZpZWxkZGVmX1JhZGlvR3JvdXAnKSwNCiAgICAgICAgICAgICdDaGVja2JveEdyb3VwJyA9PiAkdGhpcy0+X2xpc2UtPk1vZExhbmcoJ2ZpZWxkZGVmX0NoZWNrYm94R3JvdXAnKQ0KICAgICAgICApOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gU2VwYXJhdG9yKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ3NlcGFyYXRvcicpOwkNCgl9CQ0KDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/ContentPages/output.ContentPages.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/admin.Dropdown.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/input.Dropdown.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2h0bWxfb3B0aW9ucyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldE9wdGlvbnMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldFZhbHVlKCl9Cgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/lisefd.Dropdown.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9Ecm9wZG93biBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkb3B0aW9ucyA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnb3B0aW9ucycpOw0KCQkkbGlzdCA9IGV4cGxvZGUoIlxuIiwgJG9wdGlvbnMpOw0KCQkNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsaXN0IGFzICRvcHRpb24pIHsNCgkJDQoJCQkkb3B0aW9uID0gZXhwbG9kZSgiPSIsICRvcHRpb24sIDIpOw0KCQkJaWYoY291bnQoJG9wdGlvbikgPiAxKSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzFdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfSBlbHNlIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Dropdown/output.Dropdown.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/admin.FileUpload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnYWxsb3dlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfYWxsb3dfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2FsbG93ZWRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnLCAncGRmLGdpZixqcGVnLGpwZycpfSIgLz4KCTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdkaXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2Rpcl9oZWxwJyl9PC9lbT48YnIgLz4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZGlyXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkaXInLCdpbWFnZXMnKX0iIC8+Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfaW1hZ2UnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX21lZGlhX3R5cGVfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbaW1hZ2VdIiB2YWx1ZT0iMCIgLz4KCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2ltYWdlXSIgdmFsdWU9IjEie2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2ltYWdlJyl9Y2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPgoJPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NpemUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NpemVfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NpemVdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnLCAyMCl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/input.FileUpload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2lmICRmaWVsZGRlZi0+SGFzVmFsdWUoKX08ZW0+eyRtb2QtPk1vZExhbmcoJ3ZhbHVlJyl9OiB7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfTwvZW0+PGJyIC8+ey9pZn0KCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnaW1hZ2UnKX17JGZpZWxkZGVmLT5SZW5kZXJGb3JBZG1pbkxpc3RpbmcoJGFjdGlvbmlkLCAkcmV0dXJuaWQpfXsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfSIgLz4KCQk8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHNpemU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaXplJyl9Ij57aWYgISRmaWVsZGRlZi0+SXNSZXF1aXJlZCgpICYmICRmaWVsZGRlZi0+SGFzVmFsdWUoKX08IS0tCgkJLS0+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWRlbGV0ZV9jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJkZWxldGUiIHRpdGxlPSJ7JG1vZC0+TW9kTGFuZygnZGVsZXRlJyl9IiAvPnsvaWZ9Cgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/liseeh.FileUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmNsYXNzIGxpc2VlaF9GaWxlVXBsb2FkIGV4dGVuZHMgTElTRUV2ZW50SGFuZGxlckJhc2UKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBWYXJpYWJsZXMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JCgoJcHJpdmF0ZSAkX2RhdGE7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KExJU0VGaWVsZGRlZkJhc2UgJiRmaWVsZCkKCXsKCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRmaWVsZCk7Cgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgT3ZlcndyaXRhYmxlIGV2ZW50cwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkKCQoJcHVibGljIGZ1bmN0aW9uIE9uSXRlbURlbGV0ZShMSVNFICYkbW9kKQoJewoJCS8vIERlbGV0ZSBmaWxlCgkJJHBhdGggPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5HZXRJbWFnZVBhdGgoKSwgJHRoaXMtPkdldFZhbHVlKCkpOwoJCUB1bmxpbmsoJHBhdGgpOwkJCgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBJdGVtU2F2ZVByZVByb2Nlc3MoJiRlcnJvcnMsICYkcGFyYW1zKSAKCXsJCQkKCQkvLyBDaGVjayBpZiB3ZSBuZWVkIGRlbGV0ZQoJCWlmIChpc3NldCgkcGFyYW1zWydkZWxldGVfY3VzdG9tZmllbGQnXVskdGhpcy0+R2V0SWQoKV0pKSB7CgkJCQkKCQkJaWYoJHBhcmFtc1snZGVsZXRlX2N1c3RvbWZpZWxkJ11bJHRoaXMtPkdldElkKCldID09ICdkZWxldGUnKSB7CgkJCQoJCQkJLy8gRGVsZXRlIGZpbGUKCQkJCSRwYXRoID0gY21zX2pvaW5fcGF0aCgkdGhpcy0+R2V0SW1hZ2VQYXRoKCksICR0aGlzLT5HZXRWYWx1ZSgpKTsKCQkJCUB1bmxpbmsoJHBhdGgpOwoJCQkJCgkJCQkvLyBSZXNldCB2YWx1ZQoJCQkJJHRoaXMtPlNldFZhbHVlKCk7CgkJCX0KCQl9CgkJLy8gQXBwbHkgbmV3IHZhbHVlCgkJZWxzZSB7CgkJCgkJCS8vIEZpbGwgX2RhdGEgZnJvbSAkX0ZJTEVTCgkJCSRmaWxlcyA9IHNlbGY6Ol9kaXZlcnNlX2FycmF5KCRfRklMRVNbJ20xX2N1c3RvbWZpZWxkJ10pOyAvLyA8LSAkaWQgaXMgc3RhdGljYWxseSBwYXJ0IG9mIGtleSwgbm90IGlkZWFsLgoJCQlpZihpc3NldCgkZmlsZXNbJHRoaXMtPkdldElkKCldKSkKCQkJCSR0aGlzLT5fZGF0YSA9ICRmaWxlc1skdGhpcy0+R2V0SWQoKV07IC8vIDwtIE15IGFzc3VtcHRpb24gaXMgdGhhdCAkX0ZJTEVTIGNvbnRhaW5zIGNvcnJlY3Qgc3RydWN0dXJlIGFuZCB0aGVyZSBmb3JlIGFycmF5IGlzIGNvbXBsZXRlLiBBbSBpIHdyb25nPyAxICsgMSA9IDIhCgoJCQkvLyBDaGVjayB0aGF0IF9kYXRhIGlzIHZhbGlkCgkJCWlmKGlzc2V0KCR0aGlzLT5fZGF0YSkgJiYgJHRoaXMtPl9kYXRhWydlcnJvciddID09PSAwKSB7CQkJCQoJCQkJCgkJCQkvLyBWYWxpZGF0ZSBlcnJvcnMKCQkJCWlmKHN0cnBvcygkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnKSwgbGlzZWZkX0ZpbGVVcGxvYWQ6Ol9leHQoJHRoaXMtPl9kYXRhWyduYW1lJ10pKSA9PT0gRkFMU0UpIHsKCQkJCQoJCQkJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCdlcnJvcl9iYWRfZXh0ZW5zaW9uJykgLiAnICgnIC4gJHRoaXMtPkdldE5hbWUoKSAuICcpJzsKCQkJCX0KCQkJCQoJCQkJLy8gU2V0IFZhbHVlIGZyb20gX2RhdGEKCQkJCWlmKGVtcHR5KCRlcnJvcnMpKSB7CgkJCQkJCgkJCQkJJHRoaXMtPlNldFZhbHVlKCR0aGlzLT5fZGF0YVsnbmFtZSddKTsKCQkJCX0JCQkKCQkJfQoJCX0KCQkJCQkJCgkJcGFyZW50OjpJdGVtU2F2ZVByZVByb2Nlc3MoJGVycm9ycywgJHBhcmFtcyk7Cgl9CQoJCglwdWJsaWMgZnVuY3Rpb24gSXRlbVNhdmVQb3N0UHJvY2VzcygmJGVycm9ycywgJiRwYXJhbXMpIAoJewoJCS8vIE1vdmUgZmlsZSB0byBjb3JyZWN0IHBsYWNlLCBub3RoaW5nIGVsc2UuCgkJaWYoaXNzZXQoJHRoaXMtPl9kYXRhKSAmJiAkdGhpcy0+X2RhdGFbJ2Vycm9yJ10gPT09IDApIHsKCQkKCQkJLy8gR2V0IGZpbGUgcGF0aAoJCQkkcGF0aCA9ICR0aGlzLT5HZXRJbWFnZVBhdGgoKTsKCQkJCgkJCS8vIEFzc3VyZSBkaXJlY3RvcnkgZXhpc3RzCgkJCWlmKCFpc19kaXIoJHBhdGgpKQoJCQkJQG1rZGlyKCRwYXRoLCAwNzc3LCB0cnVlKTsKCgkJCS8vIE1lcmdlIGZpbGVuYW1lIGludG8gcGF0aAoJCQkkcGF0aCA9IGNtc19qb2luX3BhdGgoJHBhdGgsICR0aGlzLT5HZXRWYWx1ZSgpKTsKCQkJCQoJCQkvLyBFeGVjdXRlIG1vdmUuCgkJCWlmKCFtb3ZlX3VwbG9hZGVkX2ZpbGUoJHRoaXMtPl9kYXRhWyd0bXBfbmFtZSddLCAkcGF0aCkpIHsKCQkJCgkJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygnZXJyb3JfZmlsZV9wZXJtaXNzaW9ucycpOwoJCQl9CgkJfQoJfQoKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgUHJpdmF0ZSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoJCglwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfZGl2ZXJzZV9hcnJheSgkdmVjdG9yKSB7CgkJCgkJJHJlc3VsdCA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdmVjdG9yIGFzICRrZXkxID0+ICR2YWx1ZTEpIHsKCQkKCQkJZm9yZWFjaCgkdmFsdWUxIGFzICRrZXkyID0+ICR2YWx1ZTIpIHsKCQkKCQkJCSRyZXN1bHRbJGtleTJdWyRrZXkxXSA9ICR2YWx1ZTI7CgkJCX0KCQl9CgkJCgkJcmV0dXJuICRyZXN1bHQ7Cgl9IAkKCQp9IC8vIGVuZCBvZiBjbGFzcwoKPz4J]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/lisefd.FileUpload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpjbGFzcyBsaXNlZmRfRmlsZVVwbG9hZCBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwcml2YXRlIHN0YXRpYyAkX2ltZ190eXBlcyA9IGFycmF5KCdnaWYnLCAnanBnJywgJ2pwZWcnLCAncG5nJyk7DQoNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJIyBGaWVsZGJhc2UgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoNCglwdWJsaWMgZnVuY3Rpb24gUmVuZGVyRm9yQWRtaW5MaXN0aW5nKCRpZCwgJHJldHVybmlkKQ0KCXsNCgkJLy8gQ2hlY2sgaWYgd2UgaGF2ZSB2YWx1ZS4NCgkJaWYoISR0aGlzLT5IYXNWYWx1ZSgpKQ0KCQkJcmV0dXJuOw0KCQ0KCQkvLyBDaGVjayBpZiB3ZSBuZWVkIGltYWdlIGFuZCBpZiBleHRlbnNpb24gb2YgZmlsZW5hbWUgaXMgYWN0dWFsbHkgaW1hZ2UuDQoJCWlmKCEkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2ltYWdlJykgfHwgIWluX2FycmF5KHNlbGY6Ol9leHQoJHRoaXMtPkdldFZhbHVlKCkpLCBzZWxmOjokX2ltZ190eXBlcykpDQoJCQlyZXR1cm4gJHRoaXMtPkdldFZhbHVlKCk7DQoNCgkJLy8gQ2hlY2sgaWYgQ0dTbWFydEltYWdlIG1vZHVsZSBpcyBpbnN0YWxsZWQuDQoJCSRjZ3NpID0gY21zbXMoKS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NHU21hcnRJbWFnZScpOw0KCQlpZighaXNfb2JqZWN0KCRjZ3NpKSkNCgkJCXJldHVybiAkdGhpcy0+R2V0VmFsdWUoKTsNCgkJCQkJDQoJCS8vIENoZWNrIGlmIG91ciBzb3VyY2UgZmlsZSBpcyByZWFkYWJsZS4NCiAgICAgICAgJHBhdGggPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5HZXRJbWFnZVBhdGgoKSwgJHRoaXMtPkdldFZhbHVlKCkpOw0KCQlpZighaXNfcmVhZGFibGUoJHBhdGgpKQ0KCQkJcmV0dXJuICR0aGlzLT5HZXRWYWx1ZSgpOw0KCQkNCiAgICAgICAgJGhyZWYgPSAkdGhpcy0+R2V0SW1hZ2VQYXRoKHRydWUpIC4nLycuICR0aGlzLT5HZXRWYWx1ZSgpOw0KCQ0KCQkkcGFyYW1zWydzcmMnXSA9ICRocmVmOw0KCQkkcGFyYW1zWydmaWx0ZXJfY3JvcHRvZml0J10gPSAnNDgsNDgnOw0KCQkkcGFyYW1zWydub3RhZyddID0gdHJ1ZTsNCgkJJHBhcmFtc1snbm9lbWJlZCddID0gdHJ1ZTsNCgkNCgkJJG91dHB1dCA9IGNnc2lfdXRpbHM6OnByb2Nlc3NfaW1hZ2UoJHBhcmFtcyk7DQoJCQ0KCQkkdXJsID0gJG91dHB1dFsnb3V0cHV0J107DQoJCQ0KCQlyZXR1cm4gJzxhIGhyZWY9IicuJGhyZWYuJyIgY2xhc3M9ImNib3ggdGh1bWIiPjxpbWcgc3JjPSInLiR1cmwuJyIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiAvPjwvYT4nOwkJDQoJfQ0KICANCiAgcHVibGljIGZ1bmN0aW9uIEZyb250RW5kUmVuZGVyKCkNCiAgew0KICAgIGlmKCBlbXB0eSgkdGhpcy0+dmlldykgKQ0KICAgIHsNCiAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsNCiAgICAgICRzbWFydHktPmFzc2lnbignbmFtZScsICR0aGlzLT5uYW1lKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigndmFsdWUnLCAkdGhpcy0+dmFsdWUpOw0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCd0eXBlJywgJHRoaXMtPnR5cGUpOw0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCdhbGlhcycsICR0aGlzLT5hbGlhcyk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ltYWdlcGF0aCcsICR0aGlzLT5HZXRJbWFnZVBhdGgoVFJVRSkgKTsNCiAgICAgICR0aGlzLT52aWV3ID0gJHNtYXJ0eS0+ZmV0Y2goICdzdHJpbmc6JyAuICR0aGlzLT5HZXRUZW1wbGF0ZSgpICk7DQogICAgfQ0KDQogICAgcmV0dXJuICR0aGlzLT52aWV3Ow0KICAgIA0KICB9CQ0KCQ0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIENsYXNzIG1ldGhvZHMNCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkNCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0SW1hZ2VQYXRoKCR1cmwgPSBmYWxzZSkNCgl7DQoJCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsNCgkJJHByZWZpeCA9ICR1cmwgPyAkY29uZmlnWyd1cGxvYWRzX3VybCddIDogJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107DQoJCSRwYXRoID0gY21zX2pvaW5fcGF0aCgkcHJlZml4LCAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2RpcicpKTsJCQ0KCQ0KCQlpZihzdHJwb3MoJHBhdGgsICd7JGl0ZW1faWR9JykgIT09IGZhbHNlKQkJCQ0KCQkJJHBhdGggPSBzdHJfcmVwbGFjZSgneyRpdGVtX2lkfScsICR0aGlzLT5HZXRJdGVtSWQoKSwgJHBhdGgpOw0KCQkJCQ0KCQlpZihzdHJwb3MoJHBhdGgsICd7JGZpZWxkX2lkfScpICE9PSBmYWxzZSkJCQkNCgkJCSRwYXRoID0gc3RyX3JlcGxhY2UoJ3skZmllbGRfaWR9JywgJHRoaXMtPkdldElkKCksICRwYXRoKTsNCgkJCQkNCgkJaWYoJHVybCkNCgkJCSRwYXRoID0gc3RyX3JlcGxhY2UoRElSRUNUT1JZX1NFUEFSQVRPUiwgJy8nLCAkcGF0aCk7DQoNCgkJcmV0dXJuICRwYXRoOw0KCX0NCg0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkjIFByaXZhdGUgbWV0aG9kcw0KCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0JDQoJDQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBfZXh0KCRmaWxlbmFtZSkNCgl7CQ0KCQkkZmlsZW5hbWUgPSBleHBsb2RlKCcuJywgJGZpbGVuYW1lKTsNCgkJcmV0dXJuIHRyaW0oc3RydG9sb3dlcihlbmQoJGZpbGVuYW1lKSkpOyAvLyA8LSBBIGJpdCBmcmVha3kgeWVzLCBidXQgc2hvdWxkIGNvdmVyIGFsbCBwb3NzaWJsZSBjYXNlcy4NCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/FileUpload/output.FileUpload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogPGEgaHJlZj0ieyRmaWVsZGRlZi0+R2V0SW1hZ2VQYXRoKHRydWUpfS97JGZpZWxkZGVmLnZhbHVlfSI+eyRmaWVsZGRlZi52YWx1ZX08L2E+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/admin.MultiSelect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3NpemUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3NpemVfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NpemVdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnLCA1KX0iIC8+CiAgICA8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/input.MultiSelect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSIiIC8+CgkJPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XVtdIiBzaXplPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDUpfSIgbXVsdGlwbGU9Im11bHRpcGxlIj4KCQkJe2ZvcmVhY2ggZnJvbT0kZmllbGRkZWYtPkdldE9wdGlvbnMoKSBrZXk9dmFsdWUgaXRlbT1rZXl9CgkJCQk8b3B0aW9uIHZhbHVlPSJ7JHZhbHVlfSJ7aWYgaW5fYXJyYXkoJHZhbHVlLCAkZmllbGRkZWYtPkdldFZhbHVlKCJhcnJheSIpKX0gc2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9Pnska2V5fTwvb3B0aW9uPgoJCQl7L2ZvcmVhY2h9CgkJPC9zZWxlY3Q+Cgk8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/lisefd.MultiSelect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9NdWx0aVNlbGVjdCBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0T3B0aW9ucygpDQoJew0KCQkkb3B0aW9ucyA9ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnb3B0aW9ucycpOw0KCQkkbGlzdCA9IGV4cGxvZGUoIlxuIiwgJG9wdGlvbnMpOw0KCQkNCgkJJG9wdGlvbnMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsaXN0IGFzICRvcHRpb24pIHsNCgkJDQoJCQkkb3B0aW9uID0gZXhwbG9kZSgiPSIsICRvcHRpb24sIDIpOw0KCQkJaWYoY291bnQoJG9wdGlvbikgPiAxKSB7DQoJCQkJJG9wdGlvbnNbdHJpbSgkb3B0aW9uWzFdKV0gPSB0cmltKCRvcHRpb25bMF0pOw0KCQkJfSBlbHNlIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMF0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCQkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/MultiSelect/output.MultiSelect.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/admin.RadioGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnb3B0aW9ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbXVsdGlvcHRpb25zX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTx0ZXh0YXJlYSBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtvcHRpb25zXSI+eyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ29wdGlvbnMnKX08L3RleHRhcmVhPgogICAgPC9wPgo8L2Rpdj4KCQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2VwYXJhdG9yJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9zZXBhcmF0b3JfaGVscCcpfTwvZW0+PGJyIC8+CiAgICAJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3NlcGFyYXRvcl0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2VwYXJhdG9yJyl9IiAvPgogICAgPC9wPgkKPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgkKICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnY29sdW1ucycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfY29sdW1uc19oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbY29sdW1uc10iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnY29sdW1ucycsIDEpfSIgLz4KICAgIDwvcD4JCjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4JCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2VuYWJsZV9qcXVpJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9lbmFibGVfanF1aV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtqcXVpX2J1dHRvbnNdIiB2YWx1ZT0iMCIgLz4KICAgIAk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2pxdWlfYnV0dG9uc10iIHZhbHVlPSIxIntpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdqcXVpX2J1dHRvbnMnKSA9PSAxfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9IC8+CiAgICA8L3A+CQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/input.RadioGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgk8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPkdldE5hbWUoKX17aWYgJGZpZWxkZGVmLT5Jc1JlcXVpcmVkKCl9KnsvaWZ9OjwvcD4NCgk8ZGl2IGNsYXNzPSJwYWdlaW5wdXQiPg0KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0NCgkJDQoJCXtpZiAkZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdqcXVpX2J1dHRvbnMnKSA9PSAnMSd9DQoJCQ0KCQk8ZGl2IGNsYXNzPSJsaXNlLXJhZGlvLWJ1dHRvbnMiIGlkPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkeyRmaWVsZGRlZi0+R2V0SWQoKX0tcmFkaW8iPg0KCQl7Zm9yZWFjaCAkZmllbGRkZWYtPkdldE9wdGlvbnMoKSBhcyAkdmFsdWUgPT4gJG9wdGlvbn0NCgkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIGlkPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XXskb3B0aW9uQGl0ZXJhdGlvbn0iIHZhbHVlPSJ7JHZhbHVlfSJ7aWYgJGZpZWxkZGVmLT5HZXRWYWx1ZSgpID09ICR2YWx1ZX0gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfSAvPg0KCQkJPGxhYmVsIGZvcj0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV17JG9wdGlvbkBpdGVyYXRpb259Ij57JG9wdGlvbn08L2xhYmVsPg0KCQl7L2ZvcmVhY2h9DQoJCTwvZGl2Pg0KCQkNCgkJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCQlqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHsNCgkJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkeyRmaWVsZGRlZi0+R2V0SWQoKX0tcmFkaW8iKS5idXR0b25zZXQoKTsJDQoJCX0pOw0KCQk8L3NjcmlwdD4NCgkNCgkJe2Vsc2V9DQoJCQ0KCQl7aHRtbF9yYWRpb3MgbmFtZT0iYCRhY3Rpb25pZGBjdXN0b21maWVsZFtgJGZpZWxkZGVmLT5HZXRJZCgpYF0iIG9wdGlvbnM9JGZpZWxkZGVmLT5HZXRPcHRpb25zKCkgc2VsZWN0ZWQ9JGZpZWxkZGVmLT5HZXRWYWx1ZSgpIHNlcGFyYXRvcj0kZmllbGRkZWYtPlNlcGFyYXRvcigpIGFzc2lnbj0nbGlzZWJveGVzJ30NCgkJe21hdGggZXF1YXRpb249J3gveScgeD0kbGlzZWJveGVzfGNvdW50IHk9JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnY29sdW1ucycsIDEpIGFzc2lnbj0nY291bnRlcid9DQoNCgkJPHVsIGNsYXNzPSJsaXNlLWNvbHVtbi1saXN0Ij4NCgkJe2ZvcmVhY2ggZnJvbT0kbGlzZWJveGVzIGl0ZW09J2JveCd9DQoJCQl7aWYgJGJveEBmaXJzdH08bGk+e2Vsc2VpZiAkYm94QGluZGV4ICUgJGNvdW50ZXJ8Y2VpbCA9PSAwfTwvbGk+PGxpPnsvaWZ9DQoJCQl7JGJveH0NCgkJCXtpZiAkYm94QGxhc3R9PC9saT57L2lmfSANCgkJIHsvZm9yZWFjaH0gDQoJCTwvdWw+DQoJCQ0KCQl7L2lmfQ0KCTwvZGl2Pg0KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/lisefd.RadioGroup.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9SYWRpb0dyb3VwIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRPcHRpb25zKCkNCgl7DQoJCSRvcHRpb25zID0gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdvcHRpb25zJyk7DQoJCSRsaXN0ID0gZXhwbG9kZSgiXG4iLCAkb3B0aW9ucyk7DQoJCQ0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxpc3QgYXMgJG9wdGlvbikgew0KCQkNCgkJCSRvcHRpb24gPSBleHBsb2RlKCI9IiwgJG9wdGlvbiwgMik7DQoJCQlpZihjb3VudCgkb3B0aW9uKSA+IDEpIHsNCgkJCQkkb3B0aW9uc1t0cmltKCRvcHRpb25bMV0pXSA9IHRyaW0oJG9wdGlvblswXSk7DQoJCQl9IGVsc2Ugew0KCQkJCSRvcHRpb25zW3RyaW0oJG9wdGlvblswXSldID0gdHJpbSgkb3B0aW9uWzBdKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAkb3B0aW9uczsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFNlcGFyYXRvcigpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdzZXBhcmF0b3InKTsJDQoJfQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/RadioGroup/output.RadioGroup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/admin.SelectDateTime.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZm9ybWF0X3R5cGUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2Zvcm1hdF90eXBlX2hlbHAnKX08L2VtPjxiciAvPgogICAgCXtodG1sX29wdGlvbnMgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZm9ybWF0X3R5cGVdIiBvcHRpb25zPSRmaWVsZGRlZi0+Rm9ybWF0VHlwZXMoKSBzZWxlY3RlZD0kZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdmb3JtYXRfdHlwZScsIDApfQogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ2RhdGVfZm9ybWF0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl9kYXRlX2Zvcm1hdF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZGF0ZV9mb3JtYXRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2RhdGVfZm9ybWF0JywgJ2RkLW1tLXl5Jyl9IiAvPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3RpbWVfZm9ybWF0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl90aW1lX2Zvcm1hdF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbdGltZV9mb3JtYXRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3RpbWVfZm9ybWF0JywgJ0hIOm1tJyl9IiAvPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ3Nob3dfc2Vjb25kcycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2hvd19zZWNvbmRzX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3Nob3dfc2Vjb25kc10iIHZhbHVlPSIwIiAvPgoJCTxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2hvd19zZWNvbmRzXSIgdmFsdWU9IjEie2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3Nob3dfc2Vjb25kcycpfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/input.SelectDateTime.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfSIgc2l6ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ3NpemUnKX0iIC8+Cgk8L3A+CgkKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXSIpCgkJe2lmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2Zvcm1hdF90eXBlJykgPT0gMX0geyogRGF0ZSBGb3JtYXQgKn0KCQkuZGF0ZXBpY2tlcih7CgkJCWRhdGVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnZGF0ZV9mb3JtYXQnKX0iCgkJfSk7CQkKCQl7ZWxzZWlmICRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2Zvcm1hdF90eXBlJykgPT0gMn0geyogVGltZSBGb3JtYXQgKn0KCQkudGltZXBpY2tlcih7CgkJCXRpbWVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgndGltZV9mb3JtYXQnKX0iLAoJCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2hvd19zZWNvbmRzJyl9c2hvd1NlY29uZDogdHJ1ZSx7L2lmfQoJCQlob3VyR3JpZDogNCwKCQkJbWludXRlR3JpZDogMTAsCgkJCXNlY29uZEdyaWQ6IDEwCQkJCgkJfSk7CgkJe2Vsc2V9IHsqIENvbWJpbmVkICp9CgkJLmRhdGV0aW1lcGlja2VyKHsKCQkJZGF0ZUZvcm1hdDogInskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkYXRlX2Zvcm1hdCcpfSIsCgkJCXRpbWVGb3JtYXQ6ICJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgndGltZV9mb3JtYXQnKX0iLAoJCQl7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2hvd19zZWNvbmRzJyl9c2hvd1NlY29uZDogdHJ1ZSx7L2lmfQoJCQlob3VyR3JpZDogNCwKCQkJbWludXRlR3JpZDogMTAsCgkJCXNlY29uZEdyaWQ6IDEwCgkJfSk7CQkKCQl7L2lmfQoJfSk7Cgk8L3NjcmlwdD4KCQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/jqeury-ui-timepicker-addon.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyogY3NzIGZvciB0aW1lcGlja2VyICovCi51aS10aW1lcGlja2VyLWRpdiAudWktd2lkZ2V0LWhlYWRlciB7IG1hcmdpbi1ib3R0b206IDhweDsgfQoudWktdGltZXBpY2tlci1kaXYgZGwgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9Ci51aS10aW1lcGlja2VyLWRpdiBkbCBkdCB7IGhlaWdodDogMjVweDsgbWFyZ2luLWJvdHRvbTogLTI1cHg7IH0KLnVpLXRpbWVwaWNrZXItZGl2IGRsIGRkIHsgbWFyZ2luOiAwIDEwcHggMTBweCA2NXB4OyB9Ci51aS10aW1lcGlja2VyLWRpdiB0ZCB7IGZvbnQtc2l6ZTogOTAlOyB9Ci51aS10cGlja2VyLWdyaWQtbGFiZWwgeyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQoKLnVpLXRpbWVwaWNrZXItcnRseyBkaXJlY3Rpb246IHJ0bDsgfQoudWktdGltZXBpY2tlci1ydGwgZGwgeyB0ZXh0LWFsaWduOiByaWdodDsgfQoudWktdGltZXBpY2tlci1ydGwgZGwgZGQgeyBtYXJnaW46IDAgNjVweCAxMHB4IDEwcHg7IH0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/jquery-ui-timepicker-addon.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoKICogalF1ZXJ5IHRpbWVwaWNrZXIgYWRkb24KICogQnk6IFRyZW50IFJpY2hhcmRzb24gW2h0dHA6Ly90cmVudHJpY2hhcmRzb24uY29tXQogKiBWZXJzaW9uIDEuMS4xCiAqIExhc3QgTW9kaWZpZWQ6IDExLzA3LzIwMTIKICoKICogQ29weXJpZ2h0IDIwMTIgVHJlbnQgUmljaGFyZHNvbgogKiBZb3UgbWF5IHVzZSB0aGlzIHByb2plY3QgdW5kZXIgTUlUIG9yIEdQTCBsaWNlbnNlcy4KICogaHR0cDovL3RyZW50cmljaGFyZHNvbi5jb20vSW1wcm9tcHR1L0dQTC1MSUNFTlNFLnR4dAogKiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS9JbXByb21wdHUvTUlULUxJQ0VOU0UudHh0CiAqLwoKLypqc2xpbnQgZXZpbDogdHJ1ZSwgd2hpdGU6IGZhbHNlLCB1bmRlZjogZmFsc2UsIG5vbWVuOiBmYWxzZSAqLwoKKGZ1bmN0aW9uKCQpIHsKCgkvKgoJKiBMZXRzIG5vdCByZWRlZmluZSB0aW1lcGlja2VyLCBQcmV2ZW50ICJVbmNhdWdodCBSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZCIKCSovCgkkLnVpLnRpbWVwaWNrZXIgPSAkLnVpLnRpbWVwaWNrZXIgfHwge307CglpZiAoJC51aS50aW1lcGlja2VyLnZlcnNpb24pIHsKCQlyZXR1cm47Cgl9CgoJLyoKCSogRXh0ZW5kIGpRdWVyeVVJLCBnZXQgaXQgc3RhcnRlZCB3aXRoIG91ciB2ZXJzaW9uIG51bWJlcgoJKi8KCSQuZXh0ZW5kKCQudWksIHsKCQl0aW1lcGlja2VyOiB7CgkJCXZlcnNpb246ICIxLjEuMSIKCQl9Cgl9KTsKCgkvKiAKCSogVGltZXBpY2tlciBtYW5hZ2VyLgoJKiBVc2UgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCAkLnRpbWVwaWNrZXIsIHRvIGludGVyYWN0IHdpdGggdGhlIHRpbWUgcGlja2VyLgoJKiBTZXR0aW5ncyBmb3IgKGdyb3VwcyBvZikgdGltZSBwaWNrZXJzIGFyZSBtYWludGFpbmVkIGluIGFuIGluc3RhbmNlIG9iamVjdCwKCSogYWxsb3dpbmcgbXVsdGlwbGUgZGlmZmVyZW50IHNldHRpbmdzIG9uIHRoZSBzYW1lIHBhZ2UuCgkqLwoJZnVuY3Rpb24gVGltZXBpY2tlcigpIHsKCQl0aGlzLnJlZ2lvbmFsID0gW107IC8vIEF2YWlsYWJsZSByZWdpb25hbCBzZXR0aW5ncywgaW5kZXhlZCBieSBsYW5ndWFnZSBjb2RlCgkJdGhpcy5yZWdpb25hbFsnJ10gPSB7IC8vIERlZmF1bHQgcmVnaW9uYWwgc2V0dGluZ3MKCQkJY3VycmVudFRleHQ6ICdOb3cnLAoJCQljbG9zZVRleHQ6ICdEb25lJywKCQkJYW1OYW1lczogWydBTScsICdBJ10sCgkJCXBtTmFtZXM6IFsnUE0nLCAnUCddLAoJCQl0aW1lRm9ybWF0OiAnSEg6bW0nLAoJCQl0aW1lU3VmZml4OiAnJywKCQkJdGltZU9ubHlUaXRsZTogJ0Nob29zZSBUaW1lJywKCQkJdGltZVRleHQ6ICdUaW1lJywKCQkJaG91clRleHQ6ICdIb3VyJywKCQkJbWludXRlVGV4dDogJ01pbnV0ZScsCgkJCXNlY29uZFRleHQ6ICdTZWNvbmQnLAoJCQltaWxsaXNlY1RleHQ6ICdNaWxsaXNlY29uZCcsCgkJCXRpbWV6b25lVGV4dDogJ1RpbWUgWm9uZScsCgkJCWlzUlRMOiBmYWxzZQoJCX07CgkJdGhpcy5fZGVmYXVsdHMgPSB7IC8vIEdsb2JhbCBkZWZhdWx0cyBmb3IgYWxsIHRoZSBkYXRldGltZSBwaWNrZXIgaW5zdGFuY2VzCgkJCXNob3dCdXR0b25QYW5lbDogdHJ1ZSwKCQkJdGltZU9ubHk6IGZhbHNlLAoJCQlzaG93SG91cjogdHJ1ZSwKCQkJc2hvd01pbnV0ZTogdHJ1ZSwKCQkJc2hvd1NlY29uZDogZmFsc2UsCgkJCXNob3dNaWxsaXNlYzogZmFsc2UsCgkJCXNob3dUaW1lem9uZTogZmFsc2UsCgkJCXNob3dUaW1lOiB0cnVlLAoJCQlzdGVwSG91cjogMSwKCQkJc3RlcE1pbnV0ZTogMSwKCQkJc3RlcFNlY29uZDogMSwKCQkJc3RlcE1pbGxpc2VjOiAxLAoJCQlob3VyOiAwLAoJCQltaW51dGU6IDAsCgkJCXNlY29uZDogMCwKCQkJbWlsbGlzZWM6IDAsCgkJCXRpbWV6b25lOiBudWxsLAoJCQl1c2VMb2NhbFRpbWV6b25lOiBmYWxzZSwKCQkJZGVmYXVsdFRpbWV6b25lOiAiKzAwMDAiLAoJCQlob3VyTWluOiAwLAoJCQltaW51dGVNaW46IDAsCgkJCXNlY29uZE1pbjogMCwKCQkJbWlsbGlzZWNNaW46IDAsCgkJCWhvdXJNYXg6IDIzLAoJCQltaW51dGVNYXg6IDU5LAoJCQlzZWNvbmRNYXg6IDU5LAoJCQltaWxsaXNlY01heDogOTk5LAoJCQltaW5EYXRlVGltZTogbnVsbCwKCQkJbWF4RGF0ZVRpbWU6IG51bGwsCgkJCW9uU2VsZWN0OiBudWxsLAoJCQlob3VyR3JpZDogMCwKCQkJbWludXRlR3JpZDogMCwKCQkJc2Vjb25kR3JpZDogMCwKCQkJbWlsbGlzZWNHcmlkOiAwLAoJCQlhbHdheXNTZXRUaW1lOiB0cnVlLAoJCQlzZXBhcmF0b3I6ICcgJywKCQkJYWx0RmllbGRUaW1lT25seTogdHJ1ZSwKCQkJYWx0VGltZUZvcm1hdDogbnVsbCwKCQkJYWx0U2VwYXJhdG9yOiBudWxsLAoJCQlhbHRUaW1lU3VmZml4OiBudWxsLAoJCQlwaWNrZXJUaW1lRm9ybWF0OiBudWxsLAoJCQlwaWNrZXJUaW1lU3VmZml4OiBudWxsLAoJCQlzaG93VGltZXBpY2tlcjogdHJ1ZSwKCQkJdGltZXpvbmVJc284NjAxOiBmYWxzZSwKCQkJdGltZXpvbmVMaXN0OiBudWxsLAoJCQlhZGRTbGlkZXJBY2Nlc3M6IGZhbHNlLAoJCQlzbGlkZXJBY2Nlc3NBcmdzOiBudWxsLAoJCQljb250cm9sVHlwZTogJ3NsaWRlcicsCgkJCWRlZmF1bHRWYWx1ZTogbnVsbCwKCQkJcGFyc2U6ICdzdHJpY3QnCgkJfTsKCQkkLmV4dGVuZCh0aGlzLl9kZWZhdWx0cywgdGhpcy5yZWdpb25hbFsnJ10pOwoJfQoKCSQuZXh0ZW5kKFRpbWVwaWNrZXIucHJvdG90eXBlLCB7CgkJJGlucHV0OiBudWxsLAoJCSRhbHRJbnB1dDogbnVsbCwKCQkkdGltZU9iajogbnVsbCwKCQlpbnN0OiBudWxsLAoJCWhvdXJfc2xpZGVyOiBudWxsLAoJCW1pbnV0ZV9zbGlkZXI6IG51bGwsCgkJc2Vjb25kX3NsaWRlcjogbnVsbCwKCQltaWxsaXNlY19zbGlkZXI6IG51bGwsCgkJdGltZXpvbmVfc2VsZWN0OiBudWxsLAoJCWhvdXI6IDAsCgkJbWludXRlOiAwLAoJCXNlY29uZDogMCwKCQltaWxsaXNlYzogMCwKCQl0aW1lem9uZTogbnVsbCwKCQlkZWZhdWx0VGltZXpvbmU6ICIrMDAwMCIsCgkJaG91ck1pbk9yaWdpbmFsOiBudWxsLAoJCW1pbnV0ZU1pbk9yaWdpbmFsOiBudWxsLAoJCXNlY29uZE1pbk9yaWdpbmFsOiBudWxsLAoJCW1pbGxpc2VjTWluT3JpZ2luYWw6IG51bGwsCgkJaG91ck1heE9yaWdpbmFsOiBudWxsLAoJCW1pbnV0ZU1heE9yaWdpbmFsOiBudWxsLAoJCXNlY29uZE1heE9yaWdpbmFsOiBudWxsLAoJCW1pbGxpc2VjTWF4T3JpZ2luYWw6IG51bGwsCgkJYW1wbTogJycsCgkJZm9ybWF0dGVkRGF0ZTogJycsCgkJZm9ybWF0dGVkVGltZTogJycsCgkJZm9ybWF0dGVkRGF0ZVRpbWU6ICcnLAoJCXRpbWV6b25lTGlzdDogbnVsbCwKCQl1bml0czogWydob3VyJywnbWludXRlJywnc2Vjb25kJywnbWlsbGlzZWMnXSwKCQljb250cm9sOiBudWxsLAoKCQkvKiAKCQkqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHNldHRpbmdzIGZvciBhbGwgaW5zdGFuY2VzIG9mIHRoZSB0aW1lIHBpY2tlci4KCQkqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHRoZSBuZXcgc2V0dGluZ3MgdG8gdXNlIGFzIGRlZmF1bHRzIChhbm9ueW1vdXMgb2JqZWN0KQoJCSogQHJldHVybiB0aGUgbWFuYWdlciBvYmplY3QKCQkqLwoJCXNldERlZmF1bHRzOiBmdW5jdGlvbihzZXR0aW5ncykgewoJCQlleHRlbmRSZW1vdmUodGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9KTsKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCgkJLyoKCQkqIENyZWF0ZSBhIG5ldyBUaW1lcGlja2VyIGluc3RhbmNlCgkJKi8KCQlfbmV3SW5zdDogZnVuY3Rpb24oJGlucHV0LCBvKSB7CgkJCXZhciB0cF9pbnN0ID0gbmV3IFRpbWVwaWNrZXIoKSwKCQkJCWlubGluZVNldHRpbmdzID0ge30sCiAgICAgICAgICAgICAgICBmbnMgPSB7fSwKCQkgICAgICAgIG92ZXJyaWRlcywgaTsKCgkJCWZvciAodmFyIGF0dHJOYW1lIGluIHRoaXMuX2RlZmF1bHRzKSB7CgkJCQlpZih0aGlzLl9kZWZhdWx0cy5oYXNPd25Qcm9wZXJ0eShhdHRyTmFtZSkpewoJCQkJCXZhciBhdHRyVmFsdWUgPSAkaW5wdXQuYXR0cigndGltZTonICsgYXR0ck5hbWUpOwoJCQkJCWlmIChhdHRyVmFsdWUpIHsKCQkJCQkJdHJ5IHsKCQkJCQkJCWlubGluZVNldHRpbmdzW2F0dHJOYW1lXSA9IGV2YWwoYXR0clZhbHVlKTsKCQkJCQkJfSBjYXRjaCAoZXJyKSB7CgkJCQkJCQlpbmxpbmVTZXR0aW5nc1thdHRyTmFtZV0gPSBhdHRyVmFsdWU7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQkgICAgb3ZlcnJpZGVzID0gewoJCSAgICAgICAgYmVmb3JlU2hvdzogZnVuY3Rpb24gKGlucHV0LCBkcF9pbnN0KSB7CgkJICAgICAgICAgICAgaWYgKCQuaXNGdW5jdGlvbih0cF9pbnN0Ll9kZWZhdWx0cy5ldm50cy5iZWZvcmVTaG93KSkgewoJCSAgICAgICAgICAgICAgICByZXR1cm4gdHBfaW5zdC5fZGVmYXVsdHMuZXZudHMuYmVmb3JlU2hvdy5jYWxsKCRpbnB1dFswXSwgaW5wdXQsIGRwX2luc3QsIHRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0sCgkJICAgICAgICBvbkNoYW5nZU1vbnRoWWVhcjogZnVuY3Rpb24gKHllYXIsIG1vbnRoLCBkcF9pbnN0KSB7CgkJICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSB0aW1lIGFzIHdlbGwgOiB0aGlzIHByZXZlbnRzIHRoZSB0aW1lIGZyb20gZGlzYXBwZWFyaW5nIGZyb20gdGhlICRpbnB1dCBmaWVsZC4KCQkgICAgICAgICAgICB0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShkcF9pbnN0KTsKCQkgICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2hhbmdlTW9udGhZZWFyKSkgewoJCSAgICAgICAgICAgICAgICB0cF9pbnN0Ll9kZWZhdWx0cy5ldm50cy5vbkNoYW5nZU1vbnRoWWVhci5jYWxsKCRpbnB1dFswXSwgeWVhciwgbW9udGgsIGRwX2luc3QsIHRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0sCgkJICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoZGF0ZVRleHQsIGRwX2luc3QpIHsKCQkgICAgICAgICAgICBpZiAodHBfaW5zdC50aW1lRGVmaW5lZCA9PT0gdHJ1ZSAmJiAkaW5wdXQudmFsKCkgIT09ICcnKSB7CgkJICAgICAgICAgICAgICAgIHRwX2luc3QuX3VwZGF0ZURhdGVUaW1lKGRwX2luc3QpOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgICAgICBpZiAoJC5pc0Z1bmN0aW9uKHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2xvc2UpKSB7CgkJICAgICAgICAgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLmV2bnRzLm9uQ2xvc2UuY2FsbCgkaW5wdXRbMF0sIGRhdGVUZXh0LCBkcF9pbnN0LCB0cF9pbnN0KTsKCQkgICAgICAgICAgICB9CgkJICAgICAgICB9CgkJICAgIH07CgkJICAgIGZvciAoaSBpbiBvdmVycmlkZXMpIHsKCQkgICAgICAgIGlmIChvdmVycmlkZXMuaGFzT3duUHJvcGVydHkoaSkpIHsKCQkgICAgICAgICAgICBmbnNbaV0gPSBvW2ldIHx8IG51bGw7CgkJICAgICAgICB9CgkJICAgIH0KCQkgICAgdHBfaW5zdC5fZGVmYXVsdHMgPSAkLmV4dGVuZCh7fSwgdGhpcy5fZGVmYXVsdHMsIGlubGluZVNldHRpbmdzLCBvLCBvdmVycmlkZXMsIHsKCQkgICAgICAgIGV2bnRzOmZucywKCQkgICAgICAgIHRpbWVwaWNrZXI6IHRwX2luc3QgLy8gYWRkIHRpbWVwaWNrZXIgYXMgYSBwcm9wZXJ0eSBvZiBkYXRlcGlja2VyOiAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAndGltZXBpY2tlcicpOwoJCSAgICB9KTsKCQkJdHBfaW5zdC5hbU5hbWVzID0gJC5tYXAodHBfaW5zdC5fZGVmYXVsdHMuYW1OYW1lcywgZnVuY3Rpb24odmFsKSB7CgkJCQlyZXR1cm4gdmFsLnRvVXBwZXJDYXNlKCk7CgkJCX0pOwoJCQl0cF9pbnN0LnBtTmFtZXMgPSAkLm1hcCh0cF9pbnN0Ll9kZWZhdWx0cy5wbU5hbWVzLCBmdW5jdGlvbih2YWwpIHsKCQkJCXJldHVybiB2YWwudG9VcHBlckNhc2UoKTsKCQkJfSk7CgoJCQkvLyBjb250cm9sVHlwZSBpcyBzdHJpbmcgLSBrZXkgdG8gb3VyIHRoaXMuX2NvbnRyb2xzCgkJCWlmKHR5cGVvZih0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZSkgPT09ICdzdHJpbmcnKXsKCQkJCWlmKCQuZm5bdHBfaW5zdC5fZGVmYXVsdHMuY29udHJvbFR5cGVdID09PSB1bmRlZmluZWQpewoJCQkJCXRwX2luc3QuX2RlZmF1bHRzLmNvbnRyb2xUeXBlID0gJ3NlbGVjdCc7CgkJCQl9CgkJCQl0cF9pbnN0LmNvbnRyb2wgPSB0cF9pbnN0Ll9jb250cm9sc1t0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZV07CgkJCX0KCQkJLy8gY29udHJvbFR5cGUgaXMgYW4gb2JqZWN0IGFuZCBtdXN0IGltcGxlbWVudCBjcmVhdGUsIG9wdGlvbnMsIHZhbHVlIG1ldGhvZHMKCQkJZWxzZXsgCgkJCQl0cF9pbnN0LmNvbnRyb2wgPSB0cF9pbnN0Ll9kZWZhdWx0cy5jb250cm9sVHlwZTsKCQkJfQoKCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lTGlzdCA9PT0gbnVsbCkgewoJCQkJdmFyIHRpbWV6b25lTGlzdCA9IFsnLTEyMDAnLCAnLTExMDAnLCAnLTEwMDAnLCAnLTA5MzAnLCAnLTA5MDAnLCAnLTA4MDAnLCAnLTA3MDAnLCAnLTA2MDAnLCAnLTA1MDAnLCAnLTA0MzAnLCAnLTA0MDAnLCAnLTAzMzAnLCAnLTAzMDAnLCAnLTAyMDAnLCAnLTAxMDAnLCAnKzAwMDAnLCAKCQkJCQkJCQkJJyswMTAwJywgJyswMjAwJywgJyswMzAwJywgJyswMzMwJywgJyswNDAwJywgJyswNDMwJywgJyswNTAwJywgJyswNTMwJywgJyswNTQ1JywgJyswNjAwJywgJyswNjMwJywgJyswNzAwJywgJyswODAwJywgJyswODQ1JywgJyswOTAwJywgJyswOTMwJywgCgkJCQkJCQkJCScrMTAwMCcsICcrMTAzMCcsICcrMTEwMCcsICcrMTEzMCcsICcrMTIwMCcsICcrMTI0NScsICcrMTMwMCcsICcrMTQwMCddOwoKCQkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lem9uZUlzbzg2MDEpIHsKCQkJCQl0aW1lem9uZUxpc3QgPSAkLm1hcCh0aW1lem9uZUxpc3QsIGZ1bmN0aW9uKHZhbCkgewoJCQkJCQlyZXR1cm4gdmFsID09ICcrMDAwMCcgPyAnWicgOiAodmFsLnN1YnN0cmluZygwLCAzKSArICc6JyArIHZhbC5zdWJzdHJpbmcoMykpOwoJCQkJCX0pOwoJCQkJfQoJCQkJdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmVMaXN0ID0gdGltZXpvbmVMaXN0OwoJCQl9CgoJCQl0cF9pbnN0LnRpbWV6b25lID0gdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmU7CgkJCXRwX2luc3QuaG91ciA9IHRwX2luc3QuX2RlZmF1bHRzLmhvdXI7CgkJCXRwX2luc3QubWludXRlID0gdHBfaW5zdC5fZGVmYXVsdHMubWludXRlOwoJCQl0cF9pbnN0LnNlY29uZCA9IHRwX2luc3QuX2RlZmF1bHRzLnNlY29uZDsKCQkJdHBfaW5zdC5taWxsaXNlYyA9IHRwX2luc3QuX2RlZmF1bHRzLm1pbGxpc2VjOwoJCQl0cF9pbnN0LmFtcG0gPSAnJzsKCQkJdHBfaW5zdC4kaW5wdXQgPSAkaW5wdXQ7CgoJCQlpZiAoby5hbHRGaWVsZCkgewoJCQkJdHBfaW5zdC4kYWx0SW5wdXQgPSAkKG8uYWx0RmllbGQpLmNzcyh7CgkJCQkJY3Vyc29yOiAncG9pbnRlcicKCQkJCX0pLmZvY3VzKGZ1bmN0aW9uKCkgewoJCQkJCSRpbnB1dC50cmlnZ2VyKCJmb2N1cyIpOwoJCQkJfSk7CgkJCX0KCgkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID09PSAwIHx8IHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID09PSAwKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUoKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9PT0gMCB8fCB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9PT0gMCkgewoJCQkJdHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSA9IG5ldyBEYXRlKCk7CgkJCX0KCgkJCS8vIGRhdGVwaWNrZXIgbmVlZHMgbWluRGF0ZS9tYXhEYXRlLCB0aW1lcGlja2VyIG5lZWRzIG1pbkRhdGVUaW1lL21heERhdGVUaW1lLi4KCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGUgIT09IHVuZGVmaW5lZCAmJiB0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlIGluc3RhbmNlb2YgRGF0ZSkgewoJCQkJdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgPSBuZXcgRGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlLmdldFRpbWUoKSk7CgkJCX0KCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lICE9PSB1bmRlZmluZWQgJiYgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5taW5EYXRlID0gbmV3IERhdGUodHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZVRpbWUuZ2V0VGltZSgpKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZSAhPT0gdW5kZWZpbmVkICYmIHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgaW5zdGFuY2VvZiBEYXRlKSB7CgkJCQl0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9IG5ldyBEYXRlKHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUuZ2V0VGltZSgpKTsKCQkJfQoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMubWF4RGF0ZVRpbWUgIT09IHVuZGVmaW5lZCAmJiB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSBpbnN0YW5jZW9mIERhdGUpIHsKCQkJCXRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgPSBuZXcgRGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZS5nZXRUaW1lKCkpOwoJCQl9CgkJCXRwX2luc3QuJGlucHV0LmJpbmQoJ2ZvY3VzJywgZnVuY3Rpb24oKSB7CgkJCQl0cF9pbnN0Ll9vbkZvY3VzKCk7CgkJCX0pOwoKCQkJcmV0dXJuIHRwX2luc3Q7CgkJfSwKCgkJLyoKCQkqIGFkZCBvdXIgc2xpZGVycyB0byB0aGUgY2FsZW5kYXIKCQkqLwoJCV9hZGRUaW1lUGlja2VyOiBmdW5jdGlvbihkcF9pbnN0KSB7CgkJCXZhciBjdXJyRFQgPSAodGhpcy4kYWx0SW5wdXQgJiYgdGhpcy5fZGVmYXVsdHMuYWx0RmllbGRUaW1lT25seSkgPyB0aGlzLiRpbnB1dC52YWwoKSArICcgJyArIHRoaXMuJGFsdElucHV0LnZhbCgpIDogdGhpcy4kaW5wdXQudmFsKCk7CgoJCQl0aGlzLnRpbWVEZWZpbmVkID0gdGhpcy5fcGFyc2VUaW1lKGN1cnJEVCk7CgkJCXRoaXMuX2xpbWl0TWluTWF4RGF0ZVRpbWUoZHBfaW5zdCwgZmFsc2UpOwoJCQl0aGlzLl9pbmplY3RUaW1lUGlja2VyKCk7CgkJfSwKCgkJLyoKCQkqIHBhcnNlIHRoZSB0aW1lIHN0cmluZyBmcm9tIGlucHV0IHZhbHVlIG9yIF9zZXRUaW1lCgkJKi8KCQlfcGFyc2VUaW1lOiBmdW5jdGlvbih0aW1lU3RyaW5nLCB3aXRoRGF0ZSkgewoJCQlpZiAoIXRoaXMuaW5zdCkgewoJCQkJdGhpcy5pbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0WzBdKTsKCQkJfQoKCQkJaWYgKHdpdGhEYXRlIHx8ICF0aGlzLl9kZWZhdWx0cy50aW1lT25seSkgewoJCQkJdmFyIGRwX2RhdGVGb3JtYXQgPSAkLmRhdGVwaWNrZXIuX2dldCh0aGlzLmluc3QsICdkYXRlRm9ybWF0Jyk7CgkJCQl0cnkgewoJCQkJCXZhciBwYXJzZVJlcyA9IHBhcnNlRGF0ZVRpbWVJbnRlcm5hbChkcF9kYXRlRm9ybWF0LCB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCAkLmRhdGVwaWNrZXIuX2dldEZvcm1hdENvbmZpZyh0aGlzLmluc3QpLCB0aGlzLl9kZWZhdWx0cyk7CgkJCQkJaWYgKCFwYXJzZVJlcy50aW1lT2JqKSB7CgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQl9CgkJCQkJJC5leHRlbmQodGhpcywgcGFyc2VSZXMudGltZU9iaik7CgkJCQl9IGNhdGNoIChlcnIpIHsKCQkJCQkkLmRhdGVwaWNrZXIubG9nKCJFcnJvciBwYXJzaW5nIHRoZSBkYXRlL3RpbWUgc3RyaW5nOiAiICsgZXJyICsKCQkJCQkJCQkJIlxuZGF0ZS90aW1lIHN0cmluZyA9ICIgKyB0aW1lU3RyaW5nICsKCQkJCQkJCQkJIlxudGltZUZvcm1hdCA9ICIgKyB0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0ICsKCQkJCQkJCQkJIlxuZGF0ZUZvcm1hdCA9ICIgKyBkcF9kYXRlRm9ybWF0KTsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfSBlbHNlIHsKCQkJCXZhciB0aW1lT2JqID0gJC5kYXRlcGlja2VyLnBhcnNlVGltZSh0aGlzLl9kZWZhdWx0cy50aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCB0aGlzLl9kZWZhdWx0cyk7CgkJCQlpZiAoIXRpbWVPYmopIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCQkkLmV4dGVuZCh0aGlzLCB0aW1lT2JqKTsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfSwKCgkJLyoKCQkqIGdlbmVyYXRlIGFuZCBpbmplY3QgaHRtbCBmb3IgdGltZXBpY2tlciBpbnRvIHVpIGRhdGVwaWNrZXIKCQkqLwoJCV9pbmplY3RUaW1lUGlja2VyOiBmdW5jdGlvbigpIHsKCQkJdmFyICRkcCA9IHRoaXMuaW5zdC5kcERpdiwKCQkJCW8gPSB0aGlzLmluc3Quc2V0dGluZ3MsCgkJCQl0cF9pbnN0ID0gdGhpcywKCQkJCWxpdGVtID0gJycsCgkJCQl1aXRlbSA9ICcnLAoJCQkJbWF4ID0ge30sCgkJCQlncmlkU2l6ZSA9IHt9LAoJCQkJc2l6ZSA9IG51bGw7CgoJCQkvLyBQcmV2ZW50IGRpc3BsYXlpbmcgdHdpY2UKCQkJaWYgKCRkcC5maW5kKCJkaXYudWktdGltZXBpY2tlci1kaXYiKS5sZW5ndGggPT09IDAgJiYgby5zaG93VGltZXBpY2tlcikgewoJCQkJdmFyIG5vRGlzcGxheSA9ICcgc3R5bGU9ImRpc3BsYXk6bm9uZTsiJywKCQkJCQlodG1sID0gJzxkaXYgY2xhc3M9InVpLXRpbWVwaWNrZXItZGl2JysgKG8uaXNSVEw/ICcgdWktdGltZXBpY2tlci1ydGwnIDogJycpICsnIj48ZGw+JyArICc8ZHQgY2xhc3M9InVpX3RwaWNrZXJfdGltZV9sYWJlbCInICsgKChvLnNob3dUaW1lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZVRleHQgKyAnPC9kdD4nICsgCgkJCQkJCQkJJzxkZCBjbGFzcz0idWlfdHBpY2tlcl90aW1lIicgKyAoKG8uc2hvd1RpbWUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQkJLy8gQ3JlYXRlIHRoZSBtYXJrdXAKCQkJCWZvcih2YXIgaT0wLGw9dGhpcy51bml0cy5sZW5ndGg7IGk8bDsgaSsrKXsKCQkJCQlsaXRlbSA9IHRoaXMudW5pdHNbaV07CgkJCQkJdWl0ZW0gPSBsaXRlbS5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpICsgbGl0ZW0uc3Vic3RyKDEpOwoJCQkJCS8vIEFkZGVkIGJ5IFBldGVyIE1lZGVpcm9zOgoJCQkJCS8vIC0gRmlndXJlIG91dCB3aGF0IHRoZSBob3VyL21pbnV0ZS9zZWNvbmQgbWF4IHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgc3RlcCB2YWx1ZXMuCgkJCQkJLy8gLSBFeGFtcGxlOiBpZiBzdGVwTWludXRlIGlzIDE1LCB0aGVuIG1pbk1heCBpcyA0NS4KCQkJCQltYXhbbGl0ZW1dID0gcGFyc2VJbnQoKG9bbGl0ZW0rJ01heCddIC0gKChvW2xpdGVtKydNYXgnXSAtIG9bbGl0ZW0rJ01pbiddKSAlIG9bJ3N0ZXAnK3VpdGVtXSkpLCAxMCk7CgkJCQkJZ3JpZFNpemVbbGl0ZW1dID0gMDsKCgkJCQkJaHRtbCArPSAnPGR0IGNsYXNzPSJ1aV90cGlja2VyXycrIGxpdGVtICsnX2xhYmVsIicgKyAoKG9bJ3Nob3cnK3VpdGVtXSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPicgKyBvW2xpdGVtICsnVGV4dCddICsgJzwvZHQ+JyArIAoJCQkJCQkJCSc8ZGQgY2xhc3M9InVpX3RwaWNrZXJfJysgbGl0ZW0gKyciPjxkaXYgY2xhc3M9InVpX3RwaWNrZXJfJysgbGl0ZW0gKydfc2xpZGVyIicgKyAoKG9bJ3Nob3cnK3VpdGVtXSkgPyAnJyA6IG5vRGlzcGxheSkgKyAnPjwvZGl2Pic7CgoJCQkJCWlmIChvWydzaG93Jyt1aXRlbV0gJiYgb1tsaXRlbSsnR3JpZCddID4gMCkgewoJCQkJCQlodG1sICs9ICc8ZGl2IHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDFweCI+PHRhYmxlIGNsYXNzPSJ1aS10cGlja2VyLWdyaWQtbGFiZWwiPjx0cj4nOwoKCQkJCQkJaWYobGl0ZW0gPT0gJ2hvdXInKXsKCQkJCQkJCWZvciAodmFyIGggPSBvW2xpdGVtKydNaW4nXTsgaCA8PSBtYXhbbGl0ZW1dOyBoICs9IHBhcnNlSW50KG9bbGl0ZW0rJ0dyaWQnXSwgMTApKSB7CgkJCQkJCQkJZ3JpZFNpemVbbGl0ZW1dKys7CgkJCQkJCQkJdmFyIHRtcGggPSAkLmRhdGVwaWNrZXIuZm9ybWF0VGltZSh1c2VBbXBtKG8ucGlja2VyVGltZUZvcm1hdCB8fCBvLnRpbWVGb3JtYXQpPyAnaGh0JzonSEgnLCB7aG91cjpofSwgbyk7CQkJCQkJCQkJCgkJCQkJCQkJaHRtbCArPSAnPHRkIGRhdGEtZm9yPSInK2xpdGVtKyciPicgKyB0bXBoICsgJzwvdGQ+JzsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQllbHNlewoJCQkJCQkJZm9yICh2YXIgbSA9IG9bbGl0ZW0rJ01pbiddOyBtIDw9IG1heFtsaXRlbV07IG0gKz0gcGFyc2VJbnQob1tsaXRlbSsnR3JpZCddLCAxMCkpIHsKCQkJCQkJCQlncmlkU2l6ZVtsaXRlbV0rKzsKCQkJCQkJCQlodG1sICs9ICc8dGQgZGF0YS1mb3I9IicrbGl0ZW0rJyI+JyArICgobSA8IDEwKSA/ICcwJyA6ICcnKSArIG0gKyAnPC90ZD4nOwoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQlodG1sICs9ICc8L3RyPjwvdGFibGU+PC9kaXY+JzsKCQkJCQl9CgkJCQkJaHRtbCArPSAnPC9kZD4nOwoJCQkJfQoJCQkJCgkJCQkvLyBUaW1lem9uZQoJCQkJaHRtbCArPSAnPGR0IGNsYXNzPSJ1aV90cGlja2VyX3RpbWV6b25lX2xhYmVsIicgKyAoKG8uc2hvd1RpbWV6b25lKSA/ICcnIDogbm9EaXNwbGF5KSArICc+JyArIG8udGltZXpvbmVUZXh0ICsgJzwvZHQ+JzsKCQkJCWh0bWwgKz0gJzxkZCBjbGFzcz0idWlfdHBpY2tlcl90aW1lem9uZSIgJyArICgoby5zaG93VGltZXpvbmUpID8gJycgOiBub0Rpc3BsYXkpICsgJz48L2RkPic7CgoJCQkJLy8gQ3JlYXRlIHRoZSBlbGVtZW50cyBmcm9tIHN0cmluZwoJCQkJaHRtbCArPSAnPC9kbD48L2Rpdj4nOwoJCQkJdmFyICR0cCA9ICQoaHRtbCk7CgoJCQkJLy8gaWYgd2Ugb25seSB3YW50IHRpbWUgcGlja2VyLi4uCgkJCQlpZiAoby50aW1lT25seSA9PT0gdHJ1ZSkgewoJCQkJCSR0cC5wcmVwZW5kKCc8ZGl2IGNsYXNzPSJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsIj4nICsgJzxkaXYgY2xhc3M9InVpLWRhdGVwaWNrZXItdGl0bGUiPicgKyBvLnRpbWVPbmx5VGl0bGUgKyAnPC9kaXY+JyArICc8L2Rpdj4nKTsKCQkJCQkkZHAuZmluZCgnLnVpLWRhdGVwaWNrZXItaGVhZGVyLCAudWktZGF0ZXBpY2tlci1jYWxlbmRhcicpLmhpZGUoKTsKCQkJCX0KCQkJCQoJCQkJLy8gYWRkIHNsaWRlcnMsIGFkanVzdCBncmlkcywgYWRkIGV2ZW50cwoJCQkJZm9yKHZhciBpPTAsbD10cF9pbnN0LnVuaXRzLmxlbmd0aDsgaTxsOyBpKyspewoJCQkJCWxpdGVtID0gdHBfaW5zdC51bml0c1tpXTsKCQkJCQl1aXRlbSA9IGxpdGVtLnN1YnN0cigwLDEpLnRvVXBwZXJDYXNlKCkgKyBsaXRlbS5zdWJzdHIoMSk7CgkJCQkJCgkJCQkJLy8gYWRkIHRoZSBzbGlkZXIKCQkJCQl0cF9pbnN0W2xpdGVtKydfc2xpZGVyJ10gPSB0cF9pbnN0LmNvbnRyb2wuY3JlYXRlKHRwX2luc3QsICR0cC5maW5kKCcudWlfdHBpY2tlcl8nK2xpdGVtKydfc2xpZGVyJyksIGxpdGVtLCB0cF9pbnN0W2xpdGVtXSwgb1tsaXRlbSsnTWluJ10sIG1heFtsaXRlbV0sIG9bJ3N0ZXAnK3VpdGVtXSk7CgoJCQkJCS8vIGFkanVzdCB0aGUgZ3JpZCBhbmQgYWRkIGNsaWNrIGV2ZW50CgkJCQkJaWYgKG9bJ3Nob3cnK3VpdGVtXSAmJiBvW2xpdGVtKydHcmlkJ10gPiAwKSB7CgkJCQkJCXNpemUgPSAxMDAgKiBncmlkU2l6ZVtsaXRlbV0gKiBvW2xpdGVtKydHcmlkJ10gLyAobWF4W2xpdGVtXSAtIG9bbGl0ZW0rJ01pbiddKTsKCQkJCQkJJHRwLmZpbmQoJy51aV90cGlja2VyXycrbGl0ZW0rJyB0YWJsZScpLmNzcyh7CgkJCQkJCQl3aWR0aDogc2l6ZSArICIlIiwKCQkJCQkJCW1hcmdpbkxlZnQ6IG8uaXNSVEw/ICcwJyA6ICgoc2l6ZSAvICgtMiAqIGdyaWRTaXplW2xpdGVtXSkpICsgIiUiKSwKCQkJCQkJCW1hcmdpblJpZ2h0OiBvLmlzUlRMPyAoKHNpemUgLyAoLTIgKiBncmlkU2l6ZVtsaXRlbV0pKSArICIlIikgOiAnMCcsCgkJCQkJCQlib3JkZXJDb2xsYXBzZTogJ2NvbGxhcHNlJwoJCQkJCQl9KS5maW5kKCJ0ZCIpLmNsaWNrKGZ1bmN0aW9uKGUpewoJCQkJCQkJCXZhciAkdCA9ICQodGhpcyksCgkJCQkJCQkJCWggPSAkdC5odG1sKCksCgkJCQkJCQkJCW4gPSBwYXJzZUludChoLnJlcGxhY2UoL1teMC05XS9nKSwxMCksCgkJCQkJCQkJCWFwID0gaC5yZXBsYWNlKC9bXmFwbV0vaWcpLAoJCQkJCQkJCQlmID0gJHQuZGF0YSgnZm9yJyk7IC8vIGxvc2VzIHNjb3BlLCBzbyB3ZSB1c2UgZGF0YS1mb3IKCgkJCQkJCQkJaWYoZiA9PSAnaG91cicpewoJCQkJCQkJCQlpZihhcC5pbmRleE9mKCdwJykgIT09IC0xICYmIG4gPCAxMil7CgkJCQkJCQkJCQluICs9IDEyOwoJCQkJCQkJCQl9CgkJCQkJCQkJCWVsc2V7CgkJCQkJCQkJCQlpZihhcC5pbmRleE9mKCdhJykgIT09IC0xICYmIG4gPT09IDEyKXsKCQkJCQkJCQkJCQluID0gMDsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJfQoJCQkJCQkJCX0KCQkJCQkJCQkKCQkJCQkJCQl0cF9pbnN0LmNvbnRyb2wudmFsdWUodHBfaW5zdCwgdHBfaW5zdFtmKydfc2xpZGVyJ10sIGxpdGVtLCBuKTsKCgkJCQkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJCQl9KQoJCQkJCQkuY3NzKHsKCQkJCQkJCQljdXJzb3I6ICdwb2ludGVyJywKCQkJCQkJCQl3aWR0aDogKDEwMCAvIGdyaWRTaXplW2xpdGVtXSkgKyAnJScsCgkJCQkJCQkJdGV4dEFsaWduOiAnY2VudGVyJywKCQkJCQkJCQlvdmVyZmxvdzogJ2hpZGRlbicKCQkJCQkJCX0pOwoJCQkJCX0gLy8gZW5kIGlmIGdyaWQgPiAwCgkJCQl9IC8vIGVuZCBmb3IgbG9vcAoKCQkJCS8vIEFkZCB0aW1lem9uZSBvcHRpb25zCgkJCQl0aGlzLnRpbWV6b25lX3NlbGVjdCA9ICR0cC5maW5kKCcudWlfdHBpY2tlcl90aW1lem9uZScpLmFwcGVuZCgnPHNlbGVjdD48L3NlbGVjdD4nKS5maW5kKCJzZWxlY3QiKTsKCQkJCSQuZm4uYXBwZW5kLmFwcGx5KHRoaXMudGltZXpvbmVfc2VsZWN0LAoJCQkJJC5tYXAoby50aW1lem9uZUxpc3QsIGZ1bmN0aW9uKHZhbCwgaWR4KSB7CgkJCQkJcmV0dXJuICQoIjxvcHRpb24gLz4iKS52YWwodHlwZW9mIHZhbCA9PSAib2JqZWN0IiA/IHZhbC52YWx1ZSA6IHZhbCkudGV4dCh0eXBlb2YgdmFsID09ICJvYmplY3QiID8gdmFsLmxhYmVsIDogdmFsKTsKCQkJCX0pKTsKCQkJCWlmICh0eXBlb2YodGhpcy50aW1lem9uZSkgIT0gInVuZGVmaW5lZCIgJiYgdGhpcy50aW1lem9uZSAhPT0gbnVsbCAmJiB0aGlzLnRpbWV6b25lICE9PSAiIikgewoJCQkJCXZhciBsb2NhbF9kYXRlID0gbmV3IERhdGUodGhpcy5pbnN0LnNlbGVjdGVkWWVhciwgdGhpcy5pbnN0LnNlbGVjdGVkTW9udGgsIHRoaXMuaW5zdC5zZWxlY3RlZERheSwgMTIpOwoJCQkJCXZhciBsb2NhbF90aW1lem9uZSA9ICQudGltZXBpY2tlci50aW1lWm9uZU9mZnNldFN0cmluZyhsb2NhbF9kYXRlKTsKCQkJCQlpZiAobG9jYWxfdGltZXpvbmUgPT0gdGhpcy50aW1lem9uZSkgewoJCQkJCQlzZWxlY3RMb2NhbFRpbWVab25lKHRwX2luc3QpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMudGltZXpvbmVfc2VsZWN0LnZhbCh0aGlzLnRpbWV6b25lKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWlmICh0eXBlb2YodGhpcy5ob3VyKSAhPSAidW5kZWZpbmVkIiAmJiB0aGlzLmhvdXIgIT09IG51bGwgJiYgdGhpcy5ob3VyICE9PSAiIikgewoJCQkJCQl0aGlzLnRpbWV6b25lX3NlbGVjdC52YWwoby5kZWZhdWx0VGltZXpvbmUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNlbGVjdExvY2FsVGltZVpvbmUodHBfaW5zdCk7CgkJCQkJfQoJCQkJfQoJCQkJdGhpcy50aW1lem9uZV9zZWxlY3QuY2hhbmdlKGZ1bmN0aW9uKCkgewoJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnVzZUxvY2FsVGltZXpvbmUgPSBmYWxzZTsKCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCX0pOwoJCQkJLy8gRW5kIHRpbWV6b25lIG9wdGlvbnMKCQkJCQoJCQkJLy8gaW5qZWN0IHRpbWVwaWNrZXIgaW50byBkYXRlcGlja2VyCgkJCQl2YXIgJGJ1dHRvblBhbmVsID0gJGRwLmZpbmQoJy51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUnKTsKCQkJCWlmICgkYnV0dG9uUGFuZWwubGVuZ3RoKSB7CgkJCQkJJGJ1dHRvblBhbmVsLmJlZm9yZSgkdHApOwoJCQkJfSBlbHNlIHsKCQkJCQkkZHAuYXBwZW5kKCR0cCk7CgkJCQl9CgoJCQkJdGhpcy4kdGltZU9iaiA9ICR0cC5maW5kKCcudWlfdHBpY2tlcl90aW1lJyk7CgoJCQkJaWYgKHRoaXMuaW5zdCAhPT0gbnVsbCkgewoJCQkJCXZhciB0aW1lRGVmaW5lZCA9IHRoaXMudGltZURlZmluZWQ7CgkJCQkJdGhpcy5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJdGhpcy50aW1lRGVmaW5lZCA9IHRpbWVEZWZpbmVkOwoJCQkJfQoKCQkJCS8vIHNsaWRlQWNjZXNzIGludGVncmF0aW9uOiBodHRwOi8vdHJlbnRyaWNoYXJkc29uLmNvbS8yMDExLzExLzExL2pxdWVyeS11aS1zbGlkZXJzLWFuZC10b3VjaC1hY2Nlc3NpYmlsaXR5LwoJCQkJaWYgKHRoaXMuX2RlZmF1bHRzLmFkZFNsaWRlckFjY2VzcykgewoJCQkJCXZhciBzbGlkZXJBY2Nlc3NBcmdzID0gdGhpcy5fZGVmYXVsdHMuc2xpZGVyQWNjZXNzQXJncywKCQkJCQkJcnRsID0gdGhpcy5fZGVmYXVsdHMuaXNSVEw7CgkJCQkJc2xpZGVyQWNjZXNzQXJncy5pc1JUTCA9IHJ0bDsKCQkJCQkJCgkJCQkJc2V0VGltZW91dChmdW5jdGlvbigpIHsgLy8gZml4IGZvciBpbmxpbmUgbW9kZQoJCQkJCQlpZiAoJHRwLmZpbmQoJy51aS1zbGlkZXItYWNjZXNzJykubGVuZ3RoID09PSAwKSB7CgkJCQkJCQkkdHAuZmluZCgnLnVpLXNsaWRlcjp2aXNpYmxlJykuc2xpZGVyQWNjZXNzKHNsaWRlckFjY2Vzc0FyZ3MpOwoKCQkJCQkJCS8vIGZpeCBhbnkgZ3JpZHMgc2luY2Ugc2xpZGVycyBhcmUgc2hvcnRlcgoJCQkJCQkJdmFyIHNsaWRlckFjY2Vzc1dpZHRoID0gJHRwLmZpbmQoJy51aS1zbGlkZXItYWNjZXNzOmVxKDApJykub3V0ZXJXaWR0aCh0cnVlKTsKCQkJCQkJCWlmIChzbGlkZXJBY2Nlc3NXaWR0aCkgewoJCQkJCQkJCSR0cC5maW5kKCd0YWJsZTp2aXNpYmxlJykuZWFjaChmdW5jdGlvbigpIHsKCQkJCQkJCQkJdmFyICRnID0gJCh0aGlzKSwKCQkJCQkJCQkJCW9sZFdpZHRoID0gJGcub3V0ZXJXaWR0aCgpLAoJCQkJCQkJCQkJb2xkTWFyZ2luTGVmdCA9ICRnLmNzcyhydGw/ICdtYXJnaW5SaWdodCc6J21hcmdpbkxlZnQnKS50b1N0cmluZygpLnJlcGxhY2UoJyUnLCAnJyksCgkJCQkJCQkJCQluZXdXaWR0aCA9IG9sZFdpZHRoIC0gc2xpZGVyQWNjZXNzV2lkdGgsCgkJCQkJCQkJCQluZXdNYXJnaW5MZWZ0ID0gKChvbGRNYXJnaW5MZWZ0ICogbmV3V2lkdGgpIC8gb2xkV2lkdGgpICsgJyUnLAoJCQkJCQkJCQkJY3NzID0geyB3aWR0aDogbmV3V2lkdGgsIG1hcmdpblJpZ2h0OiAwLCBtYXJnaW5MZWZ0OiAwIH07CgkJCQkJCQkJCWNzc1tydGw/ICdtYXJnaW5SaWdodCc6J21hcmdpbkxlZnQnXSA9IG5ld01hcmdpbkxlZnQ7CgkJCQkJCQkJCSRnLmNzcyhjc3MpOwoJCQkJCQkJCX0pOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSwgMTApOwoJCQkJfQoJCQkJLy8gZW5kIHNsaWRlQWNjZXNzIGludGVncmF0aW9uCgoJCQl9CgkJfSwKCgkJLyoKCQkqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gbGltaXQgdGhlIGFiaWxpdHkgdG8gZ28gb3V0c2lkZSB0aGUKCQkqIG1pbi9tYXggZGF0ZSByYW5nZQoJCSovCgkJX2xpbWl0TWluTWF4RGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QsIGFkanVzdFNsaWRlcnMpIHsKCQkJdmFyIG8gPSB0aGlzLl9kZWZhdWx0cywKCQkJCWRwX2RhdGUgPSBuZXcgRGF0ZShkcF9pbnN0LnNlbGVjdGVkWWVhciwgZHBfaW5zdC5zZWxlY3RlZE1vbnRoLCBkcF9pbnN0LnNlbGVjdGVkRGF5KTsKCgkJCWlmICghdGhpcy5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIpIHsKCQkJCXJldHVybjsKCQkJfSAvLyBObyB0aW1lIHNvIG5vdGhpbmcgdG8gY2hlY2sgaGVyZQoKCQkJaWYgKCQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICdtaW5EYXRlVGltZScpICE9PSBudWxsICYmICQuZGF0ZXBpY2tlci5fZ2V0KGRwX2luc3QsICdtaW5EYXRlVGltZScpICE9PSB1bmRlZmluZWQgJiYgZHBfZGF0ZSkgewoJCQkJdmFyIG1pbkRhdGVUaW1lID0gJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21pbkRhdGVUaW1lJyksCgkJCQkJbWluRGF0ZVRpbWVEYXRlID0gbmV3IERhdGUobWluRGF0ZVRpbWUuZ2V0RnVsbFllYXIoKSwgbWluRGF0ZVRpbWUuZ2V0TW9udGgoKSwgbWluRGF0ZVRpbWUuZ2V0RGF0ZSgpLCAwLCAwLCAwLCAwKTsKCgkJCQlpZiAodGhpcy5ob3VyTWluT3JpZ2luYWwgPT09IG51bGwgfHwgdGhpcy5taW51dGVNaW5PcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLnNlY29uZE1pbk9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMubWlsbGlzZWNNaW5PcmlnaW5hbCA9PT0gbnVsbCkgewoJCQkJCXRoaXMuaG91ck1pbk9yaWdpbmFsID0gby5ob3VyTWluOwoJCQkJCXRoaXMubWludXRlTWluT3JpZ2luYWwgPSBvLm1pbnV0ZU1pbjsKCQkJCQl0aGlzLnNlY29uZE1pbk9yaWdpbmFsID0gby5zZWNvbmRNaW47CgkJCQkJdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsID0gby5taWxsaXNlY01pbjsKCQkJCX0KCgkJCQlpZiAoZHBfaW5zdC5zZXR0aW5ncy50aW1lT25seSB8fCBtaW5EYXRlVGltZURhdGUuZ2V0VGltZSgpID09IGRwX2RhdGUuZ2V0VGltZSgpKSB7CgkJCQkJdGhpcy5fZGVmYXVsdHMuaG91ck1pbiA9IG1pbkRhdGVUaW1lLmdldEhvdXJzKCk7CgkJCQkJaWYgKHRoaXMuaG91ciA8PSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSB7CgkJCQkJCXRoaXMuaG91ciA9IHRoaXMuX2RlZmF1bHRzLmhvdXJNaW47CgkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbiA9IG1pbkRhdGVUaW1lLmdldE1pbnV0ZXMoKTsKCQkJCQkJaWYgKHRoaXMubWludXRlIDw9IHRoaXMuX2RlZmF1bHRzLm1pbnV0ZU1pbikgewoJCQkJCQkJdGhpcy5taW51dGUgPSB0aGlzLl9kZWZhdWx0cy5taW51dGVNaW47CgkJCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCk7CgkJCQkJCQlpZiAodGhpcy5zZWNvbmQgPD0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluKSB7CgkJCQkJCQkJdGhpcy5zZWNvbmQgPSB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW47CgkJCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSBtaW5EYXRlVGltZS5nZXRNaWxsaXNlY29uZHMoKTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJaWYgKHRoaXMubWlsbGlzZWMgPCB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01pbikgewoJCQkJCQkJCQl0aGlzLm1pbGxpc2VjID0gdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW47CgkJCQkJCQkJfQoJCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gdGhpcy5zZWNvbmRNaW5PcmlnaW5hbDsKCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluID0gdGhpcy5zZWNvbmRNaW5PcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNaW4gPSB0aGlzLm1pbGxpc2VjTWluT3JpZ2luYWw7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWluID0gdGhpcy5ob3VyTWluT3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWluID0gdGhpcy5taW51dGVNaW5PcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4gPSB0aGlzLnNlY29uZE1pbk9yaWdpbmFsOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluID0gdGhpcy5taWxsaXNlY01pbk9yaWdpbmFsOwoJCQkJfQoJCQl9CgoJCQlpZiAoJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21heERhdGVUaW1lJykgIT09IG51bGwgJiYgJC5kYXRlcGlja2VyLl9nZXQoZHBfaW5zdCwgJ21heERhdGVUaW1lJykgIT09IHVuZGVmaW5lZCAmJiBkcF9kYXRlKSB7CgkJCQl2YXIgbWF4RGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnbWF4RGF0ZVRpbWUnKSwKCQkJCQltYXhEYXRlVGltZURhdGUgPSBuZXcgRGF0ZShtYXhEYXRlVGltZS5nZXRGdWxsWWVhcigpLCBtYXhEYXRlVGltZS5nZXRNb250aCgpLCBtYXhEYXRlVGltZS5nZXREYXRlKCksIDAsIDAsIDAsIDApOwoKCQkJCWlmICh0aGlzLmhvdXJNYXhPcmlnaW5hbCA9PT0gbnVsbCB8fCB0aGlzLm1pbnV0ZU1heE9yaWdpbmFsID09PSBudWxsIHx8IHRoaXMuc2Vjb25kTWF4T3JpZ2luYWwgPT09IG51bGwpIHsKCQkJCQl0aGlzLmhvdXJNYXhPcmlnaW5hbCA9IG8uaG91ck1heDsKCQkJCQl0aGlzLm1pbnV0ZU1heE9yaWdpbmFsID0gby5taW51dGVNYXg7CgkJCQkJdGhpcy5zZWNvbmRNYXhPcmlnaW5hbCA9IG8uc2Vjb25kTWF4OwoJCQkJCXRoaXMubWlsbGlzZWNNYXhPcmlnaW5hbCA9IG8ubWlsbGlzZWNNYXg7CgkJCQl9CgoJCQkJaWYgKGRwX2luc3Quc2V0dGluZ3MudGltZU9ubHkgfHwgbWF4RGF0ZVRpbWVEYXRlLmdldFRpbWUoKSA9PSBkcF9kYXRlLmdldFRpbWUoKSkgewoJCQkJCXRoaXMuX2RlZmF1bHRzLmhvdXJNYXggPSBtYXhEYXRlVGltZS5nZXRIb3VycygpOwoJCQkJCWlmICh0aGlzLmhvdXIgPj0gdGhpcy5fZGVmYXVsdHMuaG91ck1heCkgewoJCQkJCQl0aGlzLmhvdXIgPSB0aGlzLl9kZWZhdWx0cy5ob3VyTWF4OwoJCQkJCQl0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggPSBtYXhEYXRlVGltZS5nZXRNaW51dGVzKCk7CgkJCQkJCWlmICh0aGlzLm1pbnV0ZSA+PSB0aGlzLl9kZWZhdWx0cy5taW51dGVNYXgpIHsKCQkJCQkJCXRoaXMubWludXRlID0gdGhpcy5fZGVmYXVsdHMubWludXRlTWF4OwoJCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gbWF4RGF0ZVRpbWUuZ2V0U2Vjb25kcygpOwoJCQkJCQl9IGVsc2UgaWYgKHRoaXMuc2Vjb25kID49IHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heCkgewoJCQkJCQkJdGhpcy5zZWNvbmQgPSB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXg7CgkJCQkJCQl0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCA9IG1heERhdGVUaW1lLmdldE1pbGxpc2Vjb25kcygpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJaWYgKHRoaXMubWlsbGlzZWMgPiB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCkgewoJCQkJCQkJCXRoaXMubWlsbGlzZWMgPSB0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heDsKCQkJCQkJCX0KCQkJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gdGhpcy5taWxsaXNlY01heE9yaWdpbmFsOwoJCQkJCQl9CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWF4ID0gdGhpcy5taW51dGVNYXhPcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4ID0gdGhpcy5zZWNvbmRNYXhPcmlnaW5hbDsKCQkJCQkJdGhpcy5fZGVmYXVsdHMubWlsbGlzZWNNYXggPSB0aGlzLm1pbGxpc2VjTWF4T3JpZ2luYWw7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLl9kZWZhdWx0cy5ob3VyTWF4ID0gdGhpcy5ob3VyTWF4T3JpZ2luYWw7CgkJCQkJdGhpcy5fZGVmYXVsdHMubWludXRlTWF4ID0gdGhpcy5taW51dGVNYXhPcmlnaW5hbDsKCQkJCQl0aGlzLl9kZWZhdWx0cy5zZWNvbmRNYXggPSB0aGlzLnNlY29uZE1heE9yaWdpbmFsOwoJCQkJCXRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4ID0gdGhpcy5taWxsaXNlY01heE9yaWdpbmFsOwoJCQkJfQoJCQl9CgoJCQlpZiAoYWRqdXN0U2xpZGVycyAhPT0gdW5kZWZpbmVkICYmIGFkanVzdFNsaWRlcnMgPT09IHRydWUpIHsKCQkJCXZhciBob3VyTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSAoKHRoaXMuX2RlZmF1bHRzLmhvdXJNYXggLSB0aGlzLl9kZWZhdWx0cy5ob3VyTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBIb3VyKSksIDEwKSwKCQkJCQltaW5NYXggPSBwYXJzZUludCgodGhpcy5fZGVmYXVsdHMubWludXRlTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5taW51dGVNYXggLSB0aGlzLl9kZWZhdWx0cy5taW51dGVNaW4pICUgdGhpcy5fZGVmYXVsdHMuc3RlcE1pbnV0ZSkpLCAxMCksCgkJCQkJc2VjTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLnNlY29uZE1heCAtICgodGhpcy5fZGVmYXVsdHMuc2Vjb25kTWF4IC0gdGhpcy5fZGVmYXVsdHMuc2Vjb25kTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBTZWNvbmQpKSwgMTApLAoJCQkJCW1pbGxpc2VjTWF4ID0gcGFyc2VJbnQoKHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWF4IC0gKCh0aGlzLl9kZWZhdWx0cy5taWxsaXNlY01heCAtIHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluKSAlIHRoaXMuX2RlZmF1bHRzLnN0ZXBNaWxsaXNlYykpLCAxMCk7CgoJCQkJaWYgKHRoaXMuaG91cl9zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLmhvdXJfc2xpZGVyLCAnaG91cicsIHsgbWluOiB0aGlzLl9kZWZhdWx0cy5ob3VyTWluLCBtYXg6IGhvdXJNYXggfSk7CgkJCQkJdGhpcy5jb250cm9sLnZhbHVlKHRoaXMsIHRoaXMuaG91cl9zbGlkZXIsICdob3VyJywgdGhpcy5ob3VyKTsKCQkJCX0KCQkJCWlmICh0aGlzLm1pbnV0ZV9zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLm1pbnV0ZV9zbGlkZXIsICdtaW51dGUnLCB7IG1pbjogdGhpcy5fZGVmYXVsdHMubWludXRlTWluLCBtYXg6IG1pbk1heCB9KTsKCQkJCQl0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taW51dGVfc2xpZGVyLCAnbWludXRlJywgdGhpcy5taW51dGUpOwoJCQkJfQoJCQkJaWYgKHRoaXMuc2Vjb25kX3NsaWRlcikgewoJCQkJCXRoaXMuY29udHJvbC5vcHRpb25zKHRoaXMsIHRoaXMuc2Vjb25kX3NsaWRlciwgJ3NlY29uZCcsIHsgbWluOiB0aGlzLl9kZWZhdWx0cy5zZWNvbmRNaW4sIG1heDogc2VjTWF4IH0pOwoJCQkJCXRoaXMuY29udHJvbC52YWx1ZSh0aGlzLCB0aGlzLnNlY29uZF9zbGlkZXIsICdzZWNvbmQnLCB0aGlzLnNlY29uZCk7CgkJCQl9CgkJCQlpZiAodGhpcy5taWxsaXNlY19zbGlkZXIpIHsKCQkJCQl0aGlzLmNvbnRyb2wub3B0aW9ucyh0aGlzLCB0aGlzLm1pbGxpc2VjX3NsaWRlciwgJ21pbGxpc2VjJywgeyBtaW46IHRoaXMuX2RlZmF1bHRzLm1pbGxpc2VjTWluLCBtYXg6IG1pbGxpc2VjTWF4IH0pOwoJCQkJCXRoaXMuY29udHJvbC52YWx1ZSh0aGlzLCB0aGlzLm1pbGxpc2VjX3NsaWRlciwgJ21pbGxpc2VjJywgdGhpcy5taWxsaXNlYyk7CgkJCQl9CgkJCX0KCgkJfSwKCgkJLyoKCQkqIHdoZW4gYSBzbGlkZXIgbW92ZXMsIHNldCB0aGUgaW50ZXJuYWwgdGltZS4uLgoJCSogb24gdGltZSBjaGFuZ2UgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgdGltZSBpcyB1cGRhdGVkIGluIHRoZSB0ZXh0IGZpZWxkCgkJKi8KCQlfb25UaW1lQ2hhbmdlOiBmdW5jdGlvbigpIHsKCQkJdmFyIGhvdXIgPSAodGhpcy5ob3VyX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5ob3VyX3NsaWRlciwgJ2hvdXInKSA6IGZhbHNlLAoJCQkJbWludXRlID0gKHRoaXMubWludXRlX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taW51dGVfc2xpZGVyLCAnbWludXRlJykgOiBmYWxzZSwKCQkJCXNlY29uZCA9ICh0aGlzLnNlY29uZF9zbGlkZXIpID8gdGhpcy5jb250cm9sLnZhbHVlKHRoaXMsIHRoaXMuc2Vjb25kX3NsaWRlciwgJ3NlY29uZCcpIDogZmFsc2UsCgkJCQltaWxsaXNlYyA9ICh0aGlzLm1pbGxpc2VjX3NsaWRlcikgPyB0aGlzLmNvbnRyb2wudmFsdWUodGhpcywgdGhpcy5taWxsaXNlY19zbGlkZXIsICdtaWxsaXNlYycpIDogZmFsc2UsCgkJCQl0aW1lem9uZSA9ICh0aGlzLnRpbWV6b25lX3NlbGVjdCkgPyB0aGlzLnRpbWV6b25lX3NlbGVjdC52YWwoKSA6IGZhbHNlLAoJCQkJbyA9IHRoaXMuX2RlZmF1bHRzLAoJCQkJcGlja2VyVGltZUZvcm1hdCA9IG8ucGlja2VyVGltZUZvcm1hdCB8fCBvLnRpbWVGb3JtYXQsCgkJCQlwaWNrZXJUaW1lU3VmZml4ID0gby5waWNrZXJUaW1lU3VmZml4IHx8IG8udGltZVN1ZmZpeDsKCgkJCWlmICh0eXBlb2YoaG91cikgPT0gJ29iamVjdCcpIHsKCQkJCWhvdXIgPSBmYWxzZTsKCQkJfQoJCQlpZiAodHlwZW9mKG1pbnV0ZSkgPT0gJ29iamVjdCcpIHsKCQkJCW1pbnV0ZSA9IGZhbHNlOwoJCQl9CgkJCWlmICh0eXBlb2Yoc2Vjb25kKSA9PSAnb2JqZWN0JykgewoJCQkJc2Vjb25kID0gZmFsc2U7CgkJCX0KCQkJaWYgKHR5cGVvZihtaWxsaXNlYykgPT0gJ29iamVjdCcpIHsKCQkJCW1pbGxpc2VjID0gZmFsc2U7CgkJCX0KCQkJaWYgKHR5cGVvZih0aW1lem9uZSkgPT0gJ29iamVjdCcpIHsKCQkJCXRpbWV6b25lID0gZmFsc2U7CgkJCX0KCgkJCWlmIChob3VyICE9PSBmYWxzZSkgewoJCQkJaG91ciA9IHBhcnNlSW50KGhvdXIsIDEwKTsKCQkJfQoJCQlpZiAobWludXRlICE9PSBmYWxzZSkgewoJCQkJbWludXRlID0gcGFyc2VJbnQobWludXRlLCAxMCk7CgkJCX0KCQkJaWYgKHNlY29uZCAhPT0gZmFsc2UpIHsKCQkJCXNlY29uZCA9IHBhcnNlSW50KHNlY29uZCwgMTApOwoJCQl9CgkJCWlmIChtaWxsaXNlYyAhPT0gZmFsc2UpIHsKCQkJCW1pbGxpc2VjID0gcGFyc2VJbnQobWlsbGlzZWMsIDEwKTsKCQkJfQoKCQkJdmFyIGFtcG0gPSBvW2hvdXIgPCAxMiA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07CgoJCQkvLyBJZiB0aGUgdXBkYXRlIHdhcyBkb25lIGluIHRoZSBpbnB1dCBmaWVsZCwgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBub3QgYmUgdXBkYXRlZC4KCQkJLy8gSWYgdGhlIHVwZGF0ZSB3YXMgZG9uZSB1c2luZyB0aGUgc2xpZGVycywgdXBkYXRlIHRoZSBpbnB1dCBmaWVsZC4KCQkJdmFyIGhhc0NoYW5nZWQgPSAoaG91ciAhPSB0aGlzLmhvdXIgfHwgbWludXRlICE9IHRoaXMubWludXRlIHx8IHNlY29uZCAhPSB0aGlzLnNlY29uZCB8fCBtaWxsaXNlYyAhPSB0aGlzLm1pbGxpc2VjIAoJCQkJCQkJCXx8ICh0aGlzLmFtcG0ubGVuZ3RoID4gMCAmJiAoaG91ciA8IDEyKSAhPSAoJC5pbkFycmF5KHRoaXMuYW1wbS50b1VwcGVyQ2FzZSgpLCB0aGlzLmFtTmFtZXMpICE9PSAtMSkpIAoJCQkJCQkJCXx8ICgodGhpcy50aW1lem9uZSA9PT0gbnVsbCAmJiB0aW1lem9uZSAhPSB0aGlzLmRlZmF1bHRUaW1lem9uZSkgfHwgKHRoaXMudGltZXpvbmUgIT09IG51bGwgJiYgdGltZXpvbmUgIT0gdGhpcy50aW1lem9uZSkpKTsKCgkJCWlmIChoYXNDaGFuZ2VkKSB7CgoJCQkJaWYgKGhvdXIgIT09IGZhbHNlKSB7CgkJCQkJdGhpcy5ob3VyID0gaG91cjsKCQkJCX0KCQkJCWlmIChtaW51dGUgIT09IGZhbHNlKSB7CgkJCQkJdGhpcy5taW51dGUgPSBtaW51dGU7CgkJCQl9CgkJCQlpZiAoc2Vjb25kICE9PSBmYWxzZSkgewoJCQkJCXRoaXMuc2Vjb25kID0gc2Vjb25kOwoJCQkJfQoJCQkJaWYgKG1pbGxpc2VjICE9PSBmYWxzZSkgewoJCQkJCXRoaXMubWlsbGlzZWMgPSBtaWxsaXNlYzsKCQkJCX0KCQkJCWlmICh0aW1lem9uZSAhPT0gZmFsc2UpIHsKCQkJCQl0aGlzLnRpbWV6b25lID0gdGltZXpvbmU7CgkJCQl9CgoJCQkJaWYgKCF0aGlzLmluc3QpIHsKCQkJCQl0aGlzLmluc3QgPSAkLmRhdGVwaWNrZXIuX2dldEluc3QodGhpcy4kaW5wdXRbMF0pOwoJCQkJfQoKCQkJCXRoaXMuX2xpbWl0TWluTWF4RGF0ZVRpbWUodGhpcy5pbnN0LCB0cnVlKTsKCQkJfQoJCQlpZiAodXNlQW1wbShvLnRpbWVGb3JtYXQpKSB7CgkJCQl0aGlzLmFtcG0gPSBhbXBtOwoJCQl9CgoJCQkvLyBVcGRhdGVzIHRoZSB0aW1lIHdpdGhpbiB0aGUgdGltZXBpY2tlcgoJCQl0aGlzLmZvcm1hdHRlZFRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0VGltZShvLnRpbWVGb3JtYXQsIHRoaXMsIG8pOwoJCQlpZiAodGhpcy4kdGltZU9iaikgewoJCQkJaWYocGlja2VyVGltZUZvcm1hdCA9PT0gby50aW1lRm9ybWF0KXsKCQkJCQl0aGlzLiR0aW1lT2JqLnRleHQodGhpcy5mb3JtYXR0ZWRUaW1lICsgcGlja2VyVGltZVN1ZmZpeCk7CgkJCQl9CgkJCQllbHNlewoJCQkJCXRoaXMuJHRpbWVPYmoudGV4dCgkLmRhdGVwaWNrZXIuZm9ybWF0VGltZShwaWNrZXJUaW1lRm9ybWF0LCB0aGlzLCBvKSArIHBpY2tlclRpbWVTdWZmaXgpOwoJCQkJfQoJCQl9CgoJCQl0aGlzLnRpbWVEZWZpbmVkID0gdHJ1ZTsKCQkJaWYgKGhhc0NoYW5nZWQpIHsKCQkJCXRoaXMuX3VwZGF0ZURhdGVUaW1lKCk7CgkJCX0KCQl9LAoKCQkvKgoJCSogY2FsbCBjdXN0b20gb25TZWxlY3QuCgkJKiBiaW5kIHRvIHNsaWRlcnMgc2xpZGVzdG9wLCBhbmQgZ3JpZCBjbGljay4KCQkqLwoJCV9vblNlbGVjdEhhbmRsZXI6IGZ1bmN0aW9uKCkgewoJCQl2YXIgb25TZWxlY3QgPSB0aGlzLl9kZWZhdWx0cy5vblNlbGVjdCB8fCB0aGlzLmluc3Quc2V0dGluZ3Mub25TZWxlY3Q7CgkJCXZhciBpbnB1dEVsID0gdGhpcy4kaW5wdXQgPyB0aGlzLiRpbnB1dFswXSA6IG51bGw7CgkJCWlmIChvblNlbGVjdCAmJiBpbnB1dEVsKSB7CgkJCQlvblNlbGVjdC5hcHBseShpbnB1dEVsLCBbdGhpcy5mb3JtYXR0ZWREYXRlVGltZSwgdGhpc10pOwoJCQl9CgkJfSwKCgkJLyoKCQkqIHVwZGF0ZSBvdXIgaW5wdXQgd2l0aCB0aGUgbmV3IGRhdGUgdGltZS4uCgkJKi8KCQlfdXBkYXRlRGF0ZVRpbWU6IGZ1bmN0aW9uKGRwX2luc3QpIHsKCQkJZHBfaW5zdCA9IHRoaXMuaW5zdCB8fCBkcF9pbnN0OwoJCQl2YXIgZHQgPSAkLmRhdGVwaWNrZXIuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGRwX2luc3Quc2VsZWN0ZWRZZWFyLCBkcF9pbnN0LnNlbGVjdGVkTW9udGgsIGRwX2luc3Quc2VsZWN0ZWREYXkpKSwKCQkJCWRhdGVGbXQgPSAkLmRhdGVwaWNrZXIuX2dldChkcF9pbnN0LCAnZGF0ZUZvcm1hdCcpLAoJCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoZHBfaW5zdCksCgkJCQl0aW1lQXZhaWxhYmxlID0gZHQgIT09IG51bGwgJiYgdGhpcy50aW1lRGVmaW5lZDsKCQkJdGhpcy5mb3JtYXR0ZWREYXRlID0gJC5kYXRlcGlja2VyLmZvcm1hdERhdGUoZGF0ZUZtdCwgKGR0ID09PSBudWxsID8gbmV3IERhdGUoKSA6IGR0KSwgZm9ybWF0Q2ZnKTsKCQkJdmFyIGZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoKCQkJLyoKCQkJKiByZW1vdmUgZm9sbG93aW5nIGxpbmVzIHRvIGZvcmNlIGV2ZXJ5IGNoYW5nZXMgaW4gZGF0ZSBwaWNrZXIgdG8gY2hhbmdlIHRoZSBpbnB1dCB2YWx1ZQoJCQkqIEJ1ZyBkZXNjcmlwdGlvbnM6IHdoZW4gYW4gaW5wdXQgZmllbGQgaGFzIGEgZGVmYXVsdCB2YWx1ZSwgYW5kIGNsaWNrIG9uIHRoZSBmaWVsZCB0byBwb3AgdXAgdGhlIGRhdGUgcGlja2VyLiAKCQkJKiBJZiB0aGUgdXNlciBtYW51YWxseSBlbXB0eSB0aGUgdmFsdWUgaW4gdGhlIGlucHV0IGZpZWxkLCB0aGUgZGF0ZSBwaWNrZXIgd2lsbCBuZXZlciBjaGFuZ2Ugc2VsZWN0ZWQgdmFsdWUuCgkJCSovCgkJCS8vaWYgKGRwX2luc3QubGFzdFZhbCAhPT0gdW5kZWZpbmVkICYmIChkcF9pbnN0Lmxhc3RWYWwubGVuZ3RoID4gMCAmJiB0aGlzLiRpbnB1dC52YWwoKS5sZW5ndGggPT09IDApKSB7CgkJCS8vCXJldHVybjsKCQkJLy99CgoJCQlpZiAodGhpcy5fZGVmYXVsdHMudGltZU9ubHkgPT09IHRydWUpIHsKCQkJCWZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWRUaW1lOwoJCQl9IGVsc2UgaWYgKHRoaXMuX2RlZmF1bHRzLnRpbWVPbmx5ICE9PSB0cnVlICYmICh0aGlzLl9kZWZhdWx0cy5hbHdheXNTZXRUaW1lIHx8IHRpbWVBdmFpbGFibGUpKSB7CgkJCQlmb3JtYXR0ZWREYXRlVGltZSArPSB0aGlzLl9kZWZhdWx0cy5zZXBhcmF0b3IgKyB0aGlzLmZvcm1hdHRlZFRpbWUgKyB0aGlzLl9kZWZhdWx0cy50aW1lU3VmZml4OwoJCQl9CgoJCQl0aGlzLmZvcm1hdHRlZERhdGVUaW1lID0gZm9ybWF0dGVkRGF0ZVRpbWU7CgoJCQlpZiAoIXRoaXMuX2RlZmF1bHRzLnNob3dUaW1lcGlja2VyKSB7CgkJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5mb3JtYXR0ZWREYXRlKTsKCQkJfSBlbHNlIGlmICh0aGlzLiRhbHRJbnB1dCAmJiB0aGlzLl9kZWZhdWx0cy5hbHRGaWVsZFRpbWVPbmx5ID09PSB0cnVlKSB7CgkJCQl0aGlzLiRhbHRJbnB1dC52YWwodGhpcy5mb3JtYXR0ZWRUaW1lKTsKCQkJCXRoaXMuJGlucHV0LnZhbCh0aGlzLmZvcm1hdHRlZERhdGUpOwoJCQl9IGVsc2UgaWYgKHRoaXMuJGFsdElucHV0KSB7CgkJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQkJdmFyIGFsdEZvcm1hdHRlZERhdGVUaW1lID0gJycsCgkJCQkJYWx0U2VwYXJhdG9yID0gdGhpcy5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yID8gdGhpcy5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yIDogdGhpcy5fZGVmYXVsdHMuc2VwYXJhdG9yLAoJCQkJCWFsdFRpbWVTdWZmaXggPSB0aGlzLl9kZWZhdWx0cy5hbHRUaW1lU3VmZml4ID8gdGhpcy5fZGVmYXVsdHMuYWx0VGltZVN1ZmZpeCA6IHRoaXMuX2RlZmF1bHRzLnRpbWVTdWZmaXg7CgoJCQkJaWYgKHRoaXMuX2RlZmF1bHRzLmFsdEZvcm1hdCkgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZSh0aGlzLl9kZWZhdWx0cy5hbHRGb3JtYXQsIChkdCA9PT0gbnVsbCA/IG5ldyBEYXRlKCkgOiBkdCksIGZvcm1hdENmZyk7CgkJCQllbHNlIGFsdEZvcm1hdHRlZERhdGVUaW1lID0gdGhpcy5mb3JtYXR0ZWREYXRlOwoJCQkJaWYgKGFsdEZvcm1hdHRlZERhdGVUaW1lKSBhbHRGb3JtYXR0ZWREYXRlVGltZSArPSBhbHRTZXBhcmF0b3I7CgkJCQlpZiAodGhpcy5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCkgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgKz0gJC5kYXRlcGlja2VyLmZvcm1hdFRpbWUodGhpcy5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCwgdGhpcywgdGhpcy5fZGVmYXVsdHMpICsgYWx0VGltZVN1ZmZpeDsKCQkJCWVsc2UgYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgKz0gdGhpcy5mb3JtYXR0ZWRUaW1lICsgYWx0VGltZVN1ZmZpeDsKCQkJCXRoaXMuJGFsdElucHV0LnZhbChhbHRGb3JtYXR0ZWREYXRlVGltZSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLiRpbnB1dC52YWwoZm9ybWF0dGVkRGF0ZVRpbWUpOwoJCQl9CgoJCQl0aGlzLiRpbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKTsKCQl9LAoKCQlfb25Gb2N1czogZnVuY3Rpb24oKSB7CgkJCWlmICghdGhpcy4kaW5wdXQudmFsKCkgJiYgdGhpcy5fZGVmYXVsdHMuZGVmYXVsdFZhbHVlKSB7CgkJCQl0aGlzLiRpbnB1dC52YWwodGhpcy5fZGVmYXVsdHMuZGVmYXVsdFZhbHVlKTsKCQkJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KHRoaXMuJGlucHV0LmdldCgwKSksCgkJCQkJdHBfaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJCQlpZiAodHBfaW5zdCkgewoJCQkJCWlmICh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lT25seSAmJiAoaW5zdC5pbnB1dC52YWwoKSAhPSBpbnN0Lmxhc3RWYWwpKSB7CgkJCQkJCXRyeSB7CgkJCQkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCQkJCX0gY2F0Y2ggKGVycikgewoJCQkJCQkJJC5kYXRlcGlja2VyLmxvZyhlcnIpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCgkJLyoKCQkqIFNtYWxsIGFic3RyYWN0aW9uIHRvIGNvbnRyb2wgdHlwZXMKCQkqIFdlIGNhbiBhZGQgbW9yZSwganVzdCBiZSBzdXJlIHRvIGZvbGxvdyB0aGUgcGF0dGVybjogY3JlYXRlLCBvcHRpb25zLCB2YWx1ZQoJCSovCgkJX2NvbnRyb2xzOiB7CgkJCS8vIHNsaWRlciBtZXRob2RzCgkJCXNsaWRlcjogewoJCQkJY3JlYXRlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCwgbWluLCBtYXgsIHN0ZXApewoJCQkJCXZhciBydGwgPSB0cF9pbnN0Ll9kZWZhdWx0cy5pc1JUTDsgLy8gaWYgcnRsIGdvIC02MC0+MCBpbnN0ZWFkIG9mIDAtPjYwCgkJCQkJcmV0dXJuIG9iai5wcm9wKCdzbGlkZScsIG51bGwpLnNsaWRlcih7CgkJCQkJCW9yaWVudGF0aW9uOiAiaG9yaXpvbnRhbCIsCgkJCQkJCXZhbHVlOiBydGw/IHZhbCotMSA6IHZhbCwKCQkJCQkJbWluOiBydGw/IG1heCotMSA6IG1pbiwKCQkJCQkJbWF4OiBydGw/IG1pbiotMSA6IG1heCwKCQkJCQkJc3RlcDogc3RlcCwKCQkJCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCQkJdHBfaW5zdC5jb250cm9sLnZhbHVlKHRwX2luc3QsICQodGhpcyksIHVuaXQsIHJ0bD8gdWkudmFsdWUqLTE6dWkudmFsdWUpOwoJCQkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQkJCX0sCgkJCQkJCXN0b3A6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJCX0KCQkJCQl9KTsJCgkJCQl9LAoJCQkJb3B0aW9uczogZnVuY3Rpb24odHBfaW5zdCwgb2JqLCB1bml0LCBvcHRzLCB2YWwpewoJCQkJCWlmKHRwX2luc3QuX2RlZmF1bHRzLmlzUlRMKXsKCQkJCQkJaWYodHlwZW9mKG9wdHMpID09ICdzdHJpbmcnKXsKCQkJCQkJCWlmKG9wdHMgPT0gJ21pbicgfHwgb3B0cyA9PSAnbWF4Jyl7CgkJCQkJCQkJaWYodmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMsIHZhbCotMSk7CgkJCQkJCQkJcmV0dXJuIE1hdGguYWJzKG9iai5zbGlkZXIob3B0cykpOwoJCQkJCQkJfQoJCQkJCQkJcmV0dXJuIG9iai5zbGlkZXIob3B0cyk7CgkJCQkJCX0KCQkJCQkJdmFyIG1pbiA9IG9wdHMubWluLCAKCQkJCQkJCW1heCA9IG9wdHMubWF4OwoJCQkJCQlvcHRzLm1pbiA9IG9wdHMubWF4ID0gbnVsbDsKCQkJCQkJaWYobWluICE9PSB1bmRlZmluZWQpCgkJCQkJCQlvcHRzLm1heCA9IG1pbiAqIC0xOwoJCQkJCQlpZihtYXggIT09IHVuZGVmaW5lZCkKCQkJCQkJCW9wdHMubWluID0gbWF4ICogLTE7CgkJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMpOwoJCQkJCX0KCQkJCQlpZih0eXBlb2Yob3B0cykgPT0gJ3N0cmluZycgJiYgdmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCQlyZXR1cm4gb2JqLnNsaWRlcihvcHRzLCB2YWwpOwoJCQkJCXJldHVybiBvYmouc2xpZGVyKG9wdHMpOwoJCQkJfSwKCQkJCXZhbHVlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCl7CgkJCQkJaWYodHBfaW5zdC5fZGVmYXVsdHMuaXNSVEwpewoJCQkJCQlpZih2YWwgIT09IHVuZGVmaW5lZCkKCQkJCQkJCXJldHVybiBvYmouc2xpZGVyKCd2YWx1ZScsIHZhbCotMSk7CgkJCQkJCXJldHVybiBNYXRoLmFicyhvYmouc2xpZGVyKCd2YWx1ZScpKTsKCQkJCQl9CgkJCQkJaWYodmFsICE9PSB1bmRlZmluZWQpCgkJCQkJCXJldHVybiBvYmouc2xpZGVyKCd2YWx1ZScsIHZhbCk7CgkJCQkJcmV0dXJuIG9iai5zbGlkZXIoJ3ZhbHVlJyk7CgkJCQl9CgkJCX0sCgkJCS8vIHNlbGVjdCBtZXRob2RzCgkJCXNlbGVjdDogewoJCQkJY3JlYXRlOiBmdW5jdGlvbih0cF9pbnN0LCBvYmosIHVuaXQsIHZhbCwgbWluLCBtYXgsIHN0ZXApewoJCQkJCXZhciBzZWwgPSAnPHNlbGVjdCBjbGFzcz0idWktdGltZXBpY2tlci1zZWxlY3QiIGRhdGEtdW5pdD0iJysgdW5pdCArJyIgZGF0YS1taW49IicrIG1pbiArJyIgZGF0YS1tYXg9IicrIG1heCArJyIgZGF0YS1zdGVwPSInKyBzdGVwICsnIj4nLAoJCQkJCQl1bCA9IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQuaW5kZXhPZigndCcpICE9PSAtMT8gJ3RvTG93ZXJDYXNlJzondG9VcHBlckNhc2UnLAoJCQkJCQltID0gMDsKCgkJCQkJZm9yKHZhciBpPW1pbjsgaTw9bWF4OyBpKz1zdGVwKXsJCQkJCQkKCQkJCQkJc2VsICs9ICc8b3B0aW9uIHZhbHVlPSInKyBpICsnIicrIChpPT12YWw/ICcgc2VsZWN0ZWQnOicnKSArJz4nOwoJCQkJCQlpZih1bml0ID09ICdob3VyJyAmJiB1c2VBbXBtKHRwX2luc3QuX2RlZmF1bHRzLnBpY2tlclRpbWVGb3JtYXQgfHwgdHBfaW5zdC5fZGVmYXVsdHMudGltZUZvcm1hdCkpCgkJCQkJCQlzZWwgKz0gJC5kYXRlcGlja2VyLmZvcm1hdFRpbWUoImhoIFRUIiwge2hvdXI6aX0sIHRwX2luc3QuX2RlZmF1bHRzKTsKCQkJCQkJZWxzZSBpZih1bml0ID09ICdtaWxsaXNlYycgfHwgaSA+PSAxMCkgc2VsICs9IGk7CgkJCQkJCWVsc2Ugc2VsICs9ICcwJysgaS50b1N0cmluZygpOwoJCQkJCQlzZWwgKz0gJzwvb3B0aW9uPic7CgkJCQkJfQoJCQkJCXNlbCArPSAnPC9zZWxlY3Q+JzsKCgkJCQkJb2JqLmNoaWxkcmVuKCdzZWxlY3QnKS5yZW1vdmUoKTsKCgkJCQkJJChzZWwpLmFwcGVuZFRvKG9iaikuY2hhbmdlKGZ1bmN0aW9uKGUpewoJCQkJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJCQkJdHBfaW5zdC5fb25TZWxlY3RIYW5kbGVyKCk7CgkJCQkJfSk7CgoJCQkJCXJldHVybiBvYmo7CgkJCQl9LAoJCQkJb3B0aW9uczogZnVuY3Rpb24odHBfaW5zdCwgb2JqLCB1bml0LCBvcHRzLCB2YWwpewoJCQkJCXZhciBvID0ge30sCgkJCQkJCSR0ID0gb2JqLmNoaWxkcmVuKCdzZWxlY3QnKTsKCQkJCQlpZih0eXBlb2Yob3B0cykgPT0gJ3N0cmluZycpewoJCQkJCQlpZih2YWwgPT09IHVuZGVmaW5lZCkKCQkJCQkJCXJldHVybiAkdC5kYXRhKG9wdHMpOwoJCQkJCQlvW29wdHNdID0gdmFsOwkKCQkJCQl9CgkJCQkJZWxzZSBvID0gb3B0czsKCQkJCQlyZXR1cm4gdHBfaW5zdC5jb250cm9sLmNyZWF0ZSh0cF9pbnN0LCBvYmosICR0LmRhdGEoJ3VuaXQnKSwgJHQudmFsKCksIG8ubWluIHx8ICR0LmRhdGEoJ21pbicpLCBvLm1heCB8fCAkdC5kYXRhKCdtYXgnKSwgby5zdGVwIHx8ICR0LmRhdGEoJ3N0ZXAnKSk7CgkJCQl9LAoJCQkJdmFsdWU6IGZ1bmN0aW9uKHRwX2luc3QsIG9iaiwgdW5pdCwgdmFsKXsKCQkJCQl2YXIgJHQgPSBvYmouY2hpbGRyZW4oJ3NlbGVjdCcpOwoJCQkJCWlmKHZhbCAhPT0gdW5kZWZpbmVkKQoJCQkJCQlyZXR1cm4gJHQudmFsKHZhbCk7CgkJCQkJcmV0dXJuICR0LnZhbCgpOwoJCQkJfQoJCQl9CgkJfSAvLyBlbmQgX2NvbnRyb2xzCgoJfSk7CgoJJC5mbi5leHRlbmQoewoJCS8qCgkJKiBzaG9ydGhhbmQganVzdCB0byB1c2UgdGltZXBpY2tlci4uCgkJKi8KCQl0aW1lcGlja2VyOiBmdW5jdGlvbihvKSB7CgkJCW8gPSBvIHx8IHt9OwoJCQl2YXIgdG1wX2FyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwoKCQkJaWYgKHR5cGVvZiBvID09ICdvYmplY3QnKSB7CgkJCQl0bXBfYXJnc1swXSA9ICQuZXh0ZW5kKG8sIHsKCQkJCQl0aW1lT25seTogdHJ1ZQoJCQkJfSk7CgkJCX0KCgkJCXJldHVybiAkKHRoaXMpLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkkLmZuLmRhdGV0aW1lcGlja2VyLmFwcGx5KCQodGhpcyksIHRtcF9hcmdzKTsKCQkJfSk7CgkJfSwKCgkJLyoKCQkqIGV4dGVuZCB0aW1lcGlja2VyIHRvIGRhdGVwaWNrZXIKCQkqLwoJCWRhdGV0aW1lcGlja2VyOiBmdW5jdGlvbihvKSB7CgkJCW8gPSBvIHx8IHt9OwoJCQl2YXIgdG1wX2FyZ3MgPSBhcmd1bWVudHM7CgoJCQlpZiAodHlwZW9mKG8pID09ICdzdHJpbmcnKSB7CgkJCQlpZiAobyA9PSAnZ2V0RGF0ZScpIHsKCQkJCQlyZXR1cm4gJC5mbi5kYXRlcGlja2VyLmFwcGx5KCQodGhpc1swXSksIHRtcF9hcmdzKTsKCQkJCX0gZWxzZSB7CgkJCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCQkJdmFyICR0ID0gJCh0aGlzKTsKCQkJCQkJJHQuZGF0ZXBpY2tlci5hcHBseSgkdCwgdG1wX2FyZ3MpOwoJCQkJCX0pOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCQl2YXIgJHQgPSAkKHRoaXMpOwoJCQkJCSR0LmRhdGVwaWNrZXIoJC50aW1lcGlja2VyLl9uZXdJbnN0KCR0LCBvKS5fZGVmYXVsdHMpOwoJCQkJfSk7CgkJCX0KCQl9Cgl9KTsKCgkvKgoJKiBQdWJsaWMgVXRpbGl0eSB0byBwYXJzZSBkYXRlIGFuZCB0aW1lCgkqLwoJJC5kYXRlcGlja2VyLnBhcnNlRGF0ZVRpbWUgPSBmdW5jdGlvbihkYXRlRm9ybWF0LCB0aW1lRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpIHsKCQl2YXIgcGFyc2VSZXMgPSBwYXJzZURhdGVUaW1lSW50ZXJuYWwoZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZVRpbWVTdHJpbmcsIGRhdGVTZXR0aW5ncywgdGltZVNldHRpbmdzKTsKCQlpZiAocGFyc2VSZXMudGltZU9iaikgewoJCQl2YXIgdCA9IHBhcnNlUmVzLnRpbWVPYmo7CgkJCXBhcnNlUmVzLmRhdGUuc2V0SG91cnModC5ob3VyLCB0Lm1pbnV0ZSwgdC5zZWNvbmQsIHQubWlsbGlzZWMpOwoJCX0KCgkJcmV0dXJuIHBhcnNlUmVzLmRhdGU7Cgl9OwoKCS8qCgkqIFB1YmxpYyB1dGlsaXR5IHRvIHBhcnNlIHRpbWUKCSovCgkkLmRhdGVwaWNrZXIucGFyc2VUaW1lID0gZnVuY3Rpb24odGltZUZvcm1hdCwgdGltZVN0cmluZywgb3B0aW9ucykgewkJCgkJdmFyIG8gPSBleHRlbmRSZW1vdmUoZXh0ZW5kUmVtb3ZlKHt9LCAkLnRpbWVwaWNrZXIuX2RlZmF1bHRzKSwgb3B0aW9ucyB8fCB7fSk7CgoJCS8vIFN0cmljdCBwYXJzZSByZXF1aXJlcyB0aGUgdGltZVN0cmluZyB0byBtYXRjaCB0aGUgdGltZUZvcm1hdCBleGFjdGx5CgkJdmFyIHN0cmljdFBhcnNlID0gZnVuY3Rpb24oZiwgcywgbyl7CgoJCQkvLyBwYXR0ZXJuIGZvciBzdGFuZGFyZCBhbmQgbG9jYWxpemVkIEFNL1BNIG1hcmtlcnMKCQkJdmFyIGdldFBhdHRlcm5BbXBtID0gZnVuY3Rpb24oYW1OYW1lcywgcG1OYW1lcykgewoJCQkJdmFyIG1hcmtlcnMgPSBbXTsKCQkJCWlmIChhbU5hbWVzKSB7CgkJCQkJJC5tZXJnZShtYXJrZXJzLCBhbU5hbWVzKTsKCQkJCX0KCQkJCWlmIChwbU5hbWVzKSB7CgkJCQkJJC5tZXJnZShtYXJrZXJzLCBwbU5hbWVzKTsKCQkJCX0KCQkJCW1hcmtlcnMgPSAkLm1hcChtYXJrZXJzLCBmdW5jdGlvbih2YWwpIHsKCQkJCQlyZXR1cm4gdmFsLnJlcGxhY2UoL1suKis/fCgpXFtcXXt9XFxdL2csICdcXCQmJyk7CgkJCQl9KTsKCQkJCXJldHVybiAnKCcgKyBtYXJrZXJzLmpvaW4oJ3wnKSArICcpPyc7CgkJCX07CgoJCQkvLyBmaWd1cmUgb3V0IHBvc2l0aW9uIG9mIHRpbWUgZWxlbWVudHMuLiBjYXVzZSBqcyBjYW50IGRvIG5hbWVkIGNhcHR1cmVzCgkJCXZhciBnZXRGb3JtYXRQb3NpdGlvbnMgPSBmdW5jdGlvbih0aW1lRm9ybWF0KSB7CgkJCQl2YXIgZmluZHMgPSB0aW1lRm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhoezEsMn18bXsxLDJ9fHN7MSwyfXxsezF9fHR7MSwyfXx6fCcuKj8nKS9nKSwKCQkJCQlvcmRlcnMgPSB7CgkJCQkJCWg6IC0xLAoJCQkJCQltOiAtMSwKCQkJCQkJczogLTEsCgkJCQkJCWw6IC0xLAoJCQkJCQl0OiAtMSwKCQkJCQkJejogLTEKCQkJCQl9OwoKCQkJCWlmIChmaW5kcykgewoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZmluZHMubGVuZ3RoOyBpKyspIHsKCQkJCQkJaWYgKG9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPT0gLTEpIHsKCQkJCQkJCW9yZGVyc1tmaW5kc1tpXS50b1N0cmluZygpLmNoYXJBdCgwKV0gPSBpICsgMTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCXJldHVybiBvcmRlcnM7CgkJCX07CgoJCQl2YXIgcmVnc3RyID0gJ14nICsgZi50b1N0cmluZygpCgkJCQkJLnJlcGxhY2UoLyhbaEhdezEsMn18bW0/fHNzP3xbdFRdezEsMn18W2x6XXwnLio/JykvZywgZnVuY3Rpb24gKG1hdGNoKSB7CgkJCQkJCQlzd2l0Y2ggKG1hdGNoLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpKSB7CgkJCQkJCQkJY2FzZSAnaCc6IHJldHVybiAnKFxcZD9cXGQpJzsKCQkJCQkJCQljYXNlICdtJzogcmV0dXJuICcoXFxkP1xcZCknOwoJCQkJCQkJCWNhc2UgJ3MnOiByZXR1cm4gJyhcXGQ/XFxkKSc7CgkJCQkJCQkJY2FzZSAnbCc6IHJldHVybiAnKFxcZD9cXGQ/XFxkKSc7CgkJCQkJCQkJY2FzZSAneic6IHJldHVybiAnKHp8Wy0rXVxcZFxcZDo/XFxkXFxkfFxcUyspPyc7CgkJCQkJCQkJY2FzZSAndCc6IHJldHVybiBnZXRQYXR0ZXJuQW1wbShvLmFtTmFtZXMsIG8ucG1OYW1lcyk7CgkJCQkJCQkJZGVmYXVsdDogICAgLy8gbGl0ZXJhbCBlc2NhcGVkIGluIHF1b3RlcwoJCQkJCQkJCQlyZXR1cm4gJygnICsgbWF0Y2gucmVwbGFjZSgvXCcvZywgIiIpLnJlcGxhY2UoLyhcLnxcJHxcXnxcXHxcL3xcKHxcKXxcW3xcXXxcP3xcK3xcKikvZywgZnVuY3Rpb24gKG0pIHsgcmV0dXJuICJcXCIgKyBtOyB9KSArICcpPyc7CgkJCQkJCQl9CgkJCQkJCX0pCgkJCQkJLnJlcGxhY2UoL1xzL2csICdcXHM/JykgKwoJCQkJCW8udGltZVN1ZmZpeCArICckJywKCQkJCW9yZGVyID0gZ2V0Rm9ybWF0UG9zaXRpb25zKGYpLAoJCQkJYW1wbSA9ICcnLAoJCQkJdHJlZzsKCgkJCXRyZWcgPSBzLm1hdGNoKG5ldyBSZWdFeHAocmVnc3RyLCAnaScpKTsKCgkJCXZhciByZXNUaW1lID0gewoJCQkJaG91cjogMCwKCQkJCW1pbnV0ZTogMCwKCQkJCXNlY29uZDogMCwKCQkJCW1pbGxpc2VjOiAwCgkJCX07CgoJCQlpZiAodHJlZykgewoJCQkJaWYgKG9yZGVyLnQgIT09IC0xKSB7CgkJCQkJaWYgKHRyZWdbb3JkZXIudF0gPT09IHVuZGVmaW5lZCB8fCB0cmVnW29yZGVyLnRdLmxlbmd0aCA9PT0gMCkgewoJCQkJCQlhbXBtID0gJyc7CgkJCQkJCXJlc1RpbWUuYW1wbSA9ICcnOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWFtcG0gPSAkLmluQXJyYXkodHJlZ1tvcmRlci50XS50b1VwcGVyQ2FzZSgpLCBvLmFtTmFtZXMpICE9PSAtMSA/ICdBTScgOiAnUE0nOwoJCQkJCQlyZXNUaW1lLmFtcG0gPSBvW2FtcG0gPT0gJ0FNJyA/ICdhbU5hbWVzJyA6ICdwbU5hbWVzJ11bMF07CgkJCQkJfQoJCQkJfQoKCQkJCWlmIChvcmRlci5oICE9PSAtMSkgewoJCQkJCWlmIChhbXBtID09ICdBTScgJiYgdHJlZ1tvcmRlci5oXSA9PSAnMTInKSB7CgkJCQkJCXJlc1RpbWUuaG91ciA9IDA7IC8vIDEyYW0gPSAwIGhvdXIKCQkJCQl9IGVsc2UgewoJCQkJCQlpZiAoYW1wbSA9PSAnUE0nICYmIHRyZWdbb3JkZXIuaF0gIT0gJzEyJykgewoJCQkJCQkJcmVzVGltZS5ob3VyID0gcGFyc2VJbnQodHJlZ1tvcmRlci5oXSwgMTApICsgMTI7IC8vIDEycG0gPSAxMiBob3VyLCBhbnkgb3RoZXIgcG0gPSBob3VyICsgMTIKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXJlc1RpbWUuaG91ciA9IE51bWJlcih0cmVnW29yZGVyLmhdKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQlpZiAob3JkZXIubSAhPT0gLTEpIHsKCQkJCQlyZXNUaW1lLm1pbnV0ZSA9IE51bWJlcih0cmVnW29yZGVyLm1dKTsKCQkJCX0KCQkJCWlmIChvcmRlci5zICE9PSAtMSkgewoJCQkJCXJlc1RpbWUuc2Vjb25kID0gTnVtYmVyKHRyZWdbb3JkZXIuc10pOwoJCQkJfQoJCQkJaWYgKG9yZGVyLmwgIT09IC0xKSB7CgkJCQkJcmVzVGltZS5taWxsaXNlYyA9IE51bWJlcih0cmVnW29yZGVyLmxdKTsKCQkJCX0KCQkJCWlmIChvcmRlci56ICE9PSAtMSAmJiB0cmVnW29yZGVyLnpdICE9PSB1bmRlZmluZWQpIHsKCQkJCQl2YXIgdHogPSB0cmVnW29yZGVyLnpdLnRvVXBwZXJDYXNlKCk7CgkJCQkJc3dpdGNoICh0ei5sZW5ndGgpIHsKCQkJCQljYXNlIDE6CgkJCQkJCS8vIFoKCQkJCQkJdHogPSBvLnRpbWV6b25lSXNvODYwMSA/ICdaJyA6ICcrMDAwMCc7CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgNToKCQkJCQkJLy8gK2hobW0KCQkJCQkJaWYgKG8udGltZXpvbmVJc284NjAxKSB7CgkJCQkJCQl0eiA9IHR6LnN1YnN0cmluZygxKSA9PSAnMDAwMCcgPyAnWicgOiB0ei5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB0ei5zdWJzdHJpbmcoMyk7CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSA2OgoJCQkJCQkvLyAraGg6bW0KCQkJCQkJaWYgKCFvLnRpbWV6b25lSXNvODYwMSkgewoJCQkJCQkJdHogPSB0eiA9PSAnWicgfHwgdHouc3Vic3RyaW5nKDEpID09ICcwMDowMCcgPyAnKzAwMDAnIDogdHoucmVwbGFjZSgvOi8sICcnKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWlmICh0ei5zdWJzdHJpbmcoMSkgPT0gJzAwOjAwJykgewoJCQkJCQkJCXR6ID0gJ1onOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlyZXNUaW1lLnRpbWV6b25lID0gdHo7CgkJCQl9CgoKCQkJCXJldHVybiByZXNUaW1lOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9Oy8vIGVuZCBzdHJpY3RQYXJzZQoKCQkvLyBGaXJzdCB0cnkgSlMgRGF0ZSwgaWYgdGhhdCBmYWlscywgdXNlIHN0cmljdFBhcnNlCgkJdmFyIGxvb3NlUGFyc2UgPSBmdW5jdGlvbihmLHMsbyl7CgkJCXRyeXsKCQkJCXZhciBkID0gbmV3IERhdGUoJzIwMTItMDEtMDEgJysgcyk7CgkJCQlyZXR1cm4gewoJCQkJCWhvdXI6IGQuZ2V0SG91cnMoKSwKCQkJCQltaW51dGVzOiBkLmdldE1pbnV0ZXMoKSwKCQkJCQlzZWNvbmRzOiBkLmdldFNlY29uZHMoKSwKCQkJCQltaWxsaXNlYzogZC5nZXRNaWxsaXNlY29uZHMoKSwKCQkJCQl0aW1lem9uZTogJC50aW1lcGlja2VyLnRpbWVab25lT2Zmc2V0U3RyaW5nKGQpCgkJCQl9OwoJCQl9CgkJCWNhdGNoKGVycil7CgkJCQl0cnl7CgkJCQkJcmV0dXJuIHN0cmljdFBhcnNlKGYscyxvKTsKCQkJCX0KCQkJCWNhdGNoKGVycjIpewoJCQkJCSQuZGF0ZXBpY2tlci5sb2coIlVuYWJsZSB0byBwYXJzZSBcbnRpbWVTdHJpbmc6ICIrIHMgKyJcbnRpbWVGb3JtYXQ6ICIrIGYpOwoJCQkJfQkJCQkKCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfTsgLy8gZW5kIGxvb3NlUGFyc2UKCQkKCQlpZih0eXBlb2Ygby5wYXJzZSA9PT0gImZ1bmN0aW9uIil7CgkJCXJldHVybiBvLnBhcnNlKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIG8pCgkJfQoJCWlmKG8ucGFyc2UgPT09ICdsb29zZScpewoJCQlyZXR1cm4gbG9vc2VQYXJzZSh0aW1lRm9ybWF0LCB0aW1lU3RyaW5nLCBvKTsKCQl9CgkJcmV0dXJuIHN0cmljdFBhcnNlKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIG8pOwoJfTsKCgkvKgoJKiBQdWJsaWMgdXRpbGl0eSB0byBmb3JtYXQgdGhlIHRpbWUKCSogZm9ybWF0ID0gc3RyaW5nIGZvcm1hdCBvZiB0aGUgdGltZQoJKiB0aW1lID0gYSB7fSwgbm90IGEgRGF0ZSgpIGZvciB0aW1lem9uZXMKCSogb3B0aW9ucyA9IGVzc2VudGlhbGx5IHRoZSByZWdpb25hbFtdLi4gYW1OYW1lcywgcG1OYW1lcywgYW1wbQoJKi8KCSQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lID0gZnVuY3Rpb24oZm9ybWF0LCB0aW1lLCBvcHRpb25zKSB7CgkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgkJb3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCAkLnRpbWVwaWNrZXIuX2RlZmF1bHRzLCBvcHRpb25zKTsKCQl0aW1lID0gJC5leHRlbmQoewoJCQlob3VyOiAwLAoJCQltaW51dGU6IDAsCgkJCXNlY29uZDogMCwKCQkJbWlsbGlzZWM6IDAsCgkJCXRpbWV6b25lOiAnKzAwMDAnCgkJfSwgdGltZSk7CgoJCXZhciB0bXB0aW1lID0gZm9ybWF0LAoJCQlhbXBtTmFtZSA9IG9wdGlvbnMuYW1OYW1lc1swXSwKCQkJaG91ciA9IHBhcnNlSW50KHRpbWUuaG91ciwgMTApOwoKCQlpZiAoaG91ciA+IDExKSB7CgkJCWFtcG1OYW1lID0gb3B0aW9ucy5wbU5hbWVzWzBdOwoJCX0KCgkJdG1wdGltZSA9IHRtcHRpbWUucmVwbGFjZSgvKD86SEg/fGhoP3xtbT98c3M/fFt0VF17MSwyfXxbbHpdfCgnLio/J3wiLio/IikpL2csIGZ1bmN0aW9uKG1hdGNoKSB7CgkJc3dpdGNoIChtYXRjaCkgewoJCQljYXNlICdISCc6CgkJCQlyZXR1cm4gKCcwJyArIGhvdXIpLnNsaWNlKC0yKTsKCQkJY2FzZSAnSCc6CgkJCQlyZXR1cm4gaG91cjsKCQkJY2FzZSAnaGgnOgoJCQkJcmV0dXJuICgnMCcgKyBjb252ZXJ0MjR0bzEyKGhvdXIpKS5zbGljZSgtMik7CgkJCWNhc2UgJ2gnOgoJCQkJcmV0dXJuIGNvbnZlcnQyNHRvMTIoaG91cik7CgkJCWNhc2UgJ21tJzoKCQkJCXJldHVybiAoJzAnICsgdGltZS5taW51dGUpLnNsaWNlKC0yKTsKCQkJY2FzZSAnbSc6CgkJCQlyZXR1cm4gdGltZS5taW51dGU7CgkJCWNhc2UgJ3NzJzoKCQkJCXJldHVybiAoJzAnICsgdGltZS5zZWNvbmQpLnNsaWNlKC0yKTsKCQkJY2FzZSAncyc6CgkJCQlyZXR1cm4gdGltZS5zZWNvbmQ7CgkJCWNhc2UgJ2wnOgoJCQkJcmV0dXJuICgnMDAnICsgdGltZS5taWxsaXNlYykuc2xpY2UoLTMpOwoJCQljYXNlICd6JzoKCQkJCXJldHVybiB0aW1lLnRpbWV6b25lID09PSBudWxsPyBvcHRpb25zLmRlZmF1bHRUaW1lem9uZSA6IHRpbWUudGltZXpvbmU7CgkJCWNhc2UgJ1QnOiAKCQkJCXJldHVybiBhbXBtTmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKTsKCQkJY2FzZSAnVFQnOiAKCQkJCXJldHVybiBhbXBtTmFtZS50b1VwcGVyQ2FzZSgpOwoJCQljYXNlICd0JzoKCQkJCXJldHVybiBhbXBtTmFtZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKTsKCQkJY2FzZSAndHQnOgoJCQkJcmV0dXJuIGFtcG1OYW1lLnRvTG93ZXJDYXNlKCk7CgkJCWRlZmF1bHQ6CgkJCQlyZXR1cm4gbWF0Y2gucmVwbGFjZSgvXCcvZywgIiIpIHx8ICInIjsKCQkJfQoJCX0pOwoKCQl0bXB0aW1lID0gJC50cmltKHRtcHRpbWUpOwoJCXJldHVybiB0bXB0aW1lOwoJfTsKCgkvKgoJKiB0aGUgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCBkb2VzbnQgY2xvc2Ugb24gc2VsZWN0CgkvLyBpbnNwaXJlZDogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMjUyNTEyL2pxdWVyeS1kYXRlcGlja2VyLXByZXZlbnQtY2xvc2luZy1waWNrZXItd2hlbi1jbGlja2luZy1hLWRhdGUvMTc2MjM3OCMxNzYyMzc4CgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX3NlbGVjdERhdGUgPSAkLmRhdGVwaWNrZXIuX3NlbGVjdERhdGU7CgkkLmRhdGVwaWNrZXIuX3NlbGVjdERhdGUgPSBmdW5jdGlvbihpZCwgZGF0ZVN0cikgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCgkKGlkKVswXSksCgkJCXRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fbGltaXRNaW5NYXhEYXRlVGltZShpbnN0LCB0cnVlKTsKCQkJaW5zdC5pbmxpbmUgPSBpbnN0LnN0YXlfb3BlbiA9IHRydWU7CgkJCS8vVGhpcyB3YXkgdGhlIG9uU2VsZWN0IGhhbmRsZXIgY2FsbGVkIGZyb20gY2FsZW5kYXJwaWNrZXIgZ2V0IHRoZSBmdWxsIGRhdGVUaW1lCgkJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0cik7CgkJCWluc3QuaW5saW5lID0gaW5zdC5zdGF5X29wZW4gPSBmYWxzZTsKCQkJdGhpcy5fbm90aWZ5Q2hhbmdlKGluc3QpOwoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKGluc3QpOwoJCX0gZWxzZSB7CgkJCXRoaXMuX2Jhc2Vfc2VsZWN0RGF0ZShpZCwgZGF0ZVN0cik7CgkJfQoJfTsKCgkvKgoJKiBzZWNvbmQgYmFkIGhhY2sgOi8gb3ZlcnJpZGUgZGF0ZXBpY2tlciBzbyBpdCB0cmlnZ2VycyBhbiBldmVudCB3aGVuIGNoYW5naW5nIHRoZSBpbnB1dCBmaWVsZAoJKiBhbmQgZG9lcyBub3QgcmVkcmF3IHRoZSBkYXRlcGlja2VyIG9uIGV2ZXJ5IHNlbGVjdERhdGUgZXZlbnQKCSovCgkkLmRhdGVwaWNrZXIuX2Jhc2VfdXBkYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcjsKCSQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKGluc3QpIHsKCgkJLy8gZG9uJ3QgcG9wdXAgdGhlIGRhdGVwaWNrZXIgaWYgdGhlcmUgaXMgYW5vdGhlciBpbnN0YW5jZSBhbHJlYWR5IG9wZW5lZAoJCXZhciBpbnB1dCA9IGluc3QuaW5wdXRbMF07CgkJaWYgKCQuZGF0ZXBpY2tlci5fY3VySW5zdCAmJiAkLmRhdGVwaWNrZXIuX2N1ckluc3QgIT0gaW5zdCAmJiAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ICE9IGlucHV0KSB7CgkJCXJldHVybjsKCQl9CgoJCWlmICh0eXBlb2YoaW5zdC5zdGF5X29wZW4pICE9PSAnYm9vbGVhbicgfHwgaW5zdC5zdGF5X29wZW4gPT09IGZhbHNlKSB7CgoJCQl0aGlzLl9iYXNlX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgoJCQkvLyBSZWxvYWQgdGhlIHRpbWUgY29udHJvbCB3aGVuIGNoYW5naW5nIHNvbWV0aGluZyBpbiB0aGUgaW5wdXQgdGV4dCBmaWVsZC4KCQkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCQkJaWYgKHRwX2luc3QpIHsKCQkJCXRwX2luc3QuX2FkZFRpbWVQaWNrZXIoaW5zdCk7CgoJCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnVzZUxvY2FsVGltZXpvbmUpIHsgLy9jaGVja3MgZGF5bGlnaHQgc2F2aW5nIHdpdGggdGhlIG5ldyBkYXRlLgoJCQkJCXZhciBkYXRlID0gbmV3IERhdGUoaW5zdC5zZWxlY3RlZFllYXIsIGluc3Quc2VsZWN0ZWRNb250aCwgaW5zdC5zZWxlY3RlZERheSwgMTIpOwoJCQkJCXNlbGVjdExvY2FsVGltZVpvbmUodHBfaW5zdCwgZGF0ZSk7CgkJCQkJdHBfaW5zdC5fb25UaW1lQ2hhbmdlKCk7CgkJCQl9CgkJCX0KCQl9Cgl9OwoKCS8qCgkqIHRoaXJkIGJhZCBoYWNrIDovIG92ZXJyaWRlIGRhdGVwaWNrZXIgc28gaXQgYWxsb3dzIHNwYWNlcyBhbmQgY29sb24gaW4gdGhlIGlucHV0IGZpZWxkCgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5UHJlc3MgPSAkLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3M7CgkkLmRhdGVwaWNrZXIuX2RvS2V5UHJlc3MgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGV2ZW50LnRhcmdldCksCgkJCXRwX2luc3QgPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCQlpZiAodHBfaW5zdCkgewoJCQlpZiAoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ2NvbnN0cmFpbklucHV0JykpIHsKCQkJCXZhciBhbXBtID0gdXNlQW1wbSh0cF9pbnN0Ll9kZWZhdWx0cy50aW1lRm9ybWF0KSwKCQkJCQlkYXRlQ2hhcnMgPSAkLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoJC5kYXRlcGlja2VyLl9nZXQoaW5zdCwgJ2RhdGVGb3JtYXQnKSksCgkJCQkJZGF0ZXRpbWVDaGFycyA9IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQudG9TdHJpbmcoKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC9baG1zXS9nLCAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvVFQvZywgYW1wbSA/ICdBUE0nIDogJycpCgkJCQkJCQkJCQkJLnJlcGxhY2UoL1R0L2csIGFtcG0gPyAnQWFQcE1tJyA6ICcnKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC90VC9nLCBhbXBtID8gJ0FhUHBNbScgOiAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvVC9nLCBhbXBtID8gJ0FQJyA6ICcnKQoJCQkJCQkJCQkJCS5yZXBsYWNlKC90dC9nLCBhbXBtID8gJ2FwbScgOiAnJykKCQkJCQkJCQkJCQkucmVwbGFjZSgvdC9nLCBhbXBtID8gJ2FwJyA6ICcnKSArIAoJCQkJCQkJCQkJCSIgIiArIHRwX2luc3QuX2RlZmF1bHRzLnNlcGFyYXRvciArIAoJCQkJCQkJCQkJCXRwX2luc3QuX2RlZmF1bHRzLnRpbWVTdWZmaXggKyAKCQkJCQkJCQkJCQkodHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWV6b25lID8gdHBfaW5zdC5fZGVmYXVsdHMudGltZXpvbmVMaXN0LmpvaW4oJycpIDogJycpICsgCgkJCQkJCQkJCQkJKHRwX2luc3QuX2RlZmF1bHRzLmFtTmFtZXMuam9pbignJykpICsgKHRwX2luc3QuX2RlZmF1bHRzLnBtTmFtZXMuam9pbignJykpICsgCgkJCQkJCQkJCQkJZGF0ZUNoYXJzLAoJCQkJCWNociA9IFN0cmluZy5mcm9tQ2hhckNvZGUoZXZlbnQuY2hhckNvZGUgPT09IHVuZGVmaW5lZCA/IGV2ZW50LmtleUNvZGUgOiBldmVudC5jaGFyQ29kZSk7CgkJCQlyZXR1cm4gZXZlbnQuY3RybEtleSB8fCAoY2hyIDwgJyAnIHx8ICFkYXRlQ2hhcnMgfHwgZGF0ZXRpbWVDaGFycy5pbmRleE9mKGNocikgPiAtMSk7CgkJCX0KCQl9CgoJCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlQcmVzcyhldmVudCk7Cgl9OwoKCS8qCgkqIEZvdXJ0aCBiYWQgaGFjayA6LyBvdmVycmlkZSBfdXBkYXRlQWx0ZXJuYXRlIGZ1bmN0aW9uIHVzZWQgaW4gaW5saW5lIG1vZGUgdG8gaW5pdCBhbHRGaWVsZAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV91cGRhdGVBbHRlcm5hdGUgPSAkLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZTsKCS8qIFVwZGF0ZSBhbnkgYWx0ZXJuYXRlIGZpZWxkIHRvIHN5bmNocm9uaXNlIHdpdGggdGhlIG1haW4gZmllbGQuICovCgkkLmRhdGVwaWNrZXIuX3VwZGF0ZUFsdGVybmF0ZSA9IGZ1bmN0aW9uKGluc3QpIHsKCQl2YXIgdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJCWlmKHRwX2luc3QpewoJCQl2YXIgYWx0RmllbGQgPSB0cF9pbnN0Ll9kZWZhdWx0cy5hbHRGaWVsZDsKCQkJaWYgKGFsdEZpZWxkKSB7IC8vIHVwZGF0ZSBhbHRlcm5hdGUgZmllbGQgdG9vCgkJCQl2YXIgYWx0Rm9ybWF0ID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0Rm9ybWF0IHx8IHRwX2luc3QuX2RlZmF1bHRzLmRhdGVGb3JtYXQsCgkJCQkJZGF0ZSA9IHRoaXMuX2dldERhdGUoaW5zdCksCgkJCQkJZm9ybWF0Q2ZnID0gJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoaW5zdCksCgkJCQkJYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAnJywgCgkJCQkJYWx0U2VwYXJhdG9yID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yID8gdHBfaW5zdC5fZGVmYXVsdHMuYWx0U2VwYXJhdG9yIDogdHBfaW5zdC5fZGVmYXVsdHMuc2VwYXJhdG9yLCAKCQkJCQlhbHRUaW1lU3VmZml4ID0gdHBfaW5zdC5fZGVmYXVsdHMuYWx0VGltZVN1ZmZpeCA/IHRwX2luc3QuX2RlZmF1bHRzLmFsdFRpbWVTdWZmaXggOiB0cF9pbnN0Ll9kZWZhdWx0cy50aW1lU3VmZml4LAoJCQkJCWFsdFRpbWVGb3JtYXQgPSB0cF9pbnN0Ll9kZWZhdWx0cy5hbHRUaW1lRm9ybWF0ICE9PSBudWxsID8gdHBfaW5zdC5fZGVmYXVsdHMuYWx0VGltZUZvcm1hdCA6IHRwX2luc3QuX2RlZmF1bHRzLnRpbWVGb3JtYXQ7CgkJCQkKCQkJCWFsdEZvcm1hdHRlZERhdGVUaW1lICs9ICQuZGF0ZXBpY2tlci5mb3JtYXRUaW1lKGFsdFRpbWVGb3JtYXQsIHRwX2luc3QsIHRwX2luc3QuX2RlZmF1bHRzKSArIGFsdFRpbWVTdWZmaXg7CgkJCQlpZighdHBfaW5zdC5fZGVmYXVsdHMudGltZU9ubHkgJiYgIXRwX2luc3QuX2RlZmF1bHRzLmFsdEZpZWxkVGltZU9ubHkpewoJCQkJCWlmKHRwX2luc3QuX2RlZmF1bHRzLmFsdEZvcm1hdCkKCQkJCQkJYWx0Rm9ybWF0dGVkRGF0ZVRpbWUgPSAkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZSh0cF9pbnN0Ll9kZWZhdWx0cy5hbHRGb3JtYXQsIChkYXRlID09PSBudWxsID8gbmV3IERhdGUoKSA6IGRhdGUpLCBmb3JtYXRDZmcpICsgYWx0U2VwYXJhdG9yICsgYWx0Rm9ybWF0dGVkRGF0ZVRpbWU7CgkJCQkJZWxzZSBhbHRGb3JtYXR0ZWREYXRlVGltZSA9IHRwX2luc3QuZm9ybWF0dGVkRGF0ZSArIGFsdFNlcGFyYXRvciArIGFsdEZvcm1hdHRlZERhdGVUaW1lOwoJCQkJfQoJCQkJJChhbHRGaWVsZCkudmFsKGFsdEZvcm1hdHRlZERhdGVUaW1lKTsKCQkJfQoJCX0KCQllbHNlewoJCQkkLmRhdGVwaWNrZXIuX2Jhc2VfdXBkYXRlQWx0ZXJuYXRlKGluc3QpOwoJCX0KCX07CgoJLyoKCSogT3ZlcnJpZGUga2V5IHVwIGV2ZW50IHRvIHN5bmMgbWFudWFsIGlucHV0IGNoYW5nZXMuCgkqLwoJJC5kYXRlcGlja2VyLl9iYXNlX2RvS2V5VXAgPSAkLmRhdGVwaWNrZXIuX2RvS2V5VXA7CgkkLmRhdGVwaWNrZXIuX2RvS2V5VXAgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KGV2ZW50LnRhcmdldCksCgkJCXRwX2luc3QgPSAkLmRhdGVwaWNrZXIuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoKCQlpZiAodHBfaW5zdCkgewoJCQlpZiAodHBfaW5zdC5fZGVmYXVsdHMudGltZU9ubHkgJiYgKGluc3QuaW5wdXQudmFsKCkgIT0gaW5zdC5sYXN0VmFsKSkgewoJCQkJdHJ5IHsKCQkJCQkkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJCQl9IGNhdGNoIChlcnIpIHsKCQkJCQkkLmRhdGVwaWNrZXIubG9nKGVycik7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiAkLmRhdGVwaWNrZXIuX2Jhc2VfZG9LZXlVcChldmVudCk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlICJUb2RheSIgYnV0dG9uIHRvIGFsc28gZ3JhYiB0aGUgdGltZS4KCSovCgkkLmRhdGVwaWNrZXIuX2Jhc2VfZ290b1RvZGF5ID0gJC5kYXRlcGlja2VyLl9nb3RvVG9kYXk7CgkkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSA9IGZ1bmN0aW9uKGlkKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KCQoaWQpWzBdKSwKCQkJJGRwID0gaW5zdC5kcERpdjsKCQl0aGlzLl9iYXNlX2dvdG9Ub2RheShpZCk7CgkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCQlzZWxlY3RMb2NhbFRpbWVab25lKHRwX2luc3QpOwoJCXZhciBub3cgPSBuZXcgRGF0ZSgpOwoJCXRoaXMuX3NldFRpbWUoaW5zdCwgbm93KTsKCQkkKCcudWktZGF0ZXBpY2tlci10b2RheScsICRkcCkuY2xpY2soKTsKCX07CgoJLyoKCSogRGlzYWJsZSAmIGVuYWJsZSB0aGUgVGltZSBpbiB0aGUgZGF0ZXRpbWVwaWNrZXIKCSovCgkkLmRhdGVwaWNrZXIuX2Rpc2FibGVUaW1lcGlja2VyRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKHRhcmdldCkgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpOwoJCWlmICghaW5zdCkgewoJCQlyZXR1cm47CgkJfQoKCQl2YXIgdHBfaW5zdCA9IHRoaXMuX2dldChpbnN0LCAndGltZXBpY2tlcicpOwoJCSQodGFyZ2V0KS5kYXRlcGlja2VyKCdnZXREYXRlJyk7IC8vIEluaXQgc2VsZWN0ZWRbWWVhcnxNb250aHxEYXldCgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fZGVmYXVsdHMuc2hvd1RpbWVwaWNrZXIgPSBmYWxzZTsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJfQoJfTsKCgkkLmRhdGVwaWNrZXIuX2VuYWJsZVRpbWVwaWNrZXJEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0KSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJJCh0YXJnZXQpLmRhdGVwaWNrZXIoJ2dldERhdGUnKTsgLy8gSW5pdCBzZWxlY3RlZFtZZWFyfE1vbnRofERheV0KCQlpZiAodHBfaW5zdCkgewoJCQl0cF9pbnN0Ll9kZWZhdWx0cy5zaG93VGltZXBpY2tlciA9IHRydWU7CgkJCXRwX2luc3QuX2FkZFRpbWVQaWNrZXIoaW5zdCk7IC8vIENvdWxkIGJlIGRpc2FibGVkIG9uIHBhZ2UgbG9hZAoJCQl0cF9pbnN0Ll91cGRhdGVEYXRlVGltZShpbnN0KTsKCQl9Cgl9OwoKCS8qCgkqIENyZWF0ZSBvdXIgb3duIHNldCB0aW1lIGZ1bmN0aW9uCgkqLwoJJC5kYXRlcGlja2VyLl9zZXRUaW1lID0gZnVuY3Rpb24oaW5zdCwgZGF0ZSkgewoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdmFyIGRlZmF1bHRzID0gdHBfaW5zdC5fZGVmYXVsdHM7CgoJCQkvLyBjYWxsaW5nIF9zZXRUaW1lIHdpdGggbm8gZGF0ZSBzZXRzIHRpbWUgdG8gZGVmYXVsdHMKCQkJdHBfaW5zdC5ob3VyID0gZGF0ZSA/IGRhdGUuZ2V0SG91cnMoKSA6IGRlZmF1bHRzLmhvdXI7CgkJCXRwX2luc3QubWludXRlID0gZGF0ZSA/IGRhdGUuZ2V0TWludXRlcygpIDogZGVmYXVsdHMubWludXRlOwoJCQl0cF9pbnN0LnNlY29uZCA9IGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6IGRlZmF1bHRzLnNlY29uZDsKCQkJdHBfaW5zdC5taWxsaXNlYyA9IGRhdGUgPyBkYXRlLmdldE1pbGxpc2Vjb25kcygpIDogZGVmYXVsdHMubWlsbGlzZWM7CgoJCQkvL2NoZWNrIGlmIHdpdGhpbiBtaW4vbWF4IHRpbWVzLi4gCgkJCXRwX2luc3QuX2xpbWl0TWluTWF4RGF0ZVRpbWUoaW5zdCwgdHJ1ZSk7CgoJCQl0cF9pbnN0Ll9vblRpbWVDaGFuZ2UoKTsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJfQoJfTsKCgkvKgoJKiBDcmVhdGUgbmV3IHB1YmxpYyBtZXRob2QgdG8gc2V0IG9ubHkgdGltZSwgY2FsbGFibGUgYXMgJCgpLmRhdGVwaWNrZXIoJ3NldFRpbWUnLCBkYXRlKQoJKi8KCSQuZGF0ZXBpY2tlci5fc2V0VGltZURhdGVwaWNrZXIgPSBmdW5jdGlvbih0YXJnZXQsIGRhdGUsIHdpdGhEYXRlKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgoJCWlmICh0cF9pbnN0KSB7CgkJCXRoaXMuX3NldERhdGVGcm9tRmllbGQoaW5zdCk7CgkJCXZhciB0cF9kYXRlOwoJCQlpZiAoZGF0ZSkgewoJCQkJaWYgKHR5cGVvZiBkYXRlID09ICJzdHJpbmciKSB7CgkJCQkJdHBfaW5zdC5fcGFyc2VUaW1lKGRhdGUsIHdpdGhEYXRlKTsKCQkJCQl0cF9kYXRlID0gbmV3IERhdGUoKTsKCQkJCQl0cF9kYXRlLnNldEhvdXJzKHRwX2luc3QuaG91ciwgdHBfaW5zdC5taW51dGUsIHRwX2luc3Quc2Vjb25kLCB0cF9pbnN0Lm1pbGxpc2VjKTsKCQkJCX0gZWxzZSB7CgkJCQkJdHBfZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTsKCQkJCX0KCQkJCWlmICh0cF9kYXRlLnRvU3RyaW5nKCkgPT0gJ0ludmFsaWQgRGF0ZScpIHsKCQkJCQl0cF9kYXRlID0gdW5kZWZpbmVkOwoJCQkJfQoJCQkJdGhpcy5fc2V0VGltZShpbnN0LCB0cF9kYXRlKTsKCQkJfQoJCX0KCgl9OwoKCS8qCgkqIG92ZXJyaWRlIHNldERhdGUoKSB0byBhbGxvdyBzZXR0aW5nIHRpbWUgdG9vIHdpdGhpbiBEYXRlIG9iamVjdAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9zZXREYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fc2V0RGF0ZURhdGVwaWNrZXI7CgkkLmRhdGVwaWNrZXIuX3NldERhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBkYXRlKSB7CgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KHRhcmdldCk7CgkJaWYgKCFpbnN0KSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cF9kYXRlID0gKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSA/IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKSA6IGRhdGU7CgoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoaW5zdCk7CgkJdGhpcy5fYmFzZV9zZXREYXRlRGF0ZXBpY2tlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCXRoaXMuX3NldFRpbWVEYXRlcGlja2VyKHRhcmdldCwgdHBfZGF0ZSwgdHJ1ZSk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIGdldERhdGUoKSB0byBhbGxvdyBnZXR0aW5nIHRpbWUgdG9vIHdpdGhpbiBEYXRlIG9iamVjdAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9nZXREYXRlRGF0ZXBpY2tlciA9ICQuZGF0ZXBpY2tlci5fZ2V0RGF0ZURhdGVwaWNrZXI7CgkkLmRhdGVwaWNrZXIuX2dldERhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBub0RlZmF1bHQpIHsKCQl2YXIgaW5zdCA9IHRoaXMuX2dldEluc3QodGFyZ2V0KTsKCQlpZiAoIWluc3QpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIHRwX2luc3QgPSB0aGlzLl9nZXQoaW5zdCwgJ3RpbWVwaWNrZXInKTsKCgkJaWYgKHRwX2luc3QpIHsKCQkJLy8gaWYgaXQgaGFzbid0IHlldCBiZWVuIGRlZmluZWQsIGdyYWIgZnJvbSBmaWVsZAoJCQlpZihpbnN0Lmxhc3RWYWwgPT09IHVuZGVmaW5lZCl7CgkJCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKGluc3QsIG5vRGVmYXVsdCk7CgkJCX0KCgkJCXZhciBkYXRlID0gdGhpcy5fZ2V0RGF0ZShpbnN0KTsKCQkJaWYgKGRhdGUgJiYgdHBfaW5zdC5fcGFyc2VUaW1lKCQodGFyZ2V0KS52YWwoKSwgdHBfaW5zdC50aW1lT25seSkpIHsKCQkJCWRhdGUuc2V0SG91cnModHBfaW5zdC5ob3VyLCB0cF9pbnN0Lm1pbnV0ZSwgdHBfaW5zdC5zZWNvbmQsIHRwX2luc3QubWlsbGlzZWMpOwoJCQl9CgkJCXJldHVybiBkYXRlOwoJCX0KCQlyZXR1cm4gdGhpcy5fYmFzZV9nZXREYXRlRGF0ZXBpY2tlcih0YXJnZXQsIG5vRGVmYXVsdCk7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIHBhcnNlRGF0ZSgpIGJlY2F1c2UgVUkgMS44LjE0IHRocm93cyBhbiBlcnJvciBhYm91dCAiRXh0cmEgY2hhcmFjdGVycyIKCSogQW4gb3B0aW9uIGluIGRhdGFwaWNrZXIgdG8gaWdub3JlIGV4dHJhIGZvcm1hdCBjaGFyYWN0ZXJzIHdvdWxkIGJlIG5pY2VyLgoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9wYXJzZURhdGUgPSAkLmRhdGVwaWNrZXIucGFyc2VEYXRlOwoJJC5kYXRlcGlja2VyLnBhcnNlRGF0ZSA9IGZ1bmN0aW9uKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKSB7CgkJdmFyIGRhdGU7CgkJdHJ5IHsKCQkJZGF0ZSA9IHRoaXMuX2Jhc2VfcGFyc2VEYXRlKGZvcm1hdCwgdmFsdWUsIHNldHRpbmdzKTsKCQl9IGNhdGNoIChlcnIpIHsKCQkJLy8gSGFjayEgIFRoZSBlcnJvciBtZXNzYWdlIGVuZHMgd2l0aCBhIGNvbG9uLCBhIHNwYWNlLCBhbmQKCQkJLy8gdGhlICJleHRyYSIgY2hhcmFjdGVycy4gIFdlIHJlbHkgb24gdGhhdCBpbnN0ZWFkIG9mCgkJCS8vIGF0dGVtcHRpbmcgdG8gcGVyZmVjdGx5IHJlcHJvZHVjZSB0aGUgcGFyc2luZyBhbGdvcml0aG0uCgkJCWRhdGUgPSB0aGlzLl9iYXNlX3BhcnNlRGF0ZShmb3JtYXQsIHZhbHVlLnN1YnN0cmluZygwLHZhbHVlLmxlbmd0aC0oZXJyLmxlbmd0aC1lcnIuaW5kZXhPZignOicpLTIpKSwgc2V0dGluZ3MpOwoJCQkkLmRhdGVwaWNrZXIubG9nKCJFcnJvciBwYXJzaW5nIHRoZSBkYXRlIHN0cmluZzogIiArIGVyciArICJcbmRhdGUgc3RyaW5nID0gIiArIHZhbHVlICsgIlxuZGF0ZSBmb3JtYXQgPSAiICsgZm9ybWF0KTsKCQl9CgkJcmV0dXJuIGRhdGU7Cgl9OwoKCS8qCgkqIG92ZXJyaWRlIGZvcm1hdERhdGUgdG8gc2V0IGRhdGUgd2l0aCB0aW1lIHRvIHRoZSBpbnB1dAoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9mb3JtYXREYXRlID0gJC5kYXRlcGlja2VyLl9mb3JtYXREYXRlOwoJJC5kYXRlcGlja2VyLl9mb3JtYXREYXRlID0gZnVuY3Rpb24oaW5zdCwgZGF5LCBtb250aCwgeWVhcikgewoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdHBfaW5zdC5fdXBkYXRlRGF0ZVRpbWUoaW5zdCk7CgkJCXJldHVybiB0cF9pbnN0LiRpbnB1dC52YWwoKTsKCQl9CgkJcmV0dXJuIHRoaXMuX2Jhc2VfZm9ybWF0RGF0ZShpbnN0KTsKCX07CgoJLyoKCSogb3ZlcnJpZGUgb3B0aW9ucyBzZXR0ZXIgdG8gYWRkIHRpbWUgdG8gbWF4RGF0ZShUaW1lKSBhbmQgbWluRGF0ZShUaW1lKS4gTWF4RGF0ZQoJKi8KCSQuZGF0ZXBpY2tlci5fYmFzZV9vcHRpb25EYXRlcGlja2VyID0gJC5kYXRlcGlja2VyLl9vcHRpb25EYXRlcGlja2VyOwoJJC5kYXRlcGlja2VyLl9vcHRpb25EYXRlcGlja2VyID0gZnVuY3Rpb24odGFyZ2V0LCBuYW1lLCB2YWx1ZSkgewoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCh0YXJnZXQpLAoJICAgICAgICBuYW1lX2Nsb25lOwoJCWlmICghaW5zdCkgewoJCQlyZXR1cm4gbnVsbDsKCQl9CgoJCXZhciB0cF9pbnN0ID0gdGhpcy5fZ2V0KGluc3QsICd0aW1lcGlja2VyJyk7CgkJaWYgKHRwX2luc3QpIHsKCQkJdmFyIG1pbiA9IG51bGwsCgkJCQltYXggPSBudWxsLAoJCQkJb25zZWxlY3QgPSBudWxsLAoJCQkJb3ZlcnJpZGVzID0gdHBfaW5zdC5fZGVmYXVsdHMuZXZudHMsCgkJCQlmbnMgPSB7fSwKCQkJCXByb3A7CgkJICAgIGlmICh0eXBlb2YgbmFtZSA9PSAnc3RyaW5nJykgeyAvLyBpZiBtaW4vbWF4IHdhcyBzZXQgd2l0aCB0aGUgc3RyaW5nCgkJICAgICAgICBpZiAobmFtZSA9PT0gJ21pbkRhdGUnIHx8IG5hbWUgPT09ICdtaW5EYXRlVGltZScpIHsKCQkgICAgICAgICAgICBtaW4gPSB2YWx1ZTsKCQkgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ21heERhdGUnIHx8IG5hbWUgPT09ICdtYXhEYXRlVGltZScpIHsKCQkgICAgICAgICAgICBtYXggPSB2YWx1ZTsKCQkgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ29uU2VsZWN0JykgewoJCSAgICAgICAgICAgIG9uc2VsZWN0ID0gdmFsdWU7CgkJICAgICAgICB9IGVsc2UgaWYgKG92ZXJyaWRlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgewoJCSAgICAgICAgICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkgICAgICAgICAgICAgICAgcmV0dXJuIG92ZXJyaWRlc1tuYW1lXTsKCQkgICAgICAgICAgICB9CgkJICAgICAgICAgICAgZm5zW25hbWVdID0gdmFsdWU7CgkJICAgICAgICAgICAgbmFtZV9jbG9uZSA9IHt9OyAvL2VtcHR5IHJlc3VsdHMgaW4gZXhpdGluZyBmdW5jdGlvbiBhZnRlciBvdmVycmlkZXMgdXBkYXRlZAoJCSAgICAgICAgfQoJCSAgICB9IGVsc2UgaWYgKHR5cGVvZiBuYW1lID09ICdvYmplY3QnKSB7IC8vaWYgbWluL21heCB3YXMgc2V0IHdpdGggdGhlIEpTT04KCQkgICAgICAgIGlmIChuYW1lLm1pbkRhdGUpIHsKCQkgICAgICAgICAgICBtaW4gPSBuYW1lLm1pbkRhdGU7CgkJICAgICAgICB9IGVsc2UgaWYgKG5hbWUubWluRGF0ZVRpbWUpIHsKCQkgICAgICAgICAgICBtaW4gPSBuYW1lLm1pbkRhdGVUaW1lOwoJCSAgICAgICAgfSBlbHNlIGlmIChuYW1lLm1heERhdGUpIHsKCQkgICAgICAgICAgICBtYXggPSBuYW1lLm1heERhdGU7CgkJICAgICAgICB9IGVsc2UgaWYgKG5hbWUubWF4RGF0ZVRpbWUpIHsKCQkgICAgICAgICAgICBtYXggPSBuYW1lLm1heERhdGVUaW1lOwoJCSAgICAgICAgfQoJCSAgICAgICAgZm9yIChwcm9wIGluIG92ZXJyaWRlcykgewoJCSAgICAgICAgICAgIGlmIChvdmVycmlkZXMuaGFzT3duUHJvcGVydHkocHJvcCkgJiYgbmFtZVtwcm9wXSkgewoJCSAgICAgICAgICAgICAgICBmbnNbcHJvcF0gPSBuYW1lW3Byb3BdOwoJCSAgICAgICAgICAgIH0KCQkgICAgICAgIH0KCQkgICAgfQoJCSAgICBmb3IgKHByb3AgaW4gZm5zKSB7CgkJICAgICAgICBpZiAoZm5zLmhhc093blByb3BlcnR5KHByb3ApKSB7CgkJICAgICAgICAgICAgb3ZlcnJpZGVzW3Byb3BdID0gZm5zW3Byb3BdOwoJCSAgICAgICAgICAgIGlmICghbmFtZV9jbG9uZSkgeyBuYW1lX2Nsb25lID0gJC5leHRlbmQoe30sIG5hbWUpO30KCQkgICAgICAgICAgICBkZWxldGUgbmFtZV9jbG9uZVtwcm9wXTsKCQkgICAgICAgIH0KCQkgICAgfQoJCSAgICBpZiAobmFtZV9jbG9uZSAmJiBpc0VtcHR5T2JqZWN0KG5hbWVfY2xvbmUpKSB7IHJldHVybjsgfQoJCSAgICBpZiAobWluKSB7IC8vaWYgbWluIHdhcyBzZXQKCQkgICAgICAgIGlmIChtaW4gPT09IDApIHsKCQkgICAgICAgICAgICBtaW4gPSBuZXcgRGF0ZSgpOwoJCSAgICAgICAgfSBlbHNlIHsKCQkgICAgICAgICAgICBtaW4gPSBuZXcgRGF0ZShtaW4pOwoJCSAgICAgICAgfQoJCSAgICAgICAgdHBfaW5zdC5fZGVmYXVsdHMubWluRGF0ZSA9IG1pbjsKCQkgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLm1pbkRhdGVUaW1lID0gbWluOwoJCSAgICB9IGVsc2UgaWYgKG1heCkgeyAvL2lmIG1heCB3YXMgc2V0CgkJICAgICAgICBpZiAobWF4ID09PSAwKSB7CgkJICAgICAgICAgICAgbWF4ID0gbmV3IERhdGUoKTsKCQkgICAgICAgIH0gZWxzZSB7CgkJICAgICAgICAgICAgbWF4ID0gbmV3IERhdGUobWF4KTsKCQkgICAgICAgIH0KCQkgICAgICAgIHRwX2luc3QuX2RlZmF1bHRzLm1heERhdGUgPSBtYXg7CgkJICAgICAgICB0cF9pbnN0Ll9kZWZhdWx0cy5tYXhEYXRlVGltZSA9IG1heDsKCQkgICAgfSBlbHNlIGlmIChvbnNlbGVjdCkgewoJCSAgICAgICAgdHBfaW5zdC5fZGVmYXVsdHMub25TZWxlY3QgPSBvbnNlbGVjdDsKCQkgICAgfQoJCX0KCQlpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gdGhpcy5fYmFzZV9vcHRpb25EYXRlcGlja2VyLmNhbGwoJC5kYXRlcGlja2VyLCB0YXJnZXQsIG5hbWUpOwoJCX0KCQlyZXR1cm4gdGhpcy5fYmFzZV9vcHRpb25EYXRlcGlja2VyLmNhbGwoJC5kYXRlcGlja2VyLCB0YXJnZXQsIG5hbWVfY2xvbmUgfHwgbmFtZSwgdmFsdWUpOwoJfTsKCS8qCgkqIGpRdWVyeSBpc0VtcHR5T2JqZWN0IGRvZXMgbm90IGNoZWNrIGhhc093blByb3BlcnR5IC0gaWYgc29tZW9uZSBoYXMgYWRkZWQgdG8gdGhlIG9iamVjdCBwcm90b3R5cGUsCgkqIGl0IHdpbGwgcmV0dXJuIGZhbHNlIGZvciBhbGwgb2JqZWN0cwoJKi8KCXZhciBpc0VtcHR5T2JqZWN0ID0gZnVuY3Rpb24ob2JqKSB7CgkJdmFyIHByb3A7CgkJZm9yIChwcm9wIGluIG9iaikgewoJCQlpZiAob2JqLmhhc093blByb3BlcnR5KG9iaikpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX07CgoJLyoKCSogalF1ZXJ5IGV4dGVuZCBub3cgaWdub3JlcyBudWxscyEKCSovCgl2YXIgZXh0ZW5kUmVtb3ZlID0gZnVuY3Rpb24odGFyZ2V0LCBwcm9wcykgewoJCSQuZXh0ZW5kKHRhcmdldCwgcHJvcHMpOwoJCWZvciAodmFyIG5hbWUgaW4gcHJvcHMpIHsKCQkJaWYgKHByb3BzW25hbWVdID09PSBudWxsIHx8IHByb3BzW25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCXRhcmdldFtuYW1lXSA9IHByb3BzW25hbWVdOwoJCQl9CgkJfQoJCXJldHVybiB0YXJnZXQ7Cgl9OwoKCS8qCgkqIERldGVybWluZSBieSB0aGUgdGltZSBmb3JtYXQgaWYgc2hvdWxkIHVzZSBhbXBtCgkqIFJldHVybnMgdHJ1ZSBpZiBzaG91bGQgdXNlIGFtcG0sIGZhbHNlIGlmIG5vdAoJKi8KCXZhciB1c2VBbXBtID0gZnVuY3Rpb24odGltZUZvcm1hdCl7CgkJcmV0dXJuICh0aW1lRm9ybWF0LmluZGV4T2YoJ3QnKSAhPT0gLTEgJiYgdGltZUZvcm1hdC5pbmRleE9mKCdoJykgIT09IC0xKTsKCX07CgoJLyoKCSogQ29udmVydHMgMjQgaG91ciBmb3JtYXQgaW50byAxMiBob3VyCgkqIFJldHVybnMgMTIgaG91ciB3aXRob3V0IGxlYWRpbmcgMAoJKi8KCXZhciBjb252ZXJ0MjR0bzEyID0gZnVuY3Rpb24oaG91cikgewoJCWlmIChob3VyID4gMTIpIHsKCQkJaG91ciA9IGhvdXIgLSAxMjsKCQl9CgoJCWlmIChob3VyID09IDApIHsKCQkJaG91ciA9IDEyOwoJCX0KCgkJcmV0dXJuIFN0cmluZyhob3VyKTsKCX07CgoJLyoKCSogU3BsaXRzIGRhdGV0aW1lIHN0cmluZyBpbnRvIGRhdGUgYW5zIHRpbWUgc3Vic3RyaW5ncy4KCSogVGhyb3dzIGV4Y2VwdGlvbiB3aGVuIGRhdGUgY2FuJ3QgYmUgcGFyc2VkCgkqIFJldHVybnMgW2RhdGVTdHJpbmcsIHRpbWVTdHJpbmddCgkqLwoJdmFyIHNwbGl0RGF0ZVRpbWUgPSBmdW5jdGlvbihkYXRlRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpIHsKCQl0cnkgewoJCQkvLyBUaGUgaWRlYSBpcyB0byBnZXQgdGhlIG51bWJlciBzZXBhcmF0b3Igb2NjdXJhbmNlcyBpbiBkYXRldGltZSBhbmQgdGhlIHRpbWUgZm9ybWF0IHJlcXVlc3RlZCAoc2luY2UgdGltZSBoYXMgCgkJCS8vIGZld2VyIHVua25vd25zLCBtb3N0bHkgbnVtYmVycyBhbmQgYW0vcG0pLiBXZSB3aWxsIHVzZSB0aGUgdGltZSBwYXR0ZXJuIHRvIHNwbGl0LgoJCQl2YXIgc2VwYXJhdG9yID0gdGltZVNldHRpbmdzICYmIHRpbWVTZXR0aW5ncy5zZXBhcmF0b3IgPyB0aW1lU2V0dGluZ3Muc2VwYXJhdG9yIDogJC50aW1lcGlja2VyLl9kZWZhdWx0cy5zZXBhcmF0b3IsCgkJCQlmb3JtYXQgPSB0aW1lU2V0dGluZ3MgJiYgdGltZVNldHRpbmdzLnRpbWVGb3JtYXQgPyB0aW1lU2V0dGluZ3MudGltZUZvcm1hdCA6ICQudGltZXBpY2tlci5fZGVmYXVsdHMudGltZUZvcm1hdCwKCQkJCXRpbWVQYXJ0cyA9IGZvcm1hdC5zcGxpdChzZXBhcmF0b3IpLCAvLyBob3cgbWFueSBvY2N1cmFuY2VzIG9mIHNlcGFyYXRvciBtYXkgYmUgaW4gb3VyIGZvcm1hdD8KCQkJCXRpbWVQYXJ0c0xlbiA9IHRpbWVQYXJ0cy5sZW5ndGgsCgkJCQlhbGxQYXJ0cyA9IGRhdGVUaW1lU3RyaW5nLnNwbGl0KHNlcGFyYXRvciksCgkJCQlhbGxQYXJ0c0xlbiA9IGFsbFBhcnRzLmxlbmd0aDsKCgkJCWlmIChhbGxQYXJ0c0xlbiA+IDEpIHsKCQkJCXJldHVybiBbCgkJCQkJCWFsbFBhcnRzLnNwbGljZSgwLGFsbFBhcnRzTGVuLXRpbWVQYXJ0c0xlbikuam9pbihzZXBhcmF0b3IpLAoJCQkJCQlhbGxQYXJ0cy5zcGxpY2UoMCx0aW1lUGFydHNMZW4pLmpvaW4oc2VwYXJhdG9yKQoJCQkJCV07CgkJCX0KCgkJfSBjYXRjaCAoZXJyKSB7CgkJCSQuZGF0ZXBpY2tlci5sb2coJ0NvdWxkIG5vdCBzcGxpdCB0aGUgZGF0ZSBmcm9tIHRoZSB0aW1lLiBQbGVhc2UgY2hlY2sgdGhlIGZvbGxvd2luZyBkYXRldGltZXBpY2tlciBvcHRpb25zJyArCgkJCQkJIlxudGhyb3duIGVycm9yOiAiICsgZXJyICsKCQkJCQkiXG5kYXRlVGltZVN0cmluZyIgKyBkYXRlVGltZVN0cmluZyArCgkJCQkJIlxuZGF0ZUZvcm1hdCA9ICIgKyBkYXRlRm9ybWF0ICsKCQkJCQkiXG5zZXBhcmF0b3IgPSAiICsgdGltZVNldHRpbmdzLnNlcGFyYXRvciArCgkJCQkJIlxudGltZUZvcm1hdCA9ICIgKyB0aW1lU2V0dGluZ3MudGltZUZvcm1hdCk7CgoJCQlpZiAoZXJyLmluZGV4T2YoIjoiKSA+PSAwKSB7CgkJCQkvLyBIYWNrISAgVGhlIGVycm9yIG1lc3NhZ2UgZW5kcyB3aXRoIGEgY29sb24sIGEgc3BhY2UsIGFuZAoJCQkJLy8gdGhlICJleHRyYSIgY2hhcmFjdGVycy4gIFdlIHJlbHkgb24gdGhhdCBpbnN0ZWFkIG9mCgkJCQkvLyBhdHRlbXB0aW5nIHRvIHBlcmZlY3RseSByZXByb2R1Y2UgdGhlIHBhcnNpbmcgYWxnb3JpdGhtLgoJCQkJdmFyIGRhdGVTdHJpbmdMZW5ndGggPSBkYXRlVGltZVN0cmluZy5sZW5ndGggLSAoZXJyLmxlbmd0aCAtIGVyci5pbmRleE9mKCc6JykgLSAyKSwKCQkJCQl0aW1lU3RyaW5nID0gZGF0ZVRpbWVTdHJpbmcuc3Vic3RyaW5nKGRhdGVTdHJpbmdMZW5ndGgpOwoKCQkJCXJldHVybiBbJC50cmltKGRhdGVUaW1lU3RyaW5nLnN1YnN0cmluZygwLCBkYXRlU3RyaW5nTGVuZ3RoKSksICQudHJpbShkYXRlVGltZVN0cmluZy5zdWJzdHJpbmcoZGF0ZVN0cmluZ0xlbmd0aCkpXTsKCgkJCX0gZWxzZSB7CgkJCQl0aHJvdyBlcnI7CgkJCX0KCQl9CgkJcmV0dXJuIFtkYXRlVGltZVN0cmluZywgJyddOwoJfTsKCgkvKgoJKiBJbnRlcm5hbCBmdW5jdGlvbiB0byBwYXJzZSBkYXRldGltZSBpbnRlcnZhbAoJKiBSZXR1cm5zOiB7ZGF0ZTogRGF0ZSwgdGltZU9iajogT2JqZWN0fSwgd2hlcmUKCSogICBkYXRlIC0gcGFyc2VkIGRhdGUgd2l0aG91dCB0aW1lICh0eXBlIERhdGUpCgkqICAgdGltZU9iaiA9IHtob3VyOiAsIG1pbnV0ZTogLCBzZWNvbmQ6ICwgbWlsbGlzZWM6IH0gLSBwYXJzZWQgdGltZS4gT3B0aW9uYWwKCSovCgl2YXIgcGFyc2VEYXRlVGltZUludGVybmFsID0gZnVuY3Rpb24oZGF0ZUZvcm1hdCwgdGltZUZvcm1hdCwgZGF0ZVRpbWVTdHJpbmcsIGRhdGVTZXR0aW5ncywgdGltZVNldHRpbmdzKSB7CgkJdmFyIGRhdGU7CgkJdmFyIHNwbGl0UmVzID0gc3BsaXREYXRlVGltZShkYXRlRm9ybWF0LCBkYXRlVGltZVN0cmluZywgZGF0ZVNldHRpbmdzLCB0aW1lU2V0dGluZ3MpOwoJCWRhdGUgPSAkLmRhdGVwaWNrZXIuX2Jhc2VfcGFyc2VEYXRlKGRhdGVGb3JtYXQsIHNwbGl0UmVzWzBdLCBkYXRlU2V0dGluZ3MpOwoJCWlmIChzcGxpdFJlc1sxXSAhPT0gJycpIHsKCQkJdmFyIHRpbWVTdHJpbmcgPSBzcGxpdFJlc1sxXSwKCQkJCXBhcnNlZFRpbWUgPSAkLmRhdGVwaWNrZXIucGFyc2VUaW1lKHRpbWVGb3JtYXQsIHRpbWVTdHJpbmcsIHRpbWVTZXR0aW5ncyk7CgoJCQlpZiAocGFyc2VkVGltZSA9PT0gbnVsbCkgewoJCQkJdGhyb3cgJ1dyb25nIHRpbWUgZm9ybWF0JzsKCQkJfQoJCQlyZXR1cm4gewoJCQkJZGF0ZTogZGF0ZSwKCQkJCXRpbWVPYmo6IHBhcnNlZFRpbWUKCQkJfTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gewoJCQkJZGF0ZTogZGF0ZQoJCQl9OwoJCX0KCX07CgoJLyoKCSogSW50ZXJuYWwgZnVuY3Rpb24gdG8gc2V0IHRpbWV6b25lX3NlbGVjdCB0byB0aGUgbG9jYWwgdGltZXpvbmUKCSovCgl2YXIgc2VsZWN0TG9jYWxUaW1lWm9uZSA9IGZ1bmN0aW9uKHRwX2luc3QsIGRhdGUpIHsKCQlpZiAodHBfaW5zdCAmJiB0cF9pbnN0LnRpbWV6b25lX3NlbGVjdCkgewoJCQl0cF9pbnN0Ll9kZWZhdWx0cy51c2VMb2NhbFRpbWV6b25lID0gdHJ1ZTsKCQkJdmFyIG5vdyA9IHR5cGVvZiBkYXRlICE9PSAndW5kZWZpbmVkJyA/IGRhdGUgOiBuZXcgRGF0ZSgpOwoJCQl2YXIgdHpvZmZzZXQgPSAkLnRpbWVwaWNrZXIudGltZVpvbmVPZmZzZXRTdHJpbmcobm93KTsKCQkJaWYgKHRwX2luc3QuX2RlZmF1bHRzLnRpbWV6b25lSXNvODYwMSkgewoJCQkJdHpvZmZzZXQgPSB0em9mZnNldC5zdWJzdHJpbmcoMCwgMykgKyAnOicgKyB0em9mZnNldC5zdWJzdHJpbmcoMyk7CgkJCX0KCQkJdHBfaW5zdC50aW1lem9uZV9zZWxlY3QudmFsKHR6b2Zmc2V0KTsKCQl9Cgl9OwoKCS8qCgkqIENyZWF0ZSBhIFNpbmdsZXRvbiBJbnNhbmNlCgkqLwoJJC50aW1lcGlja2VyID0gbmV3IFRpbWVwaWNrZXIoKTsKCgkvKioKCSAqIEdldCB0aGUgdGltZXpvbmUgb2Zmc2V0IGFzIHN0cmluZyBmcm9tIGEgZGF0ZSBvYmplY3QgKGVnICcrMDUzMCcgZm9yIFVUQys1LjUpCgkgKiBAcGFyYW0gIGRhdGUKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCSQudGltZXBpY2tlci50aW1lWm9uZU9mZnNldFN0cmluZyA9IGZ1bmN0aW9uKGRhdGUpIHsKCQl2YXIgb2ZmID0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogLTEsCgkJCW1pbnV0ZXMgPSBvZmYgJSA2MCwKCQkJaG91cnMgPSAob2ZmIC0gbWludXRlcykgLyA2MDsKCQlyZXR1cm4gKG9mZiA+PSAwID8gJysnIDogJy0nKSArICgnMCcgKyAoaG91cnMgKiAxMDEpLnRvU3RyaW5nKCkpLnN1YnN0cigtMikgKyAoJzAnICsgKG1pbnV0ZXMgKiAxMDEpLnRvU3RyaW5nKCkpLnN1YnN0cigtMik7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYHRpbWVwaWNrZXIoKWAgb24gdGhlIGBzdGFydFRpbWVgIGFuZCBgZW5kVGltZWAgZWxlbWVudHMsIGFuZCBjb25maWd1cmVzIHRoZW0gdG8KCSAqIGVuZm9yY2UgZGF0ZSByYW5nZSBsaW1pdHMuCgkgKiBuLmIuIFRoZSBpbnB1dCB2YWx1ZSBtdXN0IGJlIGNvcnJlY3RseSBmb3JtYXR0ZWQgKHJlZm9ybWF0dGluZyBpcyBub3Qgc3VwcG9ydGVkKQoJICogQHBhcmFtICBFbGVtZW50IHN0YXJ0VGltZQoJICogQHBhcmFtICBFbGVtZW50IGVuZFRpbWUKCSAqIEBwYXJhbSAgb2JqIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHRpbWVwaWNrZXIoKSBjYWxsCgkgKiBAcmV0dXJuIGpRdWVyeQoJICovCgkkLnRpbWVwaWNrZXIudGltZVJhbmdlID0gZnVuY3Rpb24oc3RhcnRUaW1lLCBlbmRUaW1lLCBvcHRpb25zKSB7CgkJcmV0dXJuICQudGltZXBpY2tlci5oYW5kbGVSYW5nZSgndGltZXBpY2tlcicsIHN0YXJ0VGltZSwgZW5kVGltZSwgb3B0aW9ucyk7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYGRhdGV0aW1lcGlja2VyYCBvbiB0aGUgYHN0YXJ0VGltZWAgYW5kIGBlbmRUaW1lYCBlbGVtZW50cywgYW5kIGNvbmZpZ3VyZXMgdGhlbSB0bwoJICogZW5mb3JjZSBkYXRlIHJhbmdlIGxpbWl0cy4KCSAqIEBwYXJhbSAgRWxlbWVudCBzdGFydFRpbWUKCSAqIEBwYXJhbSAgRWxlbWVudCBlbmRUaW1lCgkgKiBAcGFyYW0gIG9iaiBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSBgdGltZXBpY2tlcigpYCBjYWxsLiBBbHNvIHN1cHBvcnRzIGByZWZvcm1hdGAsCgkgKiAgIGEgYm9vbGVhbiB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZm9ybWF0IHRoZSBpbnB1dCB2YWx1ZXMgdG8gdGhlIGBkYXRlRm9ybWF0YC4KCSAqIEBwYXJhbSAgc3RyaW5nIG1ldGhvZCBDYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIHBpY2tlciB0byBiZSBhZGRlZAoJICogQHJldHVybiBqUXVlcnkKCSAqLwoJJC50aW1lcGlja2VyLmRhdGVUaW1lUmFuZ2UgPSBmdW5jdGlvbihzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMpIHsKCQkkLnRpbWVwaWNrZXIuZGF0ZVJhbmdlKHN0YXJ0VGltZSwgZW5kVGltZSwgb3B0aW9ucywgJ2RhdGV0aW1lcGlja2VyJyk7Cgl9OwoKCS8qKgoJICogQ2FsbHMgYG1ldGhvZGAgb24gdGhlIGBzdGFydFRpbWVgIGFuZCBgZW5kVGltZWAgZWxlbWVudHMsIGFuZCBjb25maWd1cmVzIHRoZW0gdG8KCSAqIGVuZm9yY2UgZGF0ZSByYW5nZSBsaW1pdHMuCgkgKiBAcGFyYW0gIEVsZW1lbnQgc3RhcnRUaW1lCgkgKiBAcGFyYW0gIEVsZW1lbnQgZW5kVGltZQoJICogQHBhcmFtICBvYmogb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgYHRpbWVwaWNrZXIoKWAgY2FsbC4gQWxzbyBzdXBwb3J0cyBgcmVmb3JtYXRgLAoJICogICBhIGJvb2xlYW4gdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCB0byByZWZvcm1hdCB0aGUgaW5wdXQgdmFsdWVzIHRvIHRoZSBgZGF0ZUZvcm1hdGAuCgkgKiBAcGFyYW0gIHN0cmluZyBtZXRob2QgQ2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgdHlwZSBvZiBwaWNrZXIgdG8gYmUgYWRkZWQKCSAqIEByZXR1cm4galF1ZXJ5CgkgKi8KCSQudGltZXBpY2tlci5kYXRlUmFuZ2UgPSBmdW5jdGlvbihzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMsIG1ldGhvZCkgewoJCW1ldGhvZCA9IG1ldGhvZCB8fCAnZGF0ZXBpY2tlcic7CgkJJC50aW1lcGlja2VyLmhhbmRsZVJhbmdlKG1ldGhvZCwgc3RhcnRUaW1lLCBlbmRUaW1lLCBvcHRpb25zKTsKCX07CgoJLyoqCgkgKiBDYWxscyBgbWV0aG9kYCBvbiB0aGUgYHN0YXJ0VGltZWAgYW5kIGBlbmRUaW1lYCBlbGVtZW50cywgYW5kIGNvbmZpZ3VyZXMgdGhlbSB0bwoJICogZW5mb3JjZSBkYXRlIHJhbmdlIGxpbWl0cy4KCSAqIEBwYXJhbSAgc3RyaW5nIG1ldGhvZCBDYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIHBpY2tlciB0byBiZSBhZGRlZAoJICogQHBhcmFtICBFbGVtZW50IHN0YXJ0VGltZQoJICogQHBhcmFtICBFbGVtZW50IGVuZFRpbWUKCSAqIEBwYXJhbSAgb2JqIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIGB0aW1lcGlja2VyKClgIGNhbGwuIEFsc28gc3VwcG9ydHMgYHJlZm9ybWF0YCwKCSAqICAgYSBib29sZWFuIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVmb3JtYXQgdGhlIGlucHV0IHZhbHVlcyB0byB0aGUgYGRhdGVGb3JtYXRgLgoJICogQHJldHVybiBqUXVlcnkKCSAqLwoJJC50aW1lcGlja2VyLmhhbmRsZVJhbmdlID0gZnVuY3Rpb24obWV0aG9kLCBzdGFydFRpbWUsIGVuZFRpbWUsIG9wdGlvbnMpIHsKCQkkLmZuW21ldGhvZF0uY2FsbChzdGFydFRpbWUsICQuZXh0ZW5kKHsKCQkJb25DbG9zZTogZnVuY3Rpb24oZGF0ZVRleHQsIGluc3QpIHsKCQkJCWNoZWNrRGF0ZXModGhpcywgZW5kVGltZSwgZGF0ZVRleHQpOwoJCQl9LAoJCQlvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0ZWREYXRlVGltZSkgewoJCQkJc2VsZWN0ZWQodGhpcywgZW5kVGltZSwgJ21pbkRhdGUnKTsKCQkJfQoJCX0sIG9wdGlvbnMsIG9wdGlvbnMuc3RhcnQpKTsKCQkkLmZuW21ldGhvZF0uY2FsbChlbmRUaW1lLCAkLmV4dGVuZCh7CgkJCW9uQ2xvc2U6IGZ1bmN0aW9uKGRhdGVUZXh0LCBpbnN0KSB7CgkJCQljaGVja0RhdGVzKHRoaXMsIHN0YXJ0VGltZSwgZGF0ZVRleHQpOwoJCQl9LAoJCQlvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0ZWREYXRlVGltZSkgewoJCQkJc2VsZWN0ZWQodGhpcywgc3RhcnRUaW1lLCAnbWF4RGF0ZScpOwoJCQl9CgkJfSwgb3B0aW9ucywgb3B0aW9ucy5lbmQpKTsKCQkvLyB0aW1lcGlja2VyIGRvZXNuJ3QgcHJvdmlkZSBhY2Nlc3MgdG8gaXRzICd0aW1lRm9ybWF0JyBvcHRpb24sIAoJCS8vIG5vciBjb3VsZCBJIGdldCBkYXRlcGlja2VyLmZvcm1hdFRpbWUoKSB0byBiZWhhdmUgd2l0aCB0aW1lcywgc28gSQoJCS8vIGhhdmUgZGlzYWJsZWQgcmVmb3JtYXR0aW5nIGZvciB0aW1lcGlja2VyCgkJaWYgKG1ldGhvZCAhPSAndGltZXBpY2tlcicgJiYgb3B0aW9ucy5yZWZvcm1hdCkgewoJCQkkKFtzdGFydFRpbWUsIGVuZFRpbWVdKS5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyIGZvcm1hdCA9ICQodGhpcylbbWV0aG9kXS5jYWxsKCQodGhpcyksICdvcHRpb24nLCAnZGF0ZUZvcm1hdCcpLAoJCQkJCWRhdGUgPSBuZXcgRGF0ZSgkKHRoaXMpLnZhbCgpKTsKCQkJCWlmICgkKHRoaXMpLnZhbCgpICYmIGRhdGUpIHsKCQkJCQkkKHRoaXMpLnZhbCgkLmRhdGVwaWNrZXIuZm9ybWF0RGF0ZShmb3JtYXQsIGRhdGUpKTsKCQkJCX0KCQkJfSk7CgkJfQoJCWNoZWNrRGF0ZXMoc3RhcnRUaW1lLCBlbmRUaW1lLCBzdGFydFRpbWUudmFsKCkpOwoKCQlmdW5jdGlvbiBjaGVja0RhdGVzKGNoYW5nZWQsIG90aGVyLCBkYXRlVGV4dCkgewoJCQlpZiAob3RoZXIudmFsKCkgJiYgKG5ldyBEYXRlKHN0YXJ0VGltZS52YWwoKSkgPiBuZXcgRGF0ZShlbmRUaW1lLnZhbCgpKSkpIHsKCQkJCW90aGVyLnZhbChkYXRlVGV4dCk7CgkJCX0KCQl9CgkJc2VsZWN0ZWQoc3RhcnRUaW1lLCBlbmRUaW1lLCAnbWluRGF0ZScpOwoJCXNlbGVjdGVkKGVuZFRpbWUsIHN0YXJ0VGltZSwgJ21heERhdGUnKTsKCgkJZnVuY3Rpb24gc2VsZWN0ZWQoY2hhbmdlZCwgb3RoZXIsIG9wdGlvbikgewoJCQlpZiAoISQoY2hhbmdlZCkudmFsKCkpIHsKCQkJCXJldHVybjsKCQkJfQoJCQl2YXIgZGF0ZSA9ICQoY2hhbmdlZClbbWV0aG9kXS5jYWxsKCQoY2hhbmdlZCksICdnZXREYXRlJyk7CgkJCS8vIHRpbWVwaWNrZXIgZG9lc24ndCBpbXBsZW1lbnQgJ2dldERhdGUnIGFuZCByZXR1cm5zIGEgalF1ZXJ5CgkJCWlmIChkYXRlLmdldFRpbWUpIHsKCQkJCSQob3RoZXIpW21ldGhvZF0uY2FsbCgkKG90aGVyKSwgJ29wdGlvbicsIG9wdGlvbiwgZGF0ZSk7CgkJCX0KCQl9CgkJcmV0dXJuICQoW3N0YXJ0VGltZS5nZXQoMCksIGVuZFRpbWUuZ2V0KDApXSk7Cgl9OwoKCS8qCgkqIEtlZXAgdXAgd2l0aCB0aGUgdmVyc2lvbgoJKi8KCSQudGltZXBpY2tlci52ZXJzaW9uID0gIjEuMS4xIjsKCn0pKGpRdWVyeSk7]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/lisefd.SelectDateTime.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9TZWxlY3REYXRlVGltZSBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpDQoJew0KICAgICAgICAkdG1wbCA9IDw8PEVPVA0KPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyR0aGlzLT5HZXRVUkxQYXRoKCl9L2pxZXVyeS11aS10aW1lcGlja2VyLWFkZG9uLmNzcyIgLz4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskdGhpcy0+R2V0VVJMUGF0aCgpfS9qcXVlcnktdWktdGltZXBpY2tlci1hZGRvbi5qcyI+PC9zY3JpcHQ+DQpFT1Q7DQoJCXJldHVybiAkdG1wbDsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIEZvcm1hdFR5cGVzKCkNCgl7DQoJCXJldHVybiBhcnJheSgNCgkJCTAgPT4gJHRoaXMtPk1vZExhbmcoJ2NvbWJpbmVkJyksDQoJCQkxID0+ICR0aGlzLT5Nb2RMYW5nKCdkYXRlX2Zvcm1hdCcpLA0KCQkJMiA9PiAkdGhpcy0+TW9kTGFuZygndGltZV9mb3JtYXQnKQ0KCQkNCgkJKTsNCgl9CQ0KCQkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectDateTime/output.SelectDateTime.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZXxjbXNfZGF0ZV9mb3JtYXR9]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/admin.SelectFile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnYWxsb3dlZCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfYWxsb3dfaGVscCcpfTwvZW0+PGJyIC8+CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W2FsbG93ZWRdIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2FsbG93ZWQnLCAncGRmLGdpZixqcGVnLGpwZycpfSIgLz4KCTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdkaXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2Rpcl9oZWxwJyl9PC9lbT48YnIgLz4KCQk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbZGlyXSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdkaXInLCdpbWFnZXMnKX0iIC8+Cgk8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnZXhjbHVkZV9wcmVmaXgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2V4Y2x1ZGVfcHJlZml4X2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFtleGNsdWRlX3ByZWZpeF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnZXhjbHVkZV9wcmVmaXgnKX0iIC8+Cgk8L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/input.SelectFile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJe2h0bWxfb3B0aW9ucyBuYW1lPSJgJGFjdGlvbmlkYGN1c3RvbWZpZWxkW2AkZmllbGRkZWYtPkdldElkKClgXSIgb3B0aW9ucz0kZmllbGRkZWYtPkdldEZpbGVzKCkgc2VsZWN0ZWQ9JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfQoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/lisefd.SelectFile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9TZWxlY3RGaWxlIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGRiX2luZm8pIA0KCXsJDQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8pOw0KCQkNCgkJJHRoaXMtPlNldEZyaWVuZGx5VHlwZSgkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfJy4kdGhpcy0+R2V0VHlwZSgpKSk7DQoJfQ0KCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRGaWxlcygpDQoJew0KCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7DQoJCQ0KCQkkcGF0aCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnZGlyJykpOw0KDQoJCWlmICghaXNfZGlyKCRwYXRoKSkgew0KCQkJQG1rZGlyKCRwYXRoKTsNCgkJfQ0KDQoJCSRhbGxvd2VkID0gKCR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnYWxsb3dlZCcpICE9ICcnID8gZXhwbG9kZSgnLCcsJHRoaXMtPkdldE9wdGlvblZhbHVlKCdhbGxvd2VkJykpIDogYXJyYXkoDQoJCQknanBnJywNCgkJCSdnaWYnLA0KCQkJJ3BuZycNCgkJKSk7DQoNCgkJJGludmFsaWQgPSBhcnJheSgnLicsJy4uJyk7DQoJCSRleGNsdWRlX3ByZWZpeCA9IGV4cGxvZGUoJywnLCAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ2V4Y2x1ZGVfcHJlZml4JykpOw0KCQkNCgkJJGltYWdlcyA9IGFycmF5KCk7DQoJCWlmICgkaGFuZGxlID0gb3BlbmRpcigkcGF0aCkpIHsNCgkJCXdoaWxlIChmYWxzZSAhPT0gKCRmaWxlID0gcmVhZGRpcigkaGFuZGxlKSkpIHsNCgkJCQ0KCQkJCWlmKGluX2FycmF5KCRmaWxlLCAkaW52YWxpZCkpIGNvbnRpbnVlOw0KCQkJCQ0KCQkJCWZvcmVhY2goJGV4Y2x1ZGVfcHJlZml4IGFzICRvbmUpIHsNCgkJCQkNCgkJCQkJaWYoc3RhcnRzd2l0aCgkZmlsZSwgJG9uZSkgJiYgIWVtcHR5KCRvbmUpKSBjb250aW51ZSAyOw0KCQkJCX0NCgkJCQkNCgkJCQlmb3JlYWNoKCRhbGxvd2VkIGFzICRleHQpIHsNCgkJCQkNCgkJCQkJaWYoZW5kc3dpdGgoJGZpbGUsICRleHQpKSB7DQoJCQkJCQ0KCQkJCQkJJGltYWdlc1skZmlsZV0gPSAkZmlsZTsNCgkJCQkJfQ0KCQkJCQ0KCQkJCX0NCgkJCX0NCg0KCQkJY2xvc2VkaXIoJGhhbmRsZSk7DQoJCX0NCg0KCQlhc29ydCgkaW1hZ2VzKTsNCgkJJGltYWdlcyA9IGFycmF5X21lcmdlKGFycmF5KCcnPT4kdGhpcy0+TW9kTGFuZygnc2VsZWN0X29uZScpKSwgJGltYWdlcyk7DQoJCQkNCgkJcmV0dXJuICRpbWFnZXM7DQoJfQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/SelectFile/output.SelectFile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogPGEgaHJlZj0ieyRmaWVsZGRlZi0+R2V0SW1hZ2VQYXRoKHRydWUpfS97JGZpZWxkZGVmLnZhbHVlfSI+eyRmaWVsZGRlZi52YWx1ZX08L2E+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/admin.Slider.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnd2lkdGgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX3dpZHRoX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFt3aWR0aF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd2lkdGgnLCAnMjAlJyl9IiAvPgogICAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskZmllbGRkZWYtPk1vZExhbmcoJ21pbl92YWx1ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWluX3ZhbHVlX2hlbHAnKX08L2VtPjxiciAvPgogICAgCTxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbV9pbnB1dFttaW5dIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ21pbicsIDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdtYXhfdmFsdWUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX21heF92YWx1ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdtYXgnLCAxMDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCdpbmNyZW1lbnRfYnknKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAJeyR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vaW5mby5naWYnKX08ZW0+IHskZmllbGRkZWYtPk1vZExhbmcoJ2ZpZWxkZGVmX2luY3JlbWVudF9ieV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbaW5jcmVtZW50XSIgdmFsdWU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdpbmNyZW1lbnQnLCAxKX0iIC8+CiAgICA8L3A+CjwvZGl2Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/input.Slider.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KCQl7aWYgJGZpZWxkZGVmLT5HZXREZXNjKCl9KHskZmllbGRkZWYtPkdldERlc2MoKX0pPGJyIC8+ey9pZn0KCQk8cD48ZW0+eyRmaWVsZGRlZi0+TW9kTGFuZygndmFsdWUnKX06IDwvZW0+PHNwYW4gaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dLXZpc2libGUtdmFsdWUiPnskZmllbGRkZWYtPkdldFZhbHVlKCl8ZGVmYXVsdDokZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdtaW4nKX08L3NwYW4+PC9wPgoJCTxkaXYgY2xhc3M9Imxpc2Utc2xpZGVyLWNvbnRhaW5lciIgc3R5bGU9IndpZHRoOiB7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd2lkdGgnKX0iPgoJCQk8ZGl2IGNsYXNzPSJsaXNlLXNsaWRlciIgaWQ9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dLXNsaWRlciI+PC9kaXY+CgkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiBpZD0ieyRhY3Rpb25pZH1jdXN0b21maWVsZFt7JGZpZWxkZGVmLT5HZXRJZCgpfV0tdmFsdWUiIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRWYWx1ZSgpfGRlZmF1bHQ6JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWluJyl9IiAvPgoJCTwvZGl2PgoJPC9kaXY+CgkKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewoJCSQoIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS1zbGlkZXIiKQoJCS5zbGlkZXIoewogICAgICAgICAgICByYW5nZTogIm1pbiIsCiAgICAgICAgICAgIG1pbjogeyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ21pbicpfSwKICAgICAgICAgICAgbWF4OiB7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4Jyl9LAogICAgICAgICAgICB7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnaW5jcmVtZW50JykgIT0gJyd9c3RlcDogeyRmaWVsZGRlZi0+R2V0T3B0aW9uVmFsdWUoJ2luY3JlbWVudCcpfSx7L2lmfQoJCQl2YWx1ZTogJCggIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS12YWx1ZSIgKS52YWwoKSwKCQkJc2xpZGU6IGZ1bmN0aW9uKGV2ZW50LCB1aSkgewoJCQkKCQkJCSQoICIjeyRhY3Rpb25pZH1jdXN0b21maWVsZFxcXFt7JGZpZWxkZGVmLT5HZXRJZCgpfVxcXF0tdmlzaWJsZS12YWx1ZSIgKS50ZXh0KCB1aS52YWx1ZSApOwoJCQkJJCggIiN7JGFjdGlvbmlkfWN1c3RvbWZpZWxkXFxcW3skZmllbGRkZWYtPkdldElkKCl9XFxcXS12YWx1ZSIgKS52YWwoIHVpLnZhbHVlICk7CgkJCX0JCQoJCX0pOwoJfSk7Cgk8L3NjcmlwdD4KCQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/lisefd-slider.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Lmxpc2Utc2xpZGVyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDZweCAxMHB4IDZweCA2cHg7IH0NCi5saXNlLXNsaWRlci1jb250YWluZXIgPiBkaXYgeyB6LWluZGV4OiAxOyB9]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/lisefd.Slider.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9TbGlkZXIgZXh0ZW5kcyBMSVNFRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKQ0KCXsNCiAgICAgICAgJHRtcGwgPSA8PDxFT1QNCjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskdGhpcy0+R2V0VVJMUGF0aCgpfS9saXNlZmQtc2xpZGVyLmNzcyIgLz4NCkVPVDsNCgkJcmV0dXJuICR0bXBsOw0KCX0JDQoJCQkNCn0gLy8gZW5kIG9mIGNsYXNzDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Slider/output.Slider.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tabs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tabs/lisefd.Tabs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIGxpc2VmZF9UYWJzIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQp7CglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvLCAkY2FsbGVyX29iamVjdCkgCgl7CQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJGRiX2luZm8sICRjYWxsZXJfb2JqZWN0KTsKCQkKCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl9UYWJzJykpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjbG9zZVRhYigpCgl7CgkJcmV0dXJuICc8L2Rpdj4nOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBkaXNwbGF5VGFiSGVhZGVyKCkKCXsKCQkkdGVtcGxhdGUgPSAnPGRpdiBpZD0idGFie3tpZH19Ij57e2xhYmVsfX08L2Rpdj4nOwoJCXJldHVybiBzdHJfcmVwbGFjZSgKCQkJWyd7e2lkfX0nLCAne3tsYWJlbH19J10sCgkJCVskdGhpcy0+YWxpYXMsICR0aGlzLT5uYW1lXSwKCQkJJHRlbXBsYXRlCgkJKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gUmVuZGVySW5wdXQoJGlkLCAkcmV0dXJuaWQpCgl7CgkJJHRlbXBsYXRlID0gJzwvZGl2PjxkaXYgaWQ9InRhYnt7YWxpYXN9fV9jIj4nOwoJCXJldHVybiBzdHJfcmVwbGFjZSgKCQkJWyd7e2FsaWFzfX0nXSwKCQkJWyR0aGlzLT5hbGlhc10sCgkJCSR0ZW1wbGF0ZQoJCSk7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/admin.Tags.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmd0aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmd0aF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmd0aF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmd0aCcsIDI1NSl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/header.Tags.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRmaWVsZGRlZmRpcn0vanF1ZXJ5LnRhZ3NpbnB1dC5taW4uY3NzIiAvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ieyRmaWVsZGRlZmRpcn0vanF1ZXJ5LnRhZ3NpbnB1dC5taW4uanMiPjwvc2NyaXB0Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/input.Tags.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgPHNjcmlwdD4KICAgICAgJChmdW5jdGlvbigpeyAKICAgICAgICAgICQoIi50YWdzIikudGFnc0lucHV0KHsKICAgICAgICAgICAgd2lkdGg6J2F1dG8nCiAgICAgICAgICB9KTsKICAgICAgfSk7CiAgPC9zY3JpcHQ+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSd0YWdzJyBuYW1lPSJ7JGFjdGlvbmlkfWN1c3RvbWZpZWxkW3skZmllbGRkZWYtPkdldElkKCl9XSIgdmFsdWU9InskZmllbGRkZWYtPkdldFZhbHVlKCl9IiBzaXplPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScpfSIgbWF4bGVuZ3RoPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmd0aCcpfSIgLz4KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/jquery.tagsinput.min.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZGl2LnRhZ3NpbnB1dHtib3JkZXI6MXB4IHNvbGlkICNDQ0M7YmFja2dyb3VuZDojRkZGO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjVweH1kaXYudGFnc2lucHV0IHNwYW4udGFne2JvcmRlcjoxcHggc29saWQgI2ZmOGMwMDstbW96LWJvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTpibG9jaztmbG9hdDpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQ6I2ZmZTRiMjtjb2xvcjojZmY4YzAwO21hcmdpbi1yaWdodDo1cHg7bWFyZ2luLWJvdHRvbTo1cHg7Zm9udC1mYW1pbHk6aGVsdmV0aWNhO2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MnB4fWRpdi50YWdzaW5wdXQgc3Bhbi50YWcgYXtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmOGMwMDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTFweH1kaXYudGFnc2lucHV0IGlucHV0e3dpZHRoOjgwcHg7Zm9udC1mYW1pbHk6aGVsdmV0aWNhO2ZvbnQtc2l6ZToxM3B4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzAwMDtvdXRsaW5lOjA7bWFyZ2luOjAgNXB4IDVweCAwO3BhZGRpbmc6NXB4fWRpdi50YWdzaW5wdXQgZGl2e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdH0udGFnc19jbGVhcntjbGVhcjpib3RoO3dpZHRoOjEwMCU7aGVpZ2h0OjB9Lm5vdF92YWxpZHtiYWNrZ3JvdW5kOiNGQkQ4REIhaW1wb3J0YW50O2NvbG9yOiM5MDExMUEhaW1wb3J0YW50fQ==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/jquery.tagsinput.min.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBBcnJheSxjPW5ldyBBcnJheTthLmZuLmRvQXV0b3NpemU9ZnVuY3Rpb24oYil7dmFyIGM9YSh0aGlzKS5kYXRhKCJtaW53aWR0aCIpLGQ9YSh0aGlzKS5kYXRhKCJtYXh3aWR0aCIpLGU9IiIsZj1hKHRoaXMpLGc9YSgiIyIrYSh0aGlzKS5kYXRhKCJ0ZXN0ZXJfaWQiKSk7aWYoZSE9PShlPWYudmFsKCkpKXt2YXIgaD1lLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC9ccy9nLCIgIikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7Iik7Zy5odG1sKGgpO3ZhciBpPWcud2lkdGgoKSxqPWkrYi5jb21mb3J0Wm9uZT49Yz9pK2IuY29tZm9ydFpvbmU6YyxrPWYud2lkdGgoKSxsPWs+aiYmaj49Y3x8aj5jJiZkPmo7bCYmZi53aWR0aChqKX19LGEuZm4ucmVzZXRBdXRvc2l6ZT1mdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpLmRhdGEoIm1pbndpZHRoIil8fGIubWluSW5wdXRXaWR0aHx8YSh0aGlzKS53aWR0aCgpLGQ9YSh0aGlzKS5kYXRhKCJtYXh3aWR0aCIpfHxiLm1heElucHV0V2lkdGh8fGEodGhpcykuY2xvc2VzdCgiLnRhZ3NpbnB1dCIpLndpZHRoKCktYi5pbnB1dFBhZGRpbmcsZT1hKHRoaXMpLGY9YSgiPHRlc3Rlci8+IikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotOTk5OSxsZWZ0Oi05OTk5LHdpZHRoOiJhdXRvIixmb250U2l6ZTplLmNzcygiZm9udFNpemUiKSxmb250RmFtaWx5OmUuY3NzKCJmb250RmFtaWx5IiksZm9udFdlaWdodDplLmNzcygiZm9udFdlaWdodCIpLGxldHRlclNwYWNpbmc6ZS5jc3MoImxldHRlclNwYWNpbmciKSx3aGl0ZVNwYWNlOiJub3dyYXAifSksZz1hKHRoaXMpLmF0dHIoImlkIikrIl9hdXRvc2l6ZV90ZXN0ZXIiOyFhKCIjIitnKS5sZW5ndGg+MCYmKGYuYXR0cigiaWQiLGcpLGYuYXBwZW5kVG8oImJvZHkiKSksZS5kYXRhKCJtaW53aWR0aCIsYyksZS5kYXRhKCJtYXh3aWR0aCIsZCksZS5kYXRhKCJ0ZXN0ZXJfaWQiLGcpLGUuY3NzKCJ3aWR0aCIsYyl9LGEuZm4uYWRkVGFnPWZ1bmN0aW9uKGQsZSl7cmV0dXJuIGU9alF1ZXJ5LmV4dGVuZCh7Zm9jdXM6ITEsY2FsbGJhY2s6ITB9LGUpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBmPWEodGhpcykuYXR0cigiaWQiKSxnPWEodGhpcykudmFsKCkuc3BsaXQoYltmXSk7aWYoIiI9PWdbMF0mJihnPW5ldyBBcnJheSksZD1qUXVlcnkudHJpbShkKSxlLnVuaXF1ZSl7dmFyIGg9YSh0aGlzKS50YWdFeGlzdChkKTsxPT1oJiZhKCIjIitmKyJfdGFnIikuYWRkQ2xhc3MoIm5vdF92YWxpZCIpfWVsc2UgdmFyIGg9ITE7aWYoIiIhPWQmJjEhPWgpe2lmKGEoIjxzcGFuPiIpLmFkZENsYXNzKCJ0YWciKS5hcHBlbmQoYSgiPHNwYW4+IikudGV4dChkKS5hcHBlbmQoIiZuYnNwOyZuYnNwOyIpLGEoIjxhPiIse2hyZWY6IiMiLHRpdGxlOiJSZW1vdmluZyB0YWciLHRleHQ6IngifSkuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gYSgiIyIrZikucmVtb3ZlVGFnKGVzY2FwZShkKSl9KSkuaW5zZXJ0QmVmb3JlKCIjIitmKyJfYWRkVGFnIiksZy5wdXNoKGQpLGEoIiMiK2YrIl90YWciKS52YWwoIiIpLGUuZm9jdXM/YSgiIyIrZisiX3RhZyIpLmZvY3VzKCk6YSgiIyIrZisiX3RhZyIpLmJsdXIoKSxhLmZuLnRhZ3NJbnB1dC51cGRhdGVUYWdzRmllbGQodGhpcyxnKSxlLmNhbGxiYWNrJiZjW2ZdJiZjW2ZdLm9uQWRkVGFnKXt2YXIgaT1jW2ZdLm9uQWRkVGFnO2kuY2FsbCh0aGlzLGQpfWlmKGNbZl0mJmNbZl0ub25DaGFuZ2Upe3ZhciBqPWcubGVuZ3RoLGk9Y1tmXS5vbkNoYW5nZTtpLmNhbGwodGhpcyxhKHRoaXMpLGdbai0xXSl9fX0pLCExfSxhLmZuLnJlbW92ZVRhZz1mdW5jdGlvbihkKXtyZXR1cm4gZD11bmVzY2FwZShkKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLmF0dHIoImlkIiksZj1hKHRoaXMpLnZhbCgpLnNwbGl0KGJbZV0pO2ZvcihhKCIjIitlKyJfdGFnc2lucHV0IC50YWciKS5yZW1vdmUoKSxzdHI9IiIsaT0wO2k8Zi5sZW5ndGg7aSsrKWZbaV0hPWQmJihzdHI9c3RyK2JbZV0rZltpXSk7aWYoYS5mbi50YWdzSW5wdXQuaW1wb3J0VGFncyh0aGlzLHN0ciksY1tlXSYmY1tlXS5vblJlbW92ZVRhZyl7dmFyIGc9Y1tlXS5vblJlbW92ZVRhZztnLmNhbGwodGhpcyxkKX19KSwhMX0sYS5mbi50YWdFeGlzdD1mdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLmF0dHIoImlkIiksZT1hKHRoaXMpLnZhbCgpLnNwbGl0KGJbZF0pO3JldHVybiBqUXVlcnkuaW5BcnJheShjLGUpPj0wfSxhLmZuLmltcG9ydFRhZ3M9ZnVuY3Rpb24oYil7dmFyIGM9YSh0aGlzKS5hdHRyKCJpZCIpO2EoIiMiK2MrIl90YWdzaW5wdXQgLnRhZyIpLnJlbW92ZSgpLGEuZm4udGFnc0lucHV0LmltcG9ydFRhZ3ModGhpcyxiKX0sYS5mbi50YWdzSW5wdXQ9ZnVuY3Rpb24oZSl7dmFyIGY9alF1ZXJ5LmV4dGVuZCh7aW50ZXJhY3RpdmU6ITAsZGVmYXVsdFRleHQ6ImFkZCBhIHRhZyIsbWluQ2hhcnM6MCx3aWR0aDoiMzAwcHgiLGhlaWdodDoiMTAwcHgiLGF1dG9jb21wbGV0ZTp7c2VsZWN0Rmlyc3Q6ITF9LGhpZGU6ITAsZGVsaW1pdGVyOiIsIix1bmlxdWU6ITAscmVtb3ZlV2l0aEJhY2tzcGFjZTohMCxwbGFjZWhvbGRlckNvbG9yOiIjNjY2NjY2IixhdXRvc2l6ZTohMCxjb21mb3J0Wm9uZToyMCxpbnB1dFBhZGRpbmc6MTJ9LGUpLGc9MDtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBhKHRoaXMpLmF0dHIoImRhdGEtdGFnc2lucHV0LWluaXQiKSl7YSh0aGlzKS5hdHRyKCJkYXRhLXRhZ3NpbnB1dC1pbml0IiwhMCksZi5oaWRlJiZhKHRoaXMpLmhpZGUoKTt2YXIgZT1hKHRoaXMpLmF0dHIoImlkIik7KCFlfHxiW2EodGhpcykuYXR0cigiaWQiKV0pJiYoZT1hKHRoaXMpLmF0dHIoImlkIiwidGFncyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkrZysrKS5hdHRyKCJpZCIpKTt2YXIgaD1qUXVlcnkuZXh0ZW5kKHtwaWQ6ZSxyZWFsX2lucHV0OiIjIitlLGhvbGRlcjoiIyIrZSsiX3RhZ3NpbnB1dCIsaW5wdXRfd3JhcHBlcjoiIyIrZSsiX2FkZFRhZyIsZmFrZV9pbnB1dDoiIyIrZSsiX3RhZyJ9LGYpO2JbZV09aC5kZWxpbWl0ZXIsKGYub25BZGRUYWd8fGYub25SZW1vdmVUYWd8fGYub25DaGFuZ2UpJiYoY1tlXT1uZXcgQXJyYXksY1tlXS5vbkFkZFRhZz1mLm9uQWRkVGFnLGNbZV0ub25SZW1vdmVUYWc9Zi5vblJlbW92ZVRhZyxjW2VdLm9uQ2hhbmdlPWYub25DaGFuZ2UpO3ZhciBpPSc8ZGl2IGlkPSInK2UrJ190YWdzaW5wdXQiIGNsYXNzPSJ0YWdzaW5wdXQiPjxkaXYgaWQ9IicrZSsnX2FkZFRhZyI+JztpZihmLmludGVyYWN0aXZlJiYoaT1pKyc8aW5wdXQgaWQ9IicrZSsnX3RhZyIgdmFsdWU9IiIgZGF0YS1kZWZhdWx0PSInK2YuZGVmYXVsdFRleHQrJyIgLz4nKSxpKz0nPC9kaXY+PGRpdiBjbGFzcz0idGFnc19jbGVhciI+PC9kaXY+PC9kaXY+JyxhKGkpLmluc2VydEFmdGVyKHRoaXMpLGEoaC5ob2xkZXIpLmNzcygid2lkdGgiLGYud2lkdGgpLGEoaC5ob2xkZXIpLmNzcygibWluLWhlaWdodCIsZi5oZWlnaHQpLGEoaC5ob2xkZXIpLmNzcygiaGVpZ2h0IixmLmhlaWdodCksIiIhPWEoaC5yZWFsX2lucHV0KS52YWwoKSYmYS5mbi50YWdzSW5wdXQuaW1wb3J0VGFncyhhKGgucmVhbF9pbnB1dCksYShoLnJlYWxfaW5wdXQpLnZhbCgpKSxmLmludGVyYWN0aXZlKXtpZihhKGguZmFrZV9pbnB1dCkudmFsKGEoaC5mYWtlX2lucHV0KS5hdHRyKCJkYXRhLWRlZmF1bHQiKSksYShoLmZha2VfaW5wdXQpLmNzcygiY29sb3IiLGYucGxhY2Vob2xkZXJDb2xvciksYShoLmZha2VfaW5wdXQpLnJlc2V0QXV0b3NpemUoZiksYShoLmhvbGRlcikuYmluZCgiY2xpY2siLGgsZnVuY3Rpb24oYil7YShiLmRhdGEuZmFrZV9pbnB1dCkuZm9jdXMoKX0pLGEoaC5mYWtlX2lucHV0KS5iaW5kKCJmb2N1cyIsaCxmdW5jdGlvbihiKXthKGIuZGF0YS5mYWtlX2lucHV0KS52YWwoKT09YShiLmRhdGEuZmFrZV9pbnB1dCkuYXR0cigiZGF0YS1kZWZhdWx0IikmJmEoYi5kYXRhLmZha2VfaW5wdXQpLnZhbCgiIiksYShiLmRhdGEuZmFrZV9pbnB1dCkuY3NzKCJjb2xvciIsIiMwMDAwMDAiKX0pLHZvaWQgMCE9Zi5hdXRvY29tcGxldGVfdXJsKXthdXRvY29tcGxldGVfb3B0aW9ucz17c291cmNlOmYuYXV0b2NvbXBsZXRlX3VybH07Zm9yKGF0dHJuYW1lIGluIGYuYXV0b2NvbXBsZXRlKWF1dG9jb21wbGV0ZV9vcHRpb25zW2F0dHJuYW1lXT1mLmF1dG9jb21wbGV0ZVthdHRybmFtZV07dm9pZCAwIT09alF1ZXJ5LkF1dG9jb21wbGV0ZXI/KGEoaC5mYWtlX2lucHV0KS5hdXRvY29tcGxldGUoZi5hdXRvY29tcGxldGVfdXJsLGYuYXV0b2NvbXBsZXRlKSxhKGguZmFrZV9pbnB1dCkuYmluZCgicmVzdWx0IixoLGZ1bmN0aW9uKGIsYyxkKXtjJiZhKCIjIitlKS5hZGRUYWcoY1swXSsiIix7Zm9jdXM6ITAsdW5pcXVlOmYudW5pcXVlfSl9KSk6dm9pZCAwIT09alF1ZXJ5LnVpLmF1dG9jb21wbGV0ZSYmKGEoaC5mYWtlX2lucHV0KS5hdXRvY29tcGxldGUoYXV0b2NvbXBsZXRlX29wdGlvbnMpLGEoaC5mYWtlX2lucHV0KS5iaW5kKCJhdXRvY29tcGxldGVzZWxlY3QiLGgsZnVuY3Rpb24oYixjKXtyZXR1cm4gYShiLmRhdGEucmVhbF9pbnB1dCkuYWRkVGFnKGMuaXRlbS52YWx1ZSx7Zm9jdXM6ITAsdW5pcXVlOmYudW5pcXVlfSksITF9KSl9ZWxzZSBhKGguZmFrZV9pbnB1dCkuYmluZCgiYmx1ciIsaCxmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpLmF0dHIoImRhdGEtZGVmYXVsdCIpO3JldHVybiIiIT1hKGIuZGF0YS5mYWtlX2lucHV0KS52YWwoKSYmYShiLmRhdGEuZmFrZV9pbnB1dCkudmFsKCkhPWM/Yi5kYXRhLm1pbkNoYXJzPD1hKGIuZGF0YS5mYWtlX2lucHV0KS52YWwoKS5sZW5ndGgmJighYi5kYXRhLm1heENoYXJzfHxiLmRhdGEubWF4Q2hhcnM+PWEoYi5kYXRhLmZha2VfaW5wdXQpLnZhbCgpLmxlbmd0aCkmJmEoYi5kYXRhLnJlYWxfaW5wdXQpLmFkZFRhZyhhKGIuZGF0YS5mYWtlX2lucHV0KS52YWwoKSx7Zm9jdXM6ITAsdW5pcXVlOmYudW5pcXVlfSk6KGEoYi5kYXRhLmZha2VfaW5wdXQpLnZhbChhKGIuZGF0YS5mYWtlX2lucHV0KS5hdHRyKCJkYXRhLWRlZmF1bHQiKSksYShiLmRhdGEuZmFrZV9pbnB1dCkuY3NzKCJjb2xvciIsZi5wbGFjZWhvbGRlckNvbG9yKSksITF9KTthKGguZmFrZV9pbnB1dCkuYmluZCgia2V5cHJlc3MiLGgsZnVuY3Rpb24oYil7cmV0dXJuIGQoYik/KGIucHJldmVudERlZmF1bHQoKSxiLmRhdGEubWluQ2hhcnM8PWEoYi5kYXRhLmZha2VfaW5wdXQpLnZhbCgpLmxlbmd0aCYmKCFiLmRhdGEubWF4Q2hhcnN8fGIuZGF0YS5tYXhDaGFycz49YShiLmRhdGEuZmFrZV9pbnB1dCkudmFsKCkubGVuZ3RoKSYmYShiLmRhdGEucmVhbF9pbnB1dCkuYWRkVGFnKGEoYi5kYXRhLmZha2VfaW5wdXQpLnZhbCgpLHtmb2N1czohMCx1bmlxdWU6Zi51bmlxdWV9KSxhKGIuZGF0YS5mYWtlX2lucHV0KS5yZXNldEF1dG9zaXplKGYpLCExKTp2b2lkKGIuZGF0YS5hdXRvc2l6ZSYmYShiLmRhdGEuZmFrZV9pbnB1dCkuZG9BdXRvc2l6ZShmKSl9KSxoLnJlbW92ZVdpdGhCYWNrc3BhY2UmJmEoaC5mYWtlX2lucHV0KS5iaW5kKCJrZXlkb3duIixmdW5jdGlvbihiKXtpZig4PT1iLmtleUNvZGUmJiIiPT1hKHRoaXMpLnZhbCgpKXtiLnByZXZlbnREZWZhdWx0KCk7dmFyIGM9YSh0aGlzKS5jbG9zZXN0KCIudGFnc2lucHV0IikuZmluZCgiLnRhZzpsYXN0IikudGV4dCgpLGQ9YSh0aGlzKS5hdHRyKCJpZCIpLnJlcGxhY2UoL190YWckLywiIik7Yz1jLnJlcGxhY2UoL1tcc10reCQvLCIiKSxhKCIjIitkKS5yZW1vdmVUYWcoZXNjYXBlKGMpKSxhKHRoaXMpLnRyaWdnZXIoImZvY3VzIil9fSksYShoLmZha2VfaW5wdXQpLmJsdXIoKSxoLnVuaXF1ZSYmYShoLmZha2VfaW5wdXQpLmtleWRvd24oZnVuY3Rpb24oYil7KDg9PWIua2V5Q29kZXx8U3RyaW5nLmZyb21DaGFyQ29kZShiLndoaWNoKS5tYXRjaCgvXHcrfFvDocOpw63Ds8O6w4HDicONw5PDmsOxw5EsL10rLykpJiZhKHRoaXMpLnJlbW92ZUNsYXNzKCJub3RfdmFsaWQiKX0pfX19KSx0aGlzfSxhLmZuLnRhZ3NJbnB1dC51cGRhdGVUYWdzRmllbGQ9ZnVuY3Rpb24oYyxkKXt2YXIgZT1hKGMpLmF0dHIoImlkIik7YShjKS52YWwoZC5qb2luKGJbZV0pKX0sYS5mbi50YWdzSW5wdXQuaW1wb3J0VGFncz1mdW5jdGlvbihkLGUpe2EoZCkudmFsKCIiKTt2YXIgZj1hKGQpLmF0dHIoImlkIiksZz1lLnNwbGl0KGJbZl0pO2ZvcihpPTA7aTxnLmxlbmd0aDtpKyspYShkKS5hZGRUYWcoZ1tpXSx7Zm9jdXM6ITEsY2FsbGJhY2s6ITF9KTtpZihjW2ZdJiZjW2ZdLm9uQ2hhbmdlKXt2YXIgaD1jW2ZdLm9uQ2hhbmdlO2guY2FsbChkLGQsZ1tpXSl9fTt2YXIgZD1mdW5jdGlvbihiKXt2YXIgYz0hMTtyZXR1cm4gMTM9PWIud2hpY2g/ITA6KCJzdHJpbmciPT10eXBlb2YgYi5kYXRhLmRlbGltaXRlcj9iLndoaWNoPT1iLmRhdGEuZGVsaW1pdGVyLmNoYXJDb2RlQXQoMCkmJihjPSEwKTphLmVhY2goYi5kYXRhLmRlbGltaXRlcixmdW5jdGlvbihhLGQpe2Iud2hpY2g9PWQuY2hhckNvZGVBdCgwKSYmKGM9ITApfSksYyl9fShqUXVlcnkpOw==]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/lisefd.Tags.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLyoqDQoqIEBuYW1lIFRhZ3MNCiogQGF1dGhvciBGZXJuYW5kbyBNb3JnYWRvIGFrYSBKbyBNb3JnDQoqIEBwYWNrYWdlIENNU01hZGVTaW1wbGUNCiogQHN1YnBhY2thZ2UgTElTRQ0KKi8NCmNsYXNzIGxpc2VmZF9UYWdzIGV4dGVuZHMgTElTRUZpZWxkZGVmQmFzZQ0Kew0KICBwcml2YXRlICRtb2RfbmFtZTsNCiAgcHJpdmF0ZSAkYWN0aW9uX2lkOw0KICBwcml2YXRlICRhY3Rpb25fbmFtZTsNCiAgcHJpdmF0ZSAkdGFnczsNCiAgDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nIC4gJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpDQoJew0KCQlpZiAoc3RybGVuKCR0aGlzLT5HZXRWYWx1ZSgic3RyaW5nIikpID4gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JywgMjU1KSAmJiAkdGhpcy0+R2V0T3B0aW9uVmFsdWUoJ21heF9sZW5naHQnKSkgew0KCQkNCgkJCSRlcnJvcnNbXSA9ICR0aGlzLT5Nb2RMYW5nKCd0b29fbG9uZycpIC4gJyAoJyAuICR0aGlzLT5HZXROYW1lKCkgLiAnKSc7DQoJCX0JCQ0KCQ0KCQlwYXJlbnQ6OlZhbGlkYXRlKCRlcnJvcnMpOw0KCX0NCiAgDQogIHB1YmxpYyBmdW5jdGlvbiBGcm9udEVuZFJlbmRlcigpDQogIHsNCiAgICBpZiggZW1wdHkoJHRoaXMtPnZpZXcpICkNCiAgICB7DQogICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ25hbWUnLCAkdGhpcy0+bmFtZSk7DQogICAgICAkc21hcnR5LT5hc3NpZ24oJ3ZhbHVlJywgJHRoaXMtPnZhbHVlKTsNCiAgICAgICRzbWFydHktPmFzc2lnbigndHlwZScsICR0aGlzLT50eXBlKTsNCiAgICAgICRzbWFydHktPmFzc2lnbignYWxpYXMnLCAkdGhpcy0+YWxpYXMpOw0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCd0YWdzJywgJHRoaXMtPnRhZ3MpOw0KICAgICAgDQogICAgICAkdGhpcy0+dmlldyA9ICRzbWFydHktPmZldGNoKCAnc3RyaW5nOicgLiAkdGhpcy0+R2V0VGVtcGxhdGUoKSApOw0KICAgIH0NCg0KICAgIHJldHVybiAkdGhpcy0+dmlldzsNCiAgfQ0KICANCiAgcHVibGljIGZ1bmN0aW9uIFNldFRhZ3NQYXJhbXMoJG1vZCA9IE5VTEwsICRpZCA9IE5VTEwsICRhY3Rpb24gPSBOVUxMLCAkcmV0dXJuaWQgPSBOVUxMLCAkcGFyYW1zID0gYXJyYXkoKSApDQogIHsNCiAgICBpZiggIWlzX29iamVjdCgkbW9kKSApICAgICAgcmV0dXJuOw0KICAgIGlmKCAhaXNzZXQoJHBhcmFtcykgKSAgICAgICByZXR1cm47DQogICAgaWYoICFpc3NldCgkYWN0aW9uKSApICAgICAgIHJldHVybjsNCiAgICANCiAgICAkdCA9IGV4cGxvZGUoJywnLCAkdGhpcy0+dmFsdWUpOw0KICAgIGZvcmVhY2goJHQgYXMgJG9uZSkNCiAgICB7DQogICAgICAkcGFyYW1zWyd0YWcnXSA9IHVybGVuY29kZSgkb25lKTsgICAgDQogICAgICAkdGhpcy0+dGFnc1skb25lXSA9ICRtb2QtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICcnLCAkcGFyYW1zLCAnJywgVFJVRSk7DQogICAgfQ0KICANCiAgfQ0KCQ0KfSAvLyBlbmQgb2YgY2xhc3MNCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/Tags/output.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IHskbmFtZX06CiB7Zm9yZWFjaCAkdGFncyBhcyAkayA9PiAkdn0KIDxhIGhyZWY9Inskdn0iPnska308L2E+CiB7Zm9yZWFjaGVsc2V9CiB7L2ZvcmVhY2h9]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/admin.TextArea.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmd0aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmd0aF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmd0aF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmd0aCcsIDYwMDApfSIgLz4KICAgIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGZpZWxkZGVmLT5Nb2RMYW5nKCd3eXNpd3lnJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgCXskdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2luZm8uZ2lmJyl9PGVtPiB7JGZpZWxkZGVmLT5Nb2RMYW5nKCdmaWVsZGRlZl93eXNpd3lnX2hlbHAnKX08L2VtPjxiciAvPgoJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3d5c2l3eWddIiB2YWx1ZT0iMCIgLz4KCQk8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tX2lucHV0W3d5c2l3eWddIiB2YWx1ZT0iMSJ7aWYgJGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnd3lzaXd5ZycpfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0gLz4KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/input.TextArea.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJeyRmaWVsZGRlZi0+R2V0SW5wdXQoJGFjdGlvbmlkKX0KCTwvcD4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/lisefd.TextArea.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9UZXh0QXJlYSBleHRlbmRzIExJU0VGaWVsZGRlZkJhc2UNCnsNCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRkYl9pbmZvKSANCgl7CQ0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCRkYl9pbmZvKTsNCgkJDQoJCSR0aGlzLT5TZXRGcmllbmRseVR5cGUoJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmXycuJHRoaXMtPkdldFR5cGUoKSkpOw0KCX0NCgkNCglwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGUoJiRlcnJvcnMpDQoJew0KCQlpZiAoc3RybGVuKCR0aGlzLT5HZXRWYWx1ZSgic3RyaW5nIikpID4gJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JywgNjAwMCkgJiYgJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JykpIHsNCgkJDQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygndG9vX2xvbmcnKSAuICcgKCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJyknOw0KCQl9CQkNCgkNCgkJcGFyZW50OjpWYWxpZGF0ZSgkZXJyb3JzKTsNCgl9DQoJCQ0KCXB1YmxpYyBmdW5jdGlvbiBHZXRJbnB1dCgkaWQpDQoJew0KCQkkbW9kID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCk7DQoJCQ0KCQlyZXR1cm4gJG1vZC0+Q3JlYXRlVGV4dEFyZWEoJHRoaXMtPkdldE9wdGlvblZhbHVlKCd3eXNpd3lnJyksICRpZCwgJHRoaXMtPkdldFZhbHVlKCJzdHJpbmciKSwgJ2N1c3RvbWZpZWxkWycuJHRoaXMtPkdldElkKCkuJ10nKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextArea/output.TextArea.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/admin.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnc2l6ZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfc2l6ZV9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbc2l6ZV0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnc2l6ZScsIDIwKX0iIC8+CiAgICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+TW9kTGFuZygnbWF4X2xlbmd0aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIAl7JHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9pbmZvLmdpZicpfTxlbT4geyRmaWVsZGRlZi0+TW9kTGFuZygnZmllbGRkZWZfbWF4X2xlbmd0aF9oZWxwJyl9PC9lbT48YnIgLz4KICAgIAk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21faW5wdXRbbWF4X2xlbmd0aF0iIHZhbHVlPSJ7JGZpZWxkZGVmLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmd0aCcsIDI1NSl9IiAvPgogICAgPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/input.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRmaWVsZGRlZi0+R2V0TmFtZSgpfXtpZiAkZmllbGRkZWYtPklzUmVxdWlyZWQoKX0qey9pZn06PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJe2lmICRmaWVsZGRlZi0+R2V0RGVzYygpfSh7JGZpZWxkZGVmLT5HZXREZXNjKCl9KTxiciAvPnsvaWZ9CgkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3VzdG9tZmllbGRbeyRmaWVsZGRlZi0+R2V0SWQoKX1dIiB2YWx1ZT0ieyRmaWVsZGRlZi0+R2V0VmFsdWUoKX0iIHNpemU9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdzaXplJyl9IiBtYXhsZW5ndGg9InskZmllbGRkZWYtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ3RoJyl9IiAvPgoJPC9wPgo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/lisefd.TextInput.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCmNsYXNzIGxpc2VmZF9UZXh0SW5wdXQgZXh0ZW5kcyBMSVNFRmllbGRkZWZCYXNlDQp7DQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCYkZGJfaW5mbykgDQoJewkNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgkZGJfaW5mbyk7DQoJCQ0KCQkkdGhpcy0+U2V0RnJpZW5kbHlUeXBlKCR0aGlzLT5Nb2RMYW5nKCdmaWVsZGRlZl8nLiR0aGlzLT5HZXRUeXBlKCkpKTsNCgl9DQoJDQoJcHVibGljIGZ1bmN0aW9uIFZhbGlkYXRlKCYkZXJyb3JzKQ0KCXsNCgkJaWYgKHN0cmxlbigkdGhpcy0+R2V0VmFsdWUoInN0cmluZyIpKSA+ICR0aGlzLT5HZXRPcHRpb25WYWx1ZSgnbWF4X2xlbmdodCcsIDI1NSkgJiYgJHRoaXMtPkdldE9wdGlvblZhbHVlKCdtYXhfbGVuZ2h0JykpIHsNCgkJDQoJCQkkZXJyb3JzW10gPSAkdGhpcy0+TW9kTGFuZygndG9vX2xvbmcnKSAuICcgKCcgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJyknOw0KCQl9CQkNCgkNCgkJcGFyZW50OjpWYWxpZGF0ZSgkZXJyb3JzKTsNCgl9DQoJDQp9IC8vIGVuZCBvZiBjbGFzcw0KPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/fielddefs/TextInput/output.TextInput.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmaWVsZGRlZi5uYW1lfTogeyRmaWVsZGRlZi52YWx1ZX0=]]></data>
	</file>
	<file>
	  <filename>/lib/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/js/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/js/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/js/lise-globals.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogRlVOQ1RJT05TCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmZ1bmN0aW9uIHNob3dfbWVzc2FnZSh0ZXh0KSB7CgoJaWYodGV4dCAhPSAnJyl7CgkJdmFyIG1lc3NhZ2UgPSBqUXVlcnkoJzxkaXYgY2xhc3M9InBhZ2VtY29udGFpbmVyIj48cCBjbGFzcz0icGFnZW1lc3NhZ2UiPicgKyB0ZXh0ICsgJzwvcD48L2Rpdj4nKS5pbnNlcnRCZWZvcmUoJyNwYWdlX3RhYnMnKTsKCQl3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpeyBtZXNzYWdlLmhpZGUoKTsgfSwgOTAwMCk7Cgl9IAp9CgpmdW5jdGlvbiBpbml0QWpheCgpewoKCWpRdWVyeSgnLmluaXQtYWpheC10b2dnbGUnKS5jaGlsZHJlbigiYSIpLmFkZENsYXNzKCdhamF4LXRvZ2dsZScpOwoJalF1ZXJ5KCcuaW5pdC1hamF4LWRlbGV0ZScpLmNoaWxkcmVuKCJhIikuYWRkQ2xhc3MoJ2FqYXgtZGVsZXRlJyk7Cn0KCmZ1bmN0aW9uIGluaXRBamF4RXZlbnRzKCkgewoKCWpRdWVyeSgnLmFqYXgtdG9nZ2xlJykuY2xpY2soZnVuY3Rpb24gKGV2ZW50KSB7CgoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CQkKCQlhamF4X3RvZ2dsZSgkKHRoaXMpKTsKCX0pOwoJCglqUXVlcnkoJy5hamF4LWRlbGV0ZScpLmNsaWNrKGZ1bmN0aW9uIChldmVudCkgewoKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCgkJaWYoY29uZmlybSgnQXJlIHlvdSBzdXJlPycpKSB7CgkKCQkJYWpheF9kZWxldGUoJCh0aGlzKSk7CgkJfQoJfSk7CQkKfQoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogSlFVRVJZIElOSVQgKFJ1biBpbml0aWFsIHN0dWZmIGhlcmUpCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCmpRdWVyeShmdW5jdGlvbigkKXsKCglpbml0QWpheCgpOwoJaW5pdEFqYXhFdmVudHMoKTsKfSk7CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBBSkFYIExPQURJTkcgKE9ubHkgbG9hZCBhamF4IGZ1bmN0aW9ucyBpbiBoZXJlKQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgovKioKKiBERUxFVEUgSVRFTQoqIEAgb2JqIDogalF1ZXJ5IERPTSBvYmplY3QKKi8KZnVuY3Rpb24gYWpheF9kZWxldGUob2JqKSB7CgoJdmFyIHVybCA9IG9iai5hdHRyKCJocmVmIik7Cgl1cmwgKz0gIiZzaG93dGVtcGxhdGU9ZmFsc2UiOwoJCQoJalF1ZXJ5LmFqYXgoewoJCXR5cGU6ICJHRVQiLAoJCXVybDogdXJsLAoJCWFzeW5jOiB0cnVlLAoJCWRhdGFUeXBlOiAiaHRtbCIsCgkJYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7CgkJCgkJCW9iai5lbXB0eSgpLmFwcGVuZCgnPGRpdiBjbGFzcz0iYWpheC1sb2FkaW5nIGFqYXgtbG9hZGVyLXR5cGUtMTYiPjwvZGl2PicpOwoJCX0sCgkJZXJyb3I6IGZ1bmN0aW9uKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgewoJCQkKCQkJLy9hbGVydCgiU29ycnkuIFRoZXJlIHdhcyBhbiBMSVNFIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKCQl9LAkJCQoJCXN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsKCQkJCgkJCXNob3dfbWVzc2FnZShkYXRhKTsKCQl9LAoJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsKCQkKCQkJb2JqLmNsb3Nlc3QoInRyIikuZmFkZU91dCg1MDAsIGZ1bmN0aW9uKCkgewoKCQkJCXZhciB0YWJsZSA9ICQodGhpcykuY2xvc2VzdCgidGFibGUiKTsKCQkJCXZhciB0b3RhbHJvd3MgPSB0YWJsZS5maW5kKCJ0Ym9keSB0ciIpLnNpemUoKTsJCQkJCQoJCQkJCgkJCQkkKHRoaXMpLnJlbW92ZSgpOwoJCQkJCgkJCQl0YWJsZS5maW5kKCJ0Ym9keSB0ciIpLnJlbW92ZUNsYXNzKCk7CgkJCQl0YWJsZS5maW5kKCJ0Ym9keSB0cjpudGgtY2hpbGQoMm4rMSkiKS5hZGRDbGFzcygicm93MSIpOwoJCQkJdGFibGUuZmluZCgidGJvZHkgdHI6bnRoLWNoaWxkKDJuKSIpLmFkZENsYXNzKCJyb3cyIik7CQkJCQkKCQkJCQoJCQl9KTsKCQl9CQkKCQkKCX0pOwoKfQoKLyoqCiogVE9HR0xFIEFDVElWRQoqIEAgb2JqIDogalF1ZXJ5IERPTSBvYmplY3QKKi8KZnVuY3Rpb24gYWpheF90b2dnbGUob2JqKSB7CgoJdmFyIHVybCA9IG9iai5hdHRyKCJocmVmIik7Cgl1cmwgKz0gIiZzaG93dGVtcGxhdGU9ZmFsc2UiOwoJCQoJalF1ZXJ5LmFqYXgoewoJCXR5cGU6ICJHRVQiLAoJCXVybDogdXJsLAoJCWFzeW5jOiB0cnVlLAoJCWRhdGFUeXBlOiAianNvbiIsCgkJYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7CgkJCgkJCW9iai5lbXB0eSgpLmFwcGVuZCgnPGRpdiBjbGFzcz0iYWpheC1sb2FkaW5nIGFqYXgtbG9hZGVyLXR5cGUtMTYiPjwvZGl2PicpOwoJCX0sCgkJZXJyb3I6IGZ1bmN0aW9uKGpxWEhSLCB0ZXh0U3RhdHVzLCBlcnJvclRocm93bikgewoJCQkKCQkJLy9hbGVydCgiU29ycnkuIFRoZXJlIHdhcyBhbiBMSVNFIEFKQVggZXJyb3I6ICIgKyB0ZXh0U3RhdHVzKTsKCQl9LAkJCQoJCXN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHsKCQkJCgkJCW9iai5odG1sKGRhdGEuaW1hZ2UpOwkJCQkKCQkJb2JqLmF0dHIoImhyZWYiLCBkYXRhLmhyZWYpOwoJCX0sCgkJY29tcGxldGU6IGZ1bmN0aW9uKCkgewoJCQoJCQkkKHRoaXMsICIuYWpheC1sb2FkaW5nIikucmVtb3ZlKCk7CgkJfQkJCgkJCgl9KTsKfQ==]]></data>
	</file>
	<file>
	  <filename>/LISE.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBM9nl0dHksIDx0YXBzYUBvcmFuZ2UtbWVkaWEuZmk+CiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpCiMKIyBHb3JhbiBJbGljLCA8dW5pcXUzZUBnbWFpbC5jb20+CiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0CiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIExJU0UgaXMgYSBDTVMgTWFkZSBTaW1wbGUgbW9kdWxlIHRoYXQgZW5hYmxlcyB0aGUgd2ViIGRldmVsb3BlciB0byBjcmVhdGUKIyBtdWx0aXBsZSBsaXN0cyB0aHJvdWdob3V0IGEgc2l0ZS4gSXQgY2FuIGJlIGR1cGxpY2F0ZWQgYW5kIGdpdmVuIGZyaWVuZGx5CiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgTElTRQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBMSVNFIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEVORF9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIEdMT0JBTCBERUZJTkVTCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwokY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgpkZWZpbmUoJ0xJU0UnLCAnTElTRScpOwpkZWZpbmUoJ0xJU0VfVkFMVUVfU0VQQVJBVE9SJywgJywnKTsKZGVmaW5lKCdMSVNFX0NPTkZJR19GSUxFJywgJ2xpc2VfY29uZmlnLnBocCcpOwpkZWZpbmUoJ0xJU0VfRlJBTUVXT1JLX1BBVEgnLCBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCAnbW9kdWxlcycsIExJU0UsICdmcmFtZXdvcmsnKSApOwpkZWZpbmUoJ0xJU0VfVEVNUExBVEVfUEFUSCcsIGNtc19qb2luX3BhdGgoTElTRV9GUkFNRVdPUktfUEFUSCwgJ3RlbXBsYXRlcycpICk7CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIE1BSU4gQ0xBU1MKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmNsYXNzIExJU0UgZXh0ZW5kcyBDTVNNb2R1bGUKewoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBdHRyaWJ1dGVzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoJcHVibGljICRwcmVmaXg7IC8vIDwtIE1vdmUgdG8gdmFyaWFibGVzCglwdWJsaWMgJHVzZV9oaW50czsgLy8gPC0gTW92ZSB0byB2YXJpYWJsZXMKCXByaXZhdGUgJF9jb25maWc7Cglwcm90ZWN0ZWQgJF9maWVsZGRlZl9jYWNoZTsKCXByb3RlY3RlZCAkX2l0ZW1fY2FjaGU7CgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBNYWdpYyBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQkKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQoJeyAKICAgIAkKCQlzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoYXJyYXkoJHRoaXMsICdfYXV0b2xvYWRlcicpKTsKCQoJCSR0aGlzLT5faXRlbV9jYWNoZSAJPSBuZXcgTElTRUNhY2hlKExJU0VJdGVtT3BlcmF0aW9uczo6JGlkZW50aWZpZXJzKTsKCQkkdGhpcy0+X2NvbmZpZyAJCT0gbmV3IExJU0VDb25maWcoJHRoaXMpOwoJCSR0aGlzLT5wcmVmaXggCQk9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxfcHJlZml4JywgbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdGhpcy0+R2V0TmFtZSgpLCB0cnVlKSk7CiAgICAKICAgICMgc21hcnR5IHN0dWZmCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAkc21hcnR5LT5yZWdpc3RlclJlc291cmNlKCdsaXNldGVtcGxhdGUnLCBuZXcgTElTRVRlbXBsYXRlUmVzb3VyY2UoKSApOyAKICAgICRzbWFydHktPnJlZ2lzdGVyQ2xhc3MoJ0xJU0VTbWFydHknLCAnTElTRVNtYXJ0eScpOwogICAgCiAgICAjSSB3b3VsZCByYXRoZXIgaGF2ZSB0aGlzIGhlcmUsIGJ1dC4uLiBhcHBhcmVudGx5IGluIENNU01TIDIgaXQgd2lsbCB3b3JrLi4uCiAgICAjJHNtYXJ0eS0+cmVnaXN0ZXJQbHVnaW4oJ2Z1bmN0aW9uJywgJ0xJU0VMb2FkZXInLCBhcnJheSgnTElTRUxvYWRlcicsICdsb2FkZXInKSk7CgkJCiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CiAgICAKICAgICMgbm93IHdlIGRlYWwgd2l0aCByZWdpc3RlcmluZyByb3V0ZXMKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgaXRlbV9pZCx1cmwgRlJPTSAnLmNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBXSEVSRSB1cmwgIT0gPyc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSggJHF1ZXJ5LCBhcnJheSgnJykgKTsKICAgIAogICAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgIHsgICAgCiAgICAgICRkZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLCAtMSk7CiAgICAgIAogICAgICBpZiggJGRldGFpbHBhZ2UgPT0gLTEgKSAKICAgICAgewogICAgICAgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICAgICAkZGV0YWlscGFnZSA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwogICAgICB9CiAgICAgIAogICAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSAKICAgICAgewogICAgICAgICRwYXJtcyA9IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9uJyAgICA9PiAgJ2RldGFpbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICdyZXR1cm5pZCcgID0+ICAkZGV0YWlscGFnZSwKICAgICAgICAgICAgICAgICAgICAgICAgJ2l0ZW0nID0+ICAkb25lWydpdGVtX2lkJ10KICAgICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAkcm91dGUgPSBuZXcgQ21zUm91dGUoJG9uZVsndXJsJ10sICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSwgJHBhcm1zLCBUUlVFKTsKICAgICAgICBjbXNfcm91dGVfbWFuYWdlcjo6cmVnaXN0ZXIoJHJvdXRlKTsKICAgICAgfQogICAgfSAgICAKCX0KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBJbnRlcm5hbCBhdXRvbG9hZGVyCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCQoKCXByaXZhdGUgZmluYWwgZnVuY3Rpb24gX2F1dG9sb2FkZXIoJGNsYXNzbmFtZSkKCXsJCgkJJHBhcnRzID0gZXhwbG9kZSgnXFwnLCAkY2xhc3NuYW1lKTsKCQkkY2xhc3NuYW1lID0gZW5kKCRwYXJ0cyk7CiAgICAKICAgICRmbiA9IGNtc19qb2luX3BhdGgoCiAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldE1vZHVsZVBhdGgoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAnbGliJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnY2xhc3MuJyAuICRjbGFzc25hbWUgLiAnLnBocCcKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCQkKICAgIGlmKGZpbGVfZXhpc3RzKCRmbikpCiAgICB7CgkJCXJlcXVpcmVfb25jZSgkZm4pOwoJCX0JCgl9CQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1vZHVsZSBhcGkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQkJCgkKCXB1YmxpYyBmdW5jdGlvbiBHZXROYW1lKCkKCXsKCQlyZXR1cm4gTElTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkKCXsKCQlyZXR1cm4gTElTRTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0VmVyc2lvbigpCgl7CgkJcmV0dXJuICcxLjEnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwKCkKCXsKCQkkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCQoJCSRzbWFydHktPmFzc2lnbigncGFyZW50X25hbWUnLCAkdGhpcy0+R2V0TmFtZSgpKTsJCQoJCSRzbWFydHktPmFzc2lnbigncm9vdF91cmwnLCAkY29uZmlnWydyb290X3VybCddKTsKCgkJJHNtYXJ0eS0+YXNzaWduKCdtb2QnLCAkdGhpcyk7CgoJCXJldHVybiAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdoZWxwLnRwbCcpOwoKCX0JCgoJcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvcigpCgl7CgkJcmV0dXJuICdKbyBNb3JnJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQoJewoJCXJldHVybiAnam9tb3JnQHNtLWFydC1sYWIuY29tJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKICAgIC8vIFRPRE86IG1vdmUgdGhpcyBpbnRvIGEgdGVtcGxhdGUgYXMgSGVscCBpcwogICAgJGZuID0gY21zX2pvaW5fcGF0aCgKICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJuYW1lKF9fRklMRV9fKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoYW5nZWxvZy5odG1sJwogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICAgICAKCQlyZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkKCXsKCQlyZXR1cm4gJ2V4dGVuc2lvbnMnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ21vZGRlc2NyaXB0aW9uJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCgl7CgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzEuMTEnOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TW9kTGFuZygncG9zdGluc3RhbGwnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TW9kTGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoJCglmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCAkZXZlbnRuYW1lICkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2V2ZW50ZGVzY18nIC4gJGV2ZW50bmFtZSk7Cgl9CgoJZnVuY3Rpb24gR2V0RXZlbnRIZWxwKCAkZXZlbnRuYW1lICkKCXsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2V2ZW50aGVscF8nIC4gJGV2ZW50bmFtZSk7Cgl9CQoKICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgewoJCS8vIFNTTCBjaGVjayAoSG9wZWZ1bGx5IGNvcmUgd291bGQgZG8gdGhpcyBzb29uLi4uKQoJCSR1c2Vfc3NsID0gZmFsc2U7CgkJaWYoaXNzZXQoJF9TRVJWRVJbJ0hUVFBTJ10pICYmICRfU0VSVkVSWydIVFRQUyddPT0nb24nKQoJCQkkdXNlX3NzbCA9IHRydWU7CQoJCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJGdsb2JhbHNfanMgPSAoJHVzZV9zc2wgPyAkY29uZmlnWydzc2xfdXJsJ10gOiAkY29uZmlnWydyb290X3VybCddKSAuICcvbW9kdWxlcy8nIC4gTElTRSAuICcvbGliL2pzLyc7CgkJJGdsb2JhbHNfY3NzID0gKCR1c2Vfc3NsID8gJGNvbmZpZ1snc3NsX3VybCddIDogJGNvbmZpZ1sncm9vdF91cmwnXSkgLiAnL21vZHVsZXMvJyAuIExJU0UgLiAnL2xpYi9jc3MvJzsJCQoKICAgICR0bXBsID0gPDw8RU9UCjxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9InskZ2xvYmFsc19jc3N9bGlzZS1nbG9iYWxzLmNzcyIgLz4JCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InskZ2xvYmFsc19qc31saXNlLWdsb2JhbHMuanMiPjwvc2NyaXB0PgpFT1Q7CiAgICByZXR1cm4gJHRtcGw7CiAgfQkKCglwdWJsaWMgZnVuY3Rpb24gRG9BY3Rpb24oJG5hbWUsJGlkLCRwYXJhbXMsJHJldHVybmlkPScnKQoJewoJCWdsb2JhbCAkQ01TX0FETUlOX1BBR0U7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCgkJJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignbW9kJywgJHRoaXMpOwoJCSRzbWFydHktPmFzc2lnbignYWN0aW9uaWQnLCAkaWQpOwoJCSRzbWFydHktPmFzc2lnbigncmV0dXJuaWQnLCAkcmV0dXJuaWQpOwoJCQoJCWlmKCRDTVNfQURNSU5fUEFHRSkKICAgIHsKCQkJJHRoZW1lT2JqZWN0ID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CgkJCSRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ3RoZW1lT2JqZWN0JywgJHRoZW1lT2JqZWN0KTsJCQoJCX0KCQkJCQoJCWlmICgkbmFtZSAhPSAnJykgCiAgICB7CgkJCSRjb250ZW50cyA9ICcnOwkJCgkJCSRuYW1lID0gcHJlZ19yZXBsYWNlKCcvW15BLVphLXowLTlcLV8rXS8nLCAnJywgJG5hbWUpOwoKCQkJaWYoJENNU19BRE1JTl9QQUdFICYmICRuYW1lICE9ICdhamF4X2dldHVybCcpCgkJCQkkY29udGVudHMgLj0gJzxkaXYgY2xhc3M9Imxpc2UtYWRtaW4td3JhcHBlciI+JzsKCQkJCgkJCSRmaWxlbmFtZSA9ICR0aGlzLT5HZXRNb2R1bGVQYXRoKCkgLiAnL2FjdGlvbi4nIC4gJG5hbWUgLiAnLnBocCc7CgkJCWlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSB7CgkJCQkJCQoJCQkJb2Jfc3RhcnQoKTsJCgkJCQlpbmNsdWRlKCRmaWxlbmFtZSk7CgkJCQkkY29udGVudHMgLj0gb2JfZ2V0X2NvbnRlbnRzKCk7CgkJCQlvYl9lbmRfY2xlYW4oKTsJCgkJCX0JCQkKCQkJCQoJCQlpZigkQ01TX0FETUlOX1BBR0UgJiYgJG5hbWUgIT0gJ2FqYXhfZ2V0dXJsJykKCQkJCSRjb250ZW50cyAuPSAnPC9kaXY+JzsKCgkJCWVjaG8gJGNvbnRlbnRzOwkJCQoJCX0JCQoJfQogIAogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKQogIHsKICAgIHJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b19pbnN0YWxsJywgRkFMU0UpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b191cGdyYWRlJywgRkFMU0UpOwogIH0KICAKICAvLyB3aHkgZG8gd2UgbmVlZCB0byByZXBsaWNhdGUgdGhlIHBhcmVudCBtZXRob2RzID8/Pz8gKEpNKQoJCglmdW5jdGlvbiBVcGdyYWRlKCRvbGR2ZXJzaW9uLCAkbmV3dmVyc2lvbikKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJJHJlc3BvbnNlID0gRkFMU0U7CgkKCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9tZXRob2QudXBncmFkZS5waHAnOyAKCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkKCQkJJHJlc3BvbnNlID0gRkFMU0U7CgkJCSRyZXMgPSBpbmNsdWRlKCRmaWxlbmFtZSk7CiAgICAgIAogICAgICBpZihsaXNlX3V0aWxzOjppc0NNUzIoKSkKICAgICAgewogICAgICAgIGlmKCRyZXMgPT0gMSB8fCAkcmVzID09ICcnKSB7CiAgICAgICAgICAkcmVzcG9uc2UgPSBGQUxTRTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgJHJlc3BvbnNlID0gJHJlczsKICAgICAgICB9CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpICAkcmVzcG9uc2UgPSBUUlVFOwogICAgICB9CgoJCX0KCgkJcmV0dXJuICRyZXNwb25zZTsKCX0KCglmdW5jdGlvbiBJbnN0YWxsKCkKCXsKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCgkJJHJlc3BvbnNlID0gRkFMU0U7CgkKCQkkZmlsZW5hbWUgPSAkdGhpcy0+R2V0TW9kdWxlUGF0aCgpIC4gJy9tZXRob2QuaW5zdGFsbC5waHAnOwoJCWlmIChAaXNfZmlsZSgkZmlsZW5hbWUpKSB7CgkJCQoJCQkkcmVzID0gaW5jbHVkZSgkZmlsZW5hbWUpOwoJCQlpZigkcmVzID09IDEgfHwgJHJlcyA9PSAnJykgewoJCQkJJHJlc3BvbnNlID0gRkFMU0U7CgkJCX0gZWxzZSB7CgkJCQkkcmVzcG9uc2UgPSAkcmVzOwoJCQl9CgkJfQkKCQoJCXJldHVybiAkcmVzcG9uc2U7Cgl9CgkKCWZ1bmN0aW9uIFVuaW5zdGFsbCgpCgl7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCSRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQoJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQoJCSRmaWxlbmFtZSA9ICR0aGlzLT5HZXRNb2R1bGVQYXRoKCkgLiAnL21ldGhvZC51bmluc3RhbGwucGhwJzsKCQlpZiAoQGlzX2ZpbGUoJGZpbGVuYW1lKSkgewoJCQkKCQkJJHJlcyA9IGluY2x1ZGUoJGZpbGVuYW1lKTsKCQkJaWYoJHJlcyA9PSAxIHx8ICRyZXMgPT0gJycpIHsKCQkJCSRyZXNwb25zZSA9IEZBTFNFOwoJCQl9IGVsc2UgewoJCQkJJHJlc3BvbnNlID0gJHJlczsKCQkJfQoJCX0JCgkKCQlyZXR1cm4gJHJlc3BvbnNlOwoJfQkKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIE1hbmlwdWxhdGlvbiBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAoJCglwdWJsaWMgZnVuY3Rpb24gTW9kTGFuZygpCgl7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgIHJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheShhcnJheSgkdGhpcywgJ2xhbmcnKSwgJGFyZ3MpOwoJCQoJfQoJCglwdWJsaWMgZnVuY3Rpb24gTW9kUHJvY2Vzc1RlbXBsYXRlKCR0cGxfbmFtZSkKCXsKICAgICRvayA9IChzdHJwb3MoJHRwbF9uYW1lLCAnLi4nKSA9PT0gZmFsc2UpOwogICAgaWYgKCEkb2spIHJldHVybjsKCiAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7ICAKICAgICRyZXN1bHQgPSAnJzsKICAgICRvbGRjYWNoZSA9ICRzbWFydHktPmNhY2hpbmc7CiAgICAkc21hcnR5LT5jYWNoaW5nID0gJHRoaXMtPmNhbl9jYWNoZV9vdXRwdXQoKSA/IFNtYXJ0eTo6Q0FDSElOR19MSUZFVElNRV9DVVJSRU5UIDogU21hcnR5OjpDQUNISU5HX09GRjsKICAgICRyZXN1bHQgPSAkc21hcnR5LT5mZXRjaCgnbGlzZXRlbXBsYXRlOmluc3RhbmNlOycgLiAkdGhpcy0+R2V0TmFtZSgpIC4gJzsnIC4gJHRwbF9uYW1lKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAkc21hcnR5LT5jYWNoaW5nID0gJG9sZGNhY2hlOwogICAgcmV0dXJuICRyZXN1bHQ7ICAgIAoJfQoKCXB1YmxpYyBmdW5jdGlvbiBNb2RHZXRUZW1wbGF0ZUZyb21GaWxlKCR0cGxfbmFtZSkKCXsKCQkkb2sgPSAoc3RycG9zKCR0cGxfbmFtZSwgJy4uJykgPT09IGZhbHNlKTsKCQlpZiAoISRvaykgcmV0dXJuOwoKCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJCgkJJHRlbXBsYXRlID0gY21zX2pvaW5fcGF0aChMSVNFX1RFTVBMQVRFX1BBVEgsICR0cGxfbmFtZSAuICcudHBsJyk7CgkJCgkJaWYgKGlzX3JlYWRhYmxlKCR0ZW1wbGF0ZSkpIHsKCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkdGVtcGxhdGUpOwoJCX0gZWxzZSB7CgkJCXJldHVybiBudWxsOwoJCX0KCX0JCQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIEluc3RhbmNlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkvKioKCSAqIExpc3QgTW9kdWxlcwoJICogQGludGVybmFsCgkgKiBAcmV0dXJuIGFycmF5IG9mIG9iamVjdHMKCSAqLwkJCglmaW5hbCBwdWJsaWMgZnVuY3Rpb24gTGlzdE1vZHVsZXMoKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CQoJCQoJCSRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2xpc2VfaW5zdGFuY2VzIE9SREVSIEJZIG1vZHVsZV9pZCI7CQoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgkJd2hpbGUgKCRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkpIAogICAgewoJCSAgIyAqIE5PVEU6IGxpc2VfdXRpbHM6OmFycmF5X3RvX29iamVjdCgpIG5vdCBjYWxsZWQgb24gcHVycG9zZS4gKE5lZWQgdG8gZmluZCB3aHkgdGhvdWdoIC4uLi4gSk0pCgkJCSRvYmogPSBuZXcgc3RkQ2xhc3MoKTsKCQkKCQkJJG9iai0+bW9kdWxlX2lkID0gJHJvd1snbW9kdWxlX2lkJ107CgkJCSRvYmotPm1vZHVsZV9uYW1lID0gJHJvd1snbW9kdWxlX25hbWUnXTsKCQkKCQkJJGVudHJ5YXJyYXlbJHJvd1snbW9kdWxlX2lkJ11dID0gJG9iajsKCQl9CgkKCQlyZXR1cm4gJGVudHJ5YXJyYXk7CQoJfQkKCgkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJKiBGUkFNRVdPUksgU1RBUlRTCiAgKiBub3RlOiB0aGlzIHdpbGwgbW9zdCBzdXJlbHkgYmUgbW92ZWQgdG8gdGhlIGFjdHVhbCBmcmFtZXdvcmsKICAqIGF0IHNvbWUgcG9pbnQKCSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ3Jvc3MgbW9kdWxlIHN1cHBvcnQKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoJCgkvLyBDR0UgaGludCBzeXN0ZW0gc3VwcG9ydAkKCXB1YmxpYyBmdW5jdGlvbiBMb2FkTW9kdWxlSGludHMoJiRwYXJhbXMpCgl7CgkJJHRoaXMtPnVzZV9oaW50cyA9IGNtc191dGlsczo6Z2V0X2FwcF9kYXRhKCdfX01PRFVMRV9ISU5UX18nLiR0aGlzLT5HZXROYW1lKCkpOwkJCgkJaWYoY291bnQoJHRoaXMtPnVzZV9oaW50cykgPiAwKSB7CgkJCQoJCQlmb3JlYWNoKChhcnJheSkkdGhpcy0+dXNlX2hpbnRzIGFzICRrZXk9PiR2YWx1ZSkgewoJCQkKCQkJCWlmKGlzc2V0KCRwYXJhbXNbJGtleV0pKSBjb250aW51ZTsKCQkJCSRwYXJhbXNbJGtleV0gPSAkdmFsdWU7CgkJCX0KCQl9CQoJfQoJCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFNlYXJjaCBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAoKCXB1YmxpYyBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkaXRlbV9pZCwgJGF0dHIgPSAnJykKCXsKCQkkcmVzdWx0ID0gYXJyYXkoKTsKCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlaW5kZXhfc2VhcmNoJywgMCkpIHsJCQoJCQkKCQkJaWYgKCRhdHRyID09ICd0aXRsZScpCgkJCXsKCQkJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJCQkkcm93ID0gJGRiLT5HZXRSb3coJ1NFTEVDVCBhbGlhcywgdGl0bGUgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIFdIRVJFIGFjdGl2ZSA9IDEgQU5EIGl0ZW1faWQgPSA/JywgYXJyYXkoJGl0ZW1faWQpKTsKCgkJCQlpZiAoJHJvdykKCQkJCXsKCQkJCQkvLzAgcG9zaXRpb24gaXMgdGhlIHByZWZpeCBkaXNwbGF5ZWQgaW4gdGhlIGxpc3QgcmVzdWx0cy4KCQkJCQkkcmVzdWx0WzBdID0gJHRoaXMtPkdldEZyaWVuZGx5TmFtZSgpOwoKCQkJCQkvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlCgkJCQkJJHJlc3VsdFsxXSA9ICRyb3dbJ3RpdGxlJ107CgoJCQkJCS8vMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSBpdGVtLgoJCQkJCSRpbmxpbmUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGlzcGxheV9pbmxpbmUnLCAwKSA9PSAxOwoKCQkJCQkkZGV0YWlsdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2RlZmF1bHRfZGV0YWlsX3RlbXBsYXRlJyk7CgkJCQkJCgkJCQkJJHBhcmFtcyA9IGFycmF5KCdpdGVtJyA9PiAkcm93WydhbGlhcyddLCAnZGV0YWlsdGVtcGxhdGUnID0+ICRkZXRhaWx0ZW1wbGF0ZSk7CQkJCQoJCQkJCSR0aGlzLT5Mb2FkTW9kdWxlSGludHMoJHBhcmFtcyk7CgoJCQkJCSRyZXN1bHRbMl0gPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygnY250bnQwMScsICdkZXRhaWwnLCAkcmV0dXJuaWQsICcnLCAkcGFyYW1zLCAnJywgdHJ1ZSwgJGlubGluZSk7CgkJCQl9CgkJCX0KCQl9CgkJCgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgkKICAgIGZ1bmN0aW9uIFNlYXJjaFJlaW5kZXgoJG1vZHVsZSkKICAgIHsJCQkKCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVpbmRleF9zZWFyY2gnLCAwKSkgewkKCQoJCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4gJ21vZHVsZV8nIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gJ19pdGVtIE9SREVSIEJZIGl0ZW1faWQnOwoJCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkJCXdoaWxlICgkcmVzdWx0ICYmICEkcmVzdWx0LT5FT0YpCgkJCXsKCQkJCWlmICgkcmVzdWx0LT5maWVsZHNbJ2FjdGl2ZSddID09ICcxJykKCQkJCXsKCQkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkcmVzdWx0LT5maWVsZHNbJ2l0ZW1faWQnXSwgJ3RpdGxlJywgJHJlc3VsdC0+ZmllbGRzWyd0aXRsZSddLCBOVUxMKTsKCQkJCX0KCQkJCSRyZXN1bHQtPk1vdmVOZXh0KCk7CgkJCX0KCQl9CiAgICB9CQkKCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkjIFRlbXBsYXRlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCgkKCXB1YmxpYyBmdW5jdGlvbiBHZXRGaWxlVGVtcGxhdGVzQnlUeXBlKCR0eXBlKQoJewoJCSRyZXN1bHQgPSBhcnJheSgpOwkKCQkKCQlpZiAoJGhhbmRsZSA9IG9wZW5kaXIoTElTRV9URU1QTEFURV9QQVRIKSkgewoJCQoJCQl3aGlsZSAoZmFsc2UgIT09ICgkZW50cnkgPSByZWFkZGlyKCRoYW5kbGUpKSkgewoJCQkKCQkJCWlmICgkZW50cnkgPT0gIi4iIHx8ICRlbnRyeSA9PSAiLi4iKSBjb250aW51ZTsKCQkJCQoJCQkJaWYoc3RhcnRzd2l0aCgkZW50cnksICdmZV8nKSkgewoJCQkKCQkJCQlsaXN0KCR0cGxfcHJlZml4LCAkdHBsX3R5cGUsICR0cGxfbmFtZSkgPSBleHBsb2RlKCdfJywgJGVudHJ5LCAzKTsKCQkJCQlpZigkdHBsX3R5cGUgPT0gJHR5cGUpIHsKCQkJCQkKCQkJCQkJJHNwbGl0X2ZpbGUgPSBleHBsb2RlKCcuJywgJGVudHJ5KTsKCQkJCQkJJHNwbGl0X25hbWUgPSBleHBsb2RlKCcuJywgJHRwbF9uYW1lKTsKCQkJCQkJCgkJCQkJCSRyZXN1bHRbJHNwbGl0X25hbWVbMF1dID0gJHNwbGl0X2ZpbGVbMF07CgkJCQkJfQoJCQkJfQoJCQl9CgkJCQoJCQljbG9zZWRpcigkaGFuZGxlKTsKCQl9CQkKCQoJCWtzb3J0KCRyZXN1bHQpOwoJCgkJcmV0dXJuICRyZXN1bHQ7CgkKCX0KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBGaWVsZGRlZiBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkKCQoJLy8gR2V0IEZpZWxkIERlZmluaXRpb25zIChSZXZpZXcgdGhpcyBtZXRob2QgQVNBUCkKCXB1YmxpYyBmdW5jdGlvbiBHZXRGaWVsZERlZnMoJGluY2x1ZGVfbGlzdCA9IGFycmF5KCkpCgl7CQkJCgkJLy8gTG9hZCBmcm9tIGNhY2hlCgkJaWYoaXNzZXQoJHRoaXMtPl9maWVsZGRlZl9jYWNoZSkpIHsKCQkJCgkJCSRmaWVsZGRlZnMgPSBhcnJheSgpOwoJCQlmb3JlYWNoKCR0aGlzLT5fZmllbGRkZWZfY2FjaGUgYXMgJGZpZWxkKSB7CgoJCQkJaWYoY291bnQoJGluY2x1ZGVfbGlzdCkgJiYgCgkJCQkJIWluX2FycmF5KCRmaWVsZC0+R2V0QWxpYXMoKSwgJGluY2x1ZGVfbGlzdCkgJiYgCgkJCQkJIWluX2FycmF5KCRmaWVsZC0+R2V0SWQoKSwgJGluY2x1ZGVfbGlzdCkpCgkJCQkJCWNvbnRpbnVlOwoJCQkKCQkJCSRmaWVsZGRlZnNbJGZpZWxkLT5HZXRJZCgpXSA9IGNsb25lICRmaWVsZDsKCQkJfQoJCQkKCQkJcmV0dXJuIG5ldyBMSVNFRmllbGRkZWZBcnJheSgkZmllbGRkZWZzKTsKCQl9CgkJCgkJLy8gTG9hZCBmcm9tIGRhdGFiYXNlCgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkdGhpcy0+X2ZpZWxkZGVmX2NhY2hlID0gbmV3IExJU0VDYWNoZShMSVNFRmllbGRkZWZPcGVyYXRpb25zOjokaWRlbnRpZmllcnMpOwogICAgCgoKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV8iIC4gJHRoaXMtPl9HZXRNb2R1bGVBbGlhcygpIC4gIl9maWVsZGRlZiBHUk9VUCBCWSBmaWVsZGRlZl9pZCBPUkRFUiBCWSBwb3NpdGlvbiI7CQoJCSRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCgkJd2hpbGUgKCRkYnIgJiYgJHJvdyA9ICRkYnItPkZldGNoUm93KCkpIHsKCQkKCQkJJG9iaiA9IExJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRyb3cpOwoJCQlpZihpc19vYmplY3QoJG9iaikpIAoJCQkJJHRoaXMtPl9maWVsZGRlZl9jYWNoZVtdID0gJG9iajsKCQl9CgkJCQoJCXJldHVybiAkdGhpcy0+R2V0RmllbGREZWZzKCRpbmNsdWRlX2xpc3QpOwoJfQoKCS8vIE1ha2UgYnVsayBhY3Rpb24gKHVzaW5nIHRoaXM6IGFjdGlvbi5hamF4LnBocCkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlRmllbGREZWZPcmRlcigkZmllbGRkZWZfb3JkZXIpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2ZpZWxkZGVmIFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgZmllbGRkZWZfaWQgPSA/JzsKCQlmb3JlYWNoKCRmaWVsZGRlZl9vcmRlciBhcyAka2V5ID0+ICRpdGVtKXsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSwgJGl0ZW0pKTsKCQl9CiAgICAKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpOwoJfQkKCQkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSXRlbSBtZXRob2RzCgkjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAkKCQoJcHVibGljIGZ1bmN0aW9uIFNhdmVJdGVtKExJU0VJdGVtICYkb2JqKQoJewoJCUxJU0VJdGVtT3BlcmF0aW9uczo6U2F2ZSgkdGhpcywgJG9iaik7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBJbml0aWF0ZUl0ZW0oJGxvYWRfZmllbGRzID0gYXJyYXkoKSkKCXsKCQkkb2JqID0gbmV3IExJU0VJdGVtOwoJCWlmKCRsb2FkX2ZpZWxkcyAhPT0gZmFsc2UpIHsKCQkKCQkJJG9iai0+ZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmcygkbG9hZF9maWVsZHMpOwoJCQkkb2JqLT5maWVsZGRlZnMtPlNldFBhcmVudEl0ZW0oJG9iaik7CgkJfQogICAgICAKCQlyZXR1cm4gJG9iajsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIExvYWRJdGVtQnlJZGVudGlmaWVyKCRpZGVudGlmaWVyLCAkdmFsdWUpCgl7CQoJCWlmKCEkb2JqID0gJHRoaXMtPl9pdGVtX2NhY2hlLT5HZXRDYWNoZWRCeUlkZW50aWZpZXIoJGlkZW50aWZpZXIsICR2YWx1ZSkpIHsJCQoKCQkJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUl0ZW0oKTsKCQkJJG9iai0+JGlkZW50aWZpZXIgPSAkdmFsdWU7CgkJCQoJCQlpZihMSVNFSXRlbU9wZXJhdGlvbnM6OkxvYWQoJHRoaXMsICRvYmopKQkJCQoJCQkJJHRoaXMtPl9pdGVtX2NhY2hlW10gPSAkb2JqOwoJCX0KCQkJCQkKCQlyZXR1cm4gY2xvbmUgJG9iajsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIERlbGV0ZUl0ZW1CeUlkKCRpZCkKCXsKCQkkb2JqID0gJHRoaXMtPkxvYWRJdGVtQnlJZGVudGlmaWVyKCdpdGVtX2lkJywgJGlkKTsKCQlMSVNFSXRlbU9wZXJhdGlvbnM6OkRlbGV0ZSgkdGhpcywgJG9iaik7Cgl9CQoJCgkvLyBNYWtlIGJ1bGsgYWN0aW9uICh1c2luZyB0aGlzOiBhY3Rpb24uYWpheC5waHApCglwdWJsaWMgZnVuY3Rpb24gU2F2ZUl0ZW1PcmRlcigkaXRlbV9vcmRlcikKCXsKCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCSRxdWVyeSA9ICdVUERBVEUgJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5fR2V0TW9kdWxlQWxpYXMoKSAuICdfaXRlbSBTRVQgcG9zaXRpb24gPSA/IFdIRVJFIGl0ZW1faWQgPSA/JzsKCQlmb3JlYWNoKCRpdGVtX29yZGVyIGFzICRrZXkgPT4gJGl0ZW0pewoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgka2V5LCAkaXRlbSkpOwoJCX0KCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0SXRlbVF1ZXJ5KCYkcGFyYW1zKQoJewoJCSRjbGFzcyA9ICR0aGlzLT5fR2V0TW9kdWxlQ29uZmlnKCdpdGVtX3F1ZXJ5X2NsYXNzJyk7CgkKCQlyZXR1cm4gbmV3ICRjbGFzcygkdGhpcywgJHBhcmFtcyk7Cgl9CgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgQ2F0ZWdvcnkgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCgkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlQ2F0ZWdvcnkoTElTRUNhdGVnb3J5ICYkb2JqKQoJewoJCUxJU0VDYXRlZ29yeU9wZXJhdGlvbnM6OlNhdmUoJHRoaXMsICRvYmopOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gSW5pdGlhdGVDYXRlZ29yeSgpCgl7CgkJcmV0dXJuIG5ldyBMSVNFQ2F0ZWdvcnk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBMb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJGlkZW50aWZpZXIsICR2YWx1ZSkKCXsJCgkJaWYoIWluX2FycmF5KCRpZGVudGlmaWVyLCBMSVNFQ2F0ZWdvcnlPcGVyYXRpb25zOjokaWRlbnRpZmllcnMpKQoJCQl0aHJvdyBuZXcgTElTRUV4Y2VwdGlvbigiSWxsZWdhbCBpZGVudGlmaWVyOiAkaWRlbnRpZmllciEiKTsKCgkJJG9iaiA9ICR0aGlzLT5Jbml0aWF0ZUNhdGVnb3J5KCk7CgkJJG9iai0+JGlkZW50aWZpZXIgPSAkdmFsdWU7CgkJCgkJTElTRUNhdGVnb3J5T3BlcmF0aW9uczo6TG9hZCgkdGhpcywgJG9iaik7CgkJCQoJCXJldHVybiAkb2JqOwoJfQkKCQoJcHVibGljIGZ1bmN0aW9uIERlbGV0ZUNhdGVnb3J5QnlJZCgkaWQpCgl7CgkJJG9iaiA9ICR0aGlzLT5Mb2FkQ2F0ZWdvcnlCeUlkZW50aWZpZXIoJ2NhdGVnb3J5X2lkJywgJGlkKTsKCQlMSVNFQ2F0ZWdvcnlPcGVyYXRpb25zOjpEZWxldGUoJHRoaXMsICRvYmopOwoJfQkJCgkKCS8vIE1ha2UgYnVsayBhY3Rpb24gKHVzaW5nIHRoaXM6IGFjdGlvbi5hamF4LnBocCkKCXB1YmxpYyBmdW5jdGlvbiBTYXZlQ2F0ZWdvcnlPcmRlcigkY2F0ZWdvcnlfb3JkZXIpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAnVVBEQVRFICcgLiBjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlXycgLiAkdGhpcy0+X0dldE1vZHVsZUFsaWFzKCkgLiAnX2NhdGVnb3J5IFNFVCBwb3NpdGlvbiA9ID8gV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCQlmb3JlYWNoKCRjYXRlZ29yeV9vcmRlciBhcyAka2V5ID0+ICRpdGVtKXsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGtleSwgJGl0ZW0pKTsKCQl9CgkJTElTRUNhdGVnb3J5T3BlcmF0aW9uczo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCR0aGlzKTsKCQlyZXR1cm4gJHRoaXMtPk1vZExhbmcoJ2NoYW5nZXNzYXZlZCcpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gR2V0Q2F0ZWdvcnlRdWVyeSgmJHBhcmFtcykKCXsKCQkkY2xhc3MgPSAkdGhpcy0+X0dldE1vZHVsZUNvbmZpZygnY2F0ZWdvcnlfcXVlcnlfY2xhc3MnKTsKCQoJCXJldHVybiBuZXcgJGNsYXNzKCR0aGlzLCAkcGFyYW1zKTsKCX0JCgoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBBcmNoaXZlIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRBcmNoaXZlUXVlcnkoJiRwYXJhbXMpCgl7CgkJJGNsYXNzID0gJHRoaXMtPl9HZXRNb2R1bGVDb25maWcoJ2FyY2hpdmVfcXVlcnlfY2xhc3MnKTsKCQoJCXJldHVybiBuZXcgJGNsYXNzKCR0aGlzLCAkcGFyYW1zKTsKCX0JCgkKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSMgSW50ZXJuYWwgbWV0aG9kcwoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLSAJCQoKCS8qKgoJICogR2V0IGZpZWxkIHR5cGVzCgkgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgZmllbGQgdHlwZXMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9HZXRNb2R1bGVDb25maWcoKQoJewoJCWlmKGNvdW50KGZ1bmNfbnVtX2FyZ3MoKSkpIAogICAgeyAgCgkJCSRrZXkgPSBmdW5jX2dldF9hcmcoMCk7CgkJCXJldHVybiAkdGhpcy0+X2NvbmZpZ1ska2V5XTsKCQl9CgkKCQlyZXR1cm4gJHRoaXMtPl9jb25maWc7Cgl9CgkKCS8qKgoJICogR2V0IGZpZWxkIHR5cGVzCgkgKiBAcmV0dXJuIGFycmF5IFJldHVybnMgYW4gYXJyYXkgb2YgZmllbGQgdHlwZXMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9HZXRNb2R1bGVBbGlhcygpCgl7CgkJcmV0dXJuICR0aGlzLT5fR2V0TW9kdWxlQ29uZmlnKCdtb2R1bGVfYWxpYXMnKTsKCX0KCQoJIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJIyBIZWxwIG1ldGhvZHMKCSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0gCQoJCgkvLyBHZXQgcmlkZCBvZiB0aGlzIHNoaXQKCXB1YmxpYyBmdW5jdGlvbiBDcmVhdGVCYWNrTGluaygkdGFiKQoJewoJCSRzZWN1cmVwYXJhbSA9IENNU19TRUNVUkVfUEFSQU1fTkFNRSAuICc9JyAuICRfU0VTU0lPTltDTVNfVVNFUl9LRVldOwoJCXJldHVybiAnPGEgY2xhc3M9InBhZ2ViYWNrIiBocmVmPSJtb2R1bGVpbnRlcmZhY2UucGhwPycgCiAgICAgICAgICAgIC4gJHNlY3VyZXBhcmFtIAogICAgICAgICAgICAuICcmbW9kdWxlPScKICAgICAgICAgICAgLiAkdGhpcy0+R2V0TmFtZSgpCiAgICAgICAgICAgIC4gJyZhbXA7bTFfYWN0aXZlX3RhYj0nCiAgICAgICAgICAgIC4gJHRhYgogICAgICAgICAgICAuICciPicKICAgICAgICAgICAgLiAkdGhpcy0+TW9kTGFuZygnYmFjaycpCiAgICAgICAgICAgIC4gJzwvYT4nOwoJfQoKCWZ1bmN0aW9uIENyZWF0ZVByZXR0eUxpbmsoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhY3Rpb24sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmV0dXJuaWQ9JycsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHM9JycsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zPWFycmF5KCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2Fybl9tZXNzYWdlPScnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb25seWhyZWY9ZmFsc2UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5saW5lPWZhbHNlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFkZHRleHQ9JycsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGFyZ2V0Y29udGVudG9ubHk9ZmFsc2UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJldHR5dXJsPScnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCgl7CiAgICAKCQlzd2l0Y2goJGFjdGlvbikgCiAgICB7CgoJCQljYXNlICdkZXRhaWwnOgoKICAgICAgICBpZiggIWVtcHR5KCRwcmV0dHl1cmwpICkKICAgICAgICB7CiAgICAgICAgICByZXR1cm4gJHRoaXMtPkNyZWF0ZUxpbmsoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3YXJuX21lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvbmx5aHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlubGluZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFkZHRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXRjb250ZW50b25seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByZXR0eXVybAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICB9CgkJCQoJCQkJJHN0cmluZ19hcnJheSA9IGFycmF5KCk7CgkJCQkkc3RyaW5nX2FycmF5W10gPSAkdGhpcy0+cHJlZml4OwoJCQkJCgkJCQkvLyBDYXRlZ29yeSAvIGhpZXJhcmNoaWFsIHN0dWZmCgkJCQlpZihpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSAmJiBpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpIHsKCQkJCQoJCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydjYXRlZ29yeSddKSkgCgkJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107CgkJCQkJCgkJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2lkX2hpZXJhcmNoeSddKSkKCQkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snaWRfaGllcmFyY2h5J107CgkJCQl9CQkKCQkJCQkJCgkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydpdGVtJ107CgkJCQkKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydyZXR1cm5pZCddKSkKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcmV0dXJuaWQ7CgoJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2RldGFpbHRlbXBsYXRlJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSAKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwoJCQkJCgkJCQkkcHJldHR5dXJsID0gaW1wbG9kZSgnLycsICRzdHJpbmdfYXJyYXkpOwkJCQoJCQkJYnJlYWs7CgoJCQljYXNlICdkZWZhdWx0JzoKICAgICAgCiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3RhZyddKSApCiAgICAgICAgewogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKCQkJCSRzdHJpbmdfYXJyYXkgPSBhcnJheSgpOwoJCQkJJHN0cmluZ19hcnJheVtdID0gJHRoaXMtPnByZWZpeDsJCiAgICAgICAgCgkJCQkvLyBDYXRlZ29yeSAvIGhpZXJhcmNoaWFsIHN0dWZmCgkJCQlpZighaXNzZXQoJHRoaXMtPnVzZV9oaW50c1snY2F0ZWdvcnknXSkgJiYgaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpIAoJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2NhdGVnb3J5J107CQkJCQkKCQkJCQoJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2lkX2hpZXJhcmNoeSddKSAmJiBpc3NldCgkcGFyYW1zWydpZF9oaWVyYXJjaHknXSkpCgkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snaWRfaGllcmFyY2h5J107CQkJCQoKCQkJCS8vIFBhZ2VsaW1pdCBzdHVmZiwgd29uJ3Qgd29yayB0b2dldGhlciB3aXRoIGhpZXJhcmNoeSBzdHVmZi4KCQkJCWlmKGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSkKICAgICAgICB7CgkJCQkJJHN0cmluZ19hcnJheVtdID0gJ3BhZ2UnOwoJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ3BhZ2VudW1iZXInXTsKCQkJCQoJCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydwYWdlbGltaXQnXSkpIAoJCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcGFyYW1zWydwYWdlbGltaXQnXTsJCgkJCQl9CgkJCQkKCQkJCS8vIEFyY2hpdmUgc3R1ZmYuCgkJCQlpZihpc3NldCgkcGFyYW1zWydmaWx0ZXJfeWVhciddKSB8fCBpc3NldCgkcGFyYW1zWydmaWx0ZXJfbW9udGgnXSkpIAogICAgICAgIHsKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAnYXJjaGl2ZSc7CgkJCQkJCgkJCQkJaWYoIWlzc2V0KCR0aGlzLT51c2VfaGludHNbJ2ZpbHRlcl95ZWFyJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl95ZWFyJ10pKSAKCQkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snZmlsdGVyX3llYXInXTsJCgkJCQkKCQkJCQlpZighaXNzZXQoJHRoaXMtPnVzZV9oaW50c1snZmlsdGVyX21vbnRoJ10pICYmIGlzc2V0KCRwYXJhbXNbJ2ZpbHRlcl9tb250aCddKSkgCgkJCQkJCSRzdHJpbmdfYXJyYXlbXSA9ICRwYXJhbXNbJ2ZpbHRlcl9tb250aCddOwkKCQkJCX0JCQkJCgkJCQkKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydyZXR1cm5pZCddKSkKCQkJCQkkc3RyaW5nX2FycmF5W10gPSAkcmV0dXJuaWQ7CQoKCQkJCWlmKCFpc3NldCgkdGhpcy0+dXNlX2hpbnRzWydkZXRhaWx0ZW1wbGF0ZSddKSAmJiBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSkgCgkJCQkJJHN0cmluZ19hcnJheVtdID0gJHBhcmFtc1snZGV0YWlsdGVtcGxhdGUnXTsJCgoJCQkJJHByZXR0eXVybCA9IGltcGxvZGUoJy8nLCAkc3RyaW5nX2FycmF5KTsJCQkKCQkJCWJyZWFrOwogICAgICAgIAogICAgICAgIGRlZmF1bHQ6IAogICAgICAgICAgJHByZXR0eXVybCA9ICcnOwkJCgkJfQogICAgCiAgICByZXR1cm4gJHRoaXMtPkNyZWF0ZUxpbmsoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3YXJuX21lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvbmx5aHJlZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlubGluZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFkZHRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0YXJnZXRjb250ZW50b25seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByZXR0eXVybAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKCgl9CgkKfSAvLyBlbmQgb2YgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKdHJ5CnsKICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdFbmdpbmU9SW5ub0RCJyk7CgogIC8vIGluc3RhbmNlIHRhYmxlcwogICRmaWVsZHMgPSAnCiAgICAgIG1vZHVsZV9pZCBJIEtFWSBBVVRPLAogICAgICBtb2R1bGVfbmFtZSBDKDE2MCkKICAnOwoKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2luc3RhbmNlcycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiAgJHIgPSAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSwgRkFMU0UpOwogIAogIGlmKCRyICE9IDIpCiAgewogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpLCAkZGItPkVycm9yTm8oKSApOwogIH0KCgogIC8vIEZpZWxkZGVmIHRhYmxlcwogICRmaWVsZHMgPSAnCiAgICB0eXBlIEMoMjU1KSBLRVksCiAgICBvcmlnaW5hdG9yIEMoMjU1KSwKICAgIHBhdGggQygyNTUpLAogICAgYWN0aXZlIEk0LAogICAgZGlzYWJsZWQgSTQKICAnOwoKICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2ZpZWxkZGVmcycsICRmaWVsZHMsICR0YWJvcHRhcnJheSk7CiAgJHIgPSAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSwgRkFMU0UpOwogIAogIGlmKCRyICE9IDIpCiAgewogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbiggJGRiLT5FcnJvck1zZygpLCAkZGItPkVycm9yTm8oKSApOwogIH0KfSAKY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgCnsKICByZXR1cm4gJGUtPmdldE1lc3NhZ2UoKTsKfQoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFdmVudHMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsICdDb250ZW50UG9zdENvbXBpbGUnLCBmYWxzZSk7CiR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCAnTW9kdWxlSW5zdGFsbGVkJywgZmFsc2UpOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZVVuaW5zdGFsbGVkJywgZmFsc2UpOwokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywgJ01vZHVsZVVwZ3JhZGVkJywgZmFsc2UpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByZWZlcmVuY2VzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvc2NhbicsIDApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAxKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93X2F1dG91cGRhdGUnLCAxKTsKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTbWFydHkgcGx1Z2lucwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiR0aGlzLT5SZWdpc3RlclNtYXJ0eVBsdWdpbignTElTRUxvYWRlcicsJ2Z1bmN0aW9uJywgYXJyYXkoJ0xJU0VMb2FkZXInLCAnbG9hZGVyJykpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNjYW4gZmllbGRkZWZzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkxJU0VGaWVsZGRlZk9wZXJhdGlvbnM6OlNjYW5Nb2R1bGVzKCk7Cgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEYXRhYmFzZSB0YWJsZXMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2xpc2VfaW5zdGFuY2VzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9saXNlX2ZpZWxkZGVmcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRXZlbnRzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnQ29udGVudFBvc3RDb21waWxlJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnTW9kdWxlSW5zdGFsbGVkJyk7CiR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnTW9kdWxlVW5pbnN0YWxsZWQnKTsKJHRoaXMtPlJlbW92ZUV2ZW50SGFuZGxlcignQ29yZScsICdNb2R1bGVVcGdyYWRlZCcpOwoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByZWZlcmVuY2VzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgU21hcnR5IHBsdWdpbnMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKJHRoaXMtPlJlbW92ZVNtYXJ0eVBsdWdpbigpOw==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMSVNFIC0gTGlzdCBJdCBTcGVjaWFsIEVkaXRpb24KIyBWZXJzaW9uIDEuMQojIEEgZm9yayBvZiBMaXN0STIKIyBtYWludGFpbmVkIGJ5IEZlcm5hbmRvIE1vcmdhZG8gQUtBIEpvIE1vcmcKIyBzaW5jZSAyMDE1CiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+CiMgQ28tTWFpbnRhaW5lcjogU2ltb24gUmFkZm9yZCwgPHNpbW9uQGNvbmNlcHRmYWN0b3J5LmNvbS5hdT4KIyBXZWI6IHd3dy5jb25jZXB0ZmFjdG9yeS5jb20uYXUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPgojIFdlYjogd3d3LmpvbmF0aGFuc2NobWlkLmRlCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFNvbWUgd2Fja29zIHN0YXJ0ZWQgZGVzdHJveWluZyBzdHVmZiBzaW5jZSAyMDEyIGFuZCBzdG9wcGVkIGF0IDIwMTQ6CiMKIyBUYXBpbyBMw7Z5dHR5LCA8dGFwc2FAb3JhbmdlLW1lZGlhLmZpPgojIFdlYjogd3d3Lm9yYW5nZS1tZWRpYS5maQojCiMgR29yYW4gSWxpYywgPHVuaXF1M2VAZ21haWwuY29tPgojIFdlYjogd3d3LmljaC1tYWNoLWRhcy5hdAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlCiMgbXVsdGlwbGUgbGlzdHMgdGhyb3VnaG91dCBhIHNpdGUuIEl0IGNhbiBiZSBkdXBsaWNhdGVkIGFuZCBnaXZlbiBmcmllbmRseQojIG5hbWVzIGZvciBlYXNpZXIgY2xpZW50IG1haW50ZW5hbmNlLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIExJU0UKIyBMSVNFIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgTElTRSBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFTkRfTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWRlZmluZWQoJ0NNU19WRVJTSU9OJykgKSBleGl0OwoKLyoqKioqKiovCiMgc28gZmFyIHRoaXMgaXMgdmFsaWQgb25seSBmb3IgYmV0YSB0ZXN0aW5nICMKLyoqKioqKi8KCnN3aXRjaCAoJG9sZHZlcnNpb24pIAp7CiAgY2FzZSAnMC4xLmIuMic6CiAgY2FzZSAnMC4xLmIuMyc6CiAgCiAgICAjIHdlIG5vdyBzdXBwb3J0IElubm9EQiBpbnN0ZWFkIG9mIE15SVNBTQogICAgJHByZWZpeCA9IGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfJyAuICR0aGlzLT5HZXROYW1lKCkgLiAnXyc7CiAgICAKICAgICR0YWJsZV9saXN0ID0gYXJyYXkoCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3RhbmNlcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpZWxkZGVmcycKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBmb3JlYWNoKCR0YWJsZV9saXN0IGFzICR0YWJsZSkKICAgIHsKICAgICAgJHRhYmxlbmFtZSA9ICRwcmVmaXggLiAkdGFibGU7CiAgICAgICRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnIC4gJHRhYmxlbmFtZSAuICcgRU5HSU5FPUlubm9EQjsnOwogICAgICBjbXNtcygpLT5HZXREYigpLT5FeGVjdXRlKCRxdWVyeSk7CiAgICB9CiAgICAKICAgICMgdGhlIHBsdWdpbiBtb3ZlZCB0byBhbm90aGVyIGNsYXNzCiAgICAkdGhpcy0+UmVtb3ZlU21hcnR5UGx1Z2luKCdMSVNFTG9hZGVyJyk7ICM8LSB0aGVyZSB3YXMgYSB0eXBvIGhlcmUgYmVmb3JlPwogICAgJHRoaXMtPlJlZ2lzdGVyU21hcnR5UGx1Z2luKCAnTElTRUxvYWRlcicsICdmdW5jdGlvbicsIGFycmF5KCdMSVNFTG9hZGVyJywgJ2xvYWRlcicpICk7CiAgICAKICBicmVhazsKICAKICBjYXNlICcwLjEuYi40JzoKICAgICAgIyB0aGUgcGx1Z2luIG1vdmVkIHRvIGFub3RoZXIgY2xhc3MKICAgICR0aGlzLT5SZW1vdmVTbWFydHlQbHVnaW4oJ0xJU0VMb2FkZXInKTsKICAgICR0aGlzLT5SZWdpc3RlclNtYXJ0eVBsdWdpbiggJ0xJU0VMb2FkZXInLCAnZnVuY3Rpb24nLCBhcnJheSgnTElTRUxvYWRlcicsICdsb2FkZXInKSApOwp9CgogaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hdXRvdXBkYXRlJywgMCkgKQogewogICAkbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOwogICAkbW9kb3BzID0gY21zbXMoKS0+R2V0TW9kdWxlT3BlcmF0aW9ucygpOwogICAkbG9hZGVkID0gYXJyYXlfa2V5cyggJG1vZG9wcy0+R2V0TG9hZGVkTW9kdWxlcygpICk7CgogICBmb3JlYWNoKCRtb2R1bGVzIGFzICRtb2R1bGUpIAogIHsKICAgIGlmKCBpbl9hcnJheSgkbW9kdWxlLT5tb2R1bGVfbmFtZSwgJGxvYWRlZCkgKQogICAgewogICAgICAkaW5zdCA9ICRtb2RvcHMtPmdldF9tb2R1bGVfaW5zdGFuY2UoJG1vZHVsZS0+bW9kdWxlX25hbWUpOwogICAgICAKICAgICAgaWYoICRpbnN0LT5BbGxvd0F1dG9VcGdyYWRlKCkgKQogICAgICB7CiAgICAgICAgJG1vZG9wcy0+VXBncmFkZU1vZHVsZSgkbW9kdWxlLT5tb2R1bGVfbmFtZSk7CiAgICAgIH0KICAgIH0gCiAgfQogfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9IExJU0UKdmVyc2lvbiA9IDEuMApkZXNjcmlwdGlvbiA9IAphdXRob3IgPSBKbyBNb3JnCmF1dGhvcmVtYWlsID0gam9tb3JnQHNtLWFydC1sYWIuY29tCm1pbmNtc3ZlcnNpb24gPSAxLjExCjEx]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_fielddefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExvYWQgZmllbGRkZWZzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRmaWVsZGRlZnMgPSBMSVNFRmllbGRkZWZPcGVyYXRpb25zOjpHZXRSZWdpc3RlcmVkRmllbGRkZWZzKHRydWUsIHRydWUpOw0KZm9yZWFjaCgkZmllbGRkZWZzIGFzICRvbmVkZWYpIHsNCg0KCWlmKCRvbmVkZWYtPklzRGlzYWJsZWQoKSkgew0KCQ0KCQkkb25lZGVmLT5hY3RpdmVfbGluayA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vd2FybmluZy5naWYnLCAkdGhpcy0+TW9kTGFuZygnZmllbGRkZWZfZGVwc19taXNzaW5nJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsNCgl9CQ0KCWVsc2VpZigkb25lZGVmLT5Jc0FjdGl2ZSgpKSB7DQoNCgkJJG9uZWRlZi0+YWN0aXZlX2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZG1pbl90b2dnbGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS90cnVlLmdpZicsICcnLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KA0KCQkJJ3R5cGUnID0+ICRvbmVkZWYtPkdldFR5cGUoKQ0KCQkpKTsJCQ0KCX0gCQ0KCWVsc2Ugew0KCQ0KCQkkb25lZGVmLT5hY3RpdmVfbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX3RvZ2dsZWZpZWxkZGVmJywgJHJldHVybmlkLCAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZicsICcnLCAnJywgJycsICdzeXN0ZW1pY29uJyksIGFycmF5KA0KCQkJJ3R5cGUnID0+ICRvbmVkZWYtPkdldFR5cGUoKQ0KCQkpKTsJDQoJfQkNCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkZGVmcycsICRmaWVsZGRlZnMpOw0KDQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fc2NhbmZpZWxkZGVmcycsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgICAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCiRzbWFydHktPmFzc2lnbignc2NhbicsCQkgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3NjYW5fZmllbGRkZWZzJywgJHRoaXMtPk1vZExhbmcoJ2ZpZWxkZGVmX3NjYW4nKSkpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZpZWxkZGVmc3RhYi50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_instancestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KJEdMT0JBTFNbJ0NNU19GT1JDRV9NT0RVTEVfTE9BRCddID0gMTsNCiRhZG1pbnRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7DQoNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgTG9hZCBtb2R1bGVzDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRtb2RvcHMgPSBjbXNtcygpLT5HZXRNb2R1bGVPcGVyYXRpb25zKCk7DQokYWxsbW9kdWxlcyA9ICRtb2RvcHMtPkdldEFsbE1vZHVsZU5hbWVzKCk7DQoNCmlmIChjb3VudCgkYWxsbW9kdWxlcykgPiAwKSANCnsNCgkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlcyBPUkRFUiBCWSBtb2R1bGVfbmFtZSI7DQoJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQoJd2hpbGUgKCRyZXN1bHQgJiYgJHJvdyA9ICRyZXN1bHQtPkZldGNoUm93KCkpIA0KICB7DQoJCSRkYm1bJHJvd1snbW9kdWxlX25hbWUnXV1bJ1N0YXR1cyddID0gJHJvd1snc3RhdHVzJ107DQoJCSRkYm1bJHJvd1snbW9kdWxlX25hbWUnXV1bJ1ZlcnNpb24nXSA9ICRyb3dbJ3ZlcnNpb24nXTsNCgkJJGRibVskcm93Wydtb2R1bGVfbmFtZSddXVsnQWN0aXZlJ10gPSAoJHJvd1snYWN0aXZlJ10gPT0gMSA/IHRydWUgOiBmYWxzZSk7DQoJfQ0KfQ0KDQokbW9kdWxlcyA9ICR0aGlzLT5MaXN0TW9kdWxlcygpOw0KZm9yZWFjaCgkbW9kdWxlcyBhcyAkbW9kdWxlKSANCnsNCgkkbW9kID0gJG1vZG9wcy0+Z2V0X21vZHVsZV9pbnN0YW5jZSgkbW9kdWxlLT5tb2R1bGVfbmFtZSwnJyx0cnVlKTsNCgkNCglpZihpc19vYmplY3QoJG1vZCkpDQogIHsNCgkJJG1vZHVsZS0+ZnJpZW5kbHluYW1lID0gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCk7DQoJCSRtb2R1bGUtPnZlcnNpb24gPSAkZGJtWyRtb2R1bGUtPm1vZHVsZV9uYW1lXVsnVmVyc2lvbiddOw0KDQoJCWlmICh2ZXJzaW9uX2NvbXBhcmUoJG1vZC0+R2V0VmVyc2lvbigpLCAkZGJtWyRtb2R1bGUtPm1vZHVsZV9uYW1lXVsnVmVyc2lvbiddKSA+IDApIA0KICAgIHsNCiAgICAgICRtb2R1bGUtPmV4cG9ydGxpbmsgPSAnJzsNCiAgICAgICRtb2R1bGUtPmNsb25lbGluayA9ICcnOw0KCQkJJG1vZHVsZS0+dXBncmFkZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRtaW5fdXBncmFkZW1vZHVsZScsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2luc3RhbmNlX3VwZ3JhZGUnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzeXN0ZW1pY29uJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdtb2R1bGVfaWQnID0+ICRtb2R1bGUtPm1vZHVsZV9pZCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOyANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGVzdCA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPk1vZExhbmcoJ2luc3RhbmNlX3VwZ3JhZGUnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzeXN0ZW1pY29uJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQ0KCQl9IA0KCQllbHNlIA0KICAgIHsNCiAgICAgICRtb2R1bGUtPmNsb25lbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlkLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZG1pbl9jbG9uZW1vZHVsZScsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpY29ucy9zeXN0ZW0vY29weS5naWYnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+TW9kTGFuZygnY2xvbmUnLCAkbW9kdWxlLT5mcmllbmRseW5hbWUpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5c3RlbWljb24nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ21vZHVsZV9pZCcgPT4gJG1vZHVsZS0+bW9kdWxlX2lkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7ICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAkbW9kdWxlLT5leHBvcnRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaWQsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkbWluX2V4cG9ydG1vZHVsZScsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJldHVybmlkLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc2VfdXRpbHM6OkRpc3BsYXlJbWFnZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzZV91dGlsczo6VUlnaWYoJ3htbF9yc3MnKSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5Nb2RMYW5nKCdleHBvcnQnLCAkbW9kdWxlLT5mcmllbmRseW5hbWUpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5c3RlbWljb24nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCdtb2R1bGVfaWQnID0+ICRtb2R1bGUtPm1vZHVsZV9pZCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KCQkJJG1vZHVsZS0+dXBncmFkZWxpbmsgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL3RydWUuZ2lmJywgJHRoaXMtPk1vZExhbmcoJ2luc3RhbmNlX3VwdG9kYXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKTsNCgkJfQ0KCX0NCn0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ21vZHVsZXMnLCAkbW9kdWxlcyk7DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl9jb3B5bW9kdWxlJywgJHJldHVybmlkKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAgICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdkdXBsaWNhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZHVwbGljYXRlJywgJHRoaXMtPk1vZExhbmcoJ2R1cGxpY2F0ZScpKSk7DQoNCiRzbWFydHktPmFzc2lnbignc3RhcnR1cGxvYWRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZG1pbl91cGxvYWRtb2R1bGUnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2VuZHVwbG9hZGZvcm0nLCAgICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdmaWxlbmFtZWlucHV0JywgICAkdGhpcy0+Q3JlYXRlSW5wdXRGaWxlKCRpZCwgJ2ZpbGVuYW1lJywgJHRoaXMtPk1vZExhbmcoJ2ZpbGVuYW1lJykpKTsNCiRzbWFydHktPmFzc2lnbigndXBsb2FkJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3VwbG9hZCcsICR0aGlzLT5Nb2RMYW5nKCdpbXBvcnRfdGl0bGUnKSkpOw0KDQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2luc3RhbmNlc3RhYi50cGwnKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_maintenancetab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIFNtYXJ0eSBwcm9jZXNzaW5nDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnYWRtaW5fZG9tYWludGVuYW5jZScsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQoNCiRzbWFydHktPmFzc2lnbignYnV0dG9uX2ZpeF9maWVsZGRlZnMnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnZml4X2ZpZWxkZGVmcycsICR0aGlzLT5MYW5nKCdyZXBhaXInKSkpOw0KJHNtYXJ0eS0+YXNzaWduKCdidXR0b25faW1wb3J0X2Zyb21fTEkyJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2ltcG9ydF9mcm9tX0xJMicsICR0aGlzLT5MYW5nKCdidXR0b25faW1wb3J0X2Zyb21fTEkyJykpKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdtYWludGVuYW5jZXRhYi50cGwnKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/tabcontent.admin_optionstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIExJU0UgLSBMaXN0IEl0IFNwZWNpYWwgRWRpdGlvbg0KIyBWZXJzaW9uIDEuMQ0KIyBBIGZvcmsgb2YgTGlzdEkyDQojIG1haW50YWluZWQgYnkgRmVybmFuZG8gTW9yZ2FkbyBBS0EgSm8gTW9yZw0KIyBzaW5jZSAyMDE1DQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBPcmlnaW5hbCBBdXRob3I6IEJlbiBNYWxlbiwgPGJlbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIENvLU1haW50YWluZXI6IFNpbW9uIFJhZGZvcmQsIDxzaW1vbkBjb25jZXB0ZmFjdG9yeS5jb20uYXU+DQojIFdlYjogd3d3LmNvbmNlcHRmYWN0b3J5LmNvbS5hdQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgTWFpbnRhaW5lciBzaW5jZSAyMDExIHVwIHRvIDIwMTQ6IEpvbmF0aGFuIFNjaG1pZCwgPGhpQGpvbmF0aGFuc2NobWlkLmRlPg0KIyBXZWI6IHd3dy5qb25hdGhhbnNjaG1pZC5kZQ0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgU29tZSB3YWNrb3Mgc3RhcnRlZCBkZXN0cm95aW5nIHN0dWZmIHNpbmNlIDIwMTIgYW5kIHN0b3BwZWQgYXQgMjAxNDoNCiMNCiMgVGFwaW8gTMO2eXR0eSwgPHRhcHNhQG9yYW5nZS1tZWRpYS5maT4NCiMgV2ViOiB3d3cub3JhbmdlLW1lZGlhLmZpDQojDQojIEdvcmFuIElsaWMsIDx1bmlxdTNlQGdtYWlsLmNvbT4NCiMgV2ViOiB3d3cuaWNoLW1hY2gtZGFzLmF0DQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KIyBMSVNFIGlzIGEgQ01TIE1hZGUgU2ltcGxlIG1vZHVsZSB0aGF0IGVuYWJsZXMgdGhlIHdlYiBkZXZlbG9wZXIgdG8gY3JlYXRlDQojIG11bHRpcGxlIGxpc3RzIHRocm91Z2hvdXQgYSBzaXRlLiBJdCBjYW4gYmUgZHVwbGljYXRlZCBhbmQgZ2l2ZW4gZnJpZW5kbHkNCiMgbmFtZXMgZm9yIGVhc2llciBjbGllbnQgbWFpbnRlbmFuY2UuDQojDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBCRUdJTl9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBMSVNFDQojIExJU0UgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIExJU0UgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEVORF9MSUNFTlNFDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KaWYoICFkZWZpbmVkKCdDTVNfVkVSU0lPTicpICkgZXhpdDsNCg0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIEluaXQgaXRlbXMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KJGFsbG93X2F1dG9zY2FuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG9zY2FuJywgMCk7DQokYWxsb3dfYXV0b2luc3RhbGwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfYXV0b2luc3RhbGwnLCAwKTsNCiRhbGxvd19hdXRvdXBkYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2F1dG91cGRhdGUnLCAwKTsNCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBTbWFydHkgcHJvY2Vzc2luZw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRtaW5fdXBkYXRlb3B0aW9ucycsICRyZXR1cm5pZCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOw0KDQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93X2F1dG9zY2FuJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnYWxsb3dfYXV0b3NjYW4nLCAxLCAkYWxsb3dfYXV0b3NjYW4sICgkYWxsb3dfYXV0b3NjYW4gPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93X2F1dG9pbnN0YWxsJywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnYWxsb3dfYXV0b2luc3RhbGwnLCAxLCAkYWxsb3dfYXV0b2luc3RhbGwsICgkYWxsb3dfYXV0b2luc3RhbGwgPyAnY2hlY2tlZD0iY2hlY2tlZCInIDogJycpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93X2F1dG91cGRhdGUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdhbGxvd19hdXRvdXBkYXRlJywgMSwgJGFsbG93X2F1dG91cGRhdGUsICgkYWxsb3dfYXV0b3VwZGF0ZSA/ICdjaGVja2VkPSJjaGVja2VkIicgOiAnJykpKTsNCg0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdvcHRpb250YWIudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/clonemodule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X3RpdGxlJyl9PC9oMz4NCnskc3RhcnRmb3JtfXskaGlkZGVufQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ21vZHVsZV9uYW1lJyl9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21vZHVsZV9uYW1lfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ2luc3RhbmNlX2ZyaWVuZGx5bmFtZScpfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tb2R1bGVfZnJpZW5kbHluYW1lfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfbW9kZGVzY3JpcHRpb24nKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kZGVzY3JpcHRpb259PC9wPg0KPC9kaXY+ICAgICAgDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9hZG1pbnNlY3Rpb24nKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5zZWN0aW9ufTwvcD4NCjwvZGl2PiANCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPg0KPC9kaXY+DQp7JGVuZGZvcm19DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/templates/copymodule.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X3RpdGxlJyl9PC9oMz4NCnskc3RhcnRmb3JtfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ21vZHVsZV9uYW1lJyl9OjwvcD4NCiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X21vZHVsZV9uYW1lfTwvcD4NCjwvZGl2Pg0KDQp7aWYgJGF1dG9pbnN0YWxsfQ0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiogeyRtb2QtPk1vZExhbmcoJ2luc3RhbmNlX2ZyaWVuZGx5bmFtZScpfTo8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9tb2R1bGVfZnJpZW5kbHluYW1lfTwvcD4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfbW9kZGVzY3JpcHRpb24nKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbW9kZGVzY3JpcHRpb259PC9wPg0KPC9kaXY+ICAgICAgDQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9hZG1pbnNlY3Rpb24nKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWRtaW5zZWN0aW9ufTwvcD4NCjwvZGl2PiANCnsvaWZ9DQoNCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+DQogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPg0KPC9kaXY+DQp7JGVuZGZvcm19DQoNCg==]]></data>
	</file>
	<file>
	  <filename>/templates/fielddefstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[77u/e2lmIGNvdW50KCRmaWVsZGRlZnMpID4gMH0KPGZpZWxkc2V0PgoJPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygncmVnaXN0ZXJlZF9maWVsZGRlZnMnKX08L2xlZ2VuZD4KCTx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+CiAgICAJPHRoZWFkPgogICAgICAgIAk8dHI+CiAgICAgICAgICAgIAk8dGg+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmX3R5cGUnKX08L3RoPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl9mcmllbmRseXR5cGUnKX08L3RoPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZl9vcmlnaW5hdG9yJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZfZGVwcycpfTwvdGg+CiAgICAgICAgICAgIAk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygnYWN0aXZlJyl9PC90aD4KICAgICAgICAJPC90cj4KICAgIAk8L3RoZWFkPgogICAgCTx0Ym9keT4KCXtmb3JlYWNoIGZyb209JGZpZWxkZGVmcyBpdGVtPSdlbnRyeScgbmFtZT0nZmllbGRkZWZzJ30KICAgIAkgICAgPHRyIGNsYXNzPSJ7Y3ljbGUgdmFsdWVzPSdyb3cxLHJvdzInIG5hbWU9J3N1bW1hcnknfSI+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+R2V0VHlwZSgpfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+R2V0RnJpZW5kbHlUeXBlKCl9PC90ZD4KICAgICAgICAgICAgCTx0ZD57JGVudHJ5LT5HZXRPcmlnaW5hdG9yKCl9PC90ZD4KCQkJCTx0ZD4KCQkJCXtpZiAhaXNfbnVsbCgkZW50cnktPkdldE1vZHVsZURlcHMoKSl9CgkJCQkJe2ZvcmVhY2ggZnJvbT0kZW50cnktPkdldE1vZHVsZURlcHMoKSBrZXk9J21vZHVsZScgaXRlbT0ndmVyc2lvbicgbmFtZT0nZGVwcyd9CgkJCQkJCXskbW9kdWxlfSAoeyR2ZXJzaW9ufSl7aWYgISRzbWFydHkuZm9yZWFjaC5kZXBzLmxhc3R9LHsvaWZ9CgkJCQkJey9mb3JlYWNofQkJCQkJCgkJCQl7ZWxzZX0KCQkJCQl7J25vbmUnfGxhbmd9CgkJCQl7L2lmfQoJCQkJPC90ZD4KICAgICAgICAgICAgCTx0ZCBjbGFzcz0iaW5pdC1hamF4LXRvZ2dsZSI+eyRlbnRyeS0+YWN0aXZlX2xpbmt9PC90ZD4KICAgICAgICAJPC90cj4KCXsvZm9yZWFjaH0KICAgIAk8L3Rib2R5PgoJPC90YWJsZT4KPC9maWVsZHNldD4Key9pZn0KeyRzdGFydGZvcm19CgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KCQkJCXskc2Nhbn0KCQk8L3A+CiAgICA8L2Rpdj4KIAp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/help.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3N0cmlwfQ0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ZyYW1ld29yay9jc3MvY29sb3Jib3guY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ieyRyb290X3VybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9saWIvY3NzL2xpc2VIZWxwLmNzcyIgdHlwZT0idGV4dC9jc3MiIC8+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0ieyRyb290X3VybH0vbW9kdWxlcy97JHBhcmVudF9uYW1lfS9mcmFtZXdvcmsvanMvanF1ZXJ5LmNvbG9yYm94LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQ+DQpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7bGRlbGltfQ0KICAgIGpRdWVyeSgnLmNib3gnKS5jb2xvcmJveCh7bGRlbGltfQ0KICAgICAgICByZWw6J2dyb3VwJywNCiAgICAgICAgaWZyYW1lOiB0cnVlLA0KICAgICAgICBpbm5lcldpZHRoOiA4MDAsDQogICAgICAgIGlubmVySGVpZ2h0OiA0NTAsDQogICAgICAgIG9wYWNpdHk6IDAuMg0KICAgIHtyZGVsaW19KTsNCntyZGVsaW19KTsNCjwvc2NyaXB0Pg0KDQo8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+DQo8ZGl2IGlkPSJwYWdlX3RhYnMiPg0KICA8ZGl2IGlkPSJnZW5lcmFsIj4NCiAgICAgIHskbW9kLT5Nb2RMYW5nKCdnZW5lcmFsJyl9DQogIDwvZGl2PiAgICANCiAgPGRpdiBpZD0iZHVwbGljYXRpbmciPg0KICAgIHskbW9kLT5Nb2RMYW5nKCdkdXBsaWNhdGluZycpfQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iZmllbGQiPg0KICAgIHskbW9kLT5Nb2RMYW5nKCdmaWVsZGRlZnMnKX0NCiAgPC9kaXY+DQogIHtpZiBMSVNFU21hcnR5OjpMSTJfcHJlc2VudCgpfSAgDQogICAgPGRpdiBpZD0iaW1wb3J0aW5nIj4NCiAgICAgICAgeyRtb2QtPk1vZExhbmcoJ2ltcG9ydGluZycpfQ0KICAgIDwvZGl2Pg0KICAgey9pZn0gDQogICAgPGRpdiBpZD0ic21hcnR5X3BsdWdpbnMiPg0KICAgICAgICB7JG1vZC0+TW9kTGFuZygnc21hcnR5X3BsdWdpbnMnKX0NCiAgICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJ3aGF0c25ldyI+DQogICAgIHskbW9kLT5Nb2RMYW5nKCd3aGF0c25ldycpfQ0KICA8L2Rpdj4gICAgIA0KICA8ZGl2IGlkPSJhYm91dCI+DQogICAgIHskbW9kLT5Nb2RMYW5nKCdhYm91dCcpfQ0KICA8L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4NCjxkaXYgaWQ9InBhZ2VfY29udGVudCI+DQogIDxkaXYgaWQ9ImdlbmVyYWxfYyI+DQogICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBV1FBQUFESUNBWUFBQURmc3BzQkFBQWdBRWxFUVZSNG5PMmRlWlJrVlpYdVQxVXhWWWtDUWxJYUZTU1JFVGZPL3I2OUx3V3RLTTZDcllnMHlBSzd0VlZRRkpYdXRsVlFXK1hwVTBSWHQ0b0t2TWJoMmJRellqOXQ3VmJScC9qc3B6M1lPR0E3SVNoRHdXT3FlWjZuOTBkRVNsRlVabVZFM0J2MzNzajlXK3RickVveTQ1Njc5N2xmM2p6RFBpRTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1UDB5NXdrU1E2dTErdnppMjdJTk13cHVnSE9RTXlyMSt2ekc0M0dJVVUzWkNiVTYvWDVydjZVSk1uQlJlZXZhc3dCY0xLUjF4amxIbE51VStWNkk5WW9zVXRWN3pMeUdqSytLQlJnaE1DaUkwbTVTRlgvMlJUM0dySERsTnVOMktHcWQ1SDhySWljRmtJNGFOaHRjMmJNZ1NyeVFwTFhtR0twRVp0TXVWYUpkVXJzTXVYTnBIeGtZbUppWWRFTkRTRUVFVG1SSW45bnlnZVUyR1hFR2xPdWRmVXVWYTVYWXBlU3Z5WHc0UmpqRTR2T2Iya3hrVk5NdWQyTTk1aHk5M1JLamN0TXVZM2txNGJVdkFOVTlWb2pscGx5NC9UdDA5VktyRFB5bWlHMXpka1BZMk5qaDVJOE96WDd2Nmx4a3lsWDdhK1BtWEt0bWE1U2JaOVVSSnVCOWhtcVdLNnFLMmZRVmxjZlV1WDlTaTRSa2NWRjVMaTBxSExyREIrU3ZiVWhOYjE5OGVMRmo4aXJiUURPNmJhdnQyUVRXMDI1MmNpTDgycWJNelV4eHFNTU9GK1ZQK3UrVmU3bkYrbVVXcTNBcDBJSUJ3eWozVW1TakpucHpVcXNLOXF3Wm9zNkwxRDQ5RER5VzNibW1uSjNhanBvVURlUXllUEd4OGVQeUtwaElyTFlpRnVOM0RSWTIvUjJvUDNtck5ybFRFMnIxVHJHeUl0TjlYWlZybFJpUzFZUGJXcmNGRUtZbTJmN1ZlU0ZxZW5Tb2cxcTlncjNKa21pZWVhNHRDd20wOVIwUTVZQnpkS1FqYnl5TzBhY1JkdFdrZkxSck5ybVBJaUlDQ252N1F4allYbHF6Q3BuKzlKcUFJL1A2VllPOHJmaTRwV2FiZ2l6Y2FKZWdYdXpEcVlTSzJLTWl3WnRtMEcrbkpwdXo3UnR5cFdrWEpCRjdHWTdaUEk0SXo5cXlvMUdMQ05rMTdBZVdGV3VIQnNiT3pUcmU4cnliZDQxdUxMT2I2a2grZG5jZ2tuY21TVEpXUDl0azQ4cXNEeVB0cVhHWlVtUzFMT001U3hobnNiNGRKSmZURlYzRTFoUjFJUGFIVjY3T2N1YlUrWDZvZzNJOWJBY2I4c3l4NldsM1c2ZmtPZWZacXJjQ3NSMzlkTTJjdUpZSlpma21uREtIVm5IZEJTcDErdnp5WGk2R2I3ZGZYdGNYZlNEK3FDd0hNQkxzcmhQVlRtcnUvS2pCUGZsMmtPclJWcW5aSkhqVW1PcWQrY2RUQ1dYdEZxdFkzcHRteXJlbmVHNDhSUnR3MzFwaWpQeWlHM1ZhVFFhaHdONHNTcHZWR0pkbWQ4Y1U5UGJzN2puZmxid3VJYW03V0dVeDVPMTNUNHBOWDBnOTBBU200QjRTUzl0R3hzYk85UTBuNkdLdlpXUy81QlhqS3NHZWV4akdlTmZtT3B2VExsS2ljMGxlQkQzS3lXWEFIakJZUGNlejdiK2xudTZoaUxjQytEa2pMcDYrU0RseXFFRnM4YzNHQkU1elhRSXZ5dzZXbDJyMVJia0ZlZXlreVJKaTVSM21PSmVKVllvc2EzNGg2OFBVZDQ2U0J5TStIVGg5K0RhVDQ1SGVJT1hLbjgzckVBcXNhNlh2ZXVBWEQ3RXRxMklNU0xQV0pjTkFNY1o1WXJPSmcwc04rWE93aCsyQVVYeVY0UEV4SlRWL0VVMHE0UjdzM29HU3Njd0E1bWFQa0JPSER2VHRpbjVnMkcxVFlrdGcvNjVXd0hta01tVHpQQ1oxSFM3UW9ZeUhEUnM5UnVjUnFOeGlKVjRqTnoxZTIwTG96aU8zR2cwRGhubXd2ZlV1S3pkYm5PbTdWUHlWOE5NTklrUDV4bnZnamdvSlo5amhxK2JjcnVOK1Bpb0t0ZjNXMEdzMFdnOHBsdVRwZkQ3Y09XVDQxSlRxOVVXV0tmcTBuQUNDVmtPNExpWnRzK0lXNGVaYUE0NC9sZ1dST1NSUVBzRlN2NGdOZDJvbEtIbHVHZ3BzYTdmc3AweHhrV204RzNTWlJleFppVG5lMHB2eUtyL05zUWs3MURWQy9PTWQ1NGtTVEpHa1F0U3d5OU11VG8xN2Jkd1QrWFZid3pIeHNZTzdSWTlLdndlWEZOTGlWMVpQanVsb2V5R3JLcWZIR0tTVndBNE5jOTRaMDJ6MlJ4WDRNMUtMbEZpaGErZjVXNVRETFFXdVZ0L3VRVDM0WnBLcW5wWFZzOVFxU2k3SVI5SFBtTlliM3BLM0ZlRkxkUXhSaWppWHl1eFFpSEw4OTQwVXpXUnVIcVErQTV6SXRuVnAwWjEyVnZaRFhsaVltS2hLWWV5RGxtSmRYbkdlaEJFNUVRRi9xY3BONnRpK1RBTDkxUkpxbHdwSWljT0V1c1VPS2Q3WWtuaDkrTjZ1Rkxqc3U3cFJLTkgyUTA1aEJCSTNwQjcyNGhOWkR3N3J6ajN3VHdnZWFhcWZzbTBZelJGUHdnVjBhb3N6dUh6WVl0U2F6U1h2SVZRRFVQdXZpWG4zRVpkVmZTaHJiVmFiUUdBTTVYOHJuVk9OZkhKcFY3NkZtV3RxcjQraTF3QTdUZFhkcWZpQ0NzMTNXakFxN1BJY1NtcGdpR0hFQUlwNzgvdHJZVllSc3BiOG9qdi9oZ2ZIejlDVmM0MXcwKzBrNGRNRHdlWVRjcXFzTkFrWHBpK2ZFcU5vMTJWc1NxR0hFSUlwcnd0aHdUdk1OVlZXY2QxT2tTa3BzRHJsUHh0OTBpalNoVHVLYm0yaFJEbVpaa25zcFYyRDlBdCt0NWNIVzNJODV6T1VsQWxRMmF6MmJhTTZ3eWt4bnV5anVtK2FMVmFpUUx2VXVYOTNab1IvdWR3UmlKeHA0cWNtMGZlRkxpa2s3UGk3M08ySzhkanVzcERsUXk1eTd5TWxzRnRVK1UvWlJiSWZkQnNOZzhqY1hVbnZsaXVST1VMOTVSTnFyekx6RTdJTTQ5ay9Bcy81TFRBSEJNcnpPelI5WHI5MFhubXVSUlUwSkJEQ09HZzdxcUR2b3habFN0VDQ0OHpDZUFVQUhpYkVpdXlQZ1BRMVJFaFcweTVPY2I0aER6ek9JbkYrTVR1Q1NtZXp5RkpsVnVOY2tjVzUzRldob29hY2tpUzVHQUFGNXJpWHB1aE1YZE4vR1lBVDg0aWRsTndvS25lN3V0WWM5TkdKYllvOEttUThaanhESmhINEF0bWVyZjVrRk4rSWpZcHVZU1V5eVltSmhZT09jZkZVbFZEbmlUR2VKU1JGNXZwYldaY284cjd0VE5HdTZvN1RMRENsSnRUOG5OcG11KzJhSkxIMml5dUg1SG5BMnFtcTB4NXN5citOZ3pmaUI4Q2dBWVpYNmJLRzAyNXR0dmZIdWpNRGJoNlZhZTZuajVneXJWbXZFTVYvNjNaYkk0WG1lUENxTG9oNzBtOVhwOGZZMFNNOFdrQVRoYVJFNGY1RzlaS2RlQm50YVhFT2lYV2tmZ2hHZiswMFdnY1Bxdzg5a0tqMFRoRVJHb3h4dU5GWkxHck44VVlqOWNrTVFDTkxEYjBWSjVSTXVRaTZTeWZLOTdJcXF6VWRMVXF0NnJLdHpURzUva0Q2c3c2M0pBSFI0RTMrWmh4bi8yaGMzYmZMak5jRjJOOFdnaGhidEg1ZEp6Q2NFTWVIUE1Kbmw0TWVHZDNIZllHSTYvV0pQbURvdlBuT0tYQkRYa3dTUDZWRy9MMDZpejl3M0l6WGFxS2R3UE5XSFRlSEtlVXVDRVBobzNBS2MyNTVKblkzRjJIZlRzcEYxV2h6clRqRkk0YmN2OGtTVExtWlRIM3lLMXl2Um5YS0hrVGdKY0RpNDRzT2tlT1V5bmNrUHNId01uRGpGMHAxU2tSdXRGVXY2Y3FaeTFjdUhDMGk3ODRUcDY0SWZjUEVGODlHMC91WUdlenpjNlUrSXFJbkJKQ09MRG9YRGpPU09DRzNEOUd2cU5vY3h5S0FVTjJtV0o1cDdZQXJ4bFcvUWpIbVhXNElmZFBkNFZGNFlhWmk0Z2QzVnJBcTBoNWY1SWtXblM4SFdma0dSVkRGcEVUR2VONUtmbjNLZmw5QTM1aWhuOGhjSFdhNHB4V3EzVjAxdGNrNDluV1o4VzVNa3FWV3hWWXJzcTdESGdiZ0ViV01Sc2xBRHhGZ1hlbjVGZU4vTEdTTjdsNkU0bWZtdUhmVmZWYUJTNk1NU0tFY0ZEUnVTMk1xaHN5WTN5UktkZXE4aTRsdGs1aE5PdE5zVFExM0pLbU9DZXJhOGNZMFNtTVVyeVo5cXZVdU1sVVZ4UDRKWURYekxycVdqMVNyOWZuSy9BaFUrNzAwMFN5bFJLN09pZm9jSzJSSHc0RkY1RXFoS29hY3F6VmpsSnlpZlY0QmgyQis1VDhMcGs4TG92NHBhWlZQQU52clNyWEcrVGZWZVNGU1pJOEtvdFlqRHFLK0NaVnJ2ZURCb2FpN2FyY0NpUm5GcDMzb1ZJMVEwNlM1T0R1S1J3REdhRXFmeDFqUEw3WmJCNDJTUHpNOE8wU2RONFpTRmVaY2x0S1htOW16MDJTNU9CQjduczIwV2cwRGpmeWpveE9xbkgxb003YWRud216SlpoaktvWnNnSG5XNFpsTGs4NjZhU0IzZzQ3d3hiNlFORWRkOS9DY2xQdVRDbWZBL0NVNElWNytrTEpYK1YyNHJsckp0cE84dnRGOTRPaFVDVkRKbmxORGp2alZyVmFyV01HaWFGQnZseUc5Y2hLN0RSeW1hcXVUeUZYeFJpUEgrUytuQkJVdVQ0MUxkcVFacjFTMCsycDZkS2krMFB1Vk1XUUc0M0c0YWJjbkV1N3lEc0dyYlZRNExqaXR1NGE0ZnNOZUdlcjFVb0d1US9uUVVoNWkva1plcVdSRXB0VjVZVkY5NHRjcVlvaDI0Qmp4dnRKOUU0alB6dElISk1rMGU0UXdaQTZKbGNxK1ZzQXJ4T1IyaUJ0ZHg1T3E5VTZ1ck02cDNnamN1MHBMQi9wL2w0RlF5YmxBM2svSEtxOGY5QzNTeFY1WVk3dFcyK2RNOGQrckNMbnpvb2owUXRFeVp1S054L1hGTS9DWFVYM2o5eW9naUVQWTBJbE5kMXRocThQR3M5NnZUN2ZqR3V5YVJQWG1ISXp5UnNBbkZHcjFSWU0yajVuL3dBNHpoUkxpelllMTVTNnU3dUJaUFFvdXlFRGVMd1M5dzJqYmFucHhpeGlPalkyZGlqSkwzWXJvZlVXSDJKRnFycGJWYjhFNE9Rd0d4ZkhGd3lCTDVUQWRGeFRQNmZiUmRwdkw3cWY1RUxaRFhuSUV5dXJ5R01mbTFWczIrMzJDYWwxMXE4cXNXWGZuWXM3ckxPTWI3T3FmRnhFVHN6cStrNS9kRGNjRlc0OHJta0UvS0xvZnBJTFpUZmtsTHgrV0cxTFRUZUt5TE95am5HOVhwK3ZNZjZocWx5YkVqODA1YzFHK2JrWi9oSEFYMmI1UzhBWm1MbXEzT2NXZkZlcHRMUG9qcElMNVRkay9IS1lpUWJ3dWp6ajdaUWJZTkdSQkZhVXdIQmMwMGhWMTQva2J0T3lHektKVzRlYWJPQnRlY2JiS1RjeHhrVlZMeGcxUzdSMkpDZTV5MjdJWnZxam9TWWFlRTJlOFhiS1RZenhxR0d0SjNjTnBNMWhGQ2U4eTI3SUJENDl4Q1N2QlhCcW52RjJwbVVPZ0FhQWQ2cnF2NmFHVzh6MHR0VHdIMGI1Q0lEbkR1R3RhSjRTK2V3SWRXVW1WYTdNdVI4VVE5a05HY0JMcGxxaGtMVlM0ekkvcm42NE5CcU5Rd0E4bDhRM1RMbGRpWFhUNUdpakV1dU11SE14bVVuNTFIMlJtdDVldE9HNHBoZUJyK1NWLzBJcHV5RzNXcTFqaGppbXR5SFBXRHNkNnZYNm8xWGtwYXE4VVlsMWZlM0NKSllaK2RteHNiRkRzMjZma2UvcExrY3MzSGhjRDVjU1cyS016ODQ2NzZXZzdJWWNRZ2lxdkQvdmRxWEdIYVI4SUs4NHozWmFyZFl4cEZ5a3l0OTE2bkFNUGl4QXlLN3VuNjZaamlXMldxMWtXSnVSWFAwcHkzeVhpaW9ZY296eDJmM3NldXRKeG50OHVDSmJraVJSSTkrbnhBcFRMTS96clRQckRUV204cHVpVGNmMWNDbXhVMVgvVjVhNUxoVlZNT1FRUWxEbGpUbTJhNk1CWDhzanZyT011VUR5WkJLZjdteXV3UEloMW9sZWZjSUpKeHllMVkySXlDazI3Q1dYcnYxS2lWMVo1YmlVVk1XUVJXU3hVZTdJS2NucjhvanRiS0M3Qy9GNVNuN1RsTnU2UjBVVjlNQWkwd0xtcEZ4bVJMNS9tYmxtTG1JWnlWZGxtZVBTVVJWRERpRUVNenNoanpabEhkTlJCMWgwcElxY2E2by9VbUxkZmxaR0RFMnEzRXJLWlZuZXE2cCszcmRTbDBPcWNsYVd1UzBsVlRKa1lOR1JyVllyeVdyVlJXcTZWSTQ2NnBFaGhBTXlEdXZJMFd3Mnh3MTRZMnA2TzRFVlpWMnJxOFNLUnFPUjJkQkZDQ0VZK1VVMzVlSkV5RG9EWGlNaWttVmVTMG1WREhrUzFmWkpxV25ma3k2cTNKcWFyZ1lXSFpsVkhFY1JzcFdTOG41VnJqUmlXUldXZ25YZmtqTmZMU01pcnpCbFNRK3pIV1hwNzREMm03UE9aMm1wb2lHSEVJSW15UjkwS3NIcDNUTytOckdyODhEeTRwRXNUREk0Y3dFOHhReWZTVTIzRzFISm1nNnEvSFVld1NINUhGUGVScFJqaUdhMGhhV212RHRWUFRlUFhKYVdxaHJ5SkdUN09TbjVmVk91VFUyWDd1TlB5dzNkNUs1VnhTVmhGUGUvRDBDOVhwOVB4dE5WNVZ1ZDJCVTVLWmVaVmlWSjhxaThZaVlpcHhseHA2bitQMU91SHNhSk5pTXZZb2RDbHFlbUQ1anEzU1QvUEsvOGxacXFHL0lralViakVCRTUwUXpuSy9CdW8zeUFJbThYa1Q4V2tZbXNyMWRsWW94SEFYaTVHWDdTOTA2NU1vdFlKaUtMODQ0ak9YR3N4dmgwQUs5UjRHOEF1ZHpWdTh6NFhqSytsakUrTzBtU3NienpWbXBHeFpDZDZRSFFVT0ROUnR6WjNTazNsUG9nQlJueUdzWjRldEV4ZDV5ZWNVTWVYUUFjQjhqbHFlbHFVeXczb3ZTVGNwbjBNZVY2QUdjV0hYL0g2UmszNUpGaW5vZzhOYVY4TGpYdVVNaXNyT3ViR3RjQWVFclJ5WENjbm5GRHJqYTFXbTBCZ0RNSWZLYzdEREVLazNLRDlUSGxTaEdwRlowYngra1pOK1Rxa1NUSm1BSG5LM21US2RlTzNLVGNnRXFObTRKdjluR3FpQnR5TlFEUUlQbFdKWmNvc1dLa0orVUc3V09xLzF4MHZoeW5MOXlReTB1bm9CS3ZNT1hxVGtIMjJURXBONGhTMDFVR3ZLVG8zRGxPWDdnaGw0cDVHdVBUVmZWYVUrNzB3emI3RUxHajZDUTZUdCs0SVJmTHdvVUxId0hnVEpJM0tMR2xzMFN0Qk1aV1FTbXhJZ1hPS0Rxbmp0TTNic2pEcDlWcUhhMHFyMURsejh5NHhwUWJpamF6eW92WVljQzNpODZ0NHd6RUtCbXlpTlJVNUU4WTQyc1Z1SVRrbndONGJxdlZPaWFQNi9WQ2pMR3B3Q1dxdkVzaHkzMVNMdU4rcGR4YVFGcm5kVGJmNEZReW51ZnFUd3E4VzBST2lUR2lnQnlXaTZvYmNxdlZTa2hlYjhxTjFsbUQrNUMzemRTNEpqVmRhc29OcXJoOG1PWmNyOWNmbmFiOG1CTHJVcU5QeXVYUm40aWRLZkhMWnJONTJMRHlDdUE0ZzN4TmlTMUszRWRnWGJlbzFVNVhYOXF1bExWSzNLZks5VXArYzlhYWMxVU51ZFZxSFVQZ0M5WmJqZHB0cHJ3N3Bid2g3L0tiWm5pbmtjdTYxeXpjdUVaVUcxVDFrM25tY1UrU0pLa3JlWk1xVjViZzNrZGJ4TEtVK0VZSVljNnc4bHNLcW1qSUFCcEtMdW43QUUxaTB4N0h4MmVhOEVhamNZZ3E3ekppVStHZGVrU1ZHamVaY2pQSloyU1p1K2t3eEhkMlRzOHUvdjVubFlnZFpMeDRXSGt1bkNvWmNvenhxUEh4OFNOTW1kbEtoRXN2dlhSdVZyRk0wN1JWbHZQbFJrMUtiT25VNXRCVkZMa2dxNXpOQktQOFBNcys1K3BaRHdCNHdUQnpYaGpWTXVUbTB6SnZrK25kNUxHUHpTS1d2bTQ0NDc2aVhKOGExNWpwZjZuS0sxdXQxdEZaNUtrWFNMbkFsS1U4UDNDVzZRRlYrZnl3OHo5MHFtTElNY2FucWZMWHViVEw5TjhHamFPZkdwR1pWcGx5czVMZlZaV3p4c2JHRGgwME4vMUNrY3ZNejlFcmt6YkVHQmNWMVIrR1FsVU1XWlUzNXRZbVlvdXF2S0xmR0ZMa0RUNW1QSWl3WElsZFpyaU9iRDhqbE9DWXJiR3hzVVBUemhyeEVzVEh0WWUyaDFHZTZLdUNJWk44V1dyTSs4RE56YUdQQ21IMWV2M1JRMmpiYUluWVljWmxxWEdOa1ZjTTQ3aWxYaUZ4ZGVGeGN1MUwyd3o0V3RIOUl6ZXFZTWltdURmdmRuVk9XZVo3ZW8wZkdjOHo1ZllTZE5SU3E3dG1kNFdxM21YQTI4cDh6cUdJMUV6Vmh5cEtxdFIwNmZqNCtCRkY5NU5jS0xzaGt4UEhxdkwrWWJXdjEvajVqcnRwdGNHTWExVDVNMVY1UlZVT3NGU1JsNXIva2kydGxGaEg4cnlpKzBrdWxONlFZM3laRWtPWjVWYmx5bDVNSTBtU01mcmExSWNvTlYydHhCYVNOd0E0YytIQ2hZL29yMmNXaDVML1dYUWNYZE5MbGQ4dHVwL2tRdGtOdVZ1S2NsaUpYdHVkVkpvUkFFNzFpWjlPVG8zWW9TcWZqekUrTFpSZ1VtNFFpbzZuYXdaOVRybSs2SDZTQzJVMzVKVDQ2YkRhUnNndUE4NmZhZHZJK05xK2R3dFdXY1FPSTVhWmNqV0pENDlTOWI3eDhmRWpmR3QwK1RXeXgzU1YzWkJKM0RyVVpBTnZtMm5iakh4SDBSMXphSG1ibkpRamw1QjhLNEJHWHgydTVNUVlGNWxpYWRIeGR1MVhhMnUxMm9LaSswdm1sTjJRaC9tR2JNcmRLdkw2bWJhTjVGK1ZvR1BtRnd2bGVsV3VKZkZUQUMrdnlxVGNJRXhNVEN6MFpZeVYwTVlRd29GRjk1Zk1LYnNoRzNEZEVKTzhvWmM5ODBEN0hPdVUvU3k2YzJhcFZhcmNhb1p2ayswL0dzbTNrR21vMSt2emRZalBnNnRQRVp1SzdpdTVVSFpEQnVLcmgxVkhXSlgzYTVMWVROdVdKSWwyYXkwWDMwRUh6RWxxM0pGU1BpY2lUdzBoWkZad3FZcVlGeElxdlZUMXhxTDdTUzZVM1pDVEpHa05xK3loRWx0Q2oyWmtWU3c4USt3d3hmTFVkQlVnbDQvU3BGd1dESGxsajZ0MzdSelprcHhsTitRUXdyeWgxWW13M3Jka211bjNTdEJCOXg5M1lvc3FWNmJHT3dDOGladzR0dGQ3blMwQXlUTjlZcSs4VW5KSmpQR0pSZmVUWEtpQUlRZFMzbTQ1ajlVcXVRVEFVM3FOSDlsS2xiaXY2RTY2NzN2Q09pWFhtdUVuSkY4R0xEcXkxL3VicmZoeFcrVlZhbnA3MGYwak42cGd5Q0dFa0JwemUwQUkyVVhnQy8zRzBBeGZLODk2WkYybHlxMnEraTB5bmw2djErZjNlMSt6R1lwY3BNaS9ob3FyTjZYR1phbzY0M21leWxFVlF3YncrTHdXN0tlR1d3WThWSEd1RlhwMkhwYWJjaHVKVHdQSms4TXNuNVRMQ2lWL29NVE9vazNJMVpFcXR4cHhkZEg5SWxlcVlzZ2hoS0F4L21IbWJTS1c5Ykt5WWlwaWpNY1BhOFZGYXR4aHhESWxWbERrZlZtMDM5azNxZkdlb28zSTFaRXFmMWQwZjhpZEtoa3ltODIyQWhjUzJaMWJKeUsxckdLcEt1Zm1GamRpTTRFVnFlbnRCcnl4Mld5T1o5VnVaM3AwQ09WZlhWTXJOZDFOOHZ0SmttalJmU0YzcW1USWt3RHhuWVRjT1ZCYlRHOWpxNVZtWFZlMVhxL1B6KzZnVTEydnhEcFYzcWdpNS9xa1hERUFhQkQ0WVdwYTRMRFVyTlVHSlg5VmRCOFlHbFUwNUJCQ0lPVU5xZWtHVTI3b3NRMnJsUHpQUE5mZTFtcTFCV1o2VzU5MW5GZWxwdHRUOG5vVE9hM1JhQnlTVnp1ZDNraUpyL2lwNHNOUmFycGJsU3NOK0plaTh6NVVxbXJJazVEeUFTVjJkYzF2cWdtWXphcGNyOFI5SnZLc3JLNjlQMVRrRmQyekFOZE9WY2crTmU1SVRWZDNWMFo4a2t5ZUZFYjV6TENLTXo0K2ZvU1MzN1RPZkVIMU5nV1ZYSjFmZUxqWFRQOXJOdFJPZVJoVk4rUkp5T1J4cEx5RnhEZFN3eThNdU1WTWYyVGtOUlM1b01oQzZVbVNQQXJBR1NubFk2bmhQd3k0eFNnL1RvbHZBUEdkclZicm1LTGE1dlRIeE1URVFoRTV4UXhmVG9sZmRpcmh1ZnBSYXJyVWdGc011RTVWWDlwb05CNVRkSDRMWTFRTTJYRWNwL0s0SVR1TzQ1UUVOMlRIY1p5UzRJYnNPSTVURXR5UUhjZHhTb0lic3VNNFRrbHdRM1ljeHlrSmJzaU80emdsd1EzWmNSeW5KTGdoTzQ3amxJUmhHN0lwVnh2d0FoRlo3SEs1WEpva05qRXhzVENFY0dEUmZsZzRRMzlESm5hWjZlck9LUmN1bDJ1Mkt6VXU2NTRzdjhGVXZxY2lydzhoSEZDME54WkNBVy9JTHBmTE5iVTZwOHh2QnRxdkM3UHRPREkzWkpmTFZVWXBzVldKTFNHRWVVWDc1TkJ3UTNhNVhDWFhkaEY1Wk5GZU9SVGNrRjB1VjltbHhDNmcvZUtpL1RKMzNKQmRMbGNWcE1xVml4Y3ZQcnBvejh3Vk4yU1h5MVVWS2ZuYm9qMHpWOXlRWFM1WFpVUnNJbmwyMGI2Wkc3VmFiVUdxOUpOMFhTNVhKYVRLbFVYN1ptN1VhclVGcVhGVDBVRjJ1Vnl1bVNnMXJoR1JFNHYyemx6b0RsbHNLenJJTHBmTE5WT3A2aWVMOXM1Y3FOVnFDNVRZVlhTQVhTNlhhNlpLamN1SzlzNWM2TDRoRng1Z2w4dmw2a0U3aS9iT1hGaTBhTkdSSlFpdXkrVnl6VnpFbWxxdHRxQm8vOHdja3UzQ2crdHl1Vnc5U0pYcmt5UTV1R2oveklONVJRZlg1WEs1ZXBFU3U0bzJ6dHd3NWM2aUEreHl1Vnd6MVVqdjJGUHl0MFVIMk9WeXVXWXFVcTRvMmpkemc0d1htNzhsdTF5dWF1aUJHT01UaS9iTjNMajAwa3ZubGlESUxwZkx0VitwOHE2aVBUTjNGUEZOUlFmYTVYSzVwcE1xMThjWWp5L2FMNGRDMGNGMnVWeXVhV1gybWFKOWNxZ1VIbkNYeStYYXAzQnYwZjQ0ZEh3ODJlVnlsVkFiVk5XSzlzZENVSkd6ekZkZHVGeXVncFdhN2pibDdoREMzS0o5c1hCTWVWdlJDWEc1WExOV3EweTVyV2dmTEJVcThpZXBjWWNTL3Nic2NybnlsL0VlVTI0emtXY1Y3WCtsUlVWZXFlUk5xZW4ydlFQWXJhZTh6WlFickhNK244dmxjczFJU3F4VDVWWlQzSnVTZnk4aXA0UVE1aFR0ZVpXaTJXd2V0bWpSb2lQcjlmcDhsOHZsNmtlMVdtMUJvOUU0SlBnWXNlTTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdU00anVNNGp1TTRqdE9sMVdvZDAyZzBEdS8zNTVNa3FZZDliQkJvdFZySDdGVVRkMTZqMFRoOFVtR3ZOYTFrKzQvMitMemZVNi9YNXdPTGp1eTNmWTdqT0ZWZ0xza2JUTGxSbFZ0RjVQbjlmSWdDRjQ2TmpSMjY5OWVCNUprS1hEajU3M2E3ZllMdHNYT1VuRGgyeis4bjhJVVF3b0VLdks3ejh6ZzFoQkNTSkZFUk9hMmZ0am1PNDFRQ0FJMUpZd1FXSFZtcjFSYUl5UFBKZURZcEgrMXVqUTBpVWxQZ2c2VDg5eVJKRGc0aHpGSGdRZ0tmRUpHbmlzZ2ZoeEFPWXJQWkJ1UnlCZjY2MFdnY1BwVWhkejhqaE5BeFcwQ3VVcEUvVTVYUGh4RG1BSGdKMlg2T1VYNnV3THRpakUwZ2VYSzN6UzhtNVNOQSs1enV2NThySXM4bmNEVVp6eDVxQUIzSEtUZk5abk1jUUtQWmJCNDJ4YmNjUk1aWDFldjErVmxldDJPcTAxNTNYeHhBNHBkSy9vcHNQeWVFRUFDNUNvZ3ZUNUxrWUNXL21TVEpvMVRsMmlSSnhnQ2Nxc0FsWkh5UkFtOEtJUnc0TmpaMktJRlBqSTJOSFJwalBHcHNiT3hRRVhrV0VOODQ1UnN5OERWVitWSUlJWmpLLzI0Mm00ZHB1MzBTaWUrRUVPYW95clVoaEdEQWRaMTdhejlEUmY0TVNKNUp5bnRENXhmQ2gyS01UNkRJWmFSY0ZFS1laOERYczQ2cjR6Z1ZScFhyVGJtYkltL2YxLytQTVQ3QmxMc24zejVud0R5Z0dXZHczYTJkdDExNXkrVFhGaTVjK0loV3EzWE1kRC9YYkRZUFUrQnZWTGxWWTN3ZUlGZkZHQmVGRUFKRjN0NXByL3dHa010SnVaS1VEM1QrKytCd3c2UWhBOG1UU1hrdktWZVE4cDZwREptTXJ5TGplYlZhYmNHaytZWVFnZ0gvR0tZeFpBVXVtVHpGdUd2T0YxSGtzbmE3emM3M3laV3RWdXZvR2NiVmNaeFJaMytHSEVLWUMrRE1FTUlCTS9rOE1ua1N5UnRtY04ySEdUSkZMaURseXFrLys5akhrc25qUWdnSHF2SmZTWGtISUZlMTIrMFRRZ2lCd05WSmtyUlU1VnNQdVJid0xtMjNUL3I5NTNRTnVmdDk4MktNVDV6T2tDY21KaFoySi9VT1VNby9oUkJDbzlFNGhPVDFZVHBERm5tbGlwelYrVnI4VXhVNWx5S1h0VnF0cFBNMU4yVEhjZlpnQm9ZOHI5Rm9QQ2JzWmNneFJwRHRaMmlTV0FoaFh2ZkxjenB2bS94K285RjRUUGZuRHByaXVuc2I4b0Vrcnlmd2lUMSs5aUVySVRSSnpJZzFTdXdpY2F1SVRBQnlsYXA4dkR0bS9IY2hoRURHOHd5NGpwUXJHZVBwU1pMVVNYNVZnUStLeUdtL04yVGdVeFI1bndJZm9zaGxNNW5VSStVZEJLNVc0RzlKK1Z6WXc1Qkovb01DbDA0YThzS0ZDeCtoS3ArbnlQc011SzVXcXkxd1EzWWNaMHIyWjhoSmtyUk11YnRydkNIR3VNaUFuNmh5cXdMTHV6V3JIeGdmSHorQzVGZVYyTm45Mm5aVGJnZndsQ211K3hCREpuR3JFcnU2Qnhac04rWDJLY2FYNXlSSjhxakpmd0J5VlpJa1l5THl5TDNhZmZCZUt5bm03djA5SVlTd3I2L3RqKzduN3F1czQ1eDlyTjU0U0hzZHgzR21wRmREVnBXUG04cjNKbzJzMld3ZXhoaFBmL0R6NHYvb2Q4aENWZjdQZEVNVysyTFNrSHY1R2NkeG5GTFNxeUdUL0dKM01tdUt6eHV1SVljUURneCtDb1RqT0tOQXI0WU00R1FsTml2NVhZM3hlV0d2UDkwTE1HVEhjWnpSb0ZkRERpRUVvQmtWK0pRU1c3cVRhNmM5K0hsdXlJN2pPSDNSanlGUE1qRXhzVkNCVDVseWU1SWsydms4TjJUSGNTM0hobEFBQUFEWlNVUkJWSnkrbURSa0JUNElvTEduUWdnSFRtZklYZWFZOGdFQTU0Y1FBaWxYS1BtREdWejM0ZXVRaWUrUThyRXM3c3R4SEtkeVRCcnl2aVFpOHZCSnZYaGVkL2ZaZ1NHRUE4aDRkbmQ1MitORENBSEFYNXB5WTNjMzJ0dzk2MERzZGQxOUdMSjh6QlMzZDFkTkhCUWVYTi9zT0k0eit2UnV5UEplVlc3dHJqZmVhY3JWazlYT1FnZ2hTWkpIbWNxUFRMbmJpQjFUVlQzYmx5RW5TZEpTY3Nua1p6ZWJ6Zkg4SStBNGpsTmhHbzNHSWExV0swbVNwQlgydmFWNmpvaE03Szh1eFJUTVk3UFo5aDFzanVNNGp1TTRqdU00czQzL0Q3QkVmWVRvK2FpOUFBQUFBRWxGVGtTdVFtQ0MiIGFsdD0iTElTRSBMb2dvIiAvPg0KICAgIHskbW9kLT5Nb2RMYW5nKCdoZWxwX2dlbmVyYWwnKX0NCiAgPC9kaXY+ICAgIA0KICA8ZGl2IGlkPSJkdXBsaWNhdGluZ19jIj4NCiAgICB7JG1vZC0+TW9kTGFuZygnaGVscF9kdXBsaWNhdGluZycpfQ0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iZmllbGRfYyI+DQogICAgeyRtb2QtPk1vZExhbmcoJ2hlbHBfZmllbGRkZWZzJyl9DQogIDwvZGl2Pg0KICB7aWYgTElTRVNtYXJ0eTo6TEkyX3ByZXNlbnQoKX0gIA0KICAgIDxkaXYgaWQ9ImltcG9ydGluZ19jIj4gIA0KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+eyRtb2QtPk1vZExhbmcoJ2ltcG9ydGluZ193YXJuaW5nJyl9PC9kaXY+DQogICAgPGZpZWxkc2V0Pg0KICAgICAgPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygnaW1wb3J0aW5nX2Zyb21fbGkyJyl9PC9sZWdlbmQ+DQogICAgICB7JG1vZC0+TW9kTGFuZygnaGVscF9pbXBvcnRpbmdfZnJvbV9saTInKX0NCiAgICA8L2ZpZWxkc2V0Pg0KICAgIDwvZGl2Pg0KICB7L2lmfQ0KICA8ZGl2IGlkPSJzbWFydHlfcGx1Z2luc19jIj4NCiAgICA8ZmllbGRzZXQ+DQogICAgICA8bGVnZW5kPntsaXRlcmFsfXtMSVNFTG9hZGVyfXsvbGl0ZXJhbH08L2xlZ2VuZD4NCiAgICAgIHskbW9kLT5Nb2RMYW5nKCdoZWxwX3NtYXJ0eV9wbHVnaW5zJyl9DQogICAgPC9maWVsZHNldD4NCiAgPC9kaXY+DQogIDxkaXYgaWQ9IndoYXRzbmV3X2MiPg0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogDQogICAgICA8aDM+V2hhdCdzIG5ldzwvaDM+DQogICAgICA8cD5UaGVzZSBhcmUgc29tZSBvZiB0aGUgbmV3IGZlYXR1cmVzIG9mIHRoaXMgcmVsZWFzZTo8L3A+DQogICAgICA8dWw+DQogICAgICAgIDxsaT5MSVNFIGluc3RhbmNlcyBjYW4gbm93IGJlIHNldCB0byBiZSB1cGdyYWRlZCBtYW51YWxseSBvciBhdXRvbWF0aWNhbGx5IG9uIGEgcGVyIGluc3RhbmNlIHNldHRpbmcgaW4gY29uanVuY3Rpb24gd2l0aCBhIGdsb2JhbCBzZXR0aW5nIG9uIExJU0UgbWFpbiBtb2R1bGU7PC9saT4NCiAgICAgICAgPGxpPkxJU0UgbWFpbiBtb2R1bGUgY2FuIG5vdyBiZSBzZXQgdG8gYmUgdXBncmFkZWQgbWFudWFsbHkgKHJlY29tbWVuZGVkKSB0byBhdm9pZCB0aW1pbmcgb3V0IGR1cmluZyB1cGdyYWRlczs8L2xpPg0KICAgICAgICA8bGk+TElTRSBtYWluIG1vZHVsZSBoYXMgdG8gYmUgaW5zdGFsbGVkIG1hbnVhbGx5IHRvIGF2b2lkIHRpbWVvdXRzIGR1cmluZyBpbnN0YWxsYXRpb247PC9saT4NCiAgICAgICAgPGxpPkFkZGVkIHRoZSBjYXBhYmlsaXR5IHRvIGRlZmluZSB0aGUgaW5zdGFuY2UgPHN0cm9uZz5GcmllbmRseSBOYW1lPC9zdHJvbmc+LCA8c3Ryb25nPk1vZHVsZSBBZG1pbiBEZXNjcmlwdGlvbjwvc3Ryb25nPiBhbmQgPHN0cm9uZz5Nb2R1bGUgQWRtaW4gU2VjdGlvbjwvc3Ryb25nPiBvbiB0aGUgPHN0cm9uZz5DcmVhdGUgSW5zdGFuY2U8L3N0cm9uZz4gZm9ybTs8L2xpPg0KICAgICAgICA8bGk+QWRkZWQgaW5zdGFuY2UgaW1wb3J0LCBleHBvcnQgYW5kIGNsb25lIGNhcGFiaWxpdHk7PC9saT4NCiAgICAgICAgPGxpPkFkZGVkIGEgPHN0cm9uZz5UYWJzPC9zdHJvbmc+IGZpZWxkIGRlZmluaXRpb247PC9saT4NCiAgICAgICAgPGxpPk1hZGUgdG90YWwgcmVjb3JkIGNvdW50IGF2YWlsYWJsZSBhcyBhIHNtYXJ0eSB2YXJpYWJsZTs8L2xpPg0KICAgICAgICA8L2xpPg0KICAgICAgPC91bD4NCiAgICA8L2Rpdj4gIA0KICA8L2Rpdj4NCiAgPGRpdiBpZD0iYWJvdXRfYyI+DQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiANCiAgICAgIDxoMz5BYm91dCB0aGlzIG1vZHVsZTwvaDM+DQogICAgICA8cD5PcmlnaW4gb2YgdGhpcyBtb2R1bGUgY29tZXMgZnJvbSA8c3Ryb25nPkxpc3RJdCBNb2R1bGU8L3N0cm9uZz4gZGV2ZWxvcGVkIGJ5IDxzdHJvbmc+QmVuIE1hbGVuPC9zdHJvbmc+LjxiciAvPkFzIHRoZXJlIHdlcmUgbm8gcGxhbnMgb24gZnVydGhlciBkZXZlbG9wbWVudCBvZiB0aGUgbW9kdWxlIHNvbWUgcGVvcGxlIGRlY2lkZWQgdG8gZm9yayB0aGUgbW9kdWxlIGFuZCBjb250aW51ZSB3aXRoIGRldmVsb3BtZW50LjxiciAvPg0KICAgICAgVGhpcyBpcyBhIHRoaXJkIGdlbmVyYXRpb24gZm9yayBvZiB0aGUgbW9kdWxlIGFuZCB0aGVyZSBhcmUgb3RoZXJzLiBDb25zaWRlciB0aGlzIGFzIGFub3RoZXIgZmxhdm91ciBvZiB0aGUgb3JpZ2luYWwgbW9kdWxlLjwvcD4NCiAgICAgIA0KICAgICAgPGgzPlN1cHBvcnQ8L2gzPg0KICAgICAgPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCiAgICAgIDxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXRzIHVzZTo8L3A+DQogICAgICA8cD5JZiB5b3UgZmluZCBhbnkgYnVncyBwbGVhc2UgZmVlbCBmcmVlIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9idWcvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4gb3IgZm9yIGFueSBnb29kIGlkZWFzIGNvbnNpZGVyIHN1Ym1pdHRpbmcgYSBmZWF0dXJlIHJlcXVlc3QgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9mZWF0dXJlX3JlcXVlc3QvbGlzdC8xMzQ1IiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9wPg0KICAgICAgPHA+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LiAgV2hlbiBkZXNjcmliaW5nIGFuIGlzc3VlIHBsZWFzZSBtYWtlIGFuIGVmZm9ydCB0byBwcm92aWRlIGFsbCByZWxldmFudCBpbmZvcm1hdGlvbiwgYSB0aG9yb3VnaCBkZXNjcmlwdGlvbiBvZiB5b3VyIGlzc3VlLCBhbmQgc3RlcHMgdG8gcmVwcm9kdWNlIGl0IG9yIHlvdXIgZGlzY3Vzc2lvbiBtYXkgYmUgaWdub3JlZC48L3A+DQogICAgICA8cD5UaGUgYXV0aG9yLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L3A+DQogICAgICA8cD5QbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgZGV2ZWxvcGVycyBkbyBoYXZlIHRoZWlyIGRhaWx5IGpvYnMgd2hpY2ggbWVhbnMgdGhhdCBmZWF0dXJlIHJlcXVlc3RzIGFyZSBjb25zaWRlcmVkIGFuZCBkb25lIGFzIHRpbWUgYWxsb3dzLiBJZiB5b3UgbmVlZCBhIGZlYXR1cmUgcmVhbGx5IGJhZGx5IGNvbnNpZGVyIGNvbnRhY3Rpbmcgb25lIG9mIHRoZSBkZXZlbG9wZXJzIGZvciBhIHNwb25zb3JlZCBkZXZlbG9wbWVudC48L3A+DQoNCiAgICAgIDxwPklmIHdhbnQgdG8gaGVscCB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIG9mIHRoaXMgbW9kdWxlLCBwbGVhc2UgY29uc2lkZXIgZG9uYXRpbmcuIDxiciBcPiA8YnIgXD4NCiAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2NnaS1iaW4vd2Vic2NyP2NtZD1fcy14Y2xpY2smaG9zdGVkX2J1dHRvbl9pZD1IWUFLTTJZMkdYRVpMIj4gDQogICAgICAgIDxpbWcgc3JjPSJ7JHJvb3RfdXJsfS9tb2R1bGVzL3skcGFyZW50X25hbWV9L2ltYWdlcy9wcF9idXR0b24ucG5nIiBib3JkZXI9IjAiIG5hbWU9InN1Ym1pdCIgYWx0PSJQYXlQYWwg4oCTIFRoZSBzYWZlciwgZWFzaWVyIHdheSB0byBwYXkgb25saW5lLiIgLz4NCiAgICAgIDwvYT48L3A+DQogICAgICANCiAgICAgIDxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KICAgICAgDQogICAgICA8cD5UaGUgTW9kdWxlIGlzIGN1cnJlbnRseSBiZWluZyBkZXZlbG9wZWQgYnkgPHN0cm9uZz5GZXJuYW5kbyBNb3JnYWRvIChKbyBNb3JnKTwvc3Ryb25nPg0KICAgICAgPGJyIC8+DQogICAgICBXZWI6IDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5zbS1hcnQtbGFiLmNvbSIgcmVsPSJleHRlcm5hbCI+d3d3LnNtLWFydC1sYWIuY29tPC9hPg0KICAgICAgPGJyIC8+DQogICAgICBFbWFpbDogPGEgaHJlZj0ibWFpbHRvOmpvbW9yZ0BzbS1hcnQtbGFiLmNvbSI+am9tb3JnQHNtLWFydC1sYWIuY29tPC9hPg0KICAgICAgPC9wPg0KICAgICAge2lmICRzbWFydHkubm93fGRhdGVfZm9ybWF0OiIlWSIgPT0gJzIwMTUnfXskY3IgPSAnMjAxNSd9e2Vsc2V9eyRjciA9ICIyMDE1IC0geyRzbWFydHkubm93fGRhdGVfZm9ybWF0OiclWSd9In17L2lmfQ0KICAgICAgPHA+Q29weXJpZ2h0ICZjb3B5OyB7JGNyfSAuIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjxiciAvPjwvcD4NCiAgICAgIA0KICAgICAgPHA+PHN0cm9uZz5MSVNFPC9zdHJvbmc+IGlzIGZyZWUgc29mdHdhcmU7PGJyIC8+IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSA8c3Ryb25nPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9zdHJvbmc+IGFzIHB1Ymxpc2hlZCBieSB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb248L3N0cm9uZz47PGJyIC8+IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KICAgICAgPHA+PHN0cm9uZz5MSVNFPC9zdHJvbmc+IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCA8c3Ryb25nPldJVEhPVVQgQU5ZIFdBUlJBTlRZPC9zdHJvbmc+OzxiciAvPiB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgPHN0cm9uZz5NRVJDSEFOVEFCSUxJVFk8L3N0cm9uZz4gb3IgPHN0cm9uZz5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRTwvc3Ryb25nPi48L3A+DQogICAgICA8cD5TZWUgdGhlR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy48L3A+DQogICAgICAgPHA+WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgPHN0cm9uZz5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZTwvc3Ryb25nPiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTs8YnIgLz4gaWYgbm90LCB3cml0ZSB0byB0aGUgPHN0cm9uZz5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBPC9zdHJvbmc+IG9yIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPnJlYWQgaXQgb25saW5lPC9hPi48L3A+DQogICAgICA8cD48c3Ryb25nPllvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgPHN0cm9uZz5MSVNFPC9zdHJvbmc+Ljwvc3Ryb25nPjwvcD4gICAgICANCiAgICAgIA0KICAgICAgPGg0PkNvbnRyaWJ1dG9yczwvaDQ+DQogICAgICA8dWw+DQogICAgICAgIDxsaT48c3Ryb25nPlRhcGlvIEwmb3VtbDt5dHR5IChzdGlra2kpPC9zdHJvbmc+IHRhcHNhQG9yYW5nZS1tZWRpYS5maSA8YnIgLz53d3cub3JhbmdlLW1lZGlhLmZpPC9saT4NCiAgICAgICAgPGxpPjxzdHJvbmc+R29yYW4gSWxpYyAodW5pcXUzKTwvc3Ryb25nPiB1bmlxdTNlQGdtYWlsLmNvbSA8YnIgLz53d3cuaWR0LW1lZGlhLmNvbTwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPkpvbmF0aGFuIFNjaG1pZCAoRm9hbHkqKTwvc3Ryb25nPiBoaUBqb25hdGhhbnNjaG1pZC5kZSA8YnIgLz53d3cuam9uYXRoYW5zY2htaWQuZGU8L2xpPg0KICAgICAgICA8bGk+PHN0cm9uZz5Sb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDApPC9zdHJvbmc+IGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcgIDxiciAvPnd3dy5jYWxndXkxMDAwLmNvbTwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPkx1a2FzIEJsYXR0ZXIgKG5vY2tlbmZlbGwpPC9zdHJvbmc+IG5vY2tlbmZlbGxAZ21haWwuY29tIDxiciAvPnd3dy5ibGF0dGVydGVjaC5jaDwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPkFybm91ZCAoYXJub3VkKTwvc3Ryb25nPiBhcm5vdWRAdXBzZXJ2aWNlLm5sIDxiciAvPnd3dy51cHNlcnZpY2Uubmw8L2xpPg0KICAgICAgICA8bGk+PHN0cm9uZz5XYXluZSBPTmVpbCAod2lzaGJvbmUpPC9zdHJvbmc+IHdheW5lQHRlYW13aXNoYm9uZS5jb20gPGJyIC8+d3d3LnRlYW13aXNoYm9uZS5jb208L2xpPg0KICAgICAgICA8bGk+PHN0cm9uZz5BbGJlcnQgQ2Fuc2Fkbzwvc3Ryb25nPjwvbGk+DQogICAgICAgIDxsaT48c3Ryb25nPkNpYXZhcmVsbGEgKGNhY2lhdmFyKTwvc3Ryb25nPjwvbGk+DQogICAgICA8L3VsPg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4gIA0KICA8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2Pg0KPC9kaXY+DQp7L3N0cmlwfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/templates/instancestab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRtb2R1bGVzKSA+IDB9CjxkaXYgY2xhc3M9InBhZ2V3YXJuaW5nIj4KCTxoMz57JG1vZC0+TW9kTGFuZygnbm90aWNlJyl9PC9oMz4KCTxwPnskbW9kLT5Nb2RMYW5nKCdpbnN0YWxsZWRfaW5zdGFuY2VzX3dhcm5pbmcnKX08L3A+CjwvZGl2Pgo8ZmllbGRzZXQ+Cgk8bGVnZW5kPnskbW9kLT5Nb2RMYW5nKCdpbnN0YWxsZWRfaW5zdGFuY2VzJyl9PC9sZWdlbmQ+Cgk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgCTx0aGVhZD4KICAgICAgICAJPHRyPgogICAgICAgICAgICAJPHRoPnskbW9kLT5Nb2RMYW5nKCdpbnN0YW5jZV9uYW1lJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2VfZnJpZW5kbHluYW1lJyl9PC90aD4KICAgICAgICAgICAgCTx0aD57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2Vfc21hcnR5Jyl9PC90aD4KICAgICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2luc3RhbmNlX3ZlcnNpb24nKX08L3RoPgogICAgICAgICAgICAgIDx0aD57JG1vZC0+TW9kTGFuZygnY2xvbmVfdGl0bGUnKX08L3RoPiAgICAgICAgICAgIAkKICAgICAgICAgICAgICA8dGg+eyRtb2QtPk1vZExhbmcoJ2V4cG9ydF90aXRsZScpfTwvdGg+CiAgICAgICAgICAgIAk8dGggY2xhc3M9InBhZ2VpY29uIj57JG1vZC0+TW9kTGFuZygnaW5zdGFuY2VfdXB0b2RhdGUnKX08L3RoPgogICAgICAgIAk8L3RyPgogICAgCTwvdGhlYWQ+CiAgICAJPHRib2R5PgoJe2ZvcmVhY2ggZnJvbT0kbW9kdWxlcyBpdGVtPSdlbnRyeSd9CiAgICAJICAgIDx0ciBjbGFzcz0ie2N5Y2xlIHZhbHVlcz0ncm93MSxyb3cyJyBuYW1lPSdzdW1tYXJ5J30iPgogICAgICAgIAkgICAgPHRkPnskZW50cnktPm1vZHVsZV9uYW1lfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+eyRlbnRyeS0+ZnJpZW5kbHluYW1lfTwvdGQ+CiAgICAgICAgCSAgICA8dGQ+e2xkZWxpbX17JGVudHJ5LT5tb2R1bGVfbmFtZX17cmRlbGltfTwvdGQ+CiAgICAgICAgICAgICAgPHRkPnskZW50cnktPnZlcnNpb259PC90ZD4KICAgICAgICAgICAgICA8dGQ+eyRlbnRyeS0+Y2xvbmVsaW5rfTwvdGQ+CiAgICAgICAgICAgIAk8dGQ+eyRlbnRyeS0+ZXhwb3J0bGlua308L3RkPgogICAgICAgICAgICAJPHRkPnskZW50cnktPnVwZ3JhZGVsaW5rfTwvdGQ+CiAgICAgICAgCTwvdHI+Cgl7L2ZvcmVhY2h9CiAgICAJPC90Ym9keT4KCTwvdGFibGU+CjwvZmllbGRzZXQ+CnsvaWZ9Cnskc3RhcnRmb3JtfQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJeyRkdXBsaWNhdGV9CgkJPC9wPiAgIAp7JGVuZGZvcm19Cgp7JHN0YXJ0dXBsb2FkZm9ybX0KPGZpZWxkc2V0Pgp7JGZpbGVuYW1laW5wdXR9CnskdXBsb2FkfQo8L2ZpZWxkc2V0Pgp7JGVuZHVwbG9hZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/maintenancetab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQo8ZmllbGRzZXQ+DQogIDxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2ZpZWxkZGVmcycpfTwvbGVnZW5kPg0KDQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2ZpeF9maWVsZGRlZnMnKX06PC9wPg0KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskYnV0dG9uX2ZpeF9maWVsZGRlZnN9PC9wPg0KICA8L2Rpdj4gIA0KICANCjwvZmllbGRzZXQ+DQp7aWYgTElTRVNtYXJ0eTo6TEkyX3ByZXNlbnQoKX0NCjxmaWVsZHNldD4NCiAgPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygnaW1wb3J0X2Zyb21fTEkyX3RpdGxlJyl9PC9sZWdlbmQ+DQogICA8ZGl2IGNsYXNzPSJwYWdld2FybmluZyI+DQogICAgPGgzPnskbW9kLT5Nb2RMYW5nKCdub3RpY2UnKX08L2gzPg0KICAgIDxwPnskbW9kLT5Nb2RMYW5nKCdjbG9uZV9pbnN0YW5jZXNfd2FybmluZycpfTwvcD4NCiAgPC9kaXY+DQoNCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfaW1wb3J0X2Zyb21fTEkyJyl9OjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRidXR0b25faW1wb3J0X2Zyb21fTEkyfTwvcD4NCgk8L2Rpdj4JDQo8L2ZpZWxkc2V0Pg0Key9pZn0gIA0KeyRlbmRmb3JtfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/optiontab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQo8ZmllbGRzZXQ+DQoJPGxlZ2VuZD57JG1vZC0+TW9kTGFuZygnZmllbGRkZWZzJyl9PC9sZWdlbmQ+DQoJDQoJPGRpdiBjbGFzcz0icGFnZXdhcm5pbmciPg0KCQk8aDM+eyRtb2QtPk1vZExhbmcoJ25vdGljZScpfTwvaDM+DQoJCTxwPnskbW9kLT5Nb2RMYW5nKCdub3RpY2VfYWxsb3dfYXV0b3NjYW4nKX08L3A+DQoJPC9kaXY+CQ0KCQ0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPk1vZExhbmcoJ3Byb21wdF9hbGxvd19hdXRvc2NhbicpfTo8L3A+DQogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfYXV0b3NjYW59PC9wPg0KICAgIDwvZGl2Pg0KIA0KPC9maWVsZHNldD4NCg0KPGZpZWxkc2V0Pg0KCTxsZWdlbmQ+eyRtb2QtPk1vZExhbmcoJ2luc3RhbmNlcycpfTwvbGVnZW5kPg0KICANCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5Nb2RMYW5nKCdwcm9tcHRfYWxsb3dfYXV0b2luc3RhbGwnKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X2F1dG9pbnN0YWxsfTwvcD4NCiAgICA8L2Rpdj4JDQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TW9kTGFuZygncHJvbXB0X2FsbG93X2F1dG91cGRhdGUnKX06PC9wPg0KICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2FsbG93X2F1dG91cGRhdGV9PC9wPg0KICAgIDwvZGl2Pg0KIA0KPC9maWVsZHNldD4NCiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4NCiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+DQoJCQl7JHN1Ym1pdH0NCgkJPC9wPg0KICAgIDwvZGl2Pg0KDQp7JGVuZGZvcm19DQo=]]></data>
	</file>
</module>
