|
Home >
Enterprise >
Participants >
Bitdefender >
Results
|
|
Procedure
Used unicode right-to-left override (RTLO) character to obfuscate file name rcs.3aka3.doc (originally cod.3aka.scr)
Criteria
Evidence of the right-to-left override character (U+202E) in the rcs.3aka.doc process OR the original filename (cod.3aka.scr)
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Used RC4 stream cipher to encrypt C2 (<IP_ADDRESS>) traffic
Criteria
Evidence that the network data sent over the C2 channel is encrypted
Procedure
Modified the Registry to enable COM hijacking of sdclt.exe using PowerShell
Criteria
Addition of the DelegateExecute subkey in HKCU\Software\Classes\Folder\shell\open\command
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Executed elevated PowerShell payload
Criteria
High integrity powershell.exe spawning from control.exe (spawned from sdclt.exe)
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Modified the Registry to remove artifacts of COM hijacking
Criteria
Deletion of of the HKCU\Software\Classes\Folder\shell\Open\command subkey
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated current running processes using PowerShell
Criteria
powershell.exe executing Get-Process
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated user's temporary directory path using PowerShell
Criteria
powershell.exe executing $env:TEMP
Procedure
Enumerated the current username using PowerShell
Criteria
powershell.exe executing $env:USERNAME
Procedure
Enumerated the computer hostname using PowerShell
Criteria
powershell.exe executing $env:COMPUTERNAME
Procedure
Enumerated the current domain name using PowerShell
Criteria
powershell.exe executing $env:USERDOMAIN
Procedure
Enumerated the OS version using PowerShell
Criteria
powershell.exe executing Gwmi Win32_OperatingSystem
Procedure
Enumerated anti-virus software using PowerShell
Criteria
powershell.exe executing Get-WmiObject ... -Class AntiVirusProduct
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated firewall software using PowerShell
Criteria
powershell.exe executing Get-WmiObject ... -Class FireWallProduct
Procedure
Enumerated user's domain group membership via the NetUserGetGroups API
Criteria
powershell.exe executing the NetUserGetGroups API
Procedure
Executed API call by reflectively loading Netapi32.dll
Criteria
The NetUserGetGroups API function loaded into powershell.exe from Netapi32.dll
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Enumerated user's local group membership via the NetUserGetLocalGroups API
Criteria
powershell.exe executing the NetUserGetLocalGroups API
Procedure
Executed API call by reflectively loading Netapi32.dll
Criteria
The NetUserGetLocalGroups API function loaded into powershelle.exe from Netapi32.dll
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Created a new service (javamtsup) that executes a service binary (javamtsup.exe) at system startup
Criteria
powershell.exe creating the Javamtsup service
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Read the Chrome SQL database file to extract encrypted credentials
Criteria
accesschk.exe reading files within %APPDATALOCAL%\Google\chrome\user data\default\
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Executed the CryptUnprotectedData API call to decrypt Chrome passwords
Criteria
accesschk.exe executing the CryptUnprotectedData API
Procedure
Captured and saved screenshots using PowerShell
Criteria
powershell.exe executing the CopyFromScreen function from System.Drawing.dll
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Captured and saved screenshots using PowerShell
Criteria
powershell.exe executing the CopyFromScreen function from System.Drawing.dll
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Captured clipboard contents using PowerShell
Criteria
powershell.exe executing Get-Clipboard
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Read data in the user's Downloads directory using PowerShell
Criteria
powershell.exe reading files in C:\Users\pam\Downloads\
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Compressed data from the user's Downloads directory into a ZIP file (OfficeSupplies.7z) using PowerShell
Criteria
powershell.exe creating the file OfficeSupplies.7z
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Encrypted data from the user's Downloads directory using PowerShell
Criteria
powershell.exe executing Compress-7Zip with the password argument used for encryption
Procedure
Exfiltrated collection (OfficeSupplies.7z) to WebDAV network share using PowerShell
Criteria
powershell executing Copy-Item pointing to an attack-controlled WebDav network share (<IP_ADDRESS>:80)
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Exfiltrated collection (OfficeSupplies.7z) to WebDAV network share using PowerShell
Criteria
powershell executing Copy-Item pointing to an attack-controlled WebDav network share (<IP_ADDRESS>:80)
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated remote systems using LDAP queries
Criteria
powershell.exe making LDAP queries over port 389 to the Domain Controller (<IP_ADDRESS>)
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Logged on to remote host Scranton (<IP_ADDRESS>) using valid credentials for user Pam
Criteria
Successful logon as user Pam on Scranton (<IP_ADDRESS>)
Procedure
Searched filesystem for document and media files using PowerShell
Criteria
powershell.exe executing (Get-)ChildItem
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Recursively collected files found in C:\Users\Pam\ using PowerShell
Criteria
powershell.exe reading files in C:\Users\Pam\
Procedure
Read and downloaded ZIP (working.zip on Desktop) over C2 channel (<IP_ADDRESS> over TCP port 8443)
Criteria
python.exe reading the file working.zip while connected to the C2 channel
Footnotes
- The logic for this detection was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Deleted SDelete on disk using cmd.exe del command
Criteria
cmd.exe deleting the file sdelete64.exe
Procedure
Executed persistent service (javamtsup) on system startup
Criteria
javamtsup.exe spawning from services.exe
Procedure
Executed LNK payload (hostui.lnk) in Startup Folder on user login
Criteria
Evidence that the file hostui.lnk (which executes hostui.bat as a byproduct) was executed from the Startup Folder
Procedure
Checked that the BIOS version and serial number are not associated with VirtualBox or VMware using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_BIOS
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Checked that the BIOS version and serial number are not associated with VirtualBox or VMware using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_BIOS
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated computer manufacturer, model, and version information using PowerShell
Criteria
powershell.exe executing a Get-WmiObject gwmi queries for Win32_BIOS and Win32_ComputerSystem
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated computer manufacturer, model, and version information using PowerShell
Criteria
powershell.exe executing a Get-WmiObject gwmi queries for Win32_BIOS and Win32_ComputerSystem
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated devices/adapters to check for presence of VirtualBox driver(s) using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_PnPEntity
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated devices/adapters to check for presence of VirtualBox driver(s) using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_PnPEntity
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Checked that the username is not related to admin or a generic value (ex: user) using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_ComputerSystem
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Checked that the computer is joined to a domain using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_ComputerSystem
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Checked that processes such as procexp.exe, taskmgr.exe, or wireshark.exe are not running using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for Win32_Process
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Checked that the payload is not inside a folder path that contains "sample" or is the length of a hash value using PowerShell
Criteria
powershell.exe executing (Get-Item -Path ".\" -Verbose).FullName
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Established Registry Run key persistence using PowerShell
Criteria
Addition of the Webcache subkey in HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated the System32 directory using PowerShell
Criteria
powershell.exe executing (gci ((gci env:windir).Value + '\system32')
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Modified the time attributes of the kxwn.lock persistence payload using PowerShell
Criteria
powershell.exe modifying the creation, last access, and last write times of kxwn.lock
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Enumerated registered AV products using PowerShell
Criteria
powershell.exe executing a Get-WmiObject query for AntiVirusProduct
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated installed software via the Registry (Wow6432 Uninstall key) using PowerShell
Criteria
powershell.exe executing a Registry query for HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated installed software via the Registry (Uninstall key) using PowerShell
Criteria
powershell.exe executing a Registry query for HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Enumerated the computer name using the GetComputerNameEx API
Criteria
powershell.exe executing the GetComputerNameEx API
Procedure
Enumerated the current username using the GetUserNameEx API
Criteria
powershell.exe executing the GetUserNameEx API
Procedure
Enumerated running processes using the CreateToolhelp32Snapshot API
Criteria
powershell.exe executing the CreateToolhelp32Snapshot API
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Created and executed a WMI class using PowerShell
Criteria
WMI Process (WmiPrvSE.exe) executing powershell.exe
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Enumerated and tracked PowerShell processes using PowerShell
Criteria
powershell.exe executing Get-Process
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Encoded and wrote Mimikatz output to a WMI class property using PowerShell
Criteria
powershell.exe executing Set-WmiInstance
Procedure
Enumerated logged on users using PowerShell
Criteria
powershell.exe executing $env:UserName
Procedure
Enumerated the domain controller host NewYork (<IP_ADDRESS>) using LDAP queries
Criteria
powershell.exe making LDAP queries over port 389 via functions from System.DirectoryServices.dll
Procedure
Enumerated the domain SID (from current user SID) using the ConvertSidToStringSid API
Criteria
powershell.exe executing the ConvertSidToStringSid API
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Executed the ConvertSidToStringSid API call by reflectively loading Advapi32.dll
Criteria
powershell.exe executing the ConvertSidToStringSid API function by loading Advapi32.dll
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Logged on to the domain controller host NewYork (<IP_ADDRESS>) using valid credentials for user MScott
Criteria
Successful logon as user MScott on NewYork (<IP_ADDRESS>)
Procedure
Read and collected a local file using PowerShell
Criteria
powershell.exe reading the file MITRE-ATTACK-EVALS.HTML
Procedure
Staged collected file into directory using PowerShell
Criteria
powershell.exe creating the file \WindowsParentalControlMigration\MITRE-ATTACK-EVALS.HTML
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Exfiltrated staged collection to an online OneDrive account using PowerShell
Criteria
powershell.exe executing Copy-Item pointing to drive mapped to an attack-controlled OneDrive account
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
Procedure
Executed Run key persistence payload on user login using RunDll32
Criteria
rundll32.exe executing kxwn.lock
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Executed WMI persistence on user login
Criteria
The WMI process (wmiprvse.exe) executing powershell.exe
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Created Kerberos Golden Ticket using Invoke-Mimikatz
Criteria
powershell.exe executing Invoke-Mimikatz with command-line arguments to create a golden ticket
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Procedure
Created Kerberos Golden Ticket using Invoke-Mimikatz
Criteria
powershell.exe executing Invoke-Mimikatz with command-line arguments to create a golden ticket
Footnotes
- PowerShell script block logging was enabled after the start of the evaluation so the detection is identified as a Detection Configuration Change.
[2]
Procedure
Established a WinRM connection to the remote host Scranton (<IP_ADDRESS>) using the Golden Ticket as credentials
Criteria
Network connection to Scranton (<IP_ADDRESS>) over port 5985
Footnotes
- Though no image was captured, MITRE confirmed that the vendor has the capability to show available telemetry in a separate view.
Criteria
fodhelper.exe spawns cmd.exe as a high-integrity process (note: Due to the configuration of the environment, the adversary's process was high by default. This sub-step was evaluated based on the criteria of detecting data related to process integrity level as well as the executed mechanics of the UAC bypass)
Data Sources
- Windows Registry
- Process Monitoring
Criteria
fodhelper.exe spawns cmd.exe as a high-integrity process (note: Due to the configuration of the environment, the adversary's process was high by default. This sub-step was evaluated based on the criteria of detecting data related to process integrity level as well as the executed mechanics of the UAC bypass)
Data Sources
- Process Monitoring
Criteria
powershell.exe spawns samcat.exe as a high-integrity process (note: Due to the configuration of the environment, the adversary's process was high by default. This sub-step was evaluated based on the criteria of detecting data related to process integrity level as well as the executed mechanics of the UAC bypass)
Data Sources
- Process Monitoring
[2]
Criteria
powershell.exe spawns samcat.exe as a high-integrity process (note: Due to the configuration of the environment, the adversary's process was high by default. This sub-step was evaluated based on the criteria of detecting data related to process integrity level as well as the executed mechanics of the UAC bypass)
Data Sources
- Windows Registry
- Process Monitoring
Criteria
powershell.exe spawns samcat.exe as a high-integrity process (note: Due to the configuration of the environment, the adversary's process was high by default. This sub-step was evaluated based on the criteria of detecting data related to process integrity level as well as the executed mechanics of the UAC bypass)
Data Sources
- Process Monitoring
Criteria
AccountingIQ.exe queries HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB\ and loads dll329.dll


Is Cell-cultured Meat Ready for the Mainstream?
Factory farming’s attempts to keep up with increasing meat consumption are likely unsustainable. Meat grown from animal cells is positioning itself as the solution. Can lab-grown meat live up to its lofty promises?


This post originally appeared on GIS Collective.
Today on its blog, the open-source geo wizard repository MapBox has announced a new project to create, share, and edit geospatial data in your browser. It’s called geojson.io, and it’s set to sweep the nation! Or at least, the nation of those who like creating, sharing and editing spatial data.
As far as I can tell, the product (so far) has the following features:
- Draw points, lines, or polygons on the Leaflet map and receive GeoJSON output
- Edit data attributes in table or JSON format
- Edit GeoJSON files and gists containing GeoJSON from GitHub repositories
- Upload a file in one several formats for conversion to GeoJSON*
There is also a Chrome extension (for all you GitHub users out there) that adds a button to GitHub repos and gists containing geojson for easy editing in geojson.io. This has huge implications for data collaboration; the two datasets mentioned in the MapBox post are bars that have free wi-fi (currently a Washington, DC-focused dataset) and favorite running routes. The possibilities are endless! What data will you create?
The project is open source, which means that anyone can add to it and help make it better! To contribute, fork the GitHub repo and have at it. Remember: with open source, no contribution is too small! For more information on contributing to open source projects and open source in general, check out this great explanation.
*Still unsure about GeoJSON? Not entirely sure what GitHub is? Check out this post.


This documentation provides some useful reference material related to using Lightest. For a more hands-on reference, try the Lightest tutorial!
Lightest is a task-oriented functional and integration test automation framework built on Groovy and TestNG. It's a "framework framework" that is intended to greatly simplify the process of creating your own custom framework by implementing the testcase management, execution, and reporting for you - all you do is define the test environment and write the tasks!
You might want to try Lightest if:
The Lightest project is hosted on Google Code. You may download releases, browse the source, or file issues there.
The Lightest framework comes with a runner packaged in an executable JAR. The standalone distribution includes all required dependencies; no external libraries are needed. Tests are run from the command line by specifying a configuration file (see below for syntax) and either a list of Groovy test files (which subclass LightestTestCase
, also see below) or a TestNG suite XML file which specifies the test classes and groups to run. The most important configuration to get right is the classPaths
element; most other configurations have sensible defaults.
$ java -jar lightest-core-0.5-standalone.jar config.txt MyTest.groovy MyTest2.groovy
$ java -jar lightest-core-0.5-standalone.jar config.txt testng.xml
You can start the runner in interactive mode by providing the right switch:
$ java -jar lightest-core-0.5-standalone.jar --interactive config.txt MyTest.groovy
Lightest requires at least Java 1.5
. Surprisingly, you shouldn't need to install Groovy on your machine to run Lightest. However, you'll probably want to have a reasonably recent version (1.5.4
or later) to use when developing your tasks. If you don't have it, get it here!
The runner produces an HTML report, which in turn is generated from an XML report. HTML is probably the most convenient reporting format; however, it is possible to customize Lightest to create reports in other formats. See the tutorial for screenshots of the reports that are produced.
The configuration file specified as the first argument to the runner follows a Groovy builder syntax, with the config
element as its root node.
| Element | Description | Example |
|---|---|---|
| classPaths | Contains You will probably get an error if any class specified in a configuration cannot be loaded from the class paths set here. |
config { ... classPaths { path ('/path/to/tasks') path ('../path/to/tests') } ... } |
| outputDir | Specifies the report output directory. The report files will be placed directly in this directory. If unspecified, by default the report will be created in the lightest-report directory in the directory where the test runner was invoked. If more than one directory is specified, only the first entry will be used. | config { ... outputDir ('/path/to/report') ... } |
| prefs | Specifies name-value pairs for preferences to be shared across all tests being configured in this run. The preferences must have a corresponding class, which has publicly-accessible properties to match the preference names. There should be only one prefs element. |
config { ... prefs (class: 'my.package.Preferences') { timeout (5000) corpus ('main') } ... } |
| envs | Enumerates test environments that are available to the tests being configured in this run. Tests may be run concurrently across these environments. All environments correspond to a single class, but have name-value pairs which may differentiate them. Testcases and tasks are able to access these values for the purpose of interacting with their respective environment. These name-value pairs must match properties of the environment class. Each environment must have a unique There should be only one |
config { ... envs (class: 'my.package.Environment') { env (id: 'windows') { homeDir ('C:\\Documents and Settings\\me') appName ('my.app') } env (id: 'linux') { homeDir ('/home/me') appName ('my.app') } env (id: 'macos') { homeDir ('/Users/me') appName ('my.app') } } ... } |
| reporters | You may specify reporter classes that will be used instead of the Classes that implement only Additionally, you may override the following built-in XML-based reporters - |
config { ... reporters { reporter (class: 'my.package.Reporter') { updateEnabled (false) scheduled (false) } reporter (class: 'my.package.Reporter2') reporter (class: 'my.package.Reporter3', role: 'XMLReporter') { prop3 ('value3') prop4 ('value4') } } ... } |
| listeners | Listeners can be registered with the TestNG engine directly. One or more custom listeners can be specified by class, which must implement org.testng.ITestNGListener ; typically either ITestListener or ISuiteListener . Additional properties of each listener may be specified here. |
config { ... listeners { listener (class: 'my.package.Listener') { prop1 ('value1') prop2 ('value2') } listener (class: 'my.package.Listener2') } ... } |
| dispatcherAssignmentStrategy | You may specify a strategy class that will be used instead of the default SimpleDispatcherAssignmentStrategy to decide how task dispatchers (which are associated with test environments) get assigned to testcase classes. This class must implement IDispatcherAssignmentStrategy , and may for convenience extend QueuedDispatcherAssignmentStrategy to handle concurrency. There should be only one dispatcherAssignmentStrategy element. |
config { ... dispatcherAssignmentStrategy (class: 'my.package.Strategy') ... } |
| taskDispatchStrategy | Sets the dispatch strategy to use instead of the default. The strategy must implement Bean properties can be specified on the strategy in this configuration. |
config { ... taskDispatchStrategy (class: 'my.package.Strategy') { prop1 ('value1') prop2 ('value2') } ... } |
The SimpleApi
class (com.googlecode.lightest.core.SimpleApi
) provides a convenient way to define the set of tasks that are available to a given testcase. It can search one or more Java package paths for tasks by name, and returns the first task found. By default, all tasks in the current working directory of the test runner are included by SimpleApi
instances.
Use addPackage(String packageName)
to add a new package path to the API. For example, if your tasks are defined in the package com.sample.tasks
, you could do:
def api = new SimpleApi() api.addPackage('com.sample.tasks')
Or simply:
def api = new SimpleApi('com.sample.tasks')
SimpleApi
implements IDomainSpecificApi
, specifically its getTask(String name)
method. You may use a custom implementation of this interface that doesn't obtain tasks by package at all, and uses some other mechanism.
All Lightest tests extend LightestTestCase
(com.googlecode.lightest.core.LightestTestCase
), which is responsible for properly interpreting tasks specified with the builder syntax in its test methods. Subclasses should call setApi(IDomainSpecificApi api)
before invoking any tasks. This can be done in the constructor of the test class, or in a @Before
method. In its simplest form:
class MyTest extends LightestTestCase { MyTest() { setApi(new SimpleApi()) } }
LightestTestCase
's are run by the TestNG runner; you must always use the @Test
annotation to mark test methods and @Before
/ @After
to mark fixture setup and teardown methods, respectively. To make use of JUnit assertions, add the appropriate static import to the top of the file:
import static org.testng.AssertJUnit.*
You can access the test environment (implementing ITestEnvironment
) assigned to the testcase in any given test method directly via the env
property. You can access the preferences via prefs
. You may also obtain either from the context
, e.g. context.env
:
@Test void myTest() { def port = env.port // equivalent to "context.env.port" ... }
You can add properties to the context
in the scope of any test method as if it were a Map
, and these can be accessed by any tasks that are invoked, also via the context
. Each test method always starts with a fresh context. Note that some special property names are reserved, i.e. env
and prefs
.
Each task used in a testcase should have as its implementation a corresponding subclass of LightestTask
(com.googlecode.lightest.core.LightestTask
). The task is responsible for performing some action, and populating a result object (see the next section) depending on whether the action succeeded or failed. Subclasses of LightestTask
only have to implement a single method, doPerform(ITaskResult result)
:
class MyTask extends LightestTask { void doPerform(ITaskResult result) { println 'Been there, done that.' result.fail() } }
Three key properties are available for inspection in task classes - config
, prefs
, and env
.
The config
object is essentially a groovy.util.Node
from which the parameters to the task may be accessed. Attributes are accessed using the .'@attributeName'
notation, and values can be accessed with .nodeValue()
. For example:
@Test void myTest() { MyTask (attr1: 'foo', attr2: 'bar, 'baz') }MyTask.groovy
void doPerform(ITaskResult result) { println config.'@attr1' // prints "foo" println config.'@attr2' // prints "bar" println config.nodeValue() // prints "baz" }
Two attributes on config
have special meaning in the context of Lightest - description
and breakpoint
. If set, the String representation of description
will be automatically visible with the task in the report. If for a given task breakpoint
is set to any value that evaluates to true
, the test will pause at that task if the runner is in interactive mode. You don't have to do anything in the task definition for these features to work.
Any preference values specified in the configuration file may be accessed from prefs
. And any environment values may be accessed from env
. Also available is the context
object.
Executing a task always produces a ITaskResult
(com.googlecode.lightest.core.ITaskResult
). The values populated on this object will appear in the report for the test run. The important values to consider setting are status
, message
, detailedMessage
, and links
. The ITaskResult
object is passed into the doPerform()
method, and should be populated therein.
The status
of the result is what determines whether the task succeeded or failed. By default, the status is set to indicate success (STATUS_OK
). Setting it to anything else indicates failure at some level. In order of increasing severity, you can invoke flag()
, fail()
, or doom()
on the result object to do this.
Use setMessage(String message)
to set an informational message to be displayed in the report. In particular, display any information related to why the task may have failed.
Use setDetailedMessage(String detailedMessage)
to set larger chunks of text that may have been produced in performing the task.
Finally, use addLink(String link)
to add a link to related resources, such as documents or screenshots. The link text will appear in the report, exactly as specified using this method. Multiple links may be specified. Use addLink(TaskResultLink link)
if you need greater control of the HTML rendering of the link.
The following table describes the lifecycle of a Lightest task, which is an implementation of ITask
(and typically, but not necessarily, a subclass of LightestTask
). This may be useful to know if you want to inject custom logic at specific points of the lifecycle.
| # | Step Name | Step Description |
|---|---|---|
| 1 | Build TaskNode |
A task is "invoked" in the test when a call for a missing method is encountered in the test. The test class' (i.e. LightestTestCase 's) methodMissing() logic assumes the missing method call conforms to Groovy builder syntax, and builds a TaskNode representing the task its child tasks, if any. |
| 2 | Create Task Instance | The test class' api object, which implements IDomainSpecificApi , is queried for an instance of the task. If a SimpleApi is being used, a new task is instantiated simply by invoking the task class' no-argument constructor. |
| 3 | Call configure() |
The task instance's Auto-wiring takes effect for class MyTask extends LightestTask { boolean waitForSignal ... } and the task was invoked as: MyTask (waitForSignal: 'false') the boolean (not waitForSignal == config.'@waitForSignal' The two exceptional cases are for the attributes config.'@name' config.'@value' |
| 4 | Dispatch Task | dispatch() is invoked on the ITaskDispatchStrategy associated with the test, passing the configured task instance. In many cases (including the default case, where the SimpleTaskDispatchStrategy is in play), the strategy simply invokes the task's perform() method. Subclasses of LightestTask enjoy protection from exceptions being thrown from the task; their task logic is implemented within doPerform() . |
| 5 | Perform Child Tasks | If the task has any child tasks, and if the task succeeded, child tasks are now performed, starting at creating them via the api (they should already exist in the TaskNode tree). If the task failed, all child tasks are skipped. |
- Haw-Bin Chai (hbchai @t gmail d0t com)


Statistic
Value
Average GDP per capita
$2,855.33
Total aid
$7,017.22 million
Aid from US
$1,378.93 million
Average total aid as percent of GDP
6.61%
Total TIP grants
$1,728,605


We are an Information Technology Services company that specializes in providing dependable and innovative IT solutions and services for your business.
We Believe in QualityWe are committed to helping our customers accelerate business innovation through technology. We provide our customers with leading products and updated technology from vendors around the world.
We have the most professional and solid reseller channels spread over Saudi Arabia. To provide direct assistance to our reseller Kingdom wide, we offer quick and accurate support and consultancy. Our reseller therefore can deliver professional and localized services to end-users.
Al-Dahna offers a wide range of network solutions but not limited to new network setup, modification of an existing network, Server/Network Maintenance, System Administration, etc.
Al-Dahna is a proven leader in computer supplies, maintenance and information technology. Provides our client with hardware support for all types of PC’s, Laptops, Peripherals, etc.
Al-Dahna offers different types of software solutions to meet its wide customer base requirements. A few of which are Custom software development, Packaged Software development, ERP Solutions, etc.
We are here to help and answer any questions you might have. We look forward to hearing from you.
Al-Dossary Towers, Shop No.229, 2nd Floor, Al-Khobar - Saudi Arabia
<EMAIL_ADDRESS>013 8960 344


@esfx/threading-sleep Package
Provides the sleep(ms) function which causes the current execution thread to sleep until the timeout expires.
Installation
npm i @esfx/threading-sleep
Usage
import { sleep } from "@esfx/threading-sleep";
// block the main thread for half a second
sleep(500);
Functions
sleep(ms)
Causes the current thread of execution to sleep until the specified timeout expires.
Declaration
export declare function sleep(ms: number): void;
Parameters
- ms
- number
The number of milliseconds to suspend the thread. Must be a finite, positive value, or zero.
Returns
void


S
CIENCE
I
NSTITUTE
M
ALAYALI
A
SSOCIATION
SIMA Cricket League
2012
2013
2014
2015
2016
Article text


Scalable datastore for metrics, events, and real-time analytics http://influxdb.com
InfluxDB is an open source distributed time series database with no external dependencies. It’s useful for recording metrics, events, and performing analytics.
service influxdb start
if you have installed InfluxDB using an official Debian or RPM package.$GOPATH/bin/influxd
if you have built InfluxDB from source.curl -G 'http://localhost:8086/query' --data-urlencode "q=CREATE DATABASE mydb"
curl -H "Content-Type: application/json" http://localhost:8086/write -d '
{
"database": "mydb",
"retentionPolicy": "default",
"points": [
{
"timestamp": "2014-11-10T23:00:00Z",
"name": "cpu",
"tags": {
"region":"uswest",
"host": "server01"
},
"fields":{
"value": 100
}
}
]
}'
curl -G http://localhost:8086/query?pretty=true \
--data-urlencode "db=mydb" --data-urlencode "q=SELECT * FROM cpu"


|
| | Spline_ (int degree, const Vector &x, const Vector_< T > &y) |
| | Create a Spline_ object based on a set of control points. See SplineFitter for a nicer way to create these objects. More...
|
| |
| | Spline_ () |
| | Default constructor creates an empty Spline_ handle; not very useful. More...
|
| |
| | Spline_ (const Spline_ &source) |
| | Copy constructor is shallow and reference-counted; that is, the new Spline_ refers to the same object as does source. More...
|
| |
| Spline_ & | operator= (const Spline_ &source) |
| | Copy assignment is shallow and reference-counted; that is, after the assignment this Spline_ refers to the same object as does source. More...
|
| |
| | ~Spline_ () |
| | Destructor decrements the reference count and frees the heap space if this is the last reference. More...
|
| |
| T | calcValue (Real x) const |
| | Calculate the values of the dependent variables at a particular value of the independent variable. More...
|
| |
| T | calcDerivative (int order, Real x) const |
| | Calculate a derivative of the spline function with respect to its independent variable, at the given value. More...
|
| |
| const Vector & | getControlPointLocations () const |
| | Get the locations (that is, the values of the independent variable) for each of the Bezier control points. More...
|
| |
| const Vector_< T > & | getControlPointValues () const |
| | Get the values of the dependent variables at each of the Bezier control points. More...
|
| |
| int | getSplineDegree () const |
| | Get the degree of the spline. More...
|
| |
| T | calcValue (const Vector &x) const override |
| | Alternate signature provided to implement the generic Function_ interface expects a one-element Vector for the independent variable. More...
|
| |
| T | calcDerivative (const Array_< int > &derivComponents, const Vector &x) const override |
| | Alternate signature provided to implement the generic Function_ interface expects an awkward derivComponents argument, and takes a one-element Vector for the independent variable. More...
|
| |
| T | calcDerivative (const std::vector< int > &derivComponents, const Vector &x) const |
| | For the Function_ style interface, this provides compatibility with std::vector. More...
|
| |
| int | getArgumentSize () const override |
| | Required by the Function_ interface. More...
|
| |
| int | getMaxDerivativeOrder () const override |
| | Required by the Function_ interface. More...
|
| |
| Spline_ * | clone () const override |
| | Required by the Function_ interface. More...
|
| |
| virtual | ~Function_ () |
| |
| T | calcDerivative (const std::vector< int > &derivComponents, const Vector &x) const |
| | This provides compatibility with std::vector without requiring any copying. More...
|
| |
template<class T>
class SimTK::Spline_< T >
This class implements a non-uniform Bezier curve.
It requires the spline degree to be odd (linear, cubic, quintic, etc.), but supports arbitrarily high degrees. Only spline curves are supported, not surfaces or higher dimensional objects, but the curve may be defined in an arbitrary dimensional space. That is, a Spline_ is a Function_ that calculates an arbitrary number of output values based on a single input value. The template argument must be either Real or Vec<N> from some integer N. The name "Spline" (with no trailing "_") may be used as a synonym for Spline_<Real>.
Most users should generate Spline_ objects using SplineFitter which can be used to generate spline curves through data points rather than requiring Bezier control points.
- See also
- SplineFitter for best-fitting a spline through sampled data.
-
BicubicSurface for fitting a smooth surface to 2D sample data.


Chapter 5 Workshop Questions for Week 5
5.1 Short conceptual question - O2 quenching
- Given molecular oxygen has an emission with λmax around 1280 nm why is it such a good quencher of excited states?
Singlet oxygen emisison occurs principally from the \(^1 \Delta _g\) state but it has more than one transition available to form an excited state, and a large amount of excitation occurs to initially form the \(1 \Sigma _g^+\) state (722 nm), this state has a much higher energy transition. However oxygen also has absorption transitions (you don’t need to know these but just showing to really prove my point) with λmax 477 nm, 532 nm, 630 nm, 762 nm, 1063 nm and 1268 nm and so there is usually a good overlapintegral for emission from any state.
- Why is the efficiency of quenching lower for excited singlet states?
Singlet states have a much shorter lifetimes and so they are less likely to encounter a quenching agent before they fluoresce.
5.2 Short mathematical question - Förster resonance energy transfer
A donor, D, with an unquenched lifetime of 5.0 ns, was found to have a steady state emission intensity of 20.5 in free solution and 4.1 when in the presence of a quencher, Q. Assuming the Förster distance is 50 Å determine :
- the transfer efficiency, E.
\[\begin{equation} E = 1 - \frac{\tau_{DA}}{\tau_D} \tag{5.1} \end{equation}\]
This relationship also works for qunatum yield and consequently intensity (you can derive this from the definitions of lfietime and quantum yield, equations (2.1) and (2.2) for quenched and unquenched systems)
So \(E = 1 - \frac{4.1}{20.5} = 0.80\)
- the lifetime of D in the presence of the quencher Q
Again from the relationship between lifetime and quantum yield (this should be ‘derived’ from equations (2.1) and (2.2) if ever needed) then:
\[\begin{equation*} \frac{\phi _{quenched}}{\phi_{unquenched}}=\frac{\tau _{quenched}}{\tau_{unquenched}} \end{equation*}\]
therefore this can be rearranced to be get \(\tau_{DA}\)=1.0 ns
- the equilibrium separation of D & Q
\[\begin{equation} E = \frac{R_0^6}{R_0^6+r^6} \tag{5.2} \end{equation}\]
where \(R_0\) is the forster distance
rearranging gives \(r = \sqrt[6]{\frac{R_0^6-ER_0^6}{E}}\) and \(r = \sqrt[6]{\frac{1-E}{E}}R_0\) so r = 40 Å
- the rate constant for energy transfer
\[\begin{equation} k_{ET}=\frac{1}{\tau_D}\frac{R_0^6}{r^6} \tag{5.3} \end{equation}\]
\[\begin{equation*} k_{ET}=\frac{1}{5.0 \textrm{ ns}}\frac{50^6}{38^6} = 7.6 \times 10^8 \textrm{ s}^{-1} \end{equation*}\]
5.3 Short conceptual quesiton - Förster distance
Determine the quantum yield of emission of the donor in a FRET pair system where donor and acceptor are separated by the Förster distance, the lifetime of the unquenched system is 8.4 ns. The unquenched quantum yield is 0.58*
Efficiency is another term for quantum yield of energy transfer, by definition the forster distance is the point where this is 0.5 and so we can rearrange equations (2.1) and (2.2) to find that this effectively halves all other quantum yields and so \(\phi_{f, quenched}\)=0.29
5.4 Short conceptual quesiton - Donor-accceptor system
In a single molecule study of a donor bound to an acceptor via a flexible, short aliphatic chain it was found that lifetime of the excited state varied (time beween single photon detection of emission after an excitation pulse). Suggest why this is the case.
The two main things that affect lifetime for energy transfer quenching are distance and for forster energy transfer dipole dipole interaction which varies between 0 and a maximum set by the distance. With an aliphatic chain it could be that the distance is fixed by rigid rings and only dipole interactions are changing, or it could be that both factors are able to change depending on the system.
5.5 Short conceptual quesiton - Quenching of ruthenium
Ruthenium tris bipyridine [Ru(bpy)3]2+ has a λ~max, abs~ = 470 nm and λ~max, em~ = 465 nm. The natural lifetime is 13.6 µs.
Suggest why molecular oxygen is an efficient quencher of the emmission of [Ru(bpy)3]2+.
With that lifetime [Ru(bpy)3]2+ has a spin forbidden transition, it therefore has a very long lived excited state and so is much more probable to be quenched in this lifetime.
5.6 Short conceptual question - Energy transfer and spectra
How would you expect the absorption and emission spectra observed in an experiment to change when an emmisive acceptor is added?
The absorption spectrum shouldn’t change (if it forms a static complex it is likely there will be a shift in λmax) , it will just be a linear combination of the absorptions of donor and acceptor. If the donor is excited (and the acceptor not) then the emission for a fixed concentration of donor would decrease and an emission for the acceptor (which doesn’t absorb at the excitation wavelength) would be appeared.
If you keep the emisison wavelength the same and scan the intensity of this band with changing excitation wavelength how will this (excitation) spectrum vary from the absorbance and how can it be used to confirm energy transfer?
Scanning the excitation wavelength and measuring the emission intensity should give a spectrum similar to the absorbance spectra as the more something absorbs teh more excited states are generated and the more it emits.
If we scan at a wavelength where the acceptor emits then if there is energy transfer the ‘excitation spectrum’ would show both donor and acceptor ‘absorbance bands’ if there is energy transfer this clearly seen by apeparance of both bands.
5.7 Short conceptual question - Effect of separation
‘cyanine-3’ and ‘cyanine-5’ are cyanine dyes which are frequently used as markers in experiments with DNA.
Cyanine-3 has a λmax,abs = 554 nm and λmax,em = 568 nm
Cyanine-5 has a λmax,abs = 649 nm and λmax,em = 666 nm
In an experiment they are tethered to either end of a DNA oligomer of 4, 5, 6, 7, 8, 9, 10 11 & 12 base pairs. However the pattern expected of increasing lifetime as the separation increased was not observed. Suggest why this may be occuring.
This is because DNA is a helix and has a turn, and so the separation effects are also blended with dipole-dipole effects showing a pattern more complicated than just distance. The helix completes a full turn in just over 10 bases and so you would expect to see similarities to just the distance every 10 turns. This is more detail than I would expect but thought it told the picture nicely


Following are the suggested colors for use within software applications. Some expansion beyond the general palette is acceptable as long as the additional colors are similar in value/saturation. It's recommended that you import the colors and leverage the sass variables.
These colors are used for the primary calls to action (buttons, links, etc) on a page.
The colors used for backgrounds, text, etc.
Additional options for accent colors.
Some general-use color variables, referencing variables above, to decouple color name from an intended purpose.
There may be times that a product will need to expand the color palette, or use a variation on exisiting colors. In these cases we recommend one of two approaches:
darken()
or lighten()
, or the library provided shade()
or tint()
functions.
@import "../colors";
.my-component {
background-color: darken($slate-gray-100, 5%);
color: tint($dark-blue, 5%);
}


BREAKING : Generations star Zoe Mthiyane arrested
by ObserverBREAKING : Generations star Zoe Mthiyane arrested
Actress Zoe Mthiyane seems to have taken her on-screen character off-screen after she was caught driving while heaving intoxicated. Zitha, as she is known in the popular SABC telenovela Generations The legacy was arrested on Saturday night.
The 39-year-old ex-wife to sports analyst Robert Marawa was released on bail and expected to appear in court soon. Zoe was also engaged to Lion King music composer Lebo Morake. Earlier this year, it was reported that she was dating Generations co-star Rapulana Seiphemo.
The 39-year-old, who plays Zitha on Generations: The Legacy, was arrested in Douglasdale, Joburg, on Saturday night for drunk driving.
Captain Mavela Masondo confirmed that a 39-year-old actress was among those bust for drunk driving over the weekend.
With the festive season officially on, the Ministry of Transport has gone on a campaign to curb driving under the influence and enforcing safe speeds on the roads.
Since she began acting on Generations The Legacy, the actress and mother of two has been enjoying the less bumpy and dramatic road to success.
It still remains uncertain what pushed her to make the regretful decision to drive under the influence. Zoe had not responded to comments at the time of going to press.
Since joining Generations The Legacy, Zitha has seen herself being the character fans loved to hate because of her character which depicted her as evil and manipulative. Her star, however, continues to rise as Generations viewership has risen in the last quarter of the year.
MORE FROM IHARARE:
Breaking News: Russia Banned From All Global Sports, 2020 Olympics & 2022 FIFA World Cup
PHOTOS: You won’t believe What South Africa Miss Universe Winner Was Up Against
Miss South Africa Zozibini Tunzi wins Miss Universe
PICS: Uncle Roland’s EX, Michelle Kawome goes on Vacation
To View and Apply for the latest Jobs and Vacancies in Zimbabwe, Please Visit our Sister website iHarare Jobs


http://www.speakers-podium.com/susangranger.
Susan Granger's review of "GUN SHY" (Hollywood Pictures)
It's got Sandra Bullock and Liam Neeson but something went terribly wrong with the incomprehensible script and lame direction of this silly mob comedy. Neeson plays a legendary undercover DEA agent who suffers from post-traumatic stress syndrome after a failed sting operation. That's why he seeks psychiatric help and winds up in group therapy and takes up with a spunky nurse, Sandra Bullock, who gives him an enema. Meanwhile, the nasty DEA chief (Mitch Pileggi of TV's X-Files) assigns him to complete one final covert operation wherein he must escape the wrath of a hot-tempered, trigger-happy Mafia leader - known as "the Jeffrey Dahmer of hitmen"- played by Oliver Platt, and his vulgar, no-nonsense wife, Mary McCormack, who are involved with Colombian drug dealers in a complex money-laundering scheme. Sound like Analyze This? Sound like The Sopranos? The producers should be that lucky! Just because TV writer/director Eric Blakeney worked on Moonlighting, Wiseguy, and Max Headroom does not mean he can pull off this kind of unconventional feature film, particularly when he presents a colonic irrigation as a romantic encounter and relies on feeble poop jokes for laughs. Remember Grosse Pointe Blank? It explored much the same ironic territory - far better. On the Granger Movie Gauge of 1 to 10, Gun Shy misses the target with a fumbling 4. Few laughs, little suspense and several talented actors who surely could have found a better picture.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Stroke
Executive summary
Introduction
A stroke is the sudden loss of neurological function resulting from death of brain tissue from vascular occlusion or rupture.
Stroke is the second leading cause of death globally and the number one cause of functional disability. It is a feared complication of hypertension, diabetes mellitus and heart disease.
The gold standard for stroke treatment includes an early CT scan to rule out bleeding followed by thrombolysis. These are not readily available in The Gambia but should not prevent our patients from receiving the best possible care that is available.
Target users
· Doctors
· Nurses
Target area of use
· Gate clinic
· Outpatient department
· Ward
Key areas of focus / New additions / Changes
This guideline covers the diagnoses and management of stroke. It updates the previous guideline on acute stroke care.
Patients suspected to have suffered a stroke should be sent from the Gate Clinic to the ward for urgent review by a doctor.
The ROSIER score can assist the doctor in diagnosis if the presentation is unclear.
For patients presenting in Keneba, refer after emergency care.
Ideally, patients should have a non-contrast cranial CT scan to rule out haemorrhage. Treatment on the ward involves maintenance of hydration, management of intracranial pressure, antithrombotics (if ischaemic), DVT and pressure ulcer prophylaxis, physical therapy and other supportive care. In addition, patients with suspected SAH require sedation, analgesia, laxatives and possible early neurosurgical referral.
Post-discharge care should be planned in consultation with the patient and/or caregivers. This may include palliative care in patients with severe functional disability.
Limitations
CT scan and rehabilitation services may not be readily accessible to most patients. Thrombolysis for stroke is currently unavailable in The Gambia.
Presenting symptoms and signs
Stroke typically presents as sudden, rapidly peaking loss of neurological function. A history of sudden limb weakness, slurring of speech or visual deficits suggests a stroke or, if resolved within 24 hours, a transient ischaemic attack. Rarely, a stroke may present with only paraesthesia, balance problems or language problems.
Ask for head trauma within the past 3 months.
If any of coma, neck stiffness, seizures, diastolic blood pressure > 110 mmHg, vomiting, or headache is also present, the patient is more likely to have had a haemorrhagic type of stroke. A history of sudden severe headache and neck stiffness is in keeping with subarachnoid haemorrhage.
A history of only loss of consciousness or seizures suggests an alternative diagnosis.
Examination findings
Assess airway, breathing and circulation. Check the observations (HR, BP, RR, O2 sats, Temperature).
Assess consciousness, then orientation in time, place and person. Observe for confusion and difficulty producing or understanding speech.
Check for neck stiffness which suggests subarachnoid haemorrhage.
Assess the pupils, eye movements and facial symmetry. If patient is conscious, ask them to protrude their tongue.
Assess tone, power and reflexes across the limbs.
Observe the gait if the patient is able to walk.
Listen over the heart for rhythm, murmurs and over the neck for carotid bruit.
Investigations
· Blood glucose as soon as possible (Both hypo- and hyperglycaemia are stroke mimics. They also worsen stroke outcome)
· CT Scan of the brain without contrast to rule out haemorrhage. This should be done same day if stable or next day (if available and affordable).
· Full Blood Count
· ESR (helps exclude vasculitis in younger patients)
· Electrolytes, Urea and Creatinine
· Urinalysis
· ECG (rule out atrial fibrillation)
· CXR
· Sepsis screen (if fever develops)
· Clotting profile (if previously on warfarin)
Aim to have acted on the results for the above tests (excluding cultures) in less than four hours.
Management
Management in Gate Clinic
All patients with features of a possible stroke (recent onset of facial weakness, limb weakness or speech problems) should be referred immediately to the ward for urgent review by a doctor.
Management on the Ward
Assessment:
Use the ROSIER (Recognition of Stroke in the Emergency Room) score if uncertain of the diagnosis of stroke
|
Feature |
Score |
|
Loss of consciousness or syncope |
-1 |
|
Seizure activity |
-1 |
|
Asymmetric facial weakness* |
+1 |
|
Asymmetric arm weakness* |
+1 |
|
Asymmetric leg weakness* |
+1 |
|
Speech disturbance* |
+1 |
|
Visual field defect* |
+1 |
*of recent sudden onset or noticed on waking from sleep
If the total ROSIER score is less than 1, a diagnosis of stroke is unlikely.
Consider other diagnosis if the patient is young, has gradual progression over days, is febrile or has papilloedema.
Treatment:
Starting at admission:
1. Hydrate initially with IV normal saline.
a. Nothing by mouth if dysarthric. Start on NG tube. Repeat swallow test daily for conscious patients.
2. If there are signs of raised ICP, give IV furosemide 40 mg bolus and IV mannitol 0.5 g/kg given over 20 minutes 4 - 6 hourly.
3. Antithrombotics: If CT scan rules out haemorrhage, commence oral aspirin at 300 mg daily for 4 weeks. For patients without a CT scan but unlikely to have haemorrhagic stroke, start aspirin on day 2 at 150 mg daily for 2 weeks. Reduce to 75 mg daily subsequently.
4. For suspected vasculitis (e.g raised ESR), consider starting 1 mg per kg prednisolone.
5. For stroke patients presenting in Keneba, commence emergency care and refer immediately.
Starting after 24 hours:
6. DVT prophylaxis with heparin after 2 days for immobile patients if hemorrhage is ruled out or unlikely.
7. Early mobilization of the patient is encouraged but minimize within first 24 hours.
8. Statins should be commenced after 48 hours if patient is able to obtain the drug.
9. Treat recurrent seizures with oral carbamazepine or valproate.
Ongoing supportive care
10. Supplemental Oxygen should be given for patients with oxygen saturations below 94%.
11. Keep systolic BP below 180 mmHg with oral antihypertensives. Consider IV labetalol if systolic blood pressure is >220 mmHg
12. Maintain blood glucose between 7.7 – 10 mmol/l. Hypoglycaemia should be identified and treated promptly. Hyperglycaemia may require insulin therapy as discussed in the Diabetes Mellitus guideline.
13. Maintain normal body temperature. Fever >37.5°C should be treated with paracetamol. Search for possible infections and do sepsis screening. Avoid indwelling catheters if feasible, otherwise monitor daily.
SAH:
14. For suspected or confirmed subarachnoid haemorrhage,
a. Keep systolic BP below 130 mmHg with a calcium channel blocker but avoid hypotension
b. Lactulose suspension to keep stools soft (prevents straining and raised ICP)
c. Oral diazepam for light sedation
d. Analgesics
e. Consider early referral for neurosurgical management especially for unconscious patients or sudden deterioration
Discharge planning and Post-Discharge Care
Discharge planning should involve the patient, their caregivers at home and the clinical team. Stroke patients should be discharged home when agreed-upon achievable goals of inpatient care have been reached and the home environment made safe. Patients with severe residual brain injury from stroke may require palliative care.
Assess functional independence at discharge
Plan safe care at home e.g sturdy arm-chairs resting against walls, wheelchairs, relocate patient to a ground-floor bedroom, install hand-holds on walls.
Explain stroke risk factors and prescriptions to the patient and caregivers.
Patients with persistent swallowing difficulties may be fed with thickened fluids if tolerated. For patients requiring nasogastric feeding, discuss feasibility of a PEG tube insertion.
Patient should be referred for physical and psychological rehabilitation services. Regardless of clinical recovery, patients with stroke should be advised not to drive for at least one month post-discharge.
Schedule first follow-up visit for 4 weeks after discharge but advise caregivers to present early if they notice any deterioration in the patient’s state.
Key Issues for Nursing care
Monitor vital signs every 4 hours. Call the doctor if:
· Temperature > 37.5,
· Blood glucose < 6 mmol/l or > 10 mmol/l
· Systolic blood pressure < 140 or > 180 mmHg
· GCS drops by 1 point compared to last observation
· Oxygen saturation < 95%
Nurse in 30 degrees head up position with head in midline
Two-hourly turning and surveillance for pressure ulcers if unconscious/immobile
Suction oral cavity and airway as needed if unconscious
Strict fluid charts
Strict bed rest if SAH is suspected
References
Prasad K, Kaul S, Padma MV, Gorthi SP, Khurana D, Bakshi A. Stroke management. Ann Indian Acad Neurol. 2011;14(Suppl 1):S82-96.
Berkowitz AL. Managing acute stroke in low-resource settings. Bull World Health Organ. 2016;94(7):554-6.
Stroke and transient ischaemic attack in over 16s: diagnosis and initial management. NICE Guideline. March 2017
Nor AM, Davis J, Sen B, Shipsey D, Louw SJ, Dyker AG, Davis M, Ford GA. The Recognition of Stroke in the Emergency Room (ROSIER) scale: development and validation of a stroke recognition instrument.Lancet Neurol. 2005 Nov;4(11):727-34.
Medscape. Subarachnoid haemorrhage. Available at: https://emedicine.medscape.com/article/1164341-overview Accessed: 9th January 2019
|
Written by: |
Name: Fatai Akemokwe |
Date: 09 January 2019 |
|
Reviewed by: |
Name: Karen Forrest |
Date: 14 January 2019 |
|
Version: |
Change history: |
Review due date: |
|
1.0 |
New document |
|
|
2.0 |
Previous guideline was updated and transferred onto the new template |
31 January 2021 |
|
2.1 |
Executive summary added |
31 January 2021 |
|
Review Comments (if applicable) |
|
|


Appends content to the body of a word document
system_report_doc_add_content(
cfg,
rptname = "default",
content_type = NULL,
content = NULL
)
Arguments
| cfg |
ubiquity system object |
| rptname |
report name initialized with system_report_init |
| content_type |
name of the placeholder |
| content |
list containing content to add
For each content type listed below the different content is expected. Text
can be specified in different formats: "text" indicates plain text,
"fpar" is formatted text defined by the fpar command from the
officer package, and "md" is text formatted in markdown
format (?md_to_officer for markdown details).
"break" page break, content is (NULL ) and a page break will be inserted here
"toc" generates the table of contents, and content is a list
"text" content is a list containing a paragraph of text with the following elements
"text" string containing the text content either a string or the output of "fpar" for formatted text.
"style" string containing the style either "normal" , "code" , "h1" , "h2" , "h3"
"format" string containing the format, either "text" , "fpar" , or "md" (default NULL assumes "text" format)
"imagefile" content is a list containing information describing an image file with the following elements
image string containing path to image file
caption caption of the image (NULL )
caption_format string containing the format, either "text" , "fpar" , or "md" (default NULL assumes "text" format)
key unique key for cross referencing e.g. "FIG_DATA" (NULL )
height height of the image (NULL )
width width of the image (NULL )
"ggplot" content is a list containing an image from a ggplot object, (eg. p = ggplot() + ....) with the following elements
image ggplot object
caption caption of the image (NULL )
caption_format string containing the format, either "text" , "fpar" , or "md" (default NULL assumes "text" format)
key unique key for cross referencing e.g. "FIG_DATA" (NULL )
height height of the image (NULL )
width width of the image (NULL )
"table" content is a list containing the table content and other options with the following elements:
table data frame containing the tabular data
caption caption of the table (NULL )
caption_format string containing the format, either "text" , "fpar" , or "md" (default NULL assumes "text" format)
key unique key for cross referencing e.g. "TAB_DATA" (NULL )
header Boolean variable to control displaying the header (TRUE )
first_row Boolean variable to indicate that the first row contains header information (TRUE )
"flextable" content is a list containing flextable content and other options with the following elements (defaults in parenthesis):
table data frame containing the tabular data
caption caption of the table (NULL )
caption_format string containing the format, either "text" , "fpar" , or "md" (default NULL assumes "text" format)
key unique key for cross referencing e.g. "TAB_DATA" (NULL )
header_top , header_middle , header_bottom (NULL ) a list with the same names as the data frame names containing the tabular data and values with the header text to show in the table
header_format string containing the format, either "text" , or "md" (default NULL assumes "text" format)
merge_header (TRUE ) Set to true to combine column headers with the same information
table_body_alignment , table_header_alignment ("center") Controls alignment
table_autofit (TRUE ) Automatically fit content, or specify the cell width and height with cwidth (0.75 ) and cheight (0.25 )
table_theme ("theme_vanilla" ) Table theme
"flextable_object" content is a list specifying the a user defined flextable object with the following elements:
|
Value
cfg ubiquity system object with the content added to the body


- Game - Class in domain.model
-
The type Game.
- Game(Player, Player, Game.GameInfo) - Constructor for class domain.model.Game
-
Instantiates a new Game.
- Game.GameInfo - Class in domain.model
-
It is the game information
- Game.Status - Enum in domain.model
-
The enum Status.
- GAME_HELP_INGAMEHELP - Static variable in class resources.strings.TerminalConstants
-
The constant GAME_HELP_INGAMEHELP.
- GAME_HELP_QUIT - Static variable in class resources.strings.TerminalConstants
-
The constant GAME_HELP_QUIT.
- GAME_HELP_SAVE - Static variable in class resources.strings.TerminalConstants
-
The constant GAME_HELP_SAVE.
- gameBreaker - Variable in class domain.model.Game
-
It is the player (computer or user) that tries to guess the combination
- GameController - Class in domain.controller
-
The Game controller
- GameController() - Constructor for class domain.controller.GameController
-
- gameDataController - Variable in class domain.controller.GameController
-
- GameDataModel<E extends Game> - Class in persistence.model
-
The type Game data model.
- GameDataModel() - Constructor for class persistence.model.GameDataModel
-
- gameFinished - Variable in class domain.model.Game
-
It is the variable that decides if a game has finished
- gameGuesses - Variable in class domain.model.player.computer.GeneticComputer
-
Array with the GeneticComputer previous attempts
- gameInfo - Variable in class domain.model.Game
-
It is a class that contains information about the game
- GameInfo(String, Player.Role, String, int, int, int) - Constructor for class domain.model.Game.GameInfo
-
Instantiates a new Game info
- gameListView - Variable in class presentation.view.LoadView
-
- gameMaker - Variable in class domain.model.Game
-
It is the player (computer or user) that choose the combination to guess
- gameStatus - Variable in class domain.model.Game
-
It is an Status, that is an enumeration that could be: START, GUESS, CORRECT, CHECK STATUS, SCORE, CORRECT or FINISHED
- gameTitle - Variable in class presentation.controller.TerminalController.Board
-
- gameTurn - Variable in class domain.model.Game
-
It is the number of turns the Breaker have used
- GameView - Class in presentation.view
-
The Game View
- GameView(BoardPane, String, String, int, int) - Constructor for class presentation.view.GameView
-
Loads the GameView to nebula.
- generatePointDataInMap() - Method in class presentation.view.StatsView
-
- generateTimeDataInMap() - Method in class presentation.view.StatsView
-
- GENERATION_SIZE - Static variable in class domain.model.player.computer.GeneticComputer
-
Number of generations.
- GeneticComputer - Class in domain.model.player.computer
-
The Genetic computer.
- GeneticComputer(Player.Role) - Constructor for class domain.model.player.computer.GeneticComputer
-
Instantiates a new Genetic computer.
- get(String) - Method in interface domain.controller.data.DataController
-
Get E element with the key in the dataSet
- get(String) - Method in class persistence.model.DataModel
-
Gets the item with the key key
- getAllGames(String) - Method in class domain.controller.GameController
-
Gets all games of an user
- getBlacks() - Method in class domain.model.row.ControlRow
-
Gets the number of blacks in the control combination
- getBlacks() - Method in class presentation.controller.TerminalController.Turn
-
Gets blacks.
- getColor() - Method in class domain.model.row.ColorRow.ColorPeg
-
Gets color
- getColor(String) - Static method in class presentation.utils.ColorUtils
-
Gets the color in hexadecimal.
- getColor(int) - Static method in class presentation.utils.ColorUtils
-
Gets the color as a string.
- getColorId() - Method in class presentation.view.components.ColorPeg
-
Gets the color id of a peg.
- getContrast(int) - Static method in class presentation.utils.ColorUtils
-
Gets the contrast(Black or white) of the color.
- getCorrectGuess() - Method in class presentation.controller.TerminalController.Board
-
Add correct guess.
- getCurrentBoard() - Method in class presentation.controller.TerminalController
-
Gets current board.
- getDarkColor(int) - Static method in class presentation.utils.ColorUtils
-
Gets the dark color as a string.
- getElapsedTime() - Method in class domain.model.Game.GameInfo
-
Gets elapsed time in ms
- getGameController() - Method in class domain.controller.DomainController
-
Gets game controller
- getGameInterface() - Method in class domain.controller.DomainController
-
Gets game interface
- getGameStatus() - Method in class domain.controller.GameController
-
Gets game status.
- getGameStatus() - Method in class domain.model.Game
-
Gets the game status
- getGameTitle() - Method in class domain.model.Game.GameInfo
-
Gets the game title
- getGameTitle() - Method in class domain.model.Game
-
Gets game title.
- getGameTitle() - Method in class presentation.controller.TerminalController.Board
-
Gets game title.
- getGuess() - Method in class presentation.controller.TerminalController.Turn
-
Gets guess.
- getInstance() - Static method in class domain.controller.DomainController
-
Gets instance
- getInstance() - Static method in class domain.controller.GameController
-
Gets instance
- getInstance() - Static method in class domain.controller.StatController
-
Gets instance
- getInstance() - Static method in class domain.controller.UserController
-
Gets instance
- getInstance() - Static method in class persistence.model.GameDataModel
-
Gets instance
- getInstance() - Static method in class persistence.model.StatDataModel
-
Gets instance
- getInstance() - Static method in class persistence.model.UserDataModel
-
Gets instance
- getInstance() - Static method in class presentation.controller.PresentationController
-
Gets the instance of the PresentationController.
- getInstance() - Static method in class presentation.controller.TerminalController
-
Gets instance.
- getInstance() - Static method in class presentation.utils.LocaleUtils
-
Gets the instance of the LocaleUtils.
- getInstance() - Static method in class presentation.utils.TerminalUtils
-
Gets instance.
- getLanguage() - Method in class domain.model.User
-
Gets user language
- getLanguage() - Method in class presentation.utils.LocaleUtils
-
Gets the language of the user
- getName() - Method in class domain.model.player.computer.DummyComputer
-
Return the name of the algorithm
- getName() - Method in class domain.model.player.computer.FiveGuessComputer
-
Return the name of the algorithm
- getName() - Method in class domain.model.player.computer.GeneticComputer
-
Return the name of the algorithm
- getName() - Method in class domain.model.player.Player
-
Gets name
- getName() - Method in class domain.model.player.UserPlayer
-
Gets the name of the user
- getName() - Method in class domain.model.User
-
Gets name
- getNebulaController() - Method in class presentation.controller.PresentationController
-
Gets the nebula controller.
- getParentPos() - Method in class domain.model.player.computer.GeneticComputer
-
- getPassword() - Method in class domain.model.User
-
Gets user password
- getPlayerRole() - Method in class domain.model.player.Player
-
Gets player role
- getPointRanking() - Method in class domain.controller.StatController
-
Gets the point ranking
- getResult() - Method in class presentation.view.components.ColorInput
-
Gets the colorRow of a colorInput.
- getResult() - Method in class presentation.view.components.ControlInput
-
The textFielf getter.
- getStatController() - Method in class domain.controller.DomainController
-
Gets stat controller
- getString(String) - Method in class presentation.utils.LocaleUtils
-
Gets the string in the MessagesBundle from a given key
- getTimeRanking() - Method in class domain.controller.StatController
-
Gets the time ranking
- getTurns() - Method in class presentation.controller.TerminalController.Board
-
Gets turns.
- getUserController() - Method in class domain.controller.DomainController
-
Gets user controller
- getUserLanguage(String) - Method in class domain.controller.UserController
-
Return the language of a given user
- getUsername() - Method in class presentation.controller.PresentationController
-
Gets the username
- getWhites() - Method in class domain.model.row.ControlRow
-
Gets the number of whites in the control combination
- getWhites() - Method in class presentation.controller.TerminalController.Turn
-
Gets whites.
- goBackToStart - Variable in class presentation.utils.TerminalMenuBuilder
-
- GREEN - Static variable in class presentation.utils.ColorUtils
-
- GREEN_DARK - Static variable in class presentation.utils.ColorUtils
-
- guess - Variable in class presentation.controller.TerminalController.Turn
-
- guessHelp(ColorRow, ControlRow, int, int) - Static method in class domain.model.player.ComputerPlayer
-
Generates a help attempt.


We introduce a neural implicit framework that exploits the differentiable properties of neural networks and the discrete geometry of point-sampled surfaces to approximate them as the level sets of neural implicit functions.
To train a neural implicit function, we propose a loss functional that approximates a signed distance function, and allows terms with high-order derivatives, such as the alignment between the principal directions of curvature, to learn more geometric details.
During training, we consider a non-uniform sampling strategy based on the curvatures of the point-sampled surface to prioritize points with more geometric details. This sampling implies faster learning while preserving geometric~accuracy when compared with previous approaches.
We also use the analytical derivatives of a neural implicit function to estimate the differential measures of the underlying point-sampled surface.
The main contribution of our work is a global geometric representation in the continuous setting using neural networks as implicit functions. Besides capturing geometric detail, this model is robust for shape analysis and it is efficient since we have its derivatives in closed form.
Specifically, we propose a loss function that allows the exploration of tools from continuous differential geometry during the training of the neural implicit function. This results in high fidelity when reconstructing geometric features of the surface.
During the training of the neural implicit function, we use the discrete differential geometry of the dataset (triangle mesh) to sample important regions. This results in robust and fast training, without losing geometric details.
Exploring Differential Geometry in Neural Implicits
Tiago Novello, Guilherme Schardong, Luiz Schirmer, Vinícius da Silva, Hélio Lopes and Luiz Velho
Please send feedback and questions to Tiago Novello.
@article{novello:i3d:2022,
title = {Exploring differential geometry in neural implicits},
journal = {Computers & Graphics},
volume = {108},
pages = {49-60},
year = {2022},
issn = {0097-8493},
doi = {https://doi.org/10.1016/j.cag.2022.09.003},
url = {https://www.sciencedirect.com/science/article/pii/S0097849322001649},
author = {Tiago Novello and Guilherme Schardong and Luiz Schirmer and Vinícius {da Silva} and Hélio Lopes
and Luiz Velho},
keywords = {Implicit surfaces, Neural Implicits, Neural Networks, Curvatures},
}
We would like to thank
Towaki Takikawa,
Joey Litalien,
Kangxue Yin,
Karsten Kreis,
Charles Loop,
Derek Nowrouzezahrai,
Alec Jacobson,
Morgan McGuire and
Sanja Fidler
for licensing the code of the paper Neural Geometric Level of Detail:
Real-time Rendering with Implicit 3D Surfaces and project page under the MIT License. This website is based on that page.
We also thank the Stanford Computer Graphics Laboratory for the Bunny, Dragon, Armadillo, and Happy Buddha, acquired through the Stanford 3D scan repository.


{% extends "simple.html" %} {% block body %}
This test determines if redirects are cached for resources in the page (as opposed to the page URL itself).
{% endblock %}


<xsl:choose> / <xsl:when> / <xsl:otherwise>
Contents
Functionality
The <xsl:choose>
element is used to determine one
course of action based on a series of tests. Each test is done inside an
<xsl:when>
element. If a test succeeds, the body of the
<xsl:when>
element is executed. If no tests fail then
a <xsl:otherwise>
element can be used to specify a
default action:
<xsl:choose> <xsl:when test="element-available('some-extension')"> ... </xsl:when> <xsl:when test="function-availabe('saxon:nodeset')"> ... </xsl:when> <xsl:otherwise> ... </xsl:otherwise> </xsl:choose>
Implementation
The Choose
class places all When
child-nodes
in a vector. The Choose
class translates the "test"-attribute
of all When
nodes (in strict order) and chains them together
in an if-else style. The expression that holds each test contains a true-
and a false-list. These lists are vectors of branch targets that should be
used if the test succeeds or fails, respectively. The first test's
false-list is pointed to the start of the next test (ie. if the first test
fails, then we run the next test). The last test's false-list points directly
to the code for the body of the <xsl:otherwise>
element.
Just as with the <xsl:if>
-element, special care is
taken for the element-available()
and
function-available()
functions. These functions are evaluated at
compile-time (this can be done since all parameters for these functions are
literals) and the body of a <xsl:when>
element is not
compiled if we know that it will never be needed at runtime.


2 Corinthians 13:7
Now I pray to God that ye do no evil; not that we should appear approved, but that ye should do that which is honest, though we be as reprobates.