text:
package sdk.chat.core.interfaces;

public interface IKeyStorage {

    void put(String key, String value);
    void put(String key, int value);
    void put(String key, boolean value);
    void put(String key, long value);
    void save(String username, String password);
    String get(String key);
    int getInt(String key);
    boolean getBoolean(String key);
    long getLong(String key);
    void clear();
    void remove(String key);
}


text:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CrmWorkflowsReport.Model;
using Newtonsoft.Json;

namespace CrmWorkflowsReport.Core.Helpers
{
    public class Settings
    {
        public List<Organization> Organizations { get; set; }
        public MailSettings MailSettings { get; set; }

        public Settings()
        {
            LoadSettings();
        }

        private void LoadSettings()
        {
            using (StreamReader reader = new StreamReader("organizations.json"))
            {
                string json = reader.ReadToEnd();
                Organizations = JsonConvert.DeserializeObject<List<Organization>>(json);
            }
            using (StreamReader reader = new StreamReader("mail.json"))
            {
                string json = reader.ReadToEnd();
                MailSettings = JsonConvert.DeserializeObject<MailSettings>(json);
            }
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Stuff in this directory (not to future-self):

`Makefile` - run `make` in this directory to push html to live site
`build.sh` - inserts the ../README.md into the boilerplate html
`favicon.ico` - icon
`pre-index.html` - boilerplate strapdownjs html
`strapdown/` - git submodule to strapdownjs repo because there is no https cdn
for it


text:
Golang package that implements a simple LiveReload server as described in the [LiveReload protocol](http://feedback.livereload.com/knowledgebase/articles/86174-livereload-protocol).

Using the recommended default port 35729:

- `http://localhost:35729/livereload.js` serves the LiveReload client JavaScript (https://github.com/livereload/livereload-js)

- `ws://localhost:35729/livereload` communicates with the client via web socket.

File watching must be implemented by your own application, and reload/alert
requests sent programmatically.

Multiple servers can be instantiated, and each can support multiple connections.

## Full Documentation: [![GoDoc](https://godoc.org/github.com/jaschaephraim/lrserver?status.svg)](http://godoc.org/github.com/jaschaephraim/lrserver) ##

## Basic Usage ##

### Get Package ###

```bash
go get github.com/jaschaephraim/lrserver
```

### Import Package ###

```go
import "github.com/jaschaephraim/lrserver"
```

### Instantiate Server ###

```go
lr := lrserver.New(lrserver.DefaultName, lrserver.DefaultPort)
```

### Start Server ###

```go
go func() {
    err := lr.ListenAndServe()
    if err != nil {
        // Handle error
    }
}()
```

### Send Messages to the Browser ###

```go
lr.Reload("file")
lr.Alert("message")
```

## Example ##

```go
import (
    "log"
    "net/http"

    "github.com/jaschaephraim/lrserver"
    "gopkg.in/fsnotify.v1"
)

// html includes the client JavaScript
const html = `<!doctype html>
<html>
<head>
  <title>Example</title>
</head>
<body>
  <script src="http://localhost:35729/livereload.js"></script>
</body>
</html>`

func Example() {
    // Create file watcher
    watcher, err := fsnotify.NewWatcher()
    if err != nil {
        log.Fatalln(err)
    }
    defer watcher.Close()

    // Add dir to watcher
    err = watcher.Add("/path/to/watched/dir")
    if err != nil {
        log.Fatalln(err)
    }

    // Create and start LiveReload server
    lr := lrserver.New(lrserver.DefaultName, lrserver.DefaultPort)
    go lr.ListenAndServe()

    // Start goroutine that requests reload upon watcher event
    go func() {
        for {
            select {
            case event := <-watcher.Events:
                lr.Reload(event.Name)
            case err := <-watcher.Errors:
                log.Println(err)
            }
        }
    }()

    // Start serving html
    http.HandleFunc("/", func(rw http.ResponseWriter, req *http.Request) {
        rw.Write([]byte(html))
    })
    http.ListenAndServe(":3000", nil)
}
```


text:
/*
 * Tests if casting within the json_object_get_* functions work correctly.
 * Also checks the json_object_get_type and json_object_is_type functions.
 */

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
#if defined(_MSC_VER) && _MSC_VER <= 1700
	/* Anything less than Visual Studio C++ 10 is missing stdint.h and inttypes.h */
	#define PRId64 "I64d"
	#define SCNd64 "I64d"
	typedef signed char  int8_t;
	typedef signed short int16_t;
	typedef signed int   int32_t;
	typedef unsigned char  uint8_t;
	typedef unsigned short uint16_t;
	typedef unsigned int   uint32_t;
	typedef signed long long   int64_t;
	typedef unsigned long long uint64_t;

#else
	#ifdef JSON_C_HAVE_INTTYPES_H
	#include <inttypes.h>
#endif
#endif

#include "config.h"
#include "json_inttypes.h"
#include "json_object.h"
#include "json_tokener.h"
#include "json_util.h"

static void getit(struct json_object *new_obj, const char *field);
static void checktype_header(void);
static void checktype(struct json_object *new_obj, const char *field);

int main(int argc, char **argv)
{
	const char *input = "{\n\
		\"string_of_digits\": \"123\",\n\
		\"regular_number\": 2270892,\n\
		\"decimal_number\": 99.8,\n\
		\"boolean_true\": true,\n\
		\"boolean_false\": false,\n\
		\"big_number\": 21,\n\
		\"a_null\": null,\n\
		}";
	//\"a_null\": null,\n\

	/* Note: 2147483649 = INT_MAX + 2 */

	struct json_object *new_obj;

	new_obj = json_tokener_parse(input);
	printf("Parsed input: %s\n", input);
	printf("Result is %s\n", (new_obj == NULL) ? "NULL (error!)" : "not NULL");
	if (!new_obj)
		return 1; // oops, we failed.

	getit(new_obj, "string_of_digits");
	getit(new_obj, "regular_number");
	getit(new_obj, "decimal_number");
	getit(new_obj, "boolean_true");
	getit(new_obj, "boolean_false");
	getit(new_obj, "big_number");
	getit(new_obj, "a_null");

	// Now check the behaviour of the json_object_is_type() function.
	printf("\n================================\n");
	checktype_header();
	checktype(new_obj, NULL);
	checktype(new_obj, "string_of_digits");
	checktype(new_obj, "regular_number");
	checktype(new_obj, "decimal_number");
	checktype(new_obj, "boolean_true");
	checktype(new_obj, "boolean_false");
	checktype(new_obj, "big_number");
	checktype(new_obj, "a_null");

	json_object_put(new_obj);

	return 0;
}

static void getit(struct json_object *new_obj, const char *field)
{
	struct json_object *o = json_object_object_get(new_obj, field);

	enum json_type o_type = json_object_get_type(o);
	printf("new_obj.%s json_object_get_type()=%s\n", field,
	       json_type_to_name(o_type));
	printf("new_obj.%s json_object_get_int()=%d\n", field,
	       json_object_get_int(o));
	printf("new_obj.%s json_object_get_int64()=%d\n", field,
	       json_object_get_int64(o));
	printf("new_obj.%s json_object_get_boolean()=%d\n", field,
	       json_object_get_boolean(o));
	printf("new_obj.%s json_object_get_double()=%f\n", field,
	       json_object_get_double(o));
}

static void checktype_header()
{
	printf("json_object_is_type: %s,%s,%s,%s,%s,%s,%s\n",
		json_type_to_name(json_type_null),
		json_type_to_name(json_type_boolean),
		json_type_to_name(json_type_double),
		json_type_to_name(json_type_int),
		json_type_to_name(json_type_object),
		json_type_to_name(json_type_array),
		json_type_to_name(json_type_string));
}
static void checktype(struct json_object *new_obj, const char *field)
{
	struct json_object *o = field ? json_object_object_get(new_obj, field) : new_obj;
	printf("new_obj%s%-18s: %d,%d,%d,%d,%d,%d,%d\n",
		field ? "." : " ", field ? field : "",
		json_object_is_type(o, json_type_null),
		json_object_is_type(o, json_type_boolean),
		json_object_is_type(o, json_type_double),
		json_object_is_type(o, json_type_int),
		json_object_is_type(o, json_type_object),
		json_object_is_type(o, json_type_array),
		json_object_is_type(o, json_type_string));
}


text:
package com.xlg.forkids.lover;

import org.json.JSONObject;
import org.json.JSONTokener;

import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.xlg.forkids.R;
import com.xlg.forkids.baby.BabyAlbumFragment;
import com.xlg.forkids.baby.markings.BabyMarkingsFragment;
import com.xlg.forkids.baseitems.BaseChatMessage;
import com.xlg.forkids.baseitems.BaseUser;
import com.xlg.forkids.chat.ChatDialogFragment;
import com.xlg.forkids.chat.consts.ChatTypeContentType;
import com.xlg.forkids.chat.consts.ChatTypeFromToType;
import com.xlg.forkids.chat.mqtt.ChatContentReceiver;
import com.xlg.forkids.chat.mqtt.ChatContentReceiver.OnChatContentReceivedListener;
import com.xlg.forkids.db.helpers.UserDbHelper;
import com.xlg.forkids.interfaces.Interfaces;
import com.xlg.view.CustomImageButton;
import com.xlg.view.Utils;

public class LoverMainFragment extends BaseLoverFragment {

	private View mLoverContainer, mNoneLoverContainer;
	/** ÉèÖð®ÈËÐÅÏ¢µÄÏûÏ¢½ÓÊÕÆ÷ */
	private ChatContentReceiver mLoverInformationReceiver;
	/** °®È˵ÄÐÅÏ¢ */
	private BaseUser mLover = null;
	/** ºÃÓÑÁбíÀïµÄ°®ÈËÐÅÏ¢£ºÃ»Óа®ÈËʱΪnull£¬µÈ´ýÑé֤ʱstatus=ADD£¬Ñé֤ͨ¹ýʱΪADDED */
	// private BaseContactsContact mLoverStatus = null;

	// °®ÈËÐÅÏ¢
	private ImageView mAddLover, mLoverHeadImage, mLoverHeadMask, mBluredHead;
	private TextView mLoverName, mLoverAccount, mLoverSignature;
	// »¥¶¯°´Å¥
	private CustomImageButton mChatTo, mShareTo, mCenterTo;
	private RelativeLayout mBottomView;
	// È¡Ïû°ó¶¨
	private Button mUnbind;
	// private Button mLeftButton, mRightButton;
	private int mWidth, mHeadImageSize, mCommunicateSize;

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		setLayout(R.layout.lover_ui_main);
		View v = super.onCreateView(inflater, container, savedInstanceState);
		mLoverContainer = v.findViewById(R.id.lover_ui_main_lover_info);
		mNoneLoverContainer = v
				.findViewById(R.id.lover_ui_main_lover_none_container);
		mAddLover = (ImageView) v.findViewById(R.id.lover_ui_main_lover_add);
		mAddLover.setOnClickListener(mOnClickListener);

		mLoverHeadImage = (ImageView) v
				.findViewById(R.id.lover_ui_main_lover_info_head);
		mBluredHead = (ImageView) v
				.findViewById(R.id.lover_ui_main_blured_background);
		mLoverHeadMask = (ImageView) v
				.findViewById(R.id.lover_ui_main_lover_info_head_mask);
		mLoverName = (TextView) v.findViewById(R.id.lover_ui_main_lover_name);
		mLoverAccount = (TextView) v
				.findViewById(R.id.lover_ui_main_lover_account);
		mLoverSignature = (TextView) v
				.findViewById(R.id.lover_ui_main_lover_signature);

		mChatTo = (CustomImageButton) v
				.findViewById(R.id.lover_ui_main_chat_to);
		mChatTo.setOnClickListener(mOnClickListener);
		mShareTo = (CustomImageButton) v
				.findViewById(R.id.lover_ui_main_share_to);
		mShareTo.setOnClickListener(mOnClickListener);
		mCenterTo = (CustomImageButton) v
				.findViewById(R.id.lover_ui_main_center_to);
		mCenterTo.setOnClickListener(mOnClickListener);
		mBottomView = (RelativeLayout) v
				.findViewById(R.id.lover_ui_main_bottom_container);
		mUnbind = (Button) v.findViewById(R.id.lover_ui_main_unbind);
		mUnbind.setOnClickListener(mOnClickListener);
		return v;
	}

	private void setLoverVisibility(boolean hasLover) {
		mNoneLoverContainer.setVisibility(hasLover ? View.VISIBLE : View.GONE);
		mLoverContainer.setVisibility(hasLover ? View.GONE : View.VISIBLE);
	}

	@Override
	public void onResume() {
		super.onResume();
		mWidth = baseTitleActivity.getScreenWidth();
		mHeadImageSize = mWidth * 2 / 5;
		mCommunicateSize = mWidth / 6;
		resizeHead(mLoverHeadImage);
		resizeHead(mLoverHeadMask);
		// resizeCommunicates(mChatTo);
		// resizeCommunicates(mShareTo);
		// resizeCommunicates(mCenterTo);
		setClickEvent();
		showLoverInfor();
	}

	/** ÖØÐÂÉèÖÃÍ·Ïñ´óС */
	private void resizeHead(ImageView view) {
		RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view
				.getLayoutParams();
		params.width = mHeadImageSize;
		params.height = mHeadImageSize;
		view.setLayoutParams(params);
	}

	/** ÖØÐÂÉèÖû¥¶¯°´Å¥´óС */
	private void resizeCommunicates(RelativeLayout view) {
		LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) view
				.getLayoutParams();
		params.width = mCommunicateSize;
		params.height = mCommunicateSize;
		view.setLayoutParams(params);
	}

	/** ÏÔʾ°®ÈËÐÅÏ¢»òÏÔʾÑûÇë½çÃæ */
	private void showLoverInfor() {
		// ÖØлñÈ¡ÎÒµÄÐÅÏ¢
		baseTitleActivity.getLoginedUser();
		mMe = baseTitleActivity.getMe();
		setLoverVisibility(isNoneLover());
		// ûÓÐÉèÖÃloverµÄʱºò²Å×¢²á¼àÌý
		// if (isNoneLover()) {
		registerReceiver();
		// } else {
		mLover = UserDbHelper.getInstance(getContext()).getUser(mMe.getLover());
		if (null == mLover) {
			showMsg("ÄúûÓÐÉèÖð®È˵ÄÐÅÏ¢");
			mBluredHead.setImageDrawable(null);
			// leftButtonClose();
			// return;
		}
		mBottomView.setEnabled(null != mLover);
		mUnbind.setVisibility(null == mLover ? View.GONE : View.VISIBLE);
		if (null != mLover) {
			displayLoversInfo();
		}
		baseTitleActivity
				.setCustomeTitle(isNoneLover() ? R.string.lover_ui_main_title_none_lover
						: R.string.lover_ui_main_title);
		// }
	}

	private void setClickEvent() {
		baseTitleActivity.setRightText(0);
		baseTitleActivity
				.setCustomeTitle(isNoneLover() ? R.string.lover_ui_main_title_none_lover
						: R.string.lover_ui_main_title);
	}

	@Override
	public void onStop() {
		super.onStop();
		// if (isNoneLover()) {
		mContext.unregisterReceiver(mLoverInformationReceiver);
		// }
	}

	@Override
	public void onActivityResult(final int requestCode, final int resultCode,
			final Intent data) {
		// print(true, "requestCode: " + requestCode + ", resultCode: "
		// + resultCode);
		if (resultCode == Activity.RESULT_OK) {
			if (requestCode == RESULT_NEED_REFRESH) {
				// ÖØÐÂË¢ÐÂ
				showLoverInfor();
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}

	/** ×¢²á¼àÌý */
	private void registerReceiver() {
		mLoverInformationReceiver = new ChatContentReceiver();
		mLoverInformationReceiver.setOnReceivedListener(mOnReceivedListener);
		IntentFilter intentFilter = new IntentFilter();
		intentFilter.addAction(ChatContentReceiver.ACTION_ON_RECEIVED);
		// ÉèÖøßÓÅÏȼ¶
		intentFilter.setPriority(ChatContentReceiver.PRIORITY_HIGH);
		mContext.registerReceiver(mLoverInformationReceiver, intentFilter);
	}

	private OnChatContentReceivedListener mOnReceivedListener = new OnChatContentReceivedListener() {

		@Override
		public boolean onReceived(BaseChatMessage item, boolean previousReaded) {
			// ÊÕµ½ÏûÏ¢£¬ÏÔʾ
			int chatType = item.getChatType();
			if (item.getToUserId() == mMe.getId()
					&& (chatType == ChatTypeContentType.LOVER_VERIFYED
							|| chatType == ChatTypeContentType.LOVER_CANCEL || chatType == ChatTypeContentType.LOVER_SET)) {
				// ¶Ô·½Í¬ÒâÁ˼ÓΪ°®È˵ÄÇëÇó£¬ÖØÐÂˢа®ÈËUI½çÃæ
				mLover = mGson.fromJson(item.getContent(), BaseUser.class);
				if (null != mLover) {
					mMe.setLover(mLover.getCode());
					mMe.setLoverState(1);
				}
				updateMyInfors();
				showLoverInfor();
				// return true;
			}
			return previousReaded;
		}
	};

	/** ÏÔʾ°®È˵ÄÐÅÏ¢ */
	private void displayLoversInfo() {
		// mLoverStatus = ContactsDbHelper.getInstance(getContext()).getContact(
		// mLover.getId());
		// if (null == mLoverStatus) {
		// showMsg("¸ÃÓû§²»ÔÚÄúµÄºÃÓÑÁбíÖÐ");
		// leftButtonClick();
		// return;
		// }

		// ÏÔʾ°®È˵ÄÐÅÏ¢
		getBitmapFetcher().loadImage(
				null == mLover ? "empty_photo" : mLover.getImage(),
				mLoverHeadImage, mHeadImageSize, true);
		// ÏÔʾ¸ß˹ģºý±³¾°
		if (null != mLover && !Utils.isEmpty(mLover.getImage())) {
			String blurImage = checkBluredImage(mLover.getImage());
			getBitmapFetcher().loadImage(blurImage, mBluredHead, 0);
		}

		mLoverName.setText(mLover.getName());
		mLoverAccount.setText(mLover.getCode());
		mLoverSignature.setText(mLover.getTitle());
	}

	private OnClickListener mOnClickListener = new OnClickListener() {

		@Override
		public void onClick(View v) {
			if (v == mChatTo || v == mShareTo || v == mCenterTo) {
				v.startAnimation(AnimationUtils.loadAnimation(mContext,
						R.anim.anim_item_fade_pressed));
			}
			if (v == mAddLover) {
				// ´ò¿ª²éѯ°®È˽çÃæ
				startContainerActivity(LoverQueryFragment.class.getName(),
						null, RESULT_NEED_REFRESH);
			} else if (v == mChatTo) {
				if (null != mLover) {
					// showWarringReinviteLover();
					// } else {
					// ·¢Æð¶Ô»°
					startContainerActivity(
							ChatDialogFragment.class.getName(),
							String.valueOf(mLover.getId())
									+ ","
									+ String.valueOf(ChatTypeFromToType.CHAT_FROM_TYPE_USER));
				}
			} else if (v == mShareTo) {
				// ¹²ÏíÏà²á
				startContainerActivity(BabyAlbumFragment.class.getName(),
						mLover.getCode(), BabyAlbumFragment.RESULT_NEED_REFRESH);
			} else if (v == mCenterTo) {
				if (!isEmpty(mMe.getLover()) || null != mLover) {
					startContainerActivity(
							BabyMarkingsFragment.class.getName(),
							mLover.getCode());
				}
			} else if (v == mUnbind) {
				if (mMe.getLoverState() == 0) {
					// µÈ´ý¶Ô·½»ØӦʱ£¬¿ÉÒÔÈ¡Ïû
					sendCancelLoverInviteInThread(mLover);
				} else {
					// ¶Ô·½ÒÑÈ·ÈÏʱ£¬È¡Ïû°ó¶¨
					cancelLoverBindInThread();
				}
			}
		}
	};

	/** ÖØз¢ÆðÑûÇë */
	private void showWarringReinviteLover() {
		showCustomDialog("ÖØз¢ËÍÑûÇ룿", "ÄúÒªÔÙ·¢Ò»´ÎÌí¼Ó°®È˵ÄÑûÇëÂð£¿", null, null,
				new DialogInterface.OnClickListener() {

					@Override
					public void onClick(DialogInterface dialog, int which) {
						sendLoverInviteInThread(mLover);
					}
				});
	}

	/** ³¢ÊÔÈ¡ÏûÒÑ·¢µÄ°®ÈËÑûÇë */
	private void sendCancelLoverInviteInThread(final BaseUser user) {
		getThreadPool().execute(new Runnable() {

			@Override
			public void run() {
				String url = getAPIServer() + Interfaces.USER_CENTER
						+ "{\"cmd\":\"CancelRequest\",\"UserCode\":\""
						+ mMe.getCode() + "\",\"FriendCode\":\""
						+ user.getCode() + "\"}";
				String json = getRemoteJson(url);
				try {
					JSONObject obj = (JSONObject) new JSONTokener(json)
							.nextValue();
					String state = obj.getString("state");
					String value = "";
					if (obj.has("value")) {
						obj.getString("value");
					}
					if (state.equals(getResources().getString(
							R.string.network_state_succeed))) {
						// È¡Ïû³É¹¦
						showMsg(R.string.lover_ui_main_cancel_lover_invite);
						mMe.setLover(null);
						mMe.setLoverState(0);
						updateMyInfors();
					} else if (!isEmpty(value)) {
						// È¡Ïû²»³É¹¦£¬¶Ô·½ÒѾÍ¬ÒâÁËÔòÖØмÓÔØ°®È˽çÃæ
						mMe = mGson.fromJson(value, BaseUser.class);
						if (null != mMe) {
							updateMyInfors();
							if (mMe.getLoverState() == 1) {
								showMsg(R.string.lover_ui_main_cancel_lover_invite_failed_agreed);
							} else {
								showMsg(R.string.lover_ui_main_cancel_lover_invite_failed);
							}
						}
					}
					showLoverInforInHandler();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/** È¡Ïû°®È˵İ󶨹Øϵ */
	private void cancelLoverBindInThread() {
		getThreadPool().execute(new Runnable() {

			@Override
			public void run() {
				String url = getAPIServer() + Interfaces.USER_CENTER
						+ "{\"cmd\":\"CancelBind\",\"UserCode\":\""
						+ mMe.getCode() + "\",\"FriendCode\":\""
						+ mMe.getLover() + "\"}";
				String json = getJsonState(getRemoteJson(url));
				if (!json.equals("")) {
					mMe.setLover(null);
					mMe.setLoverState(0);
					updateMyInfors();
					showMsg(R.string.lover_ui_main_cancel_lover_bind);
					showLoverInforInHandler();
				}
			}
		});
	}

	/** ÏÔʾ°®È˵ÄÐÅÏ¢ */
	private void showLoverInforInHandler() {
		getHandler().post(new Runnable() {

			@Override
			public void run() {
				showLoverInfor();
			}
		});
	}
}


text:
package org.apache.beam.runners.core.construction;

import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertThat;

import com.google.common.base.Equivalence;
import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import org.apache.beam.model.pipeline.v1.RunnerApi;
import org.apache.beam.model.pipeline.v1.RunnerApi.CombinePayload;
import org.apache.beam.model.pipeline.v1.RunnerApi.Components;
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.Pipeline.PipelineVisitor;
import org.apache.beam.sdk.coders.BigEndianLongCoder;
import org.apache.beam.sdk.coders.Coder;
import org.apache.beam.sdk.coders.StructuredCoder;
import org.apache.beam.sdk.io.GenerateSequence;
import org.apache.beam.sdk.runners.AppliedPTransform;
import org.apache.beam.sdk.runners.TransformHierarchy.Node;
import org.apache.beam.sdk.transforms.Count;
import org.apache.beam.sdk.transforms.Create;
import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.transforms.GroupByKey;
import org.apache.beam.sdk.transforms.ParDo;
import org.apache.beam.sdk.transforms.View;
import org.apache.beam.sdk.transforms.WithKeys;
import org.apache.beam.sdk.transforms.windowing.AfterPane;
import org.apache.beam.sdk.transforms.windowing.AfterWatermark;
import org.apache.beam.sdk.transforms.windowing.FixedWindows;
import org.apache.beam.sdk.transforms.windowing.Window;
import org.apache.beam.sdk.values.KV;
import org.apache.beam.sdk.values.PCollection;
import org.apache.beam.sdk.values.PCollectionView;
import org.apache.beam.sdk.values.PValue;
import org.apache.beam.sdk.values.WindowingStrategy;
import org.joda.time.Duration;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;

/** Tests for {@link PipelineTranslation}. */
@RunWith(Parameterized.class)
public class PipelineTranslationTest {
  @Parameter(0)
  public Pipeline pipeline;

  @Parameters(name = "{index}")
  public static Iterable<Pipeline> testPipelines() {
    Pipeline trivialPipeline = Pipeline.create();
    trivialPipeline.apply(Create.of(1, 2, 3));

    Pipeline sideInputPipeline = Pipeline.create();
    final PCollectionView<String> singletonView =
        sideInputPipeline.apply(Create.of("foo")).apply(View.asSingleton());
    sideInputPipeline
        .apply(Create.of("main input"))
        .apply(
            ParDo.of(
                    new DoFn<String, String>() {
                      @ProcessElement
                      public void process(ProcessContext c) {
                        // actually never executed and no effect on translation
                        c.sideInput(singletonView);
                      }
                    })
                .withSideInputs(singletonView));

    Pipeline complexPipeline = Pipeline.create();
    BigEndianLongCoder customCoder = BigEndianLongCoder.of();
    PCollection<Long> elems = complexPipeline.apply(GenerateSequence.from(0L).to(207L));
    PCollection<Long> counted = elems.apply(Count.globally()).setCoder(customCoder);
    PCollection<Long> windowed =
        counted.apply(
            Window.<Long>into(FixedWindows.of(Duration.standardMinutes(7)))
                .triggering(
                    AfterWatermark.pastEndOfWindow()
                        .withEarlyFirings(AfterPane.elementCountAtLeast(19)))
                .accumulatingFiredPanes()
                .withAllowedLateness(Duration.standardMinutes(3L)));
    final WindowingStrategy<?, ?> windowedStrategy = windowed.getWindowingStrategy();
    PCollection<KV<String, Long>> keyed = windowed.apply(WithKeys.of("foo"));
    PCollection<KV<String, Iterable<Long>>> grouped = keyed.apply(GroupByKey.create());

    return ImmutableList.of(trivialPipeline, sideInputPipeline, complexPipeline);
  }

  @Test
  public void testProtoDirectly() {
    final RunnerApi.Pipeline pipelineProto = PipelineTranslation.toProto(pipeline, false);
    pipeline.traverseTopologically(new PipelineProtoVerificationVisitor(pipelineProto, false));
  }

  @Test
  public void testProtoDirectlyWithViewTransform() {
    final RunnerApi.Pipeline pipelineProto = PipelineTranslation.toProto(pipeline, true);
    pipeline.traverseTopologically(new PipelineProtoVerificationVisitor(pipelineProto, true));
  }

  private static class PipelineProtoVerificationVisitor extends PipelineVisitor.Defaults {

    private final RunnerApi.Pipeline pipelineProto;
    private boolean useDeprecatedViewTransforms;
    Set<Node> transforms;
    Set<PCollection<?>> pcollections;
    Set<Equivalence.Wrapper<? extends Coder<?>>> coders;
    Set<WindowingStrategy<?, ?>> windowingStrategies;
    int missingViewTransforms = 0;

    public PipelineProtoVerificationVisitor(
        RunnerApi.Pipeline pipelineProto, boolean useDeprecatedViewTransforms) {
      this.pipelineProto = pipelineProto;
      this.useDeprecatedViewTransforms = useDeprecatedViewTransforms;
      transforms = new HashSet<>();
      pcollections = new HashSet<>();
      coders = new HashSet<>();
      windowingStrategies = new HashSet<>();
    }

    @Override
    public void leaveCompositeTransform(Node node) {
      if (node.isRootNode()) {
        assertThat(
            "Unexpected number of PTransforms",
            pipelineProto.getComponents().getTransformsCount(),
            equalTo(transforms.size() - missingViewTransforms));
        assertThat(
            "Unexpected number of PCollections",
            pipelineProto.getComponents().getPcollectionsCount(),
            equalTo(pcollections.size() - missingViewTransforms));
        assertThat(
            "Unexpected number of Coders",
            pipelineProto.getComponents().getCodersCount(),
            equalTo(coders.size()));
        assertThat(
            "Unexpected number of Windowing Strategies",
            pipelineProto.getComponents().getWindowingStrategiesCount(),
            equalTo(windowingStrategies.size()));
      } else {
        transforms.add(node);
        if (PTransformTranslation.COMBINE_PER_KEY_TRANSFORM_URN.equals(
            PTransformTranslation.urnForTransformOrNull(node.getTransform()))) {
          // Combine translation introduces a coder that is not assigned to any PCollection
          // in the default expansion, and must be explicitly added here.
          try {
            addCoders(getAccumulatorCoder(node.toAppliedPTransform(getPipeline())));
          } catch (IOException e) {
            throw new RuntimeException(e);
          }
        }
      }
    }

    @Override
    public void visitPrimitiveTransform(Node node) {
      transforms.add(node);
      if (!useDeprecatedViewTransforms
          && PTransformTranslation.CREATE_VIEW_TRANSFORM_URN.equals(
              PTransformTranslation.urnForTransformOrNull(node.getTransform()))) {
        missingViewTransforms += 1;
      }
    }

    @Override
    public void visitValue(PValue value, Node producer) {
      if (value instanceof PCollection) {
        PCollection pc = (PCollection) value;
        pcollections.add(pc);
        addCoders(pc.getCoder());
        windowingStrategies.add(pc.getWindowingStrategy());
        addCoders(pc.getWindowingStrategy().getWindowFn().windowCoder());
      }
    }

    private void addCoders(Coder<?> coder) {
      coders.add(Equivalence.identity().wrap(coder));
      if (CoderTranslation.KNOWN_CODER_URNS.containsKey(coder.getClass())) {
        for (Coder<?> component : ((StructuredCoder<?>) coder).getComponents()) {
          addCoders(component);
        }
      }
    }
  }

  private static Coder<?> getAccumulatorCoder(AppliedPTransform<?, ?, ?> transform)
      throws IOException {
    SdkComponents sdkComponents = SdkComponents.create(transform.getPipeline().getOptions());
    String id =
        getCombinePayload(transform, sdkComponents)
            .map(CombinePayload::getAccumulatorCoderId)
            .orElseThrow(() -> new IOException("Transform does not contain an AccumulatorCoder"));
    Components components = sdkComponents.toComponents();
    return CoderTranslation.fromProto(
        components.getCodersOrThrow(id), RehydratedComponents.forComponents(components));
  }

  private static Optional<CombinePayload> getCombinePayload(
      AppliedPTransform<?, ?, ?> transform, SdkComponents components) throws IOException {
    RunnerApi.PTransform proto =
        PTransformTranslation.toProto(transform, Collections.emptyList(), components);

    // Even if the proto has no spec, calling getSpec still returns a blank spec, which we want to
    // avoid. It should be clear to the caller whether or not there was a spec in the transform.
    if (proto.hasSpec()) {
      return Optional.of(CombinePayload.parseFrom(proto.getSpec().getPayload()));
    } else {
      return Optional.empty();
    }
  }
}


text:
<?php
  // funkcija portit bronju, i esli nada to wit
  function damage_armor ($login, $shield = 0)
  {
    do_mysql ("UPDATE items SET str = str - 1 WHERE belongs = '".$login."' AND is_in LIKE 'a%' AND str > 0;");
    if ($shield) do_mysql ("UPDATE items SET str = str - 1 WHERE belongs = '".$login."' AND is_in = 'shi' AND str > 0;");
  }
?>


text:
package de.avalax.mtg_insight.domain.model.card;

import java.util.Collections;
import java.util.List;

import de.avalax.mtg_insight.domain.model.color.Color;
import de.avalax.mtg_insight.domain.model.mana.ConvertedManaCost;
import de.avalax.mtg_insight.domain.model.mana.Mana;
import de.avalax.mtg_insight.domain.model.mana.ManaCost;

public class CardBuilder {
    private String cardName;
    private List<Color> colors;
    private ConvertedManaCost cmc;
    private CreatureBody creatureBody;
    private Class<?> cardType;
    private LoyaltyPoints loyaltyPoints;
    private List<Ability> abilities;

    public CardBuilder(String cardName) {
        this.cardName = cardName;
        this.colors = Collections.emptyList();
        this.cardType = GenericCard.class;
        this.cmc = new ConvertedManaCost("", Collections.<ManaCost>emptyList());
    }

    public Card build() {
        GenericCard card;
        if (cardType.equals(Creature.class)) {
            card = new Creature(cardName, creatureBody, abilities);
        } else if (cardType.equals(Artifact.class)) {
            card = new Artifact(cardName);
        } else if (cardType.equals(Land.class)) {
            card = new Land(cardName);
        } else if (cardType.equals(Enchantment.class)) {
            card = new Enchantment(cardName);
        } else if (cardType.equals(Planeswalker.class)) {
            card = new Planeswalker(cardName, loyaltyPoints);
        } else if (cardType.equals(Instant.class)) {
            card = new Instant(cardName);
        } else if (cardType.equals(Sorcery.class)) {
            card = new Sorcery(cardName);
        } else {
            card = new GenericCard(cardName);
        }

        card.colorOfCard(colors);
        card.convertedManaCost(cmc);
        return card;
    }

    public CardBuilder cardColors(List<Color> colors) {
        this.colors = colors != null ? colors : Collections.<Color>emptyList();
        return this;
    }

    public CardBuilder convertedManaCost(ConvertedManaCost cmc) {
        this.cmc = cmc;
        return this;
    }

    public CardBuilder creatureCard(CreatureBody creatureBody, List<Ability> abilities) {
        this.abilities = abilities;
        this.cardType = Creature.class;
        this.creatureBody = creatureBody;
        return this;
    }

    public CardBuilder artifactCard() {
        this.cardType = Artifact.class;
        return this;
    }

    public CardBuilder landCard() {
        this.cardType = Land.class;
        return this;
    }

    public CardBuilder enchantmentCard() {
        this.cardType = Enchantment.class;
        return this;
    }

    public CardBuilder planeswalkerCard(LoyaltyPoints loyaltyPoints) {
        this.loyaltyPoints = loyaltyPoints;
        this.cardType = Planeswalker.class;
        return this;
    }

    public CardBuilder instantCard() {
        this.cardType = Instant.class;
        return this;
    }

    public CardBuilder sorceryCard() {
        this.cardType = Sorcery.class;
        return this;
    }
}


text: INSERT INTO t VALUES (), (), ();


text:
<?php
/**
 * Apres la verfication de la session admin
 * permet de retourner le nombre de page des inscrit dans un evenement donné par son id
 * 20 participants par page
 */
include "adminCheck.php";
include_once "../Imports.php";
if(isset($_GET["EvId"])) {
    $EvId = $_GET["EvId"];
    echo ceil(count($InscDAO->ShowEventInscription($EvId)) / 20);
}
else
    echo 1;


text:
<?xml version="1.0" encoding="UTF-8"?>
<CommandInterface xmlns="http://v8.1c.ru/8.3/xcf/extrnprops" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2">
	<CommandsVisibility>
		<Command name="Catalog.узИдентификаторыОбъектовМетаданныхКонфигурации.StandardCommand.OpenList">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="DataProcessor.узАктивностьПользователя.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="DataProcessor.узЗагрузкаИзмененийИзХранилища.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="Constant.узИспользоватьВопросыИОтветы.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="Constant.узИспользоватьСвоиЦветаДляЗадач.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="Constant.узИспользоватьУчетВремени.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="DataProcessor.узКанбанДоска.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="Constant.узПоказыватьАктивностьПользователяНаРабочемСтоле.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
		<Command name="Constant.узРегистрироватьАктивностьПользователей.StandardCommand.Open">
			<Visibility>
				<xr:Common>false</xr:Common>
			</Visibility>
		</Command>
	</CommandsVisibility>
	<CommandsOrder>
		<Command name="DataProcessor.узКанбанДоска.Command.КомандаКанбанДоска">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узЗадачи.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узСпринты.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узКонфигурации.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узСтатусыЗадачи.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узВариантыВажностиЗадачи.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узВидыСтатусов.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узИдентификаторыОбъектовМетаданныхКонфигурации.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узИсторияКонфигураций.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.Заметки.Command.ВсеЗаметки">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.Заметки.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="InformationRegister.узЗаписиИсторииКонфигурации.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="InformationRegister.узНаблюдателиЗаЗадачами.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="InformationRegister.узНаличиеЗаметокПоПредмету.Command.узНаличиеЗаметокПоПредмету">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узВопросыОтветы.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="InformationRegister.узАктивностиПользователей.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Document.узВыпускРелиза.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="Catalog.узКонстанты.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
		<Command name="InformationRegister.узНастройкиДляСтатусов.StandardCommand.OpenList">
			<CommandGroup>NavigationPanelOrdinary</CommandGroup>
		</Command>
	</CommandsOrder>
	<GroupsOrder>
		<Group>NavigationPanelOrdinary</Group>
		<Group>NavigationPanelSeeAlso</Group>
	</GroupsOrder>
</CommandInterface>


text:
'use strict';

// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------

var rule = require('../rules/on-destroy');
var RuleTester = require('eslint').RuleTester;
var commonFalsePositives = require('./utils/commonFalsePositives');

// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------

var eslintTester = new RuleTester();

eslintTester.run('on-destroy', rule, {
    valid: [
        'var variable = scope.$on()',
        'var variable = scope.$watch()',
        'var variable = $scope.$on()',
        'var variable = $scope.$watch()',
        'var variable = $rootScope.$on()',
        'var variable = $rootScope.$watch()',
        '$scope.$on("$destroy")',
        '$rootScope.$on("$destroy")',
        '$scope.$on("$destroy", $scope.$on())',
        '$rootScope.$on("$destroy", $scope.$on())',
        '$scope.$on("$destroy", $rootScope.$on())',
        '$rootScope.$on("$destroy", $rootScope.$on())',
        'scope.$on()',
        'scope.$watch()',
        '$scope.$on()',
        '$scope.$watch()',
        'scope.$on("$destroy")',
        '$rootScope.$on("$destroy")',

        // false positive check
        '$on()',

        // uncovered edgecase
        '$scope["$on"]()'
    ].concat(commonFalsePositives),
    invalid: [
        {code: '$rootScope.$on("destroy")', errors: [{message: 'You probably misspelled $on("$destroy").'}]},
        {code: 'scope.$on("destroy")', errors: [{message: 'You probably misspelled $on("$destroy").'}]}
    ]
});


text:
TAG ?= 0.26
REGISTRY ?= gcr.io/google_containers
ARCH ?= $(shell go env GOARCH)
ALL_ARCH = amd64 arm arm64 ppc64le

QEMUVERSION=v2.9.1

IMGNAME = nginx-slim
IMAGE = $(REGISTRY)/$(IMGNAME)
MULTI_ARCH_IMG = $(IMAGE)-$(ARCH)

# Set default base image dynamically for each arch
BASEIMAGE?=gcr.io/google_containers/ubuntu-slim-$(ARCH):0.14

ifeq ($(ARCH),arm)
        QEMUARCH=arm
endif
ifeq ($(ARCH),arm64)
        QEMUARCH=aarch64
endif
ifeq ($(ARCH),ppc64le)
	QEMUARCH=ppc64le
endif
ifeq ($(ARCH),s390x)
        QEMUARCH=s390x
endif

TEMP_DIR := $(shell mktemp -d)

all: all-container

sub-container-%:
	$(MAKE) ARCH=$* container

sub-push-%:
	$(MAKE) ARCH=$* push

all-container: $(addprefix sub-container-,$(ALL_ARCH))

all-push: $(addprefix sub-push-,$(ALL_ARCH))

container: .container-$(ARCH)
.container-$(ARCH):
	cp ./* $(TEMP_DIR)
	cd $(TEMP_DIR) && sed -i 's|BASEIMAGE|$(BASEIMAGE)|g' Dockerfile
	cd $(TEMP_DIR) && sed -i "s|ARCH|$(QEMUARCH)|g" Dockerfile

ifeq ($(ARCH),amd64)
	# When building "normally" for amd64, remove the whole line, it has no part in the amd64 image
	cd $(TEMP_DIR) && sed -i "/CROSS_BUILD_/d" Dockerfile
else
	# When cross-building, only the placeholder "CROSS_BUILD_" should be removed
	# Register /usr/bin/qemu-ARCH-static as the handler for ARM binaries in the kernel
	docker run --rm --privileged multiarch/qemu-user-static:register --reset
	curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/$(QEMUVERSION)/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR)
	cd $(TEMP_DIR) && sed -i "s/CROSS_BUILD_//g" Dockerfile
endif

	docker build -t $(MULTI_ARCH_IMG):$(TAG) $(TEMP_DIR)

ifeq ($(ARCH), amd64)
	# This is for to maintain the backward compatibility
	docker tag $(MULTI_ARCH_IMG):$(TAG) $(IMAGE):$(TAG)
endif

push: .push-$(ARCH)
.push-$(ARCH): .container-$(ARCH)
	gcloud docker -- push $(MULTI_ARCH_IMG):$(TAG)
ifeq ($(ARCH), amd64)
	gcloud docker -- push $(IMAGE):$(TAG)
endif

clean: $(addprefix sub-clean-,$(ALL_ARCH))
sub-clean-%:
	docker rmi -f $(IMAGE)-$*:$(TAG) || true


text:
package com.voisintech.easeljs.filters;

public class BlurFilter {

}


text:
WITH ssales AS
(SELECT
    c_last_name,
    c_first_name,
    s_store_name,
    ca_state,
    s_state,
    i_color,
    i_current_price,
    i_manager_id,
    i_units,
    i_size,
    sum(ss_net_paid) netpaid
  FROM store_sales, store_returns, store, item, customer, customer_address
  WHERE ss_ticket_number = sr_ticket_number
    AND ss_item_sk = sr_item_sk
    AND ss_customer_sk = c_customer_sk
    AND ss_item_sk = i_item_sk
    AND ss_store_sk = s_store_sk
    AND c_current_addr_sk = ca_address_sk -- This condition did not exist in TPCDS v1.4
    AND c_birth_country = upper(ca_country)
    AND s_zip = ca_zip
    AND s_market_id = 8
  GROUP BY c_last_name, c_first_name, s_store_name, ca_state, s_state, i_color,
    i_current_price, i_manager_id, i_units, i_size)
SELECT
  c_last_name,
  c_first_name,
  s_store_name,
  sum(netpaid) paid
FROM ssales
WHERE i_color = 'pale'
GROUP BY c_last_name, c_first_name, s_store_name
HAVING sum(netpaid) > (SELECT 0.05 * avg(netpaid)
FROM ssales)
-- no order-by exists in q24a of TPCDS v1.4
ORDER BY
  c_last_name,
  c_first_name,
  s_store_name


text:
require 'dm-core'

module DataMapper
  module Types
    class CommonDiscriminator < Discriminator
      def self.dump(value, property)
        raise 'implement'
      end

      def self.load(value, property)
        property.model.find_const(value)
      end

      def self.bind(property)
        model           = property.model
        property_name   = property.name
        repository_name = property.repository_name

        model.discriminator = Discriminator.new(property)

        model.class_eval <<-RUBY, __FILE__, __LINE__+1
          extend Chainable

          extendable do
            def inherited(model)
              super  # setup self.descendants
              model.default_scope(#{repository_name.inspect}).update(#{property_name.inspect} => model.descendants)
            end
          end
        RUBY
      end

      class Discriminator < Model::DiscriminatorAdapter
        def initialize(property)
          super()
          @property = property
        end

        def discriminate(record, bag)
          case klass = record[@property]
            when Class then klass
            else @property.type.load(klass.to_s, @property)
          end
        end
      end
    end
  end # module Types
end # module DataMapper


text:
<!DOCTYPE html>

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width">
        <title></title>
        <link rel="icon" href="/img/favicon.ico" type="image/x-icon">
        <link rel="stylesheet" href="/css/fabric.min.css">
        <link rel="stylesheet" href="/css/fabric.components.min.css">

Listen to Webhook Notifications

Send an e-mail to  to get a notification

Waiting for notifications for subscription ...

        <button id="signOutButton" class="ms-Button ms-Button--compound">

            Sign out
            Sign out and delete the subscription
        </button>


text:
package net.runelite.rs.api;

import net.runelite.api.RenderOverview;
import net.runelite.api.WorldMapData;
import net.runelite.mapping.Import;

public interface RSRenderOverview extends RenderOverview
{
	@Import("worldMapX")
	int getWorldMapX();

	@Import("worldMapY")
	int getWorldMapY();

	@Import("worldMapZoom")
	float getWorldMapZoom();

	@Import("worldMapTargetX")
	int getWorldMapTargetX();

	@Import("worldMapTargetY")
	int getWorldMapTargetY();

	@Import("worldMapDisplayWidth")
	int getWorldMapDisplayWidth();

	@Import("worldMapDisplayHeight")
	int getWorldMapDisplayHeight();

	@Import("worldMapDisplayX")
	int getWorldMapDisplayX();

	@Import("worldMapDisplayY")
	int getWorldMapDisplayY();

	@Import("setWorldMapPosition")
	void setWorldMapPosition(int worldMapX, int worldMapY, boolean changedSurface);

	@Import("setWorldMapPositionTarget")
	void setWorldMapPositionTarget(int worldPointX, int worldPointY);

	@Import("worldMapManager")
	@Override
	RSWorldMapManager getWorldMapManager();

	@Import("initializeWorldMap")
	@Override
	void initializeWorldMap(WorldMapData var1);

	@Import("worldMapData")
	@Override
	RSWorldMapData getWorldMapData();
}


text:
/*
 * Description:
 *     What is this file about?
 *
 * Revision history:
 *     xxxx-xx-xx, author, first version
 *     xxxx-xx-xx, author, fix bug about xxx
 */

# include "kubernetes_cluster_scheduler.h"

class test_client : public ::dsn::service_app
{
public:
    test_client(dsn_gpid gpid) : ::dsn::service_app(gpid) {}

    ::dsn::error_code start(int argc, char** argv)
    {
        auto err = _k8s.initialize();
        return err;
    }

    ::dsn::error_code stop(bool cleanup = false)
    {
        return ::dsn::ERR_OK;
    }

    ::dsn::dist::kubernetes_cluster_scheduler _k8s;
};

int main(int argc, char **argv)
{
    // register all possible services
    dsn::register_app<test_client>("client");

    // specify what services and tools will run in config file, then run
    dsn_run_config("config.ini", true);

    return 0;
}


text:
package datastore

import (
	"fmt"
	"io"
	"io/ioutil"
	"os"

	"github.com/ciao-project/ciao/ciao-storage"
)

// Ceph implements the RawDataStore interface for Ceph RBD based storage
type Ceph struct {
	ImageTempDir string
	BlockDriver  storage.CephDriver
}

// Write copies an image onto the fileystem into a tempory location and uploads
// it into ceph, snapshots.
func (c *Ceph) Write(ID string, body io.Reader) error {
	image, err := ioutil.TempFile("", "ciao-image")
	if err != nil {
		return fmt.Errorf("Error creating temporary image file: %v", err)
	}
	defer os.Remove(image.Name())

	// TODO(rbradford): Is there a better way
	buf := make([]byte, 1<<16)
	_, err = io.CopyBuffer(image, body, buf)
	if err != nil {
		image.Close()
		return fmt.Errorf("Error writing to temporary image file: %v", err)
	}

	err = image.Close()
	if err != nil {
		return fmt.Errorf("Error closing temporary image file: %v", err)
	}

	_, err = c.BlockDriver.CreateBlockDevice(ID, image.Name(), 0)
	if err != nil {
		return fmt.Errorf("Error creating block device: %v", err)
	}

	err = c.BlockDriver.CreateBlockDeviceSnapshot(ID, "ciao-image")
	if err != nil {
		c.BlockDriver.DeleteBlockDevice(ID)
		return fmt.Errorf("Unable to create snapshot: %v", err)
	}

	return nil
}

// Delete removes an image from ceph after deleting the snapshot.
func (c *Ceph) Delete(ID string) error {
	err := c.BlockDriver.DeleteBlockDeviceSnapshot(ID, "ciao-image")
	if err != nil {
		return fmt.Errorf("Unable to delete snapshot: %v", err)
	}

	err = c.BlockDriver.DeleteBlockDevice(ID)
	if err != nil {
		return fmt.Errorf("Error deleting block device: %v", err)
	}
	return nil
}

// GetImageSize returns the size, in bytes, of the block device
func (c *Ceph) GetImageSize(ID string) (uint64, error) {
	imageSize, err := c.BlockDriver.GetBlockDeviceSize(ID)
	if err != nil {
		return 0, fmt.Errorf("Error getting image size: %v", err)
	}
	return imageSize, nil
}


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApp.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Title = "Map";

            return View();
        }
    }
}


text:
@see [Wikipedia: Beta distribution](https://en.wikipedia.org/wiki/Beta_distribution) @see [Commons JavaDoc: BetaDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/BetaDistribution.html)

- int -> Beta(double: alpha, double: beta, java.lang.String[]...: mods) -> double
- long -> Beta(double: alpha, double: beta, java.lang.String[]...: mods) -> double

## Binomial

@see [Wikipedia: Binomial distribution](http://en.wikipedia.org/wiki/Binomial_distribution) @see [Commons JavaDoc: BinomialDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/BinomialDistribution.html)

- int -> Binomial(int: trials, double: p, java.lang.String[]...: modslist) -> int
- int -> Binomial(int: trials, double: p, java.lang.String[]...: modslist) -> long
- long -> Binomial(int: trials, double: p, java.lang.String[]...: modslist) -> int
- long -> Binomial(int: trials, double: p, java.lang.String[]...: modslist) -> long

## Cauchy

@see [Wikipedia: Cauchy_distribution](http://en.wikipedia.org/wiki/Cauchy_distribution) @see [Commons Javadoc: CauchyDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/CauchyDistribution.html)

- int -> Cauchy(double: median, double: scale, java.lang.String[]...: mods) -> double
- long -> Cauchy(double: median, double: scale, java.lang.String[]...: mods) -> double

## ChiSquared

@see [Wikipedia: Chi-squared distribution](https://en.wikipedia.org/wiki/Chi-squared_distribution) @see [Commons JavaDoc: ChiSquaredDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ChiSquaredDistribution.html)

- int -> ChiSquared(double: degreesOfFreedom, java.lang.String[]...: mods) -> double
- long -> ChiSquared(double: degreesOfFreedom, java.lang.String[]...: mods) -> double

## CoinFunc

This is a higher-order function which takes an input value, and flips a coin. The first parameter is used as the threshold for choosing a function. If the sample values derived from the input is lower than the threshold value, then the first following function is used, and otherwise the second is used. For example, if the threshold is 0.23, and the input value is hashed and sampled in the unit interval to 0.43, then the second of the two provided functions will be used. The input value does not need to be hashed beforehand, since the user may need to use the full input value before hashing as the input to one or both of the functions. This function will accept either a LongFunction or a {@link Function} or a LongUnaryOperator in either position. If necessary, use {@link java.util.function.ToLongFunction} to adapt other function forms to be compatible with these signatures.

- java.lang.Long -> CoinFunc(double: threshold, java.lang.Object: first, java.lang.Object: second) -> java.lang.Object
  - *ex:* `CoinFunc(0.15,NumberNameToString(),Combinations('A:1:B:23'))` - *use the first function 15% of the time*

## ConstantContinuous

Always yields the same value. @see [Commons JavaDoc: ConstantContinuousDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ConstantContinuousDistribution.html)

- int -> ConstantContinuous(double: value, java.lang.String[]...: mods) -> double
- long -> ConstantContinuous(double: value, java.lang.String[]...: mods) -> double

## Enumerated

Creates a probability density given the values and optional weights provided, in "value:weight value:weight ..." form. The weight can be elided for any value to use the default weight of 1.0d. @see [Commons JavaDoc: EnumeratedRealDistribution](http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math4/distribution/EnumeratedRealDistribution.html)

- int -> Enumerated(java.lang.String: data, java.lang.String[]...: mods) -> double
  - *ex:* `Enumerated('1 2 3 4 5 6')` - *a fair six-sided die roll*
  - *ex:* `Enumerated('1:2.0 2 3 4 5 6')` - *an unfair six-sided die roll, where 1 has probability mass 2.0, and everything else has only 1.0*
- long -> Enumerated(java.lang.String: data, java.lang.String[]...: mods) -> double
  - *ex:* `Enumerated('1 2 3 4 5 6')` - *a fair 6-sided die*
  - *ex:* `Enumerated('1:2.0 2 3 4 5:0.5 6:0.5')` - *an unfair fair 6-sided die, where ones are twice as likely, and fives and sixes are half as likely*

## Exponential

@see [Wikipedia: Exponential distribution](https://en.wikipedia.org/wiki/Exponential_distribution) @see [Commons JavaDoc: ExponentialDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ExponentialDistribution.html)

- int -> Exponential(double: mean, java.lang.String[]...: mods) -> double
- long -> Exponential(double: mean, java.lang.String[]...: mods) -> double

## F

@see [Wikipedia: F-distribution](https://en.wikipedia.org/wiki/F-distribution) @see [Commons JavaDoc: FDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/FDistribution.html) @see [Mathworld: F-Distribution](http://mathworld.wolfram.com/F-Distribution.html)

- int -> F(double: numeratorDegreesOfFreedom, double: denominatorDegreesOfFreedom, java.lang.String[]...: mods) -> double
- long -> F(double: numeratorDegreesOfFreedom, double: denominatorDegreesOfFreedom, java.lang.String[]...: mods) -> double

## Gamma

@see [Wikipedia: Gamma distribution](https://en.wikipedia.org/wiki/Gamma_distribution) @see [Commons JavaDoc: GammaDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/GammaDistribution.html)

- int -> Gamma(double: shape, double: scale, java.lang.String[]...: mods) -> double
- long -> Gamma(double: shape, double: scale, java.lang.String[]...: mods) -> double

## Geometric

@see [Wikipedia: Geometric distribution](http://en.wikipedia.org/wiki/Geometric_distribution) @see [Commons JavaDoc: GeometricDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/GeometricDistribution.html)

- int -> Geometric(double: p, java.lang.String[]...: modslist) -> int
- int -> Geometric(double: p, java.lang.String[]...: modslist) -> long
- long -> Geometric(double: p, java.lang.String[]...: modslist) -> int
- long -> Geometric(double: p, java.lang.String[]...: modslist) -> long

## Gumbel

@see [Wikipedia: Gumbel distribution](https://en.wikipedia.org/wiki/Gumbel_distribution) @see [Commons JavaDoc: GumbelDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/GumbelDistribution.html)

- int -> Gumbel(double: mu, double: beta, java.lang.String[]...: mods) -> double
- long -> Gumbel(double: mu, double: beta, java.lang.String[]...: mods) -> double

## Hypergeometric

@see [Wikipedia: Hypergeometric distribution](http://en.wikipedia.org/wiki/Hypergeometric_distribution) @see [Commons JavaDoc: HypergeometricDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/HypergeometricDistribution.html)

- int -> Hypergeometric(int: populationSize, int: numberOfSuccesses, int: sampleSize, java.lang.String[]...: modslist) -> int
- int -> Hypergeometric(int: populationSize, int: numberOfSuccesses, int: sampleSize, java.lang.String[]...: modslist) -> long
- long -> Hypergeometric(int: populationSize, int: numberOfSuccesses, int: sampleSize, java.lang.String[]...: modslist) -> int
- long -> Hypergeometric(int: populationSize, int: numberOfSuccesses, int: sampleSize, java.lang.String[]...: modslist) -> long

## Laplace

@see [Wikipedia: Laplace distribution](https://en.wikipedia.org/wiki/Laplace_distribution) @see [Commons JavaDoc: LaplaceDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/LaplaceDistribution.html)

- int -> Laplace(double: mu, double: beta, java.lang.String[]...: mods) -> double
- long -> Laplace(double: mu, double: beta, java.lang.String[]...: mods) -> double

## Levy

@see [Wikipedia: Lévy distribution](https://en.wikipedia.org/wiki/L%C3%A9vy_distribution) @see [Commons JavaDoc: LevyDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/LevyDistribution.html)

- int -> Levy(double: mu, double: c, java.lang.String[]...: mods) -> double
- long -> Levy(double: mu, double: c, java.lang.String[]...: mods) -> double

## LogNormal

@see [Wikipedia: Log-normal distribution](https://en.wikipedia.org/wiki/Log-normal_distribution) @see [Commons JavaDoc: LogNormalDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/LogNormalDistribution.html)

- int -> LogNormal(double: scale, double: shape, java.lang.String[]...: mods) -> double
- long -> LogNormal(double: scale, double: shape, java.lang.String[]...: mods) -> double

## Logistic

@see [Wikipedia: Logistic distribution](https://en.wikipedia.org/wiki/Logistic_distribution) @see [Commons JavaDoc: LogisticDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/LogisticDistribution.html)

- int -> Logistic(double: mu, double: scale, java.lang.String[]...: mods) -> double
- long -> Logistic(double: mu, double: scale, java.lang.String[]...: mods) -> double

## Nakagami

@see [Wikipedia: Nakagami distribution](https://en.wikipedia.org/wiki/Nakagami_distribution) @see [Commons JavaDoc: NakagamiDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/NakagamiDistribution.html)

- int -> Nakagami(double: mu, double: omega, java.lang.String[]...: mods) -> double
- long -> Nakagami(double: mu, double: omega, java.lang.String[]...: mods) -> double

## Normal

@see [Wikipedia: Normal distribution](https://en.wikipedia.org/wiki/Normal_distribution) @see [Commons JavaDoc: NormalDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/NormalDistribution.html)

- int -> Normal(double: mean, double: sd, java.lang.String[]...: mods) -> double
- long -> Normal(double: mean, double: sd, java.lang.String[]...: mods) -> double

## Pareto

@see [Wikipedia: Pareto distribution](https://en.wikipedia.org/wiki/Pareto_distribution) @see [Commons JavaDoc: ParetoDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ParetoDistribution.html)

- int -> Pareto(double: scale, double: shape, java.lang.String[]...: mods) -> double
- long -> Pareto(double: scale, double: shape, java.lang.String[]...: mods) -> double

## Pascal

@see [Commons JavaDoc: PascalDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/PascalDistribution.html) @see [Wikipedia: Negative binomial distribution](https://en.wikipedia.org/wiki/Negative_binomial_distribution)

- int -> Pascal(int: r, double: p, java.lang.String[]...: modslist) -> int
- int -> Pascal(int: r, double: p, java.lang.String[]...: modslist) -> long
- long -> Pascal(int: r, double: p, java.lang.String[]...: modslist) -> int
- long -> Pascal(int: r, double: p, java.lang.String[]...: modslist) -> long

## Poisson

@see [Wikipedia: Poisson distribution](http://en.wikipedia.org/wiki/Poisson_distribution) @see [Commons JavaDoc: PoissonDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/PoissonDistribution.html)

- int -> Poisson(double: p, java.lang.String[]...: modslist) -> int
- int -> Poisson(double: p, java.lang.String[]...: modslist) -> long
- long -> Poisson(double: p, java.lang.String[]...: modslist) -> int
- long -> Poisson(double: p, java.lang.String[]...: modslist) -> long

## T

@see [Wikipedia: Student's t-distribution](https://en.wikipedia.org/wiki/Student's_t-distribution) @see [Commons JavaDoc: TDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/TDistribution.html)

- int -> T(double: degreesOfFreedom, java.lang.String[]...: mods) -> double
- long -> T(double: degreesOfFreedom, java.lang.String[]...: mods) -> double

## Triangular

@see [Wikipedia: Triangular distribution](https://en.wikipedia.org/wiki/Triangular_distribution) @see [Commons JavaDoc: TriangularDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/TriangularDistribution.html)

- int -> Triangular(double: a, double: c, double: b, java.lang.String[]...: mods) -> double
- long -> Triangular(double: a, double: c, double: b, java.lang.String[]...: mods) -> double

## Uniform

@see [Wikipedia: Uniform distribution (continuous)](https://en.wikipedia.org/wiki/Uniform_distribution_(continuous)) @see [Commons JavaDoc: UniformContinuousDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/UniformContinuousDistribution.html)

- int -> Uniform(double: lower, double: upper, java.lang.String[]...: mods) -> double
- long -> Uniform(double: lower, double: upper, java.lang.String[]...: mods) -> double
- int -> Uniform(int: lower, int: upper, java.lang.String[]...: modslist) -> int
- int -> Uniform(int: lower, int: upper, java.lang.String[]...: modslist) -> long
- long -> Uniform(int: lower, int: upper, java.lang.String[]...: modslist) -> int
- long -> Uniform(int: lower, int: upper, java.lang.String[]...: modslist) -> long

## Weibull

@see [Wikipedia: Weibull distribution](https://en.wikipedia.org/wiki/Weibull_distribution) @see [Wolfram Mathworld: Weibull Distribution](http://mathworld.wolfram.com/WeibullDistribution.html) @see [Commons Javadoc: WeibullDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/WeibullDistribution.html)

- int -> Weibull(double: alpha, double: beta, java.lang.String[]...: mods) -> double
- long -> Weibull(double: alpha, double: beta, java.lang.String[]...: mods) -> double

## WeightedFuncs

Allows for easy branching over multiple functions with specific weights.

- long -> WeightedFuncs(java.lang.Object[]...: weightsAndFuncs) -> java.lang.Object

## Zipf

@see [Wikipedia: Zipf's Law](https://en.wikipedia.org/wiki/Zipf's_law) @see [Commons JavaDoc: ZipfDistribution](https://commons.apache.org/proper/commons-statistics/commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ZipfDistribution.html)

- int -> Zipf(int: numberOfElements, double: exponent, java.lang.String[]...: modslist) -> int
- int -> Zipf(int: numberOfElements, double: exponent, java.lang.String[]...: modslist) -> long
- long -> Zipf(int: numberOfElements, double: exponent, java.lang.String[]...: modslist) -> int
- long -> Zipf(int: numberOfElements, double: exponent, java.lang.String[]...: modslist) -> long


text:
import * as React from "react";
import { StyleSheet, View } from "react-native-web";

const Browser = (props: Object) => (
  <View style={[props.style, styles.editor]}>
    <View style={styles.header}>
      <View style={[styles.bullet, { backgroundColor: "#FC4948" }]} />
      <View style={[styles.bullet, { backgroundColor: "#FDB424" }]} />
      <View style={[styles.bullet, { backgroundColor: "#29C231" }]} />
    </View>
    <View style={styles.content}>
      <View style={styles.contentContainer}>{props.children}</View>
    </View>
  </View>
);

const radius = 4;
const padding = 8;
const bulletSize = 8;
const styles = StyleSheet.create({
  editor: {
    flexGrow: 1,
  },
  header: {
    flexDirection: "row",
    // fontSize: 12,
    borderTopLeftRadius: radius,
    borderTopRightRadius: radius,
    padding: padding,
    backgroundColor: "#12171C",
  },
  bullet: {
    width: bulletSize,
    height: bulletSize,
    borderRadius: bulletSize,
    marginRight: bulletSize / 2,
  },
  content: {
    flexGrow: 1,
    borderBottomLeftRadius: radius,
    borderBottomRightRadius: radius,
    padding: 6,
    paddingTop: 0,
    backgroundColor: "#171D23",
  },
  contentContainer: {
    flexGrow: 1,
    backgroundColor: "#fff",
  },
});

export default Browser;


text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: CANopen_304</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>

<link href="navtree.css" rel="stylesheet" type="text/css"/>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<link href="doxygen.css" rel="stylesheet" type="text/css" />

CANopenNode

          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)"
               onblur="searchBox.OnSearchFieldFocus(false)"
               onkeyup="searchBox.OnSearchFieldChange(event)"/>

Modules

CANopen_304

CANopen Safety (EN 50325-5:2010 (formerly CiA 304))
More...

Modules

 	GFC

 	SRDO

Detailed Description

CANopen Safety (EN 50325-5:2010 (formerly CiA 304))

Standard defines the usage of Safety Related Data Objects (SRDO) and the GFC. This is an additional protocol (to SDO, PDO) to exchange data. The meaning of "security" here refers not to security (crypto) but to data consistency.

Generated on Thu Dec 24 2020 14:30:50 for CANopenNode by

     1.8.17


text:
title:  Ny asa sy ny fitomboana
date:  07/12/2020
---

Ny asa dia izay ataontsika eo amin'ny fiainantsika. Na ireo olona manao asa saina indrindra aza dia mbola manao asa vatana, na dia mitendry ireo bokotra eo amin'ny solosaina ihany aza izany.

**Mampiasa ny teny hoe "tanana" ny toko sy andininy manaraka eto, ho sary an'ohatra maneho ny asa. lnona no ampianarin'izy ireo momba ny asa?**

`Deo. 16:15:`

`Mpitt. 9:10:`

`Ohab. 21:25:`

`Jer. 1:16:`

Nomen'Andriamaasan'ny tanantsika" mba hahitantsika fahasambarana sy fifaliana (jereo ny Ohab. 10:4; 12:14). Manana fahaiza-manao hahafahany manatontosa zavatra manan-danja iray eo amin'ny fiainany ny tsirairay. Tsy ny famerenana hoe: "Mino aho fa mahavita!" no hampitombo izany fahaiza-manao izany fa ny fanaovana asa ihany.

Raha fitahian'Andriamanitra antsika ny "asan'ny tanantsika" (jereo ny Sal. 90:17) ary koa manome lanja ny fisiantsika, ny drafitr'Andriamanitra fara tampony kosa dia ny hitahiana ny hafa amin'izany "asan'ny tanantsika" izany. Nosoratan'i Paoly fa tsy maintsy miasa isika, manao zavatra mahasoa amin'ny alalan'ny tanantsika, mba hananantsika zavatra hozaraina amin'ny hafa. Azo antoka fa niaina araka izany fitsipika izany i Paoly: "Fa fantatrareo ihany fa ireto tanako ireto no niasa `mba hahazoako sy ny niaraka tamiko izay nilainay. Efa nasehoko anareo tamin'ny zavatra rehetra fa tokony hiasa toy izany koa hianareo, mba hiantra ny mahantra ka hahatsiaro ny tenin'i Jesosy Tompo, izay manao hoe: Mahasambatra kokoa ny manome noho ny mandray" - Asa. 20:34,35.

`Tokony hanao tahaka ny vavaka tsotra nataon'i Nehemia isika, manao hoe: "Koa ankehitriny ampaherezo e ny tanako!"- Neh. 6:9. Manao ahoana ny fihetsikao manoloana ny asanao? Fomba ahoana no hahatonga ny asanao ho fitahiana bebe kokoa ho an'ny hafa?`


text:
/*!
 * Start Bootstrap - Scrolling Nav HTML Template (http://startbootstrap.com)
 * Code licensed under the Apache License v2.0.
 * For details, see http://www.apache.org/licenses/LICENSE-2.0.
 */

body {
    width: 100%;
    height: 100%;
    font-family: 'Open Sans', sans-serif;
    background-color: #FFF;
}

h1, h2, h3 {
    font-family: 'Alegreya Sans SC', sans-serif;
}

html {
    width: 100%;
    height: 100%;
}

@media(min-width:767px) {

    .navbar {
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
    }

}
@media screen and (min-width:990px) {
    #profiles-mobile {
        display: none;
    }

    #MD-logo {
        height: 70px;
    }
    #slide1, #slide2  {
        padding: 100px 50px 100px 50px;
    }

    #slide1 .headers h1, #slide2 .headers h1 {
        font-size: 75px;
    }

    #about-thumbnails {
        padding: 70px 120px 70px 120px;
    }

}
@media screen and (max-width:990px) {
    #profiles-desktop {
        display: none;
    }
    #profiles-mobile {
        display: block;
    }
    #MD-logo {
        height: 70px;
    }
    #slide1, #slide2  {
        padding: 75px 20px 75px 20px;
    }

    #slide1 .headers h1, #slide2 .headers h1 {
        font-size: 55px;
    }
}

@media screen and (max-width:767px) {

    #MD-logo {
        height: 55px;
    }
    #slide1, #slide2  {
        padding: 50px 20px 50px 20px;
    }

    #slide1 .headers h1, #slide2 .headers h1 {
        font-size: 45px;
    }

    #contact-bar {
        visibility: hidden;
        display: none;
    }

    #about-thumbnails {
        padding: 0px 20px 0px 20px;
    }

}
@media screen and (max-width:447px) {
    #slide1, #slide2  {
        padding: 25px 20px 25px 20px;
    }

    #slide1 .headers h1, #slide2 .headers h1 {
        font-size: 35px;
    }

}
@media screen and (max-width:386px) {
    #title {
        font-size: 24px;
        padding-left: 0px;
        padding-right: 0px;
    }
    #MD-logo {
        height: 45px;
        padding: 0px;
    }
    #slide1, #slide2  {
        padding: 10px 20px 10px 20px;
    }

    #slide1 .headers h1, #slide2 .headers h1 {
        font-size: 30px;
    }

}

@media screen and (max-width:321px) {
    #MD-logo {
        height: 40px;
    }
}

/* Custom navbar styling */
.navbar-default {
    background-color: white;
    border-color: #eee;
    margin: 0px;
    font-family: 'Alegreya Sans SC', sans-serif;
    font-size: 1.3em;
    padding-top: 40px;
    padding-bottom: 40px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.navbar-header #title{
    color: #09814A;
    font-size: 1.6em;
}
.navbar-collapse .navbar-nav {
    padding-top: 20px;
}
.navbar-collapse .navbar-nav .page-scroll{
    color: #231F20 !important;
}
.navbar-collapse .navbar-nav .active .page-scroll {
    background: transparent !important;
    color: #09814A !important;
}

.navbar-default .navbar-toggle {
    background-color: white !important;
}
/* contact-bar styling */
.contact-bar {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color:  #09814A;
    color: white;
    z-index: 1;
    text-align: center;
    padding: 5px;
}
.contact-bar .contact-info {
    margin-top: 10px;
    font-size: 1.2em;
}
/* back to top button */
.to-top p {
    position: fixed;
    right: 0px;
    bottom: 60px;
    border: solid;
    border-color: #F9F9F9;
    border-radius: 0px;
    background: #F9F9F9;
    font-family: 'Alegreya Sans SC', sans-serif;
    z-index: 1;
}
.to-top a {
    color: black;
}
#facebook-icon {
    text-decoration: none;
}

/* intro section styling */

#slide1 {
    margin-top: 120px;
    text-align: center;
    color: #09814A;
    background: url(imgs/woman.jpg) center center no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
    background-attachment: scroll;
}

#slide2 {
    display: none;
    margin-top: 120px;
    text-align: center;
    color: #09814A;
    background: url(imgs/ken-lily.jpg) center center no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
    background-attachment: scroll;
}

.splash-section .headers h1, .splash-section .headers h2, button{
    clear: both;
    float: left;
    padding: 0px;
    margin: 0px;
}
.splash-section .headers #be-beautiful {
    position: relative;
    left: -1000px;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 1s;
    animation: slideIn 0.5s forwards;
    animation-delay: 1s;
}
.splash-section .headers #be-healthy {
    position: relative;
    left: -1000px;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 3s;
    animation: slideIn 0.5s forwards;
    animation-delay: 3s;
}
.splash-section .headers #be-yourself {
    position: relative;
    left: -1000px;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 5s;
    animation: slideIn 0.5s forwards;
    animation-delay: 5s;
}

.splash-section button {
    position: relative;
    left: -1000px;
    margin: 20px 0px 30px 0px;
    padding: 10px 20px 10px 20px;
    border: solid;
    border-color: #09814A;
    border-radius: 0px;
    background: #09814A;
    color: #FFF;
    font-family: 'Alegreya Sans SC', sans-serif;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 6s;
    animation: slideIn 0.5s forwards;
    animation-delay: 6s;
}
#slide2 .headers #dr-lo {
    padding-top: 10px;
}
#slide2 .headers #md{
    padding-bottom: 10px;
}
.splash-section .headers #dr-lo, #dds {
    position: relative;
    left: -1000px;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 1s;
    animation: slideIn 0.5s forwards;
    animation-delay: 1s;
}
.splash-section .headers #dr-lam, #md{
    position: relative;
    left: -1000px;
    -webkit-animation: slideIn 0.5s forwards;
    -webkit-animation-delay: 3s;
    animation: slideIn 0.5s forwards;
    animation-delay: 3s;
}

