text:
\section{Introduction}
With computers and networks being applied more and more widely in daily life, enterprise and organizations tend to store large scale data digitally. However, those information management systems often contain vulnerabilities and are prone to be exploited by hackers.
In May 2017, a ransomworm called \textit{Wannacry} bursts out worldwide. It caused massive infection and enormous economic losses by infecting various industrial and government internal networks, such as UK's National Health Service and etc \cite{c16}. The average attack the other organizations suffer is 14,300 per day according to \cite{c21}. It is reported to derive from an NSA exploit tool \cite{c8}. Once Wannacry infects a system, it encrypts copies of various file types and deletes the originals. The encrypted files cannot be accessed without a decryption key.

A lot of work has been done to analyze Eternalblue and Wannacry. Most of the papers on Wannacry focused on the dynamical analysis. D.Y. KAO et al. analyzed Wannacry dynamically, from the aspects of process name, Registry, file system, and Network activity, respectively. They also applied the features to these aspects to create Yarra rules for pattern-matching detection \cite{c14}. Qian et al. also dynamically analyzed Wannacry for testing the performance of an automatic dynamical analysis tool \cite{c18}. As to the static analysis, D.Y. KAO et al. provided a detailed analysis based on different phases. Critical files and strings participating in those phases were highlighted \cite{c19}. Hirokazu statically analyzed Wannacry based on the Eternalblue and DoublePulsar modules. He also applied the discoveries into Snort rules to defend future network attacks based on those two modules \cite{c20}.

Even though those works helped investigate the working mechanism of Wannacry and Eternalblue, there lacks the study on the comparison between Wannacry's Eternalblue module and the original Eternalblue module. To bridge this research gap, we proceed with our analysis by first studying the exploit's working mechanism that applied in \textit{Wannacry}. Then we use code analytic tools and network capture tools to compare Wannacry's Eternalblue module and the original Eternalblue module. After a detailed study, we find that the exploit utilized in Wannacry shares a very similar pattern to the original exploit, which can be used as features for signature extraction.

The remainder of this paper is organized as follows. In section 2, the original Eternalblue module's working mechanism is introduced. Section 3 analyzes the Eternlablue module in \textit{Wannacry} and Section 4 concludes this paper.

