Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/24/2016 in all areas

  1. I can't be responsible for any impact of your script or services you would run in production. | _Services_UDF v4 | | By Arcker | Run your script as a service | Req. AutoIt 3.3.8.1 min, last beta recommended ( tested in 3.3.9.21 ) |_______________________________________ ++ Preparing v5 !! Checked on 27/04/2015 <> Updated on 10/23/2013 <> Updated 07/29/2013 <> Best practices Updated 24/02/2012 -- Removed GUI code, and old codes. == Warning : 26/02/2012 <> New Version (v3 ) : 29/07/2013 | Thx to ShminkyBoy, wraithdu, Udgeen and HolmesShelock for their great contributions. Special thx to bitboy, Downloads see end of this post : ServiceExample_v4, Services.au3, ServicesConstants.au3 Presentation Here is my _Service _ UDF With this UDF, you can compile your autoit script and run it as service. Any comments are welcome. Hope you'll like it, 1 - changelog Update V4 : 23/10/2013,27/04/2015 Update : V3 on 29/07/2013 Compile the service example to see how to do then you can use the main function for your proper scriptChoose an appropriate location and copy the script here.open a command prompt, and execute the compiled script with option –I ( must be admin right since vista )start / execute "services.msc" . You will see a service called "Autoit_service". you can execute "sc query" in a command prompt too.Launch it : it will run the previous compile script. The main function will be executed after the service_init.stop and relaunch the service as you wish. Examples / Session Change / uses v1 (lock, logon, etc) By HolmesShelock. Awesome work. Edit : this example doesn't use v2 or v3 method SessionChange Service.zip Example output to give you an idea Examples demos Synoptic And for End Users, I've tried to explain the service control manager and the way it works with programs. see below Best Practice, by arcker : /! please read this if you encounter stability issues I've had to rework on services.au3 to reflect threadsafe. Threadsafe means each dll call must be on "dllopened" instead of calling dll directly for example, if you need a function in kernel32.dll, you have to open it and call it after. That's contraignant since a lot of integrated functions in autoit are not programmed this way. If you take my services.au3, at the end, you'll see reworked function to handle this change. I've not tried services for a while, since i don't need it for now, but i can help you only if your provide whole script, to see how you call every functions. I can tell that fix stability issues in callback, but i don't think it's need for your script, as far as you don't use callback. Best Practice, by udgeen : Good news! Probably i've found the working method of integrating service.au3 with other projects I realised it after ASock.au3 project by Zatorg (please, sorry if im wrong) - ASock is asynck socket - tcp on event (uses ws2_32.dll). Asock & sqlite didnt work together. The only reason for that was..._ArrayDisplay() func with gui!!! Ok. I made special sqlite.au3 without dependences. It works, but my udf seemed too be much heavy to use at another project. Few weeks ago I returned to service.au3 and found TCP UDF, Event driven project based on ASock.au3. It seemed to work as example, but didn't work at all as service. In my variant of service_example.au3 i posted msdn words about service_main procedure, that it must contain all global vars of project I'll try to post that project as an another service_example.au3 in some weeks here. If it will works. Some advice: use SysInternals Process Explorer (free gui based), or kill.exe from support tools to stop suspended service process. U can start-stop service even net start/net stop commands. Use file logging while debuging. No need to install-uninstall service after every recompilation: only stop, recompile, start. See, if it was suspended (while stopping) - kill process. The only reason not to stop service correctly i've found for today is unclean exit: opened sockets, maybe some dlls. Edit : Arcker note: too bad, that would be too easy. unclean exit is not due to opened dll, but by some more internal exit checks or something. FAQ. 1 - Hey, I've got error 1063 or error 0, what does that mean ? It simply means that you intend to run your script in scite or directly by executing it. Your script has to be installed as service and run from it. Several ways to do it : You have to combine all Globals in one place: for example at the the begining. You have to make it with other udfs too... silly workThen sort Global Const and other Global statements. If u see something like global $x = 1 do that way: global $x leeve at top. $x =1 insert into module's (udf or project) Init func.U have to do it even with standart udf... or use only necessary functions from it in your own include. Or... maybe u have another plan?Try to build your project with modified udfs - does it works now? Hmm... But it have to Maybe later after everything will work fine i'll say "msdn is wrong, microsoft lies"... But maybe i'll say that microsoft - is not so bad, because autoit works in itnet start "yourservicename"Services.mscUse API provided _Service_start, Service_stop. 2 - I want to make a GUI ! It's not possible in a service. Create another process and communicate with your service by using IPC. 3 - I've to let the main function that way ? That's contraignant. Hey, a script intended to run as service is special no ? Autoit is not C++. The only way to have a "Main" in autoit is to have a function. If you find another way, please share it ServiceExample_ThreadSafe.au3 Services.au3 ServiceExample_v4.au3 ServicesConstants.au3
    1 point
  2. wakillon

    Bitmap2Svg

    Do not expect a SVG file as Sodipodi, Inkscape or Adobe Illustrator can generate. This "converter" doesn't actually trace or convert the image to vector. It just embed the bitmap image within an SVG container. #Region ;************ Includes ************ #Include <GDIPlus.au3> #Include <Memory.au3> #EndRegion ;************ Includes ************ Global $_B64E_CodeBuffer, $_B64E_CodeBufferMemory, $_B64E_Init, $_B64E_EncodeData, $_B64E_EncodeEnd Global $sFile, $hImage, $iW, $iH, $sType, $hFile, $sBase64String, $sFileRead, $sSvgPath, $sString _GDIPlus_Startup() $sFile = FileOpenDialog ( 'Select an Image', @DesktopDir, 'Images (*.jpg;*.png;*.gif;*.bmp)', 1+2 ) If @error Then Exit $sType = _FileGetType ( $sFile ) If @error Then ConsoleWrite ( '! File Type not supported, error : ' & @error & @Crlf ) Else $hFile = FileOpen ( $sFile, 16 ) If $hFile=-1 Then Exit MsgBox ( 262144+4096+16, 'Error', 'Can not Access this file.', 4 ) $hImage = _GDIPlus_ImageLoadFromFile ( $sFile ) $iW = _GDIPlus_ImageGetWidth ( $hImage ) $iH = _GDIPlus_ImageGetHeight ( $hImage ) _GDIPlus_ImageDispose ( $hImage ) $sFileRead = FileRead ( $hFile ) FileClose ( $hFile ) $sBase64String = _Base64Encode ( $sFileRead, 4000 ) $sString = '<svg' & @CRLF & _ ' version="1.1"' & @CRLF & _ ' xmlns="http://www.w3.org/2000/svg"' & @CRLF & _ ' xmlns:xlink="http://www.w3.org/1999/xlink"' & @CRLF & _ ' width="' & $iW & 'px" height="' & $iH & 'px"' & @CRLF & _ ' viewBox="0 0 ' & $iW & ' ' & $iH & '" preserveAspectRatio="none">' & @CRLF & _ ' <g>' & @CRLF & _ '<image width="' & $iW & '" height="' & $iH & '" xlink:href="data:image/' & $sType & ';base64,' & @CRLF & _ $sBase64String & @CRLF & _ '"/>' & @CRLF & _ ' </g>' & @CRLF & _ '</svg>' & @CRLF $sSvgPath = @TempDir & '\' & @HOUR & @MIN & @SEC & @MSEC & '-' & $iW & 'x' & $iH & '.svg' $hFile = FileOpen ( $sSvgPath, 1+2+8 ) If $hFile = -1 Then MsgBox ( 262144+4096+16, '', 'An error occurred whilst writing the temporary file.' ) Else FileWrite ( $hFile, $sString ) FileClose ( $hFile ) ShellExecute ( 'iexplore.exe', $sSvgPath ) EndIf EndIf _GDIPlus_Shutdown() Exit Func _FileGetType ( $sFilePath ) If Not FileExists ( $sFilePath ) Then Return SetError ( -1 ) If FileGetSize ( $sFilePath ) = 0 Then Return SetError ( 1, 0, 0 ) Local $hFile, $Binary, $Ret $hFile = FileOpen ( $sFilePath, 16 ) If $hFile = -1 Then Return SetError ( 3, 0, 0 ) $Binary = FileRead ( $hFile ) FileClose ( $hFile ) Local $sString = StringTrimLeft ( $Binary, 2 ) Local $sStringLeft = StringReplace ( StringTrimLeft ( StringLeft ( $Binary, 14 ), 2 ), '00', '' ) Local $sStringLeft12 = StringLeft ( $sStringLeft, 12 ) Local $sStringLeft8 = StringLeft ( $sStringLeft, 8 ) Local $sStringLeft4 = StringLeft ( $sStringLeft, 4 ) Select Case $sStringLeft12 = '474946383961' Or $sStringLeft12 = '474946383761' $Ret = 'GIF' Case $sStringLeft4 = 'FFD8' $Ret = 'JPG' Case $sStringLeft4 = '424D' $Ret = 'BMP' Case $sStringLeft8 = '89504E47' $Ret = 'PNG' Case Else Return SetError ( 2, 0, '' ) EndSelect If $Ret = 'GIF' Then StringReplace ( $sString, '0021F904', '0021F904' ) If @extended > 1 Then Return SetError ( 3, 0, '' ) ; animated gif. EndIf Return $Ret EndFunc ;==> _FileGetType() Func _Base64E_Exit() ; by Ward $_B64E_CodeBuffer = 0 _MemVirtualFree ( $_B64E_CodeBufferMemory, 0, $MEM_RELEASE ) EndFunc ;==> _Base64E_Exit() Func _Base64Encode ( $Data, $LineBreak=76 ) ; by Ward Local $State = _Base64EncodeInit ( $LineBreak ) Return _Base64EncodeData ( $State, $Data ) & _Base64EncodeEnd ( $State ) EndFunc ;==> _Base64Encode() Func _Base64EncodeData ( ByRef $State, $Data ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Or Not IsDllStruct ( $State ) Then Return SetError ( 1, 0, '' ) $Data = Binary ( $Data ) Local $InputLen = BinaryLen ( $Data ) Local $Input = DllStructCreate ( 'byte[' & $InputLen & ']' ) DllStructSetData ( $Input, 1, $Data ) Local $OputputLen = Ceiling ( BinaryLen ( $Data )*1.4 )+3 Local $Output = DllStructCreate ( 'char[' & $OputputLen & ']' ) DllCall ( 'user32.dll', 'int', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer )+$_B64E_EncodeData, 'ptr', DllStructGetPtr ( $Input ), 'uint', $InputLen, 'ptr', DllStructGetPtr ( $Output ), 'ptr', DllStructGetPtr ( $State ) ) Return DllStructGetData ( $Output, 1 ) EndFunc ;==> _Base64EncodeData() Func _Base64EncodeEnd ( ByRef $State ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Or Not IsDllStruct ( $State ) Then Return SetError ( 1, 0, '' ) Local $Output = DllStructCreate ( 'char[5]' ) DllCall ( 'user32.dll', 'int', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer ) + $_B64E_EncodeEnd, 'ptr', DllStructGetPtr ( $Output ), 'ptr', DllStructGetPtr ( $State ), 'int', 0, 'int', 0 ) Return DllStructGetData ( $Output, 1 ) EndFunc ;==> _Base64EncodeEnd() Func _Base64EncodeInit ( $LineBreak=76 ) ; by Ward If Not IsDllStruct ( $_B64E_CodeBuffer ) Then If @AutoItX64 Then Local $Opcode = '0x89C08D42034883EC0885D2C70100000000C64104000F49C2C7410800000000C1F80283E20389410C740683C00189410C4883C408C389C94883EC3848895C242848897424304889CB8B0A83F901742083F9024889D87444C6000A4883C001488B74243029D8488B5C24284883C438C30FB67204E803020000BA3D0000004080FE3F7F08480FBEF60FB614308813C643013D488D4303C643023DEBBC0FB67204E8D7010000BA3D0000004080FE3F7F08480FBEF60FB614308813C643013D488D4302EB9489DB4883EC68418B014863D248895C242848897424304C89C348897C24384C896424484C89CE83F80148896C24404C896C24504C897424584C897C24604C8D2411410FB6790474434D89C64989CD0F82F700000083F8024C89C5747B31C0488B5C2428488B742430488B7C2438488B6C24404C8B6424484C8B6C24504C8B7424584C8B7C24604883C468C34C89C54989CF4D39E70F840B010000450FBE374D8D6F014489F025F0000000C1F80409C7E8040100004080FF3FBA3D0000007F08480FBEFF0FB614384489F78855004883C50183E70FC1E7024D39E50F84B2000000450FB675004983C5014489F025C0000000C1F80609C7E8BD0000004080FF3FBA3D0000007F08480FBEFF0FB61438BF3F0000008855004421F74C8D7502E896000000480FBED70FB604108845018B460883C0013B460C89460875104C8D7503C645020AC7460800000000904D39E5742E410FBE7D004D8D7D01498D6E01E8560000004889FA83E70348C1EA02C1E70483E23F0FB60410418806E913FFFFFF4489F040887E04C7060000000029D8E9CCFEFFFF89E840887E04C7060200000029D8E9B9FEFFFF89E840887E04C7060100000029D8E9A6FEFFFFE8400000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F58C3' Else Local $Opcode = '0x89C08B4C24088B44240489CAC1FA1FC1EA1E01CAC1FA0283E103C70000000000C6400400C740080000000089500C740683C20189500CC2100089C983EC0C8B4C2414895C24048B5C2410897424088B1183FA01741D83FA0289D87443C6000A83C0018B74240829D88B5C240483C40CC210000FB67104E80C020000BA3D00000089F180F93F7F0989F20FBEF20FB6143088138D4303C643013DC643023DEBBD0FB67104E8DF010000BA3D00000089F180F93F7F0989F20FBEF20FB6143088138D4302C643013DEB9489DB83EC3C895C242C8B5C244C896C24388B542440897424308B6C2444897C24348B030FB6730401D583F801742D8B4C24488954241C0F820101000083F80289CF747D31C08B5C242C8B7424308B7C24348B6C243883C43CC210008B4C244889D739EF0F84400100008D57010FBE3F89542418894C241489F825F0000000C1F80409C6897C241CE8330100008B542418C644240C3D8B4C241489C789F03C3F7F0B0FBEF00FB604378844240C0FB644240C8D790188018B74241C83E60FC1E60239EA0F84CB0000000FB60A83C2018954241C89C825C0000000C1F80609C6884C2414E8D8000000BA3D0000000FB64C24148944240C89F03C3F7F0B0FBEF08B44240C0FB6143083E13F881789CEE8AD00000089F10FBED18D4F020FB604108847018B430883C0013B430C894308750EC647020A8D4F03C7430800000000396C241C743A8B44241C8B7C241C0FBE30894C241483C701E8650000008B4C241489F283E60381E2FC000000C1EA02C1E6040FB60410880183C101E9E4FEFFFF89F088430489C8C703000000002B442448E9B2FEFFFF89F189F8884B04C703020000002B442448E99CFEFFFF89F088430489C8C703010000002B442448E986FEFFFFE8400000004142434445464748494A4B4C4D4E4F505152535455565758595A6162636465666768696A6B6C6D6E6F707172737475767778797A303132333435363738392B2F58C3' EndIf $_B64E_Init = ( StringInStr ( $Opcode, '89C0' )-3 ) / 2 $_B64E_EncodeData = ( StringInStr ( $Opcode, '89DB' )-3 ) / 2 $_B64E_EncodeEnd = ( StringInStr ( $Opcode, '89C9' )-3 ) / 2 $Opcode = Binary ( $Opcode ) $_B64E_CodeBufferMemory = _MemVirtualAlloc ( 0, BinaryLen ( $Opcode ), $MEM_COMMIT, $PAGE_EXECUTE_READWRITE ) $_B64E_CodeBuffer = DllStructCreate ( 'byte[' & BinaryLen ( $Opcode ) & ']', $_B64E_CodeBufferMemory ) DllStructSetData ( $_B64E_CodeBuffer, 1, $Opcode ) OnAutoItExitRegister ( '_Base64E_Exit' ) EndIf Local $State = DllStructCreate ( 'byte[16]' ) DllCall ( 'user32.dll', 'none', 'CallWindowProc', 'ptr', DllStructGetPtr ( $_B64E_CodeBuffer )+$_B64E_Init, 'ptr', DllStructGetPtr ( $State ), 'uint', $LineBreak, 'int', 0, 'int', 0 ) Return $State EndFunc ;==> _Base64EncodeInit() Thanks to Ward for his Base64 functions.
    1 point
  3. taietel

    3D Bar Graph

    An example of 3D bar graph using just native AutoIt functions. Example shown uses random numbers. #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <Array.au3> Global $arNames[12] Global $arValues[12] Example1() Func Example1() Local $gui = GUICreate("Example 1: 3D Bar Graph", 550, 550) GUISetBkColor(0xffffff) $arNames=StringSplit("January|February|March|April|May|June|July|August|September|October|November|December","|",2) For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 1",-1,-1,500,500) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) Example2() EndSwitch WEnd EndFunc Func Example2() Local $gui = GUICreate("Example 2: 3D Bar Graph", 450, 350) GUISetBkColor(0xffffff) For $i=0 To 11 $arNames[$i]=$i+1 Next For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 2",20,20,400,300) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) Example3() ;Exit EndSwitch WEnd EndFunc Func Example3() Local $gui = GUICreate("Example 3: 3D Bar Graph", 850, 400) GUISetBkColor(0xffffff) For $i=0 To 11 $arNames[$i]=$i+1 Next For $i=0 To 11 $arValues[$i]=Random(0,200,1) Next _CreateBarChart("3D Bar Chart","Example 3 - without legend",-1,-1,400,300) $arNames=StringSplit("January|February|March|April|May|June|July|August|September|October|November|December","|",2) _CreateBarChart("3D Bar Chart","Example 3 - with legend",430,-1,400,350) GUISetState() While 1 Sleep(10) Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIDelete($gui) ;Example3() Exit EndSwitch WEnd EndFunc ; #FUNCTION# ==================================================================================================== ; Name...........: _CreateBarChart ; Description....: Create 3D bar graph with native AutoIt functions ; Syntax.........: _CreateBarChart($sTitle1="",$sTitle2="",$iX=20,$iY=20,$iW=400,$iH=400) ; Parameters.....: $sTitle1 - Title of the graph, [Optional] ; $sTitle2 - Subtitle of the graph, [Optional] ; $iX - left margin, [Optional] ; $iY - top margin, [Optional] ; $iW - width of the graph, [Optional] ; $iH - height of the graph, [Optional] ; ; Return values..: none ; ; Author.........: Mihai Iancu (taietel at yahoo dot com) ; Remarks........: $array = ["name",value] ; - one with numbers/names (try to uncoment/coment them) ; - one with values ; =============================================================================================================== Func _CreateBarChart($sTitle1="",$sTitle2="",$iX=20,$iY=20,$iW=400,$iH=400) Local $max=_ArrayMax($arValues,1);compare numerically ;Local $values = UBound($arValues) Local $arColours[UBound($arNames)] Local $color For $i=0 To UBound($arValues)-1 $color = (Random(100, 255, 1) * 0x10000) + (Random(100, 255, 1) * 0x100) + Random(100, 255, 1) $arColours[$i]=$color Next ;set default values for the frame If $iX=-1 Then $iX=20 If $iY=-1 Then $iY=20 If $iW=-1 Then $iW=400 If $iH=-1 Then $iH=400 ;create frame for the chart $grp = GUICtrlCreateGroup("", $iX, $iY, $iW, $iH) ;title GUICtrlCreateLabel($sTitle1,$iX+15, $iY+10,$iW-30,-1,$SS_CENTER) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 9, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) GUICtrlCreateLabel($sTitle2,$iX+15, $iY+25,$iW-30,-1,$SS_CENTER) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Local $Canvas If IsString($arNames[1]) Then $Canvas = _CreateBarCanvas($iX+15, $iY+15, $iW-110, $iH-60) GUICtrlCreateGroup("Legend", $Canvas[0]+$Canvas[2]+10, $Canvas[1]-5, ($iW-$Canvas[2])/2-10, $Canvas[3]+$Canvas[4]+5) For $i=0 To UBound($arNames)-1 GUICtrlCreateLabel($arNames[$i],$Canvas[0]+$Canvas[2]+20, $Canvas[1]+10+(($Canvas[3]+$Canvas[4]-15)/UBound($arNames))*$i,($iW-$Canvas[2])/2-30,13,$SS_CENTER) GUICtrlSetColor(-1,$arColours[$i]-0x444444) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$arColours[$i]) Next GUICtrlCreateGroup("", -99, -99, 1, 1) Else $Canvas = _CreateBarCanvas($iX+15, $iY+15, $iW-50, $iH-60) For $i=0 To UBound($arNames)-1 GUICtrlCreateLabel($arNames[$i],$iX+52+(($Canvas[2]/UBound($arNames)))*$i+5, $iY+$iH-30) GUICtrlSetColor(-1,0x990000) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next EndIf ;draw the bars GUICtrlCreateGraphic($Canvas[0]-0.5*$Canvas[4], $Canvas[1]+0.5*$Canvas[4], $Canvas[2], $Canvas[3],0) For $i=0 To UBound($arValues)-1 For $j=$Canvas[4]/2.5 To 0 Step -0.5 GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $arColours[$i]-0x333333, $arColours[$i]) GUICtrlSetGraphic(-1, $GUI_GR_RECT, 5+($Canvas[2]/UBound($arValues))*$i+$j, -2+$Canvas[3]-$j, 0.5*($Canvas[2]/UBound($arValues)), -($Canvas[3]/_RoundUp($max))*$arValues[$i]) Next Next GUICtrlSetGraphic(-1,$GUI_GR_REFRESH) For $i=0 To UBound($arValues)-1 ;values from the top of the bars GUICtrlCreateLabel($arValues[$i],$Canvas[0]+($Canvas[2]/UBound($arValues))*$i, $iH-$Canvas[1]+$Canvas[4]-10-(($Canvas[3]/_RoundUp($max))*$arValues[$i])) GUICtrlSetColor(-1,0x002244) GUICtrlSetFont(-1, 7, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next ;Y Axis For $i=0 To $Canvas[3] Step $Canvas[3]/5 GUICtrlCreateLabel(($i/$Canvas[3])*_RoundUp($max),$Canvas[0]-65,$Canvas[1]+$Canvas[3]+$Canvas[4]-$i,30,-1,$SS_RIGHT) GUICtrlSetColor(-1,0x990000) GUICtrlSetFont(-1, 8, 800, 0, "Arial") GUICtrlSetBkColor(-1,$GUI_BKCOLOR_TRANSPARENT) Next GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc #Region INTERNAL USE ONLY Func _RoundUp($m) Local $rv = Round(Ceiling($m/10)*10,-1) ;ConsoleWrite($rv&@CRLF) Return $rv EndFunc Func _CreateBarCanvas($iX=0, $iY=0, $iW=400, $iH=400, $iDepthCanvas=30, $BgColor=0xEEEEEE) Local $iXCanvas=$iX+$iDepthCanvas Local $iYCanvas=$iY+10+2*$iDepthCanvas Local $iWCanvas=$iW-2*$iDepthCanvas Local $iHCanvas=$iH-2*$iDepthCanvas Local $BgColor2 = $BgColor - 0x333333 ;create bg for the bars For $i=0 To $iDepthCanvas; Step 0.5 GUICtrlCreateGraphic($iXCanvas+$i, $iYCanvas-$i, $iWCanvas, $iHCanvas, 0) GUICtrlSetBkColor(-1, $BgColor) GUICtrlSetColor(-1, $BgColor2) Next GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $iHCanvas) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor) GUICtrlSetGraphic(-1, $GUI_GR_LINE, -$iDepthCanvas-1, $iHCanvas+$iDepthCanvas+1) ;horizontal grid For $i=0 To $iHCanvas Step $iHCanvas/5 GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $i) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor2) GUICtrlSetGraphic(-1, $GUI_GR_LINE, $iWCanvas, $i) GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 0, $i) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, $BgColor) GUICtrlSetGraphic(-1, $GUI_GR_LINE, -$iDepthCanvas, $i+$iDepthCanvas) Next Local $Canvas = StringSplit($iXCanvas+$iDepthCanvas &"|"& $iYCanvas-$iDepthCanvas&"|"&$iWCanvas&"|"&$iHCanvas&"|"&$iDepthCanvas,"|",2) ;ConsoleWrite($iXCanvas+$iDepthCanvas &"|"& $iYCanvas-$iDepthCanvas&"|"&$iWCanvas&"|"&$iHCanvas&@CRLF) Return $Canvas EndFunc #EndRegion INTERNAL USE ONLY Maybe someone find it useful. [EDIT] another nice example from boomingranny,
    1 point
  4. Gianni

    AutoIt Snippets

    Day of the week MsgBox(0, '', "Today is " & _DayOfTheWeek()) MsgBox(0, '', "Johann Sebastian Bach was born on " & _DayOfTheWeek(1685, 3, 31)) ; Passing a date in the form (yyyy, mm, dd) it returns the day of the week Func _DayOfTheWeek($y = @YEAR, $m = @MON, $d = @MDAY) Local Static $aDaysOfWeek[7] = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] Local $fJulianDay = 367 * $y - Int(7 * ($y + Int(($m + 9) / 12)) / 4) - Int(3 * (Int(($y + Int(($m - 9) / 7)) / 100) + 1) / 4) + Int(275 * $m / 9) + $d + 1721028.5 Local $iDOW = Mod($fJulianDay + .5, 7) ; 0 = Monday . . . 6 = Sunday Return $aDaysOfWeek[$iDOW] EndFunc ;==>_DayOfTheWeek
    1 point
  5. UEZ

    Bitmap2Svg

    Here another example: #include <GDIPlus.au3> _GDIPlus_Startup() Global $hPath = _GDIPlus_PathCreate() Global Const $sObj = BinaryToString(_Obj_Data()) Global $aColor = ConvertObj2Path($sObj, $hPath, 1, 0, 0) Global Const $hIter = _GDIPlus_PathIterCreate($hPath) Global Const $iIterCnt = _GDIPlus_PathIterGetSubpathCount($hIter) ConsoleWrite("Subpath count: " & $iIterCnt & @CRLF) $hSubPath = _GDIPlus_PathCreate() Global $bColor = False If $iIterCnt = UBound($aColor) Then $bColor = True Global $aWorldbounds = _GDIPlus_PathGetWorldBounds($hPath) Global $hGUI = GUICreate("Test", $aWorldbounds[2], $aWorldbounds[3]) GUISetState() Global $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI), $hPen = _GDIPlus_PenCreate(0xFFFF0000, 1), $hBrush = _GDIPlus_BrushCreateSolid(0xFF808080) _GDIPlus_GraphicsClear($hGfx, 0xFF000000) _GDIPlus_GraphicsSetInterpolationMode($hGfx, 7) _GDIPlus_GraphicsSetSmoothingMode($hGfx, 5) _GDIPlus_GraphicsSetCompositingQuality($hGfx, 2) ConsoleWrite("Polygon count: " & _GDIPlus_PathGetPointCount($hPath) & @CRLF) _GDIPlus_PenSetAlignment($hPen, 1) _GDIPlus_PenSetLineJoin($hPen, 2) For $i = 1 To $iIterCnt DllCall($__g_hGDIPDll, "int", "GdipResetPath", "handle", $hSubPath) DllCall($__g_hGDIPDll, "int", "GdipPathIterNextSubpathPath", "handle", $hIter, "int*", 0, "handle", $hSubPath, "bool*", 0) Switch $bColor Case 0 $c = Random(0, 255, 1) _GDIPlus_BrushSetSolidColor($hBrush, 0xFF000000 + 0x10000 * $c + 0x100 * $c + $c) Case Else DllCall($__g_hGDIPDll, "int", "GdipSetSolidFillColor", "handle", $hBrush, "dword", $aColor[$i - 1]) EndSwitch DllCall($__g_hGDIPDll, "int", "GdipFillPath", "handle", $hGfx, "handle", $hBrush, "handle", $hSubPath) ;~ DllCall($__g_hGDIPDll, "int", "GdipDrawPath", "handle", $hGfx, "handle", $hPen, "handle", $hSubPath) Next Do Switch GUIGetMsg() Case -3 _GDIPlus_PathIterDispose($hIter) _GDIPlus_PathDispose($hPath) _GDIPlus_PathDispose($hSubPath) _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_GraphicsDispose($hGfx) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False ;OBJ formatted data Func ConvertObj2Path($sObj, $hPath, $fScale = 1.0, $fDx = 0.0, $fDy = 0.0) ;only 2d is supported Local $aVertices = StringRegExp($sObj, "(?mi)v\h*(-?\d*\.{0,1}\d+\h*-?\d*\.{0,1}\d+\h*-?\d*\.{0,1}\d+)", 3) If @error Then Return 0 Local $aFaces = StringRegExp($sObj, "(?mi)f\h*(\d+\h*.*)", 3) Local $i, $j, $k = 1, $aPolygon, $tPoints = DllStructCreate("float coordinates[6]"), $aColor[UBound($aFaces)] For $i = 0 To UBound($aFaces) - 1 $aTmp = StringRegExp($aFaces[$i], "\d+", 3) For $j = 0 To 2 $aPolygon = StringRegExp($aVertices[$aTmp[$j] - 1], "-?\d*\.{0,1}\d+", 3) $tPoints.coordinates(($k)) = $aPolygon[0] * $fScale + $fDx $tPoints.coordinates(($k + 1)) = $aPolygon[1] * $fScale + $fDy $k += 2 Next If UBound($aTmp) = 4 Then $aColor[$i] = $aTmp[3] DllCall($__g_hGDIPDll, "int", "GdipAddPathPolygon", "handle", $hPath, "struct*", $tPoints, "int", 3) $k = 1 Next $tPoints = 0 $aVertices = 0 $aFaces = 0 Return $aColor EndFunc ;==>ConvertObj2Path ;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-09-19 Func _Obj_Data($bSaveBinary = False, $sSavePath = @ScriptDir) Local $Obj_Data $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'SfYC/xYwT2A08AK+Aj+Q9Q9gUPEDrf8C6fIFTjMf8O9o8gRWAC9gLLOKAC/gyvkEKgIv4CrzAZIPP+CtfhJIUGM+fhoY4eEYOuSR8y8faDX/BN3/A937Ap4jG8EvgP0DngxP8G+Todg/UDQf4MbxBIUK3QcCNlF/dWvvCTlhDE4sgeNvAunzCp3zA9taBS8gTQEwOhcQwTHzNQdlcg4vLjXpBjGqKjCkAgE1XmDwVSMmAjU2+qBOAVBkEAZeI/IrUAI4vW6kYFkbCu1gFSRuZY9wr1H2Av4EomEAhnhQY6pQpE8gx/EC//g/QPoEwh0/gP8DMjE/4GmiaiZPEK8v8F9lD+Dp8wJKNE9gS/IDYiQfYLqVMh4p4JH/Mj1PoMPyA+5SH2DIDzZjonQAqh7QCvQ2Y3wJpnE2gwzSYJceP2Be8wO/Wohxk0YABcbJZuEYbrlh9hHviXO2Hy8ACjYOnGHJEWofJhSr/wo5TyCb8wKOIT8AFfSgCgDOClESn/Cvy/IEjhAvkHQvoIT0ArYWb+B18QFh9AKJ+QP6tfQD7g0raPECKQEJHzKVCzn3CinmuPUEii7pYgI5CQFdH8Ua/63yCboIGy4/YIHwAcH8A3X8Abo7T1B5+R90T+BC8QPWFF+A/wOd1j33BK4daZXxBP9eV0+AjaYHoBEOih6TYqab8wMw8O35JCEIOGpwpp3TMfkB3fgDgfMC7y3zA7Z3UA0xU3QgCoAiRz/Q2z9wLwrzAv34A8n4AykBOYI6QQr+gvGP/wlCA0/QpNkXL6BY8wTR8QIauF9gRvoB/3I0X6AO8AKOAS8gNvADBhsvIFq7OhvqffID/45hbyCD8gD5+APV9AN99QNSEC/gVhA2N/ADUqPJGIMhUJ43EF3jbAqqGvdvH/EDTfAE+C8gn/QE9k0PoCS0fmM/4LnxAv+iJy8A+gSiXy8A/wEBD2JGIXQWFhawrV3wCqSA01hgex84AhfmrvAD/54cPxCLL+AK8gNGVk9gmvACViE/0AQ/YADxBO4arx9QbeBcFTIOAuDXcxkDNP+eB6C+AxpGkDPoyPEADgJPICb0A/4XP7BvivEDGkEQpwAVlnY24ycean2lNzNvAVFUAATNeDP2E3Dzb8mC5iIvoA3yApn1ApYJTyBR8AKOIE+gBPAC9/HwA/rIUU+gFhwz3g7XLx9gwvIE/4ohUWnguxQTRBA6Ep/gnbCKCS9grPIE/74TP6Cc8QLOQl/QtV9QwA8gQ/ECTfAD+E/wbzv0A2I3me1hcxRuv6DogMZO4QAR/q4dEJqnWPAC2g8/4HjxA0aRPwAFOf+iFdGAYMOVDjQdaT+Qcz8Qvj9QBC/wD/8Cff0EFgwvIArzAVoTP2Cg8AOyCT+gyvID/rJC6s3yA3psT9BPX5BK7lQbOmYg8+/CHp6jJjD8Ag55UIZg1WEl8QOtod9V+AJZBDSWOFGYoMN56QADOhD1Sg6gMSBQVmFhY/4LNS7x9SejDAjyy9D04FsfoNfBUS+wRyOtYn7VkRtwlgNBo4NyIgov8B/HP2Cn8AQmFT8gTfECPtkhFXJiBD/grPEC+3oaPyCh8gIOBD+gOwAlADPuLmFqYL9mV5Dj7wGVEQ0RmjWfIFQKO7AQ/3paQQtQpKgAQHDQBtJqAUX/Xggh8iytaCUA4R4qAqF+D/rNr/CvY/MAsaN8L+C28APQqgT9BPnwAWG1/7n0AyIOP+C18wNyU+018AMGBD/gV/gA0j0/8M/+AR6GLyBy8wP0L6Bc8Rie0z/gkPMD8if7XxwfEPQpkvAD7ghP4HnwA442P6Cj+gKmZi9w3+cgwBi3HRDlfzgfoxDyIO9hufIE/x30A04YH9BGP9D4P5DzTyA18QK2NE9QFD/wLybwBYIeP6Dy8QCGJsAQhJ9gg/ADjgvyGw1iI1NgLi5PYLzxA0n9BWZ3D9Bm8GtkHzaGJPDWCSZfK6l/p2eQmfcD/0mHjfAEbQBeAOBzG5uwYOHwBGkZ//YD' $Obj_Data &= 'INsSygohT/AJmgU/UA/gwxPOEvDv3ADSJWfGgraXGnY/EEk/8OEF8TII8S9dEC2WFe2OF5tu6eqj+fcEuPpvEabsGYRtHfADchgf4EnxAmIlP6Bg8gb6XskABR4EYfqCWgAx0+ww858wpoARzovhDgCaPicH8QTSZS/gW/AC/woCQAlCFZ+g3fsEeoM/oOzwAm4PX6BC8gP+2hcfEBQf0A4/UEtPEEYvoGwBAjch868AGM4AZnavyvcZ0Ol28ATJlzUd/wqpkRZhIoYaRyhfpk38BF5hP9AA+Y/9A2GgXb24L6Cs9QNdBeLd4W4D1/L9SAgwWQ41WhJktPQCnlYv8N8CP2CQ8AMKU1+gifEAHfIDIqkvoAcTAm327/7xBLn3A0IgmWI/EGubPlCF4EAQ/aKpYPXwCpouP6D68AIyA7F9ADHjfAL/UigWnFHyUbuQBmE98AgWOj+gIvMD/1H9At4hPyAR8AO+AD9QnS9QXD8QD9Fr8C+WANIDYGGDUqMf4C7zAtnzAhIz0H7ybWEXq2NgM9UQFQfq3qEQFKTWn/JhyS7CCmfHHpJBoBAANbrRdy9l8AO+a5CuEBEAc5kC593wAeorP/Bv0PADpD+g1fAEAg4/0M4/YPrwAnH+BBn4Af/R9gR19wIKI5BS4YoQpgw2+gEhVwD/puFgR3DaCbCDCiFzAacbIFn6CWYHP/Bv+PADdfUCFjI/kFwf4OD1BU4CqR/wBL4YD/Hf9C+gyKDhGIUO6pNxngBnphKxAPd2SHEMD2fbAOIAMPMRCRINpGwSfzQ6N9L5cFwGlUaQLQAFxNB3A1X2EV9QPT9Qry+QGEBTVfbvqvMDVaK+BT+g8/AB/hI/EKY/IJHxBA4G8RezXwDCAscL8Aw94e3wA7H6A4IsP/DvTvEDMnFpCZoKS9DdJ5DwAn5OPyCV8AL/phRP4H7wAyofL5DyT2BA8QP4L2BfHZ0BfzE1CENBEFCk6AI+M2C9HuZc8R+RU0pQKgA1jWekL3DpBRJC8D/NA+Jcc34AYHUAgqZhiXHp/QKufW/w77X1AKY1PyBJ9APKaqDhE1I1H9AAP4Cr/tZFTyDr9ALY6pDyAmkSURc1AjD/HW5GAE+QQC9gURZagOCPI9FgXfQD//g/0MY/QAdK5ufo8AQ6Di+gRfQDCi5P8G/w8gLWLT9A+gP6MT+A/wOubk9QJC8QHz/wXzc/YBn0A8mjffEDRhlv4K30AUYkL6C48AP/MgwvYJjwBOH4Ao34A4oWUJFm3xVNCP92V9LhVn/g1RB1AXmNwjQ/IMah/wHxAXX0AwYHP5BMPxC+T9AJH/DjCpFS8BdjsnGGGT8gIpOCIE/w3AOR42C7GvNGpBb+6uIG+gcAQqMxBE+ZEP5SEJ9gWPADljdpUPIELfAD2Ko5CzT/bQL1AsYQEPkGE8rhEmTAVN96K8MUNeVpngQ/UBI/4A/3A3EHfzbtGIogIahgZuWRiaAUAcoD8R8PhgkWGxGj5hzwA3YCTyByHXqh8y/aE2Zdr+Az8wEGEur68gTKDz/Qsh/gJfEE//X9AfAvoJ3xA4oZPxBVP0D6A7YeT4D/A/fumz8gu/UDPtnRZGPjFmuODS/g0fEE//HwA53wA+osLxAPP+A58gNB8gPt8QQyAC/Q75P1BPgvIKjxAyIFLxBtL9CtgNM48O/UF81sHQFXjhBqH2CGZGpgEdXxJeOYCTDCAiccobIQL+DfobJQL/AvzfEDYg9PoNfxA7YPP2Bm8QPWXR8AE47H8TWjPAs1SVNQ4akGaQOCMFBtjwDNbzR1AjN9DTBr/lD/rmovoE4Pe90grRTVdmIKT6AUIG4N8e97H2oBj9CRT5AEP0D/AFovPxBNb6By9QD/+gMv0BM/EB4vYFjzA/4hPxASIGIQUPGvc36GQz8gmfQEjg8h5vAK5g5qz+CdEb16H1BToKC+YdYJUKFRYyUA+2Uf0iuf0GE/oPLwA20HN5UIwR3/6g1geXamCCBpAsoF' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'L6CC8gWJg4RfkEk/UEb5Lwb2BgphH+CN8wPWAj+gdfACKgorwPADrgs/8F8NPxDJPxBrP+C88AJ58gSaBy8QDz8A+gL/PfIF9A8gKvIEPfIDug4/4KvxAk3wBPg/8K8E8ANt/wKaANrVKg7yA5oWPyBH8QM+FC/wL68U7ighVwI6WWFC+gm5+QNKNy8A+gP/RfUD9C/g4SVCNGFAFO47qEP0AAZ9P/DbI3BTLmGaFwoFZ5yZxfIDxmFP8C/78wItoIQ/oLTpuOqO9wB+XYm7/mRZGD+AqzBuwnGuHE9wwghi82/EBBkU6jafYFP7A4YeT5AQquvBDfAA/pYGP6AC9QPuBT8gjvADHQ+6Q+GIAzD/ZieaFRgzHxB1T2Ck18ojliZx8QDXb4UObnVmaKC6iCBpFU+REDlqe1/wnwhZBepz8gTsiasWDE+gJPMBCRz//gAgAByeD6h18gJiAF9A/wCkTxAUP/CP/wLOCT/g+vMDdpghwAaKzODqAF7Vz/AuYP0B9D8gAQI0+l1WYhpfP6DF9AP/YsFPoCD8A3n8Ak3wA/hfoB10anBsA/cC/54lT6C+8QKGD+1x8gEt8ALYqin2A8L1T/B/ywHBBHYjEVcmgvACzgc/oDn4A5obL/BfY9xpqHfxAzYAT+AN8ALmAz8QXD/gIvAF/9WDwhVfUJof0BdP4JaT6gI/AKhGBfpP+wEqTpApESFxZwOWW2HvFFDxb+9zDfYDfjwvkFZPUFPpjPAEjfQCx+EQ/4SgxxamYZjqH5AEP0D/Ao5pT1Cdb3Dfpw/gV6EWBC/QNHDzWAAhuBqWDvgP+gFeBT9A/wMGBl+gavAA9C+QlD8wogIv8P+2Aj/gl/sDvk1PYLwI8ny/IJzyA82tggr678+g1iVKpmn+A7hqEvEEaihfoBfxAP1vbBAnWRCyiSG4ZGO3EEUGM5IV8AeTEqbGDnvOEc0IfgbQCb/gRfYC91oqP+Cl9QEuWosNOI5HII0CfYP/hq0vUAIvAP8ClfUDkhKrSaCN/ALJ+ATvGngv4BTwAvSAkzogxgRNDr4V9u9q9QPaAx+Q9z9QGU9QLyG8Fz5KYzzwAf/WYmoD8QRh8AOl8gOt9AJWYWrk8AFbQpD/Kf0F1ay2BqkwwpIj7gOxeprqHan/zh1P0P8vMGABj2GN8AWCCA/g7vAC7jE/4HbyA/2WMn8gv+f4P+BS+gNmKW/goOI2hjDwFzMWDMERoWAKB7FXCKG2B9qK1u2sEE7uYaPTHIYhJvgAM+Z+8d8EoGgEUKUGEE0AXrpRPnboAPGvuhtKB9AJlp7q5wX7kWD2bT9gz/ME/0YBLxBuL9BoT/A/BC8Qbi8w9ASZq1mm+i8K8QImHuvkht+KES0EMLWtA8FM/wcDIAFgifEEM0fwA8H5Au3+AxoST+Az8AP/uiA/IEqg5QYLLxAKw/C1DtZiKy/zA/+B9gKiiyRKENb896AAoRQAAgPhJ2Hf2gOgKhkzFkLhbmFSG0+gXvAClgU/8G+Z8QKqASls8APm3z+gTsmK/RIVUDjw3wU/kK3qYqA6LqxUcAeoEDqZJzWQ/za4iglHjmC6AytCsJjZVS8g+BP/ZkJ2IA2xIgkioxFSND/Qaz+QKdpkL/Cv5hbxFm0GW50QofYKyok/EM8/4MCX/zI0P2AP9ATY6cKx7hk/ULAv4MS0DZD9wfsGyXBqfj8gxRgNBoI3ISMObP9Vx136AWdgELYWkKfwogMWhtyC+a/89gPONj/QAIv9AmIJP+BB9APufGEzEPftBSqhqGYBaQI12rQRMUcI91Y04SYVvi7W3BDjJRbSoeFicv1ZopmjRfMBcf4DO7YQbrRWI5QL+1IE8FQE4oRgdrnwIw4x4zQeNWL/ghwvYGAR5oXn2vEDQLDbACbe8QN5Er3K6pHTByHVYPoNHwATOA5kcf8XA2F3YGkCiqFh48gRqmXWQ/B/IAPiehO6F0YKMCFlJj10hfMC/9m+phkv0PJPUNIvIA7w' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'LyDC8gMWFz9g9vEE3sgfQPoFBgnZj/0DRhhP4HvwATEXlk5hRQo4Sg33LznxAzoUT6ClNDpH4UwHnkXPYKDwAfQf8G/KG04RYEwzOlVWrh+QXjGnAJF1kQcjLAj+Gh9gtvMCQgIAIuOib/8WFE+glvIDlf0DvfgCZfkE+D+gU/ID4iU/8O6j8AN9BEEOMYKg4DV1MoEv4CcQ/74FYZEDFzEQ+g+fYPrwAwoHMMgHkWPwH6vgmPUK14gQHrlxmQJhwoUWAnCSCPIfRCD88wKOPz9gWBLmAZdcGmU/ICIB/a6upR/wBTZeERqVQaDHEDJJAn84bqyVKbK+BNFdcMwM198vIG79BP8aRT8gXPQCtmgvYHz0BfkNYRIqR5Bi918q6K62cifqlPgD8hHKrtX3BFkJ+wILkCDQIdD7n5DcAXMXA5Hj8BdTYGgD8QAd+gWKEA9gPPIHzhIPUBk/0O/j8AE/NBBWh6cMA57bFi9vcKOEEfe2XNHBr1A0EQ4xE8JgC2JiAk/wX7IvoBCiVk/s+3QSleCIAjEEBQNfM94QZSN9CDIDIDEN7hLQQvWfFqCaE7qYoMEE+gNXx5ARZrHxAb/KCoEjKxGOF6AsaqRPoLiR2F/wb4M23QZs0IK/kH0vkOdPULyu3fYD//4/P2Bj8AKt/gW9/AG6AG8QDx8gEfIAeh8f8B+rT6BU8wI50ORPkOkvYDqpeiCBHf8GMiKo8AumAj/QOS8gXPADHiRrSvICSgb53wA/EIxfYJgcrmMU6M/Q5Chg9wMp8AT6Kb+6FS9g9P4GDgcu+RY4VgMQ8ysoAzLRb/JtYLkA1S9aJDdeAfIPBSIE4INzXhZqnfEBFxDwBRYpL+Ak8AT/wg8fkIVPUJ4/oAvxA9IaHyDjF2obIPXwCv9Z+AGlEh5CoUMSVhPhLPIKciMvkARf8E//AXYaL2Bc8ARqBh+gHqGWESt88gHyY/yvF4SuMGvh8QQ9h/YlT+BDAC6UoZkTazCOvfUyDHFjCws1cgEgAQD/UJU1sOYG4TQB/vCmRfADJisvkL0f8G/Ptq4rT9DYL6DZ9gIypk/g3vYBEggf4PTwBf9WIi9gHvcEGaLF8QBWJk/gb/IC1apiI1/Q77zxAlYPH+AasfYNmjUQHzHjNAR/MYId12EfYD3wA1IDPyAi8AIxCLUZ/9Fli0ERlRiG2wE118wgjlwvoMWl/xoWL+Dy8ATSDz+g1vgDsfIBXfIDlhwP4G75BP/R9gE6V09gr/UApgIrjxPdHK+tEGlRv54GgGOoKwUD2jOV3U9gSfIDPiVP0N+7H+DH8gZyBS/gU/AAQj6R1RBjNQN/MyFWchYCAzEBvvzBRIawsK8QBEyhAxBN+QmekXCj3xc2AbAurmg6TbA2CDLjGwk0miLvYFX5Bf/+lQ8gcxD2l5EGIKWQMeSOf19gAfMB/+tqIDoFIYMAXgIBZUYN4WIXYk32X79fYMrzBEl86ldPELtPELY/IFX0ApkV+6Dg3AAbjhNCEfbeCRFj5AxLIWb/CihbT08guvkFqjcfIIXzA0n1AUYRT2CX8QHv3fgD83IQAQQydtIhbIFGQV6I8R9ewBQ2u2DK8AOycy+QDBCbYnkV/voMlyY/EIYvkJA/YD/2AuZLP5C6MfOvFQC6dyB4AaHwDKYLP5ClH2Ay9AUSOR/wLz8wZg9ACh645yv2BE3wAfg/oAwV+6ZR0WsQ70Ba62xAMUEUAWf/Z0gQgQBRA2UCVWcmHumyoMN9EP85Ft/pEGKBZlGxDiA/ILCinhUv0AD7j4t2fF9gdvEAEfgDwfYE+f0Cpf0DK30Q/10LotIRcwFFOmNRTOFSAPi2r2L6AkJKTyAw9QSOIfEZAXNjmHEnQfAC/2pQT4D/AgH7BK36AtojZCIsTg7ahf2vUPADMj6SlSG8AkmdMiAf4PjxAnYSP7BvA/IErgYvgP8E0k+gFgAxthzh3m/3AgNvIMnwAtqL4cEUOZ2MRhVpygD/sQBtKR47' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'P/CvXPAEZgcfYFrxBAoIL6A18QP0P6CD8QHWRy+wfxYEP2Ay8QPSEj9gfgC35hAyaiwgnxj/+lHf4FnRFjtP4CzxAtIHPxAuIdsejQJ/NI435xfxAzXzAk9F8AUaBS5c8AX4L9Bf5T/QBD+Q6j/gHQAHkBBjPBA5vmL3bdk6CRsz3oamAAamW3GID5Iu9u/u8gKSL08QPl/gdfEDMfUB+C8gpfEDVfwE//5h0NRjtHGaEC/Q8z/g6B/ijFQJ+d+lD2BS9AFzTPACHjNfsGUCb+Cy5r40P9A3L/AviyBJADpi4ibzCqAvkAtw1QKmh/MD/441TyA/8AJKYy/gkPEBLgZPYFPwAyY3P6BY8AP/pC9gXPwE+D8A9QL4T1B5L9A9PyDD8gb/1izeCU+QnS/QDi+gPRE2rvFNCCHr8Av/P4kQigygHBcTvWBQofIvLRqJef2y9sEElnGRBLUVCqG0CDK2dvHvvJXSIR8gGvADYf0BAf4CAgxPAP8AefoD/6IpP9CsLwD6A7n8AvA/ELk/4GbxAxIXL/AvM/oCQfsCRgA/oKL3A6n+BFmOOfcEIg0/8N94P9DGYBQa5gGwMwOnuvcEUnwvMBgH8e8EHso+8A0HJg3OypQh+lFWgD/QLT/wnyiZeB+gsfEGxhoPYPDwBLIgP+AF8gNuB/BvgxDDzxA6ftbaP2DZ9wN2GE8gFPACofAE/z4CP1APP4D/AiLgP9BQP5BLeRgBT5ACL/AfWWob8QL7cPAHajueoT9gMPEEZjxfID8C/+kGosMRZNZzL6BE8AP6UT8g6PACLg4/8B8PP2A38gEmST9QBGIQOg4WYaPyCZYWL3D8iwS7iARbA0KzXRB26ggvgJ7/tHquAov+AbSrt/0ECYC4ayIf//I3EdYQ65XRgAhEoYIXTPRfK2FSMDeLYEX2BAYDb5BpbhLyAz4LP/AvvvACohlPoBbwAA4XTxDi0V6hnw2SG3ZfMi+ABLegEHEKMN4LBvUH8P2fPC/g9vEEOfEGmeBeAD/gd/AEJggvIKT3BP9N8AX4DyAwDQbwlyc/kNxQT1C6sn9MGBYIT2BB+QQl8gLmH0AjORLpDXc5IhYGBTkWNS4B4f9jw0wQv1YDUKOhAr434YHwCooAL2AD8ATB9QL/CfcE4QruDGE/Gso4rxBRP9BLP+Cq8QT/XhovoB3wBMIEX2A38ACeXS8Qvj8QyB/A/gP+Bjs/YHrwBWoTD9CJavMDzR+9EjL/4itmUxCmD+fH9QPOBT+QOS/gFvACQjM/UG/I8wKxGhlUTro/cOOcBDW2MfcvGPABlfUF72DwAOn/AwYwL+AD8AOkTyAdAd9RC30ZMCZA5yLwAJIPT6C98QJWBk/wT/oCqgY/QP8C4fIDffYEkjQ/IMrxBd34Af/V9gKbDfADnsEf8N4Aqo/xBVIoP2B++gLd/wL/bh9PoPHxAvZMT5AEL9A7LyBX8wQaNi+QHj/w31BvoPD6AfH4ApnxA/Q/0B4/YIvzA8dV8AL/7fEDuxvwBEIUL2CsADJMoeT6CS3wA9j6L+36BC3wAtgqtPUDLfAD2Cpu8AbuAg/wr7rxAc48T+DC8gLyMT+Q6i9Q/09A/wJDLxDeBgRQywGjPWBGyyD/BVEvOP7WhAYFrrahPgYzZWL04XMWNf9+Z5QEz0DvAjxPILH0AeXxAyIFjyGP8QX/SKxb8AS6HR9QvE+Q2z/wOg6RwSEcAP8qX+Z68ARh/gNF8QJQT5AUP1APPyBx8AP/Eh8vIFzwA6Q/kFc/gP8E8fEDnfEC4fQC/7X4BGH4AVoIL2A58gP2CS/gW/UEthcvYCzxA+/4IIIQSQA0R3JwsimZAj9A/QH/ufIFchVZyj8gs6LloJHwAkwv0CVP8G/Q8QHKFk8g5fED9B/gMvACjgFP4Jz2AQZQT/BNCh4hEdPIoMcVi2bwAFn5BQH6A/9WMi+QIS9gO/IDXiQ/YGXyA0IvL2Bq8gIqAT/wn74/QP8D7fYCNfIE' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'NP6tHCYK4XkhRaStHCYK4XkxNl8w+hRA0zDTymGiEJ4XU3j538phohCeF2MhgIkMgsCiYABkvt8HYKIQnhdSxvmoD0FjohCeF9NviYD1DgxQBOB5MUYbkeOpMLv6mEFjohCeF2J8kDStHCYK0e95IbYQ6VIbDoexGQ1REFtzjwHx74MTnhdUn9c5wABCK+B5IS2b//JLIpIUnhdjewAWClAQsu8RIVUTfzWeF1PT+A4OYRgVajtRHdFX8HOT0wnTymAWFc0HDSOSIuADA0M2rQz6QaGkBn4PXPMuvxi2fdIwkuPjAekAZONJFO+2bdGy4/sBNwYlE3tgqxUM8N+yIoMARidQa6K+BQygIRiyK/3vzwQMUATgeSG2EGlKAAxQBNDveTFViEKOoXQCDOD70TWtDP/OcrEeDWEpsrNgEUKTwACeF1Ofd1cjIBPbTSAd1zUOMuEpFJ4X8utVkzUaMmEcF54XUyrpqxl1DP6CJmACwtblUwTgeSFSIaCWCjbvBTGSRVHHUON5IVWYA8kQiQb/YxMQ7dcWcOF5Ki07pgSgDQJk818c8JUF0nHjSXISpvFHDWFVGvYG4W+QAdEHZNLKsPwFoRIAZJLzL4sBNgpzzgkRIMAAvh/TPdjKsK+ZAPvJIMXKbuJRx1DjeSHWC9nvIAEMUATgeSEiOKn5GDUaSfHveSG1pq0MhpRxqgph8SBunmAyMd06AHC9CmLjeTEOADg3DWFTx/Bv/TyWL3k6C7EQDOGPDU3G3qnAAP9FAJ4X4xqAEjtwGAYiwgAVxXohcP/eB+JXFEUkGnIgUxDTymA1Ae0M0HHT5mfTyuClHzaeF/Pfv7iSAPHqAXGuAVFEiw8MUASw73kxaQ/2EVAd08pgU8fw4ALx3XEiIQM5QjvTyqCxCQzgQDP/1YGtDA/XEP7r0Fcc9sAARQD/nhfkMwKSDkA2BxUQSmfhNDDpCf6GGkA2xQF1DFbHYEjAQ+gQNv91DHULrdStDFLMYAElpjPrkxX/U3UQvzYQhbfaWuGqCMaJ4RbEz0EQ/00HHlDiX7GmAsAAtj/hdTB+NvefH8AARQDGP9QJ2MqgGgkM0N+y02R4kQExjQHheTHSA5DjVQD/ZFMcUMegvgdeO/zsBWHiBAzw7zg0fgJn/hdqGcAADTPGFKc9Fb5DABE2nhdSRNrKcPkh4nkxMP92DVDnQCatDKJuMRMP4eqwIm7yX8fwpGTSI9vK8I8WoZIWvhKragP/DOA9BJ4Xo28AbhMgPjStDKZq8b/jAlEDYYMB8kBANvJDUMdguhb/WjJh3wHJBmTzM0shUhQtO2V8//pboQcEOldSA9zKYFIADOA40b8KZHFTxxAiUFEsWRWj1hCSY/HfmCuDF0ZcoSwAtgMsgxXeUKGNFf9k3MqwnQIxLQFR4CK4A+YCo70B9wxQBOB5MX4ceNPKYGkBDNDvgTNFAmoUQDbFAXUMN54X829IgPcRERb3wQOmDFJIoJsBZNNfHFDHEAHgNMDmViFHFTeeF/JPpq0MhgXAAD0/hivgXABkUy+sFEUAPkBjZoE3rQw3dQz9sQNkIr0AaQxk0spwU8fwfZgCYVSzN4L0UccgCBY1wK0M/yJg8XIGYX+0TQl6TFAE4AM0vh/o7ywEDFAE4HlBFgKnDQF+WXJz63nhN60Myz8SN54XY7SBDwkR/1YEwABeB2M/cWpdEZXAAG4L81942Mow0Bnh1R+OLes3AAxQBPDveSHKJ6ClAF4hYxAfihTAAB03/9WBrQxv9REPVROeJIsImllSL/BvpsQ1DgzgAwWeF2QccmENDPCvBAWeF9NKWGfAAEUAnhfjeIT/OnCh3hlmKdDM7BgCDFAE4Hkx//WJPkHAAEUAnhfjx4HeNcAA/0UAnhfkW3BSv/EsEDF3C2EpsrEL/wxQBOB5MWRaHFDH4EUDxi7zn7NgYTN6LsAARQCeF2Pfgs7V8f/aAPHFA2FQsvjAAEUAnhfiQZD/9QEMUATgeTE9' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'atQQ//aFAQHGF6ModkhQIVHgYV8Y/wIH7GIYENAG4W5HEi2HBBUS/wUe9oVRVW3UEPaFAQFWaY0E/xUSBR72hTFpAm3UEPaFAQEN+AD/Rg1hXxgQ4BHgLoYBAW0QThzyXwUgzgBZUEYNYV8YECCH30jwXyFR4GFfGJXcRg1hXxgQ4N02/7omoAQFcFQhUeBhXxg520YN8W9fGGoLoe7FbREQ0QbwOQFi07H/LoYBAW0AqxMgfb0uhgEBbQD/txMgBgLrYhgQ0AZxiwSOBJ9HEP8FHs8TIFoq62IYENAG4ZlEKkn3jwQVEgUe5xMwRgnqYhgQ0Abx75lEtZHXWCAFHv8TMMYIYHET4TT/LoYBAW0QR0lA5GnUEPaFAQH/9uyNBBUSBR4jFCDjMrAuhgEB/20QnkmjZpEuhgEBbRDudrRJA/jvYhgQ0AbhxDHxnS6GAQFtEP8+pGNvikhQIVHg8UUBog+xLobxDwFtEE4co/eRLoYBAW0Qnkn17+4Ahy1ALoYBAW0QMyJAOhjoYhj/ENAG4cRBrxdwSFAhUeCxSQHyLzuxLoYRCQERPqTtDAEVEgUe/7MUIIXDRg1hXxgQYHM1+i3oYhj/ENAG4W5HaZlGDWFfGBDgMzH/0l+HBBUSBR7jFCDGbirmEBDx3wbhxDGiRIgEFRIFHvsUIMYX++9iGBDQBvGzBESeRg1hXxgQ8O+iMG4R6GIYENAG4cQhIqopTgH/IzcQBR72hSGNwC6GAQFtAPaF8e8uwC6GAQFtAPaFYWnDLoZhYAH/bRBOHFNy6WIYENAG4RhNPYb/LoYBAW0QThyTs+liGBDQBvHvxDECB+liGBDQBuHEMXBbIfFf4GFfGIXDLoYBAW0QpvqkuID/LoYBAW0QThwjG4xIUCFR4PFvXxhyKexiGBDQBqGs70hQIfFf4GFfGMYX7GIYENAGIa5PcPpfIVHgYV8Y9k+LBBUSBR72hfEvYsMuhgEBbRCO0SQDfUgw7QPy3wbhxEEpkt8+IAUe9oUhtMIuhvEPAW0QThxiA6AuhgEBbRCO0f6PBBUSBR72hWGjwy6G4eIBbRD/ThxjIJAuhgEBbRA+pOTAdkjwXyFR4GFfGHrNiwQVEgUe9oXxr/LALoYBAW0QThziHwNaHRAU9W/UEPaFAQGOQKMjdUhwNgTSBvFvuU8pkkYNYV8YEDDGAo0EFRL/BR72hSGExC6GAQFtEE4c4/6R/y6GISQCbQD2hSGOtkiwTgRR4PFvXxi2DuxiGBBwrgxi6zB2tYcE/wNFEAUe9oXhzsMuhgEBbRBOHPJvyJ5IUCFgXxgQYPLdSFAh8G9fGBBgDeIuhgEBbRBOHNJj+u9iGBDQBuGZNPWYLoYBAW0Q/55JD+BiGFYm0AbhxDFBoUYNYV8Y/xBQOGNEfUhQIVHgYV8YIo37jwQVEgUe9oWhiMIuhgEBbRD/PqTlrWhIUCFR4GFfGDYA7GIY/xDQBuHEMSWXLoYBAW0Q001A/4WTRg1hXxgQYJVGh0RgSFAh8V/gYV8Yeh/sYhhqKtAG4cQhqgTwr5IFgUguhgEBbRBOHDIeAYkE/wdOIG0QbyVAYneHBBUSBR72hfGvm8AuhgEBbRBOHBO00XIAR/8VEgUe9oWRBW3UEPaFAQF+yPR/wwTnYhgQ0AbhxDG6CeliGBDw3wbhbjeeLOliGBDQBuFDSqrL948EFRIFHvaF0fQiFQbhVEYN8W9fGBDgTDameWelEBDRBuHEQf/1mEYNYV8Y2i/gEeAuhgEBbQD/9oXhWsMuhgEBbQD2hVGP7GIY/xDQBmBfGLZI7GIYENAG4RhN/1GKLoYBAW0QnknktoQuhgEB/20Qmv3kVYIuhqFNAW0QThwjj4z/SFAhUeBhXxiOQHxiCGJfGBDw76IwDmyHBBUSBR72hSGTt0jwXyFR4GFfGO5Z7GIYENAGcWwH9G+3d0hQIVHgYV8YMlzsYhgQ8N8G4cQxBnaIBBUSBR72haFrwv8uhgEB' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'CfHfNcIlWg3tYjhn0kDarOy0EHUi/xDhZdsxFBkhVSlN3y6GY9RA/3APUArSadKAD+BiON4a4hHgLobyf9IB8kELY2gCOmKgSUEuhnLSAfJBC/OvRpxIUApw0gHyQQtkCJEuhnLSAfL/QQvTDNvjcdIB8kELpZuALoZy0gHy/0ELFMLpYignHSAftDDZri6GctIB8v9BCyQZkC6GctIB8kELpLCKSFAh8V/g8UELZEOHthlQIVHg8UEL4xah/y6GctIB8kELY7ahLoZy0gHyQQuTefrvYignHSAftDCuGOpiKCcdIB+0MKYF+u9iKCcdIB+0QGmZLoZy0gHyQQuUIvrf43HSAfJBC9P06mIoJx0gH7RAhaP/PR4nHSAftDAeAepiKCcdIB+0MA24/z0eJx0gH7QwRn2JBBUSBR4ftED//mKIBBUSBR4ftECWjYgEFRL/BR4ftDC2DupiKCcdIB+0QGI9iAT/FRIFHh+0QO48iAQVEgUeH7RA//YV6WIoJx0gH7RQbZQ9HicdIB+0QP8HJICeflAhUeDxQQuTs9vjcdIB8v9BCyMalkhQIVHg8UELY2SiLobyf9IB8kELoySbSFAKcNIB8kELJH+D/0hQCnDSAfJBC6SShEhQCnDSAfL/QQukTpIuhnLSAfJBCxQx6WIoJx0g/x+0MH2tLoZy0gHyQQsz/wEpKwgVEv8FHh+0MPdxkEhQIVHg8UELZJCF/0hQIVHg8UELpJKESFAhUeDx/0ELU6zqYignHSAftDB2B+piKCcdIP8ftDC+BOpiKFdCMU4cI4WKSFAh8V/g8UEL5LGDSFAhUeDxQQtkX5H/LoZy0gHyQQtkIJAuhnLSAfJBCySAif9IUCFR4PFBC9TJ4ZQBcFQh8V/g8UELZQ54SFAhUeDxQQvjgZX/SFAhUeDxQQske4hIUCFR4PH/QQtTj9vjcdIB8kELJPmKSFAh8V/g8UELZIGSLoZy0gHyQQvTgNvj8X/SAfJBC1NV2+Nx0gHyQQsDxxUS/wUeH7RAGrSIBBUSBR4ftECqrviPBBUSBR4ftEDyVIgEFRIFHv8ftEDyVIgEFRIFHh+0QNZaiAT/FRIFHh+0ME6QiQSlACcdIB+0QP+uxogEpQAnHSAftDBnPZBIUArwf9IB8kELo1Ce9QelACcdIB+0MPaJ+Y8EpQAnHSAftEDWA+liKCcdIB+0QP/dmS6GctIB8kEL4zmYSFAhUeDx/0ELY/qTSFAhUeDxQQuke4tI8F8hUeDxQQtTG9vjcdIB8kELlHn572IoJx0gH7Qw4hHqYignHSAftDCaS/AfBWB8QS6GctIB8kELI5QEzjbgG0L/LoZy0gHyQQvkLpAuhnLSAfJBC9MM+9/jcdIB8kELI6UEhltBTj0eJx0g/x+0MEYJ6mIoJx0gH7RASrKIBBUS/wUeH7QwTlaJBBUSBR4ftECCT/iPBBUSBR4ftEBOkIgEFRIFHv8ftEAuROliKCcdIB+0MMGvLoZy0gHy/0ELk7PqYignHSAftDCiCupiKCcdIP8ftEDBEHwANz0eJx0gH7QwZa7/LoZy0gHyQQsjx6AuhnLSAfJBC+SikP8uhnLSAfJBCwS3FRIFHh+0QKY/+e9iKCcdIB+0MPWoLoZy0gHyQQtjwKP/LoZy0gHyQQsTpepiKCcdIB+0MEYJ+u9iKCcdIB+0MPmjLoZy0gHyQQukbIj/SFAKcNIB8kELI9ajLoZy0gHyQQv1r06CLoZy0gHyQQvlF3dIUCFR4PH/QQskRolIUCFR4PFBC2RIiPEK/xUSBR4ftDBOHOpiKCcdIB+0MHD8XyFR4PFBCxNO2+Nx0gHyQQukFJL/LoZy0gHyQQvkzpMuhnLSAfJBC5Nc+9/jcdIB8kEL46ehLoZy0gHyQQvjLqD/LoZy0gHyQQsktJIuhnLSAfJBC2RakP8uhnLSAfJBC1OP6mIoJx0gH7RAHjv572IoJx0gH7QwBgLqYignHSAftDCmefmP' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'yQRtEE4cBJdGDWFfGP8QYIzaSFAhUeDxQQvVDGnUEP/2hdH5od/SLoYBAW0QThzjqY3/SFAhUeDxQQuzwQmJBBUSBR7/H7QwRgnqYhgQ0AbhmTSbU4BI8F8hUeDxQQsjNqAuhgEBbRB/WUD/JYcuhtGN0AbxFg6OBBUSBR7/H7QwLn6JBBUSBR4ftEAlp0YN8W9fGAEKLgrT1+hiGBDQBuGZRP/acocEFRIFHh+0QBGjRg1hXxj/EGCe4hwAEW0QThxjXIxI8F8hUeDxQQskWJEuhgEBbRAftED/1iDoYhjxDG0QjtGkD4EuhgEB/20Qb+FAyhLoYhgQ0AbhxCFRuv9GDWFfGBUOHpJjX4EuhgEBbRD/jtGOBBUSBR4ftDC6CepiGBDw3wbxlwWe+lAhYF8YEHBfDo0E/xUC9oUBAXZ7jQQVAvaFAQH/br9zUwCHBBUC9oUBAY5AcwgO948EFQL2hQEBrlLuYhgQ0Abx/8IC9E8IhwQVAvaFoSIAj2LQSPBfIVHg8UELIymZSFAhUeDxQQvzX1XqYhgQ0AbhmTSfMYC+A1Ah8V/g8UELYw+eSFAhUeDxQQtjWqD/LoYBAW0Qz4ZQMgXnYhgaBdAG8e/EQWpQ6GIYENAG8RYO1LroYhj/ENAG8cICZCqCLoYBAW0QThz0r9aGLoYBAW0QH7RAInDoYhgQ8N8G4cQxahbpYhgQ0AbhbkcuYfjvYhgQ0AbhGE2dkkYNYV8YEPDvxOEuhgEBbRBv4eBIUCFR4PH/QQtDvkYNYV8YEHDgBY0EFRL/BR4ftECSHuliGBDQBvHCAuTmgv8uhgEBbRA+pKSYe0hQIVHg8f9BCw+ABBUSBR4ftDBNry6GAQH/bRBOHNNjatQQ9oUBAV9H0H0f/RDRBvHCAqSbgC6GYToAMBBx7RjdSCADETMQYZ4y/pz3igQ1EGEDEY7RpHZqSNCHAxFtEE4cUjiJBDEQcd8G4cQhiguJBDQQ0QbhxDHfVkyIBDcQ0QbhQzobnID6D/BfIVHgAAHWsaNJcUhQIVHg8A8BzmSNBBUSBQ4Q4O1PGl32jwQVEgUOEPCOCaTRZUhQIfFf4AABZnKNBBUSBQ4QcOAF/Y8EFRIFDuIZoaDBIFAhUeDwDwGFM6JEhwQVEgUOEODE0f9IUCFR4AABVmljA3DJBxUS/wUOEHCcA40EFRIFDhDg9jv/ugmHBBUSBQ4QYGrZSFAh8V/gAAGV3EhQIVHgAAHGF/2PBBUSBQ4Q8EoHjQQVEgUO/xYOYIw6iiiHBBUSBQ4Q4BHQ/0hQIVHgAAEvvdBKDwERbRD/H7RA4ZQ9DhDQBuHEMfWoPQ7/ENAG4cRB5gyHBBUSBQ4Q8P9+AI0EFRIFDhBwRgmTItnj8A8BbRB/WTBuaNgPARFtEJ5J9N+d2eMAAW0AH7QwLgqJBBUC//aFAQG2Do0EFQL2hQEBLyzQ/0hQIWBfGBDwYwxj/3Q2HFAh8G9fGBDgkNhIUCFgXxgQYGFN/84NhgQVAvaFAQEncEDOgYYE/xUSBR4ftDANqC6GAQFtEB+0QP/qB4cEFRIFHh+0MF4liQQVEv8FHh+0MPPqkEhQIVHg8UELk1z672IYENAG4Zk0YiCIBBUSBR7/H7QwP8aQ3QsVEgUeH7RQbZQ9Dv8Q0AbxwgLjL4ZIUCFR4PFBC/UvcHBIUCFR4PFBCzOtAokEFRL/BR4ftECiRIgEFRIFHh+0QCmi/z0OENAG4e3vQRMQ0QbhxDH/6wyASFAhUeDxQQvlznMGBAER/20QThyT0OliGBDQBvFsCOR5f/9IUCFR4PFBC1PJ6mIYENAG8e/EMXp2iAQVEgUeH7QwpgXqYhj/ENAG8ZcF9F0FhwQVEgUeH7Qw/xGzPQ4Q0AbhQ+pIUCFR4PH/QQvkv5AuhgEBbRCeSeOujkjwXyFR4PFBC9Sd6WIYENAG8EEL8+84kkhQIWBfGBBQye5iGBDw3wbwQQtjMJlIUCFgXxgQ8KcO9O8ucC6G' $Obj_Data &= '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' $Obj_Data &= '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' $Obj_Data &= 'LOD9SFAhUeAQ4NCAjQQxEFEnAxE26I0ENBBRAxHXLgqNBDcQgQMR1iBd+bAHAxFtEO52jgQzENEG8e3E4UhgAxFtEI7RjgQVEv8FDhBgjNpIUCFR4AABldz/SFAhUeAAAYVDBuqGBBUS/wUOv0YQWeA9DhDQBuGZRPmT/z0OENAG8UELjgQVEgUOEPBfya06ABUSBQ4Q0IAkC2NI8F8hUeAAAT4TjQQVEgUOEPBfOA/Q4+BMAG0QPqRUVdnjAAH/bRBOHI4EFRIFDhDgxNFI8F8hUeCgYgCFM1YgUEAANz0O/xDQBuHEMZ2iPQ4Q0AbhQ0r/zZA9DhDQBuHEQcV6vgdQIfFf4AABhTPuH4cEFRIFDhDwb3M15gyHBBUSBQ4Q4AjUSPBfIVHgAAEeARNO2eMAAW0Q/04cpApwSFAhUeAAAX43rSIQ/xDRBvEWDo4EFRIFDhBgUdT/SFAhUeAAAYXzAD0OENAG8f/CAi69ABUC9oUBARZFYwV8SPBfIWBfGBBgWtBIUCFgXxgQ8O/m0khQIWBfGBDgmdRIUCHwb18YENCA7mIYENAG4cThSPBfIWBfGFIOYJXWSFAhUeDxQQvzD8cVEgUeH7Qw+aMuhgEBbRD/Thxu/gAVEgUeH7RQ5NnjAAH/bRBOHI4EFRIFHh+0QCmiPQ7/qRQQ4TPRSFAhUeDxQQvTDPvf4wABbRBOHNQM2eMAAW0Q/z6kVI/oYhgQ0AbxbAjkVXJI8F8hUeDxQQuka4JIUCFR4PFBC/MvjZD6E1AhUeDxQQuTP9vjAAH/bRBOHGMhhkhQIVHg8UELUzj73+PgUQFtEI7RBYc9DhDQBvHvxOFIUCFR4PFBCw+ABBUSBR7/H7RACZ0uhgEBbRBv4VApgj0O/xDQBvFBC44EFRIFHh+0MFJu+e+AARUSBR4ftFDk2eMAAW0Q/+52VBvZ4wABbRBOHNNjatQQ//aFAQG2Do0EFQL2hQEBNlf0n1znYhgQ0AbwQQsjrRDHPlFI8F8hYF8Yjhrg5tJIUCFgXxgQ8F84o2GALoYBAW0QH7RQ+XMuhvEPAW0QThzubBYQ0QbhxDFw9g8=' $Obj_Data = _WinAPI_Base64Decode($Obj_Data) If @error Then Return SetError(1, 0, 0) Local Const $bString = ASM_DecompressLZMAT($Obj_Data) If @error Then Return SetError(3, 0, 0) If $bSaveBinary Then Local Const $hFile = FileOpen($sSavePath & "\salvador-dali 800x800+.obj", 18) If @error Then Return SetError(2, 0, $bString) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Obj_Data Func _WinAPI_Base64Decode($sB64String) Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "") Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]") $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0) If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "") Return DllStructGetData($bBuffer, 1) EndFunc ;==>_WinAPI_Base64Decode Func ASM_DecompressLZMAT($Data) Local Const $MEM_COMMIT = 4096, $PAGE_EXECUTE_READWRITE = 64, $MEM_RELEASE = 32768 If @AutoItX64 Then Local $Code = "Ow4AAIkDwEiD7DhBudFM6cLNi+EQ+zAICBZEJCDPGgGeB8HoJg0Ch0TEOMPG2x5myFDSX8xDwQbKZkl4RXDBOwjpzQmOTEFXTlaOVc5UfjuCU0iB7KiAOYucJBBjARGJjMPwhCOUwvgseoTxwxgxuv8DQbjOEgQMREcIqCvZ6CKUDSmLhDM8RmgQQ28KtDuy7sCooKgyIAKHiM8/zsf/n42PAd/5tZiDTw+2Bojzi6dxtxbGikhH/8gPCUjn0CWGfzQbxwSDQYExwN28V3EwD4bwA6Roi1jGqQxFMe3HDlTcHzN/Z4K9mQpwQwUvIfnClDhcQBMuZ4BfQAiyEVASEeqQF/qvI9c8VvIZiek0TOgwQSgp7pCgToP+ZgP8ii8FixA7UP8OwXCfxoRLBh7z6MG7fPsJgf0+RAUZvgJPD0fxgMsIweoJDIl0JCh0yimB4ssxugyT0DnOCQ+PTgEeGfFBYDnpimBUDtwKjTMTN7KukhBAkdR7PHwFaEG8ATakmglYjXX/L0BZeIifJUGfdrIXjCLrK0vsmYHjQ2hCM3ibDAKDOTG0KNqqA731ssm2oY0JS8/gTWPZYUfgFB9mv/CZdcds/vUBjMK6Dgt3AgxFhfZ0t0ldjCO9zkyJ3gChDjoIdUieSyDGiLJYMQn/6xREIbaD6gHdOs116q8Zr8GyH9lZhajlkuLnCSptqC7HI6qeVDBSKck5EvpyIgYogAgkKHYKjADqweIHOdFyEA1CjRTtSwexwQ+DOIdrifqBao5BTI16+1DKGRD91IcKQAdMKQO8kKDDYc0G/OkNQ2AQuX7+qw4iB0U59DkEe+aBqPwCuWL0gIB8kv+gpOcDmWIUECWZ6ARgMxcfSY1XdyaDwOkTGohPCWtsjRROxpOpfniQYTPXi3JAPSIw1rpivrk3kBw5Rf4EUCyTQkjKpBZQAQdOyU7wDArrBJlhDosI38TugeaIgMEM6QlmAx/Q/uGT9xwUvjosgYPFAUw5ykH1lLMinB51y76mhGtqKCRpbeOCOMXpe/2q1GAJUIUBsZXBgZ8r+OQsjAiEHoVUDdGJMu8rKFSD/dVExQ+zOMn+BVPmSORHDYXNiwEmEQQFEIzWEjn1DQMFGQnKIuaL9igT9gmE/hsPJMpHyiRSOgLB4QQIDqoPDb1Mm1M0VXrldPjGQpKELDu8osGDfgVINy+RJCDeaVR2nFBmiC5w+CTQ/pFARI1FAZr7owPViJ0wscamAcmqAAkxBoyDIgJSAM6HElnI7S5RxlwEQ2RUdZuyuiaD4k2yKig5RzJ6dAuIESuElluxawJGjTw44h+FPT7CxsQQW14OX11BXFsIx28pw7JtgmRMAkTA+j+YayEMrTEk5wESgQhdPpQ4Ag2IRI2HozXx6cERJEnJTQJDzAFPiU3KPJkR6v5B5QwxOiFEJD4CmkzITnQ1GgwZEZi7q1nSEJncxaSzNCisDO5BweV4gynND1CWOjON6ZmIKjI9Z5oIlwrWmmVJTLA/aCYzBp6BYKr8YZMYICrumZCJhjwmYIMvZj8WkYE1i1QqIsM4i48CmLfSQHhq/KDfBO2EgYDlRzxzgM2TJYP8FhMJxSOt4KuIrUiBZ4hqAWr+nQkzEOjHLweIDiJGAaYLDBKE0X5n+/M9UljdpYM4xkHT/yIIA3gEqhEpfKH1BcZGzQ+SGVTEcgGFBNYB0vEq6ff2zq2yIpgtEjSVBInFMAsHc4m6KfP/oDnwdW/xMhZJbsdkGeeSC1TFGcqrXb6SNWWFb9y3UIQW6b/8VPRuQPeFWETnt7eguHqJmZjk6SHVVXTPF9I0xIXmZMfJ+U23q1G7BYdF/jUtI7P9OGT2SCXEg+GCOApk+ywuCCe/lM77fQf9f0ON5S2CnKJiKxnnyWM6TV8/ClF+4krULFnN61ihCok4waBmnZwoBsdAAoKpOASaFAESUbIwHQLpudb9B29W/I2EhIaB+guikE0BF4SWMYhO+0CDUAQ6c1aj6oyyJn1RBev2I+sQADIyg+kBQDpyE/91DCRQC57EBzrJxOjgGekm" $Code &= "5/o1kEQsAf7ChQJKEWf+KPU06QsjULCtlHGUMyrwiJMbCggKTje0+TgXdGmQGXisYu9BxgKaIwr4HApKAQw/fMgSArJnA8oeSdHJqVNxagiueGUCImaKKhdshPB5iEkCHQnGQAMYF+nk0TdpgoAK8OuH/JE5agKytTp0np6Md2oBNUARWlgo5ukqCBEPM8DqFFEU4sX7H0lHQRVGyjMdg+gB5l6gi9M1J/HokAOWAfx2ZkGJJMMQiQIWuiDb/YIUHMFqySVhq4Q/EoD5Ib0MLCkZJjioUnA8/SgzlwEgZ+l9+kmBIKC0SwEvhHYkd/kuc1LVL4gDxlvdTLhpnpUVrlgn0tgHBqF6VvdwlLTPoJJ25AaLKogBuFfhaNsouwhkkD30gC3PKfdMOUUXg6RCPEWE5GmqAgGJ34M5dDgBRS4MLEkU5osYwO0ICfUwg8MkMfbrGC6J3jNUMPudSzS61JpAOsDuDkQJ1uWIN6HSnU1B2MYJ/ggfdJxF1O1noN92jOjoIHOIFu14FBrh3UCvPDk0dbGeRUnrwDOA0IQkEmvC5TiHZDxswO9VBGiYGv/Q1z2Uv0e3v8aGuFuA7/qDMecDPuoC3f/PO4A1wZASAyFgkAEpOdKgg1TWthyYWinmP54MgPQ1rpzBR+OdCEYCHEO1BcMDOcaC9fR5oBo8GGDxgnnegRnF2iZt6RmJwkbrjn4p8qoMCSAYRQ6cvNeaxiJiGCSvOZAFRYXbkA70MXZ1sTmh0KG2oM9Bt5W+SEs/+hTR6rtEiKKLuvOtooQEl+AwB6Sx8Mb1KK6aJBq4YaVSQDXA6wSRHIq227VjhUtlKx3UBa18GgWXOfkOr+nyMcp0ZSdGEbZc1CMS4wQlSgtC30Omp/KB+1oPKnRQ9EQShmkMl24oN7gEjZ+pwxjrLDDTqDNh1hKn5n9lRwVE6bcp2xQSMVB1sGCmVDoaAtoCuIKBAW5VeSOErdLKzbsNjZ8RTZmcApMQdecB3HP+FAg/JJ+NmvzUTHOjIt7TkJgYBb9/EUQhUO/8PnQEJDQ/sBD4jRJdaLEkJ5wDdiOD7unrB7ILGRdBcdoxdoGIBEeLFBAsbWhG0TzMfyziHYvp8ajvXg6NsmoEqsjRi+nXKl+X0QMJB/nqHkS5Qo10HoCvOfFyf6I9r6rpHxgxHDB1vqaa+0OlDh2qtDIng0TpiGhjPsVSGmVkO6kF9olT69UaI5FKwyILSDvNuBQ4vvLDsAuJAjMxwB+4vj8769/2oQfYYkoFt3Qw+wqswICLAfaIoUIRAx3rvNQQBxe1VwyMzwbQlQD+/POqX2DDAA==" Else Local $Code = "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" $Code &= "/id8kUgoGcQx6d+KOQN0d42I71gbLXDqiaQjkCShGg8y0SwBdmp/IAxNAuyIAxEMjZ1rWqFq5KNJslERd1oWbQJAg8rwiFZAKkYDpA6gQ+m+0DV3jICU8LqooVCJssR4BJCC6UOvryGF5gG/funUP/0JA3VnuSrYwlk7kUyTCc7NZTuRQY/pjfmmZn0gdJowKggWDjLA6hRWhKlwjUclqiIz1Yh3mr816TY1iU36JAPdLd+EZAqzN5cUEPdH9UCZavcmEkP+bTBBCK9U0y2OyBEwBArp7/grkhiJkXCOQLEbRwGbJIJYoJJfEukL+jQ/zCX1IYgGYvT4RXnKmbLed054IOL8uUuTuCXnyU5ilktxoulxgIVVMe1XVr6hUVNskdyszpdIJyPGOOVSiG1pIYbi6yAG0ynROc7MVRS9jx6E21zTO1DWMd0xPhQyLB9UTYjeJPIdMURi0Bf3o+sqwFwnRTMl598XV8HjArXaiBHrRp5N62KZAwh0kNBkGWyJ6UbRRnnpe/EnhnmJS+Acg3HxM7I4FBd4GTXJgIvBhNIpdaZaY+uwS3YcS9KPjYaQLwySxhsUU9mpCbcMMSMxCctzEks9Mly+xH37cTEg2OuYNHP595luKIJo7gwaA8gSnmQBCnPv44nZLFY/nKHzHIjkTgfqgPLOrNVAr5mElhwKIeOpH/vyILUvgcMDOcFwo/TEF40UD9dmgsiNtD4LhgrIgcKDCusBKcrLagESEE+YKO3Rx/uywkNwazfLYRk7QfEQdmjNFjGJEEOga1EAFtt14YvSEyAa6cH+wpPL0euIlaSbvNO61pOm+vWAldmB4f9BB9nBbGdwr6+KhVGBoa+qHkTr26S1KYVLlz/gHY1UMwFKORTcDsSCL1p0gGx0dotUhCQcMsZtpKV3JnvTZSWB+6KvdGeE9BJGhgyVvLgJuASef6p+mI/pgqq1sZ8cCIjBFhTp0v2U99kWQMt/kWCyOIiDoOmbQll20GeGdZlTVCilAoSAobMBjPXP/Ir6OrfRwiViCcEiIZJYdA7SZioLVNR4txuNmhFZIKYCWxBUzhNp1TE/TQsKTDP8dR3hopA4XAUzgRSD4n+O9BEEhxwSf4nQEdU8qF+VJHQw2Ql2LBl9621xUcdEaoNTDVAbxgSj0Z49Fw6LKlL8xkZcC4kpdeUBgOme/FneaKTJKBJUgrBBBAqshOmg/ZknRdMQzx/UFFTVA4MkoEEdRn5FgYwyJwY4j0TpxJeA8aADdEgrY6fF2h6zJKgaDmVUcEoTTBGNFowTQYEw6Tmmi8XkMWVaJl8MLH8xxG/ry4yDt4CBw5E2CenFJCy4jUBF5CjfRDSJAx32vBi4Ajvr4e/ahQfamHtUBzH7geLAiyANDBLpsaFCAxHrvN0QQQe1V71NEoXJF0hFiQxpxhcDsuYJCPfHA5BaCqpSSQoAdfaJysHpAh7886sW0V23xqpfwwA=" EndIf Local $Opcode = String(_LZMAT_CodeDecompress($Code)) Local Const $_LZMAT_Compress = (StringInStr($Opcode, "89C0") + 1) / 2 Local Const $_LZMAT_Decompress = (StringInStr($Opcode, "89DB") + 1) / 2 $Opcode = Binary($Opcode) Local $_LZMAT_CodeBufferMemory = DllCall("kernel32.dll", "ptr", "VirtualAlloc", "ptr", 0, "ulong_ptr", BinaryLen($Opcode), "dword", $MEM_COMMIT, "dword", $PAGE_EXECUTE_READWRITE) $_LZMAT_CodeBufferMemory = $_LZMAT_CodeBufferMemory[0] Local Const $_LZMAT_CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]", $_LZMAT_CodeBufferMemory) DllStructSetData($_LZMAT_CodeBuffer, 1, $Opcode) Local Const $OutputLen = Int(BinaryMid($Data, 1, 4)) $Data = BinaryMid($Data, 5) Local Const $InputLen = BinaryLen($Data) Local Const $Input = DllStructCreate("byte[" & $InputLen & "]") DllStructSetData($Input, 1, $Data) Local Const $Output = DllStructCreate("byte[" & $OutputLen & "]") Local Const $Ret = DllCallAddress("uint", DllStructGetPtr($_LZMAT_CodeBuffer) + $_LZMAT_Decompress, "struct*", $Input, "uint", $InputLen, "struct*", $Output, "uint*", $OutputLen) DllCall("kernel32.dll", "bool", "VirtualFree", "ptr", $_LZMAT_CodeBufferMemory, "ulong_ptr", 0, "dword", $MEM_RELEASE) Return BinaryMid(DllStructGetData($Output, 1), 1, $Ret[4]) EndFunc ;==>ASM_DecompressLZMAT Func _LZMAT_CodeDecompress($Code) Local Const $MEM_COMMIT = 4096, $PAGE_EXECUTE_READWRITE = 64, $MEM_RELEASE = 32768 If @AutoItX64 Then Local $Opcode = "0x89C04150535657524889CE4889D7FCB28031DBA4B302E87500000073F631C9E86C000000731D31C0E8630000007324B302FFC1B010E85600000010C073F77544AAEBD3E85600000029D97510E84B000000EB2CACD1E8745711C9EB1D91FFC8C1E008ACE8340000003D007D0000730A80FC05730783F87F7704FFC1FFC141904489C0B301564889FE4829C6F3A45EEB8600D275078A1648FFC610D2C331C9FFC1E8EBFFFFFF11C9E8E4FFFFFF72F2C35A4829D7975F5E5B4158C389D24883EC08C70100000000C64104004883C408C389F64156415541544D89CC555756534C89C34883EC20410FB64104418800418B3183FE010F84AB00000073434863D24D89C54889CE488D3C114839FE0F84A50100000FB62E4883C601E8C601000083ED2B4080FD5077E2480FBEED0FB6042884C00FBED078D3C1E20241885500EB7383FE020F841C01000031C083FE03740F4883C4205B5E5F5D415C415D415EC34863D24D89C54889CE488D3C114839FE0F84CA0000000FB62E4883C601E86401000083ED2B4080FD5077E2480FBEED0FB6042884C078D683E03F410845004983C501E964FFFFFF4863D24D89C54889CE488D3C114839FE0F84E00000000FB62E4883C601E81D01000083ED2B4080FD5077E2480FBEED0FB6042884C00FBED078D389D04D8D7501C1E20483E03041885501C1F804410845004839FE747B0FB62E4883C601E8DD00000083ED2B4080FD5077E6480FBEED0FB6042884C00FBED078D789D0C1E2064D8D6E0183E03C41885601C1F8024108064839FE0F8536FFFFFF41C7042403000000410FB6450041884424044489E84883C42029D85B5E5F5D415C415D415EC34863D24889CE4D89C6488D3C114839FE758541C7042402000000410FB60641884424044489F04883C42029D85B5E5F5D415C415D415EC341C7042401000000410FB6450041884424044489E829D8E998FEFFFF41C7042400000000410FB6450041884424044489E829D8E97CFEFFFF56574889CF4889D64C89C1FCF3A45F5EC3E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFFFEFFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323358C3" Else Local $Opcode = "0x89C0608B7424248B7C2428FCB28031DBA4B302E86D00000073F631C9E864000000731C31C0E85B0000007323B30241B010E84F00000010C073F7753FAAEBD4E84D00000029D97510E842000000EB28ACD1E8744D11C9EB1C9148C1E008ACE82C0000003D007D0000730A80FC05730683F87F770241419589E8B3015689FE29C6F3A45EEB8E00D275058A164610D2C331C941E8EEFFFFFF11C9E8E7FFFFFF72F2C32B7C2428897C241C61C389D28B442404C70000000000C6400400C2100089F65557565383EC1C8B6C243C8B5424388B5C24308B7424340FB6450488028B550083FA010F84A1000000733F8B5424388D34338954240C39F30F848B0100000FB63B83C301E8CD0100008D57D580FA5077E50FBED20FB6041084C00FBED078D78B44240CC1E2028810EB6B83FA020F841201000031C083FA03740A83C41C5B5E5F5DC210008B4C24388D3433894C240C39F30F84CD0000000FB63B83C301E8740100008D57D580FA5077E50FBED20FB6041084C078DA8B54240C83E03F080283C2018954240CE96CFFFFFF8B4424388D34338944240C39F30F84D00000000FB63B83C301E82E0100008D57D580FA5077E50FBED20FB6141084D20FBEC278D78B4C240C89C283E230C1FA04C1E004081189CF83C70188410139F374750FB60383C3018844240CE8EC0000000FB654240C83EA2B80FA5077E00FBED20FB6141084D20FBEC278D289C283E23CC1FA02C1E006081739F38D57018954240C8847010F8533FFFFFFC74500030000008B4C240C0FB60188450489C82B44243883C41C5B5E5F5DC210008D34338B7C243839F3758BC74500020000000FB60788450489F82B44243883C41C5B5E5F5DC210008B54240CC74500010000000FB60288450489D02B442438E9B1FEFFFFC7450000000000EB9956578B7C240C8B7424108B4C241485C9742FFC83F9087227F7C7010000007402A449F7C702000000740566A583E90289CAC1E902F3A589D183E103F3A4EB02F3A45F5EC3E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFFFEFFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323358C3" EndIf Local Const $AP_Decompress = (StringInStr($Opcode, "89C0") - 3) / 2 Local Const $B64D_Init = (StringInStr($Opcode, "89D2") - 3) / 2 Local Const $B64D_DecodeData = (StringInStr($Opcode, "89F6") - 3) / 2 $Opcode = Binary($Opcode) Local $CodeBufferMemory = DllCall("kernel32.dll", "ptr", "VirtualAlloc", "ptr", 0, "ulong_ptr", BinaryLen($Opcode), "dword", $MEM_COMMIT, "dword", $PAGE_EXECUTE_READWRITE) $CodeBufferMemory = $CodeBufferMemory[0] Local Const $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]", $CodeBufferMemory) DllStructSetData($CodeBuffer, 1, $Opcode) Local Const $B64D_State = DllStructCreate("byte[16]") Local Const $Length = StringLen($Code) Local Const $Output = DllStructCreate("byte[" & $Length & "]") DllCallAddress("none", DllStructGetPtr($CodeBuffer) + $B64D_Init, "struct*", $B64D_State, "int", 0, "int", 0, "int", 0) DllCallAddress("int", DllStructGetPtr($CodeBuffer) + $B64D_DecodeData, "str", $Code, "uint", $Length, "struct*", $Output, "struct*", $B64D_State) Local Const $ResultLen = DllStructGetData(DllStructCreate("uint", DllStructGetPtr($Output)), 1) Local $Result = DllStructCreate("byte[" & ($ResultLen + 16) & "]"), $Ret If @AutoItX64 Then $Ret = DllCallAddress("uint", DllStructGetPtr($CodeBuffer) + $AP_Decompress, "ptr", DllStructGetPtr($Output) + 4, "struct*", $Result, "int", 0, "int", 0) Else $Ret = DllCall("user32.dll", "uint", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer) + $AP_Decompress, "ptr", DllStructGetPtr($Output) + 4, "ptr", DllStructGetPtr($Result), "int", 0, "int", 0) EndIf DllCall("kernel32.dll", "bool", "VirtualFree", "ptr", $CodeBufferMemory, "ulong_ptr", 0, "dword", $MEM_RELEASE) Return BinaryMid(DllStructGetData($Result, 1), 1, $Ret[0]) EndFunc ;==>_LZMAT_CodeDecompress
    1 point
  6. @rony2006 You are welcome. Probably you will not need the sheet activation anymore, but i suggest you to follow/consider Water suggestion [As you work with the Excel COM you need to add a COM error handler when running AutoIt > 3.3.12.0].
    1 point
  7. To me it seems the solution posted in #23 is the most elegant way to retrieve the last cell of each row.
    1 point
  8. Vexhero, That looks very similar to the code in your recently locked thread. When you read the Forum rules, as you were asked to do, did you miss this bit? M23
    1 point
  9. meomeo192, You have the data in an array, so use _ArraySearch on that array. M23
    1 point
  10. The UDF "_FileReadToArray" splits each line on all delimiters (,), including comas within quotes. This example uses a modified "_FileReadToArray" function copied from the include file, "..\AutoIt3\Include\File.au3". Within this "_FileReadToArrayModified" function the two "StringSplit" functions have be replaced with two "StringRegExp" functions to allow comas ($sDelimiter) within quotes not to be recognized as delimiters. ;#include <GUIConstantsEx.au3> ;#include <MsgBoxConstants.au3> ;#include <GUIListView.au3> #include <Array.au3> #include <File.au3> Global $CSV1 = '"Index","Name","Home Address","Last Love"' & @CRLF $CSV1 &= '"1","Rola Takizawa","N? hoàng, Nga Nh?t","24/04/2016 22:37:00 PM"' & @CRLF $CSV1 &= '"2","Saori Hara","Hình ?nh Nóng, Ð?c Nh?t","21/03/2016 21:07:00 PM"' & @CRLF $CSV1 &= '"3","Ozawa","ph? bi?n nh?t","23/04/2016 23:31:00 PM"' & @CRLF $CSV1 &= '"3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' & @CRLF Global $CSV2 = "Index,Name,Home Address,Last Love" & @CRLF $CSV2 &= "1,Takizawa,'N? hoàng, Nga Nh?t','24/04/2016 22:37:00 PM'" & @CRLF $CSV2 &= "2,'Saori Hara','Hình ?nh Nóng, Ð?c Nh?t','21/03/2016 21:07:00 PM'" & @CRLF $CSV2 &= "3,Ozawa,'ph? bi?n nh?t','23/04/2016 23:31:00 PM'" & @CRLF $CSV2 &= "3,'Akiho Ameri Ichinose','Kanagawa, Ameri, Ichinose','22/04/2016 21:50:00 PM'" & @CRLF ;Local $hOpen=FileOpen("CSV1.csv",128) If FileExists("CSV1.csv") = 0 Then FileWrite("CSV1.csv", $CSV1) ;FileClose($hOpen) ;Local $hOpen=FileOpen("CSV2.csv",128) If FileExists("CSV2.csv") = 0 Then FileWrite("CSV2.csv", $CSV2) ;FileClose($hOpen) Global $rArrayCSV1, $rArrayCSV2 $Array1 = _FileReadToArrayModified("CSV1.csv", $rArrayCSV1, 0, ",") ConsoleWrite($Array1 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV1) Local $Array2 = _FileReadToArrayModified("CSV2.csv", $rArrayCSV2, 0, ",") ConsoleWrite($Array2 & ' - ' & 'error = ' & @error & @CRLF) _ArrayDisplay($rArrayCSV2) ; Copied from #include <File.au3> and modified in 2 places. Func _FileReadToArrayModified($sFilePath, ByRef $vReturn, $iFlags = $FRTA_COUNT, $sDelimiter = "") ; Clear the previous contents $vReturn = 0 If $iFlags = Default Then $iFlags = $FRTA_COUNT If $sDelimiter = Default Then $sDelimiter = "" ; Set "array of arrays" flag Local $bExpand = True If BitAND($iFlags, $FRTA_INTARRAYS) Then $bExpand = False $iFlags -= $FRTA_INTARRAYS EndIf ; Set delimiter flag Local $iEntire = $STR_CHRSPLIT If BitAND($iFlags, $FRTA_ENTIRESPLIT) Then $iEntire = $STR_ENTIRESPLIT $iFlags -= $FRTA_ENTIRESPLIT EndIf ; Set row count and split count flags Local $iNoCount = 0 If $iFlags <> $FRTA_COUNT Then $iFlags = $FRTA_NOCOUNT $iNoCount = $STR_NOCOUNT EndIf ; Check delimiter If $sDelimiter Then ; Read file into an array Local $aLines = FileReadToArray($sFilePath) If @error Then Return SetError(@error, 0, 0) ; Get first dimension and add count if required Local $iDim_1 = UBound($aLines) + $iFlags ; Check type of return array If $bExpand Then ; All lines have same number of fields ; Count fields in first line Local $iDim_2 = UBound(StringSplit($aLines[0], $sDelimiter, $iEntire + $STR_NOCOUNT)) ; Size array Local $aTemp_Array[$iDim_1][$iDim_2] ; Declare the variables Local $iFields, _ $aSplit ; Loop through the lines For $i = 0 To $iDim_1 - $iFlags - 1 ; Split each line as required ;$aSplit = StringSplit($aLines[$i], $sDelimiter, $iEntire + $STR_NOCOUNT) ;########## Replaced previous line with next line ############# - Malkey $aSplit = StringRegExp($aLines[$i], '(["''][^"'']+["'']|[^' & $sDelimiter & ']+)' & $sDelimiter & '?\s*', 3) ; Count the items $iFields = UBound($aSplit) If $iFields <> $iDim_2 Then ; Return error Return SetError(3, 0, 0) EndIf ; Fill this line of the array For $j = 0 To $iFields - 1 $aTemp_Array[$i + $iFlags][$j] = $aSplit[$j] Next Next ; Check at least 2 columns If $iDim_2 < 2 Then Return SetError(4, 0, 0) ; Set dimension count If $iFlags Then $aTemp_Array[0][0] = $iDim_1 - $iFlags $aTemp_Array[0][1] = $iDim_2 EndIf Else ; Create "array of arrays" ; Size array Local $aTemp_Array[$iDim_1] ; Loop through the lines For $i = 0 To $iDim_1 - $iFlags - 1 ; Split each line as required ;$aTemp_Array[$i + $iFlags] = StringSplit($aLines[$i], $sDelimiter, $iEntire + $iNoCount) ;########## Replaced previous line with next line ############# - Malkey $aTemp_Array[$i + $iFlags] = StringRegExp($aLines[$i], '(["''][^"'']+["'']|[^' & $sDelimiter & ']+)' & $sDelimiter & '?\s*', 3) Next ; Set dimension count If $iFlags Then $aTemp_Array[0] = $iDim_1 - $iFlags EndIf EndIf ; Return the array $vReturn = $aTemp_Array Else ; 1D If $iFlags Then Local $hFileOpen = FileOpen($sFilePath, $FO_READ) If $hFileOpen = -1 Then Return SetError(1, 0, 0) Local $sFileRead = FileRead($hFileOpen) FileClose($hFileOpen) If StringLen($sFileRead) Then $vReturn = StringRegExp(@LF & $sFileRead, "(?|(\N+)\z|(\N*)(?:\R))", 3) ConsoleWrite("reg" & @LF) $vReturn[0] = UBound($vReturn) - 1 Else Return SetError(2, 0, 0) EndIf Else $vReturn = FileReadToArray($sFilePath) If @error Then $vReturn = 0 Return SetError(@error, 0, 0) EndIf EndIf EndIf Return 1 EndFunc ;==>_FileReadToArrayModified
    1 point
  11. Have you tried this? https://www.autoitscript.com/forum/topic/155748-csvsplit/ You need to read the CSV file using FileRead() as shown in post #8. #include <Array.au3> #include 'CSVSplit.au3' Local $sCSV1 = '"Index","Name","Home Address","Last Love"' & @CRLF & _ '"1","Rola Takizawa","Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM"' & @CRLF & _ '"2","Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM"' & @CRLF & _ '"3","Ozawa","phổ biến nhất","23/04/2016 23:31:00 PM"' & @CRLF & _ '"3","Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' Local $sCSV2 = 'Index,Name,Home Address,Last Love' & @CRLF & _ '1,Takizawa,"Nữ hoàng, Nga Nhật","24/04/2016 22:37:00 PM"' & @CRLF & _ '2,"Saori Hara","Hình Ảnh Nóng, Đức Nhật","21/03/2016 21:07:00 PM"' & @CRLF & _ '3,Ozawa,"phổ biến nhất","23/04/2016 23:31:00 PM"' & @CRLF & _ '3,"Akiho Ameri Ichinose","Kanagawa, Ameri, Ichinose","22/04/2016 21:50:00 PM"' Local $aArray1 = _CSVSplit($sCSV1) _ArrayDisplay($aArray1) Local $aArray2 = _CSVSplit($sCSV2) _ArrayDisplay($aArray2)
    1 point
  12. wakillon

    TinyShoutCastTuner

    Version 1.0.3.5

    508 downloads

    Listen Shoutcast Radios Stations with a station search engine by filters and an easy Favorites stations management.
    1 point
  13. wakillon

    Puzzle Game

    Version 1.0.1.4

    911 downloads

    Move Puzzle pieces where you want by drag&drop as a real puzzle.
    1 point
  14. Hi Guys, first of all i wanna thank you for this greate forum. I am a autoit newbie and leaned allready a lot (i belive) by reading this forum. Now i got to a strange problem. If i open a FileOpenDialoge befor using my sqlite connection. SQL will not find the DB table. (See first script) But if i comment the FileDialog it works fine and i get the result of my DB Table. Where is the mistake? Thx for your help. #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf local $DB_Main_MainDB = _SQLite_Open("Main_DB.db3") Local $hQuery,$aRow local $sql = "SELECT * FROM testscript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test) #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> local $sMessage ;-------------------------------------------------------------------------------------------- ;local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") ;----------------------------------------------------------------------------------------- global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf local $DB_Main_MainDB = _SQLite_Open("Main_DB.db3") Local $hQuery,$aRow local $sql = "SELECT * FROM testscript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test)
    1 point
  15. lNoVal, This line merely sets the @WorkingDir to its current content and so is completely superfluous: > FileChangeDir(@WorkingDir) What you need to do is something like this: Local $sWorkingDir = @WorkingDir ; Save current WorkingDir in a variable Global $glb_MAIN_DBname = $sWorkingDir & "\Main_DB.db3" local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") ; WorkingDir will now be changed FileChangeDir($sWorkingDir) ; So reset WorkingDir to the original saved path All clear? M23
    1 point
  16. Melba23 your the best Here is the working code if someone has the same Problem.. #include <Array.au3> #include <SQLite.au3> #include <SQLite.dll.au3> Global $glb_MAIN_DBname = @WorkingDir&"\Main_DB.db3" local $sMessage local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\" , "All (*.*)") FileChangeDir(@WorkingDir) global $sSQliteDll = _SQLite_Startup("SQLite3.dll") If @error Then MsgBox($MB_SYSTEMMODAL, "SQLite Error", "SQLite3.dll Can't be Loaded!" & @CRLF & @CRLF & _ "Not FOUND in @SystemDir, @WindowsDir, @ScriptDir, @WorkingDir or from www.autoitscript.com") Exit -1 EndIf ;msgbox(0,0,$glb_MAIN_DBname) local $DB_Main_MainDB = _SQLite_Open($glb_MAIN_DBname) Local $hQuery,$aRow local $sql = "SELECT * FROM amis_testcasescript" _SQLite_Query($DB_Main_MainDB, $sql,$hQuery) dim $test While _SQLite_FetchData($hQuery, $aRow) = $SQLITE_OK $test = $arow[0] wEnd msgbox (0,0,$test)
    1 point
  17. lNoVal, A successful return from FileOpenDialog resets the @WorkingDir to the path of the returned file. I imagine that the _SQLite_Open cannot then find the database file as it is looking in the wrong place. > Try passing the full path, or reset the path with FileChangeDir. M23 Edit: And welcome to the AutoIt forums.
    1 point
  18. TinyShoutCastTuner v1.0.3.5 Based on the >LiveStreaming source code of trancexx. Listen Shoutcast Radios Stations with a station search engine by filters and an easy Favorites stations management. Thanks to monoceres, trancexx, Kip and Prog@ndy for AutoItObject. >AutoItObject 1.2.2.0 and >WinAPIEx are needed. As usual externals skin files are downloaded at first execution. See Tray Menu for more options. Search is a bit slow but successfull... Previous Downloads : 436 Update of 2012-11-05 source and executable are available in the Download Section Some Radios : FavoritesRadioStations.reg Hope you like it !
    1 point
  19. ivan, As far as I know these are the only coloured SciTE console lines: ConsoleWrite('! = Bold Red' & @LF) ConsoleWrite('> = Blue' & @LF) ConsoleWrite('- = Orange' & @LF) ConsoleWrite('+ = Green' & @LF) ConsoleWrite('(5) : = Red (jump to line 5 when double-clicked)' & @LF) ConsoleWrite('Start with String or Integer then ' & @TAB & '6' & ' = Pink (jump to line 6 when double-clicked)' & @LF) ConsoleWrite('(' & @ScriptLineNumber & ') : = Red (jump to line ' & @ScriptLineNumber & ' when double-clicked)' & @CRLF) M23
    1 point
  20. Jayson, I was only looking to integrate the "label edit" code into your script. I did not change at anything else in the script. Did the ini file load with the code you posted above? If so, there is no reason for it not too now. I will look into your other problem now. M23 Edit: Change your AjouterInfo function to this - I missed it last time round : Func AjouterInfo() $LisVille = GUICtrlRead($Ville) $LisNom = GUICtrlRead($Nom) $LisTelephone = GUICtrlRead($Telephone) $RegardeVille = _GUICtrlListView_FindText($NVT, $LisVille) $RegardeNom = _GUICtrlListView_FindInText($NVT, $LisNom) If $LisVille = "" Then MsgBox(64, "Erreur !", "Désolé, vous avez oubliez d'inscrire une ville !") Else If $LisNom = "" Then MsgBox(48, "Erreur !", "Désolé, vous avez oublié d'inscrire un nom !") Else If StringLen($LisTelephone) > 14 Then MsgBox(48, "Erreur !", "Désolé, le numéro de téléphone que vous avez entrer est trop long !") Else If StringLen($LisTelephone) < 14 Then MsgBox(48, "Erreur !", "Désolé, le numéro de téléphone que vous avez entrer est trop court !") Else $iIndex = _GUICtrlListView_GetItemCount($NVT) - 1 ; <<<<<<<<<<<<<<<<<<<<<<<<<<< If $iIndex = -1 Then $iIndex = 0 ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddItem($NVT, $LisVille, $i) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddSubItem($NVT, $i, $LisNom, 1) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< _GUICtrlListView_AddSubItem($NVT, $i, $LisTelephone, 2) ; <<<<<<<<<<<<<<<<<<<<<<<<<<< GUICtrlSetData($Ville, "") GUICtrlSetData($Nom, "") GUICtrlSetData($Telephone, "") EndIf EndIf EndIf EndIf EndFunc ;==>AjouterInfoWhat luck in getting the ini file to load? M23
    1 point
  21. supersonic, Just run a loop from the first ControlID to the last: #include <GUIConstantsEx.au3> $hGUI = GUICreate("Test", 500, 500) $iStart = GUICtrlCreateDummy() GUICtrlCreateButton("Press", 10, 10, 80, 30) GUICtrlCreateButton("Press", 10, 50, 80, 30) GUICtrlCreateButton("Press", 10, 90, 80, 30) GUICtrlCreateButton("Press", 10, 130, 80, 30) GUICtrlCreateButton("Press", 10, 170, 80, 30) GUICtrlCreateButton("Press", 10, 210, 80, 30) $iEnd = GUICtrlCreateDummy() GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $iStart To $iEnd For $i = $iStart To $iEnd GUICtrlSetState($i, $GUI_DISABLE) Next EndSwitch WEndOf course if you have stored the controlIDs of your first and last controls, you can use those rather than the Dummy IDs. But please read this post where I explain how ControlIDs work and why using them in loops can be problematic. The earlier code in the same topic shows similar loops using ControlIds to the one above. I hope that helps. M23
    1 point
  22. name15, When you post here it always helps if you have had a go at solving your problems beforehand. Having some code to work on is a great help - and no-one here is too keen to help the "code it for me" brigade. To do what you want, you need to trap the NM_DBLCLK message from the TreeView. Why not try yourself - there are lots of examples on the forums if you search. If you get stuck...... M23
    1 point
×
×
  • Create New...