.splash-section button:focus {
    outline: 0;
    background: #09814A;
    border-color: #09814A;
    color: #FFF;
}
.splash-section button:hover {
    background: #09814A;
    border-color: #09814A;
    color: #FFF;
}

@-webkit-keyframes slideIn {
    100% { left: 0px; }
}

@keyframes slideIn {
    100% { left: 0px; }
}

/* promotion */
#promotion {
    padding: 5px;
    background-color: #09814A;
    color: #FFF;
    text-align: center;
}

#promotion a {
    color: white;
    font-weight: bold;
    text-decoration: underline;

}
/* about section styling */

.about-section {
    padding: 40px;
    padding-top: 60px;
    padding-bottom: 60px;
    text-align: center;
}

.about-section .about-header {
    color: #09814A;
    text-align: left;
    display: block;
}

.about-section .about-body {
    text-align: left;
    padding-top: 20px;
    display: block;
}

.about-section .office-photo {
    padding-top: 85px;
}

.about-section .office-photo img {
    max-height: 300px;
    max-width: 350px;
    width: 100%;
}
/* thumbail section */
#about-thumbnails {
    width: 100%;
    margin: 0px;
    background: url(imgs/orchids.png) center center no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
    background-attachment: fixed;
}

#about-thumbnails .thumbnail {
    padding: 0px;
    text-align: center;
    border: none;
    border-radius: 0px;
    background-color: rgba(255, 255, 255);
    max-width: 400px;
    width: 100%;

   /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
}
#about-thumbnails .thumbnail img {
    max-width: 400px;
    max-height: 200px;
    width: 100%;
}

