;------------- proactive defense --------------

[Behavior_Blocking2]
props=$Task_Panel
State=[Task_Header]
Body=[Behavior_Blocking2_Body]

[Behavior_Blocking2_Body]
props=$Task_Body
Description=[Task_Description]
Status=[Behavior_Blocking2_Status]
Statistics=[Behavior_Blocking2_Statistics]

[Behavior_Blocking2_Status]
props       = $Task_Settings
Status      = $Task_Statistics_Item                    v($(state,ProfileState))                                  f($(state,SubProfileStateFont)) text($Behavior_Monitor)
StatusBB2   = $Task_Statistics_ItemAttr at(nobindhide) v($(pdm2.enabled,SubComponentState_pdm2,SubProfileState)) f($(pdm2.enabled,SubComponentActiveState_pdm2,SubProfileStateFont))
StatusRG2   = $Task_Statistics_ItemAttr at(nobindhide) v($(regguard2.enabled,SubComponentState_regguard2,SubProfileState)) f($(regguard2.enabled,SubComponentActiveState_regguard2,SubProfileStateFont))

[Behavior_Blocking2_Statistics]
props       = $Task_Statistics
PDM2Scaned  = $Task_Statistics_ItemAttr at(nobindhide) v($(pdm2.nTreats))			f($(pdm2.$ProfileActiveStateFont))
PDM2Blocked = $Task_Statistics_ItemAttr at(nobindhide) v($(pdm2.nTreatsBlocked))	f($(pdm2.$ProfileActiveStateFont))

;------------- SettingsWindow.Behavior_Blocking2 -----------

[SettingsWindow.Behavior_Blocking2]
props=$SettingsViewPanel h(1093)
Header=$SettingsViewHeader i(pdm)
Body=[SettingsWindow.Behavior_Blocking2_Body]

[SettingsWindow.Behavior_Blocking2_Body]
props=$SettingsBodyAttr
Startup=[SettingsViewStartup]
StartupGroup=[SettingsViewStartup_Group]
BB2Group=[BB2_Group]
RG2Group=[RG2_Group]

[BB2_Group]
props=$SettingsGroupNext sz(p,a) at(nobindhide) disable($(enabled,EnableIfNotZero)) lb(v($(pdm2.state,fld(enabled,Set))))
BB_Ico=a(lt) i(application)
BB_Enable=$Checkbox xy(40) v($(pdm2.enabled)) tt($(pdm2.enabled,PDM_Group_PDM_Enable))
PDM2_Settings=$Button_Large a(ra) xy(0,3) v(dialog:) disable($(pdm2.enabled,EnableIfNotZero))

[RG2_Group]
props=$SettingsGroupNext sz(p,a) at(nobindhide) disable($(enabled,EnableIfNotZero)) lb(v($(regguard2.state,fld(enabled,Set))))
REG2_Ico=a(lt) i(regedit)
REG2_Enable=$Checkbox xy(40) v($(regguard2.enabled))	tt($(regguard2.enabled,REG_Group_REG_Enable))
REG2_Settings=$Button_Large a(ra) xy(0,3) v(dialog:) disable($(regguard2.enabled,EnableIfNotZero))

;------------- SettingsWindow.Behavior_Blocking2.PDM2_Settings -----------

[SettingsWindow.Behavior_Blocking2.PDM2_Settings]
props=$DlgAttr sz(400,240,450,295) at(resizable,dragable) v(pdm2) h(1094)
Body=[PDM2_Settings_Body]

[PDM2_Settings_Body]
props=$DlgBodyAttr
Settings=[PDM2_Common_Settings] a(lb)
Rule=t(richedit) alias(listitemdescr) a(lp) xy(,,,7) sz(p,50) at(readonly,nofocus,vscroll)
TreatList=[PDM2_Settings_Body.TreatList] a(lp)

[PDM2_Common_Settings]
props=$GroupBox mg(8,8) sz(p,a)
WatchSystemAccount = $Checkbox $First_Control at(nobindhide) v($(bWatchSystemAccount))

[PDM2_Settings_Body.TreatList]
props  = t(list) alias(vector.PDM2FakeList) sz(p,p)
Event  = sz(p,60) v(i(error)$SuspiciousActivity)
Action = sz(120)  v($(Action,PDM2Action))
Log    = v($(bLog,OnOff))

;------------- SettingsWindow.Behavior_Blocking2.REG2_Settings -----------

[SettingsWindow.Behavior_Blocking2.REG2_Settings]
props=$DlgAttr sz(350,250) at(resizable) v(regguard2) h(1099)
REG2SettingsGroup=[REG2Settings_Group]

[REG2Settings_Group]
props     = $DlgBodyAttr
Info      = a(lt)
RegList   = [REG2Settings_Group.RegList]
Add       = $Button a(rs) xy(,,,$Button_Shift)
Edit      = $Button a(ra) xy(,,,$Button_Shift)
Delete    = $Button a(ra) xy(,,,$Button_Shift)
MoveDown  = $Button a(rb) xy(,,,$Button_Shift)
MoveUp    = $Button a(rp) xy(,,,$Button_Shift)

