er->FireEvent( event );
		}

		IGameEvent *winEvent = gameeventmanager->CreateEvent( "cs_win_panel_match" );

		if ( winEvent )
		{
			winEvent->SetInt( "t_score", 4 );
			winEvent->SetInt( "ct_score", 1 );

			winEvent->SetFloat( "t_kd", 1.8f );
			winEvent->SetFloat( "ct_kd", 0.4f );

			winEvent->SetInt( "t_objectives_done", 5 );
			winEvent->SetInt( "ct_objectives_done", 2 );

			winEvent->SetInt( "t_money_earned", 30000 );
			winEvent->SetInt( "ct_money_earned", 19999 );

			gameeventmanager->FireEvent( winEvent );
		}
	}
	ConCommand test_match_winpanel( "test_match_winpanel", TestMatchWinpanel, "", FCVAR_DEVELOPMENTONLY | FCVAR_CHEAT );

	void TestFreezePanel( void )
	{
		IGameEvent *event = gameeventmanager->CreateEvent( "freezecam_started" );
		if ( event )
		{
			gameeventmanager->FireEvent( event );
		}

		IGameEvent *winEvent = gameeventmanager->CreateEvent( "show_freezepanel" );

		if ( winEvent )
		{
			winEvent->SetInt( "killer", 1 );
			gameeventmanager->FireEvent( winEvent );
		}
	}
	ConCommand test_freezepanel( "test_freezepanel", TestFreezePanel, "", FCVAR_DEVELOPMENTONLY | FCVAR_CHEAT );
#endif // _DEBUG

	static void PrintToConsole( CBasePlayer *player, const char *text )
	{
		if ( player )
		{
			ClientPrint( player, HUD_PRINTCONSOLE, text );
		}
		else
		{
			Msg( "%s", text );
		}
	}

	void CCSGameRules::DumpTimers( void ) const
	{
		extern ConVar bot_join_delay;
		CBasePlayer *player = UTIL_GetCommandClient();
		CFmtStr str;

		PrintToConsole( player, str.sprintf( "Timers and related info at %f:\n", gpGlobals->curtime ) );
		PrintToConsole( player, str.sprintf( "m_bCompleteReset: %d\n", m_bCompleteReset ) );
		PrintToConsole( player, str.sprintf( "m_iTotalRoundsPlayed: %d\n", m_iTotalRoundsPlayed ) );
		PrintToConsole( player, str.sprintf( "m_iRoundTime: %d\n", m_iRoundTime.Get() ) );
		PrintToConsole( player, str.sprintf( "m_iRoundWinStatus: %d\n", m_iRoundWinStatus ) );

		PrintToConsole( player, str.sprintf( "first connected: %d\n", m_bFirstConnected ) );
		PrintToConsole( player, str.sprintf( "intermission end time: %f\n", m_flIntermissionEndTime ) );
		PrintToConsole( player, str.sprintf( "freeze period: %d\n", m_bFreezePeriod.Get() ) );
		PrintToConsole( player, str.sprintf( "round restart time: %f\n", m_flRestartRoundTime ) );
		PrintToConsole( player, str.sprintf( "game start time: %f\n", m_flGameStartTime.Get() ) );
		PrintToConsole( player, str.sprintf( "m_fRoundStartTime: %f\n", m_fRoundStartTime.Get() ) );
		PrintToConsole( player, str.sprintf( "freeze time: %d\n", m_iFreezeTime ) );
		PrintToConsole( player, str.sprintf( "next think: %f\n", m_tmNextPeriodicThink ) );

		PrintToConsole( player, str.sprintf( "fraglimit: %d\n", fraglimit.GetInt() ) );
		PrintToConsole( player,


22 − MINUS SIGN
    '-', '+', '\u2213', // 8723 ∓ MINUS-OR-PLUS SIGN
    '*', '-', '\u2217', // 8727 ∗ ASTERISK OPERATOR
    'O', 'b', '\u2218', // 8728 ∘ RING OPERATOR
    'S', 'b', '\u2219', // 8729 ∙ BULLET OPERATOR
    'R', 'T', '\u221a', // 8730 √ SQUARE ROOT
    '0', '(', '\u221d', // 8733 ∝ PROPORTIONAL TO
    '0', '0', '\u221e', // 8734 ∞ INFINITY
    '-', 'L', '\u221f', // 8735 ∟ RIGHT ANGLE
    '-', 'V', '\u2220', // 8736 ∠ ANGLE
    'P', 'P', '\u2225', // 8741 ∥ PARALLEL TO
    'A', 'N', '\u2227', // 8743 ∧ LOGICAL AND
    'O', 'R', '\u2228', // 8744 ∨ LOGICAL OR
    '(', 'U', '\u2229', // 8745 ∩ INTERSECTION
    ')', 'U', '\u222a', // 8746 ∪ UNION
    'I', 'n', '\u222b', // 8747 ∫ INTEGRAL
    'D', 'I', '\u222c', // 8748 ∬ DOUBLE INTEGRAL
    'I', 'o', '\u222e', // 8750 ∮ CONTOUR INTEGRAL
    '.', ':', '\u2234', // 8756 ∴ THEREFORE
    ':', '.', '\u2235', // 8757 ∵ BECAUSE
    ':', 'R', '\u2236', // 8758 ∶ RATIO
    ':', ':', '\u2237', // 8759 ∷ PROPORTION
    '?', '1', '\u223c', // 8764 ∼ TILDE OPERATOR
    'C', 'G', '\u223e', // 8766 ∾ INVERTED LAZY S
    '?', '-', '\u2243', // 8771 ≃ ASYMPTOTICALLY EQUAL TO
    '?', '=', '\u2245', // 8773 ≅ APPROXIMATELY EQUAL TO
    '?', '2', '\u2248', // 8776 ≈ ALMOST EQUAL TO
    '=', '?', '\u224c', // 8780 ≌ ALL EQUAL TO
    'H', 'I', '\u2253', // 8787 ≓ IMAGE OF OR APPROXIMATELY EQUAL TO
    '!', '=', '\u2260', // 8800 ≠ NOT EQUAL TO
    '=', '3', '\u2261', // 8801 ≡ IDENTICAL TO
    '=', '<', '\u2264', // 8804 ≤ LESS-THAN OR EQUAL TO
    '>', '=', '\u2265', // 8805 ≥ GREATER-THAN OR EQUAL TO
    '<', '*', '\u226a', // 8810 ≪ MUCH LESS-THAN
    '*', '>', '\u226b', // 8811 ≫ MUCH GREATER-THAN
    '!', '<', '\u226e', // 8814 ≮ NOT LESS-THAN
    '!', '>', '\u226f', // 8815 ≯ NOT GREATER-THAN
    '(', 'C', '\u2282', // 8834 ⊂ SUBSET OF
    ')', 'C', '\u2283', // 8835 ⊃ SUPERSET OF
    '(', '_', '\u2286', // 8838 ⊆ SUBSET OF OR EQUAL TO
    ')', '_', '\u2287', // 8839 ⊇ SUPERSET OF OR EQUAL TO
    '0', '.', '\u2299', // 8857 ⊙ CIRCLED DOT OPERATOR
    '0', '2', '\u229a', // 8858 ⊚ CIRCLED RING OPERATOR
    '-', 'T', '\u22a5', //


 0.2F, 0.51F, 0.2F, 0.71F, 0.0F)
                lineToRelative(2.79F, -2.8F)
                curveToRelative(0.31F, -0.31F, 0.09F, -0.85F, -0.36F, -0.85F)
                lineTo(6.0F, 12.0F)
                curveToRelative(0.0F, -3.9F, 3.18F, -7.05F, 7.1F, -7.0F)
                curveToRelative(3.72F, 0.05F, 6.85F, 3.18F, 6.9F, 6.9F)
                curveToRelative(0.05F, 3.91F, -3.1F, 7.1F, -7.0F, 7.1F)
                curveToRelative(-1.61F, 0.0F, -3.1F, -0.55F, -4.28F, -1.48F)
                curveToRelative(-0.4F, -0.31F, -0.96F, -0.28F, -1.32F, 0.08F)
                curveToRelative(-0.42F, 0.42F, -0.39F, 1.13F, 0.08F, 1.49F)
                curveTo(9.0F, 20.29F, 10.91F, 21.0F, 13.0F, 21.0F)
                curveToRelative(5.05F, 0.0F, 9.14F, -4.17F, 9.0F, -9.26F)
                curveToRelative(-0.13F, -4.69F, -4.05F, -8.61F, -8.74F, -8.74F)

                moveTo(12.75F, 8.0F)
                curveToRelative(-0.41F, 0.0F, -0.75F, 0.34F, -0.75F, 0.75F)
                verticalLineToRelative(3.68F)
                curveToRelative(0.0F, 0.35F, 0.19F, 0.68F, 0.49F, 0.86F)
                lineToRelative(3.12F, 1.85F)
                curveToRelative(0.36F, 0.21F, 0.82F, 0.09F, 1.03F, -0.26F)
                curveToRelative(0.21F, -0.36F, 0.09F, -0.82F, -0.26F, -1.03F)
                lineToRelative(-2.88F, -1.71F)
                verticalLineToRelative(-3.4F)
                curveToRelative(0.0F, -0.4F, -0.34F, -0.74F, -0.75F, -0.74F)
                close()
            }
        }
        return _icHistory!!
    }

private var _icHistory: ImageVector? = null

@Preview
@Composable
@Suppress("UnusedPrivateMember")
private fun IconIcHistoryPreview() {
    Icon(imageVector = AppIcons.IcHistory, contentDescription = null)
}package ru.radiationx.anilibria.ui.activities.player

import android.content.Context
import androidx.media3.common.util.UnstableApi
import androidx.media3.datasource.DefaultDataSource
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import androidx.media3.session.MediaSession
import ru.radiationx.data.entity.common.PlayerTransport
import ru.radiationx.data.player.PlayerCacheDataSourceProvider
import ru.radiationx.data.player.PlayerDataSourceProvider
import ru.radiationx.media.mobile.PlayerProxy
import java.util.UUID
import javax.inject.Inject

class PlayerHolder @Inject constructor(
    private val dataSourceProvider: PlayerDataSourceProvider,
    private val cacheDataSourceProvider: PlayerCacheDataSourceProvider
) {

    private val playerProxy = PlayerProxy()
    private var _player: ExoPlayer? = null

    private var _mediaSession: MediaSession? = null

    var selectedTransport: PlayerTransport? = null
        private set

    @UnstableApi
    fun attach(context: Context) {
        val dataSourceType = dataSourceProvider.get()
        selectedTransport = dataSourceType.transport
        val dataSourceFactory = DefaultDataSource.Factory(context, dataSourceType.factory)
        val cacheFactory = cacheDataSourceProvider.createCacheFactory(dataSourceFactory)
        val mediaSourceFactory = DefaultMediaSourceFactory(context).apply {
            setDataSourceFactory(cacheFactory)


pper.z, GetEntityCoords(PlayerPedId())) < 1 then
				SetTextComponentFormat("STRING")
				AddTextComponentString("~INPUT_PICKUP~ modify weapon (~r~5000DM~w~)")
				DisplayHelpTextFromStringLabel(0, 0, 1, -1)
				if IsControlJustPressed(0, 38) then
					if GetSelectedPedWeapon(PlayerPedId()) == -1569615261 then
						TriggerEvent('fsn_notify:displayNotification', 'It looks like that tool would hurt your hands...', 'centerRight', 5000, 'error')
					else
						if exports["fsn_inventory"]:fsn_HasItem('dirty_money') and exports["fsn_inventory"]:fsn_GetItemAmount('dirty_money') >= 5000 then
							for k,v in pairs(myWeapons) do
								if v.hash == GetSelectedPedWeapon(PlayerPedId()) then
									if v.owner.name ~= 'UNKNOWN' and v.owner.serial ~= 'illegible' then
										if string.find(v.owner.name, '(PD ISSUE)') then
											TriggerEvent('fsn_notify:displayNotification', 'The heat are looking for this gun, you cannot modify it here.', 'centerRight', 5000, 'success')
										else
											v.owner.name = 'UNKNOWN'
											v.owner.serial = 'illegible'
											TriggerEvent('fsn_inventory:item:take', 'dirty_money', 5000)
											TriggerEvent('fsn_notify:displayNotification', 'This was successfully scratched off', 'centerRight', 5000, 'success')
										end
									end
								end
							end
						else
							TriggerEvent('fsn_notify:displa


essie ook?',
      okay: 'Asb!',
      notNow: 'Nie tans nie',
      never: 'Nooit weer nie',
    },
    websocketDisconnect: {
      title: 'Gebroke konneksie',
      reconnect: 'Herkonnekteer',
    },
  },
}
import { h } from '/vendor/hyperapp.js';

import * as actions from '/actions.js';

import { deleteButton } from '/components/deleteButton.js';
import { listButton } from '/components/listButton.js';

const relativeContainer = (props, children) =>
  h(
    'div',
    {
      ...props,
      class: {
        ...props.class,
        relative: true,
      },
    },
    children,
  );

const dropTarget = (props, children) =>
  h(
    'div',
    {
      onmouseenter: [actions.DragTo, { to: props.index }],
      style: {
        alpha: 0.5,
      },
      class: {
        'border-2': true,
        'border-gray-200': true,
        'border-dotted': true,
        'h-20': true,
        'bg-gray-100': true,
        'dark:bg-gray-700': true,
        'rounded': true,
      },
    },
    children,
  );

const dropZoneTrigger = props =>
  h('div', {
    class: {
      'absolute': true,
      'w-full': true,
      'bg-transparent': true,
    },
    style: {
      top: props.top,
      left: 0,
      height: '50%',
    },
    onmouseenter: [actions.DragTo, { to: props.index }],
  });