\section{Eternalblue's working mechanism in Metasploit}
Assume we have two computers: an attacking machine and a victim machine. At the very beginning, Eternalblue is a piece of code on the attacking machine. Once executed, it will send multiple SMB (Server Message Block) requests to the victim machine through the SMB protocol. As a result, the victim machine must respond to these requests. In this SMB communication phase, the attacking machine plays the role of client and the victim machine plays the role of server, which is the reason we refer them to attacking machine and victim machine respectively. Among these SMB requests, the Transaction SMB commands are essential because they are utilized to tamper the data on the server (victim) with a buffer overflow bug, which further leads to the execution of the ransomworm on the victim machine.

Hence, prior to introducing details of the working mechanism of Eternalblue, in this section we will firstly introduce the normal usage of Transaction SMB. According to MSDN \cite{c10}, Transaction SMB commands enable the client to access advanced features on the server. Specifically, the three transaction messages are:
\begin{itemize}
    \item SMB\_COM\_TRANSACTION (or \textit{Trans}),
    \item SMB\_COM\_TRANSACTION2 (or \textit{Trans2}),
    \item SMB\_COM\_NT\_TRANSACT (or \textit{NT Trans}).
\end{itemize}

It is also noted in \cite{c11} that, SMB\_COM\_NT\_TRANSACT subcommands enable the transfer of very large data chunks. And SMB\_COM\_TRANSACTION2 subcommands provide richer file system services such as allowing clients to set and retrieve Extended Attribute key/value pairs, to make use of long file names, and to perform directory searches, etc.

The information above summarizes the legitimate usage of the Transaction SMB commands. However, in Eternalblue, they are not applied for the original legitimate purposes, but for a buffer overflow bug. Specifically, when responding to these crafted requests, the server will convert the payload contained in these requesting Transaction SMB packets, i.e., the original Os2Fea \cite{c5} list, to the currently used NtFea \cite{c5} format (result type), as Os2Fea (the original type) is outdated \cite{c12}. The NtFea list will be stored into a \textit{result list buffer}. This process is also referred to the conversion process. Under some mild conditions, the server can be fooled by allocating a result list buffer smaller than the NtFea list to be stored. Thus the NtFea list can overwrite the next buffer. And the original list with a specific length will satisfy such mild conditions.

In more detail, the ``next buffer" is a Srvnet.sys \cite{c5} buffer, which is allocated on the server for the attacker's SMB request. Once allocated, this buffer will wait for another data package to be sent to the server. There are two parameters in the header of this Srvnet.sys buffer: one decides where to map the data package on this server upon receiving the data package and another decides what function to execute when the Srvnet connection is disconnected. So if these two parameters are modified to the same address, the payload will be mapped and be executed upon closing the connection.

To trigger the overflow of Srvnet.sys and thus inject the malicious codes to the victim, Eternalblue covers three essential steps: \textit{crafting original list}, \textit{buffer grooming}, and \textit{sending the payload}. We proceed our discussion of Eternalblue by first showing a high-level description of the three steps, then dive into details of each step.

From a high-level point of view, in step \textit{crafting original list}, an original list is crafted. In the second step, multiple grooming packages are sent in a deliberate order which changes the server's buffer status to a point that is vulnerable to overflow. Then, sending the complete original list results in the overflow. In the final step, the payload is sent to the server's Srvnet.sys buffer. Because of the overflow, the payload can be mapped to the desired location and executed upon closing the connection.

\subsection{Crafting original list}
To understand crafting of the original list, we firstly recall the normal conversion process on the server machine.

As shown in Algorithm \ref{O2Fea}, in the Os2Fea format, there is a parameter \textit{ULONG SizeOfList} prior to the actual records describing the total bytes of the original list.

The server's legitimate conversion process is shown in Algorithm \ref{algorithm1}. In step \textit{Compute S1}, the algorithm will go through the original list and discard the records that exceed the boundary set by SizeOfList, and the remaining original list (Os2Fea) size is S2, as shown in Fig. \ref{discard}. S1 is the result list (NtFea) size corresponding to the remaining original list with size S2. Hence, in the third line of Algorithm \ref{algorithm1}, the server allocates the result list buffer with size S1.

Back into the second line of Algorithm \ref{algorithm1}, S2 needs to be assigned to the original list's parameter SizeOfList, as this parameter will be used later in the while loop. In the \textit{while} statement of Algorithm \ref{algorithm1}, the server calls a subfunction repeatedly to convert the original list block by block and stores the result list into this result list buffer. The number of the loop is determined by the SizeOfList's value. The original\_list\_initial\_address in this algorithm points to the beginning of the original list. It is later assigned to variable \textit{Current\_pointer}, which will increase after each iteration.

Above is the server's conversion process. The bug occurs when assigning S2 to the original list's parameter SizeOfList if the  SizeOfList is no less than $2^{16}$ (0x10000 in hexadecimal) and the actual original list's record exceeds the boundary set by SizeOfList \cite{c2}, like shown in Fig. \ref{discard}.

In more detail, when parsing S2 to SizeOfList, only the LOWORD (low-order word) bytes  of the DWORD (double word) variable SizeOfList is updated because of a wrong casting instruction. Hence the End\_pointer in Algorithm \ref{algorithm1} will be miscalculated, which leads to an unexpected conversion time. This corresponds to a different time to execute the \textit{while} statement in Algorithm \ref{algorithm1}. For example, as occurred in this Eternalblue exploit, the SizeOfList is initiated with 0x10000. After discarding, the remaining original list size S2 is 0xff5d. However, when executing the second line of Algorithm \ref{algorithm1} (i.e., assigning S2 to SizeOfList), only the LOWORD bytes of SizeOfList is updated, which turns SizeOfList from 0x10000 to 0x1ff5d rather than 0xff5d, hence enlarge this SizeOfList.

   \begin{algorithm}[ht]
\caption{Os2Fea list structure}
\label{O2Fea}
 \begin{algorithmic}
 \STATE $Struct\ Os2FeaList\{$
 \STATE $ULONG\ SizeOfList$
 \STATE $UCHAR\ Os2FeaList\lceil SizeOfList-4\rceil$
 \STATE $\}$
 \end{algorithmic}
 \end{algorithm}

\begin{algorithm}[ht]
\caption{The legitimate server's conversion process}
\label{algorithm1}
 \begin{algorithmic}
 \STATE $Compute\  S1$
 \STATE $S2\ assigned\ to\ SizeOfList\ $
 \STATE $Allocate \ buffer\ (result\ list\ buffer)\ with\ size\ S1$
 \STATE $End\_pointer=original\_list\_initial\_address+SizeOfList$
 \STATE $Current\_pointer=original\_list\_initial\_address$
 \WHILE{Current\_pointer\textless{}End\_pointer}
 \STATE $convert(Current\_pointer)$
 \STATE $Current\_pointer+=each\_record\_size$
 \ENDWHILE
   \end{algorithmic}
   \end{algorithm}

\begin{figure}[ht]
 \centering
      \includegraphics[scale=0.3]{discard.pdf}

      \caption{Server discards the out-of-boundary records and calculates the result list size (S1) based on the remaining records}\label{discard}

   \end{figure}

Based on the discussion above, the crafted list is as follows. The forged original list is of the Os2Fea type, its parameter SizeOfList is with value $2^{16}$ (0x10000 in hexadecimal), followed by a list of Os2Fea data, as demonstrated in Algorithm \ref{O2Fea}. There are 607 pieces of data included in this crafted list and garbage data at the end which confines the request packet to a particular size. The first 605 pieces of records are empty, the 606th record is not empty and can be filled with arbitrary data of a certain length. The 607th record contains the fake Srvnet.sys header and this 607th record exceeds the boundary set by SizeOfList \cite{c12}. As analog in Fig. \ref{discard}, the 607th record is the black section, followed by some garbage data. After discarding, only the first 606 records should be converted.

When converting this crafted list on the server, as demonstrated in Algorithm \ref{algorithm1}, after discarding, S1 and S2 are calculated representing the first 606 records of the result list and the original list. Then, the SizeOfList should be assigned to S2 but in fact assigned to an enlarged value because of the wrong casting (assigned 0x1ff5d rather than 0xff5d). Hence the \textit{End\_pointer} is also enlarged. Afterwards, the result list buffer that can only store the first 606 result records will be allocated. Later, the conversion begins, and the loop will be executed for extra times as the \textit{End\_pointer} is enlarged. Hence the server will convert and store 607 records in the buffer for 606 records. This is the reason why this 607th record shall be crafted with a forged Srvnet.sys buffer header and the preceding records can be filled with arbitrary data of a certain size.

As mentioned earlier, once the Srvnet.sys buffer is allocated on the server, it waits for another data packet. There are two critical fields in the Srvnet.sys buffer header for processing the data packet: one is called \textit{memory descriptor list} (MDL) which points to a virtual address that the data package shall be mapped to once received; the other one is called \textit{pSrvNetWskStruct}. It points to a function which shall be called when the Srvnet connection is closed. Therefore, overwriting these two fields with the same address can make the server map the shellcode to the desired location and execute the shellcode after closing the Srvnet connection.

Finally, it should be noted that the crafted data in the 607th record should be differentiated from the shellcode since the crafted 607th record is used to overwrite the Srvnet.sys buffer's header, which paves the way for sending the shellcode. The sending process of the shellcode is to be discussed later.

\subsection{Buffer grooming}

We have discussed how the crafted list will lead to the buffer overflow in Srvnet.sys. If the buffer Srvnet.sys is not allocated exactly after the result list buffer, the attack fails. This \textit{buffer grooming} process aims to improve the success rate of overflowing the Srvnet.sys buffer. Table. \ref{table1} shows all the grooming packages sent by Eternalblue in timeline. We have validated the packets by analyzing the packets sent by the samples from 2 sources \cite{c3} and \cite{c4}. The ultimate goal of the grooming procedure is to make the server allocate a \textit{Srvnet.sys buffer} immediately following the \textit{result list buffer}. Only when this goal is achieved, the excessive data from the \textit{result list buffer} can overwrite the \textit{Srvnet.sys buffer}'s header later. The order of the packages sent in Table. \ref{table1} can increase the possibility of achieving our ultimate goal. However, the proof is complicated and out of the scope of this paper.

\begin{table}[]
\caption{Eternalblue package sent in timeline}
\label{table1}
\begin{tabular}{|l|l|l|}
\hline
No.                                                          & Type                                                   & Description                                                                                \\ \hline
1                                                            & Srv                                                    & \begin{tabular}[c]{@{}l@{}}Anonymous login and IPC\$ tree connect, then send the crafted original list\\ except the last segment to the server through an NT Trans Request and\\ multiple Trans2 Secondary Requests. An Echo package is followed to ensure the \\ list was sent successfully.\end{tabular}                                                                                \\ \hline
2                                                            & \begin{tabular}[c]{@{}l@{}}1st\\ reserve\end{tabular}  & \begin{tabular}[c]{@{}l@{}}Send malformed Negotiate Protocol Request and Session Setup AndX Request\\ to reserve buffer (0x10000 bytes) with size smaller than the result list buffer in \\NonPagedPool on the server.\end{tabular}                                                                                \\ \hline
3-15                                                         & Srvnet                                                 & \begin{tabular}[c]{@{}l@{}}Send multiple TCP packages to establish Srvnet connections which fill up the\\ slot before the result list buffer.\end{tabular}                                                                                \\ \hline
16                                                           & \begin{tabular}[c]{@{}l@{}}2nd \\ reserve\end{tabular} & \begin{tabular}[c]{@{}l@{}}Send malformed Negotiate Protocol Request and Session Setup AndX Request\\ to reserve buffer (0x11000) slightely bigger than the result list buffer. This \\reserved buffer serves as a place holder for the result list buffer.\end{tabular}                                                                                \\ \hline
2                                                            & \begin{tabular}[c]{@{}l@{}}1st \\ reserve\end{tabular} & \begin{tabular}[c]{@{}l@{}}Send a FIN TCP package to free the 1st reserved buffer.\end{tabular}                                                                                \\ \hline
17-22                                                        & Srvnet                                                 & \begin{tabular}[c]{@{}l@{}}Send TCP packages to establish extra Srvnet connections. One of them is \\expected to be allocated next to the 2nd reserved buffer.\end{tabular}                                                                                \\ \hline
16                                                           & \begin{tabular}[c]{@{}l@{}}2nd \\ reserve\end{tabular} & \begin{tabular}[c]{@{}l@{}}Send a FIN TCP package to free the 2nd reserved buffer.\end{tabular}                                                                                \\ \hline
1                                                            & Srv                                                    & \begin{tabular}[c]{@{}l@{}}Send the last segment of the original list through a Trans2 Secondary Request.\\ So the Srv.sys will convert the list. To store the result list with size 0x10fe8 \\(S1), the server allocates 0x11000 bytes. Because of Windows memory's\\ last-in-first-out working fasion, the  2nd reserved buffer just being freed should \\be allocated here.\end{tabular} \\ \hline
\begin{tabular}[c]{@{}l@{}}3-15 and \\ 17-22\end{tabular} & Srvnet                                                 & \begin{tabular}[c]{@{}l@{}}Send the shellcode through Mutiple TCP packages. The overflow ensures the\\ shellcode be mapped to a desired location. Then close the connections.\end{tabular}                                                                                \\ \hline
\end{tabular}
\end{table}

The following paragraphs introduce the packages sent in each step listed in Table. \ref{table1}. To validate the buffer grooming process, we reproduce the spreading process in a virtual environment and check the captured network packages listed in Table. \ref{table1}. The samples are created based on scripture on the exploit-db website \cite{c3} and Metasploit Eternalblue module \cite{c4}. The baseline of the virtual environment and experiment tools are shown below:
\begin{itemize}
    \item Virtual Machine: VMWare Workstation
    \item Client (attacker) machine OS: Windows 7 x64 SP1
    \item Client (attacker) machine IP address: 10.10.10.151
    \item Server (victim) machine OS: Windows 7 x64 SP1
    \item Server (victim) machine IP address: 10.10.10.152
    \item Analysis tools: Wireshark
\end{itemize}

Firstly the exploit from the client (attacker) machine establishes a connection and determines the target operating system's version and architecture based on the SMB and DCE/RPC (Distributed Computing Environment / Remote Procedure Calls \cite{c13}) reply, respectively. Figure. \ref{buffer1} shows the server (victim) machine's buffer initial status before receiving any packages from the client (attacker) machine.

  \begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer1.pdf}

      \caption{Server machine's buffer initial status}\label{buffer1}

   \end{figure}

Then the exploit sends the original list to the target machine through connection No.1. However, the legitimate usage of the Transaction SMB request is to send Trans2 Secondary Request after Trans2 Request or to send the NT Trans Secondary Request after the NT Trans Request. Here in this exploit, the purpose of sending Trans2 Secondary Requests packets after the initial NT Trans Request is to utilize another data parsing bug, which permits the attacker to send the payload in a Trans2 request that is bigger than its limit, e.g. 0xffff \cite{c12}. To ensure the original buffer is received correctly by the target machine, the exploit on the client machine sends an echo package to the server machine. After receiving those packages, the server machine's buffer status changes to the one depicted in Fig. \ref{buffer2}.

   \begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer2.pdf}

      \caption{Server machine's updated buffer state}\label{buffer2}

   \end{figure}

Then in connection No.2, to reserve a buffer chunk which is used for grooming, another request is sent from the client to the server. After receiving the request, the server's buffer status is updated as shown in Fig. \ref{buffer3}.

      \begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer3.pdf}

  \caption{Server machine's updated buffer state}\label{buffer3}
   \end{figure}

Next, in order to keep grooming the buffer, as in connection No.3-15 in Table. \ref{table1}, multiple Srvnet requests are sent to allocate multiple Srvnet.sys buffer chunks on the server. This is the first series of the Srvnet request packages which fill up the slot before the second reserved buffer. Fig. \ref{buffer4} demonstrates the server's buffer status after receiving these Srvnet requests. Srvnet connections in this step increase the probability that the Srvnet buffer allocated in connections No.17-22 be allocated immediately following the \textit{result list buffer} because connections No.3-15 fill up the slot between the two reserved Srv buffer (connection 2 and connection 16).

\begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer4.pdf}

      \caption{Server machine's updated buffer state}\label{buffer4}

   \end{figure}

As in connection No.16 in Table. \ref{table1}, the second reserving buffer chunk is reserved as a placeholder (to be replaced with the \textit{result list buffer} later). Afterwards, the first reserved buffer chunk through connection No.2 shall be freed. The first and second buffer reserving packets also utilize a bug by setting special parameters in the request to make the large NonPagedPool allocation \cite{c12}, which is much greater than it is permitted to. After these two steps, the server's buffer status changes to the one depicted in Fig. \ref{buffer5}.

\begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer5.pdf}

      \caption{Server machine's updated buffer state}\label{buffer5}

   \end{figure}

Next, in connection No.17-22, extra Srvnet request packages are sent to the server. It is expected that one Srvnet.sys buffer allocated by these requests can be immediately after the \textit{result list buffer}, hence the overflow in the \textit{result list buffer} can overwrite the following Srvnet.sys buffer's header. Figure. \ref{buffer6} shows the server buffer status after receiving the extra Srvnet requests.

   \begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer6.pdf}

      \caption{Server machine's updated buffer state}\label{buffer6}

   \end{figure}

In connection No.16, the second reserved buffer is freed. And in connection No.1, the last segment of the original list is sent to the server, making the system start the conversion.

To start the conversion process, the server tries to allocate a \textit{result list buffer} with size S1. Since the second reserved buffer, which has the size slightly greater than the result list, is just freed, Windows memory's last-in-first-out working fashion guarantees this buffer be allocated as the \textit{result list buffer}. During the conversion process, as introduced before, the data in the result buffer can overwrite the following Srvnet.sys buffer. The server buffer status changes to the one shown in Fig. \ref{buffer7}.

      \begin{figure}[ht]
      \includegraphics[scale=0.4]{buffer7.pdf}

      \caption{Server machine's updated buffer state}\label{buffer7}

   \end{figure}

Finally, the exploit sends the shellcode through each of the previously established Srvnet connections (i.e, connection No.3-15, and 17-22).

\subsection{Sending the shellcode}
The payload is a piece of executable code that is sent after the target machine is penetrated. Once the payload is executed, the attacker can leverage the vulnerability and do whatever he wants to do. In previous discussion, we have explained that by sending the grooming packages, multiple Srvnet connections are established and one of these corresponding Srvnet.sys buffes is expected to be overflown. According to the Check Point Reseach paper \cite{c5}, after the Srvnet connections are established, these connections wait for another data packages and upon receiving the data packet, it will map the data according to the parameter \textit{pMdl} contained in the Srvnet buffer's header. Also, upon closing the Srvnet connection, the function pointed by \textit{HandlerFunction} in the \textit{pSrvnetWskStruct} will be called. The Srvnet.sys buffer has a structure as shown in Algorithm \ref{srvnet}.

   \begin{algorithm}
   \caption{Srvnet.sys buffer structure}
   \label{srvnet}
   \begin{algorithmic}
   \STATE$Struct\ Srvnet\_header\{$
   \STATE$......$
   \STATE $MDL *pMdl1$
   \STATE $......$
   \STATE $Srvnet\_receive *pSrvnetWskStruct\{$
   \STATE $......$
   \STATE $PVOID HandleFunction$
   \STATE $\ \ \ \}$
   \STATE $......$
   \STATE $\} $
   \end{algorithmic}
   \end{algorithm}

In this section, we have introduced the \textit{shellcode sending process}. However, the detailed code analysis on the shellcode is not discussed in this paper as it is beyond the scope of this paper.

\section{Code analysis}

As described in Section 1, \textit{Wannacry} utilizes the famous exploit Eternalblue in its spreading process. In this section, we  provide a static analysis on Wannacry's exploit module to investigate how this exploit is utilized. The baseline of the analysis tools are shown below:
\begin{itemize}
  \item \textit{Wannacry} SHA256 hash: 24d004a104d4d54034dbcffc2a4b19a11\linebreak f39008a575aa614ea04703480b1022c
  \item Static analysis tool: IDA 6.8
\end{itemize}

\subsection{Wannacry}

Wannacry creates local network spreading threads and Internet spreading threads to propagate through the network. Both threads use the same exploit Eternalblue to infect other systems.

In the local network spreading process, Wannacry creates a target IP address table and tries to attack the potential victims in the table exhaustively. In the Internet spreading process, Wannacry generates a random IP address and tries to attack the system sharing the same network segment. Like Eternalblue, the spreading process in Wannacry also consists of 3 essential steps: \textit{crafting original list}, \textit{buffer grooming} and \textit{sending the payload}. Table. \ref{table2} depicts the summery of Wannacry's package capture after we analyzed the network traffic during the infection. This table describes almost the same process as shown in Table. \ref{table1}, except for several differences. Even though the general process described in Table. \ref{table2} is similar to the process given in Table \ref{table1}, some of the packets are not introduced in Table. \ref{table1}, as they are unique in Wannacry.

\begin{table}[]
\caption{Summery of package capture of Wannacry}
\label{table2}
\begin{tabular}{|l|l|l|}
\hline
Step & Attempt                                                                                & Packages                                                                                \\ \hline
1    & \begin{tabular}[c]{@{}l@{}}Detect the existence of MS17\_010\\ and DoublePulsar.\end{tabular}           & \begin{tabular}[c]{@{}l@{}}PeekNamedPipe Request and Trans2 Request\end{tabular}                      \\ \hline
2    & \begin{tabular}[c]{@{}l@{}}Send the original list except the \\ last segment.\end{tabular}               & \begin{tabular}[c]{@{}l@{}}A NT Trans Request and multiple Trans2 \\ Secondary Requests\end{tabular}   \\ \hline
3    & \begin{tabular}[c]{@{}l@{}}Ensure the package in last step\\ were sent successfully.\end{tabular}        & Echo Request                                                                                \\ \hline
4    & Reserve the first buffer.                                                                               & \begin{tabular}[c]{@{}l@{}}Negotiate Protocol Request and Session Setup \\Andx Request\end{tabular} \\ \hline
5    & Reserve Srvnet.sys buffers.                                                                             & Multiple TCP packages                                                                                \\ \hline
6    & Reserve the second buffer.                                                                              & \begin{tabular}[c]{@{}l@{}}Negotiate Protocol Request and Session Setup \\Andx Request\end{tabular} \\ \hline
7    & Free the first reserved buffer.                                                                         & A FIN TCP package                                                                                \\ \hline
8    & Reserve extra Srvnet.sys buffers.                                                                       & Multiple TCP packages                                                                                \\ \hline
9    & \begin{tabular}[c]{@{}l@{}}Ensure the packages sent in last\\ step were sent successfully.\end{tabular} & Echo Request                                                                                \\ \hline
10   & Free the second reserved buffer.                                                                        & A FIN TCP package                                                                                \\ \hline
11   & \begin{tabular}[c]{@{}l@{}}Send the last segment of the \\ original list.\end{tabular}                  & \begin{tabular}[c]{@{}l@{}}A Trans2 Secondary Request\end{tabular}                                   \\ \hline
12   & Send the shellcode.                                                                                & Mutiple TCP packages                                                                                \\ \hline
\end{tabular}
\end{table}

Through the static analysis of Wannacry by using IDA 6.8, we discovered the function beginning at offset 0x00401D80 crafts the fake original list and prepares the grooming packages, which is discussed in the \textit{crafting original list} and \textit{buffer grooming} steps. These fake original list, grooming packages, and the shellcode mentioned above are embedded into the ransomworm by the ransomworm author. During the runtime, they are extracted and pasted into a buffer chunk in the same order as listed in Table \ref{table1}. Then data in this buffer chunk will be sent later to the server, which spreads the ransomworm and executes the ransomworm on the server. All the data is in plain-text format and is barely different from the Metasploit's exploit. We will discuss the particulars in the following paragraphs.

Prior to preparing the grooming packages and the shellcode, Wanancry sends a PeekNamePipe package and a Trans2 Request package to detect the existence of MS17\_010 and backdoor Doublepulsar respectively \cite{c14} as in Fig. \ref{peekWN} and Fig. \ref{TransWN}. As step 1 listed in Table. \ref{table2}, the PeekNamePipe package data is embedded into the ransomworm, as depicted in Fig. \ref{peekWN}. It is used when the ransomworm needs to send it (by instruction \textit{call send} at offset 00401AFE). After sending this package, the ransomworm waits for the response from the server by calling the \textit{recv} function at offset 00401B15. If the data in the response package equal to \textit{STATUS\_INSUFF\_SERVER\_RESOURCES} (\textit{0xC0000205} in hexadecimal), that denotes the MS17\_010 vulnerability resides on the server.
\begin{figure}[ht]
      \includegraphics[scale=0.75]{peeknamepipe.png}

      \caption{PeekNamePipe package}\label{peekWN}

   \end{figure}
As shown in Fig. \ref{TransWN}, the Trans2 package data is also embedded into the ransomworm. The ransomworm waits for the response from the server by the instruction \textit{call recv}. If the \textit{Multiplex ID} field in the response package equals to \textit{0x51}, that denotes the server is infected with Doublepulsar, whereas if the field equals to \textit{0x41}, that denotes the server is not infected.
   \begin{figure}[ht]
      \includegraphics[scale=0.75]{trans2_probe0.png}

      \caption{Trans2 package}\label{TransWN}

   \end{figure}

To establish the connection to the server (victim) machine, the first Negotiate Protocol package is crafted as shown in Fig. \ref{1stneo}. The Session Setup AndX and Tree Connect AndX Request packages are crafted in the similar way as depicted in Fig. \ref{1stses} and Fig. \ref{1sttree}.
\begin{figure}[ht]
      \includegraphics[scale=0.75]{1stneo.png}

      \caption{Negotiate Protocol package}\label{1stneo}

   \end{figure}

   \begin{figure}[ht]
      \includegraphics[scale=0.75]{1stses.png}

      \caption{Session Setup AndX package}\label{1stses}

   \end{figure}

   \begin{figure}[ht]
      \includegraphics[scale=0.75]{1sttree.png}

      \caption{Tree Connect AndX package}\label{1sttree}

   \end{figure}

Next, as in step 2 of Table. \ref{table2}, an NT Trans Request package, and multiple Trans2 Secondary Request packages containing the crafted Os2Fea list without the last segment are prepared as in Fig. \ref{nttrans}, Fig. \ref{nttrans2}, and Fig. \ref{nttrans2_1}.

  \begin{figure}[ht]
      \includegraphics[scale=0.65]{ntTrans.png}

      \caption{Nt Trans Request}\label{nttrans}

   \end{figure}
  \begin{figure}[ht]
      \includegraphics[scale=0.75]{ntTrans2.png}

      \caption{Part of Nt Trans2 Request}\label{nttrans2}

   \end{figure}
     \begin{figure}[ht]
      \includegraphics[scale=0.75]{ntTrans2_1.png}

      \caption{Part of Nt Trans2 Request}\label{nttrans2_1}

   \end{figure}
In step 3 of Table. \ref{table2}, to ensure the original list is received completely, an echo package is prepared as shown in Fig. \ref{echocode}.
\begin{figure}[ht]
      \includegraphics[scale=0.75]{echo_code.png}

      \caption{Echo package to check original list well received} \label{echocode}

   \end{figure}

In step 4 of Table. \ref{table2}, a package which reserves the first buffer chunk on the target is prepared. The corresponding Negotiate and Session Setup Request packages are shown in Fig. \ref{1streservecode}.

\begin{figure}[ht]
      \includegraphics[scale=0.65]{1stReserve_code0.png}

      \caption{Grooming package reserves a buffer chunk}\label{1streservecode}

   \end{figure}

As in step 5 of Table. \ref{table2}, to continue the buffer grooming process, multiple Srvnet connection requests should be sent to reserve Srvnet.sys buffer chunks on the target system. Figure. \ref{srvnetcode0} shows the crafting of each Srvnet package.

\begin{figure}[ht]
      \includegraphics[scale=0.75]{srvnet_code.png}

      \caption{Crafting grooming package which reserves a buffer chunk}\label{srvnetcode0}

   \end{figure}
   \begin{figure}[ht]
      \includegraphics[scale=0.75]{srvnet_code1.png}

      \caption{Copying crafted grooming package to destination address}\label{srvnetcode}

   \end{figure}

As in step 6 of Table. \ref{table2}, the second reserving package shall be sent to the server. The crafting process is shown in Fig. \ref{2ndreservecode}, including Negotiate Protocol Request and Session Setup AndX Request. In step 7, the first reserving buffer allocated previously shall be freed.

\begin{figure}[ht]
      \includegraphics[scale=0.75]{2ndReserv_code.png}

      \caption{Second package to reserve a buffer chunk}\label{2ndreservecode}

   \end{figure}

In step 8, extra 5 Srvnet connection requests are crafted as shown in Fig. \ref{extrasrvnetcode} and will be sent to the target machine to reserve Srvnet.sys buffers. It is expected that one Srvnet.sys buffer allocated in this step is immediately after the second reserved buffer, which will be replaced with the \textit{result list buffer} later. In step 9, an Echo package is crafted as shown in Fig. \ref{wn_echo1}.

\begin{figure}[ht]
      \includegraphics[scale=0.75]{extra_srvnet_code0.png}

      \caption{Crafting extra SMB2 requests which reserve Srvnet.sys buffer}\label{extrasrvnetcode}

   \end{figure}

\begin{figure}[ht]
      \includegraphics[scale=0.75]{echo1.png}

      \caption{Crafting Echo request}\label{wn_echo1}

   \end{figure}

In step 10, the second reserved buffer shall be freed and in step 11, the last segment of the crafted original list shall be sent to the target as shown in Fig. \ref{lastsegcode}. Once this last segment is received, the target's conversion process (converting the original list to the result list) begins.

\begin{figure}[ht]
      \includegraphics[width=1\linewidth]{lastSeg0_code.png}

      \caption{Last segment of original list}\label{lastsegcode}

   \end{figure}

In step 12, multiple packages that contain the same shellcode are crafted as Figs. \ref{1stpackage0}. Later they will be sent through the Srvnet connections established earlier.

\begin{figure}[ht]\centering
      \includegraphics[width=1.05\linewidth]{1st_package0.png}

      \caption{Copying part A, B and C of the first shellcode package}\label{1stpackage0}

   \end{figure}

\begin{figure}[ht]\centering
      \includegraphics[width=\linewidth]{3rd_package0.png}

      \caption{Preparing part A, B and C of the third shellcode package}\label{3rdpackage0}

   \end{figure}

\begin{figure}[ht]\centering
     \includegraphics[width=1.1\linewidth]{6th_package0.png}

      \caption{Part A and B of the sixth shellcode package is prepared}\label{6thpackage0}

   \end{figure}

~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
~\\
\section{conclusion}
The wide application of exploit Eternalblue is a meaningful security incident. The massive infection based on Eternalblue spurs everyone to raise the awareness of patching computers to current status. This paper introduced the underlying mechanism of exploit Eternalblue, as well as the reverse engineering result of Eternalblue. The code of Eternalblue applied in Wannacry is compared with the original exploit based on the reverse engineering results. The analysis reveals that the exploit Eternalblue is slightly modified when applied in Wannacry. Our work gathered much-known knowledge of Eternalblue to provide readers with a clear picture of this exploit. We have concluded the similarity and the difference of Eternalblue's code in Wannacry. We have also analyzed Notpetya and found the exploit in Notpetya is encrypted and only decrypted while the shellocode is executed. After decrypting it, the Notepetya exploit is almost identical to the original Eternalblue exploit. Due to the length constrains of the paper, the analysis details are not included here. It is  possible to extend our work to the code analysis for ransomworm detection.

\bibliographystyle{splncs04}

redpajama_set_name: RedPajamaArXiv


text:
Ministry of Environment and Natural Resources
Kaduna State Government
Kaduna State Governor Nasir El-Rufai has effected a cabinet reshuffle.
The comprehensive rejig of senior personnel includes the swapping of commissioners, the nomination of new commissioners, the appointment of new permanent secretaries
2017 Budget retains our pro-poor commitment
It is with utmost delight that I welcome you to Sir Kashim Ibrahim House this morning. Our purpose today is to sign the 2017 Budget that was passed by the Kaduna State House of Assembly on 1st December 2016. It is worth noting that our legislature is the first to pass an appropriation bill into law for the next fiscal year.
"It is our collective responsibility to protect the environment." – Remarks made by Mallam Nasir El-Rufai, Governor of Kaduna State
Here in Kaduna State, we inherited a situation in which nearly 40% of our state, local government and communal forests have been dereserved or stolen, and converted to personal uses. We are taking far reaching steps to recover them.
Our Vision To be a State that develops in harmony with her environment. Our Mission To ensure environmental protection, natural resources conservation and sustainable development.
Our Mandate Securing a quality environment conducive for good health and well being of fauna and flora. Promoting sustainable use of natural resources. Restoring and maintaining the ecosystem, ecological process and preserve biodiversity. Raising public awareness and promoting understanding of
The main function of the Ministry of Environment and Natural Resources revolves around the following key environmental issues, especially, in the area of policy awareness, enforcement and intervention: Desertification and Deforestation; Pollution and Waste Management; Climate change and clean Energy;
The main function of the Ministry of Environment and Natural Resources revolves around the following key *environmental issues, *especially in the area of policy awareness,*enforcement and intervention:*Desertification and Deforestation; *Pollution and Waste Management; *Climate change and clean Energy; *Flood, Erosion and Coastal Management (Shoreline Protection) *Environmental Standards & Regulations The Ministry's main thrusts are: Reclamation and Rehabilitation of degraded land *Biodiversity Conservation and Eco- tourism *Effective Waste Management *Mitigating the effects of Climate *Change Effective Environmental *Governance
Malam Nasir El-Rufai today inaugurated the Kaduna State Traffic and Environmental Law Enforcement Agency
El-Rufai rejigs cabinet, appoints new Perm. Secs
It is our collective responsibility to protect the environment.
Categories Select Category News Uncategorized
We welcome your feedback
Info.environment@kdsg.gov.ng
State Secretariat Complex (2nd floor), Independence Way Kaduna, Nigeria
Copyright © 2023 Ministry of Environment and Natural Resources. Designed and Managed by Hallowgate. Theme: KDSG by Hallowgate.

redpajama_set_name: RedPajamaCommonCrawl


text:
The contemporary Cuban ceramics
Surisday Reyes Martínez / 8 January, 2015
En boca cerrada... mirada cómplice.
Caminos, 2007.
Agáchate. Detalle.
Epojé, 2012.
A praxis that is revitalized
In general we can say that in the Cuban ceramic of recent decades a number of changes have been introduced in the formal conception of the proposals. There is therefore a redefinition of ceramic art given the characteristics of object propositions of their main exponents. This new concept can be seen in freedom that the creator has to do everything he considers appropriate to promote certain reflections: as an example, it could be mentioned incorporating extra-ceramic elements and industrial materials that share the stage with those of this discipline; and the ambiguity of the messages that allow varied readings.
The grotesque acts as demystifying element in the work of some authors. We might mention, in this case, the series Comilones (2000) by Osmany Betancourt, a version of Las chismosas (1995) by Martha Jimenez, the deformed and aggressive sexual organs produced by Darlyn Delgado in En boca cerrada… mirada cómplice (2006) and already since the initial parts by Sanchez that openly show a denial of the formalistic sublime reaching its peak in the eschatological forms that become the latest of her work in ceramics. So visuality that in many cases is enhanced in the works depends on the possible interpretations that are intended to suggest.
It is also perceived the ephemeral nature of some of the installative works made by artists, both established and new, as installation is one of the leading discursive modalities in this new millennium. We are witnessing undoubtedly an art object, rather than a distinct ceramics. In this respect it highlights proposals such as Tsunami (2010) by Humberto Díaz, Lo más inquietante (2001) by Sergio Raffo, the exhibition Sentido (2004) by Lisbet M. Fernandez and Epojé by Teresa Sánchez, just to cite some examples.
With respect to the meanings, it is noted that the speeches are focused on human problems, one of the meanings of greater generality of postmodernist art, and the ways to say of some artists become more acute. Precisely in relation to human problems, it is valid to mention that the addressed issues have been, mostly, extremely sensitive, committed to social issues and even today are worrisome not only for Cuba, but -in some cases, are extended to other contexts.
The migration has been treated by various artists from different perspectives. Angel Rogelio Oliva approaches it from the standpoint of family breakdown and all that that implies. This creator, in a work like El pan nuestro de cada día (1991) was interested in another worrying issue: the partitioning of the world by the imperialist powers, with particular emphasis on the consequences of such negative events affecting humans.
Reflections on macro-social issues and of universal nature that is exceedingly highly topical as isolation, commodification, consumerism, lack of democracy that do not escape to discipline. As an expression of discontent and a frontal criticism to false unanimity, it prevails then referring to the part belonging to the series Reflejos titled Relatividad del concepto unánime (2004) by Angel Rogelio Oliva Lloret, as the focus of the work revolves around this word and its relative application.
Meanwhile, Lisbet´s children in the exhibition Doble blanco (2006) return to star in this communicational fracture of the 21st century that is according to many the "age of communication". Also through her peculiar infants she achieved venture into the main consequences that excessive consumerism of capitalism can generate -exemplified in the relationship between car tires almost touching the heads of the children- in Agáchate, agáchate (2006) with which she may pose that technological and reified world can destroy the most sensitive man.
The contemporary ceramic discourse includes approaches of feminist nature, prostitution, worked for several artists, but presented by Martha in such a raw way in For sale (1998), from that black humor that arises in some of her performances. Also sexuality has occupied an important place, in respect of the latter; it cannot be ignored representations of the sexual organs produced by Darlyn through which she aims to delve into sexual behavior and its impact on the social environment, always from an unprejudiced look.
Since that expressiveness and formal aggressiveness that characterize them, Osmany Betancourt and Teresa Sánchez show themselves also concerned about the individual and its main afflictions with remarkable depth in the meanings and thematic they work. The oppression of man, his physical and psychological burden, and his enclosure are already evident in the initial parts of these creators. Since the called compressed by Betancourt we are facing what could be considered a claustrophobic aesthetics. El viaje, Avestruz -in the early years of the decade of the nineties- by Teresa are no less impressive, just to mention two examples. Those are proposals that can be understood from the personal to the collective nature.
The first one, attached to figuration of expressionist roots, has arrived at his own poetic. The exhibition La comparsa (2006) could well sum up the versatility that characterizes his work in this last period. He proposed us precisely a parade of objects as diverse as the clotheslines full of hanging artefacts such as tanks, suffering faces; men and women in encouraging or resignation attitudes, an intervened toilet, taken to the gallery as authentic artistic work, in this irreverent action, among other elements. So we can say that the despair and frustration of the human being are not alien to his work in ceramics both in small, medium, large format pieces and even in installations.
Meanwhile, Sánchez, equally versatile, and in her own words "trying to avoid typecasting" has managed to articulate a solid speech that results in works with a strong neo-expressionist language that can classify as "grotesque alarmism" but also figurative or partially abstract. Of course, her proposal of excrement to insinuate absolute dehumanization and loss of values of modern society is really unusual. The terms that identify some of her creations are complex – perhaps to strangers- which expands their understanding.
In short it is valid to say that with this approach, it gets demonstrated that the manifestation and many of those who find in it an ideal means to express their main ideo-aesthetics concerns highlighted in their works the changes occurred. It is evident then that there is an acuity and complexity in respect to the solution of the proposals and the topics covered. This is reflected in the grotesque nature of some representations, the incorporation of extra-ceramic elements and re-contextualization, the rise of installation, which together with many other elements, hamper the interpretive possibilities, creates new and conflicting readings and enrich this praxis that, without a doubt, is at the height of the rest of the expressions of Cuban contemporary art.
Surisday Reyes Martínez
Pedro Pablo Oliva and art as a weapon
Por Cecilia Crespo
The Strange Ghosts of Utopia
Por Ahmel Echevarria
Games of Angels
Por Roberto Cobas Amate
December-November 2019
[ Other Issues ]
Subscribe or Buy Now!!!
Art OnCuba Newsletter


TAIPEI, Taiwan, April 15, 2019 (SEND2PRESS NEWSWIRE) -- Taipei, Taiwan based Warrington Shaw is pleased to announce that it plans to attend this year's Asia FundForum which will take place in Hong Kong. The three-day event will run from the 14th to the 16th of October and forms part of one the world's leading investment management events, the FundForum Series.
ADDISON, Texas, April 11, 2019 (SEND2PRESS NEWSWIRE) -- Mid America Mortgage, Inc. announced today that it has hired Kerry Webb as Executive Managing Director of Business Development. In this role, Webb will be responsible for recruiting, managing and motivating teams of mortgage professionals to meet and exceed productions goals that align with the overall company's strategic volume growth and profitability goals.
PROVO, Utah, April 11, 2019 (SEND2PRESS NEWSWIRE) -- Simplifile, a leading provider of real estate document collaboration and recording technologies for lenders, settlement agents and counties, today announced it has promoted Mark Moats to Vice President of National Accounts. Moats previously served as a Regional Sales Director for Simplifile and has been with the company for nearly 13 years.
DENVER, Colo., April 9, 2019 (SEND2PRESS NEWSWIRE) -- We all have unexpected expenses. But for the many of us who are living paycheck to paycheck, those unexpected expenses can be hard - if not impossible - to afford. Loan Stop, a locally owned and operated Colorado business for the past 20 years, has expanded their services to allow customers to apply online or even from a mobile device easily and quickly.
LOS ANGELES, Calif., April 8, 2019 (SEND2PRESS NEWSWIRE) -- Reconciled is pleased to announce the opening of a new satellite office in Los Angeles. The online bookkeeping firm for entrepreneurs launched a L.A. office in partnership with local bookkeeping firm Logistis to expand services to entrepreneurs in the greater L.A. region.
SAN DIEGO, Calif., April 8, 2019 (SEND2PRESS NEWSWIRE) -- Bank of Southern California, N.A. (OTC Pink: BCAL / OTCMKTS:BCAL), a community business bank headquartered in San Diego, has appointed Gaylin Anderson Executive Vice President, Chief Banking Officer. Mr. Anderson previously served as Executive Vice President, Market Executive, and was responsible for the bank's growth within the newly added Los Angeles and Orange County markets.
DALLAS, Texas, April. 8, 2019 (SEND2PRESS NEWSWIRE) -- Residential Capital Partners is pleased to announce the acquisition of 3L Finance. As a part of the acquisition, Residential Capital Partners is pleased to be the national hard money and rental finance lending partner to 2020 REI Group.
COLUMBUS, Ohio, April 8, 2019 (SEND2PRESS NEWSWIRE) -- Digital insurance agency Matic has been named to HousingWire's HW TECH100(TM) list of the top housing technology companies in the United States. The annual awards program, now in its sixth year, recognizes the most innovative tech firms in the real estate and mortgage finance sector.
ATHENS, Ga., April 5, 2019 (SEND2PRESS NEWSWIRE) -- Both FormFree and Faith Schwartz, a member of FormFree's board of directors, were named finalists for Mortgage Professional America's Power Originator Summit Awards. As nominees for the Best Rate Referrals Award for Best Technology and the RCN Capital Award for Woman of Distinction, FormFree and Schwartz were recognized at the inaugural Power Originator Summit at the Anaheim Convention Centre on April 4.
ATHENS, Ga., April. 4, 2019 (SEND2PRESS NEWSWIRE) -- FormFree(R) today announced that it has been named to HousingWire's list of the top 100 innovators in housing technology. Now in its sixth year, the HW TECH100(TM) awards program honors leading technology companies in all sectors of the U.S. housing economy, including residential mortgage lending, servicing and investments.
WASHINGTON, D.C., April 4, 2019 (SEND2PRESS NEWSWIRE) -- NEXT Mortgage Events, creator of NEXT women's mortgage technology summit, today announced it has engaged in a strategic alliance with Housing Finance Strategies, a Washington, DC-based advisory firm led by renowned industry veteran and award winner Faith Schwartz, former executive director of HOPE NOW.
POMPANO BEACH, Fla., April 4, 2019 (SEND2PRESS NEWSWIRE) -- ACES Risk Management (ARMCO), the leading provider of financial risk mitigation and compliance solutions, announced that it has won HousingWire's sixth annual HW Tech100(tm) award, which recognizes the 100 most innovative technology companies in the U.S. housing economy. This is the fifth consecutive year that ARMCO has achieved this prestigious designation.
AUSTIN, Texas, April 3, 2019 (SEND2PRESS NEWSWIRE) -- The Texas Mortgage Bankers Association (TMBA) announced the agenda for its annual convention to be held on April 28 - 30, 2019 in San Antonio at the Marriott Rivercenter hotel. More than 1,000 industry participants are expected to at attend, which consists of comedian Dennis Miller as the keynote address, a list of preeminent speakers, educational tracks, networking opportunities, trending insights and a diverse mix of exhibitors.
SUGAR LAND, Texas, April 3, 2019 (SEND2PRESS NEWSWIRE) -- David Fleig, CEO of MorVest Capital, LLC, a financial services advisory firm specializing in mortgage banking liquidity and capital solutions, announces the addition of Managing Director Larry Charbonneau.
NEWPORT BEACH, Calif., April 3, 2019 (SEND2PRESS NEWSWIRE) -- NotaryCam, the pioneering leader in online notarization and original provider of mortgage eClosing solutions, today announced that it has been included on the sixth annual HW Tech100 list published by housing and mortgage industry trade magazine HousingWire. This marks NotaryCam's debut on the HW Tech100 list.
SALT LAKE CITY, Utah, April 2, 2019 (SEND2PRESS NEWSWIRE) -- Mortgage document preparation vendor International Document Services, Inc. (IDS), announced it has been named to the 2019 HW TECH100 list published by mortgage industry trade magazine HousingWire. IDS was part of the inaugural TECH100 list, and 2019 marks the fifth year IDS has made the list.
SAN DIEGO, Calif., April 2, 2019 (SEND2PRESS NEWSWIRE) -- ReverseVision, the leading provider of technology and training for the Home Equity Conversion Mortgage (HECM) industry, today announced it has been named to HousingWire (HW) Magazine's Tech100 list of innovative housing technology companies for a fourth time. ReverseVision was previously named a HW Tech100 honoree in 2015, 2017 and 2018.
PROVO, Utah, April 2, 2019 (SEND2PRESS NEWSWIRE) -- Simplifile, a leading provider of real estate document collaboration and recording technologies for lenders, settlement agents, and counties, announced that it has been included on the sixth annual HW Tech100 list published by housing and mortgage industry trade magazine HousingWire.
FORT MYERS, Fla. and HOUSTON, Texas, April 1, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants, a retail property, casualty insurance brokerage and employee benefits consultant, announced today that it will sponsor the International Association of Interviewers (IAI) Elite Training Day on Wednesday, April 3 and Thursday, April 4, 2019 at Chico's Headquarters in Fort Myers, Fla.
EDMOND, Okla., March 29, 2019 (SEND2PRESS NEWSWIRE) -- NEXT Mortgage Events LLC, creator of the NEXT women's mortgage tech summit, has announced that it was named a winner of the Innovations Award from PROGRESS in Lending Association.
TORRANCE, Calif., March 29, 2019 (SEND2PRESS NEWSWIRE) -- DocMagic, Inc., the premier provider of dynamic loan document preparation, automated regulatory compliance and comprehensive eMortgage solutions, announced that HousingWire has honored the company with the HW TECH100(tm) award for the sixth year in a row.
SAN FRANCISCO, Calif. and ATLANTA, Ga., March 28, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants, a retail property, casualty insurance brokerage and employee benefits consultant, today announced the addition of Chris Knight who will assume a key role in EPIC's growing Integrated Risk Solutions Consulting Practice as Senior Vice President, Analytics and Innovation.
ATLANTA, Ga. and SAN FRANCISCO, Calif., March 28, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants, a retail property, casualty insurance brokerage and employee benefits consultant, today announced the addition of Vanessa Smiley who will assume a key role in EPIC's growing Integrated Risk Solutions Consulting Practice as Senior Vice President, Operations.
ADDISON, Texas, March 26, 2019 (SEND2PRESS NEWSWIRE) -- Mid America Mortgage, Inc. announced today that Mid America Chief Operating Officer Kara Lamphere was one of four mortgage technology innovators honored by the Mortgage Bankers Association (MBA) as a 2019 MBA Insights Tech All-Star. The award, now in its 18th year, recognizes "industry leaders who have made outstanding contributions in mortgage technology."
COLUMBUS, Ohio, March 26, 2019 (SEND2PRESS NEWSWIRE) -- Digital insurance agency Matic announced today that it has partnered with Home Point Financial Corporation ("Home Point"), a national, mortgage originator and servicer, to help its mortgage servicing customers find competitively priced homeowners insurance.
DALLAS, Texas, March 25, 2019 (SEND2PRESS NEWSWIRE) -- MBA's Technology Solutions Conference & Expo -- Global DMS, a leading provider of cloud-based valuation management software, today announced the official rollout of SnapVal(TM), an automated solution that utilizes the property address to return a guaranteed price on any residential appraisal in the U.S.
ATLANTA, Ga. and SAN FRANCISCO, Calif., March 25, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants, a retail property, casualty insurance brokerage and employee benefits consultant, today announced the addition of Kevin Grady and Christian Florence, both recognized experts in utilizing rigorous data analyses, benchmarking, and key performance metrics to reduce the total cost of risk.
DALLAS, Texas and SAN FRANCISCO, Calif., March 20, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants ('EPIC') announced today that JoBeth Wells has joined the firm's Property and Casualty operations, as a Principal, reporting to EPIC Managing Principal and Director of the Southwest Region, KJ Wagner.
DALLAS, Texas and SAN FRANCISCO, Calif., March 20, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants announced today that Stephanie Pitzer, CRM, CIC has joined the firm's Property and Casualty operations, as a Client Executive, reporting to EPIC Managing Principal and Director of the Southwest Region, KJ Wagner.
SAN DIEGO, Calif., March 15, 2019 (SEND2PRESS NEWSWIRE) -- Mortgage Capital Trading, Inc. (MCT) a leading mortgage hedge advisory and secondary marketing software firm, announced that its Chief Marketing Officer, Ian Miller, was recognized by National Mortgage Professional Magazine's (NMP) for his industry accomplishments, landing him on the 2019 'Top 40 Most Influential Mortgage Professionals Under 40' list.
LOS ANGELES, Calif., March 15, 2019 (SEND2PRESS NEWSWIRE) -- Mortgage Quality Management and Research, LLC (MQMR) announced today that its National Account Executive Britt Haven has completed Level I of the Certified Mortgage Compliance Professional (CMCP) Certification and Designation program offered by the Mortgage Bankers Association (MBA).
SAN DIEGO, Calif., March 13, 2019 (SEND2PRESS NEWSWIRE) -- The Mortgage Collaborative, a fast-growing independent mortgage cooperative of banks, credit unions and mortgage bankers, continues growth initiatives by adding three new mortgage executives to its Board of Directors. The new board members were voted in at their bi-annual member conference held in Austin, Texas.
PEARL RIVER, N.Y., March 5, 2019 (SEND2PRESS NEWSWIRE) -- EPIC Insurance Brokers and Consultants, a retail property, casualty insurance brokerage and employee benefits consultant, today announced that John Sames has joined the firm's Northeast Region leadership team in the new position of Director of Operations and Sales.


text:
Chloë Grace Moretz Wanted a 'Boob Job and Butt Reduction' at Only 16
Chloë Grace Moretz said she wanted a breast augmentation and chin and butt reductions
Updated December 08, 2020 10:42 AM
If Chloë Grace Moretz had it her way, she would have gotten several plastic surgery procedures done when she was just 16 years old.
"I wanted a boob job," the actress, now 19, told Elle. "I wanted the fat pad under my chin to be removed. I wanted a butt reduction, or whatever."
It was her mother who prevented her from going under the knife.
"My mom said, 'Absolutely not, you're not allowed to have plastic surgery,' " recalls Moretz.
RELATED VIDEO: Iggy Azalea Dishes About Her Plastic Surgery!
In the end, she believes the experience made her more comfortable with who she is.
"Because of that, I found a lot of power within my insecurities," said Moretz. "They're what make me who I am now."
Still, Moretz admits she does work hard to maintain her appearance.
"Yes, I have had hair extensions," she said. "Yes, the reason I have this body is because I work out seven times a week. Yes, I eat really clean – even though I don't always want to, and I definitely cheat. But you're not just born with this."


DIEGO FIGUEIREDO is considered one of the most talented guitar players in the world today. He is the winner of several important competitions including the Montreux Jazz Competition and the VISA Prize.
Figueiredo has released more than 19 albums. His music fuses jazz, bossa nova and classical. In addition to playing guitar, he is a producer, arranger, orchestrator and multi-instrumentalist who has performed in more than 40 countries. Joining Diego onstage will be famed jazz musicians John Clayton and Jeff Hamilton.


text:
import sbt.{ State => _, Configuration => _, Show => _, _ }
import Keys._
import scalaz._
import Scalaz.{ state => _, _}
import sbt.complete.DefaultParsers._
import sbt.complete._
import edu.gemini.osgi.tools.idea.{ IdeaModule, IdeaProject, IdeaProjectTask }
import edu.gemini.osgi.tools.app.{ Application, Configuration, AppBuilder }
import java.util.jar.{ JarFile, Manifest }
import edu.gemini.osgi.tools.app.BundleSpec
import edu.gemini.osgi.tools.Version

trait OcsAppSettings { this: OcsKey =>

  lazy val ocsAppSettings = Seq(
    ocsAppInfo := showAppInfo(ocsAppManifest.value, streams.value.log),
    commands ++= Seq(
      mkIdeaCommand(ocsAppManifest.value, target.value),
      mkDistCommand(ocsAppManifest.value, target.value),
      mkDistAllCommand(ocsAppManifest.value, target.value)
    ).flatten //,
    // incOptions := incOptions.value.withNameHashing(true)
  )

  def showAppInfo(app: Application, log: Logger): Unit = {
    def showConfig(c: Configuration): Unit = {
      val s = s"  ${c.id}" +
        (if (c.distribution.isEmpty) " «abstract»" else s" for ${c.distribution.mkString(", ")}") +
        (if (c.extending.nonEmpty) s" extending ${c.extending.map(_.id).mkString(", ")}" else "")
      log.info(s)
    }
    log.info(s"OCS Application Summary:")
    log.info(s"          id: ${app.id}")
    log.info(s"        name: ${app.name}")
    log.info(s"       label: ${app.label.getOrElse("«none»")}")
    log.info(s"     version: ${app.version}")
    log.info(s"  executable: ${app.meta.executableName(app.version)}")
    log.info(s"     configs: total ${app.configs.length} in ${app.configs.map(_.distribution).distinct.length} distributions")
    log.info("")
    app.configs.foreach(showConfig)
    log.info("")
  }

  // // A map of lazily computed bundle jarfiles
  // def allBundleProjectArtifacts(e: Extracted, s: sbt.State): Map[ProjectRef, Need[File]] =
  //   e.get(ocsAllBundleProjects).fproduct(p => Need {
  //     s.log.info("packaging " + e.get(name in p))
  //     e.runTask(ocsBundleIdeaModule in p, s)._2
  //   }).toMap

  // Resolve a configuration to a complete map of all bundles needed.
  def resolveConfig(e: Extracted, s: sbt.State): Configuration => Map[BundleSpec, (File, Manifest)] = {

    // lazy map of all bundle artifacts
    val abp: Map[ProjectRef, Need[File]] =
      e.get(ocsAllBundleProjects).fproduct(p => Need {
        s.log.info("packaging " + e.get(name in p))
        e.runTask(osgiBundle in p, s)._2
      }).toMap

    Memo.immutableHashMapMemo { c =>

      s.log.info("resolveconfig: " + c.id)

      // Compute a BundleSpec for a ProjectRef
      def spec(ref: ProjectRef): BundleSpec = {
        val n = e.get(name in ref)
        val v = e.get(version in ref)
        BundleSpec(n, Version.parse(v))
      }

      // Compute a BundleSpec for a jarfile
      def jspec(f: File): BundleSpec =
        BundleSpec(new JarFile(f).getManifest)

      // A map of all bundle projects, keyed by spec
      val bmap: Map[BundleSpec, ProjectRef] =
        e.get(ocsAllBundleProjects).map(p => (spec(p), p)).toMap

      // A map of all library bundles, keyed by spec
      val lmap: Map[BundleSpec, File] =
        e.get(ocsLibraryBundles).map(f => (jspec(f), f)).toMap

      // partition config specs into projects and library bundles
      val (ps, bs): (List[(BundleSpec, ProjectRef)], List[(BundleSpec, (File, Manifest))]) = {
        val (ps0, bs0) = c.bundles.partition(bmap.keySet)
        (ps0.fproduct(bmap), bs0.fproduct { s =>
          val jar = lmap.get(s).getOrElse(sys.error(s"config ${c.id} references unknown bundle specified as $s"))
          (jar, new JarFile(jar).getManifest)
        })
      }

      // Expand our project list to its closure
      val cps: List[(BundleSpec, ProjectRef)] =
        ps ++ ps.flatMap { case (_, ref) =>
          e.runTask(ocsClosure in ref, s)._2.toList.map(r => (spec(r), r))
        }

      // Expand our library bundle list to include references from all closures
      val cbs: List[(BundleSpec, (File, Manifest))] =
        bs ++ ps.flatMap { case (_, ref) =>
          e.runTask(ocsBundleInfo in ref, s)._2.libraryBundleJars.map { f =>
            val mf = new JarFile(f).getManifest
            (BundleSpec(mf), (f, mf))
          }
        }

      // Force packaging. Done.
      val x = cbs.toMap ++ cps.map(_.rightMap(p => abp(p).fproduct(f => new JarFile(f).getManifest).value)).toMap

      s.log.info("resolveconfig: " + c.id + " [done]")

      x

    }
  }

  // /** Construct a function that returns exactly the bundles required for the given Configuration. */
  // def bsClosure(e: Extracted, s: sbt.State)(c: Configuration): Set[BundleSpec] =
  //   referencedProjects(c, e, s).flatMap { ref =>
  //     val info = e.runTask(ocsBundleInfo in ref, s)._2
  //     val n = e.get(name in ref)
  //     val v = e.get(version in ref)
  //     println("Examining " + n + " " + v)
  //     val libs = info.libraryBundleJars.map(f => new java.util.jar.JarFile(f).getManifest).map(BundleSpec.apply)
  //     BundleSpec(n, Version.parse(v)) :: libs
  //   } .toSet

  /**
   * Compute the closure of all bundle *projects* required by the passed Configuration by inspecting
   * its list of BundleSpecs.
   */
  def referencedProjects(c: Configuration, e: Extracted, s: sbt.State): List[ProjectRef] = {
    val log = s.log
    val allProjects: Seq[ProjectRef] = e.get(thisProject in LocalRootProject).aggregate
    val ps = c.bundles.toList.flatMap { b =>
      allProjects.find { p =>
        val n = e.get(name in p)
        val v = e.get(version in p)
        b.name == n && b.version.toString == v
      }
    }
    val minimalSet = ps.foldLeft(ps) { (ps, p) =>
      val closure = e.runTask(ocsClosure in p, s)._2
      ps.filter(closure.contains).foreach { x =>
        log.warn(s"ignoring redundant bundle reference ${e.get(name in x)}")
      }
      ps.filterNot(closure.contains)
    }
    val closure = (minimalSet ++ minimalSet.flatMap(p => e.runTask(ocsClosure in p, s)._2)).distinct
    minimalSet.foreach(p => log.info(s"+ ${e.get(name in p)}"))
    log.info(s"total ${minimalSet.size} bundles (${closure.size} in closure)")
    // TODO: warn if the set computed here is not a subset of the projects referenced by the
    // app project itself. Need to define ocsClosure in all projects
    closure
  }

  def mkIdeaCommand(a: Application, target: File): Option[Command] =
    a.configs.toList.toNel map { cs =>
      val config: Parser[Configuration] = cs.toList.map(c => c.id.id ^^^ c).reduce(_ | _)
      Command("ocsAppIdeaModule")(_ => Space ~> config) { (s, c) =>
        val extracted = Project.extract(s)
        val ps = referencedProjects(c, extracted, s)
        val cross = extracted.get(crossTarget)
        val top = extracted.get(baseDirectory in LocalRootProject)
        val jv = extracted.get(javaVersion)
        val (s0, si) = extracted.runTask(scalaInstance, s)
        def iml(p: ProjectRef): State[sbt.State, File] = State { s =>
          extracted.runTask(ocsBundleIdeaModule in p, s)
        }
        val (s1, imls) = ps.traverseU(iml).run(s0)
        IdeaProjectTask.go(top, cross, imls, a, c.id, si, jv, s.log)
        s1
      }
    }

  lazy val osgiBundleSymbolicName = SettingKey[String]("osgi-bundle-symbolic-name")
  lazy val osgiBundle = TaskKey[File]("osgi-bundle")

  def mkDistCommand(a: Application, target: File): Option[Command] =
    a.configs.flatMap(_.distribution).distinct.toList.toNel map { xs =>
      val dist: Parser[Configuration.Distribution] = xs.toList.map(e => e.toString.id ^^^ e).reduce(_ | _)
      Command("ocsDist")(_ => Space ~> dist) { (s, d) =>
        def now = System.currentTimeMillis
        val start = now
        val extracted = Project.extract(s)
        new AppBuilder(target, resolveConfig(extracted, s), extracted.getOpt(ocsJreDir), Set(d), s.log, extracted.get(baseDirectory)).build(a)
        s.log.info(f"Elapsed time: ${(now - start) / 1000f}%3.2f")
        s
      }
    }

  def mkDistAllCommand(a: Application, target: File): Option[Command] =
      Command.command("ocsDistAll") { s =>
        def now = System.currentTimeMillis
        val start = now
        val extracted = Project.extract(s)
        val dists = a.configs.flatMap(_.distribution).distinct.toSet
        new AppBuilder(target, resolveConfig(extracted, s), extracted.getOpt(ocsJreDir), dists, s.log, extracted.get(baseDirectory)).build(a)
        s.log.info(f"Elapsed time: ${(now - start) / 1000f}%3.2f")
        s
      }.some

}

redpajama_set_name: RedPajamaGithub


Back in March we had the great pleasure of meeting Aimee from the blog Swell Mayde. She just launched her own jewelry line and we are loving it! Each piece is handmade and includes delicate necklaces and bracelets and did we mention it's affordable too (music to our ears). How cute is this crystal necklace for only $30.
Really cute! A great piece for layering or adding just a touch of femininity.


A Printmaking Residency at KALA Arts Institute California.
A-N Travel Bursary funded research trip to SGCI (Southern Graphics Council International) FLUX printmaking conference in Portland, Oregon followed by a 2 month collaborative printmaking residency at KALA Art Institute, Berkeley, California.
Primary is an artist-led space in Nottingham. Through the A-N Go & See bursary, we went to visit artist-led spaces and arts venues in Scotland and the Netherlands to learn about different organisational models, approaches to public programming and supporting artists.
The Walking Reading Group (TWRG) is a project that facilitates knowledge exchange in an intimate and dynamic way through discussing texts whilst walking together. For our a-n Go & See bursary, we visited Scotland and Cornwall to explore possibilities for developing the project.
Picking up my case and running with it… looking for new adventures, new opportunities.
Fancy devising your own schedule of professional development to boost your practice in 2016? Looking to expand your horizons and go places in the year ahead? a-n is offering two new bursary strands to Artist members for 2016, with the focus on professional development and travel.


Robin Vaughan, the mother of a combat soldier, reports significant military harassment over a private and closed small group website on MSN. The site was established as a support group for "moms" of service members from one unit deployed overseas.
During the first few months of our site, the Army decided to call every single family on the site, informing them, that the site was not to be used by any of the families. The Department of Defense called families in the middle of the night to notify them to not use the web site. Most of the families were near tears, thinking they were getting "THE" call telling them their child or loved one had been killed or injured.
The information received via the phone call was to inform the families that the base did not condone the site, nor [did] the Army, and that it was not to be used; the gist was, families were not allowed to use the site, or they could get into "trouble". Some members reported their soldier calling from Iraq, telling them to be careful about using the site as the Army was monitoring it.
I reminded the Army I am a private citizen, not on base, with a private site making no claims to have any affiliation with any branch of service, but clearly stating we were families and friends of our unit in support of one another. We were treated to power by intimidation. It isn't hard to make that work, when you have someone's child in a war zone.
Even in these days of frequent new reports of domestic spying, it seems this is one group of people the government would have chosen not to harass. Props.
This story needs further investigation. It's woefully short on details needed to verify the story and/or ask the Pentagon to comment on it.
I'm aware of that — which is why I did a mostly cut-and-paste piece, as opposed to providing personal opinion. I could find no other substantiation of the facts, at this time. I'll let you know if some pass my RSS feeds or inbox, though.
I'd have to agree with what Homeland Stupity and Stop Huring America said. There just isn't enough information given for one to decide if this really happened or is just a hoax. What I've been able to find on my own on this raises more questions then answers.
1) the letter writer claims that the phone calls were made by the Army in the middle of the night. It would not happen – think what you want about the Army, they would not upset families by calling them in the middle of the night unless it was an emergency.
2) the letter writer claims that the ACLU will not take action due to the length of time that has passed. If the ACLU believed there was merit, this would be trumpeted from the front page of the New York Times.
The letter doesn't pass the smell test and this is no doubt why it didn't get as much traction as even the now discredited story of the student who claimed his family was visited by federal agents for checking out Mao's Little Red Book.
While i can't say for sure that this story is a hoax, there are some things about it that make me doubt it.
Other then blogs and websites, no one is picking up on this story and even those websites that did publish Robin's letter, it's falling to the back pages.
There is a Robin Vaughan who lives in Washington and while I know her exact address and phone number, I've made no effort to contact her directly. Robin is also a member of a politcal forum which I also belong to but she hasn't been there since the 26th.
Robin has made references in other places to the 66th MP Company and that unit had deployed to Iraq the same time her son Kevin, Robin identified her son's name in a letter she wrote to Michael Moore, was there so I'm assuming Kevin was for a time attatched to the 66th MP Company. There was a website at MSN groups by the name of "66th MP Company, Fort Lewis, Washington" but it has been deleted.
After reading this letter on a few blogs, I've spent quite a lot of time trying to track it down without success. I found very few references to "Robin Vaughan," except for one or two entries at http://www.democrats.com. In those, there was no mention of a son in Iraq or harrassment by unnamed military hooligans in the middle of the night.
I'm retired military and absolutely agree that this thing just doesn't pass the 'smell' test. Those who blindly accept it as truth are engaging in wishful thinking, in my opinion.
I sent an email to "Robin Vaughan" at the address listed in the letter ([email protected]), inviting her to contact me directly. I said that I had a number of specific questions, the answers to which would help me verify her story. I also asked that she have her son "Kevin" contact me for the same reason.
So far, there's no response from either "Robin" or "Kevin" and I doubt that there will be. If there is, I will come back here and share it.
I've been paying attention to this story since it first came out but it appears to have died and is making it's way to the back pages of the forums and blogs where it has been posted.
Robin joined a couple of forums shortly after her e-mail was first published, made a few comments and then stopped posting all together towards the end of December and I haven't seen her anywhere on the internet since.


text:
Home » Volunteer group picks up thousands of pounds of trash in south Columbus
Volunteer group picks up thousands of pounds of trash in south Columbus
After collecting more than 130 tires in the Scioto River two years ago, Michael Chapman and Ted Davis formed a volunteer group to help keep Columbus clean.
COLUMBUS, Ohio — Since the start of 2021, a Columbus volunteer group has picked up more than 6,000 pounds of trash along roadways, creeks and abandoned homes.
Michael Chapman, one of the founders of Clear Creeks and Byways, said he has been wanting to form a group to clean up Columbus for a while.
But a kayaking trip two and a half years ago from Big Walnut Creek to the Scioto River in Pickaway County with Ted Davis, the other founder of the group, is what really sparked Chapman to put his idea into action.
"We just started counting tires along the way. It was like 'hey, there's like four or five tires.' Let's just count them and see what we get up to," Chapman said.
At the end of an 11-mile stretch, Chapman said the two collected more than 130 tires.
During a small roadside clean-up in January along Williams Road on the south side of Columbus, Davis encouraged Chapman to get back on social media to get the group going.
Since then, the Clear Creeks and Byways Facebook group has grown to nearly 400 members.
Coming into Saturday, Chapman said the group has cleaned up about 3,200 pounds of roadside trash, including auto parts, beer bottles, and other recyclables.
After cleaning up an abandoned home on Corr Road where someone dumped concrete, Chapman said the group has picked up more than 6,000 pounds since March on the southside of Columbus.
That's not counting tires, couches, mattresses and other large items found along the way. Chapman says he reaches out to the city's Keep Columbus Beautiful campaign to pick up the larger items.
Since the group has grown, Chapman said he's applied to become a nonprofit so he can grow it more and recycle more of the trash being picked up.
"That would be a dream down the road to actually employ other people to separate and recycle this stuff because that can be hours and days of work," Chapman said.
Being an avid outdoorsman, Chapman wants to focus on creeks this summer. Chapman says he is working with Trapper John's Canoe Livery in Grove City to help along the creekbanks.
Clear Creeks and Byways adopted the area near South High Street and Williams Road to clean up three times a year in addition to other small roadways they have cleaned.
You can find out more about the group on their Facebook page here.
RELATED: ODOT's No. 1 task right now? Picking up litter
Dexter Actor James Remar Confirms Season 9 Won't Feature the Original Cast
How to Play the Pennywise Role Mod in Among Us


text:
using System;
using Octopus.Client.Exceptions;
using Octopus.Client.Model.Endpoints;

namespace Nautilus
{
    public partial class NautilusService
    {
        public void Upgrade(string machineName = null)
        {
            try
            {
                machineName = machineName ?? Environment.MachineName;

                var machine = Octopus.GetMachine(machineName);
                if (machine == null)
                {
                    Log.WriteLine($"Error: The target machine ({machineName}) is not registered with Octopus");
                    throw NautilusException.MachineNotRegistered(machineName);
                }

                var tentacleVersionDetails = (machine.Endpoint as ListeningTentacleEndpointResource)?.TentacleVersionDetails;
                if (tentacleVersionDetails != null && !tentacleVersionDetails.UpgradeLocked && (tentacleVersionDetails.UpgradeSuggested || tentacleVersionDetails.UpgradeRequired))
                {
                    Log.Write("Updating Tentacle on target machine... ");
                    var task = Octopus.ExecuteTentacleUpgrade(machine.Id);
                    if (task.FinishedSuccessfully)
                    {
                        Log.WriteLine("succeeded");
                    }
                    else
                    {
                        Log.WriteLine("failed");
                        Log.WriteLine(task.ErrorMessage);
                    }
                }
                else
                {
                    Log.WriteLine("Tentacle is up to date");
                }

                if (!machine.HasLatestCalamari)
                {
                    Log.Write("Updating Calamari on target machine... ");
                    var task = Octopus.ExecuteCalamariUpdate(machine.Id);
                    if (task.FinishedSuccessfully)
                    {
                        Log.WriteLine("succeeded");
                    }
                    else
                    {
                        Log.WriteLine("failed");
                        Log.WriteLine(task.ErrorMessage);
                    }
                }
                else
                {
                    Log.WriteLine("Calamari is up to date");
                }
            }
            catch (NautilusException)
            {
                throw;
            }
            catch (OctopusException ex)
            {
                throw NautilusException.OctopusError(ex);
            }
            catch (Exception ex)
            {
                throw NautilusException.UnknownError(ex);
            }
        }
    }
}


The number of doctors and advance practitioners in the United States who focus on nursing home care rose by more than one-third between 2012 and 2015, according to a study published in JAMA from researchers at the Perelman School of Medicine at the University of Pennsylvania. Of all physicians and advance practitioners who do any work in nursing homes, 21% now specialize in nursing home care. The authors say the trend suggests the rise of a significant new specialty in medical practice, though how it will affect patient outcomes and continuity of care is yet to be seen.
"We don't know how this trend will play out in the long term, but nursing home specialists have the potential to change the way health care is delivered in this setting," says study lead author Kira L. Ryskina, MD, MS, an assistant professor at the Perelman School of Medicine, adding that how exactly the change will affect patient outcomes or care remains to be seen. "On one hand, clinicians who practice in the nursing home exclusively could improve patient outcomes and reduce costs by leveraging expertise in nursing home processes of care, for example. But, concentrating patient care among nursing home specialists could also mean that patients are no longer seen by their primary care providers, who traditionally follow patients for years and across care settings."
There are presently more than 15,000 nursing homes in the United States, with a total capacity of nearly 1.7 million beds. But, the quality of health care in these facilities varies considerably. Research has shown, for example, that in 2014 the rate of avoidable hospitalizations for the worst-performing nursing homes was high (14%) and also was nearly double the rate (8%) for the best-performing nursing homes. In addition, costs of nursing home care are high and account for 75% of regional variation in Medicare costs, for example.
Concerns over care quality have prompted the federal government's Centers for Medicare and Medicaid Services (CMS) to propose a number of reforms as well as penalties for low-quality care in nursing homes. The nursing home industry may now be adapting to this stricter regulatory environment by employing physicians who specialize in nursing home care.
"Hospitals in recent years have sought to improve care by concentrating it among 'hospitalist' physicians who focus on treating hospitalized patients," Ryskina says. "Twenty years ago, the Hospitalist movement started in the same way, wherein hospitals were under pressure to reduce costs and readmissions. We might be seeing the beginnings of a similar trend in nursing home care."
In the study, Ryskina and colleagues used a Medicare database to analyze all Part B Medicare fee-for-service billings by generalist physicians, nurse practitioners, and physician assistants who provided nursing home based care during 2012–2015. "Nursing-home specialists" were defined as those clinicians billing at least 90% of episodes from a nursing home.
The number of these specialists rose from 5,127 in 2012 to 6,857 in 2015, a jump of 33.7%. Adjusted for the patient population this rise was even greater: from 3.35 nursing home specialists per 1,000 occupied beds to 4.58 (+36.7%). During the same period, the overall number of clinicians billing from nursing homes was almost unchanged (33,218 to 33,087).
The data indicated some regional variation from the overall trend. About 80% of US hospital referral regions saw rises in nursing home specialists per bed, while 20% saw declines. "The variation in adoption of specialists indicates a lack of consensus regarding the benefits of specialization," Ryskina says.
Nursing home specialists made up only about 21% of all nursing home clinicians in 2015, so the results may mark the earliest phase of a trend towards nursing home specialization. "The impact of that trend on patient care may already be considerable, though, because specialists provide a disproportionate share of the care," Ryskina says, adding that whether the increase in specialized care will improve outcomes or disrupt the continuum of care is an issue that requires ongoing study.
The coauthors of the study are Daniel Polsky and Rachel M. Werner, both of Penn Medicine. All three authors are senior fellows at Penn's Leonard Davis Institute of Health Economics.


Good Morning! In today's eBlog, we consider the governance and federalism challenges in the wake of the devastating Hurricane Maria impact on the U.S. territory of Puerto Rico, where questions in a federal courtroom about the balance between Puerto Rico's government and the federally appointed oversight board for Puerto Rico consider not just the Puerto Rican government's authority—but also that of the Congress.
U.S. District Judge Laura Taylor Swain has denied the PROMESA Oversight Board's request to deny the request to appoint Noel Zamot as the Transformation Officer (CTO), noting that the powers granted to the special panel by Congress are insufficiently broad to limit the actions of the government of Puerto Rico, holding that the Puerto Rico Oversight Board lacked authority to replace the leader of the Puerto Rico Electric Power Authority (PREPA). The Board had requested the Judge to confirm its appointment of Noel Zamot as PREPA's Chief Transformation Office—a position comparable to CEO. Instead, Judge Swain called on the Board and Gov. Ricardo Rosselló to work collaboratively to address the U.S. territory's problems—a call, in response to which, Gov. Rosselló responded by noting: "We are very pleased with the decision issued today by Judge Laura Taylor Swain, since it reiterates our position regarding the limit of power of the Financial Oversight and Management Board.…It is clear that the Financial Oversight and Management Board does not have the power to take full control of the government or its instrumentalities…We recognize that the reconstruction and recovery of the island requires a union of wills; therefore, we welcome any collaboration or technical support that the Board wishes to offer to the government elected by Puerto Ricans to ensure the best interests of the people of Puerto Rico." Judge Swain noted that Congress could have eased the governance role of the oversight board if it had given the Board direct authority over Puerto Rico's government and public entities; however, as she noted: it had not—instead it deliberately split power between the federally appointed oversight board and the government, adding: "I urge you to work together," in regard to the PROMESA Board and the Rosselló administration, noting that every moment spent on complicated and expensive litigation was time lost for the Puerto Rico people. Judge Swain noted that the Board has multiple mechanisms to discharge its functions without requiring its direct intervention after the Congressionally created public corporation, its governing board and its executive director, Ricardo Ramos, were unable to articulate and effectively implement a plan to restore the electricity grid after its collapse in the wake of Hurricane Maria. Nevertheless, Judge Swain also called on the government of Puerto Rico to address the situation of the island, noting that millions of American citizens remain in the dark and in a dangerous situation, while every controversy aired in court is "a minute lost" for the future of Puerto Rico.
The U.S. government yesterday filed notice it would defend the court supervised restructuring of Puerto Rico's debt against a constitutional challenge by an investor—with the filing coming in response to the Title III bankruptcy case related to Puerto Rico's government debt to an adversary proceeding filed last August by the Aurelius Capital hedge fund. (Aurelius owned $473 million of Puerto Rico municipal bonds as of July.) The government argued that the Title III bankruptcy petition should be dismissed, because its filing had not been authorized by a validly constituted oversight board, whilst the fund asserted that the appointments clause of the U.S. Constitution, Article II, Section 2, Clause 2 of the United States Constitution, which empowers the President to appoint certain public officials with the "advice and consent" of the U.S. Senate was breached in appointing the board's members: the Board was appointed under the Puerto Rico Oversight Management and Economic Stability Act to oversee fiscal and economic management in the territory and the restructuring of more than $70 billion of debt that the Puerto Rico government said could not be repaid under current economic conditions.
Aurelius claimed that the PROMESA Board is "unconstitutional," and, because it is, its actions are "are void," pressing Judge Swain to dismiss the case. In response, the Justice Department notified the court it would file a memorandum supporting PROMESA's constitutionality on or before December 6th. Part of the dispute will relate to the process itself: the Board, as we noted initially, was named by the U.S. House and Senate Majority and Minority leaders, the Speaker and House Minority Leader, and former President Obama: neither U.S. Senate committees nor the Senate as a whole voted on the confirmations. Last Friday, the government of Puerto Rico, the COFINA Seniors Bondholders Coalition, the Unsecured Creditors Committee, and the Official Committee of Retired Employees of the Commonwealth of Puerto Rico submitted memoranda against the Aurelius position, with the U.S. territory of Puerto Rico pressing the federal court to lift the stay on litigation outside of the bankruptcy process, arguing that Aurelius is seeking actions against the debtor and the Oversight Board outside the Title III process—something it asserts is barred by the PROMESA statute. In contrast, the COFINA Seniors argue that the Oversight Board's membership is constitutional, because Congress's power over the territories is plenary and not subject to the structural limitations of the United States Constitution, while the Unsecured Creditors argued that the "U.S. Constitution gives Congress virtually unlimited authority to govern unincorporated territories directly, or to delegate that power to such agencies as it" deems fit. This group said that there is precedent for the Board members' appointment procedures, asserting the Board members are territorial officials and not U.S. government officials, as Aurelius claims.
Power to Puerto Rico. On a separate front, the Commonwealth of Puerto Rico notched a significant win in court yesterday when Judge Swain rejected the appointment of a former military officer to oversee the Puerto Rico Electric Power Authority (PREPA), after the PROMESA Board had sought to appoint retired Air Force Col. Noel Zamot to supervise the reconstruction and operations of PREPA in the wake of Hurricane Maria's devastation of the U.S. territory's utility and the subsequent territory-wide blackout on September 20th—an inability to restore service since has led to accusations of mismanagement, especially as, PREPA, two months after the hurricane, is generating only 48 percent of its normal output. Thus it was that Judge Swain ruled that the PROMESA Board may not unilaterally seize control of the U.S. territory's government agencies—a signal legal victory for the administration of Gov. Ricardo Rosselló and others who have argued that no independent official should oversee a local government agency—or, as the Governor noted: "Our position has been validated and it has been recognized that the administration and public management of Puerto Rico remains with the democratically elected government." PREPA is $9 billion in debt and continues to face scrutiny after signing a $300 million contract with Montana-based Whitefish Energy Holdings—a contract cancelled at the end of last month at the Governor's request, but which is now undergoing federal and local audits. Both Gov. Rosselló and PREPA Director Ricardo Ramos are scheduled to testify this morning in Washington, D.C. before the Senate Energy and Natural Resources Committee.


text:
Masis () is a village in the Artashat Municipality of the Ararat Province of Armenia.

References

World Gazetteer: Armenia – World-Gazetteer.com

Populated places in Ararat Province

redpajama_set_name: RedPajamaWikipedia