[REG2Settings_Group.RegList]
props=t(list) alias(vector.CRegGroupEntry) sz(p,p) xy(,,$ButtonsLineSizeX) a(la) at(singlesel,sorted,checked) v($(vGroupList))
RegGroup=sz(p,65)v($(GroupName),$(bEnabled)) 
KeysCnt=sz(p,17)v($(vKeyList,size))
RulesCnt=sz(p,17)v($(vAppList,size))

;------------- SettingsWindow.Behavior_Blocking2.REG2_Settings.Edit -----------

[SettingsWindow.Behavior_Blocking2.REG2_Settings.Edit]
props=$DlgAttr at(resizable) sz(250,355,500,400)
Dlg=[SettingsWindow.Behavior_Blocking2.REG2_Settings.Edit.Dlg]

[SettingsWindow.Behavior_Blocking2.REG2_Settings.Edit.Dlg]
props=$DlgBodyAttr
GroupName= a(lt) xy(5,3)
GroupNameEdit=t(edit) a(as) sz(p) xy(5,-2) v($(GroupName))
Tab=[REG2_GroupEdit_Tab]

[REG2_GroupEdit_Tab]
props=$Tab sz(p,p) $Next_Control
GroupKeys=[REG2_GroupKeys_Page] h(1100)
GroupRules=[REG2_GroupRules_Page] h(1101)

;------------- REG2_GroupKeys_Page -----------

[REG2_GroupKeys_Page]
props    = sz(p,p) mg(7,7) bg(GroupBody)
Add      = $Button a(rt) xy(,,,$Button_Shift)
Edit     = $Button a(ra) xy(,,,$Button_Shift)
Delete   = $Button a(ra) xy(,,,$Button_Shift)
KeysList = [REG2_GroupKeys_Page.KeysList]

[REG2_GroupKeys_Page.KeysList]
props=t(list) alias(vector.CRegKeyEntry) sz(p,p) at(sorted,singlesel,checked) v($(vKeyList)) xy(,,80)
KeyName=sz(250)v($(KeyWildcard)$(bRecursive,RegKeysIcon),$(bEnabled))
KeyValue=sz(100)v($(ValueWildcard))

;------------- REG2_GroupRules_Page -----------

[REG2_GroupRules_Page]
props     = sz(p,p) mg(7,7) bg(GroupBody)
Rule      = t(richedit) alias(listitemdescr) a(lb) sz(p,100) at(readonly,nofocus,vscroll)
RulesList = [REG2_GroupRules_Page.RulesList]
Add       = $Button a(rt) xy(,,,$Button_Shift)
Delete    = $Button a(ra) xy(,,,$Button_Shift)
MoveUp    = $Button a(ra) xy(,10,,$Button_Shift)
MoveDown  = $Button a(ra) xy(,,,$Button_Shift)

[REG2_GroupRules_Page.RulesList]
props=t(list) a(lp) alias(vector.CRegAppEntry) sz(p,p) at(sorted,checked) v($(vAppList)) xy(,7,80)
AppClmn=sz(200)v($(ApplicationExeWildcard)$(ApplicationExeWildcard,moduleiconasync),$(bEnabled))
ReadClmn=sz(50)v($(ActionOnRead,RG2RulesAction))
EditClmn=sz(50)v($(ActionOnWrite,RG2RulesAction))
DeleteClmn=sz(50)v($(ActionOnDelete,RG2RulesAction))

;------------- PDM2_ProcInfo -----------
[PDM2_ProcInfo]
props=$DlgAttr sz(300,400,400,400) h(1325) at(resizable,dragable,a_close)
Body=[PDM2_ProcInfo.Body]

[PDM2_ProcInfo.Body]
props=$DlgBodyAttr
ProcessInfo=[PDM2_ProcInfo.ProcessInfo]
ParentProcessInfo=[PDM2_ProcInfo.ParentProcessInfo]
ChildProcessInfo=[PDM2_ProcInfo.ChildProcessInfo]
$RightValue=t(edit) at(readonly,noborder,compress,ralign) a(as) xy(10) sz(p)

[PDM2_ProcInfo.ProcessInfo]
props=$SettingsGroupFirst sz(p,a)
Object_Label=a(la) text($Process (PID: $(CurrentProcess.ProcessId)):)
ObjectName=t(edit) a(as) xy(10) sz(p) at(readonly,noborder,compresspath,ralign) text($(CurrentProcess.ImagePath))
Cmd_Label=a(la) text($CommandLine:)
CommandLine=$RightValue v($(CurrentProcess.ImagePath))
StartTime_Label=a(la) text($StartTime:)
StartTime=$RightValue v($(CurrentProcess.StartTime,datetime))
StopTime_Label=a(la) text($StopTime:) 							hide($(CurrentProcess.StopTime,ShowIfNotZero))
StopTime=$RightValue v($(CurrentProcess.StopTime,datetime))		hide($(CurrentProcess.StopTime,ShowIfNotZero))
Version_Label=a(la) text($Version:)								hide($(CurrentProcess.Version,ShowIfNotZero))
Version=$RightValue v($(CurrentProcess.Version))				hide($(CurrentProcess.Version,ShowIfNotZero))
Vendor_Label=a(la) text($Vendor:) 								hide($(CurrentProcess.Vendor,ShowIfNotZero))
Vendor=$RightValue v($(CurrentProcess.Vendor))					hide($(CurrentProcess.Vendor,ShowIfNotZero))
Description_Label=a(la) text($Description:)						hide($(CurrentProcess.Description,ShowIfNotZero))
Description=$RightValue v($(CurrentProcess.Description)) 		hide($(CurrentProcess.Description,ShowIfNotZero))