const dragContainer = (props, children) =>
  h(
    'div',
    {
      class: {
        'hidden': props.isDragFrom,
        'relative': true,
        'select-none': true,
        'flex': true,
        'flex-row': true,
        'items-center': true,
        'justify-start': true,
      },
    },
    [
      h(
        'div',
        {
          class: {
            'hidden': true,
            'sm:flex': true,
            'h-full': true,
            'flex-col': true,
            'items-center': true,
            'justify-between': true,
            'py-4': true,
            'mr-2': true,
            'cursor-move': !props.disabled,
          },
          onmousedown: (_, event) =>
            props.disabled
              ? state => state
              : [
                  actions.DragSelect,
                  {
                    type: props.dragType,
                    from: props.index,
                    clientX: event.clientX,
                    clientY: event.clientY,
                  },
                ],
        },
        Array.from({ length: 3 }, () =>
          h('div', {
            class: {
              'border-b': true,
              'border-b-gray-800': !props.disabled,
              'border-b-gray-400': props.disabled,
              'dark:border-b-gray-200': !props.disabled,
              'dark:border-b-gray-400': props.disabled,
              'my-1': true,
              'w-6': true,
            },
          }),
        ),
      ),

      children,

      h(
        'div',
        {
          class: {
            hidden: !props.expandActions,
            flex: props.expandActions,
          },
        },
        [


import ITodo = Interfaces.ITodo;

export class TodoModel implements ITodoModel {

    key: any;
    todos: ITodo[];
    onChanges: any[];

    constructor(key) {
        this.key = key;
        this.todos = Utils.store(key);
        this.onChanges = [];
    }

    subscribe(onChange) {
        this.onChanges.push(onChange);
    }

    inform() {
        Utils.store(this.key, this.todos);
        this.onChanges.forEach(cb => { cb(); });
    }

    addTodo(title: string) {
        this.todos = this.todos.concat({
            id: Utils.uuid(),
            title: title,
            completed: false
        });

        this.inform();
    }

    toggleAll(checked) {
        this.todos = this.todos.map<ITodo>((todo: ITodo) => {
            return Utils.extend(
                {}, todo, { completed: checked }
            );
        });

        this.inform();
    }

    toggle(todoToToggle) {
        this.todos = this.todos.map<ITodo>((todo: ITodo) => {
            return todo !== todoToToggle ?
                todo :
                Utils.extend(
                    {}, todo, { completed: !todo.completed }
                );
        });

        this.inform();
    }

    destroy(todo) {
        this.todos = this.todos.filter(candidate => candidate !== todo);

        this.inform();
    }

    save(todoToSave, text) {
        this.todos = this.todos.map(todo => todo !== todoToSave ? todo : Utils.extend({}, todo, { title: text }));

        this.inform();
    }

    clearCompleted() {
        this.todos = this.todos.filter(todo => !todo.completed);

        this.inform();
    }

}
/**
 * @license
 * Copyright 2018 Google Inc.
 * 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.
 */

/**
 * @file Basic annotation data structures.
 */

import {TrackableBoolean} from 'neuroglancer/trackable_boolean';
import {Borrowed, RefCounted} from 'neuroglancer/util/disposable';
import {mat4, vec3} from 'neuroglancer/util/geom';
import {parseArray, verify3dScale, verify3dVec, verifyEnumString, verifyObject, verifyObjectProperty, verifyOptionalBoolean, verifyOptionalString, verifyPositiveInt, verifyString} from 'neuroglancer/util/json';
import {getRandomHexString} from 'neuroglancer/util/random';
import {NullarySignal, Signal} from 'neuroglancer/util/signal';
import {Uint64} from 'neuroglancer/util/uint64';

export type AnnotationId = string;

export class AnnotationReference extends RefCounted {
  changed = new NullarySignal();

  /**
   * If `undefined`, we are still waiting to look up the result.  If `null`, annotation has been
   * deleted.
   */
  value: Annotation|null|undefined;

  constructor(public id: AnnotationId) {
    super();
  }
}

export enum AnnotationType {
  POINT,
  LINE,
  AXIS_ALIGNED_BOUNDING_BOX,
  ELLIPSOID,
  COLLECTION,
  LINE_STRIP,
  SPOKE
}

export const annotationTypes = [
  AnnotationType.POINT, AnnotationType.LINE, AnnotationType.AXIS_ALIGNED


screen and (min-width:48em){.c6x2{width:33.33333%;float:left}.pushr6x2{margin-right:33.33333%}.pushl6x2{margin-left:33.33333%}}@media only screen and (min-width:98em){.lg-c6x2{width:33.33333%!important;float:left}.lg-pushr6x2{margin-right:33.33333%!important}.lg-pushl6x2{margin-left:33.33333%!important}}.mb-c6x3{width:50%;float:left}@media only screen and (min-width:48em){.c6x3{width:50%;float:left}.pushr6x3{margin-right:50%}.pushl6x3{margin-left:50%}}@media only screen and (min-width:98em){.lg-c6x3{width:50%!important;float:left}.lg-pushr6x3{margin-right:50%!important}.lg-pushl6x3{margin-left:50%!important}}.mb-c6x4{width:66.66667%;float:left}@media only screen and (min-width:48em){.c6x4{width:66.66667%;float:left}.pushr6x4{margin-right:66.66667%}.pushl6x4{margin-left:66.66667%}}@media only screen and (min-width:98em){.lg-c6x4{width:66.66667%!important;float:left}.lg-pushr6x4{margin-right:66.66667%!important}.lg-pushl6x4{margin-left:66.66667%!important}}.mb-c6x5{width:83.33333%;float:left}@media only screen and (min-width:48em){.c6x5{width:83.33333%;float:left}.pushr6x5{margin-right:83.33333%}.pushl6x5{margin-left:83.33333%}}@media only screen and (min-width:98em){.lg-c6x5{width:83.33333%!important;float:left}.lg-pushr6x5{margin-right:83.33333%!important}.lg-pushl6x5{margin-left:83.33333%!important}}.mb-c6x6{width:100%;float:left}@media only screen and (min-width:48em){.c6x6{width:100%;float:left}.pushr6x6{margin-right:100%}.pushl6x6{margin-left:100%}}@media only screen and (min-width:98em){.lg-c6x6{width:100%!important;float:left}.lg-pushr6x6{margin-right:100%!important}.lg-pushl6x6{margin-left:100%!important}}body,html{position:relative}html{min-height:100%;overflow-y:scroll;font-family:system,-apple-system,BlinkMacSystemFont,Helvetica Neue,Lucida Grande,sans-serif;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}body{font-size:16px;font-size:1rem;line-height:1.5;background:#fff;color:#222223}* ::-moz-selection{background:#cb2c30;color:#fff}* ::selection{background:#cb2c30;color:#fff}@media only screen and (min-width:64em){html{font-size:107.5%}}p{margin-bottom:12px;margin-bottom:.75rem}b,strong{font-weight:700}em,i{font-style:italic}abbr{cursor:help}sup


;
	context: string;
}

export class SourceFilesService {

	static getNodebookFolderInfos() {
		const rootDirectory = path.sep + 'nodebook';
		const cwd = process.cwd();
		const relativeSourceDirectory = rootDirectory + path.sep + 'src' + path.sep;

		return {
			rootDirectory,
			cwd,
			relativeSourceDirectory,
			absoluteSourceDirectory: relativeSourceDirectory
		};
	}

	static getFileInfos({value, name, mode, context}: IFileInfoParameters): ISourceFileInfos {
		const {
			rootDirectory,
			cwd,
			relativeSourceDirectory,
			absoluteSourceDirectory
		} = SourceFilesService.getNodebookFolderInfos();

		const nodebookContextDirectory = relativeSourceDirectory + (context ?
			context + path.sep : '');
		const modeObject = environment.config.input.modes.find((extMode) => {
			return extMode.value === mode;
		}) || {short: 'txt'};
		const extension = modeObject.short;
		const relativeFilePath = '.' + nodebookContextDirectory + modeObject.short + path.sep + name + '.' + modeObject.short;
		const absoluteFilePath = cwd + nodebookContextDirectory + modeObject.short + path.sep + name + '.' + modeObject.short;

		return {
			rootDirectory,
			nodebookContextDirectory,
			relativeSourceDirectory,
			absoluteSourceDirectory,
			relativeFilePath,
			absoluteFilePath,
			extension,
			size: (new Blob([value]).size),
			cwd: cwd
		};
	}

	static removeFile(filePath) {
        if (fs.existsSync(filePath)) {
            fs.unlinkSync(filePath);
        }
	}

	static createIfNotExists (
		value: string,
		name: string,
		mode: string,
		context: string
	): ISourceFileInfos {
		const fileInfos = SourceFilesService.getFileInfos({value, name, mode, context});

        const modeObject = environment.config.input.modes.find((extMode) => {
            return extMode.value === mode;
        }) || {short: 'txt'};

		if (!fs.existsSync(fileInfos.cwd + fileInfos.rootDirectory)) {
			fs.mkdirSync(fileInfos.cwd + fileInfos.rootDirectory);
		}

		if (!fs.existsSync(fileInfos.cwd + fileInfos.absoluteSourceDirectory)) {
			fs.mkdirSync(fileInfos.cwd + fileInfos.absoluteSourceDirectory);
		}

		if (!fs.existsSync(fileInfos.cwd + fileInfos.nodebookContextDirectory)) {
			fs.mkdirSync(fileInfos.cwd + fileInfos.nodebookContextDirectory);
		}

        if (!fs.existsSync(fileInfos.cwd + fileInfos.nodebookContextDirectory + modeObject.short)) {
            fs.mkdirSync(fileInfos.cwd + fileInfos.nodebookContextDirectory + modeObject.short);
        }

		fs.writeFileSync(
			fileInfos.cwd + fileInfos.nodebookContextDirectory + modeObject.short + path.sep + name + '.' + fileInfos.extension,
			value,
			{encoding: 'utf-8'}
		);

		return fileInfos;
	}
}
/**
 * @author GaryQK
 * @date 2019/6/5
 * @Description: 游戏的启动脚本
*/
import QK from "./QK";
import {Inject} from "../Framework/DI/Atrributes/InjectAttribute";
import IActorManager from "./Inter/IActorManager";
import ActorManager from "./ActorManager";

const {ccclass, property} = cc._decorator;

@ccclass
export default class Main extends cc.Component {
    @Inject("IActorManager")  //key 对应 Module中 Bind 时传入的key
    actorManager: IActorManager = null;//由于typescript的


/// `latest published version`:
    latestPublishedVersion, "latestPublishedVersion",
    /// `logo`:
    logo, "logo",
    /// `name`:
    name, "name",
    /// `namespace`:
    namespace, "namespace",
    /// `namespace prefix`:
    namespacePrefix, "namespacePrefix",
    /// `ownedBy`:
    ownedBy, "ownedBy",
    /// `owner`:
    owner, "owner",
    /// `owningParty`:
    owningParty, "owningParty",
    /// `previous published version`:
    previousPublishedVersion, "previousPublishedVersion",
    /// `rationale`:
    rationale, "rationale",
    /// `RDF/XML file URL`:
    rdfxmlFileURL, "rdfxmlFileURL",
    /// `reifiable by`:
    reifiableBy, "reifiableBy",
    /// `release date`:
    releaseDate, "releaseDate",
    /// `revision`:
    revision, "revision",
    /// `specificity`:
    specificity, "specificity",
    /// `title`:
    title, "title",
    /// `todo`:
    todo, "todo",
    /// `turtle file URL`:
    turtleFileURL, "turtleFileURL",
    /// `url`:
    url, "url",
    /// `uses non-imported resource`:
    usesNonImportedResource, "usesNonImportedResource",
    /// `with attribution to`:
    withAttributionTo, "withAttributionTo"
);
#![feature(repr_simd)]
#![feature(platform_intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
struct i16x8(i16, i16, i16, i16, i16, i16, i16, i16);
#[repr(simd)]
struct i64x8(i64, i64, i64, i64, i64, i64, i64, i64);

extern "platform-intrinsic" {
    fn x86_mm_adds_epi16(x: i16x8, y: i16x8) -> i64x8; //~ ERROR E0443
}

fn main() {}
//! Tendermint Configuration Utilities
//!
//! This crate defines the [`TendermintConfig`] type, which is used by
//! crates such as `tendermint-rpc` to perform operations based on
//! a common configuration type.

#![cfg_attr(docsrs, feature(doc_cfg))]
#![deny(
    warnings,
    trivial_casts,
    trivial_numeric_casts,
    unused_import_braces,
    unused_qualifications
)]
#![forbid(unsafe_code)]

extern crate alloc;

pub mod net;

mod config;
mod error;
mod node_key;
mod prelude;
mod priv_validator_key;

pub use config::*;
pub use error::*;
pub use node_key::NodeKey;
pub use priv_validator_key::PrivValidatorKey;
<reponame>archlinux/arch-repro-status
use std::{env, str::FromStr};
use structopt::clap::Shell;
use structopt::StructOpt;

use arch_repro_status::args::Args;

/// Shell completions can be created with `cargo run --bin completions`
/// in a directory specified by the environment variable OUT_DIR.
fn main() {
    //  https://doc.rust-lang.org/cargo/reference/environment-variables.html
    let out_dir = env::var("OUT_DIR").expect("OUT_DIR not set");
    let mut app = Args::clap();
    for variant in Shell::variants()
        .iter()
        .filter_map(|v| Shell::from_str(v).ok())
    {
        app.gen_completions(env!("CARGO_PKG_NAME"), variant, &out_dir);
    }
    println!("Completion scripts generated in '{}'", out_dir);
}
pub mod css;
pub mod display;
pub mod dom;
pub mod layout;
pub mod parser;
pub mod style;
<reponame>tgolsson/kludgine
use easygpu::prelude::*;
use figures::{Rectlike, Round};

use crate::{
    math::{ExtentsRect, Pixels, Point, Rect, Size, Unknown},
    sprite::{pipeline::Vertex, RenderedSprite, SpriteRotation


# Copyright 2024 HunyuanDiT Authors and The HuggingFace Team. All rights reserved.
#
# 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.

import inspect
from typing import Callable, Dict, List, Optional, Tuple, Union

import numpy as np
import torch
from transformers import BertModel, BertTokenizer, CLIPImageProcessor, MT5Tokenizer, T5EncoderModel

from diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput

from ...callbacks import MultiPipelineCallbacks, PipelineCallback
from ...image_processor import VaeImageProcessor
from ...models import AutoencoderKL, HunyuanDiT2DModel
from ...models.embeddings import get_2d_rotary_pos_embed
from ...pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker
from ...schedulers import DDPMScheduler
from ...utils import (
    is_torch_xla_available,
    logging,
    replace_example_docstring,
)
from ...utils.torch_utils import randn_tensor
from ..pipeline_utils import DiffusionPipeline

if is_torch_xla_available():
    import torch_xla.core.xla_model as xm

    XLA_AVAILABLE = True
else:
    XLA_AVAILABLE = False

logger = logging.get_logger(__name__)  # pylint: disable=invalid-name

EXAMPLE_DOC_STRING = """
    Examples:
        ```py
        >>> import torch
        >>> from diffusers import HunyuanDiTPipeline

        >>> pipe = HunyuanDiTPipeline.from_pretrained(
        ...     "Tencent-Hunyuan/HunyuanDiT-Diffusers", torch_dtype=torch.float16
        ... )
        >>> pipe.to("cuda")

        >>> # You may also use English prompt as HunyuanDiT supports both English and Chinese
        >>> # prompt = "An astronaut riding a horse"
        >>> prompt = "一个宇航员在骑马"
        >>> image = pipe(prompt).images[0]
        ```
"""

STANDARD_RATIO = np.array(
    [
        1.0,  # 1:1
        4.0 / 3.0,  # 4:3
        3.0 / 4.0,  # 3:4
        16.0 / 9.0,  # 16:9
        9.0 / 16.0,  # 9:16
    ]
)
STANDARD_SHAPE = [
    [(1024, 1024), (1280, 1280)],  # 1:1
    [(1024, 768), (1152, 864), (1280, 960)],  # 4:3
    [(768, 1024), (864, 1152), (960, 1280)],  # 3:4
    [(1280, 768)],  # 16:9
    [(768, 1280)],  # 9:16
]
STANDARD_AREA = [np.array([w * h for w, h in shapes]) for shapes in STANDARD_SHAPE]
SUPPORTED_SHAPE = [
    (1024, 1024),
    (1280, 1280),  # 1:1
    (1024, 768),
    (1152, 864),
    (1280, 960),  # 4:3
    (768, 1024),
    (864, 1152),
    (960, 1280),  # 3:4
    (1280, 768),  # 16:9
    (768, 1280),  # 9:16
]

def map_to_standard_shapes(target_width, target_height):
    target_ratio = target_width / target_height
    closest_ratio_idx = np.argmin(np.abs(STANDARD_RATIO - target_ratio))
    closest_area_idx = np.argmin(np.abs(STANDARD_AREA[closest_ratio_idx] - target_width * target_height))
    width, height = STANDARD_SHAPE[closest_ratio_idx][closest_area_idx]
    return width, height

def get_resize_crop_region_for_grid(src, tgt_size):
    th = tw = tgt_size
    h, w = src

    r = h / w

    # resize
    if r > 1:
        resize_height = th
        resize_width = int(round(th / h * w))
    else:
        resize_width = tw
        resize_height = int(round(tw / w * h))

    crop_top = int(round((th - resize_height) / 2.0))
    crop_left = int(round((tw - resize_width) / 2.0))

    return (crop_top, crop_left), (crop_top + resize_height, crop_left + resize_width)

# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.rescale_noise_cfg
def rescale_noise_cfg(noise_cfg, noise_pred_text, guidance_rescale=0.0):
    r"""
    Rescales `noise_cfg` tensor based on `guidance_rescale` to improve image quality and fix overexposure. Based on
    Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are
    Flawed](https://arxiv.org/pdf/2305.08891.pdf).

    Args:
        noise_cfg (`torch.Tensor`):
            The predicted noise tensor for the guided diffusion process.
        noise_pred_text (`torch.Tensor`):
            The predicted noise tensor for the text-guided diffusion process.
        guidance_rescale (`float`, *option


	*instance);
G_CONST_RETURN gchar* g_type_name_from_class	(GTypeClass	*g_class);

/* --- internal functions --- */
G_GNUC_INTERNAL void    g_value_c_init          (void); /* sync with gvalue.c */
G_GNUC_INTERNAL void    g_value_types_init      (void); /* sync with gvaluetypes.c */
G_GNUC_INTERNAL void    g_enum_types_init       (void); /* sync with genums.c */
G_GNUC_INTERNAL void    g_param_type_init       (void); /* sync with gparam.c */
G_GNUC_INTERNAL void    g_boxed_type_init       (void); /* sync with gboxed.c */
G_GNUC_INTERNAL void    g_object_type_init      (void); /* sync with gobject.c */
G_GNUC_INTERNAL void    g_param_spec_types_init (void); /* sync with gparamspecs.c */
G_GNUC_INTERNAL void    g_value_transforms_init (void); /* sync with gvaluetransform.c */
G_GNUC_INTERNAL void    g_signal_init           (void); /* sync with gsignal.c */

/* --- implementation bits --- */
#ifndef G_DISABLE_CAST_CHECKS
#  define _G_TYPE_CIC(ip, gt, ct) \
    ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
#  define _G_TYPE_CCC(cp, gt, ct) \
    ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
#else /* G_DISABLE_CAST_CHECKS */
#  define _G_TYPE_CIC(ip, gt, ct)       ((ct*) ip)
#  define _G_TYPE_CCC(cp, gt, ct)       ((ct*) cp)
#endif /* G_DISABLE_CAST_CHECKS */
#define _G_TYPE_CHI(ip)			(g_type_check_instance ((GTypeInstance*) ip))
#define _G_TYPE_CHV(vl)			(g_type_check_value ((GValue*) vl))
#define _G_TYPE_IGC(ip, gt, ct)         ((ct*) (((GTypeInstance*) ip)->g_class))
#define _G_TYPE_IGI(ip, gt, ct)         ((ct*) g_type_interface_peek (((GTypeInstance*) ip)->g_class, gt))
#ifdef	__GNUC__
#  define _G_TYPE_CIT(ip, gt)             (G_GNUC_EXTENSION ({ \
  GTypeInstance *__inst = (GTypeInstance*) ip; GType __t = gt; gboolean __r; \
  if (!__inst) \
    __r = FALSE; \
  else if (__inst->g_class && __inst->g_class->g_type == __t) \
    __r = TRUE; \
  else \
    __r = g_type_check_instance_is_a (__inst, __t); \
  __r; \
}))
#  define _G_TYPE_CCT(cp, gt)             (G_GNUC_EXTENSION ({ \
  GTypeClass *__class = (GTypeClass*) cp; GType __t = gt; gboolean __r; \
  if (!__class) \
    __r = FALSE; \
  else if (__class->g_type == __t) \
    __r = TRUE; \
  else \
    __r = g_type_check_class_is_a (__class, __t); \
  __r; \
}))
#  define _G_TYPE_CVH(vl, gt)             (G_GNUC_EXTENSION ({ \
  GValue *__val = (GValue*) vl; GType __t = gt; gboolean __r; \
  if (!__val) \
    __r = FALSE; \
  else if (__val->g_type == __t)		\
    __r = TRUE; \
  else \
    __r = g_type_check_value_holds (__val, __t); \
  __r; \
}))
#else  /* !__GNUC__ */
#  define _G_TYPE_CIT(ip, gt)             (g_type_check_instance_is_a ((GTypeInstance*) ip, gt))
#  define _G_TYPE_CCT(cp, gt)             (g_type_check_class_is_a ((GTypeClass*) cp, gt))
#  define _G_TYPE_CVH(vl, gt)             (g_type_check_value_holds ((GValue*) vl, gt))
#endif /* !__GNUC__ */
/**
 * G_TYPE_FLAG_RESERVED_ID_BIT:
 *
 * A bit in the type number that's supposed to be left untouched.
 */
#define	G_TYPE_FLAG_RESERVED_ID_BIT	((GType) (1 << 0))
extern GTypeDebugFlags			_g_type_debug_flags;

G_END_DECLS

#endif /* __G_TYPE_H__ */


固体废物或者含有高放射性和中放射性物质的废水；

（三）排放、倾倒工业废渣、城镇垃圾和其他废弃物。将含有汞、镉、砷、铬、铅、氰化物、黄磷等的可溶性剧毒废渣向水体排放、倾倒或者直接埋入地下。

第二十条 大武水源地范围内企业应当对罐区、管道以及其他生产和储存装置,采取预防措施,防止泄漏、渗漏。

化学品生产企业以及工业集聚区、矿山开采区、尾矿库、危险废物处置场、垃圾填埋场等的运营、管理单位，应当采取防渗漏等措施，并建设地下水水质监测井进行监测，防止地下水污染。

加油站等的地下油罐应当使用双层罐或者采取建造防渗池等其他有效措施，并进行防渗漏监测，防止地下水污染。

第二十一条 大武水源地范围内企业的污水处理设施应当与生产装置同步运行,其专用污水排放渠道、管道,应当定期检查维修。

第二十二条 大武水源地内已污染的水体，排污单位应当按照市水行政主管部门的规定进行抽排,防止污染扩散。

第二十三条 水行政主管部门及其水政监督检查人员在履行监督检查职责时,有权采取下列措施：

（一）要求被检查单位提供有关文件、证照、资料;

（二）要求被检查单位就执行本办法的有关问题作出说明；

（三）进入被检查单位的生产场所进行调查;

（四）责令被检查单位停止违法行为,履行法定义务。

第二十四条 违反本办法第十三条规定,取用水单位和个人有下列行为之一的,由市水行政主管部门予以警告,责令限期改正。逾期不改正的,对非经营性的，处一千元以下罚款;对经营性的，处五千元以下罚款:

（一）未按照规定安装计量检定合格的量水计量设施或者未在规定期限内更换已损坏的量水计量设施的;

（二）未如实向水政监督检查人员提供与取水量有关的资料的;

（三）拒绝、阻碍水政监督检查人员检查量水计量设施的。

第二十五条 违反本办法第十四条规定,在禁


, dysHeight);
					}
					catch (Exception)
					{
						qvg32.ReleaseDC();
						throw;
					}

					screen.DrawImageUnscaled(memoryBuffer.Bitmap, rcp);

					qvg32.ReleaseDC();
				}
			}
		}

		/// <summary>
		/// Draws the Root into a memory buffer, then rotates it 90deg clockwise while drawing
		/// the memory buffer to the screen.
		/// See C++ documentation for more info.
		/// </summary>
		public void DrawTheRootRotated(IVwRootBox rootb, IntPtr hdc, Rect rcpDraw, uint bkclr,
			bool fDrawSel, IVwRootSite vrs, int nHow)
		{
			IVwGraphicsWin32 qvg32 = VwGraphicsWin32Class.Create();
			Rectangle rcp = new Rectangle(rcpDraw.top, rcpDraw.left, rcpDraw.bottom, rcpDraw.right);
			Rectangle rcFill = new Rect(0, 0, rcp.Width, rcp.Height);
			using (Graphics screen = Graphics.FromHdc(hdc))
			using (var memoryBuffer = new MemoryBuffer(rcp.Width, rcp.Height))
			{
				memoryBuffer.Graphics.FillRectangle(new SolidBrush(ColorUtil.ConvertBGRtoColor(bkclr)), rcFill);
				qvg32.Initialize(memoryBuffer.Graphics.GetHdc());

				IVwGraphics qvgDummy = null;
				try
				{
					Rect rcDst, rcSrc;
					vrs.GetGraphics(rootb, out qv


 but they share a similar part called `SwapRequest`.

### Swap request struct

The TLB for this common part looks like this:

```tlb
_ isExactOutType:Bool
  cashbackAddress:MsgAddress
  desiredAmount:Coins
  timeout:uint32
  payloadOnSuccess:(Maybe ^Cell)
  payloadOnFailure:(Maybe ^Cell)
  nextStep:(Maybe SwapStep) = SwapParameters;

_ pool:MsgAddress
  receiver:(Maybe MsgAddress)
  params:SwapParameters = SwapRequest;
```

Let's break down the meaning of the fields in these structs:

- `pool` is the address of the AMM pool contract for your asset-in and asset-out.

- `receiver` is an optional address field for the receiver of the swap result. If the sender leaves it as null, it will default to the sender's address.

- `params` is an inline struct that holds the parameters of the swap. We will now look at the fields inside it.

- `isExactOutType` is a boolean field that specifies the [swap type](#kinds-of-swaps). True means the swap is `exactOut`, false means the swap is `exactIn` or `exactIn multihop`.

- `cashbackAddress` is an optional address field (to set it to null, use `address_none`) that is needed only for `exactOut` swaps. This is the address where unused tokens will be sent. If the swap type is `exactIn`, this value is ignored. If the swap type is `exactOut` but this value is null, then unused tokens will be sent to the `receiver` address.

- `desiredAmount`— if the swap type is `exactIn`, then `desiredAmount` is the minimum amount the trader is willing to receive as the result of the swap (amount-out). If the swap type is `exactOut`, then `desiredAmount` is the exact value-out that the trader wants to receive.

- `timeout`— an absolute Unix timestamp after which the transaction will not be executed (checked inside the AMM pool). Can be specified as 0 to disable the timeout check.

- `payloadOnSuccess` is an optional reference cell, described [here](#payload-semantics)

- `payloadOnFailure` is an optional reference cell, described [here](#payload-semantics)

- `nextStep` is an optional inline struct for multihop swaps, described [here](#multihop-swaps)

Given this common struct, we can look at how different vault swap messages are created.

### Jetton vault swap message

You need to construct the swap message in this way if you want to swap jettons for another asset.

To create a jetton swap message, the `forwardPayload` in the jetton transfer should be stored **inline** and look like this:

```tlb
_#bfa68001 swapRequest:^SwapRequest proofType:(##8) {proofType = 0} = SwapRequestForwardPayload;
```

Proof type is part of the general jetton vault notification message struct. In Tact it is:

```tact
message(0x7362d09c) JettonNotifyWithActionRequest {
    queryId: Int as uint64;
    amount: Int as coins;
    sender: Address;
    eitherBit: Bool; // Should be 0, so other fields are stored inline
    actionOpcode: Int as uint32;
    actionPayload: Cell; // Obligatory ref
    proofType: Int as uint8; // 0 - No proof attached, 1 - TEP-89, 2 - StateInit, 3 - State, 4 - Jetton Burn
    proof: Slice as remaining;
```

So, for a simple transfer, you should just store 0 as uint8 after the `SwapRequest` ref cell.

Then, you need to send a jetton transfer message with such a forward payload to the jetton vault.

```ts
const swapForwardPayload = createJettonVaultSwapRequest(
    destinationPool,
    isExactOutType,
    desiredAmount,
    timeout,
    cashbackAddress,
    payloadOnSuccess,
    payloadOnFailure,
    nextStep,
    receiver,
)
const swapResult = await userJettonWallet.sendTransfer(
    walletOwner.getSender(),
    toNano(1), // attached ton value
    jettonSwapAmount,
    vault.address, // where


*/	lwz r3, 0x84c(r3)
/* 80166AC0 00162720  4E 80 00 20 */	blr

.global func_80166AC4
func_80166AC4:
/* 80166AC4 00162724  80 63 08 58 */	lwz r3, 0x858(r3)
/* 80166AC8 00162728  4E 80 00 20 */	blr

.global func_80166ACC
func_80166ACC:
/* 80166ACC 0016272C  80 63 08 5C */	lwz r3, 0x85c(r3)
/* 80166AD0 00162730  4E 80 00 20 */	blr

.global func_80166AD4
func_80166AD4:
/* 80166AD4 00162734  80 03 18 88 */	lwz r0, 0x1888(r3)
/* 80166AD8 00162738  2C 00 00 00 */	cmpwi r0, 0
/* 80166ADC 0016273C  41 82 00 0C */	beq lbl_80166AE8
/* 80166AE0 00162740  80 63 18 8C */	lwz r3, 0x188c(r3)
/* 80166AE4 00162744  4E 80 00 20 */	blr
lbl_80166AE8:
/* 80166AE8 00162748  38 60 00 00 */	li r3, 0
/* 80166AEC 0016274C  4E 80 00 20 */	blr

.global func_80166AF0
func_80166AF0:
/* 80166AF0 00162750  80 63 18 84 */	lwz r3, 0x1884(r3)
/* 80166AF4 00162754  7C 03 00 D0 */	neg r0, r3
/* 80166AF8 00162758  7C 00 1B 78 */	or r0, r0, r3
/* 80166AFC 0016275C  54 03 0F FE */	srwi r3, r0, 0x1f
/* 80166B00 00162760  4E 80 00 20 */	blr

.global func_80166B04
func_80166B04:
/* 80166B04 00162764  80 03 18 98 */	lwz r0, 0x1898(r3)
/* 80166B08 00162768  2C 00 00 00 */	cmpwi r0, 0
/* 80166B0C 0016276C  41 82 00 0C */	beq lbl_80166B18
/* 80166B10 00162770  80 63 18 9C */	lwz r3, 0x189c(r3)
/* 80166B14 00162774  4E 80 00 20 */	blr
lbl_80166B18:
/* 80166B18 00162778  38 60 00 00 */	li r3, 0
/* 80166B1C 0016277C  4E 80 00 20 */	blr

.global func_80166B20
func_80166B20:
/* 80166B20 00162780  80 03 18 A0 */	lwz r0, 0x18a0(r3)
/* 80166B24 00162784  2C 00 00 00 */	cmpwi r0, 0
/* 80166B28 00162788  41 82 00 0C */	beq lbl_80166B34
/* 80166B2C 0016278C  80 63 18 A4 */	lwz r3, 0x18a4(r3)
/* 80166B30 00162790  4E 80 00 20 */	blr
lbl_80166B34:
/* 80166B34 00162794  38 60 00 00 */	li r3, 0
/* 80166B38 00162798  4E 80 00 20 */	blr

.global func_80166B3C
func_80166B3C:
/* 80166B3C 0016279C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801


法

1997年1月16日 河南省第八届人民代表大会常务委员会第二十四次会议通过

2010年7月30日 河南省第十一届人民代表大会常务委员会第十六次会议《关于修改部分地方性法规的决定》修正

<!-- INFO END -->

第一条 为了保护和鼓励台湾同胞在本省投资，保障台湾同胞投资者合法权益，促进经济发展，根据《中华人民共和国台湾同胞投资保护法》及有关法律、法规的规定，结合本省实际，制定本办法。

第二条 台湾同胞在本省行政区域内投资适用本办法。

第三条 本办法所称台湾同胞投资者，是指在本省投资的台湾地区的公司、企业、其他经济组织或个人。

台湾同胞以其在香港、澳门特别行政区和外国注册的公司、企业、其他经济组织或个人名义在本省的投资，可视为台湾同胞投资。

台湾同胞投资者可以委托亲友作为其投资的代理人。

第四条 台湾同胞投资者的人身权、财产权以及其他合法权益受法律保护。

台湾同胞投资者必须遵守国家的法律、法规，并接受当地人民政府的依法监督。

第五条 台湾同胞投资者主体资格的确认，须由投资者向省、设区的市人民政府台湾事务主管部门提出申请，并出具国家规定的有效证件。

省、设区的市人民政府台湾事务主管部门应当自接到申请之日起十五日内审核完毕，核发《台湾同胞投资证书》。台湾同胞投资者凭《台湾同胞投资证书》，可以享受国家和本省规定的优惠待遇。

《台湾同胞投资证书》由省台湾事务主管部门统一制定。

第六条 县级以上人民政府台湾事务主管部门和其他有关主管部门应当为台湾同胞投资做好咨询服务工作。

第七条 对台湾同胞投资者的投资不实行国有化和征收。在特殊情况下，根据社会公共利益需要必须征收的，经省人民政府批准，


mitiva|',
  [2929] = '?|Lechubestia salvaje|',
  [2930] = "A|Centinela Glynda Nal'Shea|To the right of the road, near a light post.",
  [2931] = '?|Zaricotl|',
  [2934] = "?|Vigilante Bel'dugur|",
  [2937] = '?|Dagun el Voraz|',
  [2941] = 'A|Lanie Reed|Next to a big eagle.',
  [2944] = "?|Jefe Tho'grun|",
  [2945] = '?|Murdaloc|',
  [2947] = 'H|Harken Vientótem|Standing on a rug inside a huge tent.',
  [2948] = 'H|Mull Tronacuerno|Standing next to 2 small target dummies.',
  [2949] = '?|Peletero Crines Pálidos|',
  [2950] = '?|Desollador Crines Pálidos|',
  [2951] = '?|Furtivo Crines Pálidos|',
  [2952] = '?|Jabaespín Erizapúas|',
  [2953] = '?|Chamán Erizapúas|',
  [2954] = '?|Jabaguerrero Erizapúas|',
  [2955] = '?|Zancudo de llanura|',
  [2956] = '?|Zancudo de llanura adulto|',
  [2958] = '?|Lobo de pradera|',
  [2959] = '?|Acechador de pradera|',
  [2960] = '?|Lobo alfa de pradera|',
  [2961] = '?|Puma montés|',
  [2962] = '?|Arpía Viento Furioso|',
  [2963] = '?|Ventobruja Viento Furioso|',
  [2964] = '?|Hechicera Viento Furioso|',
  [2966] = '?|Jabaguerrero|',
  [2969] = '?|Aguilón nervudo|',
  [2970] = '?|Aguilón|',
  [2971] = '?|Aguilón garrudo|',
  [2978] = '?|Trabajador de Ventura y Cía.|',
  [2979] = '?|Controlador de Ventura y Cía.|',
  [2980] = 'H|Grull Vientaguilar|Standing in the middle of the camp, next to a smoking igloo looking thing.',
  [2981] = 'H|Jefe Vientaguilar|Standing inside the long house.',
  [2982] = 'H|Vidente Lenguagris|Up on a hill, next to bonfire.',
  [2984] = 'H|Vidente Velocisabio|Standing in the back of a cave.',
  [2985] = 'H|Ruul Garraguilar|Standing next to a small house.',
  [2986] = 'H|Dorn Acechaprados|Follow the path up into the cave.',
  [2987] = 'H|Eyahn Garraguilar|Standing on the side of the road.',
  [2988] = 'H|Morin Acechanubes|He walks along this road.',
  [2991] = 'H|Abuela Vientaguilar|Standing next to a small windmill.',
  [2993] = 'H|Baine Pezuña de Sangre|Standing next to a huge totem pole.',
  [2994] = "H|Espíritu ancestral|He's a ghost standing on top of the hill.",
  [2995] = 'H|Tal|All the way at the top of the huge totem pole looking building.',
  [3007] = '?|Una|',
  [3009] = '?|Bena Pezuña Invernal|',
  [3033] = 'H


3lmaqZrJpF6jfhPEN76zr/NxWPC/nHRNldUdqkzSu/r"
            + "PeJyePMofJevzMkUzw7EVtbtWhZavCz+EZXRTZXub9M4mDMj64BG6JHMbVZI"
            + "1iDF2yka5RmhXz9tOhYgq80m7UQUb1ttNn86v1zVbe5lmB8NG4Ndv+JaaSuq"
            + "SBZOYQ0ZxtMAB3vVVLZCWxma1P5HdXloegh+hosqeu/bl0Wh90z5Bspt6eI4"
            + "imqwAWeVAdgESMYtmwEEAM9ZeMFxor7oSoXnhQAXD9lXLLfBky6IcIWISY4F"
            + "JWc8sK8+XiVzpOrefKro0QvmEGSYcDFQMHdScBLOTsiVJiqenA7fg1bkBr/M"
            + "bnD7vTKMJe0DARlU27tE5hsWCDYTluxIFjGcAcecY2UqHkqpctYKY0WY9EIm"
            + "dBA5TYaw3c0PABEBAAEAA/0Zg6318nC57cWLIp5dZiO/dRhTPZD0hI+BWZrg"
            + "zJtPT8rXVY+qK3Jwquig8z29/r+nppEE+xQWVWDlv4M28BDJAbGE+qWKAZqT"
            + "67lyKgc0c50W/lfbGvvs+F7ldCcNpFvlk79GODKxcEeTGDQKb9R6FnHFee/K"
            + "cZum71O3Ku3vUQIA3B3PNM+tKocIUNDHnInuLyqLORwQBNGfjU/pLMM0MkpP"
            + "lWeIfgUmn2zL/e0JrRoO0LQqX1LN/TlfcurDM0SEtwIA8Sba9OpDq99Yz360"
            + "FiePJiGNNlbj9EZsuGJyMVXL1mTLA6WHnz5XZOfYqJXHlmKvaKDbARW4+0U7"
            + "0/vPdYWSaQIAwYeo2Ce+b7M5ifbGMDWYBisEvGISg5xfvbe6qApmHS4QVQzE"
            + "Ym81rdJJ8OfvgSbHcgn37S3OBXIQvNdejF4BWqM9sAGHtCBIeW5lay1JbnRy"
            + "YW5ldCA8aHluZWtAYWxzb2Z0LmN6PrADA///iQDrBBABAgBVBQJIxi2bBQkB"
            + "mgKAMBSAAAAAACAAB3ByZWZlcnJlZC1lbWFpbC1lbmNvZGluZ0BwZ3AuY29t"
            + "cGdwbWltZQULBwgJAgIZAQUbAQAAAAUeAQAAAAIVAgAKCRDlTa3BE84gWVKW"
            + "BACcoCFKvph9r9QiHT1Z3N4wZH36Uxqu/059EFALnBkEdVudX/p6S9mynGRk"
            + "EfhmWFC1O6dMpnt+ZBEed/4XyFWVSLPwirML+6dxfXogdUsdFF1NCRHc3QGc"
            + "txnNUT/zcZ9IRIQjUhp6RkIvJPHcyfTXKSbLviI+PxzHU2Padq8pV7ABZ7


))
			ss << "Source AP instance: " << src_ap_inst_ << std::endl;
		if (!src_ae_name_.empty())
			ss << "Source AE name: " << src_ae_name_ << std::endl;
		if (!src_ae_inst_.empty())
			ss << "Source AE instance: " << src_ae_inst_ << std::endl;
		if (!dest_ap_name_.empty())
			ss << "Destination AP name: " << dest_ap_name_ << std::endl;
		if (!dest_ap_inst_.empty())
			ss << "Destination AP instance: " << dest_ap_inst_<< std::endl;
		if (!dest_ae_name_.empty())
			ss << "Destination AE name: " << dest_ae_name_ << std::endl;
		if (!dest_ae_inst_.empty())
			ss << "Destination AE instance: " << dest_ae_inst_ << std::endl;
	}
	if (filter_ != 0)
		ss << "Filter: " << filter_ << std::endl;
	ss << "Flags: " << flags_ << std::endl;
	if (invoke_id_ != 0)
		ss << "Invoke id: " << invoke_id_ << std::endl;
	if (!obj_class_.empty())
		ss << "Object class: " << obj_class_ << std::endl;
	if (!obj_name_.empty())
		ss << "Object name: " << obj_name_ << std::endl;
	if (obj_inst_ != 0)
		ss << "Object instance: " << obj_inst_ << std::endl;
	if (op_code_ == CDAPMessage::M_CONNECT_R
			|| op_code_ == CDAPMessage::M_RELEASE_R
			|| op_code_ == CDAPMessage::M_READ_R
			|| op_code_ == CDAPMessage::M_WRITE_R
			|| op_code_ == CDAPMessage::M_CANCELREAD_R
			|| op_code_ == CDAPMessage::M_START_R
			|| op_code_ == CDAPMessage::M_STOP_R
			|| op_code_ == CDAPMessage::M_CREATE_R
			|| op_code_ == CDAPMessage::M_DELETE_R) {
		ss << "Result: " << result_ << std::endl;
		if (!result_reason_.empty())
			ss << "Result Reason: " << result_reason_ << std::endl;
	}
	if (op_code_ == CDAPMessage::M_READ
			|| op_code_ == CDAPMessage::M_WRITE
			|| op_code_ == CDAPMessage::M_CANCELREAD
			|| op_code_ == CDAPMessage::M_START
			|| op_code_ == CDAPMessage::M_STOP
			|| op_code_ == CDAPMessage::M_CREATE
			|| op_code_ == CDAPMessage::M_DELETE) {
		ss << "Scope: " << scope_ << std::endl;
	}
	if (version_ != 0)
		ss << "Version: " << version_ << std::endl;
	return ss.str();
}

const int CDAPMessageFactory::ABSTRACT_SYNTAX_VERSION = 0x0073;

class ResetStablishmentTimerTask;
class ReleaseConnectionTimerTask;
class CDAPSession;
/// Implements the CDAP connection state machine
class ConnectionStateMachine
{
 public:
	enum ConnectionState
	{
		NONE,
		AWAITCON,
		CONNECTED,
		AWAITCLOSE,
		CLOSED
	};

	ConnectionStateMachine(CDAPSessionManagerInterface * sm_);
	~ConnectionStateMachine() throw ();
	void set_timeout(long timeout);
	void set_cdap_session(CDAPSession * cdap_session);
	bool is_connected();
	bool is_await_conn();


;
    assert_eq!(io.num_poll_write, 2);
    assert_eq!(io.last_write_size, 499);
}
// Call ruby

use std::io::{Read};
use std::process::{Command, Stdio};

static HTML_BEAUTIFIER: &'static [u8] = include_bytes!("beautifier.rb");

// TODO: option for tab size (implemented in ruby, but not in the execution of part)
/// Beautify html
pub fn beautify(html: &str) -> Result<String, String> {
    // echo {source_code} | ruby -- - html
    let source_code = match Command::new("echo")
        .arg(std::str::from_utf8(HTML_BEAUTIFIER).unwrap())
        .stdout(Stdio::piped())
        .spawn() {
        Ok(process) => process,
        Err(reason) => panic!("Couldn't spawn process cat: {reason}")
    };
    let process = match Command::new("ruby")
        .stdin(source_code.stdout.unwrap())
        .stdout(Stdio::piped())
        .stderr(Stdio::piped())
        .arg(r#"--"#)
        .arg(r#"-"#)
        .arg(&format!("{}", html))
        .spawn()
    {
        Err(why) => panic!("Couldn't spawn process: {}", why),
        Ok(process) => process
    };

    // Write stdout to string
    let mut sout = String::new();
    match process.stdout.unwrap().read_to_string(&mut sout) {
        Err(why) => panic!("Couldn't read process' stdout: {}", why),
        Ok(_) => {
            if sout.is_empty() {
                // Write stderr to string
                let mut serr = String::new();
                match process.stderr.unwrap().read_to_string(&mut serr) {
                    Err(why) => panic!("Couldn't read process' stderr: {}", why),
                    Ok(_) => {
                        return Err(serr);
                    }
                }
            } else {
                return Ok(sout);
            }
        }
    }
}// Copyright (c) The cargo-guppy Contributors
// SPDX-License-Identifier: MIT OR Apache-2.0

use guppy::{
    graph::feature::{FeatureLabel, FeatureSet},
    PackageId,
};

pub(super) fn assert_features_for_package(
    feature_set: &FeatureSet<'_>,
    package_id: &PackageId,
    expected: Option<&[FeatureLabel<'_>]>,
    msg: &str,
) {
    let actual = feature_set
        .features_for(package_id)
        .expect("valid package ID");

    assert_eq!(
        actual.as_ref().map(|list| list.labels()),
        expected,
        "{}: for package {}, features in feature set match",
        msg,
        package_id
    );
}
fn main() { let mut v = vec![42]; v[1] = 0; }
<filename>nnsplit/examples/cli.rs
use std::env;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    let lang = env::args().nth(1).unwrap();
    let text = env::args().nth(2).unwrap();

    let splitter = nnsplit::NNSplit::load(&lang, nnsplit::NNSplitOptions::default())?;

    let input: Vec<&str> = vec![&text]; // input can consist of multiple texts to allow parallelization
    let splits = &splitter.split(&input)[0];

    for sentence in splits.iter() {
        println


Value* v1 = gen.createLoad(params[0]);
        Value* v2 = gen.createLoad(params[1]);
        // v1->dump();
        // v2->dump();
        Value* res = gen.builder.CreateAdd(v1, v2);
        return res;
    }
    // 内置操作 -
    if (idname=="sub" X "Int" X "Int") {
        Value* v1 = gen.createLoad(params[0]);
        Value* v2 = gen.createLoad(params[1]);
        Value* res = gen.builder.CreateSub(v1, v2);
        return res;
    }
    // 内置操作 *
    if (idname=="mul" X "Int" X "Int") {
        Value* v1 = gen.createLoad(params[0]);
        Value* v2 = gen.createLoad(params[1]);
        Value* res = gen.builder.CreateMul(v1, v2);
        return res;
    }
    // 内置操作 /
    if (idname=="div" X "Int" X "Int") {
        Value* v1 = gen.createLoad(params[0]);
        Value* v2 = gen.createLoad(params[1]);
        Value* res = gen.builder.CreateSDiv(v1, v2);
        return res;
    }
    // 内置操作
    if (idname=="add" X "Float" X "Int") {
        Value *pv1 = gen.builder.CreateFPToSI(
            gen.createLoad(params[0]),
            gen.builder.getInt32Ty());
        Value* res = gen.builder.CreateAdd(
            pv1,
            gen.createLoad(params[1])
        );
        return res;
    }
    // 内置操作
    if (idname=="add" X "Int" X "Float") {
        Value *pv2 = gen.builder.CreateFPToSI(
            gen.createLoad(params[1]),
            gen.builder.getInt32Ty());
        Value* res = gen.builder.CreateAdd(
            gen.createLoad(params[0]),
            pv2
        );
        return res;
    }
    // 内置操作
    if (idname=="add" X "Float" X "Float") {
        Value* res = gen.builder.CreateFAdd(
            gen.createLoad(params[0]),
            gen.createLoad(params[1])
        );
        return gen.builder.CreateFPToSI(res, gen.builder.getInt32Ty());
    }

    // 条件判断
    if (idname=="eq" X "Int" X "Int") {
        return gen.builder.CreateICmpEQ(
            gen.createLoad(params[0]),
            gen.createLoad(params[1])
        );
    }

#ifdef DEBUG
    string llvmvn("ctmp."+fname);
#else
    string llvmvn(""); // release 版本显示函数返回值变量名
#endif

    // 内置函数
    if (idname == "putchar" X "Int") {
        idname = "putchar" X "Char"; // 统一输出 int 和 char
    }
    if (
        idname == "putchar" X "Char" ||
        idname == "abs" X "Int"
        // ... 其它内置函数
    ) {

        Function *func = gen.getCLibFunc(*fndef->ftype);

        // 解析参数
        std::vector<Value*> argvs;
        for (auto &p : params) {
            Value *val = gen.createLoad( p );
            argvs.push_back(val);
        }
        return gen.builder.CreateCall(func, argvs, llvmvn);
    }

#undef X

    // 获得函数
    Function *func = gen.createFunction(this


d by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------
Author: Hans Bihs
--------------------------------------------------------------------*/

#include"sediment_exner.h"
#include"lexer.h"
#include"ghostcell.h"
#include"sediment_fdm.h"
#include"topo_relax.h"
#include"sediment_fou.h"
#include"sediment_cds.h"
#include"sediment_cds_hj.h"
#include"sediment_wenoflux.h"
#include"sediment_weno_hj.h"
#include"sflow_bicgstab.h"
#include<math.h>

sediment_exner::sediment_exner(lexer* p, ghostcell* pgc) : q0(p),xvec(p),rhsvec(p),M(p),qbx(p),qby(p)
{
	if(p->S50==1)
	gcval_topo=151;

	if(p->S50==2)
	gcval_topo=152;

	if(p->S50==3)
	gcval_topo=153;

	if(p->S50==4)
	gcval_topo=154;

    rhosed=p->S22;
    rhowat=p->W1;
    g=9.81;
    d50=p->S20;

    Ls = p->S20;

    prelax = new topo_relax(p);

    if(p->S32==1)
    pdx = new sediment_fou(p);

    if(p->S32==2)
    pdx = new sediment_cds(p);

    if(p->S32==3)
    pdx = new sediment_cds_hj(p);

    if(p->S32==4)
    pdx = new sediment_wenoflux(p);

    if(p->S32==5)
    pdx = new sediment_weno_hj(p);

    psolv = new sflow_bicgstab(p,pgc);
}

sediment_exner::~sediment_exner()
{
}

void sediment_exner::start(lexer* p, ghostcell* pgc, sediment_fdm *s)
{
    // eq.
    if(p->S17==0)
    SLICELOOP4
    s->qb(i,j)=s->qbe(i,j);

    // non-eq.
    if(p->S17==1)
    non_equillibrium_solve(p,pgc,s);

    pgc->gcsl_start4(p,s->qb,1);

    // Exner
    if(p->S31==1)
    topovel1(p,pgc,s);

    if(p->S31==2)
    topovel2(p,pgc,s);

    // Bedch
    timestep(p,pgc,s);

	SLICELOOP4
    WETDRY
    s->bedzh(i,j) += p->dtsed*s->vz(i,j);

    SLICELOOP4
    s->dh(i,j)=s->vz(i,j);

	pgc->gcsl_start4(p,s->bedzh,1);
}

/*--------------------------------------------------------------------
REEF3D
Copyright 2008-2025 Hans Bihs

This file is part of REEF3D.

REEF3D is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.


 0x31	# (DIE (0xc7e) DW_TAG_subprogram)
			# DW_AT_external
	.long	.LASF2234	# DW_AT_name: "tuple"
	.byte	0x3	# DW_AT_decl_file (/usr/include/c++/15/tuple)
	.value	0x855	# DW_AT_decl_line
	.byte	0x11	# DW_AT_decl_column
	.long	.LASF2236	# DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
			# DW_AT_accessibility (0x1)
			# DW_AT_declaration
			# DW_AT_defaulted (0x1)
	.long	0xc93	# DW_AT_object_pointer
	.long	0xc9e	# DW_AT_sibling
	.uleb128 0x2	# (DIE (0xc93) DW_TAG_formal_parameter)
	.long	0x1dae	# DW_AT_type
			# DW_AT_artificial
	.uleb128 0x1	# (DIE (0xc98) DW_TAG_formal_parameter)
	.long	0x1dbd	# DW_AT_type
	.byte	0	# end of children of DIE 0xc7e
	.uleb128 0x1d	# (DIE (0xc9e) DW_TAG_subprogram)
			# DW_AT_external
	.long	.LASF2150	# DW_AT_name: "operator="
	.byte	0x3	# DW_AT_decl_file (/usr/include/c++/15/tuple)
	.value	0x91b	# DW_AT_decl_line
			# DW_AT_decl_column (0x7)
	.long	.LASF2237	# DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
	.long	0x1dc2	# DW_AT_type
			# DW_AT_accessibility (0x1)
			# DW_AT_declaration
	.long	0xcb6	# DW_AT_object_pointer
	.long	0xcc1	# DW_AT_sibling
	.uleb128 0x2	# (DIE (0xcb6) DW_TAG_formal_parameter)
	.long	0x1dae	# DW_AT_type
			# DW_AT_artificial
	.uleb128 0x1	# (DIE (0xcbb) DW_TAG_formal_parameter)
	.long	0xd31	# DW_AT_type
	.byte	0	# end of children of DIE 0xc9e
	.uleb128 0x1d	# (DIE (0xcc1) DW_TAG_subprogram)
			# DW_AT_external
	.long	.LASF2150	# DW_AT_name: "operator="
	.byte	0x3	# DW_AT_decl_file (/usr/include/c++/15/tuple)
	.value	0x926	# DW_AT_decl_line
			# DW_AT_decl_column (0x7)
	.long	.LASF2238	# DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSEOS4_"
	.long	0x1dc2	# DW_AT_type
			# DW_AT_accessibility (0x1)
			# DW_AT_declaration
	.long	0xcd9	# DW_AT_object_pointer
	.long	0xce4	# DW_AT_sibling
	.uleb128 0x2	# (DIE (0xcd9) DW_TAG_formal_parameter)
	.long	0x1dae	# DW_AT_type
			# DW_AT_artificial
	.ule


/*
 * Copyright (c) 2020, 2025, Oracle and/or its affiliates. All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */

// NOTE: Code generated by OracleSDKGenerator.
// DO NOT EDIT this file manually.

using System.Linq;
using Oci.Common.Waiters;
using Oci.ResourceanalyticsService.Models;
using Oci.ResourceanalyticsService.Requests;
using Oci.ResourceanalyticsService.Responses;

namespace Oci.ResourceanalyticsService
{
    /// <summary>
    /// Contains collection of helper methods to produce Oci.Common.Waiters for different resources of TenancyAttachment.
    /// </summary>
    public class TenancyAttachmentWaiters
    {
        private readonly TenancyAttachmentClient client;

        public  TenancyAttachmentWaiters(TenancyAttachmentClient client)
        {
            this.client = client;
        }

        /// <summary>
        /// Creates a waiter using default wait configuration.
        /// </summary>
        /// <param name="request">Request to send.</param>
        /// <param name="targetStates">Desired resource states. If multiple states are provided then the waiter will return once the resource reaches any of the provided states</param>
        /// <returns>a new Oci.common.Waiter instance</returns>
        public Waiter<GetTenancyAttachmentRequest, GetTe


veTo(17.52f, 22f, 22f, 17.52f, 22f, 12f)
                curveTo(22f, 6.48f, 17.52f, 2f, 12f, 2f)
                close()
                moveTo(8.99f, 14.12f)
                curveTo(9.5f, 14.12f, 10f, 13.93f, 10.39f, 13.59f)
                curveTo(10.7f, 13.32f, 11.18f, 13.35f, 11.45f, 13.66f)
                curveTo(11.72f, 13.97f, 11.69f, 14.45f, 11.38f, 14.72f)
                curveTo(10.72f, 15.3f, 9.87f, 15.62f, 8.99f, 15.62f)
                curveTo(6.99f, 15.62f, 5.37f, 14f, 5.37f, 12f)
                curveTo(5.37f, 10f, 6.99f, 8.38f, 8.99f, 8.38f)
                curveTo(9.87f, 8.38f, 10.71f, 8.7f, 11.38f, 9.28f)
                curveTo(11.69f, 9.55f, 11.72f, 10.03f, 11.45f, 10.34f)
                curveTo(11.18f, 10.65f, 10.7f, 10.68f, 10.39f, 10.41f)
                curveTo(10f, 10.07f, 9.5f, 9.88f, 8.99f, 9.88f)
                curveTo(7.82f, 9.88f, 6.87f, 10.83f, 6.87f, 12f)
                curveTo(6.87f, 13.17f, 7.82f, 14.12f, 8.99f, 14.12f)
                close()
                moveTo(15.99f, 14.12f)
                curveTo(16.5f, 14.12f, 17f, 13.93f, 17.39f, 13.59f)
                curveTo(17.7f, 13.32f, 18.18f, 13.35f, 18.45f, 13.66f)
                curveTo(18.72f, 13.97f, 18.69f, 14.45f, 18.38f, 14.72f)
                curveTo(17.72f, 15.3f, 16.87f, 15.62f, 15.99f, 15.62f)
                curveTo(13.99f, 15.62f, 12.37f, 14f, 12.37f, 12f)
                curveTo(12.37f, 10f, 13.99f, 8.38f, 15.99f, 8.38f)
                curveTo(16.87f, 8.38f, 17.71f, 8.7f, 18.38f, 9.28f)
                curveTo(18.69f, 9.55f, 18.72f, 10.03f, 18.45f, 10.34f)
                curveTo(18.18f, 10.65f, 17.7f, 10.68f, 17.39f, 10.41f)
                curveTo(17f, 10.07f, 16.51f, 9.88f, 15.99f, 9.88f)
                curveTo(14.82f, 9.88f, 13.87f, 10.83f, 13.87f, 12f)
                curveTo(13.87f, 13.17f, 14.82f, 14.12f, 15.99f, 14.12f)
                close()
            }
        }.build()

        return _CreativeCommons!!
    }

@Suppress("ObjectPropertyName")
private var _CreativeCommons: ImageVector? = null
/*
 *
 *  * Copyright (c) 2025, Рабeх Аззам
 *  *
 *  * This file is part of Iconsax Compose.
 *  *
 *  * Iconsax Compose is free software: you can redistribute it and/or modify
 *  * it under the terms of the GNU General Public License as published by
 *  * the Free Software Foundation, either version 3 of the License, or
 *  * (at your option) any later version.
 *  *
 *  * Iconsax Compose is distributed in the hope that it will be useful,
 *  * but WITHOUT ANY WARRANTY; without even the implied warranty


.widget_product_categories ul li span.count,
	.portfolio-filters-list .widget_layered_nav ul li span.count {
		margin-left: 45px;
	}
}
.portfolio-filters-list.hide-filter-counts .widget_layered_nav ul li span.count {
	display: none;
}
.portfolio-filters-list.categories-widget-collapsible:not(.collapse-inited) .cat-parent:not(.current-cat-parent, .current-cat) > ul {
	display: none;
}
.portfolio-filters-list .widget_product_categories ul li .filters-collapsible-arrow {
	padding: 2px;
	margin-left: 6px;
	transform: translateY(0.1em);
	cursor: pointer;
}
.portfolio-filters-list .widget_product_categories ul li .filters-collapsible-arrow:before {
	display: block;
	content: '\e602';
	font-style: normal;
	font-family: "thegem-icons";
	font-weight: normal;
	-webkit-font-smoothing: initial;
}
.portfolio-filters-list .widget_product_categories ul li .filters-collapsible-arrow:hover {
	color: #FFFFFF;
	background-color: var(--thegem-to-widget-hover-link_color, #00BCD4);
}
.portfolio-filters-list .widget_product_categories ul li:not(.collapsed) > .filters-collapsible-arrow {
	transform: translateY(0.1em) rotate(180deg);
	color: #FFFFFF;
	background-color: var(--thegem-to-widget-hover-link_color, #00BCD4);
}
.portfolio-filters-list .widget_product_categories ul li ul,
.portfolio-filters-list .widget_layered_nav ul li ul {
	padding: 0 0 0 20px;
	background: transparent;
	width: 100%;
}
.portfolio-filters-list .widget_product_categories ul li.current-cat > span.count,
.portfolio-filters-list .widget_layered_nav ul li.chosen span.count {
	color: #FFFFFF;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider {
	position: relative;
	border: none;
	height: 4px;
	width: 90%;
	margin: 20px auto 30px auto;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider .ui-slider-range {
	position: absolute;
	top: 0;
	height: 100%;
	z-index: 1;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider .ui-slider-handle {
	position: absolute;
	width: 14px;
	height: 14px;
	top: 50%;
	transform: translate(-50%, -50%);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	margin: 0;
	z-index: 2;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider .ui-slider-handle:focus {
	outline: none;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider .ui-slider-handle + span:focus {
	outline: none;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider_amount {
	padding: 0;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider_amount input,
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .price_slider_amount button {
	display: none;
}
.portfolio-filters-list .widget_price_filter .price_slider_wrapper .


WPos origin, Angle direction, float lenFront, float lenBack, float halfWidth, uint color)
        => Zone(_triCache[(8, origin, direction, lenFront, lenBack, halfWidth)] ??= Bounds.ClipAndTriangulateRect(origin - Center, direction, lenFront, lenBack, halfWidth), color);
    public void ZoneRect(WPos start, WPos end, float halfWidth, uint color)
        => Zone(_triCache[(9, start, end, halfWidth)] ??= Bounds.ClipAndTriangulateRect(start - Center, end - Center, halfWidth), color);
    public void ZoneComplex(WPos origin, Angle direction, RelSimplifiedComplexPolygon poly, uint color)
        => Zone(_triCache[(10, origin, direction, poly)] ?? Bounds.ClipAndTriangulate(poly.Transform(origin - Center, direction.ToDirection())), color);
    public void ZonePoly(object key, IEnumerable<WPos> contour, uint color)
        => Zone(_triCache[(11, key)] ??= Bounds.ClipAndTriangulate(contour.Select(p => p - Center)), color);
    public void ZoneRelPoly(object key, IEnumerable<WDir> relContour, uint color)
        => Zone(_triCache[(12, key)] ??= Bounds.ClipAndTriangulate(relContour), color);

    public void TextScreen(Vector2 center, string text, uint color, float fontSize = 17)
    {
        var size = ImGui.CalcTextSize(text) * Config.ArenaScale;
        ImGui.GetWindowDrawList().AddText(ImGui.GetFont(), fontSize * Config.ArenaScale, center - size / 2, color, text);
    }

    public void TextWorld(WPos center, string text, uint color, float fontSize = 17)
    {
        TextScreen(WorldPositionToScreenPosition(center), text, color, fontSize);
    }

    // high level utilities
    // draw arena border
    public void Border(uint color)
    {
        var dl = ImGui.GetWindowDrawList();
        foreach (var p in Bounds.ShapeSimplified.Parts)
        {
            foreach (var off in p.Exterior)
                dl.PathLineTo(ScreenCenter + WorldOffsetToScreenOffset(off));
            dl.PathStroke(color, ImDrawFlags.Closed, 2);

            foreach (var i in p.Holes)
            {
                foreach (var off in p.Interior(i))
                    dl.PathLineTo(ScreenCenter + WorldOffsetToScreenOffset(off));
                dl.PathStroke(color, ImDrawFlags.Closed, 2);
            }
        }
    }

    public void CardinalNames()
    {
        var offCenter = ScreenHalfSize + ScreenMarginSize / 2;
        var offS = RotatedCoords(new(0, offCenter));
        var offE = RotatedCoords(new(offCenter, 0));
        TextScreen(ScreenCenter - offS, "N", ArenaColor.Border, Confi


Ship = findTF(slot2.tf, "icon"):GetComponent("Image")
	slot2.countTxt = findTF(slot2.tf, "count"):GetComponent(typeof(Text))
	slot2.seleted = findTF(slot2.tf, "selected")
	slot2.maskLock = findTF(slot2.tf, "state/mask_lock")
	slot2.maskDev = findTF(slot2.tf, "state/mask_dev")
	slot2.tip = findTF(slot2.tf, "tip")
	slot2.iconTF = findTF(slot2.tf, "icon")
	slot2.toggle = slot2.tf:GetComponent("Toggle")
	slot2.lvTF = findTF(slot2.tf, "dev_lv")
	slot2.lvTextTF = findTF(slot2.tf, "dev_lv/Text")

	function slot2.update(slot0, slot1, slot2)
		slot0.toggle.enabled = slot1.id > 0
		slot0.shipBluePrintVO = slot1

		if slot0.shipBluePrintVO.id < 0 then
			setActive(slot0.seleted, false)
			setActive(slot0.maskLock, false)
			setActive(slot0.maskDev, false)
			setActive(slot0.tip, false)
			setActive(slot0.lvTF, false)
			setActive(slot0.countTxt, false)
			LoadSpriteAsync("shipdesignicon/empty", function (slot0)
				if uv0.shipBluePrintVO.id < 0 then
					uv0.iconShip.sprite = slot0
				end
			end)
			print("asdfasdfasdf===============================")
		else
			LoadSpriteAsync("shipdesignicon/" .. slot0.shipBluePrintVO:getShipVO():getPainting(), function (slot0)
				if uv0.shipBluePrintVO.id > 0 and string.find(slot0.name, uv1) then
					uv0.iconShip.sprite = slot0
				end
			end)

			if slot2.count > 999 then
				uv0.countTxt.text = "999+"
			else
				uv0.countTxt.text = slot2.count
			end

			setText(slot0.lvTextTF, slot0.shipBluePrintVO.level)
			setActive(slot0.seleted, false)
			setActive(slot0.countTxt, true)
			setActive(slot0.maskLock, slot1:isLock())
			setActive(slot0.maskDev, slot1:isDeving())
			setActive(slot0.tip, slot1:isFinished())
			setActive(slot0.lvTF, not slot1:isLock() and not slot1:isDeving())
		end
	end

	function slot2.updateSelectedStyle(slot0, slot1)
		LeanTween.moveY(slot0.iconTF, slot1 and 0 or -25, 0.1)
	end

	return slot2
end

function slot0.initShips(slot0)
	slot0:checkStory()
	slot0:filterBlueprints()

	if not slot0.itemList then
		slot0.bluePrintItems = {}
		slot0.itemList = UIItemList.New(slot0.shipContainer, slot0.shipTpl)

		slot0.itemList:make(function (slot0, slot1, slot2)
			if slot0 == UIItemList.EventInit then
				uv0.bluePrintItems[slot2] = uv0:createShipItem(slot2)

				onToggle(uv0, slot2, function (slot0)
					if slot0 then
						uv0:clearLeanTween()

						uv0.contextData.shipBluePrintVO = uv0.bluePrintItems[uv1].shipBluePrintVO

						function slot1()
							uv0:setSelectedBluePrint()

							uv0.nowShipId = uv0.contextData.shipBluePrintVO.id
						end

						if uv0.inFlag then
							if uv0.nowShipId ~= uv0.contextData.shipBluePrintVO.id then
								uv0:switchUI(0.3, false, false, f


和先进个人颁发奖旗和奖状。

   9月13日至10月1日  石家庄市工业展览会在第一工人文化宫展出，展览反映了全市工人阶级在学大庆、赶开滦运动中大搞技术革新和技术改造所取得的成果。

   10月10日至13日  市战备领导小组召开全市人防战备工作会议。市委书记张铄传达毛主席关于人防、城防工作指示和全国人防、城防座谈会议《纪要》以及旅大市人防、城防工作经验。本着打防结合、平战结合的原则，进一步搞好人防。各单位根据市战备领导小组关于人防、城防相结合建设的要求。结合本单位实际，先后修建了一批民兵、人防专业队营、连打防支撑点，明碉暗堡和地道工事。

   10月23日  市委、市革委在石家庄剧场召开计划生育工作会议，市委副书记李如双主持会议，市革委副主任石振魁作总结报告。

   10月23日至30日  市委三届十三次全委(扩大)会议召开。市委委员、候补委员、市革委委员、市委、市革委各部、室、委办负责同志、市武装部、工、青、妇组织负责人、各区、局党委常委、各基层单位主要领导1480人参加会议。

   会议中心内容是传达学习毛主席关于，“无产阶级文化大革命，已经八年，现在以安定、团结为好。全党、全军要团结。”的指示；传达中央[1974]26号文件(关于召开四届人大)和省委负责同志讲话；传达中央抓革命促生产会议精神和省学大庆赶开滦经验交流会精神。

   在学习讨论中，与会同志认为，人心、党心、军心要求安定团结，毛主席的指示反映了客观形势要求，表达了全党、全军、全国人民的愿望，对进一步发展“大好形势”产生深远影响。与会同志还谈到，落实毛主席关于安定、团结的指示，必须进一步落实政策，政策落实了，才能加强�


by copyright and other intellectual property laws.
 *
 * You may use this code under the terms of the Explyt Source License Version 1.0 ("License"), if you accept its terms and conditions.
 *
 * By installing, downloading, accessing, using, or distributing this code, you agree to the terms and conditions of the License.
 * If you do not agree to such terms and conditions, you must cease using this code and immediately delete all copies of it.
 *
 * You may obtain a copy of the License at: https://github.com/explyt/spring-plugin/blob/main/EXPLYT-SOURCE-LICENSE.md
 *
 * Unauthorized use of this code constitutes a violation of intellectual property rights and may result in legal action.
 */

package com.explyt.spring.test

import com.intellij.codeInspection.GlobalInspectionTool
import com.intellij.codeInspection.LocalInspectionTool
import com.intellij.openapi.module.Module
import com.intellij.openapi.projectRoots.JavaSdk
import com.intellij.openapi.projectRoots.Sdk
import com.intellij.openapi.roots.ContentEntry
import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.pom.java.LanguageLevel
import com.intellij.testFramework.IdeaTestUtil
import com.intellij.testFramework.JavaInspectionTestCase
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.TestDataPath

private const val TEST_DATA_PATH = "testdata/inspection/"

@TestDataPath("\$CONTENT_ROOT/../../$TEST_DATA_PATH")
abstract class ExplytInspectionBaseTestCase : JavaInspectionTestCase() {

    open val languageLevel = LanguageLevel.JDK_21

    open val libraries: Array<TestLibrary> = arrayOf()

    open val realJdk: Boolean = false

    override fun getProjectDescriptor(): LightProjectDescriptor {
        return ExplytProjectDescriptor()
    }

    fun doTest(tool: GlobalInspectionTool) {
        doTest(getTestName(true), tool)
    }

    fun doTest(tool: LocalInspectionTool) {
        doTest(getTestName(true), tool)
    }

    override fun getTestDataPath(): String {
        return TEST_DATA_PATH
    }

    protected inner class ExplytProjectDescriptor : ProjectDescriptor(languageLevel) {

        override fun getSdk(): Sdk? {
            return if (realJdk) {
                JavaSdk.getInstance().createJdk("TEST_JDK", IdeaTestUtil.requireRealJdkHome(), false)
            } else {
                super.getSdk()
            }
        }

        override fun configureModule(module: Module, model: ModifiableRootModel, contentEntry: ContentEntry) {
            super.configureModule(module, model, contentEntry)

            libraries.forEach {
                addFromMaven(model, it.mavenCoordinates, it.includeTransitiveDependencies)
            }
        }
    }
}/*
 * Copyright © 2025 Explyt Ltd
 *
 * All rights reserved.
 *
 * This code and software are the property of Explyt Ltd and are protected by copyright and other intellectual property laws.
 *
 * You may use this code under the terms of the Explyt Source License Version 1.0 ("License"), if you accept its terms and conditions.
 *
 * By installing, downloading, accessing, using, or distributing this code, you agree to the terms and conditions of the License.
 * If you do not agree to such terms and conditions, you must cease using this code and immediately delete all copies of it.
 *
 * You may obtain a copy of the License at: https://github.com/explyt/spring-plugin/blob/main/EXPLYT-SOURCE-LICENSE.md
 *
 * Unauthorized use of this code constitutes a violation of intellectual property rights and may result in legal action.
 */

package com.explyt.spring.ai.provider

import com.explyt.linemarker.SpringMarkerInfo
import com.explyt.spring.ai.SpringAiBundle


 value;
    },
    onValidated(value) {
      this.valid = value;
    },
  },
});

window.Vue.config.productionTip = false;

/* eslint-disable no-new */
new window.Vue({
  el: '#app',
  template: '<example-one />',
});
import {
  VFJS_EVENT_FIELD_MODEL_CLEAR_HIDDEN,
  VFJS_EVENT_FIELD_MODEL_UPDATE,
  VFJS_EVENT_FIELD_MODEL_VALIDATE,
  VFJS_EVENT_FIELD_MODELS_VALIDATE,
  VFJS_EVENT_FIELD_STATE_UPDATE,
  VFJS_EVENT_MODEL_UPDATE,
  VFJS_EVENT_MODEL_UPDATED,
  VFJS_EVENT_MODEL_VALIDATE,
  VFJS_EVENT_STATE_UPDATE,
  VFJS_EVENT_STATE_UPDATED,
  VFJS_EVENT_UI_FIELDS_UPDATE,
} from '../constants';

const data = () => ({
  vfjsBus: {},
  vfjsEvents: [
    VFJS_EVENT_FIELD_MODEL_CLEAR_HIDDEN,
    VFJS_EVENT_FIELD_MODEL_UPDATE,
    VFJS_EVENT_FIELD_MODEL_VALIDATE,
    VFJS_EVENT_FIELD_MODELS_VALIDATE,
    VFJS_EVENT_FIELD_STATE_UPDATE,
    VFJS_EVENT_MODEL_UPDATE,
    VFJS_EVENT_MODEL_UPDATED,
    VFJS_EVENT_MODEL_VALIDATE,
    VFJS_EVENT_STATE_UPDATE,
    VFJS_EVENT_STATE_UPDATED,
    VFJS_EVENT_UI_FIELDS_UPDATE,
  ],
  vfjsFields: [],
  vfjsFieldsActive: [],
  vfjsFieldsActiveModels: [],
  vfjsFieldsRequired: [],
  vfjsModel: {},
  vfjsOptions: {
    ajv: {
      keywords: {},
      locale: null,
      options: {
        allErrors: true,
      },
    },
    allowInvalidModel: true,
    castToSchemaType: false,
    componentProperties: {
      attrs: {
        // Components which support the 'checked' attribute
        checked: [
          {
            component: 'input',
            attrs: {
              type: 'checkbox',
            },
          },
          {
            component: 'input',
            attrs: {
              type: 'radio',
            },
          },
        ],
        // Components which support the 'required' attribute
        required: ['input', 'select', 'textarea'],
        // Components which support the 'value' attribute
        value: ['input', 'option', 'textarea'],
      },
      domProps: {
        // Components which should have its DOM property 'checked' updated
        checked: [
          {
            component: 'input',
            attrs: {
              type: 'checkbox',
            },
          },
          {
            component: 'input',
            attrs: {
              type: 'radio',
            },
          },
        ],
        // Components which should have its DOM property 'required' updated
        required: ['input', 'select', 'textarea'],
        // Components which should have its DOM property 'value' updated
        value: ['input', 'textarea'],
      },
      props: {
        // Components which support the 'required' prop
        required: [],
      },
      // Components which has their value within the tags
      innerHTML: ['textarea'],
    },
    showValidationErrors: false,
    validate: true,
    validateOnLoad: true,
    validateOnChange: true,
    valueProp: 'value',
    eventProp: 'value',
  },
  vfjsSchema: {},
  vfjsState: {},
  vfjsUiSchema: [],
});

export default data;
import { merge } from 'lodash';

const computed = {
  vfjsComputedFieldHasErrors() {
    const { vfjsFieldErrors } = this.vfjsFieldState;

    return vfjsFieldErrors && vfjsFieldErrors.length > 0;
  },
  vfjsComputedShowFieldErrors() {
    const { vfjsFieldDirty, vfjsFieldBlur


, t)

	job := srv.Eng.Job("containers")
	job.SetenvBool("all", true)
	outs, err := job.Stdout.AddListTable()
	if err != nil {
		t.Fatal(err)
	}
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	if len(outs.Data) != 1 {
		t.Errorf("Expected 1 container, %v found", len(outs.Data))
	}

	job = eng.Job("start", id)
	if err := job.ImportEnv(hostConfig); err != nil {
		t.Fatal(err)
	}
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	job = eng.Job("restart", id)
	job.SetenvInt("t", 15)
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	job = eng.Job("stop", id)
	job.SetenvInt("t", 15)
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	job = eng.Job("start", id)
	if err := job.ImportEnv(hostConfig); err != nil {
		t.Fatal(err)
	}
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	if err := eng.Job("kill", id).Run(); err != nil {
		t.Fatal(err)
	}

	// FIXME: this failed once with a race condition ("Unable to remove filesystem for xxx: directory not empty")
	job = eng.Job("delete", id)
	job.SetenvBool("removeVolume", true)
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	job = srv.Eng.Job("containers")
	job.SetenvBool("all", true)
	outs, err = job.Stdout.AddListTable()
	if err != nil {
		t.Fatal(err)
	}
	if err := job.Run(); err != nil {
		t.Fatal(err)
	}

	if len(outs.Data) != 0 {
		t.Errorf("Expected 0 container, %v found", len(outs.Data))
	}
}

func TestRunWithTooLowMemoryLimit(t *testing.T) {
	eng := NewTestEngine(t)
	defer mkDaemonFromEngine(eng, t).Nuke()

	// Try to create a container with a memory limit of 1 byte less than the minimum allowed limit.
	job := eng.Job("create")
	job.Setenv("Image", unitTestImageID)
	job.Setenv("Memory", "524287")
	job.Setenv("CpuShares", "1000")
	job.SetenvList("Cmd", []string{"/bin/cat"})
	if err := job.Run(); err == nil {
		t.Errorf("Memory limit is smaller than the allowed limit. Container creation should've failed!")
	}
}

func TestImagesFilter(t *testing.T) {
	eng := NewTestEngine(t)
	defer nuke(mkDaemonFromEngine(eng, t))

	if err := eng.Job("tag", unitTestImageName, "utest", "tag1").Run(); err != nil {
		t.Fatal(err)
	}

	if err := eng.Job("tag", unitTestImageName, "utest/docker", "tag2").Run(); err != nil {
		t.Fatal(err)
	}

	if err := eng.Job("tag", unitTestImageName, "utest:5000/docker", "tag3").Run(); err != nil {
		t.Fatal(err)
	}

	images := getImages(eng, t, false, "utest*/*")

	if len(images.Data[0].GetList("RepoTags")) != 2 {
		t.Fatal("incorrect number of matches returned")
	}

	images = getImages(eng, t, false, "utest")

	if len(images.Data[0].GetList("RepoTags")) != 1 {
		t.Fatal("incorrect number of m


          MaterialButton(
              color: Colors.grey,
              onPressed: requestPermission,
              child: Text(
                '相机',
                style: TextStyle(
                  fontSize: 19,
                ),
              ),
            ),
            MaterialButton(
              color: Colors.grey,
              onPressed: selectFromAlbum,
              child: Text(
                '相册',
                style: TextStyle(
                  fontSize: 19,
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

  bool isGranted = false;
  String picUrl = '';

  void requestPermission() {
    WBPermission().requestPermission({
      'pageName': '#FairKey#',
      'args': {
        'type': 'Permission_Photo',
        'Granted': (resp) {
          isGranted = true;
          takePhoto();
        },
        'Restricted': (resp) {
          isGranted = false;
          takePhoto();
        },
      }
    });
  }

  void selectFromAlbum() {
    FairPhotoSelector().getPhoto({
      'pageName': '#FairKey#',
      'args': {
        'type': 'album',
        'success': (resp) {
          picUrl = resp;
          setState(() {});
        },
        'failure': () {
          //用户获取图片失败
        },
      }
    });
  }

  void takePhoto() {
    FairPhotoSelector().getPhoto({
      'pageName': '#FairKey#',
      'args': {
        'type': 'photo',
        'success': (resp) {
          picUrl = resp;
          setState(() {});
        },
        'failure': () {
          //用户获取图片失败
        },
      }
    });
  }
}
// This file is generated by Fair, do not edit manually!
// Updated on 2021-10-27 19:21:56.207621

const fairVersion = '3.0.0';
const flutterVersion = '3.0.5';
const dartVersion = '2.17.6';
const widgetCount = 358;
const apiCount = 212;
const widgetNames = {
  'SingleChildScrollView': true,
  'AnimatedContainer': true,
  'AnimatedPadding': true,
  'AnimatedAlign': true,
  'AnimatedPositioned': true,
  'AnimatedPositionedDirectional': true,
  'AnimatedScale': true,
  'AnimatedRotation': true,
  'AnimatedSlide': true,
  'AnimatedOpacity': true,
  'SliverAnimatedOpacity': true,
  'AnimatedDefaultTextStyle': true,
  'AnimatedPhysicalModel': true,
  'AnimatedCrossFade': true,
  'CrossFadeState': false,
  'GridPaper': true,
  'TweenAnimationBuilder': true,
  'DefaultTextEditingShortcuts': true,
  'SlideTransition': true,
  'ScaleTransition': true,
  'RotationTransition': true,
  'SizeTransition': true,
  'FadeTransition': true,
  'SliverFadeTransition': true,
  'PositionedTransition': true,
  'RelativePositionedTransition': true,
  'DecoratedBoxTransition': true,
  'AlignTransition': true,
  'DefaultTextStyleTransition': true,
  'AnimatedBuilder': true,
  'SliverPersistentHeader': true,
  'PageStorage': true,
  'Router': true,
  'BackButtonListener': true,
  'FocusTrap': true,
  'FocusTrapArea': true,
  'Directionality': true,
  'Opacity': true,
  'ShaderMask': true,
  'BackdropFilter': true,
  'CustomPaint': true,
  'ClipRect': true,
  'ClipRRect': true,
  'ClipOval': true,
  'ClipPath': true,
  'PhysicalModel': true,
  'PhysicalShape': true,
  'Transform': true,
  'Com


racter::complete::char, character::complete::one_of, combinator::all_consuming,
        combinator::map, multi::many1, IResult,
    };
    use std::collections::VecDeque;
    use std::io::BufRead;

    pub fn cup(input: &str) -> IResult<&str, u8> {
        let (input, cup) = map(one_of("0123456789"), |c| c.to_digit(10).unwrap())(input)?;
        Ok((input, cup as u8))
    }

    pub fn cups(input: &str) -> IResult<&str, VecDeque<u8>> {
        let (input, cups) = many1(cup)(input)?;
        let (input, _) = char('\n')(input)?;
        Ok((input, cups.into_iter().collect()))
    }

    pub fn allinput(input: &str) -> IResult<&str, VecDeque<u8>> {
        all_consuming(cups)(input)
    }

    pub fn parse(mut bufin: impl BufRead) -> Result<VecDeque<u8>> {
        let mut input = String::default();
        bufin.read_to_string(&mut input)?;
        Ok(allinput(&input)
            .map_err(|e| anyhow!("error reading input: {:?}", e))?
            .1)
    }
}

pub fn domove(cups: &mut VecDeque<u8>, icurr: &mut usize) {
    let mut removed = vec![];
    cups.rotate_left(*icurr);
    *icurr = 0;
    for _ in 0..3 {
        removed.push(cups.remove(1).unwrap());
    }
    let vmin = *cups.iter().min().unwrap();
    let mut vdest = cups[*icurr] - 1;
    while !cups.contains(&vdest) {
        if vdest > 0 {
            vdest -= 1;
        }
        if vdest < vmin {
            vdest = *cups.iter().max().unwrap();
        }
    }
    while cups[0] != vdest {
        cups.rotate_right(1);
        *icurr = (*icurr + 1) % cups.len();
    }
    for i in 0..3 {
        cups.insert(1, removed[2 - i]);
        *icurr += 1;
    }
    *icurr = (*icurr + 1) % cups.len();
}

pub fn domoves(cups: &mut VecDeque<u8>, icurr: &mut usize, num: usize) {
    for _ in 0..num {
        domove(cups, icurr);
    }
}

pub fn toresp(cups0: &VecDeque<u8>) -> String {
    let mut cups = cups0.clone();
    while cups[0] != 1 {
        cups.rotate_left(1);
    }
    cups.pop_front();
    cups.iter().map(|v| format!("{}", v)).collect::<String>()
}

// Process, etc //

fn process(bufin: impl BufRead) -> Result<String> {
    let mut cups = parser::parse(bufin)?;
    let mut icurr = 0;
    domoves(&mut cups, &mut icurr, 100);
    Ok(toresp(&cups))
}

#[test]
fn test0() -> Result<()> {
    eprintln!();
    let input: &[u8] = b"389125467\n";
    let mut cups = parser::parse(input)?;
    let mut icurr = 0;
    domoves(&mut cups, &mut icurr, 10);
    assert_eq!(toresp(&cups), "92658374");
    Ok(())
}

#[test]
fn test1() -> Result<()> {
    eprintln!();
    let input: &[u8] = b"389125467\n";
    let mut cups = parser::parse(input)?;
    let mut icurr = 0;
    domoves(&mut cups, &mut icurr, 100);
    assert_eq!(process(input)?, "67384529");
    Ok(())
}

#[test]
fn test2() -> Result<()> {
    eprintln!();
    let input: &[u8] = b"38912


fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12.442 20.876A13 13 0 0 1 12 21A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3a12 12 0 0 0 8.5 3a12 12 0 0 1 .119 6.336M19 22v-6m3 3l-3-3l-3 3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-tabler\:shield-x{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.252 20.601q-.613.233-1.252.399A12 12 0 0 1 3.5 6A12 12 0 0 0 12 3a12 12 0 0 0 8.5 3a12 12 0 0 1-.19 7.357M22 22l-5-5m0 5l5-5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-tabler\:ship{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 20a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2-1a2.4 2.4 0 0 1 2-1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2-1a2.4 2.4 0 0 1 2-1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2-1M4 18l-1-5h18l-2 4M5 13V7h8l4 6M7 7V3H6'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em}.i-tabler\:ship-off{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 20a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2-1a2.4 2.4 0 0 1 2-1a2.4 2.4 0 0 1 2 1a2.4 2.4 0 0 0 2 1a2.4 2.4 0 0 0 2-1a2.4 2.4 0 0 1 2-1a2.4 2.4


numeric', second: 'numeric' };",
                "new Intl.DateTimeFormat('ar', options).format(date)");
    }

    /**
     * @throws Exception if the test fails
     */
    @Test
    @Alerts(CHROME = "Friday, December 20, 2013 at UTC",
            EDGE = "Friday, December 20, 2013 at UTC",
            FF = "Friday, December 20, 2013 at UTC",
            FF_ESR = "Friday, December 20, 2013 at UTC")
    @HtmlUnitNYI(CHROME = "12/20/2013",
            EDGE = "12/20/2013",
            FF = "12/20/2013",
            FF_ESR = "12/20/2013")
    public void format_utc_short() throws Exception {
        test("var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };",
                "options.timeZone = 'UTC';",
                "options.timeZoneName = 'short';",
                "new Intl.DateTimeFormat('en-US', options).format(date)");
    }

    /**
     * @throws Exception if the test fails
     */
    @Test
    @Alerts("2:00:00 am GMT-5")
    @BuggyWebDriver(FF = "8:00:00 am GMT+1", FF_ESR = "8:00:00 am GMT+1")
    @HtmlUnitNYI(CHROME = "20/12/2013",
            EDGE = "20/12/2013",
            FF = "20/12/2013",
            FF_ESR = "20/12/2013")
    public void format_detailed() throws Exception {
        test("options = {",
                " hour: 'numeric', minute: 'numeric', second: 'numeric',",
                " timeZoneName: 'short'",
                "};",
                "new Intl.DateTimeFormat('en-AU', options).format(date)");
    }

    /**
     * @throws Exception if the test fails
     */
    @Test
    @Alerts("12/20/2013, 02:00:00")
    @BuggyWebDriver(FF = "12/20/2013, 08:00:00", FF_ESR = "12/20/2013, 08:00:00")
    @HtmlUnitNYI(CHROME = "12/20/2013",
            EDGE = "12/20/2013",
            FF = "12/20/2013",
            FF_ESR = "12/20/2013")
    public void format_detailed_24h() throws Exception {
        test("var options = {",
                " year: 'numeric', month: 'numeric', day: 'numeric',",
                " hour: 'numeric', minute: 'numeric', second: 'numeric',",
                " hour12: false",
                "};",
                "new Intl.DateTimeFormat('en-US', options).format(date)");
    }

    /**
     * @throws Exception if the test fails
     */
    @Test
    @Alerts("20\u200f/12\u200f/2013")
    @HtmlUnitNYI(CHROME = "\u0662\u0660\u200f/\u0661\u0662\u200f/\u0662\u0660\u0661\u0663",
            EDGE = "\u0662\u0660\u200f/\u0661\u0662\u200f/\u0662\u0660\u0661\u0663",
            FF = "\u0662\u0660\u200f/\u0661\u0662\u200f/\u0662\u0660\u0661\u0663",
            FF_ESR = "\u0662\u0660\u200f/\u0661\u0662\u200f/\u0662\u0660\u0661\u0663")
    public void format_ar() throws Exception {


client so it can learn when the files were
    // updated. The WebpackDevServer client is included as an entry point
    // in the webpack development configuration. Note that only changes
    // to CSS are currently hot reloaded. JS changes will refresh the browser.
    hot: true,
    // Use 'ws' instead of 'sockjs-node' on server since we're using native
    // websockets in `webpackHotDevClient`.
    transportMode: 'ws',
    // Prevent a WS client from getting injected as we're already including
    // `webpackHotDevClient`.
    injectClient: false,
    // Enable custom sockjs pathname for websocket connection to hot reloading server.
    // Enable custom sockjs hostname, pathname and port for websocket connection
    // to hot reloading server.
    sockHost,
    sockPath,
    sockPort,
    // It is important to tell WebpackDevServer to use the same "publicPath" path as
    // we specified in the webpack config. When homepage is '.', default to serving
    // from the root.
    // remove last slash so user can land on `/test` instead of `/test/`
    publicPath: paths.publicUrlOrPath.slice(0, -1),
    // WebpackDevServer is noisy by default so we emit custom message instead
    // by listening to the compiler events with `compiler.hooks[...].tap` calls above.
    quiet: true,
    // Reportedly, this avoids CPU overload on some systems.
    // https://github.com/facebook/create-react-app/issues/293
    // src/node_modules is not ignored to support absolute imports
    // https://github.com/facebook/create-react-app/issues/1065
    watchOptions: {
      ignored: ignoredFiles(paths.appSrc),
    },
    https: getHttpsConfig(),
    host,
    overlay: false,
    historyApiFallback: {
      // Paths with dots should still use the history fallback.
      // See https://github.com/facebook/create-react-app/issues/387.
      disableDotRule: true,
      index: paths.publicUrlOrPath,
    },
    public: allowedHost,
    // `proxy` is run between `before` and `after` `webpack-dev-server` hooks
    proxy,
    before(app, server) {
      // Keep `evalSourceMapMiddleware` and `errorOverlayMiddleware`
      // middlewares before `redirectServedPath` otherwise will not have any effect
      // This lets us fetch source contents from webpack for the error overlay
      app.use(evalSourceMapMiddleware(server));
      // This lets us open files from the runtime error overlay.
      app.use(errorOverlayMiddleware());

      if (fs.existsSync(paths.proxySetup)) {
        // This registers user provided middleware for proxy reasons
        require(paths.proxySetup)(app);
      }
    },
    after(app) {
      // Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match
      app.use(redirectServedPath(paths.publicUrlOrPath));

      // This service worker file is effectively a 'no-op' that will reset any
      // previous service worker registered for the same host:port combination.
      // We do this in development to avoid hitting the production cache if
      // it used the same host and port.
      // https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432
      app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath));
    },
  };
};

const fs = require('fs');
const path = require('path');
const paths = require('./paths');
const chalk = require('react-dev-utils/chalk');
const resolve = require('resolve');

/**
 * Get additional module paths based on the baseUrl of a compilerOptions object.
 *
 * @param {Object} options
 */
function getAdditionalModulePaths(options = {}) {
  const baseUrl = options.baseUrl;

  if (!baseUrl) {
    return '';
  }

  const baseUrlResolved = path.resolve(paths.appPath, baseUrl);

  // We don't need to do anything if `baseUrl` is set to `node


from supervision.assets.downloader import download_assets
from supervision.assets.list import VideoAssets


getCanonicalID(id, canonicalID, isSystemID, status);
    if (U_FAILURE(status) || !isSystemID) {
        // mapping data is only applicable to tz database IDs
        if (status == U_ILLEGAL_ARGUMENT_ERROR) {
            // getWindowsID() sets an empty string where
            // getCanonicalID() sets a U_ILLEGAL_ARGUMENT_ERROR.
            status = U_ZERO_ERROR;
        }
        return winid;
    }

    UResourceBundle *mapTimezones = ures_openDirect(NULL, "windowsZones", &status);
    ures_getByKey(mapTimezones, "mapTimezones", mapTimezones, &status);

    if (U_FAILURE(status)) {
        return winid;
    }

    UResourceBundle *winzone = NULL;
    UBool found = FALSE;
    while (ures_hasNext(mapTimezones) && !found) {
        winzone = ures_getNextResource(mapTimezones, winzone, &status);
        if (U_FAILURE(status)) {
            break;
        }
        if (ures_getType(winzone) != URES_TABLE) {
            continue;
        }
        UResourceBundle *regionalData = NULL;
        while (ures_hasNext(winzone) && !found) {
            regionalData = ures_getNextResource(winzone, regionalData, &status);
            if (U_FAILURE(status)) {
                break;
            }
            if (ures_getType(regionalData) != URES_STRING) {
                continue;
            }
            int32_t len;
            const UChar *tzids = ures_getString(regionalData, &len, &status);
            if (U_FAILURE(status)) {
                break;
            }

            const UChar *start = tzids;
            UBool hasNext = TRUE;
            while (hasNext) {
                const UChar *end = u_strchr(start, (UChar)0x20);
                if (end == NULL) {
                    end = tzids + len;
                    hasNext = FALSE;
                }
                if (canonicalID.compare(start, end - start) == 0) {
                    winid = UnicodeString(ures_getKey(winzone), -1 , US_INV);
                    found = TRUE;
                    break;
                }
                start = end + 1;
            }
        }
        ures_close(regionalData);
    }
    ures_close(winzone);
    ures_close(mapTimezones);

    return winid;
}

#define MAX_WINDOWS_ID_SIZE 128

UnicodeString&
TimeZone::getIDForWindowsID(const UnicodeString& winid, const char* region, UnicodeString& id, UErrorCode& status) {
    id.remove();
    if (U_FAILURE(status)) {
        return id;
    }

    UResourceBundle *zones = ures_openDirect(NULL, "windowsZones", &status);
    ures_getByKey(zones, "mapTimezones", zones, &status);
    if (U_FAILURE(status)) {
        ures_close(zones);
        return id;
    }

    UErrorCode tmperr = U_ZERO_ERROR;
    char winidKey[MAX_WINDOWS_ID_SIZE];
    int32_t winKeyLen = winid.extract(0, winid.length(), winidKey, sizeof(winidKey) - 1, US_INV);

    if (winKeyLen == 0 || winKeyLen >= (int32_t)sizeof(winidKey)) {
        ures_close(zones);
        return id;
    }
    winidKey[winKeyLen] = 0;

    ures_getByKey(zones, winidKey, zones, &tmperr); // use tmperr, because windows mapping might not
                                                    // be avaiable by design
    if (U_FAILURE(tmperr)) {
        ures_close(zones);
        return id;
    }

    const UChar *tzi


U+022A3
    ["dbkarow"] = "⤏", -- U+0290F
    ["dblac"] = "˝", -- U+002DD
    ["dcaron"] = "ď", -- U+0010F
    ["dcy"] = "д", -- U+00434
    ["dd"] = "ⅆ", -- U+02146
    ["ddagger"] = "‡", -- U+02021
    ["ddarr"] = "⇊", -- U+021CA
    ["ddotseq"] = "⩷", -- U+02A77
    ["deg"] = "°", -- U+000B0
    ["delta"] = "δ", -- U+003B4
    ["demptyv"] = "⦱", -- U+029B1
    ["dfisht"] = "⥿", -- U+0297F
    ["dfr"] = "𝔡", -- U+1D521
    ["dgr"] = "δ", -- U+003B4
    ["dharl"] = "⇃", -- U+021C3
    ["dharr"] = "⇂", -- U+021C2
    ["diam"] = "⋄", -- U+022C4
    ["diamond"] = "⋄", -- U+022C4
    ["diamondsuit"] = "♦", -- U+02666
    ["diams"] = "♦", -- U+02666
    ["die"] = "¨", -- U+000A8
    ["digamma"] = "ϝ", -- U+003DD
    ["disin"] = "⋲", -- U+022F2
    ["div"] = "÷", -- U+000F7
    ["divide"] = "÷", -- U+000F7
    ["divideontimes"] = "⋇", -- U+022C7
    ["divonx"] = "⋇", -- U+022C7
    ["djcy"] = "ђ", -- U+00452
    ["dlcorn"] = "⌞", -- U+0231E
    ["dlcrop"] = "⌍", -- U+0230D
    ["dollar"] = "$", -- U+00024
    ["dopf"] = "𝕕", -- U+1D555
    ["dot"] = "˙", -- U+002D9
    ["doteq"] = "≐", -- U+02250
    ["doteqdot"] = "≑", -- U+02251
    ["dotminus"] = "∸", -- U+02238
    ["dotplus"] = "∔", -- U+02214
    ["dotsquare"] = "⊡", -- U+022A1
    ["doublebarwedge"] = "⌆", -- U+02306
    ["downarrow"] = "↓", -- U+02193
    ["downdownarrows"] = "⇊", -- U+021CA
    ["downharpoonleft"] = "⇃", -- U+021C3
    ["downharpoonright"] = "⇂", -- U+021C2
    ["drbkarow"] = "⤐", -- U+02910
    ["drcorn"] = "⌟", -- U+0231F
    ["drcrop"] = "⌌", -- U+0230C
    ["dscr"] = "𝒹", -- U+1D4B9
    ["dscy"] = "ѕ", -- U+00455
    ["dsol"] = "⧶", -- U+029F6
    ["dstrok"] = "đ", -- U+00111
    ["dtdot"] = "⋱", -- U+022F1
    ["dtri"] = "▿", -- U+025BF
    ["dtrif"] = "▾", -- U+025BE
    ["duarr"] = "⇵", -- U+021F5
    ["duhar"] = "⥯", -- U+0296F
    ["dwangle"] = "⦦", -- U+029A6
    ["dzcy"] = "џ", -- U+0045F
    ["dzigrarr"] = "⟿", --