text:
---
title: Staking
---
For an overview of staking, read first the
[Staking and Inflation FAQ](https://solana.com/staking).

------

After you have [received SOL](transfer-tokens.md), you might consider putting
it to use by delegating _stake_ to a validator. Stake is what we call tokens
in a _stake account_. Solana weights validator votes by the amount of stake
delegated to them, which gives those validators more influence in determining
then next valid block of transactions in the blockchain. Solana then generates
new SOL periodically to reward stakers and validators. You earn more rewards
the more stake you delegate.

## Create a Stake Account

To delegate stake, you will need to transfer some tokens into a stake account.
To create an account, you will need a keypair. Its public key will be used as
the [stake account address](../staking/stake-accounts.md#account-address).
No need for a password or encryption here; this keypair will be discarded right
after creating the stake account.

```bash
solana-keygen new --no-passphrase -o stake-account.json
```

The output will contain the public key after the text `pubkey:`.

```text
pubkey: GKvqsuNcnwWqPzzuhLmGi4rzzh55FhJtGizkhHaEJqiV
```

Copy the public key and store it for safekeeping. You will need it any time you
want to perform an action on the stake account you create next.

Now, create a stake account:

```bash
solana create-stake-account --from <KEYPAIR> stake-account.json <AMOUNT> \
    --stake-authority <KEYPAIR> --withdraw-authority <KEYPAIR> \
    --fee-payer <KEYPAIR>
```

`<AMOUNT>` tokens are transferred from the account at the "from" `<KEYPAIR>` to
a new stake account at the public key of stake-account.json.

The stake-account.json file can now be discarded. To authorize additional
actions, you will use the `--stake-authority` or `--withdraw-authority` keypair,
not stake-account.json.

View the new stake account with the `solana stake-account` command:

```bash
solana stake-account <STAKE_ACCOUNT_ADDRESS>
```

The output will look similar to this:

```text
Total Stake: 5000 SOL
Stake account is undelegated
Stake Authority: EXU95vqs93yPeCeAU7mPPu6HbRUmTFPEiGug9oCdvQ5F
Withdraw Authority: EXU95vqs93yPeCeAU7mPPu6HbRUmTFPEiGug9oCdvQ5F
```

### Set Stake and Withdraw Authorities

[Stake and withdraw authorities](../staking/stake-accounts.md#understanding-account-authorities)
can be set when creating an account via the
`--stake-authority` and `--withdraw-authority` options, or afterward with the
`solana stake-authorize` command. For example, to set a new stake authority,
run:

```bash
solana stake-authorize <STAKE_ACCOUNT_ADDRESS> \
    --stake-authority <KEYPAIR> --new-stake-authority <PUBKEY> \
    --fee-payer <KEYPAIR>
```

This will use the existing stake authority `<KEYPAIR>` to authorize a new stake
authority `<PUBKEY>` on the stake account `<STAKE_ACCOUNT_ADDRESS>`.

### Advanced: Derive Stake Account Addresses

When you delegate stake, you delegate all tokens in the stake account to a
single validator. To delegate to multiple validators, you will need multiple
stake accounts. Creating a new keypair for each account and managing those
addresses can be cumbersome. Fortunately, you can derive stake addresses using
the `--seed` option:

```bash
solana create-stake-account --from <KEYPAIR> <STAKE_ACCOUNT_KEYPAIR> --seed <STRING> <AMOUNT> \
    --stake-authority <PUBKEY> --withdraw-authority <PUBKEY> --fee-payer <KEYPAIR>
```

`<STRING>` is an arbitrary string up to 32 bytes, but will typically be a
number corresponding to which derived account this is. The first account might
be "0", then "1", and so on. The public key of `<STAKE_ACCOUNT_KEYPAIR>` acts
as the base address. The command derives a new address from the base address
and seed string. To see what stake address the command will derive, use `solana create-address-with-seed`:

```bash
solana create-address-with-seed --from <PUBKEY> <SEED_STRING> STAKE
```

`<PUBKEY>` is the public key of the `<STAKE_ACCOUNT_KEYPAIR>` passed to
`solana create-stake-account`.

The command will output a derived address, which can be used for the
`<STAKE_ACCOUNT_ADDRESS>` argument in staking operations.

## Delegate Stake

To delegate your stake to a validator, you will need its vote account address.
Find it by querying the cluster for the list of all validators and their vote
accounts with the `solana validators` command:

```bash
solana validators
```

The first column of each row contains the validator's identity and the second
is the vote account address. Choose a validator and use its vote account
address in `solana delegate-stake`:

```bash
solana delegate-stake --stake-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> <VOTE_ACCOUNT_ADDRESS> \
    --fee-payer <KEYPAIR>
```

The stake authority `<KEYPAIR>` authorizes the operation on the account with
address `<STAKE_ACCOUNT_ADDRESS>`. The stake is delegated to the vote account
with address `<VOTE_ACCOUNT_ADDRESS>`.

After delegating stake, use `solana stake-account` to observe the changes
to the stake account:

```bash
solana stake-account <STAKE_ACCOUNT_ADDRESS>
```

You will see new fields "Delegated Stake" and "Delegated Vote Account Address"
in the output. The output will look similar to this:

```text
Total Stake: 5000 SOL
Credits Observed: 147462
Delegated Stake: 4999.99771712 SOL
Delegated Vote Account Address: CcaHc2L43ZWjwCHART3oZoJvHLAe9hzT2DJNUpBzoTN1
Stake activates starting from epoch: 42
Stake Authority: EXU95vqs93yPeCeAU7mPPu6HbRUmTFPEiGug9oCdvQ5F
Withdraw Authority: EXU95vqs93yPeCeAU7mPPu6HbRUmTFPEiGug9oCdvQ5F
```

## Deactivate Stake

Once delegated, you can undelegate stake with the `solana deactivate-stake`
command:

```bash
solana deactivate-stake --stake-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> \
    --fee-payer <KEYPAIR>
```

The stake authority `<KEYPAIR>` authorizes the operation on the account
with address `<STAKE_ACCOUNT_ADDRESS>`.

Note that stake takes several epochs to "cool down". Attempts to delegate stake
in the cool down period will fail.

## Withdraw Stake

Transfer tokens out of a stake account with the `solana withdraw-stake` command:

```bash
solana withdraw-stake --withdraw-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> <RECIPIENT_ADDRESS> <AMOUNT> \
    --fee-payer <KEYPAIR>
```

`<STAKE_ACCOUNT_ADDRESS>` is the existing stake account, the stake authority
`<KEYPAIR>` is the withdraw authority, and `<AMOUNT>` is the number of tokens
to transfer to `<RECIPIENT_ADDRESS>`.

## Split Stake

You may want to delegate stake to additional validators while your existing
stake is not eligible for withdrawal. It might not be eligible because it is
currently staked, cooling down, or locked up. To transfer tokens from an
existing stake account to a new one, use the `solana split-stake` command:

```bash
solana split-stake --stake-authority <KEYPAIR> <STAKE_ACCOUNT_ADDRESS> <NEW_STAKE_ACCOUNT_KEYPAIR> <AMOUNT> \
    --fee-payer <KEYPAIR>
```

`<STAKE_ACCOUNT_ADDRESS>` is the existing stake account, the stake authority
`<KEYPAIR>` is the stake authority, `<NEW_STAKE_ACCOUNT_KEYPAIR>` is the
keypair for the new account, and `<AMOUNT>` is the number of tokens to transfer
to the new account.

To split a stake account into a derived account address, use the `--seed`
option. See
[Derive Stake Account Addresses](#advanced-derive-stake-account-addresses)
for details.

repository: solana-labs/solana

gha_language: Rust

repo_name: solana-labs/solana


text:
---
title: Quantum Grothendieck rings for quantum affine algebras
event: Talks in mathematical physics Seminar
event_url: https://math.ethz.ch/news-and-events/events/research-seminars/talks-in-mathematical-physics.html?s=hs18

location: ETH Zürich
address:
#  street: 450 Serra Mall
  city: Zürich
#  region: CA
#  postcode: '94305'
  country: Switzerland

#summary: An example talk using Academic's Markdown slides feature.
abstract: "Certain Grothendieck rings of categories of finite dimensional representations admit remarkable non-commutative t-deformations, which are linked to quiver varieties. These deformations are very useful to compute characters, via Kazhdan–Lusztig type decompositions. In this talk, I will present a natural t-deformation of the Grothendieck ring of a category O of representations of quantum affine algebras. Our approach is based on quantum cluster algebras."

# Talk start and end times.
#   End time can optionally be hidden by prefixing the line with `#`.
date: "2018-11-15"
#date_end: "2030-06-01T15:00:00Z"
all_day: true

# Schedule page publish date (NOT talk date).
publishDate: "018-11-15"

authors: []
tags: []

# Is this a featured talk? (true/false)
featured: false

image:
  caption: 'Image credit: [**Unsplash**](https://unsplash.com/photos/bzdhc5b3Bxs)'
  focal_point: Right

links:
# - icon: twitter
#  icon_pack: fab
#  name: Follow
#  url: https://twitter.com/georgecushen
url_code: ""
url_pdf: ""
url_slides: ""
url_video: ""

# Markdown Slides (optional).
#   Associate this talk with Markdown slides.
#   Simply enter your slide deck's filename without extension.
#   E.g. `slides = "example-slides"` references `content/slides/example-slides.md`.
#   Otherwise, set `slides = ""`.
slides :

# Projects (optional).
#   Associate this post with one or more of your projects.
#   Simply enter your project's folder or file name without extension.
#   E.g. `projects = ["internal-project"]` references `content/project/deep-learning/index.md`.
#   Otherwise, set `projects = []`.
projects :

# Enable math on this page?
math: true
---

license: MIT

repository: leabittm/academic-kickstart

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: leabittm/academic-kickstart


text:
# docker-sdk

The dockerfile here can be used to build a CentOS7 image containing version 2 of the Glasswall engine which is pre configured to run files in a mounted directory in both analysis and protect modes through the engine and output the files to a mounted output directory.

To use this file simply download the file to a clean workspace and using powershell build your image, if you've never used docker before you will need to install this first.
The dockerfile must be inside the same directory as the release package which must contain, the Core 2 libraries, GWQtCLI and the supporting libraries all of these can be found at https://github.com/filetrust/SDK2.01Evaluation note that the docker file isalsolocated there.

To build an image simply use the following command:
docker build -t *image name*:0.1 .
This will produce a docker image with the configured name.

To run a container of the image and immediatley scan the required files simply run a container and mount your input directory to /input and your output to .output.
Note that your output directory must be empty or Glasswall will fail to produce an output and will destroy any data present in there.
An example of the container build command is as follows:

docker run -it -v C:\data\input:/input -v C:\data\output:/output *image name*:0.1

This command will build the container and mount "C:\data\input" to "/input" on the container and "C:\data\output" to "/output" and then immediatley scan the contents of "/input" ("C:\data\input" on the local machine) and place the regenerated files and analysis reports in  "/output" ("C:\data\output" on the local machine).

NOTES:

Please note that at present PDF files are not supported by the Glasswall engine.
Note that Content Management is currently configured to the default behaviour which is to Sanitise all Content.

The following changes can be made to the docker file to give additional functionality:

line 14 can be changed and suffixed "-r" to give the ability to recursively scan input directories note that this will work with the default mode and with the following edits.

line 14 can be changed to "CMD /home/glasswall/GWQtCLI -i /input -o /output -x export" to produce export packages instead of analysis reports and regenerated files, please note that the streams for the export package are currently only availible in the SISL format.

line 14 can be changed to "CMD /home/glasswall/GWQtCLI -i /input -o /output -x import" to reimport exported archives and produce regenerated files and analysis reports.

This is also availible in a pre built docker image in the following location: https://hub.docker.com/r/mgreengw/glasswall_analyseandregenerate

repository: tomeriffic/docker-sdk

repo_name: tomeriffic/docker-sdk


text:
# Patches for wayland on SerenityOS

## `0001-Don-t-build-wayland-server.patch`

Don't build wayland-server

## `0002-Use-native-wayland-scanner.patch`

Use native wayland-scanner

## `0003-Remove-unsupported-OS-features.patch`

Remove unsupported OS features

## `0004-Don-t-use-CMSG_CLOEXEC.patch`

Don't use CMSG_CLOEXEC

## `0005-Remove-call-to-open_memstream-3-from-wl_closure_prin.patch`

Remove call to open_memstream(3) from wl_closure_print

repository: SerenityOS/serenity

repo_name: SerenityOS/serenity


text:
code from rust-sgx-sdk is licensed under BSD License.  Additional attribution related to third-party projects distributed with rust-sgx-sdk is also below.
Copyright (C) 2017-2018 Baidu, Inc. All Rights Reserved.

BSD License

Copyright (C) 2017-2018 Baidu, Inc. All Rights Reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.
  * Neither the name of Baidu, Inc., nor the names of its
    contributors may be used to endorse or promote products derived
    from this software without specific prior written permission.

 IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

===========================================================================================================================================================

Rust SGX SDK software for Linux also uses third-party projects that may be distributed under different licenses. Please see below for details.

1. Intel(R) SGX

Copyright (C) 2011-2017 Intel Corporation. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in
    the documentation and/or other materials provided with the
    distribution.
  * Neither the name of Intel Corporation nor the names of its
    contributors may be used to endorse or promote products derived
    from this software without specific prior written permission.

2. Rust Project

                              Apache License
                        Version 2.0, January 2004
                     http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

   "License" shall mean the terms and conditions for use, reproduction,
   and distribution as defined by Sections 1 through 9 of this document.

   "Licensor" shall mean the copyright owner or entity authorized by
   the copyright owner that is granting the License.

   "Legal Entity" shall mean the union of the acting entity and all
   other entities that control, are controlled by, or are under common
   control with that entity. For the purposes of this definition,
   "control" means (i) the power, direct or indirect, to cause the
   direction or management of such entity, whether by contract or
   otherwise, or (ii) ownership of fifty percent (50%) or more of the
   outstanding shares, or (iii) beneficial ownership of such entity.

   "You" (or "Your") shall mean an individual or Legal Entity
   exercising permissions granted by this License.

   "Source" form shall mean the preferred form for making modifications,
   including but not limited to software source code, documentation
   source, and configuration files.

   "Object" form shall mean any form resulting from mechanical
   transformation or translation of a Source form, including but
   not limited to compiled object code, generated documentation,
   and conversions to other media types.

   "Work" shall mean the work of authorship, whether in Source or
   Object form, made available under the License, as indicated by a
   copyright notice that is included in or attached to the work
   (an example is provided in the Appendix below).

   "Derivative Works" shall mean any work, whether in Source or Object
   form, that is based on (or derived from) the Work and for which the
   editorial revisions, annotations, elaborations, or other modifications
   represent, as a whole, an original work of authorship. For the purposes
   of this License, Derivative Works shall not include works that remain
   separable from, or merely link (or bind by name) to the interfaces of,
   the Work and Derivative Works thereof.

   "Contribution" shall mean any work of authorship, including
   the original version of the Work and any modifications or additions
   to that Work or Derivative Works thereof, that is intentionally
   submitted to Licensor for inclusion in the Work by the copyright owner
   or by an individual or Legal Entity authorized to submit on behalf of
   the copyright owner. For the purposes of this definition, "submitted"
   means any form of electronic, verbal, or written communication sent
   to the Licensor or its representatives, including but not limited to
   communication on electronic mailing lists, source code control systems,
   and issue tracking systems that are managed by, or on behalf of, the
   Licensor for the purpose of discussing and improving the Work, but
   excluding communication that is conspicuously marked or otherwise
   designated in writing by the copyright owner as "Not a Contribution."

   "Contributor" shall mean Licensor and any individual or Legal Entity
   on behalf of whom a Contribution has been received by Licensor and
   subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   copyright license to reproduce, prepare Derivative Works of,
   publicly display, publicly perform, sublicense, and distribute the
   Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   (except as stated in this section) patent license to make, have made,
   use, offer to sell, sell, import, and otherwise transfer the Work,
   where such license applies only to those patent claims licensable
   by such Contributor that are necessarily infringed by their
   Contribution(s) alone or by combination of their Contribution(s)
   with the Work to which such Contribution(s) was submitted. If You
   institute patent litigation against any entity (including a
   cross-claim or counterclaim in a lawsuit) alleging that the Work
   or a Contribution incorporated within the Work constitutes direct
   or contributory patent infringement, then any patent licenses
   granted to You under this License for that Work shall terminate
   as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
   Work or Derivative Works thereof in any medium, with or without
   modifications, and in Source or Object form, provided that You
   meet the following conditions:

   (a) You must give any other recipients of the Work or
       Derivative Works a copy of this License; and

   (b) You must cause any modified files to carry prominent notices
       stating that You changed the files; and

   (c) You must retain, in the Source form of any Derivative Works
       that You distribute, all copyright, patent, trademark, and
       attribution notices from the Source form of the Work,
       excluding those notices that do not pertain to any part of
       the Derivative Works; and

   (d) If the Work includes a "NOTICE" text file as part of its
       distribution, then any Derivative Works that You distribute must
       include a readable copy of the attribution notices contained
       within such NOTICE file, excluding those notices that do not
       pertain to any part of the Derivative Works, in at least one
       of the following places: within a NOTICE text file distributed
       as part of the Derivative Works; within the Source form or
       documentation, if provided along with the Derivative Works; or,
       within a display generated by the Derivative Works, if and
       wherever such third-party notices normally appear. The contents
       of the NOTICE file are for informational purposes only and
       do not modify the License. You may add Your own attribution
       notices within Derivative Works that You distribute, alongside
       or as an addendum to the NOTICE text from the Work, provided
       that such additional attribution notices cannot be construed
       as modifying the License.

   You may add Your own copyright statement to Your modifications and
   may provide additional or different license terms and conditions
   for use, reproduction, or distribution of Your modifications, or
   for any such Derivative Works as a whole, provided Your use,
   reproduction, and distribution of the Work otherwise complies with
   the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
   names, trademarks, service marks, or product names of the Licensor,
   except as required for reasonable and customary use in describing the
   origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
   agreed to in writing, Licensor provides the Work (and each
   Contributor provides its Contributions) on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
   implied, including, without limitation, any warranties or conditions
   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
   PARTICULAR PURPOSE. You are solely responsible for determining the
   appropriateness of using or redistributing the Work and assume any
   risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
   whether in tort (including negligence), contract, or otherwise,
   unless required by applicable law (such as deliberate and grossly
   negligent acts) or agreed to in writing, shall any Contributor be
   liable to You for damages, including any direct, indirect, special,
   incidental, or consequential damages of any character arising as a
   result of this License or out of the use or inability to use the
   Work (including but not limited to damages for loss of goodwill,
   work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses), even if such Contributor
   has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
   the Work or Derivative Works thereof, You may choose to offer,
   and charge a fee for, acceptance of support, warranty, indemnity,
   or other liability obligations and/or rights consistent with this
   License. However, in accepting such obligations, You may act only
   on Your own behalf and on Your sole responsibility, not on behalf
   of any other Contributor, and only if You agree to indemnify,
   defend, and hold each Contributor harmless for any liability
   incurred by, or claims asserted against, such Contributor by reason
   of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

   To apply the Apache License to your work, attach the following
   boilerplate notice, with the fields enclosed by brackets "[]"
   replaced with your own identifying information. (Don't include
   the brackets!)  The text should be enclosed in the appropriate
   comment syntax for the file format. We also recommend that a
   file or class name and description of purpose be included on the
   same "printed page" as the copyright notice for easier
   identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

3. compiler_rt

The compiler_rt library is dual licensed under both the University of Illinois
"BSD-Like" license and the MIT license.  As a user of this code you may choose
to use it under either license.  As a contributor, you agree to allow your code
to be used under both.

Full text of the relevant licenses is included below.

=============================================================================

University of Illinois/NCSA
Open Source License

Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT

All rights reserved.

Developed by:

    LLVM Team

    University of Illinois at Urbana-Champaign

    http://llvm.org

Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal with the
Software without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so, subject
to the following conditions:

-	Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimers.

-	Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimers in the documentation and/or
other materials provided with the distribution.

-	Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign,
nor the names of its contributors may be used to endorse or romote products derived
from this Software without specific prior written permission.

  IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS WITH THE SOFTWARE.

=============================================================================

Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT

Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.

 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

=============================================================================
Copyrights and Licenses for Third Party Software Distributed with LLVM:
=============================================================================
The LLVM software contains code written by third parties.  Such software will have its
own individual LICENSE.TXT file in the directory in which it appears.
This file will describe the copyrights, license, and restrictions which apply to that code.

The disclaimer of warranty in the University of Illinois Open Source License applies to all
code in the LLVM Distribution, and nothing in any of the other licenses gives permission to
use the names of the LLVM Team or the University of Illinois to endorse or promote products
derived from this Software.

The following pieces of software have additional or alternate copyrights, licenses, and/or
restrictions:

Program             Directory
-------             ---------
mach_override       lib/interception/mach_override

4. NetBSD

===============================================================================================

/*-
 * Copyright (c) 2008 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
________________________________________
For complete copyright and licensing terms, see: http://www.netbsd.org/about/redistribution.html

5. OpenBSD

http://openbsd.org/

OpenBSD* Copyright Policy
________________________________________
-	Goal
Copyright law is complex, OpenBSD* policy is simple - OpenBSD strives to maintain the spirit
of the original Berkeley Unix copyrights.
OpenBSD can exist as it does today because of the example set by the Computer Systems Research
Group at Berkeley and the battles which they and others fought to create a relatively
un-encumbered Unix source distribution.
The ability of a freely redistributable "Berkeley" Unix to move forward on a competitive
basis with other operating systems depends on the willingness of the various development
groups to exchange code amongst themselves and with other projects. Understanding the legal
issues surrounding copyright is fundamental to the ability to exchange and re-distribute code,
while honoring the spirit of the copyright and concept of attribution is fundamental to
promoting the cooperation of the people involved.
-	The Berkeley* Copyright
The Berkeley* copyright poses no restrictions on private or commercial use of the software
and imposes only simple and uniform requirements for maintaining copyright notices in
redistributed versions and crediting the originator of the material only in advertising.
For instance:
 * Copyright (c) 1982, 1986, 1990, 1991, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
   IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
Berkeley rescinded the 3rd term (the advertising term) on 22 July 1999. Verbatim copies
of the Berkeley license in the OpenBSD tree have that term removed. In addition, many
3rd-party BSD-style licenses consist solely of the first two terms.
Because the OpenBSD copyright imposes no conditions beyond those imposed by the Berkeley
copyright, OpenBSD can hope to share the same wide distribution and applicability as the
Berkeley distributions. It follows however, that OpenBSD cannot include material which
includes copyrights which are more restrictive than the Berkeley copyright, or must
relegate this material to a secondary status, i.e. OpenBSD as a whole is freely
redistributable, but some optional components may not be.
-	Copyright Law
While the overall subject of copyright law is far beyond the scope of this document, some
basics are in order. Under the current copyright law, copyrights are implicit in the
creation of a new work and reside with the creator, unless otherwise assigned. In general
the copyright applies only to the new work, not the material the work was derived from,
nor those portions of the derivative material included in the new work.
Copyright law admits to three general categories of works:
Original Work
A new work that is not derived from an existing work.
Derivative Work
Work that is derived from, includes or amends existing works.
Compilations
A work that is a compilation of existing new and derivative works.
The fundamental concept is that there is primacy of the copyright, that is a copyright of a
derivative work does not affect the rights held by the owner of the copyright of the original
work, rather only the part added. Likewise the copyright of a compilation does not affect the
rights of the owner of the included works, only the compilation as an entity.
It is vitally important to understand that copyrights are broad protections as defined by
national and international copyright law. The "copyright notices" usually included in source
files are not copyrights, but rather notices that a party asserts that they hold copyright
to the material or to part of the material. Typically these notices are associated with
license terms which grant permissions subject to copyright law and with disclaimers that
state the position of the copyright holder/distributor with respect to liability surrounding
use of the material.
-	Permissions - the flip side
Because copyrights arise from the creation of a work, rather than through a registration process,
there needs to be a practical way to extend permission to use a work beyond what might be allowed
by "fair use" provisions of the copyright laws.
This permission typically takes the form of a "release" or "license" included in the work, which
grants the additional uses beyond those granted by copyright law, usually subject to a variety of
conditions. At one extreme sits "public domain" where the originator asserts that he imposes no
restrictions on use of the material, at the other restrictive clauses that actually grant no
additional rights or impose restrictive, discriminatory or impractical conditions on use of the
work.
Again, an important point to note is that the release and conditions can only apply to the
portion of the work that was originated by the copyright holder - the holder of a copyright
on a derivative work can neither grant additional permissions for use of the original work,
nor impose more restrictive conditions for use of that work.
Because copyright arises from the creation of a work and not the text or a registration process,
removing or altering a copyright notice or associated release terms has no bearing on the
existence of the copyright, rather all that is accomplished is to cast doubt upon whatever rights
the person making the modifications had to use the material in the first place. Likewise, adding
terms and conditions in conflict with the original terms and conditions does not supersede them,
rather it casts doubts on the rights of the person making the amendments to use the material and
creates confusion as to whether anyone can use the amended version or derivatives thereof.
Finally, releases are generally binding on the material that they are distributed with. This means
that if the originator of a work distributes that work with a release granting certain permissions,
those permissions apply as stated, without discrimination, to all persons legitimately possessing
a copy of the work. That means that having granted a permission, the copyright holder can not
retroactively say that an individual or class of individuals are no longer granted those permissions.
Likewise should the copyright holder decide to "go commercial" he can not revoke permissions already
granted for the use of the work as distributed, though he may impose more restrictive permissions in
his future distributions of that work.
-	Specific Cases
This section attempts to summarize the position of OpenBSD relative to some commonly encountered
copyrights.
Berkeley*
The Berkeley copyright is the model for the OpenBSD copyright. It retains the rights of the
copyright holder, while imposing minimal conditions on the use of the copyrighted material.
Material with Berkeley copyrights, or copyrights closely adhering to the Berkeley model can
generally be included in OpenBSD.
AT&T*
As part of its settlement with AT&T*, Berkeley included an AT&T copyright notice on some of the
files in 4.4BSD lite and lite2. The terms of this license are identical to the standard Berkeley
license.
Additionally, OpenBSD includes some other AT&T code with non-restrictive copyrights, such as the
reference implementation of awk.
Caldera*
Caldera* (now known as the SCO group) is the current owner of the Unix code copyrights. On 23
January 2002, the original Unix code (versions 1 through seven, including 32V) was freed by Caldera.
This code is now available under a 4-term BSD-style license. As a result, it is now possible to
incorporate real Unix code into OpenBSD (though this code is quite old and generally requires significant
changes to bring it up to date).
DEC*, Sun*, other manufacturers/software houses.
In general OpenBSD does not include material copyrighted by manufacturers or software houses.
Material may be included where the copyright owner has granted general permission for reuse
without conditions, with terms similar to the Berkeley copyright, or where the material is the
product of an employee and the employer's copyright notice effectively releases any rights they
might have to the work.
Carnegie-Mellon* (CMU, Mach)
The Carnegie-Mellon copyright is similar to the Berkeley copyright, except that it requests that
derivative works be made available to Carnegie-Mellon. Because this is only a request and not a
condition, such material can still be included in OpenBSD. It should be noted that existing
versions of Mach are still subject to AT&T copyrights, which prevents the general distribution
of Mach sources.
Apache*
The original Apache* copyright is similar to the Berkeley copyright, except that it stipulates
that products derived from the code may not have "Apache" in their name. The purpose of this
clause is to avoid a situation in which another party releases a modified version of the code
named in such a way to make users think that it is the "official" version. This is not an issue
with OpenBSD because OpenBSD is a Compilation, and not a Derived Work. Source code published under
version 2 of the Apache license cannot be included into OpenBSD. As a consequence, OpenBSD now
maintains its own version of Apache based on version 1.3.29. The OpenBSD version includes many
enhancements and bugfixes.
ISC*
The ISC* copyright is functionally equivalent to a two-term BSD copyright with language removed
that is made unnecessary by the Berne convention. This is the preferred license for new code
incorporated into OpenBSD. A sample license is included in the source tree as
/usr/src/share/misc/license.template.
GNU* General Public License, GPL, LGPL, copyleft, etc.
The GNU* Public License and licenses modeled on it impose the restriction that source code must
be distributed or made available for all works that are derivatives of the GNU copyrighted code.
While this may be a noble strategy in terms of software sharing, it is a condition that is
typically unacceptable for commercial use of software. As a consequence, software bound by the
GPL terms can not be included in the kernel or "runtime" of OpenBSD, though software subject to
 GPL terms may be included as development tools or as part of the system that are "optional" as
long as such use does not result in OpenBSD as a whole becoming subject to the GPL terms.
As an example, GCC and other GNU tools are included in the OpenBSD tool chain. However, it is
quite possible to distribute a system for many applications without a tool chain, or the
distributor can choose to include a tool chain as an optional bundle which conforms to the
GPL terms.
NetBSD*
Much of OpenBSD is originally based on and evolved from NetBSD*, since some of the OpenBSD
developers were involved in the NetBSD project. The general NetBSD license terms are compatible
with the Berkeley license and permit such use. Material subject only to the general NetBSD license
can generally be included in OpenBSD.
In the past, NetBSD has included material copyrighted by individuals who have imposed license
conditions beyond that of the general NetBSD license, but granted the NetBSD Foundation license
to distribute the material. Such material can not be included in OpenBSD as long as the conditions
imposed are at odds with the OpenBSD license terms or releases from those terms are offered on a
discriminatory basis.
FreeBSD*
Most of FreeBSD* is also based on Berkeley licensed material or includes copyright notices based
on the Berkeley model. Such material can be included in OpenBSD, while those parts that are subject
to GPL or various individual copyright terms that are at odds with the OpenBSD license can not be
included in OpenBSD.
Linux*
Most of Linux* is subject to GPL style licensing terms and therefore can not be included in
OpenBSD. Individual components may be eligible, subject to the terms of the originator's copyright
notices. Note that Linux "distributions" may also be subject to additional copyright claims of the
distributing organization, either as a compilation or on material included that is not part of the
Linux core.
X*, XFree86*, X.Org*
X*, X.Org* or XFree86* are not parts of OpenBSD, rather X.Org and parts of XFree86 3.3.6 are
distributed with many OpenBSD ports as a convenience to the user, subject to applicable license
terms.
Shareware, Charityware, Freeware, etc.
Most "shareware" copyright notices impose conditions for redistribution, use or visibility that
are at conflict with the OpenBSD project goals. Review on a case-by-case basis is required as to
whether the wording of the conditions is acceptable in terms of conditions being requested vs.
demanded and whether the spirit of the conditions is compatible with goals of the OpenBSD project.
Public Domain
While material that is truly entered into the "Public Domain" can be included in OpenBSD, review
is required on a case by case basis. Frequently the "public domain" assertion is made by someone
who does not really hold all rights under Copyright law to grant that status or there are a variety
of conditions imposed on use. For a work to be truly in the "Public Domain" all rights are abandoned
and the material is offered without restrictions.

6. wabt-rs
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

7. parity-wasm (https://github.com/paritytech/parity-wasm) and parity wasmi (https://paritytech.github.io/wasmi/)

                              Apache License
                        Version 2.0, January 2004
                     http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

   "License" shall mean the terms and conditions for use, reproduction,
   and distribution as defined by Sections 1 through 9 of this document.

   "Licensor" shall mean the copyright owner or entity authorized by
   the copyright owner that is granting the License.

   "Legal Entity" shall mean the union of the acting entity and all
   other entities that control, are controlled by, or are under common
   control with that entity. For the purposes of this definition,
   "control" means (i) the power, direct or indirect, to cause the
   direction or management of such entity, whether by contract or
   otherwise, or (ii) ownership of fifty percent (50%) or more of the
   outstanding shares, or (iii) beneficial ownership of such entity.

   "You" (or "Your") shall mean an individual or Legal Entity
   exercising permissions granted by this License.

   "Source" form shall mean the preferred form for making modifications,
   including but not limited to software source code, documentation
   source, and configuration files.

   "Object" form shall mean any form resulting from mechanical
   transformation or translation of a Source form, including but
   not limited to compiled object code, generated documentation,
   and conversions to other media types.

   "Work" shall mean the work of authorship, whether in Source or
   Object form, made available under the License, as indicated by a
   copyright notice that is included in or attached to the work
   (an example is provided in the Appendix below).

   "Derivative Works" shall mean any work, whether in Source or Object
   form, that is based on (or derived from) the Work and for which the
   editorial revisions, annotations, elaborations, or other modifications
   represent, as a whole, an original work of authorship. For the purposes
   of this License, Derivative Works shall not include works that remain
   separable from, or merely link (or bind by name) to the interfaces of,
   the Work and Derivative Works thereof.

   "Contribution" shall mean any work of authorship, including
   the original version of the Work and any modifications or additions
   to that Work or Derivative Works thereof, that is intentionally
   submitted to Licensor for inclusion in the Work by the copyright owner
   or by an individual or Legal Entity authorized to submit on behalf of
   the copyright owner. For the purposes of this definition, "submitted"
   means any form of electronic, verbal, or written communication sent
   to the Licensor or its representatives, including but not limited to
   communication on electronic mailing lists, source code control systems,
   and issue tracking systems that are managed by, or on behalf of, the
   Licensor for the purpose of discussing and improving the Work, but
   excluding communication that is conspicuously marked or otherwise
   designated in writing by the copyright owner as "Not a Contribution."

   "Contributor" shall mean Licensor and any individual or Legal Entity
   on behalf of whom a Contribution has been received by Licensor and
   subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   copyright license to reproduce, prepare Derivative Works of,
   publicly display, publicly perform, sublicense, and distribute the
   Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   (except as stated in this section) patent license to make, have made,
   use, offer to sell, sell, import, and otherwise transfer the Work,
   where such license applies only to those patent claims licensable
   by such Contributor that are necessarily infringed by their
   Contribution(s) alone or by combination of their Contribution(s)
   with the Work to which such Contribution(s) was submitted. If You
   institute patent litigation against any entity (including a
   cross-claim or counterclaim in a lawsuit) alleging that the Work
   or a Contribution incorporated within the Work constitutes direct
   or contributory patent infringement, then any patent licenses
   granted to You under this License for that Work shall terminate
   as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
   Work or Derivative Works thereof in any medium, with or without
   modifications, and in Source or Object form, provided that You
   meet the following conditions:

   (a) You must give any other recipients of the Work or
       Derivative Works a copy of this License; and

   (b) You must cause any modified files to carry prominent notices
       stating that You changed the files; and

   (c) You must retain, in the Source form of any Derivative Works
       that You distribute, all copyright, patent, trademark, and
       attribution notices from the Source form of the Work,
       excluding those notices that do not pertain to any part of
       the Derivative Works; and

   (d) If the Work includes a "NOTICE" text file as part of its
       distribution, then any Derivative Works that You distribute must
       include a readable copy of the attribution notices contained
       within such NOTICE file, excluding those notices that do not
       pertain to any part of the Derivative Works, in at least one
       of the following places: within a NOTICE text file distributed
       as part of the Derivative Works; within the Source form or
       documentation, if provided along with the Derivative Works; or,
       within a display generated by the Derivative Works, if and
       wherever such third-party notices normally appear. The contents
       of the NOTICE file are for informational purposes only and
       do not modify the License. You may add Your own attribution
       notices within Derivative Works that You distribute, alongside
       or as an addendum to the NOTICE text from the Work, provided
       that such additional attribution notices cannot be construed
       as modifying the License.

   You may add Your own copyright statement to Your modifications and
   may provide additional or different license terms and conditions
   for use, reproduction, or distribution of Your modifications, or
   for any such Derivative Works as a whole, provided Your use,
   reproduction, and distribution of the Work otherwise complies with
   the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
   names, trademarks, service marks, or product names of the Licensor,
   except as required for reasonable and customary use in describing the
   origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
   agreed to in writing, Licensor provides the Work (and each
   Contributor provides its Contributions) on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
   implied, including, without limitation, any warranties or conditions
   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
   PARTICULAR PURPOSE. You are solely responsible for determining the
   appropriateness of using or redistributing the Work and assume any
   risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
   whether in tort (including negligence), contract, or otherwise,
   unless required by applicable law (such as deliberate and grossly
   negligent acts) or agreed to in writing, shall any Contributor be
   liable to You for damages, including any direct, indirect, special,
   incidental, or consequential damages of any character arising as a
   result of this License or out of the use or inability to use the
   Work (including but not limited to damages for loss of goodwill,
   work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses), even if such Contributor
   has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
   the Work or Derivative Works thereof, You may choose to offer,
   and charge a fee for, acceptance of support, warranty, indemnity,
   or other liability obligations and/or rights consistent with this
   License. However, in accepting such obligations, You may act only
   on Your own behalf and on Your sole responsibility, not on behalf
   of any other Contributor, and only if You agree to indemnify,
   defend, and hold each Contributor harmless for any liability
   incurred by, or claims asserted against, such Contributor by reason
   of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

   To apply the Apache License to your work, attach the following
   boilerplate notice, with the fields enclosed by brackets "[]"
   replaced with your own identifying information. (Don't include
   the brackets!)  The text should be enclosed in the appropriate
   comment syntax for the file format. We also recommend that a
   file or class name and description of purpose be included on the
   same "printed page" as the copyright notice for easier
   identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

	http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Copyright (c) 2017 Nikolay Volf

Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the
Software without restriction, including without
limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice
shall be included in all copies or substantial portions
of the Software.

 IN NO EVENT
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

repository: ChainlinkResources/builder

gha_license_id: MIT

repo_name: ChainlinkResources/builder


text:
# cf-smoke-tests-release CI

## Purpose
This pipeline keeps the components of `cf-smoke-tests` and `cf-smoke-tests-release` (this repo) up to date, and verifies all changes with automated testing.

## Where
The pipeline is public and runs at [app-runtime-deployments.ci.cloudfoundry.org/teams/main/pipelines/cf-smoke-tests](https://app-runtime-deployments.ci.cloudfoundry.org/teams/main/pipelines/cf-smoke-tests)

### Automated Testing
All changes to `cf-smoke-tests-release` are automatically verified by the following steps:
- Claiming a working bosh-deployed CF environment (`claim-cats-pool`)
- Deploying the smoke tests with the same bosh director (`deploy-updated-smokes`)
- Running the `smoke_tests` errand on that bosh deployment (`run-smokes-errand`)
- Deleting the `cf-smoke-tests-release` deployment (`delete-smokes-deployment`) and cutting a release (`create-final-release`)

### Version bumping
The following two pipeline jobs automatically bump the versions of dependencies in the `cf-smoke-tests` and `cf-smoke-tests-release` repos:
1. `update-cf-smoke-tests` bumps the following in cf-smoke-tests:
    * go (1.x minor versions only) and its dependencies in [go.mod](https://github.com/cloudfoundry/cf-smoke-tests/blob/main/go.mod), including [cf-test-helpers](https://github.com/cloudfoundry/cf-test-helpers)
2. `update-release` bumps cf-smoke-tests-release:
    * its cf-smoke-tests submodule
    * its golang package (this follows the `go` version in cf-smoke-tests' [go.mod](https://github.com/cloudfoundry/cf-smoke-tests/blob/main/go.mod))
    * references to the golang package in all files in `jobs/`, `/packages/smoke_tests` and `/packages/smoke_tests_windows`

### Cutting a final release
The `create-final-release` job is triggered automatically when new commits to this repo pass the jobs `deploy-updated-smokes`, `run-smokes-errand` and `delete-smokes-deployment` _unless_ those commits only change files matching the following paths: `releases/**`, `.final_builds/**`, `ci/**`, and `.envrc`

repository: cloudfoundry/cf-smoke-tests-release

branch_name: refs/heads/main

gha_language: HTML

repo_name: cloudfoundry/cf-smoke-tests-release


text:
# beanWork [![Build Status](https://travis-ci.org/yaronsumel/beanWork.svg?branch=master)](https://travis-ci.org/yaronsumel/beanWork) [![GoDoc](https://godoc.org/github.com/yaronsumel/beanWork?status.svg)](https://godoc.org/github.com/yaronsumel/beanWork)

Worker client for [beanstalkd](http://kr.github.com/beanstalkd/). Written in Go by [Yaron Sumel](http://sumel.me).

PR are welcome!

## Install

    $ go get github.com/yaronsumel/beanWork

## Usage

```go

    import "github.com/yaronsumel/beanWork"

	bw := &beanWork.BeanWorker{"tcp4","<IP_ADDRESS>:11300"}

	amountOfWorkers := 5
	bw.Worker("mytube",amountOfWorkers,func(job *beanWork.BeanJob) {
		//do some work here
		job.Delete()
	})

	bw.Run()
```

## TBD

    * Recover from lost connections

repository: yaronsumel/beanWork

repo_name: yaronsumel/beanWork


text:
## AWS Gateway Load Balancer Centralized Architecture Validation

### Welcome

* This section walks you through steps to validate AWS Gateway Load Balancer Centralized Architecture.

### Validate access to resource on Internet from application running in Spoke1 VPC:

* From Appliance VPC stack Outputs tab, get the public IP address of the bastion host and private IP addresses of the two appliances:

![](images/appliance_vpc_stack_outputs.jpg)

* Access appliances through bastion host:

![](images/access_appliances.jpg)

* From Spoke1 VPC stack Outputs tab, get the public IP address of the bastion host and private IP addresses of the application instance:

![](images/spoke1_vpc_stack_outputs.jpg)

* Access application instance through bastion host:

![](images/access_application.jpg)

#### Ping:

* On both the appliances capture GENEVE traffic using tcpdump.
* From application instance running in Spoke1 VPC, ping a resource on the internet.
* Ping is successful and ICMP traffic is sent to appliance using GENEVE.

![](images/ping_access.jpg)

#### HTTP:

* On both the appliances capture GENEVE traffic using tcpdump.
* From application instance running in Spoke1 VPC, access a resource on the Internet over HTTP.
* Example below uses a curl command to access simple webserver running on an EC2 instance. Command is successfull. HTTP traffic is sent to appliance using GENEVE.

![](images/http_access.jpg)

### Validate access to application running in Spoke2 VPC from application running in Spoke1 VPC (East-West/VPC-to-VPC):

* As explained in the [ Centralized inspection architecture with AWS Gateway Load Balancer and AWS Transit Gateway blog](https://aws.amazon.com/blogs/networking-and-content-delivery/centralized-inspection-architecture-with-aws-gateway-load-balancer-and-aws-transit-gateway/), to ensure flow symmetry, Transit Gateway appliance mode should be enabled on the Appliance VPC attachment. In example below, application instance in Availability Zone (AZ) A of Spoke1 VPC tries to SSH into application instances in AZ A and AZ C of Spoke2 VPC.

* From Spoke2 VPC stack Outputs tab, get the private IP addresses of the application instances:

![](images/spoke2_vpc_stack_outputs.jpg)

#### Transit Gateway appliance mode disabled:

* With Transit Gateway appliance mode disabled, application instance in AZ A of Spoke1 VPC is able to access application instance in AZ A of Spoke2 VPC over SSH.

![](images/ssh_access_spoke2_application1_appliancemode_disable.jpg)

* Since application instance in AZ C of Spoke2 VPC is in a different AZ, it is not accessible.

![](images/ssh_access_spoke2_application2_appliancemode_disable.jpg)

#### Transit Gateway appliance mode enabled:

* From Transit Gateway stack Outputs tab, get the Appliance VPC attahcment ID:

![](images/tgw_stack_outputs.jpg)

* Enable Tranist Gateway appliance mode for the Appliance VPC attachment:

![](images/enable_appliancemode.jpg)

* With Transit Gateway appliance mode enabled, application instance in AZ A of Spoke1 VPC is able to access both the application instances in Spoke2 VPC over SSH.

* Application instance in AZ A of Spoke2 VPC:

![](images/ssh_access_spoke2_application1_appliancemode_enable.jpg)

* Application instance in AZ C of Spoke2 VPC:

![](images/ssh_access_spoke2_application2_appliancemode_enable.jpg)

gha_license_id: NOASSERTION


text:
# Wave'n'Click (Windows Server) (Alpha)
Connects an Android device to a PC (with Windows installed) via Bluetooth.

This project aims to make it possible to use your Android device for
manipulating PC as if you were using a remote control.

Features supported at the moment:
* connecting an Android device to a PC (look at 'greencis/wave-n-click-client' repo)
* 11 buttons mapped to keys (you can change them on Keys mapping tab)
* mouse buttons and movement emulation
* scrolling mouse wheel
* typing text messages and sending them to the PC

Originally, Wave'n'Click had been written in Nov 2012 - Feb 2013. It was
presented at National Computer Science conference for secondary school
students in 2013 and won a second degree award.

The project is still in alpha stage of development, and many interesting
features are awaiting their implementation. Some bugs can occur, so use with
caution!

Wave'n'Click Server is written in C# and is built under Microsoft Visual Studio 2015.
It requires .NET Framework 3.5 installed on your computer. Wave'n'Click Server uses
32feet.NET (https://32feet.codeplex.com/) and Windows Input Simulator
(https://inputsimulator.codeplex.com/) libraries, which are distributed under
Microsoft Public License (Ms-PL).

(c) 2012-2016, greencis

license: MS-PL

repository: davebneufeld/wave-n-click-server

repo_name: davebneufeld/wave-n-click-server


text:
# pitest-plugins

Example plugins for pitest.

This repository contains examples of creating plugins for the pitest mutation testing system. Several of them may be useful in their own right, particularly to those working in academic research.

These plugins are not currently released. To install locally from source

```bash
mvn install
```

To use these plugins via maven add them as dependencies to the pitest-maven plugin (i.e **not** to your project dependencies) e.g

```xml
      <plugin>
        <groupId>org.pitest</groupId>
        <artifactId>pitest-maven</artifactId>
        <version>0.34-SNAPSHOT</version>

        <dependencies>
          <dependency>
            <groupId>org.pitest.plugins</groupId>
            <artifactId>pitest-high-isolation-plugin</artifactId>
            <version>0.1-SNAPSHOT</version>
          </dependency>
        </dependencies>

        <configuration>
		blah
        </configuration>
      </plugin>
```

# The examples

## High isolation plugin

This plugin uses the MutationFilterFactory extension point to increase the isolation between mutants.

By default pitest isolates mutations from different classes into different JVMs so there can be no inteference between them. It is still possible for mutations within the *same* class to interfere with each other if they poison static state in the JVM. Pitest will try to detect and prevent interference in some obvious cases where this might occur (e.g static initializers) but it does not make a guarantee that it will be prevented.

This design is a trade-off between speed and correctness.

This plugin changes that trade off so that pitest pessimitically isolates every mutation using classloaders. When this plugin is used pitest guarantees that mutations cannot interfere with each other via static state at the expense of greatly reduced performance.

To activate this plugin place it on the tool classpath (**not** your project classpath).

You should see it listed in the loaded plugins at startup and see the string

`"Marking all mutations as requiring isolation"`

in the log.

Mutation testing will also take a **lot** longer.

**If you require complete isolation with a seperate JVM for each mutant for your research project this can be achieved without this plugin by setting the parameter mutationUnitSize to 1. This will be very very slow but should guarantee complete isolation.**

## All tests plugin

This plugin uses the TestPrioritiserFactory extension point to dumbly run the entire test suite against each mutation.

By default pitest only runs tests against a mutation that coverage data suggests will actually exercise the mutation.

In rare cases this strategy might result in a potentialy killing test not being run against a mutation e.g if the mutation is within some code exercised when a singleton is initialised. In this case only first test case to use the singleton will be registered as covering this code. If other test cases were run individually (i.e not as part of a suite) then they would also exercise the code and might detect the mutation.

This plugin avoids these corner cases by ignoring coverage data and always running the full suite of tests. To ensure deterministic behaviour the tests are order alphabetically.

To activate this plugin place it on the too classpath - you should see it listed in the loaded plugins at startup.

This plugin will make mutation testing **very** slow.

repository: szpak/pitest-plugins

repo_name: szpak/pitest-plugins


text:
# Confluent Cloud CLI + AWS Lambda + Python Demo

Simple demo of scripting the Confluent Cloud CLI using an AWS Lambda function in Python.

You can copy/paste the contents of `lambda_function.py` into a fresh Python AWS Lambda function, fill in the blanks, and be up and running.

Note that downloading the CLI on each invocation of the Lambda function is pretty inefficient, and a better design pattern would be to attach an EFS volume that contains a pre-downloaded copy of the CLI, for example (ideally using an EFS replica in the same region as your Lambda).


text:
## Files

Users can upload files. Only the user who created them can access such files, besides administrators and users who have the role of “BackOffice”.
The maximum size of a file is 2GB, but we do not recommend reaching such size, since BaasBox is a software that provides backend services for mobile Apps. Currently we do not support resume functions for upload and download.


text:
### [CVE-2009-1545](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1545)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

Unspecified vulnerability in Avifil32.dll in the Windows Media file handling functionality in Microsoft Windows 2000 SP4, XP SP2 and SP3, Server 2003 SP2, Vista Gold, SP1, and SP2, and Server 2008 Gold and SP2 allows remote attackers to execute arbitrary code via a malformed header in a crafted AVI file, aka "Malformed AVI Header Vulnerability."

### POC

#### Reference
- https://docs.microsoft.com/en-us/security-updates/securitybulletins/2009/ms09-038

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

repo_name: trickest/cve


text:
[Home](./index.md) > [@firebase/functions-types](./functions-types.md) > [Functions](./functions-types.functions.md)

## Functions interface

`Functions` represents a Functions instance, and is a required argument for all Functions operations.

Signature:

```typescript
export interface Functions
```

## Properties

|  Property | Type | Description |
|  --- | --- | --- |
|  [app](./functions-types.functions.app.md) | [FirebaseApp](./app-types.firebaseapp.md) | The FirebaseApp this Functions instance is associated with. |
|  [region](./functions-types.functions.region.md) | string | The region the callable Cloud Functions are located in. Default is us-central-1. |

gha_language: TypeScript


text:
# OS weekly meeting

Monday 17/06/19

## Attendees

- @zaibon
- @maxux
- @leesmet
- @delantj
- @muhamadazmy

## Progress Update

### Updates Module

@muhamadazmy:

- For now, we have a single version for all modules all together, for now we stick on this but this is going to change
- We could use separate directory for each binaries, which could fix it, need to investigate
- Using the go.mod file we can do some stuff too

### Storage Module

@muhamadazmy:

- Working on btrfs module (in go), but need to sync with @leesmet, they both do the same thing

@leesmet:

- Ported rust to go btrfs stuff

### Core X / Hub

@maxux:

- Core X frontend, killing process and better handle process life is done
- Remove caddy from hub is also done
- Still need to remove authentication from the hub

### FList Tools

@maxux:

- Going to work on the new tool when corex / hub is fully done (already mostly done)

### Network Module

@zaibon:
@delantj:

- Started to work on it with @delantj
- When module bootstrap, it starts, when a container starts, it push wireguard and enable connectivity
- Primitive needs to be cleaned over zbus, now it's hackish way but PoC seems good
- You can't let the user configure network, most of the user don't understand network and ipv6
- Tested using 499 containers connected to local wireguard, it uses 1G memory and all works
- Firewall needs to be thinked but could be very simple

### Global

- We removed staging branch on zos repo, we use master now
- Travis is enabled for some part but we should improve this to test more stuff

repository: zaibon/zos

repo_name: zaibon/zos


text:
Cooksville is an online one vs one cooking competition. Player A competes against player B by retrieving orders, gathering ingredients, preparing dishes, and delivering them to the customers.

Cooksville was a capstone project developed by a group of 7 programmers including me as the team leader in 3 months. The game was developed using Unity and C# language.

### Trailer
https://youtu.be/Vcdj_y1cGZk

### Build the game
- Import to Unity
- Build the game to the destinated platform (Win/Mac)

gha_language: C#


text:
## Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks

We develop a novel post-hoc visual explanation method called Score-CAM, which is the first gradient-free CAM-based visualization method that achieves better visual performance (**state-of-the-art**).

<img src="https://github.com/haofanwang/Score-CAM/blob/master/pics/comparison.png" width="100%" height="100%">

Paper: [Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks](http://openaccess.thecvf.com/content_CVPRW_2020/papers/w1/Wang_Score-CAM_Score-Weighted_Visual_Explanations_for_Convolutional_Neural_Networks_CVPRW_2020_paper.pdf), appeared at IEEE [CVPR 2020 Workshop on Fair, Data Efficient and Trusted Computer Vision](https://fadetrcv.github.io). Our paper has been cited nearly **100**!

Demo: You can run an example via [Colab](https://colab.research.google.com/drive/1m1VAhKaO7Jns5qt5igfd7lSVZudoKmID?usp=sharing)

## Update

**`2021.4.03`**: Merged into [jacobgil/pytorch-grad-cam](https://github.com/jacobgil/pytorch-grad-cam) (2.8K Stars).

**`2020.8.18`**: Merged into [PaddlePaddle/InterpretDL](https://github.com/PaddlePaddle/InterpretDL), a toolkit for PaddlePaddle models.

**`2020.7.11`**: Merged into [keisen/tf-keras-vis](https://github.com/keisen/tf-keras-vis), written in Tensorflow.

**`2020.5.11`**: Merged into [utkuozbulak/pytorch-cnn-visualizations](https://github.com/utkuozbulak/pytorch-cnn-visualizations) (5.7K Stars).

**`2020.3.24`**: Merged into [frgfm/torch-cam](https://github.com/frgfm/torch-cam), a wonderful library that supports multiple CAM-based methods.

## Citation
If you find this work or code is helpful in your research, please cite our work:
```
@inproceedings{wang2020score,
  title={Score-CAM: Score-weighted visual explanations for convolutional neural networks},
  author={Wang, Haofan and Wang, Zifan and Du, Mengnan and Yang, Fan and Zhang, Zijian and Ding, Sirui and Mardziel, Piotr and Hu, Xia},
  booktitle={Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops},
  pages={24--25},
  year={2020}
}
```

## Thanks
Utils are built on [flashtorch](https://github.com/MisaOgura/flashtorch), thanks for releasing this great work!

## Contact
If you have any questions, feel free to open an issue or directly contact me via<EMAIL_ADDRESS>


text:
# nginx_http_recaptcha_module - support google's reCAPTCHA with Nginx

## Description

This module can be deployed in spam or DDOS attack protection for Nginx. It's used the reCAPTCHA to distinguish between human and auto script. The module works with these steps below:

1. The request comes from client. If the request contains the correct secure cookie, it will do the normal action. If not, the request will redirect to the recaptcha page.

2. The client inputs the captcha letters.

3. Nginx sends this input letters to recaptcha server for verification.

4. The correct answer from reccaptcha server with beginning of "true...", else it's beginning with "false...".

5. Add the secure cookie for the correct verified client, redirect the client to the page which he wants to view.

## Getting started

1. Install this module

2. [Get a pair of recaptcha key from google](https://www.google.com/recaptcha/admin/create)

3. Copy the template recaptcha page from captcha_html/captcha.html to your web directory.

4. Replace the public key in the recaptcha page.

5. Replace the private key in the config file.

6. Change the secure_cookie_md5's private key in the config file.

7. Change the domain of yourhost.com to your real domain.

## Examples

```
location / {
    secure_cookie $cookie_CAPTCHA_SESSION,$cookie_CAPTCHA_EXPIRES;
    secure_cookie_md5 private_key$binary_remote_addr$cookie_CAPTCHA_EXPIRES;

    if ($cookie_CAPTCHA_SESSION = "") {
        rewrite ^.*$ /captcha.html redirect;
    }

    if ($cookie_CAPTCHA_EXPIRES = "") {
        rewrite ^.*$ /captcha.html redirect;
    }

    if ($secure_cookie = "0") {
        rewrite ^.*$ /captcha.html redirect;
    }

    if ($secure_cookie = "") {
        return 403;
    }

    proxy_pass http://your_backend;
}

location = /captcha.html {
    root html;
}

location = /verify {
    eval_inherit_body on;
    eval_override_content_type 'text/plain';

    eval $verify_content {
        recaptcha_challenge_name $recaptcha_challenge_field;
        recaptcha_response_name $recaptcha_response_field;

        proxy_method POST;
        proxy_set_header  Accept-Encoding  "";
        proxy_set_body "privatekey=your_privatekey_from_google&remoteip=$remote_addr&challenge=$recaptcha_challenge_field&response=$recaptcha_response_field";

        rewrite .* /recaptcha/api/verify break;
        proxy_pass 'http://www.google.com';
    }

    if ($verify_content ~* ^true[\s\R]*(.*)) {
        set $error_code $1;

        rewrite .* /set_secure_cookie last;
    }

    if ($verify_content ~* ^false[\s\R]*(.*)) {
        set $error_code $1;

        return 403;
    }

    return 404;
}

location = /set_secure_cookie {
    internal;
    secure_cookie_expires 1h;
    secure_cookie_md5 private_key$binary_remote_addr$secure_cookie_set_expires_base64;

    add_header Set-Cookie "CAPTCHA_SESSION=$secure_cookie_set_md5; expires=$secure_cookie_set_expires; path=/; domain=.yourhost.com";
    add_header Set-Cookie "CAPTCHA_EXPIRES=$secure_cookie_set_expires_base64; expires=$secure_cookie_set_expires; path=/; domain=.yourhost.com";

    rewrite ^.*$ http://www.yourhost.com redirect;

    return 302;
}
```

## Directives

### recaptcha_challenge_name

    syntax: *recaptcha_challenge_name
    $variable_stored_content_of_recaptcha_challenge_field;*

    default: *none*

    context: *http, server, location*

    description: The name should equal to the name of challenge input form.
    This directive will add the specific variable. This variable is used
    only in the directive of proxy_set_body. It will get the value of the
    challenge input form. It's equal to "$recaptcha_challenge_field"
    generally.

### recaptcha_response_name

    syntax: *recaptcha_response_name
    $variable_stored_content_of_recaptcha_response_field;*

    default: *none*

    context: *http, server, location*

    description: The name should equal to the name of response input form.
    This directive will add the specific variable. This variable is used
    only in the directive of proxy_set_body. It will get the value of the
    response input form. It's equal to "$recaptcha_response_field"
    generally.

## Installation

Download the [latest version of the release tarball of nginx_eval_module](https://github.com/yaoweibin/nginx-eval-module).

Download the [latest version of the release tarball of nginx_secure_cookie_module](https://github.com/yaoweibin/nginx_secure_cookie_module).

Download the [latest version of the release tarball of this module](https://github.com/yaoweibin/nginx_http_recaptcha_module).

Grab the [nginx source code](http://nginx.org/), for example, the version 0.8.54 (see nginx compatibility), and then build the source with this module:

    $ wget 'http://nginx.org/download/nginx-0.8.54.tar.gz'
    $ tar -xzvf nginx-0.8.54.tar.gz
    $ cd nginx-0.8.54/

    $ ./configure --add-module=/path/to/nginx_http_recaptcha_module \
        --add-module=/path/to/nginx_secure_cookie_module \
        --add-module=/path/to/nginx_eval_module

    $ make
    $ make install

## Compatibility

My test bed is 0.8.54.

## TODO

### Known Issues

*   Developing

*   Google limits 1 million reCAPTCHA requests per day for each key. [See faq](http://www.google.com/recaptcha/faq).

*   If you use the global key for many sites, you should not add the domain field in the Set-Cookie header.

## Changelogs

### v0.1

first release

## Authors

Weibin Yao(姚伟斌) *yaoweibin at gmail dot com*

## Copyright & License

This README template copy from [agentzh](http://github.com/agentzh).

This module is licensed under the BSD license.

Copyright (C) 2010 by Weibin Yao<EMAIL_ADDRESS>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

*   Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.

*   Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.


text:
I am environment where user navigates over objects in particular scope of other objects. I implement cache of requested scopes and evaluated queries.

First user ask me for specific scope where he want to look at system. And then from this scope user queries specific environment content:

	env := ClyNavigationEnvironment new.
	scope := env selectScope: ClyPackageScope of: {#Kernel asPackage}.
	scope query: ClySortedClasses

Scope is always selected within list of basis objects which restrict what could be retrieved from given point of view. In example scope will allow to see only classes and methods which belongs to 'Kernel' package.

I maintain weak cache of all seleted scopes which made duplicated queries very fast and memory efficient.
This cache is a dictionary of dictionary. At first level I split cache by class of environment scope which is key. And at last level I have basis objecs array as keys and scope instances as values.

I have plugins collection which are ClyEnvironmentPlugin subclasses. They affect set of properties for each item which is retrieved by queries.
These properties are used by UI related plugins to extend look and feel of tools.

For more details look at ClyEnvironmentScope and ClyEnvironmentContent comments.

Public API and Key Messages

- selectScope: scopeClass of: arrayOfObjects
- withCachedScopesDo: aBlock
- resolveItem: anEnvironmentItem of: anEnvironmentContent

Internal Representation and Key Implementation Points.

    Instance Variables
	plugins:		<Collection of<ClyEnvironmentPlugin>>>
	scopeCache:		<Dictionary of<ClyEnvironmentScope class,Dictionary of<Array,ClyEnvironmentScope>>>
	updateStrategy:	<ClyEnvironmentUpdateStrategy>

repository: dupriezt/Calypso

repo_name: dupriezt/Calypso


text:
# Micro Company - Monolithic

This version of the application is deployed as a single monolithic application.

Domain Driven Design is applied through Event Sourcing and CQRS.

## Run back-end server
The back-end server (localhost:8080) is used to serve the rest API:

- http://localhost:8080/swagger-ui.html#/blog-controller
- http://localhost:8080/swagger-ui.html#/project-controller

Please note that the back-end server will include front-end (angular) application that will be available on http://localhost:8080.

```bash
$ cd micro-company
$ ./mvnw clean install
$ cd micro-company/monolithic
$ ./mvnw spring-boot:run
```

## Development server for front-end (angular)

```bash
$ cd micro-company/monolithic/src/main/frontend
$ npm start
```

Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. Front-end application requires back-end application to run and serve the resources.

### Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/class`.

### Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

### Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

### Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
Before running the tests make sure you are serving the app via `ng serve`.

### Deploying to Github Pages

Run `ng github-pages:deploy` to deploy to Github Pages.

### Further help

To get more help on the `angular-cli` use `ng --help` or go check out the [Angular-CLI README](https://github.com/angular/angular-cli/blob/master/README.md).

repository: idugalic/micro-company

gha_language: JavaScript

repo_name: idugalic/micro-company