#about-thumbnails .thumbnail .caption p {
    padding: 5px;
}

#about-thumbnails .btn {
    border-radius: 0px;
    border-color: #09814A;
    background-color: #09814A;
    color: #FFF;
    font-family: 'Alegreya Sans SC', sans-serif;
}

/* treatments section styling */
.treatments-section {
    background-color: #FFF;
    padding: 40px;
    padding-top: 70px;
    padding-bottom: 35px;
}
.treatments-section a {
    text-decoration: none;
    color: #231F20;
}
.treatments-section img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-height: 600px;
    max-width: 300px;
    width: 100%
}
.treatments-section .treatments-header {
    text-align: center;
    color: #231F20;
    padding-bottom: 50px;
}

.treatments-section .treatment-list .treatments .treatment {
    border-top: 2px solid #09814A;
    padding-bottom: 20px;
}
.treatments-section .treatment-list .treatments .treatment:hover {
    border-top: 4px solid #09814A;
}

/* Products section styling */
.products-section {
    background: #f7f8f9;
    width: 100%;
    padding: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
    text-align: center;
}
.products-section .products-header {
    text-align: center;
    color: #231F20;
    padding-bottom: 50px;
}
.products-section .row {

}
.products-section .row .col-sm-6 {
    padding: 0px 10px 0px 10px;
}
.products-section .thumbnail {
    border: solid;
    border-radius: 0px;
    border-width: 1px;
    border-color: #eee;
    border: none;
    /*box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2), 0 3px 15px 0 rgba(0, 0, 0, 0.19); */
}