[PDM2_ProcInfo.ParentProcessInfo]
props=$SettingsGroupNext sz(p,a)
Object_Label=a(la) text($Process (PID: $(ParentProcess.ProcessId)):)
ObjectName=t(edit) a(as) xy(10) sz(p) at(readonly,noborder,compresspath,ralign) text($(ParentProcess.ImagePath))
Cmd_Label=a(la) text($CommandLine:)
CommandLine=$RightValue v($(ParentProcess.ImagePath))
StartTime_Label=a(la) text($StartTime:)
StartTime=$RightValue v($(ParentProcess.StartTime,datetime))
StopTime_Label=a(la) text($StopTime:) 							hide($(ParentProcess.StopTime,ShowIfNotZero))
StopTime=$RightValue v($(ParentProcess.StopTime,datetime))		hide($(ParentProcess.StopTime,ShowIfNotZero))
Version_Label=a(la) text($Version:)								hide($(ParentProcess.Version,ShowIfNotZero))
Version=$RightValue v($(ParentProcess.Version))					hide($(ParentProcess.Version,ShowIfNotZero))
Vendor_Label=a(la) text($Vendor:) 								hide($(ParentProcess.Vendor,ShowIfNotZero))
Vendor=$RightValue v($(ParentProcess.Vendor))					hide($(ParentProcess.Vendor,ShowIfNotZero))
Description_Label=a(la) text($Description:)						hide($(ParentProcess.Description,ShowIfNotZero))
Description=$RightValue v($(ParentProcess.Description)) 		hide($(ParentProcess.Description,ShowIfNotZero))

[PDM2_ProcInfo.ChildProcessInfo]
props=$SettingsGroupNext sz(p,p)
List=[PDM2_ProcInfo.ChildProcessList]

[PDM2_ProcInfo.ChildProcessList]
props=t(list) alias(vector) at(singlesel,sorted) sz(p,p) v($(ChildProcList))
App=sz(100) text($Process) v($(ImagePath,objfile) ($(ProcessId)))
StartTime=sz(50) text($StartTime) v($(StartTime,datetime))
StopTime=sz(50) text($StopTime) v($(StopTime,datetime))
Vendor=sz(50) text($Vendor) v($(Vendor))
Description=sz(50) text($Description) v($(Description))


;------------- Report -----------

[Report_Body.StatisticsLeft.bb2]
props=$StatLeft
PDMScaned=at(nobindhide) a(lt) $StatValLeft v($(pdm2.nProcessedEvents))
PDMBlocked=at(nobindhide) a(la) $StatValLeft v($(pdm2.nTreatsBlocked))

[Report_Body.ReportDetails.bb2]
props=$Tab $ReportDetails
Threats=[Task_Report_Detected]
EventsPDM=[PDM2_Report] at(nobindhide) h(1103)
EventsRG=[RG2_Report] at(nobindhide) hide($(ShowRegGuard,env,ShowIfNotZero)) h(1105)

[PDM2_Report]
ReportSelector=$ReportSelector
Actions=$ReportActions
EventsLog=[PDM2_Report.EventsLog] a(lp) sz(p,p)

[PDM2_Report.EventsLog]
props=t(list) at(sorted,autoscroll) alias(taskreport) v(pdm2.eventlog,pdm2.eventcritlog)
ReportTime=sz(135)v($(ReportTime,datetime)$(Action,PDM2_Status)) at(index)
ObjectName=sz(p,50)v($(CurrentProcess.ImagePath))
ObjectEvent=sz(p,40)v($(Action,PDM2_ReportAction))

[PDM2_Report.EventsLog.menu]
props         = t(menu)
Separator     = t(menuitem)
ReportCleanup = t(menuitem)

[RG2_Report]
Actions=$ReportActions
EventsLog=[RG2_Report.EventsLog] a(lp) sz(p,p)

[RG2_Report.EventsLog]
props=t(list) at(sorted,autoscroll) alias(taskreport) sz(p,p) v(regguard2.eventlog)
ReportTime=sz(135)v($(ReportTime,datetime)) at(index)
App=v($(ObjectName))
KeyName=v($(strKeyName))
ValueName=v($(strValueName,REG_ValueName))
Data=v($(Value,reg_data))
Type=v($(ValueType,REG_DataTypes))
RegOpType=v($(RegOpType,RG2_OpType))
ObjectStatus=v($(ResultAction,AskAction_AllowDeny))

[RG2_Report.EventsLog.menu]
props         = t(menu)
Separator     = t(menuitem)
ReportCleanup = t(menuitem)