.products-section .hovereffect {
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
    position: relative;
    text-align: center;
    cursor: default;
}

.products-section .hovereffect .overlay {
    position: absolute;
    overflow: hidden;
    width: 80%;
    height: 80%;
    left: 10%;
    top: 10%;
    border-bottom: 1px solid #FFF;
    border-top: 1px solid #FFF;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: scale(0,1);
    -ms-transform: scale(0,1);
    transform: scale(0,1);
}

.products-section .hovereffect:hover .overlay {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.products-section .hovereffect img {
    display: block;
    position: relative;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
}

.products-section .hovereffect:hover img {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.6" /><feFuncG type="linear" slope="0.6" /><feFuncB type="linear" slope="0.6" /></feComponentTransfer></filter></svg>#filter');
    filter: brightness(0.6);
    -webkit-filter: brightness(0.6);
}

.products-section .hovereffect h2 {
    text-transform: uppercase;
    text-align: center;
    position: relative;
    font-size: 17px;
    background-color: transparent;
    color: #FFF;
    padding: 0 0;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(0,-100%,0);
    transform: translate3d(0,-100%,0);
}
.products-section .hovereffect a.info {
    text-decoration: none;
    display: inline-block;
    text-transform: uppercase;
    color: #fff;
    border: 1px solid #fff;
    background-color: transparent;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    margin: 40px 0 0;
    padding: 7px 14px;
}

.products-section .hovereffect a, hovereffect p {
    color: #FFF;
    padding: 1em 0;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(0,100%,0);
    transform: translate3d(0,100%,0);
}

.products-section .hovereffect:hover a, .hovereffect:hover p, .hovereffect:hover h2 {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
/* specials section styling */
.specials-section {
    background-color: #FFF;
    padding: 40px;
    padding-top: 70px;
    padding-bottom: 50px;
}
.specials-section #special-offers {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    border: solid;
    color: #FFF;
    border-color: #09814A;
    border-width: 2px;
    background-color: #09814A;
}

.specials-section .information {
    text-align: left;
}
.specials-section .information h1 {
    text-align: center;
    padding-bottom: 50px;
    color: #231F20;
}

.specials-section .information img {
    max-width: 100%;
    width: auto;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*staff section styling */
.staff-section {
    text-align: center;
    background: #F9F9F9;
    padding: 40px;
    padding-top: 70px;
}

.staff-section .staff-header {
    padding-bottom: 50px;
    color: #231F20;
}

.staff-section .desktop .profiles {
    display: flex;

}
.staff-section .desktop .profiles .profile-info {
    flex: 1;
    background-color: #FFF;
    padding: 0px;
    border-right: solid;
    border-right-width: 2px;
    border-right-color: #eee;
    margin-top: 2px;
}
.staff-section .desktop .profiles .profile-info .bio {
    display: none;
}

.staff-section .desktop .profiles .profile-info .bio .profile-header {
    text-align: center;
    background-color: #09814A;
    color: white;
    padding: 20px;
    margin: 0px;

}
.staff-section .desktop .profiles .profile-info .bio p{
    text-align: left;
    padding: 40px;

}

.staff-section .desktop .profiles .profile-info .default {
    display: block;
}
.staff-section .desktop .profiles .profile-tabs .profile-tab {
    margin-top: 0px;
    border-top: solid;
    border-top-color: #eee;
    border-top-width: 2px;
}
.staff-section .desktop .profiles .profile-tabs .profile-tab a {
    border-radius: 0px;
    background-color: #FFF;
    color: #09814A;
    border:none;
}
.staff-section .desktop .profiles .profile-tabs .active a  {
    background-color: #09814A;
    color: white;
}
.staff-section .desktop .profiles .profile-tabs .profile-tab a:hover {
    border-right: solid;
}

.staff-section .desktop .profiles .profile-tabs .profile-tab img {
    height: 75px;
}

/*mobile view styling */

.staff-section .mobile .profiles .profile-tab .bio {
    display: none;
}

.staff-section .mobile .profiles .nav-pills .profile-tab a{
    border-radius: 0px;
    color: #09814A;
}
.staff-section .mobile .profiles .nav-pills .active a {
    background-color: #09814A;
    color: white;
}
.staff-section .mobile .profiles p {
    padding: 20px;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: left;
    background-color: #F9F9F9;
}
/* testimonial section styling */
.testimonial-section {
    padding: 40px;
    padding-top: 70px;
    background-color: #F9F9F9;
    padding-bottom: 100px;
}
.testimonial-section h1 {
    text-align: center;
    padding: 25px;
}
.testimonial-section .testimonials {

}
.testimonial-section .testimonials .card {
    border-left: solid;
    border-color: #09814A;
    padding-left: 10px;

}
.testimonial-section .testimonials .card h3 {
    font-family: 'Open Sans', sans-serif;
}
.testimonial-section .testimonials .card p {
    font-family: 'Alegreya Sans SC', sans-serif;
}

/* contact section styling */
.contact-section {
    padding-top: 70px;
    text-align: left;
    background-color: #FFF;
}

.contact-section .contact-info {
    background-color: #09814A;
    padding: 20px;
    color: #fff;
}
.contact-section .contact-info a {
    color: #FFF;
}
.contact-section .map {
    padding-top: 20px;
}

.contact-section .map iframe {
    width: 60%;
    height: 400px;
}
.contact-section .map img {
    max-width: 466px;
    width: 100%;
    height: auto;
}
.contact-section .disclaimer {
    padding: 10px;
    background-color: #fff;
}
#trademark {
    font-size: 8px;
}


text:
package be.yurimoens.runemate.csuperheater.task;

import com.runemate.game.api.hybrid.local.hud.interfaces.Inventory;
import com.runemate.game.api.hybrid.local.hud.interfaces.SpriteItem;
import com.runemate.game.api.rs3.local.hud.interfaces.eoc.ActionBar;
import com.runemate.game.api.rs3.local.hud.interfaces.eoc.SlotAction;
import com.runemate.game.api.script.Execution;
import com.runemate.game.api.script.framework.task.Task;

public class Superheat extends Task {

    private final SlotAction superheat;

    public Superheat() {
        superheat = ActionBar.getFirstAction("Superheat Item");
    }

    @Override
    public boolean validate() {
        return Inventory.contains(451);
    }

    @Override
    public void execute() {
        SpriteItem ore = Inventory.getItems("Runite ore").last();

        superheat.activate(false);

        Execution.delay(50, 300);

        ore.click();

        Execution.delay(600, 1200);
    }
}


text:
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for
// license information.
//
// Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.

namespace Microsoft.Azure.Management.HDInsight.Models
{
    using Microsoft.HDInsight.Models;
    using System;
    using System.Collections.Generic;

    public partial class ClusterCreateParameters
    {
        /// <summary>
        /// Gets or sets the datacenter location for the cluster.
        /// </summary>
        public string Location { get; set; }

        /// <summary>
        /// Gets or sets the login for the cluster's user.
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// Gets or sets the password for the cluster's user.
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// Gets or sets the username for RDP access to the cluster.
        /// </summary>
        public string RdpUsername { get; set; }

        /// <summary>
        /// Gets or sets the password for RDP access to the cluster.
        /// </summary>
        public string RdpPassword { get; set; }

        /// <summary>
        /// Gets or sets the expiry DateTime for RDP access on the cluster.
        /// </summary>
        public DateTime RdpAccessExpiry { get; set; }

        /// <summary>
        /// Gets or sets the number of workernodes for the cluster.
        /// </summary>
        public int ClusterSizeInNodes { get; set; }

        /// <summary>
        /// Gets or sets the version of the HDInsight cluster.
        /// </summary>
        public string Version { get; set; }

        /// <summary>
        /// Gets or sets the size of the Head Node.
        /// </summary>
        /// <value>
        /// The size of the head node.
        /// </value>
        public string HeadNodeSize { get; set; }

        /// <summary>
        /// Gets or sets the size of the Data Node.
        /// </summary>
        /// <value>
        /// The size of the data node.
        /// </value>
        public string WorkerNodeSize { get; set; }

        /// <summary>
        /// Gets or sets the size of the Zookeeper Node.
        /// </summary>
        /// <value>
        /// The size of the zookeeper node.
        /// </value>
        public string ZookeeperNodeSize { get; set; }

        /// <summary>
        /// Gets or sets the size of the Edge Node.
        /// </summary>
        /// <value>
        /// The size of the edge node.
        /// </value>
        public string EdgeNodeSize { get; set; }

        /// <summary>
        /// Gets additional Azure Blob Storage Account that you want to enable access to.
        /// </summary>
        public Dictionary<string, string> AdditionalStorageAccounts { get; private set; }

        /// <summary>
        /// Gets config actions for the cluster.
        /// </summary>
        public Dictionary<ClusterNodeType, List<ScriptAction>> ScriptActions { get; private set; }

        /// <summary>
        /// Gets or sets the database to store the metadata for Oozie.
        /// </summary>
        public Metastore OozieMetastore { get; set; }

        /// <summary>
        /// Gets or sets the database to store the metadata for Hive.
        /// </summary>
        public Metastore HiveMetastore { get; set; }

        /// <summary>
        /// Gets the configurations of this HDInsight cluster.
        /// </summary>
        public Dictionary<string, Dictionary<string, string>> Configurations { get; private set; }

        /// <summary>
        /// Gets or sets the flavor for a cluster.
        /// </summary>
        public string ClusterType { get; set; }

        /// <summary>
        /// Gets or sets the virtual network guid for this HDInsight cluster.
        /// </summary>
        public string VirtualNetworkId { get; set; }

        /// <summary>
        /// Gets or sets the subnet name for this HDInsight cluster.
        /// </summary>
        public string SubnetName { get; set; }

        /// <summary>
        /// Gets or sets the cluster tier.
        /// </summary>
        public Tier ClusterTier { get; set; }

        /// <summary>
        /// Gets or sets SSH user name.
        /// </summary>
        public string SshUserName { get; set; }

        /// <summary>
        /// Gets or sets SSH password.
        /// </summary>
        public string SshPassword { get; set; }

        /// <summary>
        /// Gets or sets the public key to be used for SSH.
        /// </summary>
        public string SshPublicKey { get; set; }

        /// <summary>
        /// Gets or sets the prinicipal to be used for getting OAuth2 token to access Azure DataLake (ADL)
        /// </summary>
        public Principal Principal { get; set; }

        /// <summary>
        /// Gets or sets the security profile to be used for creating secure clusters.
        /// </summary>
        public SecurityProfile SecurityProfile { get; set; }

        /// <summary>
        /// Gets or sets the worker node datadisksgroupproperties for worker nodes. Required For Kafka clusters only
        /// </summary>
        public List<DataDisksGroups> WorkerNodeDataDisksGroups { get; set; }

        /// <summary>
        /// Gets or sets the component versions for each service in this HDInsight cluster.
        /// </summary>
        public Dictionary<string, string> ComponentVersion { get; private set; }

        /// <summary>
        /// The information for default storage account for the cluster.
        /// This account will be used for schemaless paths and the cluster will
        /// leverage to store some cluster level files.
        /// </summary>
        public StorageInfo DefaultStorageInfo { get; set; }

        /// <summary>
        /// Gets or sets the tags.
        /// </summary>
        public Dictionary<string, string> Tags { get; private set; }

        /// <summary>
        /// Initializes a new instance of the ClusterCreateParameters class.
        /// </summary>
        public ClusterCreateParameters()
        {
            this.AdditionalStorageAccounts = new Dictionary<string, string>();
            this.Configurations = new Dictionary<string, Dictionary<string, string>>();
            this.ScriptActions =  new Dictionary<ClusterNodeType, List<ScriptAction>>();
            this.ComponentVersion = new Dictionary<string, string>();
            this.Tags = new Dictionary<string, string>();

            //set defaults
            this.Version = "default";
            this.ClusterType = "Hadoop";
        }

        public ClusterCreateParameters(ClusterCreateParameters parameters)
        {
            this.Location = parameters.Location;
            this.UserName = parameters.UserName;
            this.Password = parameters.Password;
            this.RdpUsername = parameters.RdpUsername;
            this.RdpPassword = parameters.RdpPassword;
            this.RdpAccessExpiry = parameters.RdpAccessExpiry;
            this.ClusterSizeInNodes = parameters.ClusterSizeInNodes;
            this.Version = parameters.Version;
            this.HeadNodeSize = parameters.HeadNodeSize;
            this.WorkerNodeSize = parameters.WorkerNodeSize;
            this.ZookeeperNodeSize = parameters.ZookeeperNodeSize;
            this.EdgeNodeSize = parameters.EdgeNodeSize;
            this.AdditionalStorageAccounts = parameters.AdditionalStorageAccounts;
            this.ScriptActions = parameters.ScriptActions;
            this.OozieMetastore = parameters.OozieMetastore;
            this.HiveMetastore = parameters.HiveMetastore;
            this.Configurations = parameters.Configurations;
            this.ClusterType = parameters.ClusterType;
            this.VirtualNetworkId = parameters.VirtualNetworkId;
            this.SubnetName = parameters.SubnetName;
            this.ClusterTier = parameters.ClusterTier;
            this.SshUserName = parameters.SshUserName;
            this.SshPassword = parameters.SshPassword;
            this.SshPublicKey = parameters.SshPublicKey;
            this.Principal = parameters.Principal;
            this.SecurityProfile = parameters.SecurityProfile;
            this.WorkerNodeDataDisksGroups = parameters.WorkerNodeDataDisksGroups;
            this.ComponentVersion = parameters.ComponentVersion;
            this.DefaultStorageInfo = parameters.DefaultStorageInfo;
            this.Tags = parameters.Tags;
        }
    }
}


text:
#ifndef A_BUFFER_CHANNEL_H_

#define A_BUFFER_CHANNEL_H_

#include <map>
#include <memory>
#include <mutex>
#include <vector>

#include <media/openmax/OMX_Types.h>
#include <media/stagefright/CodecBase.h>
#include <media/ICrypto.h>
#include <media/IOMX.h>

namespace android {
namespace hardware {
class HidlMemory;
};
using hardware::HidlMemory;

/**
 * BufferChannelBase implementation for ACodec.
 */
class ACodecBufferChannel : public BufferChannelBase {
public:
    struct BufferAndId {
        sp<MediaCodecBuffer> mBuffer;
        IOMX::buffer_id mBufferId;
    };

    struct BufferInfo {
        BufferInfo(
                const sp<MediaCodecBuffer> &buffer,
                IOMX::buffer_id bufferId,
                const sp<IMemory> &sharedEncryptedBuffer);

        BufferInfo() = delete;

        // Buffer facing MediaCodec and its clients.
        const sp<MediaCodecBuffer> mClientBuffer;
        // Buffer facing CodecBase.
        const sp<MediaCodecBuffer> mCodecBuffer;
        // OMX buffer ID.
        const IOMX::buffer_id mBufferId;
        // Encrypted buffer in case of secure input.
        const sp<IMemory> mSharedEncryptedBuffer;
    };

    ACodecBufferChannel(
            const sp<AMessage> &inputBufferFilled, const sp<AMessage> &outputBufferDrained);
    virtual ~ACodecBufferChannel();

    // BufferChannelBase interface
    virtual status_t queueInputBuffer(const sp<MediaCodecBuffer> &buffer) override;
    virtual status_t queueSecureInputBuffer(
            const sp<MediaCodecBuffer> &buffer,
            bool secure,
            const uint8_t *key,
            const uint8_t *iv,
            CryptoPlugin::Mode mode,
            CryptoPlugin::Pattern pattern,
            const CryptoPlugin::SubSample *subSamples,
            size_t numSubSamples,
            AString *errorDetailMsg) override;
    virtual status_t renderOutputBuffer(
            const sp<MediaCodecBuffer> &buffer, int64_t timestampNs) override;
    virtual status_t discardBuffer(const sp<MediaCodecBuffer> &buffer) override;
    virtual void getInputBufferArray(Vector<sp<MediaCodecBuffer>> *array) override;
    virtual void getOutputBufferArray(Vector<sp<MediaCodecBuffer>> *array) override;

    // Methods below are interface for ACodec to use.

    /**
     * Set input buffer array.
     *
     * @param array     Newly allocated buffers. Empty if buffers are
     *                  deallocated.
     */
    void setInputBufferArray(const std::vector<BufferAndId> &array);
    /**
     * Set output buffer array.
     *
     * @param array     Newly allocated buffers. Empty if buffers are
     *                  deallocated.
     */
    void setOutputBufferArray(const std::vector<BufferAndId> &array);
    /**
     * Request MediaCodec to fill the specified input buffer.
     *
     * @param bufferId  ID of the buffer, assigned by underlying component.
     */
    void fillThisBuffer(IOMX::buffer_id bufferID);
    /**
     * Request MediaCodec to drain the specified output buffer.
     *
     * @param bufferId  ID of the buffer, assigned by underlying component.
     * @param omxFlags  flags associated with this buffer (e.g. EOS).
     */
    void drainThisBuffer(IOMX::buffer_id bufferID, OMX_U32 omxFlags);

private:
    const sp<AMessage> mInputBufferFilled;
    const sp<AMessage> mOutputBufferDrained;

    sp<MemoryDealer> mDealer;
    sp<IMemory> mDecryptDestination;
    int32_t mHeapSeqNum;
    sp<HidlMemory> mHidlMemory;

    // These should only be accessed via std::atomic_* functions.
    //
    // Note on thread safety: since the vector and BufferInfo are const, it's
    // safe to read them at any thread once the shared_ptr object is atomically
    // obtained. Inside BufferInfo, mBufferId and mSharedEncryptedBuffer are
    // immutable objects. We write internal states of mClient/CodecBuffer when
    // the caller has given up the reference, so that access is also safe.
    std::shared_ptr<const std::vector</*const*/ BufferInfo>> mInputBuffers;  // M3E:
    std::shared_ptr<const std::vector</*const*/ BufferInfo>> mOutputBuffers; // M3E:

    sp<MemoryDealer> makeMemoryDealer(size_t heapSize);

    bool hasCryptoOrDescrambler() {
        return mCrypto != NULL || mDescrambler != NULL;
    }
};

}  // namespace android

#endif  // A_BUFFER_CHANNEL_H_