id: inputLabelId\n            }, InputLabelProps, {\n                children: label\n            })),\n            select ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Select__WEBPACK_IMPORTED_MODULE_15__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n                \"aria-describedby\": helperTextId,\n                id: id,\n                labelId: inputLabelId,\n                value: value,\n                input: InputElement\n            }, SelectProps, {\n                children: children\n            })) : InputElement,\n            helperText && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_FormHelperText__WEBPACK_IMPORTED_MODULE_16__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n                id: helperTextId\n            }, FormHelperTextProps, {\n                children: helperText\n            }))\n        ]\n    }));\n});\n true ? TextField.propTypes = {\n    // ┌────────────────────────────── Warning ──────────────────────────────┐\n    // │ These PropTypes are generated from the TypeScript type definitions. │\n    // │    To update them, edit the d.ts file and run `pnpm proptypes`.     │\n    // └─────────────────────────────────────────────────────────────────────┘\n    /**\n   * This prop helps users to fill forms faster, especially on mobile devices.\n   * The name can be confusing, as it's more like an autofill.\n   * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n   */ autoComplete: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string),\n    /**\n   * If `true`, the `input` element is focused during the first mount.\n   * @default false\n   */ autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool),\n    /**\n   * @ignore\n   */ children: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().node),\n    /**\n   * Override or extend the styles applied to the component.\n   */ classes: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().object),\n    /**\n   * @ignore\n   */ className: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string),\n    /**\n   * The color of the component.\n   * It supports both default and custom theme colors, which can be added as shown in the\n   * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n   * @default 'primary'\n   */ color: prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOfType([\n        prop_types__WEBPACK_IMPORTED_MODULE_17___default().oneOf([\n            \"primary\",\n            \"secondary\",\n            \"error\",\n            \"info\",\n            \"success\",\n            \"warning\"\n        ]),\n        (prop_types__WEBPACK_IMPORTED_MODULE_17___default().string)\n    ]),\n    /**\n   * The default value. Use when the component is not controlled.\n   */ defaultValue: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().any),\n    /**\n   * If `true`, the component is disabled.\n   * @default false\n   */ disabled: (prop_types__WEBPACK_IMPORTED_MODULE_17___default().bool),\n    /**\n   * If `true`, the label is displayed in an error state.\n


390'/%3E%3Crect rx='5' id='svg_13' height='60' width='60' y='30' x='450'/%3E%3Crect rx='5' id='svg_14' height='60' width='60' y='-30' x='510'/%3E%3Crect rx='5' id='svg_15' height='60' width='60' y='30' x='570'/%3E%3Crect rx='5' id='svg_16' height='60' width='60' y='-30' x='630'/%3E%3Crect rx='5' id='svg_17' height='60' width='60' y='30' x='690'/%3E%3Crect rx='5' id='svg_18' height='60' width='60' y='-30' x='750'/%3E%3Crect rx='5' id='svg_19' height='60' width='60' y='30' x='810'/%3E%3Crect rx='5' id='svg_20' height='60' width='60' y='-30' x='870'/%3E%3Crect rx='5' id='svg_21' height='60' width='60' y='30' x='930'/%3E%3Crect rx='5' id='svg_22' height='60' width='60' y='-30' x='990'/%3E%3C/g%3E%3C/g%3E%3Crect width='1080' height='60' fill='url(%23overlay)'/%3E%3C/svg%3E")no-repeat;background-position-x:right}.headline-green{background:#59c9a5 url("data:image/svg+xml,%3Csvg width='1080' xmlns='http://www.w3.org/2000/svg' height='60' style='background-color:%2359c9a5' fill='%23bdede0'%3E%3ClinearGradient xmlns='http://www.w3.org/2000/svg' gradientUnits='objectBoundingBox' y1='0' id='overlay' y2='0' x2='1' x1='0'%3E%3Cstop offset='0.2' stop-color='%2359c9a5'/%3E%3Cstop offset='1' stop-opacity='-2' stop-color='%2359c9a5'/%3E%3C/linearGradient%3E%3Cg xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke-width='0' id='svg_23'%3E%3Crect rx='5' id='svg_4' height='60' width='60' y='30' x='1050'/%3E%3Crect rx='5' id='svg_9' height='60' width='60' x='210' y='30'/%3E%3Crect rx='5' id='svg_10' height='60' width='60' y='-30' x='270'/%3E%3Crect rx='5' id='svg_11' height='60' width='60' y='30' x='330'/%3E%3Crect rx='5' id='svg_12' height='60' width='60' y='-30' x='390'/%3E%3Crect rx='5' id='svg_13' height='60' width='60' y='30' x='450'/%3E%3Crect rx='5' id='svg_14' height='60' width='60' y='-30' x='510'/%3E%3Crect rx='5' id='svg_15' height='60' width='60' y='30' x='570'/%3E%3Crect rx='5' id='svg_16' height='60' width='60' y='-30' x='630'/%3E%3Crect rx='5' id='svg_17' height='60' width='60' y='30' x='690'/%3E%3Crect rx='5' id='svg_18' height='60' width='60' y='-30' x='750'/%3E%3Crect rx='5' id='svg_19' height='60' width='60' y='30' x='810'/%3E%3Crect rx='5' id='svg_20' height='60' width='60' y='-30' x='870'/%3E%3Crect rx='5' id='svg_21' height='60' width='60' y='30' x='930'/%3E%3Crect rx='5' id='svg_22' height='60' width='60' y='-30' x='990'/%3E%3C/g%3E%3C/g%3E%3Crect w


Runnable
import kotlin.test.*

class AndroidAutoConfigurationTest {

    private val project = ProjectBuilder.builder().build().also { project ->
        project.enableV1Plugin()
        if (isAgpRunnable()) {
            project.plugins.apply("com.android.library")
            project.plugins.apply("org.jetbrains.kotlin.android")
            project.plugins.apply("org.jetbrains.dokka")
            project.extensions.configure<LibraryExtension> {
                compileSdk = 28
            }
        }
    }

    @Test
    fun `at least one dokka task created`() {
        if (!isAgpRunnable()) return

        val dokkaTasks = project.tasks.withType<DokkaTask>().toList()
        assertTrue(dokkaTasks.isNotEmpty(), "Expected at least one dokka task")
    }

    @Test
    fun `all default source sets are present in dokka`() {
        if (!isAgpRunnable()) return

        val dokkaTasks = project.tasks.withType<DokkaTask>().toList()
        dokkaTasks.forEach { task ->
            val sourceSets = task.dokkaSourceSets.map { it.name }.toSet()
            assertEquals(
                setOf(
                    "main", "debug", "release",
                    "test", "testDebug", "testRelease",
                    "androidTest", "androidTestDebug", "androidTestRelease",
                    "testFixtures", "testFixturesDebug", "testFixturesRelease"
                ),
                sourceSets,
                "Expected all default source sets being registered"
            )
        }
    }

    @Ignore // TODO: find where `maven` plugin is used, which was removed in Gradle 8
    @Test
    fun `test source sets are suppressed`() {
        val dokkaTasks = project.tasks.withType<DokkaTask>().toList()
        project as ProjectInternal
        project.evaluate()
        dokkaTasks.flatMap { it.dokkaSourceSets }.forEach { sourceSet ->
            if ("test" in sourceSet.name.lowercase()) {
                assertTrue(
                    sourceSet.suppress.get(),
                    "Expected source set `${sourceSet.name}` to be suppressed by default"
                )
            } else {
                assertFalse(
                    sourceSet.suppress.get(),
                    "Expected source set `${sourceSet.name}`to not be suppressed by default"
                )
            }
        }
    }

    @Ignore // TODO: find where `maven` plugin is used, which was removed in Gradle 8
    @Test
    fun `source sets have non-empty classpath`() {
        val dokkaTasks = project.tasks.withType<DokkaTask>().toList()
        project as ProjectInternal
        project.evaluate()

        dokkaTasks.flatMap { it.dokkaSourceSets }
            .filterNot { it.name == "androidTestRelease" && it.suppress.get() } // androidTestRelease has empty classpath, but it makes no sense for suppressed source set
            .forEach { sourceSet ->
                /*

                There is no better way of checking for empty classpath at the moment (without resolving dependencies).
                We assume, that an empty classpath can be resolved
                We assume, that a non-empty classpath will not be able to resolve (no repositories defined)
                 */
                assertFailsWith<ResolveException>("SourceSet: " + sourceSet.name) { sourceSet.classpath.files }
            }
    }
}
/*
 * Copyright 2014-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
 */

@file:Suppress("PackageDirectoryMismatch", "DEPRECATION")

p


= function() {
  var html = [
    '
',
    '
' + this.data.title + '
',
    '',
      '',
    '',
    '
',
      '',
      'Enter Street View!',
      '',
    '
',
    '
'
  ];
  this.marker.openInfoWindowHtml(html.join(''), {
    maxWidth: App.INFO_WINDOW_MAX_WIDTH
  });
};

/**
 * Initialize a new GMarker for this AppMarker.
 */
AppMarker.prototype.createMarker = function() {
  // If marker was already created, return it.
  if (this.marker) {
    return this.marker;
  }

  // Initialize the marker and place overlay on map.
  var latLng = new GLatLng(this.data.lat, this.data.lng);
  this.marker = new GMarker(latLng, {
    title: this.data.title,
    icon: App.createMarkerIcon(
        'http://maps.google.com/mapfiles/ms/micons/red-dot.png',
        new GSize(32, 32))
  });

  // Add event listeners to open info windows on click and highlight
  // store markers onmouseover.
  GEvent.bind(this.marker, 'click', this, this.openInfoWindow);
  return this.marker;
};

/**
 * Application object.
 */
var App = {
  // Constants
  INFO_WINDOW_MAX_WIDTH: 200,
  INFO_WINDOW_IMAGE_SIZE: new GSize(180, 150),
  CLUSTER_MARKER_FILL_COLOR: '66dd99',
  CLUSTER_MARKER_TEXT_COLOR: '000000',

  // API
  map_: null,
  geocoder_: new GClientGeocoder(),
  cluster_: null,

  // HTML nodes
  mapContainerNode_: document.getElementById('mapContainer'),

  // Private members
  appMarkers_: [],
  markerSheet_: new Spreadsheet('pSHsr7Q2703owXiEayLOtSA', 'od6')
};

/**
 * Creates a GIcon based on the URL and specified size.
 * @return {GIcon}
 */
App.createMarkerIcon = function(url, size) {
  var midWidth = Math.floor(size.width / 2);
  var icon = new GIcon(G_DEFAULT_ICON);
  icon.image = url;
  icon.iconSize = size;
  icon.iconAnchor = new GPoint(midWidth, 32);
  icon.infoWindowAnchor = new GPoint(midWidth, 4);
  return icon;
};

/**
 * Creates a labeled marker icon.
 * @param {string} label
 * @return {GIcon}
 */
App.createLabeledMarkerIcon = function(label) {
  var iconUrl = 'http://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=' + [
    label,
    App.CLUSTER_MARKER_FILL_COLOR,
    App.CLUSTER_MARKER_TEXT_COLOR
  ].join('|');
  return App.createMarkerIcon(iconUrl, new GSize(21, 34));
};

/**
 * Creates the streetview image URL.
 * @return {string} Image URL.
 */
App.createStreetviewImageUrl_ = function(lat, lng) {
  return [
    'http://maps.google.com/cbk?output=thumbnail',
    'w=' + App.INFO_WINDOW_IMAGE_SIZE.width,
    'h=' + App.INFO_WINDOW_IMAGE_SIZE.height,
    'll=' + lat + ',' + lng
  ].join('&');
};

/**
 * Determines the dimensions of this window/frame.
 * @return {GSize} Window/frame size.
 */
App.getWindowSize_ = function() {
  var size = new GSize(0, 0);
  if (self.innerHeight) {
    // all except Explorer
    size.width = self.innerWidth;
    size.height = sel


            #[cfg(target_os = "linux")]
            unsafe {
                let optval: libc::c_int = 1;
                let ret = libc::setsockopt(
                    sock.as_raw_fd(),
                    libc::SOL_SOCKET,
                    libc::TCP_DEFER_ACCEPT,
                    &optval as *const _ as *const libc::c_void,
                    std::mem::size_of_val(&optval) as libc::socklen_t);
                if ret != 0 {
                    return Err(Error::from(io::Error::last_os_error()));
                }
            }
        }
        sock.bind(addr)?;
        let listener = sock.listen(LISTEN_BACKLOG)?;
        Ok(Self {
            address,
            listener,
        })
    }

    pub async fn accept(&self) -> Option<TcpStream>
    {
        loop {
            match self.listener.accept().await {
                Ok((sock, remote_addr)) => {
                    debug!(fd = sock.as_raw_fd(), %remote_addr, server = %self.address.as_str(), "accept connection");
                    return Some(sock);
                },
                Err(e) => {
                    if cfg!(unix) && std::env::consts::OS == "linux" {
                        // Return an error only if it's not one of several known recoverable errors.
                        match e.raw_os_error().unwrap_or(0) {
                            libc::ECONNABORTED |
                            libc::EMFILE | // process file-descriptor limit
                            libc::ENFILE | // system wide file-descriptor limit
                            libc::ENOBUFS | // out of memory
                            libc::ENOMEM | // out of memory
                            libc::EPROTO | // protocol error
                            libc::EINTR => {
                                error!(%e, "accept error");
                                continue;
                            }, // interrupt
                            libc::EBADF => return None, // socket closed, we want to ignore this during shutdown. TODO check if !shutdown and panic.
                            _ => panic!("unrecoverable error on {}: {}", self.address.as_str(), Error::from(e)),
                        }
                    }
                },
            }
        }
    }
}

net.sf.jasperreports.web.util.RequirejsConfigCreator
// Copyright (c) 2018-2021 <NAME> <<EMAIL>>
// Distributed under the MIT License
// (See acoompanying LICENSE file or a copy at http://opensource.org/licenses/MIT)

//! Definición de zonas climáticas CTE y conversiones desde y en cadenas
use std::{convert::TryFrom, error::Error, fmt::Display};

use serde::{Deserialize, Serialize};

/// Nombres para la orientación de un elemento, según los puntos cardinales
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
pub enum ClimateZone {
    /// A1 Canarias
    A1c,
    /// A2 Canarias
    A2c,
    /// A3 Canarias
    A3c,
    /// A4


ில் ஒத்ததிர்வு அதிர்வெண்கள் பெரிதும் வேறுபடலாம். எனவே, EI ஷேப்பர் MZV அல்லது ZV ஐ விட டெல்டா அச்சுப்பொறிகளுக்கு மிகவும் பொருத்தமானதாக இருக்கும், மேலும் அதைப் பயன்படுத்துவதற்குக் கருத்தில் கொள்ள வேண்டும். ஒத்ததிர்வு அதிர்வெண் போதுமான அளவு பெரியதாக இருந்தால் (50-60 Hz க்கும் அதிகமாக), ஒருவர் 2HUMP_EI ஷேப்பரை சோதிக்க முயற்சி செய்யலாம் (மேலே பரிந்துரைக்கப்பட்ட சோதனையை `SET_INPUT_SHAPER SHAPER_TYPE=2HUMP_EI` உடன் இயக்குவதன் மூலம்), ஆனால் அதை இயக்குவதற்கு முன் [கீழே உள்ள பிரிவில்](#selecting-max_accel) உள்ள பரிசீலனைகளைச் சரிபார்க்கவும்.

### max_accel ஐத் தேர்ந்தெடுக்கிறது

முந்தைய படியிலிருந்து நீங்கள் தேர்ந்தெடுத்த ஷேப்பருக்கான அச்சிடப்பட்ட சோதனை உங்களிடம் இருக்க வேண்டும் (நீங்கள் இல்லையென்றால், அழுத்த முன்னேற்றம் முடக்கப்பட்ட `SET_PRESSURE_ADVANCE ADVANCE=0` உடன் [பரிந்துரைக்கப்பட்ட அளவுருக்கள்](#tuning) உடன் து�


 fun initValue() {
    }

    @MainThread
    inline fun lazyViewModels(): Lazy<VM> {
        val cls = (javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0] as Class<VM>
        return ViewModelLazy(cls.kotlin, { viewModelStore }, { defaultViewModelProviderFactory })
    }
}package com.wgllss.dynamic.plugin.manager

import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.ServiceConnection
import android.content.pm.PackageManager
import android.content.res.Resources
import android.os.IBinder
import android.text.TextUtils
import com.wgllss.core.activity.BaseViewPluginResActivity
import com.wgllss.core.activity.WActivityManager
import com.wgllss.core.units.WLog
import com.wgllss.dynamic.host.lib.constant.DynamicPluginConstant.RESOURCE_SKIN
import com.wgllss.dynamic.host.lib.constant.DynamicPluginConstant.WEB_ASSETS
import com.wgllss.dynamic.host.lib.constant.DynamicPluginConstant.dldir
import com.wgllss.dynamic.host.lib.constant.DynamicPluginConstant.versionFile
import com.wgllss.dynamic.host.lib.download.DynamicDownloadPlugin
import com.wgllss.dynamic.host.lib.impl.WXDynamicLoader
import com.wgllss.dynamic.host.lib.loader_base.DynamicManageUtils
import com.wgllss.dynamic.host.lib.loader_base.DynamicManageUtils.getDlfn
import com.wgllss.dynamic.runtime.library.WXDynamicAidlInterface
import com.wgllss.sample.feature_system.savestatus.MMKVHelp
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.zip
import kotlinx.coroutines.runBlocking
import java.io.File
import java.util.concurrent.ConcurrentHashMap

class PluginManager private constructor() {

    /** res apk*/
    private val resFileName by lazy {
        WXDynamicLoader.instance.loader.getMapDluImpl()[RESOURCE_SKIN]!!.run {
            getDlfn(first, second)
        }
    }

    private val webResFileName by lazy {
        WXDynamicLoader.instance.loader.getMapDluImpl()[WEB_ASSETS]!!.run {
            getDlfn(first, second)
        }
    }

    /** 加载插件管理器 dex **/
    private val clmd by lazy { WXDynamicLoader.instance.loader.getClmdImpl() }

    /** 下载接口实现 dex **/
    private val cdlfd by lazy { WXDynamicLoader.instance.loader.getCdlfdImpl() }

    /**others dex*/
    private val cotd by lazy { WXDynamicLoader.instance.loader.getCotdImpl() }

    private val mapOtherLoadStatus by lazy { WXDynamicLoader.instance.loader.getOtherLoadStatus() }

    private val context by lazy { WXDynamicLoader.instance.context }
    private val skinMap by lazy { ConcurrentHashMap<String, Resources>() }

    private val mapAidl by lazy { HashMap<String, WXDynamicAidlInterface>() }
    private val mapConnection by lazy { HashMap<String, ServiceConnection>() }
    private val mapContextPluginService by lazy { HashMap<String, MutableList<String>>() }

    companion object {
        const val pluginApkPathKey = "PLUGIN_APK_PATH_KEY"
        const val activityNameKey = "ACTIVITY_NAME_KEY"
        const val serviceNameKey = "PLUGIN_SERVICE_NAME_KEY"
        const val privatePackageKey = "PRIVATE_PACKAGE_KEY"

        private const val PluginStandardActivity = "com.wgllss.dynamic.plugin.runtime.PluginStandardActivity"
        private const val PluginSingleInstanceActivity = "com.wgllss.dynamic.plugin.runtime.PluginSingleInstanceActivity"
        private const val PluginSingleTaskActivity = "com.wgllss.dyna


));
                    appender.appendBigDecimal(new BigDecimal("12111.1411").setScale(4));
                }
            }, SQLException.class);

            assertThrows(() -> {
                try (DuckDBSingleValueAppender appender =
                         conn.createSingleValueAppender(DuckDBConnection.DEFAULT_SCHEMA, "decimals")) {
                    appender.beginRow();
                    appender.append(3);
                    appender.appendBigDecimal(new BigDecimal("21.1").setScale(2));
                    appender.appendBigDecimal(new BigDecimal("21.1").setScale(4));
                    appender.appendBigDecimal(new BigDecimal("1234567890123.123456").setScale(6));
                }
            }, SQLException.class);
        }
    }

    public static void test_sv_appender_int_string() throws Exception {
        try (DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class);
             Statement stmt = conn.createStatement()) {

            stmt.execute("CREATE TABLE data (a INTEGER, s VARCHAR)");

            try (DuckDBSingleValueAppender appender =
                     conn.createSingleValueAppender(DuckDBConnection.DEFAULT_SCHEMA, "data")) {
                for (int i = 0; i < 1000; i++) {
                    appender.beginRow();
                    appender.append(i);
                    appender.append("str " + i);
                    appender.endRow();
                }
                appender.flush();
            }

            try (ResultSet rs = stmt.executeQuery("SELECT max(a), min(s) FROM data")) {
                assertFalse(rs.isClosed());

                assertTrue(rs.next());
                int resA = rs.getInt(1);
                assertEquals(resA, 999);
                String resB = rs.getString(2);
                assertEquals(resB, "str 0");
            }
        }
    }

    public static void test_sv_appender_string_with_emoji() throws Exception {
        try (DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class);
             Statement stmt = conn.createStatement()) {
            stmt.execute("CREATE TABLE data (id INTEGER, str_value VARCHAR(10))");
            String expectedValue = "䭔\uD86D\uDF7C🔥\uD83D\uDE1C";

            try (DuckDBSingleValueAppender appender =
                     conn.createSingleValueAppender(DuckDBConnection.DEFAULT_SCHEMA, "data")) {
                appender.beginRow();
                appender.append(1);
                appender.append(expectedValue);
                appender.endRow();
            }

            try (ResultSet rs = stmt.executeQuery("SELECT str_value FROM data ORDER BY id")) {
                assertFalse(rs.isClosed());

                assertTrue(rs.next());
                String row1 = rs.getString(1);
                assertEquals(row1, expectedValue);

                assertFalse(rs.next());
            }
        }
    }

    public static void test_sv_appender_table_does_not_exist() throws Exception {
        try (DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class)) {
            assertThrows(
                () -> { conn.createSingleValueAppender(DuckDBConnection.DEFAULT_SCHEMA, "data"); }, SQLException.class);
        }
    }

    public static void test_sv_appender_table_deleted() throws Exception {
        try (DuckDBConnection conn = DriverManager.getConnection(JDBC_URL).unwrap(DuckDBConnection.class);
             Statement stmt = conn.createStatement()) {

            stmt.execute("CREATE TABLE data (a INTEGER)");
            DuckDBSingleValueAppender appender =
                conn.createSingleValueAppender(DuckDBConnection.DEFAULT_SCHEMA, "data");
            appender.beginRow();
            appender.append(1);


.word 0xbda80c20  ! 5263: FMOVRLZ	dis not found

	ta	T_CHANGE_HPRIV
	mov	0x80, %g1
	mov	0x140, %g2
	stxa	%g2, [%g1] 0x40
	wrpr	%g0, 0, %tick
	wr	%g0, 0x8f, %tick_cmpr
	wr	%g0, 0xe1, %sys_tick_cmpr
	wrhpr	%g0, 0xb5, %hsys_tick_cmpr
	.word 0x81983d8b  ! 5264: WRHPR_HPSTATE_I	wrhpr	%r0, 0x1d8b, %hpstate
	.word 0xb4252144  ! 5265: SUB_I	sub 	%r20, 0x0144, %r26
	.word 0xb5a00540  ! 5267: FSQRTd	fsqrt
T3_irf_ce_455:
!$EV error(3,expr(@VA(.MAIN.T3_irf_ce_455), 16, 16),1,IRF,ce,27,45, x,x,x, x,x,x)
	.word 0xb89da152  ! 5269: XORcc_I	xorcc 	%r22, 0x0152, %r28
	.word 0xb7a489c0  ! 5271: FDIVd	fdivd	%f18, %f0, %f58
	.word 0xbba549a0  ! 5272: FDIVs	fdivs	%f21, %f0, %f29
	.word 0xbded0000  ! 5273: RESTORE_R	restore	%r20, %r0, %r30
T3_hwint_668:
!$EV trig_pc_d(3,expr(@VA(.MAIN.T3_hwint_668), 16, 16)) -> intp(3, 0, 2c)
T3_hwint_669:
!$EV trig_pc_d(3,expr(@VA(.MAIN.T3_hwint_669), 16, 16)) -> intp(3, 0, 1d)
	.word 0xb1ec61a0  ! 5277: RESTORE_I	restore	%r17, 0x0001, %r24
T3_hwint_670:
!$EV trig_pc_d(3,expr(@VA(.MAIN.T3_hwint_670), 16, 16)) -> intp(3, 0, 24)
	.word 0xb5a00020  ! 5279: FMOVs	fmovs	%f0, %f26
T3_irf_ce_456:
!$EV error(3,expr(@VA(.MAIN.T3_irf_ce_456), 16, 16),1,IRF,ce,63,62, x,x,x, x,x,x)
	.word 0xb4aca165  ! 5281: ANDNcc_I	andncc 	%r18, 0x0165, %r26
	.word 0xbfa9c820  ! 5282: FMOVVS	fmovs	%fcc1, %f0, %f31
	.word 0xb5e44000  ! 5284: SAVE_R	save	%r17, %r0, %r26
	.word 0xbda00020  ! 5285: FMOVs	fmovs	%f0, %f30
	.word 0xb1a80820  ! 5288: FMOVRLEZ	fmovs	%fcc1, %f0, %f24
	.word 0xb5e54000  ! 5289: SAVE_R	save	%r21, %r0, %r26
T3_irf_ce_457:
!$EV error(3,expr(@VA(.MAIN.T3_irf_ce_457), 16, 16),1,IRF,ce,14,0, x,x,x, x,x,x)
	.word 0xb024a1cc  ! 5291: SUB_I	sub 	%r18, 0x01cc, %r24


le.columns.dom.listbox;

import com.google.gwt.dom.client.Style;
import org.drools.workbench.screens.guided.dtable.client.widget.table.columns.dom.BaseDTDOMElement;
import org.drools.workbench.screens.guided.dtable.client.widget.table.model.GuidedDecisionTableUiCell;
import org.gwtbootstrap3.client.ui.ListBox;
import org.uberfire.ext.wires.core.grids.client.widget.context.GridBodyCellRenderContext;
import org.uberfire.ext.wires.core.grids.client.widget.grid.GridWidget;
import org.uberfire.ext.wires.core.grids.client.widget.layer.GridLayer;

/**
 * A DOMElement that can contain multiple values; e.g. a multi-select ListBox.
 */
public abstract class MultiValueDOMElement<T, W extends ListBox> extends BaseDTDOMElement<T, W> {

    public MultiValueDOMElement(final W widget,
                                final GridLayer gridLayer,
                                final GridWidget gridWidget,
                                final boolean restrictEditorWidthToCell,
                                final boolean restrictEditorHeightToCell) {
        super(widget,
              gridLayer,
              gridWidget);
        if (restrictEditorWidthToCell) {
            style(widget).setWidth(100,
                                   Style.Unit.PCT);
        }
        if (restrictEditorHeightToCell) {
            style(widget).setHeight(100,
                                    Style.Unit.PCT);
        }

        style(widget).setPadding(0,
                                 Style.Unit.PX);
        style(widgetContainer).setPadding(2,
                                          Style.Unit.PX);

        getContainer().setWidget(widget);
    }

    @Override
    public void initialise(final GridBodyCellRenderContext context) {
        transform(context);
    }

    @Override
    public void flush(final T value) {
        final int rowIndex = context.getRowIndex();
        final int columnIndex = context.getColumnIndex();
        if (value == null) {
            gridWidget.getModel().deleteCell(rowIndex,
                                             columnIndex);
        } else {
            gridWidget.getModel().setCellValue(rowIndex,
                                               columnIndex,
                                               new GuidedDecisionTableUiCell<T>(value));
        }
    }
}
/*
 * Copyright 2024 Red Hat, Inc. and/or its affiliates.
 *
 * 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.
 */
package org.kie.server.api.marshalling.test.model.dummy.package9;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

@SuppressWarnings("java:S1068")

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DummyData1")
public class DummyData1 implements Serializable {

    private static final long serialVersionUID = 5174127032991892033L;

    @XmlAttribute(name = "dummyString")
    private String dummyString;
    private int dummyInt;
    @XmlElement(required = true)
    private Object dummyObj;

    public DummyData1() {
    }

    public DummyData1(int dummyInt, Object dummyObj) {
        this.dummyInt = dummyInt


 ~0;
    for (ExecutionSyncCapture::SyncStep &j : capt.steps)
    {
      if (j.dstBuffer == i.srcBuffer && j.dstQueue == i.srcQueue)
        lastStepOnSrcBuffer = j.idx;
      if (j.dstBuffer == i.dstBuffer && j.dstQueue == i.dstQueue && firstStepOnDstBuffer == ~0)
        firstStepOnDstBuffer = j.idx;
    }
    if (lastStepOnSrcBuffer == ~0 || firstStepOnDstBuffer == ~0)
      continue;
    NodeEditor::Link(linkId++, capt.steps[lastStepOnSrcBuffer].visNextDepPin, capt.steps[firstStepOnDstBuffer].visPrevDepPin,
      ImVec4(1, 0, 0, 1));
  }

  // set positions for nodes after all nodes are "drawn"
  if (settleNodes)
  {
    for (int i = 1; i < capt.currentVisNode; ++i)
    {
      if (swapCoord)
        NodeEditor::SetNodePosition(i, ImVec2(capt.reformedPositions[i].y, capt.reformedPositions[i].x));
      else
        NodeEditor::SetNodePosition(i, ImVec2(capt.reformedPositions[i].x, capt.reformedPositions[i].y));
    }
  }

  NodeEditor::End();

  if (resetView)
    NodeEditor::NavigateToContent(0.0f);
  NodeEditor::SetCurrentEditor(nullptr);

  settleNodes = false;
}

#else // EXECUTION_SYNC_DEBUG_CAPTURE > 0

void drv3d_vulkan::debug_ui_sync() { ImGui::Text("Compile with EXECUTION_SYNC_DEBUG_CAPTURE > 0 to enable this feature"); }

#endif // EXECUTION_SYNC_DEBUG_CAPTURE > 0
#endif // DAGOR_DBGLEVEL > 0
// Copyright (C) Gaijin Games KFT.  All rights reserved.

#if _TARGET_PC_WIN
#include <windows.h>
#include <3d/ddsFormat.h>
#endif

#include <drv/3d/dag_sampler.h>
#include <drv/3d/dag_rwResource.h>
#include <drv/3d/dag_renderStates.h>
#include <drv/3d/dag_viewScissor.h>
#include <drv/3d/dag_renderTarget.h>
#include <drv/3d/dag_renderPass.h>
#include <drv/3d/dag_tiledResource.h>
#include <drv/3d/dag_heap.h>
#include <drv/3d/dag_dispatchMesh.h>
#include <drv/3d/dag_dispatch.h>
#include <drv/3d/dag_draw.h>
#include <drv/3d/dag_vertexIndexBuffer.h>
#include <drv/3d/dag_shaderConstants.h>
#include <drv/3d/dag_buffers.h>
#include <drv/3d/dag_shader.h>
#include <drv/3d/dag_bindless.h>
#include <drv/3d/dag_texture.h>
#include <drv/3d/dag_driver.h>
#include <drv/3d/dag_info.h>
#include <drv/3d/dag_query.h>
#include <drv/3d/dag_res.h>
#include <drv/3d/dag_platform.h>
#include <drv/3d/dag_tex3d.h>
#include <drv/3d/dag_commands.h>
#include <drv/3d/dag_variableRateShading.h>
#include <drv/3d/dag_streamOutput.h>
#include <drv/3d/dag_resUpdateBuffer.h>
#include <drv/3d/dag_shaderLibrary.h>
#include <drv/3d/dag_capture.h>
#include <3d/ddsxTex.h>
#include <3d/tql.h>
#include "pools.h"
#include "drv_log_defs.h"
#include "drv_assert_defs.h"
#include <util/dag_string.h>
#include <image/dag_texPixel.


http://www.w3.org/2000/svg' viewBox='0 0 600 600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 182px;
    transition: all 1s !important;
}

/*DYNAMIC HEADING SPACING ADJUST, headings will only leave space if there is no heading above*/
.el-h1 ~ :not(.el-h1) + .el-h1 {
    margin-top: 5em;
}

.el-h2 ~ :not(.el-h1, .el-h2) + .el-h2 {
    margin-top: 5em !important;
}

.el-h3 ~ :not(.el-h1, .el-h2, .el-h3) + .el-h3 {
    margin-top: 5em !important;
}

.el-h4 ~ :not(.el-h1, .el-h2, .el-h3, .el-h4) + .el-h4 {
    margin-top: 5em !important;
}

.el-h5 ~ :not(.el-h1, .el-h2, .el-h3, .el-h4, .el-h5) + .el-h5 {
    margin-top: 5em !important;
}

.el-h6 ~ :not(.el-h1, .el-h2, .el-h3, .el-h4, .el-h5, .el-h6) + .el-h6 {
    margin-top: 5em !important;
}

/*HEADINGS-uppercase*/
.cm-header {
    text-transform: uppercase;
}

/*HEADINGS-uppercase + increase spacing between header and previous text -> reading view*/
.markdown-rendered h1, .markdown-rendered h2, .markdown-rendered h3, .markdown-rendered h4, .markdown-rendered h5, .markdown-rendered h6 {
    text-transform: uppercase;
    padding-top: .1em;
}

/*HEADINGS - colors*/
.HyperMD-header-2 {
    color:var(--accent-color-light10);
}
.HyperMD-header-3 {
    color:var(--accent-color-light8);
}
.HyperMD-header-4 {
    color:var(--accent-color-light6);
}
.HyperMD-header-5 {
    color:var(--accent-color-light5);
}

.markdown-rendered h2 {
    color:var(--accent-color-light10);
}
.markdown-rendered h3 {
    color:var(--accent-color-light8);
}
.markdown-rendered h4 {
    color:var(--accent-color-light6);
}
.markdown-rendered h5 {
    color:var(--accent-color-light5);
}

/**TEXT*************************************************************************************************************************************/
.theme-dark {
    .markdown-preview-view, .view-content>.cm-s-obsidian, .view-content>.markdown-source-view.mod-cm6.is-live-preview>.cm-scroller, body {
       background-color: rgb(22, 22, 22);
    }
}

.theme-light {
    .markdown-preview-view, .view-content>.cm-s-obsidian, .view-content>.markdown-source-view.mod-cm6.is-live-preview>.cm-scroller, body {
        background-color: white;
    }
}

/*ITALIC TEXT COLOR*/
i, em, span.cm-em {
    color: var(--accent-color-light10);
}

/*change font*/
body {
    --font-text-theme: 'Cascadia Mono', Sans-serif;
}

/*decrease font weight*/
.markdown-preview-view, .view


rior_ssthresh; /* ssthresh saved at recovery start	*/
	__u32	lost_out;	/* Lost packets			*/
	__u32	sacked_out;	/* SACK'd packets			*/
	__u32	fackets_out;	/* FACK'd packets			*/
	__u32	high_seq;	/* snd_nxt at onset of congestion	*/

	__u32	retrans_stamp;	/* Timestamp of the last retransmit,
				 * also used in SYN-SENT to remember stamp of
				 * the first SYN. */
	__u32	undo_marker;	/* tracking retrans started here. */
	int	undo_retrans;	/* number of undoable retransmissions. */
	__u32	urg_seq;	/* Seq of received urgent pointer */
	__u16	urg_data;	/* Saved octet of OOB data and control flags */
	__u8	urg_mode;	/* In urgent mode		*/
	__u8	ecn_flags;	/* ECN status bits.			*/
	__u32	snd_up;		/* Urgent pointer		*/

	__u32	total_retrans;	/* Total retransmits for entire connection */
	__u32	bytes_acked;	/* Appropriate Byte Counting - RFC3465 */

	unsigned int		keepalive_time;	  /* time before keep alive takes place */
	unsigned int		keepalive_intvl;  /* time interval between keep alive probes */
	int			linger2;

	unsigned long last_synq_overflow;

/* Receiver side RTT estimation */
	struct {
		__u32	rtt;
		__u32	seq;
		__u32	time;
	} rcv_rtt_est;

/* Receiver queue space */
	struct {
		int	space;
		__u32	seq;
		__u32	time;
	} rcvq_space;
};

static inline struct tcp_sock *tcp_sk(const struct sock *sk)
{
	return (struct tcp_sock *)sk;
}

struct tcp_timewait_sock {
	struct inet_timewait_sock tw_sk;
	__u32			  tw_rcv_nxt;
	__u32			  tw_snd_nxt;
	__u32			  tw_rcv_wnd;
	__u32			  tw_ts_recent;
	long			  tw_ts_recent_stamp;
};

static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk)
{
	return (struct tcp_timewait_sock *)sk;
}

#endif

#endif	/* _LINUX_TCP_H */


DieMap.lookup(Die); }
  const DwarfCompileUnit *lookupCU(const DIE *Die) const {
    return CUDieMap.lookup(Die);
  }

  unsigned getStringTypeLoc(const DIStringType *ST) const {
    return StringTypeLocMap.lookup(ST);
  }

  void addStringTypeLoc(const DIStringType *ST, unsigned Loc) {
    assert(ST);
    if (Loc)
      StringTypeLocMap[ST] = Loc;
  }

  /// \defgroup DebuggerTuning Predicates to tune DWARF for a given debugger.
  ///
  /// Returns whether we are "tuning" for a given debugger.
  /// @{
  bool tuneForGDB() const { return DebuggerTuning == DebuggerKind::GDB; }
  bool tuneForLLDB() const { return DebuggerTuning == DebuggerKind::LLDB; }
  bool tuneForSCE() const { return DebuggerTuning == DebuggerKind::SCE; }
  bool tuneForDBX() const { return DebuggerTuning == DebuggerKind::DBX; }
  /// @}

  const MCSymbol *getSectionLabel(const MCSection *S);
  void insertSectionLabel(const MCSymbol *S);

  static void emitDebugLocValue(const AsmPrinter &AP, const DIBasicType *BT,
                                const DbgValueLoc &Value,
                                DwarfExpression &DwarfExpr);

  /// If the \p File has an MD5 checksum, return it as an MD5Result
  /// allocated in the MCContext.
  std::optional<MD5::MD5Result> getMD5AsBytes(const DIFile *File) const;

  MDNodeSet &getLocalDeclsForScope(const DILocalScope *S) {
    return LocalDeclsPerLS[S];
  }

  /// Sets the current DWARF5AccelTable to use.
  void setCurrentDWARF5AccelTable(const DWARF5AccelTableKind Kind) {
    switch (Kind) {
    case DWARF5AccelTableKind::CU:
      CurrentDebugNames = &AccelDebugNames;
      break;
    case DWARF5AccelTableKind::TU:
      CurrentDebugNames = &AccelTypeUnitsDebugNames;
    }
  }
  /// Returns either CU or TU DWARF5AccelTable.
  DWARF5AccelTable &getCurrentDWARF5AccelTable() { return *CurrentDebugNames; }
};

} // end namespace llvm

#endif // LLVM_LIB_CODEGEN_ASMPRINTER_DWARFDEBUG_H


// *** WARNING: this file was generated by pulumi-language-dotnet. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.Cen
{
    /// <summary>
    /// Provides a Cloud Enterprise Network (CEN) Transit Router Peer Attachment resource.
    ///
    /// For information about Cloud Enterprise Network (CEN) Transit Router Peer Attachment and how to use it, see [What is Transit Router Peer Attachment](https://next.api.alibabacloud.com/document/Cbn/2017-09-12/CreateTransitRouterPeerAttachment).
    ///
    /// > **NOTE:** Available since v1.128.0.
    ///
    /// ## Example Usage
    ///
    /// Basic Usage
    ///
    /// ```csharp
    /// using System.Collections.Generic;
    /// using System.Linq;
    /// using Pulumi;
    /// using AliCloud = Pulumi.AliCloud;
    ///
    /// return await Deployment.RunAsync(() =>
    /// {
    ///     var config = new Config();
    ///     var name = config.Get("name") ?? "tf_example";
    ///     var region = config.Get("region") ?? "cn-hangzhou";
    ///     var peerRegion = config.Get("peerRegion") ?? "cn-beijing";
    ///     var example = new AliCloud.Cen.Instance("example", new()
    ///     {
    ///         CenInstanceName = name,
    ///         ProtectionLevel = "REDUCED",
    ///     });
    ///
    ///     var exampleBandwidthPackage = new AliCloud.Cen.BandwidthPackage("example", new()
    ///     {
    ///         Bandwidth = 5,
    ///         CenBandwidthPackageName = "tf_example",
    ///         GeographicRegionAId = "China",
    ///         GeographicRegionBId = "China",
    ///     });
    ///
    ///     var exampleBandwidthPackageAttachment = new AliCloud.Cen.BandwidthPackageAttachment("example", new()
    ///     {
    ///         InstanceId = example.Id,
    ///         BandwidthPackageId = exampleBandwidthPackage.Id,
    ///     });
    ///
    ///     var exampleTransitRouter = new AliCloud.Cen.TransitRouter("example", new()
    ///     {
    ///         CenId = exampleBandwidthPackageAttachment.InstanceId,
    ///     });
    ///
    ///     var peer = new AliCloud.Cen.TransitRouter("peer", new()
    ///     {
    ///         CenId = exampleTransitRouter.CenId,
    ///     });
    ///
    ///     var exampleTransitRouterPeerAttachment = new AliCloud.Cen.TransitRouterPeerAttachment("example", new()
    ///     {
    ///         CenId = example.Id,
    ///         TransitRouterId = exampleTransitRouter.TransitRouterId,
    ///         PeerTransitRouterRegionId = peerRegion,
    ///         PeerTransitRouterId = peer.TransitRouterId,
    ///         CenBandwidthPackageId = exampleBandwidthPackageAttachment.BandwidthPackageId,
    ///         Bandwidth = 5,
    ///         TransitRouterAttachmentDescription = name,
    ///         TransitRouterAttachmentName = name,
    ///     });
    ///
    /// });
    /// ```
    ///
    /// ## Import
    ///
    /// Cloud Enterprise Network (CEN) Transit Router Peer Attachment can be imported using the id, e.g.
    ///
    /// ```sh
    /// $ pulumi import alicloud:cen/transitRouterPeerAttachment:TransitRouterPeerAttachment example <cen_id>:<transit_router_attachment_id>
    /// ```
    /// </summary>
    [AliCloudResourceType("alicloud:cen/transitRouterPeerAttachment:TransitRouterPeerAttachment")]
    public partial class TransitRouterPeerAttachment : global::Pulumi.CustomResource
    {
        /// <summary>
        /// Specifies whether to enable the local Enterprise Edition transit router to automatically advertise the routes of the inter-region connection to the peer transit router. Valid va


	right: 33.33333333%;
}
.fw-force-xs .fw-col-xs-pull-3 {
	right: 25%;
}
.fw-force-xs .fw-col-xs-pull-2 {
	right: 16.66666667%;
}
.fw-force-xs .fw-col-xs-pull-1 {
	right: 8.33333333%;
}
.fw-force-xs .fw-col-xs-pull-0 {
	right: auto;
}

body.rtl .fw-force-xs .fw-col-xs-pull-15,
body.rtl .fw-force-xs .fw-col-xs-pull-12,
body.rtl .fw-force-xs .fw-col-xs-pull-11,
body.rtl .fw-force-xs .fw-col-xs-pull-10,
body.rtl .fw-force-xs .fw-col-xs-pull-9,
body.rtl .fw-force-xs .fw-col-xs-pull-8,
body.rtl .fw-force-xs .fw-col-xs-pull-7,
body.rtl .fw-force-xs .fw-col-xs-pull-6,
body.rtl .fw-force-xs .fw-col-xs-pull-5,
body.rtl .fw-force-xs .fw-col-xs-pull-4,
body.rtl .fw-force-xs .fw-col-xs-pull-3,
body.rtl .fw-force-xs .fw-col-xs-pull-2,
body.rtl .fw-force-xs .fw-col-xs-pull-1,
body.rtl .fw-force-xs .fw-col-xs-pull-0 {
	right: auto;
}

body.rtl .fw-force-xs .fw-col-xs-pull-15 {
	left: 20%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-12 {
	left: 100%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-11 {
	left: 91.66666667%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-10 {
	left: 83.33333333%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-9 {
	left: 75%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-8 {
	left: 66.66666667%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-7 {
	left: 58.33333333%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-6 {
	left: 50%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-5 {
	left: 41.66666667%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-4 {
	left: 33.33333333%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-3 {
	left: 25%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-2 {
	left: 16.66666667%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-1 {
	left: 8.33333333%;
}
body.rtl .fw-force-xs .fw-col-xs-pull-0 {
	left: auto;
}
.fw-force-xs .fw-col-xs-push-15 {
	left: 20%;
}
.fw-force-xs .fw-col-xs-push-12 {
	left: 100%;
}
.fw-force-xs .fw-col-xs-push-11 {
	left: 91.66666667%;
}
.fw-force-xs .fw-col-xs-push-10 {
	left: 83.33333333%;
}
.fw-force-xs .fw-col-xs-push-9 {
	left: 75%;
}
.fw-forc


self.w.bits = (self.w.bits & !(0x03 << 14)) | (((value as u32) & 0x03) << 14);
        self.w
    }
}
impl R {
    #[doc = "Bits 0:9 - Step Value"]
    #[inline(always)]
    pub fn step(&self) -> STEP_R {
        STEP_R::new((self.bits & 0x03ff) as u16)
    }
    #[doc = "Bits 14:15 - Divider Mode"]
    #[inline(always)]
    pub fn dm(&self) -> DM_R {
        DM_R::new(((self.bits >> 14) & 0x03) as u8)
    }
}
impl W {
    #[doc = "Bits 0:9 - Step Value"]
    #[inline(always)]
    pub fn step(&mut self) -> STEP_W {
        STEP_W { w: self }
    }
    #[doc = "Bits 14:15 - Divider Mode"]
    #[inline(always)]
    pub fn dm(&mut self) -> DM_W {
        DM_W { w: self }
    }
}
<filename>src/auto_saver.rs
use std::ops::{DerefMut, Deref};

pub struct AutoSaver<T> {
    value: T,
    saver: fn(&mut T),
}
impl <T> AutoSaver<T> {
    pub fn new(value: T, saver: fn(&mut T)) -> Self {
        Self {
            value,
            saver,
        }
    }
    pub fn borrow_mut(&mut self) -> MutRef<T> {
        MutRef { auto_saver: self }
    }
}
impl<T> Deref for AutoSaver<T> {
    type Target = T;

    fn deref(&self) -> &Self::Target {
        &self.value
    }
}

pub struct MutRef<'a, T> {
    auto_saver: &'a mut AutoSaver<T>,
}
impl <T> Drop for MutRef<'_, T> {
    fn drop(&mut self) {
        // Where the magic happens
        (self.auto_saver.saver)(&mut self.auto_saver.value);
    }
}
impl <T> Deref for MutRef<'_, T> {
    type Target = T;

    fn deref(&self) -> &Self::Target {
        &self.auto_saver.value
    }
}
impl <T> DerefMut for MutRef<'_, T> {

    fn deref_mut(&mut self) -> &mut Self::Target {
        &mut self.auto_saver.value
    }
}
/*!
Bounded allocation datastructures
*/

mod bounds;

pub use bounds::{AllocBound, Unbounded, NumberBounded,
	NumberBoundedRc, BoundsRef};

use std::mem::size_of;
use std::borrow::{Borrow, BorrowMut};
use std::ops::{Index, IndexMut, Deref};

#[derive(PartialEq, Eq, Hash, Clone, Debug)]
pub struct AllocError;

#[derive(PartialEq, Eq, Hash, Clone, Debug)]
pub struct Bvec<B :AllocBound, T> {
	inner :Vec<T>,
	bound :B,
}

impl<B :AllocBound, T> Bvec<B, T> {
	pub fn with_capacity(mut bound :B, capacity :usize) -> Result<Self, AllocError> {
		try!(bound.try_alloc(capacity * size_of::<T>()));
		Ok(Self {
			inner : Vec::with_capacity(capacity),
			bound,
		})


//
// sunnet project
// Copyright (C) 2018 by Contributors <https://github.com/Tyill/sunnet>
//
// This code is licensed under the MIT License.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files(the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions :
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
#pragma once

#include "snBase/snBase.h"
#include "../structurs.h"

/// Trimming data
class Crop final : SN_Base::OperatorBase{

public:

    Crop(void* net, const std::string& name, const std::string& node, std::map<std::string, std::string>& prms);

    ~Crop() = default;

    std::vector<std::string> Do(const SN_Base::operationParam&, const std::vector<OperatorBase*>& neighbOpr) override;

private:

    roi roi_;
    SN_Base::snSize baseSz_;
};


x <- q$bbox
obj$overpass_call <- opq_string(q)
doc <- osmdata:::overpass_query(query = obj$overpass_call, quiet = FALSE,
                                encoding = encoding)

## Issuing query to Overpass API ...

## Rate limit: 3

## Query complete!

# #saveRDS(doc, file = "inst/examples/osmdata/doc.rds")
# x <- readRDS("inst/examples/osmdata/doc.rds")

#############################################################
## functions to silicify the OSM message
## after parsing out ways (path), nodes (vertex) and
##  pretending (for now) that each way is a feature (object)

library(dplyr)

##
## Attaching package: 'dplyr'

## The following objects are masked from 'package:stats':
##
##     filter, lag

## The following objects are masked from 'package:base':
##
##     intersect, setdiff, setequal, union

read_node <- function(x, ...) {
  lst <- xml2::xml_find_all(xml2::read_xml(x), "//node") %>%
    purrr::map(xml_attrs)
  tibble::as_tibble(do.call(rbind, lst)) %>%
    dplyr::transmute(vertex_ = id, x_ = as.numeric(lon), y_ = as.numeric(lat))
}
read_way <- function(x, ...) {
  do.call(rbind, xml2::xml_find_all(xml2::read_xml(x), "//way") %>%
            purrr::map(xml_attrs)) %>%
    tibble::as_tibble() %>%
    dplyr::rename(path = id)  %>% mutate(object = rev_string(path))

}
read_way_ref <- function(x, ...) {
  path <- read_way(x)
#  path <- dplyr::mutate(path, id_ = as.character(seq_len(nrow(path))))
  xml_find_all(xml2::read_xml(x), "//way") %>%
    map(xml_find_all, "nd") %>%
    map(function(a) do.call(rbind, xml_attrs(a)) %>% tibble::as_tibble() %>% dplyr::rename(vertex_ = ref)) %>%
    setNames(path[["path"]]) %>%
  bind_rows(.id = "path")
}
rev_string <- function(x) {
  unlist(lapply(strsplit(x, ""), function(y) paste(rev(y), collapse = "")))
}
read_obj <- function(x) {
  read_way(x) %>% dplyr::transmute(object = rev_string(path))
}

gibble.PATH <- function(x, ...) {
  inner_join(x[["


function(){var e={fileName:n};switch(t.fileType){case"text":e.content=this.result;break;case"binary":default:e.base64Content=this.result.replace(/.*?base64,/,"")}t.successCallback&&(t.scope?t.scope.$apply(function(){t.successCallback(e)}):t.successCallback(e))},i.onerror=function(){t.errorCallback&&(t.scope?t.scope.$apply(function(){t.errorCallback("Failed to load file!")}):t.errorCallback("Failed to load file!"))},t.fileType){case"text":i.readAsText(a);break;case"binary":default:i.readAsDataURL(a)}}else t.errorCallback&&(t.scope?t.scope.$apply(function(){t.errorCallback("The selected file type is invalid!")}):t.errorCallback("The selected file type is invalid!"))}}).attr("data-ariang-file-initialized","true"),s.trigger("click")):a&&a("Your browser does not support loading file!")},saveFileContent:function(e,t,a){if(s){a=angular.extend({fileName:null,contentType:"application/octet-stream",autoTrigger:!1,autoRevoke:!1},a);var n=new Blob([e],{type:a.contentType}),i=URL.createObjectURL(n);t||(t=angular.element('<a style="display: none"/>')),t.attr("href",i),a.fileName&&t.attr("download",a.fileName),a.autoTrigger&&t.trigger("click"),a.autoRevoke&&URL.revokeObjectURL(i)}}}}])}(),function(){"use strict";angular.module("ariaNg").factory("ariaNgSettingService",["$window","$location","$filter","ariaNgConstants","ariaNgDefaultOptions","ariaNgLanguages","ariaNgCommonService","ariaNgLogService","ariaNgStorageService",function(n,t,e,i,o,s,r,l,c){var a={localStroage:c.isLocalStorageSupported(),cookies:c.isCookiesSupported()},d=a.localStroage||a.cookies,u=!!n.matchMedia&&n.matchMedia("(prefers-color-scheme: dark)")&&"not all"!==n.matchMedia("(prefers-color-scheme: dark)").media&&angular.isFunction(n.matchMedia("(prefers-color-scheme: dark)").addEventListener),p=[],g=!1,f={debugMode:!1},m=function(){return"https"===t.protocol()},h=function(e){for(var t in s)if(s.hasOwnProperty(t)){if(t.toLowerCase()===e.toLowerCase())return t;var a=s[t].aliases;if(angular.isArray(a)&&!(a.length<1))for(var n=0;n<a.length;n++)if(a[n].toLowerCase()===e.toLowerCase())return t}return null},v=function(){var e=n.navigator.browserLanguage?n.navigator.browserLanguage:n.navigator.language;if(!e)return l.info("[ariaNgSettingService] cannot get browser language, use default language"),o.language;(e=e.replace(/\-/g,"_"),s[e])||(t=h(e))&&(e=t);if(!s[e]&&1<e.split("-").length){var t,a=e.split("-");if(e=a[0]+"-"+a[1],!s[e])(t=h(e))&&(e=t)}return s[e]?(l.info('[ariaNgSettingService] use browser language "'+e+'" as current language'),e):(l.info('[ariaNgSettingService] browser language "'+e+'" not support, use default la


(twigExtendsValues.contains("base_ajax.html"));
        assertTrue(twigExtendsValues.contains("base.html"));
    }

    public void testConditionalBlank() {
        assertSize(0, buildExtendsTagList("{% extends ? '' : '' %}"));
        assertSize(0, buildExtendsTagList("{% extends ? \"\" : \"\" %}"));
    }

    public void testConditionalInvalidGiveBestPossibleStrings() {
        Collection<String> twigExtendsValues = buildExtendsTagList("{% extends request.ajax ? foo ~ \"base_ajax.html\" : \"base.html\" %}");
        assertFalse(twigExtendsValues.contains("base_ajax.html"));
        assertTrue(twigExtendsValues.contains("base.html"));

        twigExtendsValues = buildExtendsTagList("{% extends request.ajax ? \"base_ajax.html\" ~ test : \"base.html\" %}");
        assertFalse(twigExtendsValues.contains("base_ajax.html"));
        assertTrue(twigExtendsValues.contains("base.html"));

        twigExtendsValues = buildExtendsTagList("{% extends request.ajax ? foo ~ \"base_ajax.html\" : ~ \"base.html\" %}");
        assertFalse(twigExtendsValues.contains("base_ajax.html"));
        assertFalse(twigExtendsValues.contains("base.html"));

        twigExtendsValues = buildExtendsTagList("{% extends request.ajax ? \"base_ajax.html\" : ~ \"base.html\" %}");
        assertTrue(twigExtendsValues.contains("base_ajax.html"));
        assertFalse(twigExtendsValues.contains("base.html"));
    }

    /**
     * @see TwigUtil#getBlocksInFile
     */
    public void testBlocksInFileCollector() {
        assertEquals("foo", buildBlocks("{% block foo %}").iterator().next().getName());
        assertEquals("foo", buildBlocks("{% block \"foo\" %}").iterator().next().getName());
        assertEquals("foo", buildBlocks("{% block 'foo' %}").iterator().next().getName());

        assertEquals("foo", buildBlocks("{%- block foo -%}").iterator().next().getName());
        assertEquals("foo", buildBlocks("{%- block \"foo\" -%}").iterator().next().getName());
        assertEquals("foo", buildBlocks("{%- block 'foo' -%}").iterator().next().getName());

        assertNotNull(buildBlocks("{%- block 'foo' -%}").iterator().next().getTarget());

        assertEquals("foobar_block", buildBlocks("{{ block('foobar_block') }}").iterator().next().getName());
        assertEquals("foobar_block", buildBlocks("{{ block(\"foobar_block\") }}").iterator().next().getName());
    }

    /**
     * @see TwigUtil#getIncludeTagStrings
     */
    public void testIncludeTagStrings() {

        assertEqual(getIncludeTemplates("{% include 'foo.html.twig' %}"), "foo.html.twig");
        assertSize(0, getIncludeTemplates("{% include '' %}"));
        assertEqual(getIncludeTemplates("{% include ['foo.html.twig'] %}"), "foo.html.twig");
        assertEqual(getIncludeTemplates("{% include ['foo.html.twig',''] %}"), "foo.html.twig");

        List<String> collect = getIncludeTemplates("{% include ['foo.html.twig', 'foo_1.html.twig', , ~ 'foo_2.html.twig', 'foo_3.html.twig' ~, 'foo' ~ 'foo_4.html.twig', 'end.html.twig'] %}")
            .stream()
            .sorted()
            .collect(Collectors.toList());

        assertEqual(collect, "end.html.twig", "foo.html.twig", "foo_1.html.twig");
    }

    /**
     * @see TwigUtil#getIncludeTagStrings
     */
    public void testIncludeTagStringsTernary() {
        assertEqual(getIncludeTemplates("{% include ajax ? 'include_statement_0.html.twig' : \"include_statement_1.html.twig


padding:5px 15px}.reg_form.new_regform.container .span9 .forum_btns{background:#4985b8;border:none;border-radius:0;font-family:Roboto,sans-serif;margin:12px 0 0 5px;padding:5px 20px;color:#fff;text-shadow:none;font-size:15px}.bloglist.forum_right.description.new_des.new_para{margin:0}.blog_para.clearfix{border-bottom:1px solid #d8d8d8;padding:12px 0}.posttext_title{color:#000;font-family:roboto,sans-serif;font-size:18px;font-weight:500;line-height:35px}.posttext_title>a{color:#2f3945;outline:0}.warning_btns .btn.btn-danger.padding_width,.warning_btns .btn.btn-info.padding_width{font-size:15px;padding:5px 10px}.reg_form.new_regform.container.blogpages a:hover{color:#fff}.reg_form.new_regform.container.blogpages a{outline:0;font-style:normal}.reg_form.new_regform.container.blogpages .form_left ul li a:hover{color:#000}.reg_form.new_regform.container.blogpages .posttext_title a{color:#2f3945}.reg_form.new_regform.container.blogpages .blog_menu.clearfix a{color:#989898}.blog_color,.reg_form.new_regform.container.blogpages .blog_color a{color:#ff8c20}.blog_menu.clearfix li:first-child{padding:0 10px 0 0}.blog_menu li{float:left;line-height:38px;padding:0 10px}.fa-user::before{line-height:35px;padding:0 5px}#expert_plus_main .fa-user::before{line-height:17px;padding:0}.fa.fa-user.blog_icon{padding:0;font-size:14px}.blog_menu.clearfix a{color:#989898;font-size:14px}.blog_para ul{padding:0}.blog_icon{font-size:14px;padding:0 5px 0 0}.blog_menu.clearfix{color:#989898}.bloglist.forum_right.description.new_des.new_para p{font-weight:600;line-height:22px;margin:0;color:#646464;font-family:"Open Sans",sans-serif;font-size:13px}.blog_color a{color:#ff8c20}.modal-header{background:#f1f1f1;padding:5px}.modal-header .close{background:#333;border:1px solid #333;color:#fff;width:30px;margin-top:8px}.modal-title{color:#333;font-size:22px;font-weight:400;text-align:center;font-family:Open Sans;margin-bottom:5px}.modal-body{max-height:400px;overflow-y:auto;padding:15px;position:relative}.modal-body a{color:#000}.modal-dialog{border:8px solid #333}.usergallery .btn.course_create{background:#70afdb;border:none;border-radius:0;box-shadow:none;color:#fff;margin:20px 0;padding-left:22px;padding-right:18px;text-shadow:none;font-size:14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;float:right}.TeachingCourse_create{float:right;width:100%}.btn.favoritebtn.heart_align{background:0 0;outline:0}.user_thumb_blocks .thumbnail:hover{border:1px solid #ddd}.price_second_section .wish_list_section .wisth_list{background:0 0;color:#636363;font-family:open sans;font-size:14px;font-style:normal;padding:0 5px}.blog_para ul.blog_men


org.opencv.core.Core#getOptimalDFTSize
 * @see org.opencv.core.Core#idft
 */
    public static Point phaseCorrelate(Mat src1, Mat src2, Mat window)
    {

        Point retVal = new Point(phaseCorrelate_0(src1.nativeObj, src2.nativeObj, window.nativeObj));

        return retVal;
    }

/**
 *
The function is used to detect translational shifts that occur between two
 * images. The operation takes advantage of the Fourier shift theorem for
 * detecting the translational shift in the frequency domain. It can be used for
 * fast image registration as well as motion estimation. For more information
 * please see http://en.wikipedia.org/wiki/Phase_correlation.

 *
 *
Calculates the cross-power spectrum of two supplied source arrays. The arrays
 * are padded if needed with "getOptimalDFTSize".

 *
 *
Return value: detected phase shift (sub-pixel) between the two arrays.

 *
 *
The function performs the following equations

 *

 *
 First it applies a Hanning window (see http://en.wikipedia.org/wiki/Hann_function)
 * to each image to remove possible edge effects. This window is cached until
 * the array size changes to speed up processing time.
 *
 Next it computes the forward DFTs of each source array:
 *

 *
 *
mathbf(G)_a = mathcal(F)(src_1), mathbf(G)_b = mathcal(F)(src_2)

 *
 *
where mathcal(F) is the forward DFT.

 *

 *
 It then computes the cross-power spectrum of each frequency domain
 * array:
 *

 *
 *
R = (mathbf(G)_a mathbf(G)_b^*)/(|mathbf(G)_a mathbf(G)_b^*|)

 *
 *

 *
 Next the cross-correlation is converted back into the time domain via
 * the inverse DFT:
 *

 *
 *
r = mathcal(F)^(-1)(R)

 *
 *

 *
 Finally, it computes the peak location and computes a 5x5 weighted
 * centroid around the peak to achieve sub-pixel accuracy.
 *

 *
 *
(Delta x, Delta y) = weightedCentroid (arg max_((x, y))(r))

 *
 *

 *
 If non-zero, the response parameter is computed as the sum of the
 * elements of r within the 5x5 centroid around the peak location. It is
 * normalized to a maximum of 1 (meaning there is a single peak) and will be
 * smaller when there are multiple peaks.
 *

 *
 * @param src1 Source floating point array (CV_32FC1 or CV_64FC1)
 * @param src2 Source floating point array (CV_32FC1 or CV_64FC1)
 *
 * @see org.opencv.imgproc.Imgproc.phaseCorrelate
 * @see org.opencv.imgproc.Imgproc#createHanningWindow
 * @see org.opencv.core.Core#dft
 * @see org.opencv.core.Core#mulSpectrums
 * @see org.opencv.core.Core#getOptimalDFTSize
 * @see org.opencv.core.Core#idft
 */
    public static Point phaseCorrelate(Mat src1, Mat src2)
    {

        Point retVal = new Point(phaseCorrelate_1(src1.nativeObj, src2.nativeObj));

        return retVal;
    }

    //
    // C++:  Point2d phaseCorrelateRes(Mat src1, Mat src2, Mat window, double* respon


.u16   d1, d1, #2
    vdup.8      d1, d1[0]
    vst1.32     d1[0], [r0,:32], r12
    vst1.32     d1[0], [r0,:32], r12
    vst1.32     d1[0], [r0,:32], r12
    vst1.32     d1[0], [r0,:32], r12
    bx          lr
endfunc

// return a1 = (a1+2*b1+c1+2)>>2  a2 = (a2+2*b2+c2+2)>>2
.macro PRED4x4_LOWPASS a1 b1 c1 a2 b2 c2 pb_1
    uhadd8  \a1, \a1, \c1
    uhadd8  \a2, \a2, \c2
    uhadd8  \c1, \a1, \b1
    uhadd8  \c2, \a2, \b2
    eor     \a1, \a1, \b1
    eor     \a2, \a2, \b2
    and     \a1, \a1, \pb_1
    and     \a2, \a2, \pb_1
    uadd8   \a1, \a1, \c1
    uadd8   \a2, \a2, \c2
.endm

function predict_4x4_ddr_armv6
    ldr     r1, [r0, # -FDEC_STRIDE]
    ldrb    r2, [r0, # -FDEC_STRIDE-1]
    ldrb    r3, [r0, #0*FDEC_STRIDE-1]
    push    {r4-r6,lr}
    add     r2, r2, r1, lsl #8
    ldrb    r4, [r0, #1*FDEC_STRIDE-1]
    add     r3, r3, r2, lsl #8
    ldrb    r5, [r0, #2*FDEC_STRIDE-1]
    ldrb    r6, [r0, #3*FDEC_STRIDE-1]
    add     r4, r4, r3, lsl #8
    add     r5, r5, r4, lsl #8
    add     r6, r6, r5, lsl #8
    ldr     ip, =0x01010101
    PRED4x4_LOWPASS r1, r2, r3, r4, r5, r6, ip
    str     r1, [r0, #0*FDEC_STRIDE]
    lsl     r2, r1, #8
    lsl     r3, r1, #16
    lsl     r4, r4, #8
    lsl     r5, r1, #24
    add     r2, r2, r4, lsr #24
    str     r2, [r0, #1*FDEC_STRIDE]
    add     r3, r3, r4, lsr #16
    str     r3, [r0, #2*FDEC_STRIDE]
    add     r5, r5, r4, lsr #8
    str     r5, [r0, #3*FDEC_STRIDE]
    pop     {r4-r6,pc}
endfunc

function predict_4x4_ddl_neon
    sub         r0, #FDEC_STRIDE
    mov         ip, #FDEC_STRIDE
    vld1.64     {d0}, [r0], ip
    vdup.8      d3, d0[7]
    vext.8      d1, d0, d0, #1
    vext.8      d2, d0, d3, #2
    vhadd.u8    d0, d0, d2
    vrhadd.u8   d0, d0, d1
    vst1.32     {d0[0]}, [r0,:32], ip
    vext.8      d1, d0, d0, #1
    v


경이 가해지는 작업들은 무조건 작성해놓는게 좋을까에 대한 의문이다.

물론 개발을 잘한다는것은 이런 애플리케이션들을 언제나 문제없이 만들어낼 수 있는것이지만, 그때그때 sql 쿼리로 집계해서 세번정도만 클릭하면 커버할 수 있는 작업을 꼭 소프트웨어로 풀어나가야할까?

충분히 수기로도, 딸깍으로도 커버해나갈 수 있는 작업들은 번거롭긴하지만, 번거럽다고 느끼지도 못할세 빨리 끝나는 작업들이다. 그런 사소한 작업들을 위해서 나의 리소스를 소모할 수 있을까? 또 새로운 애플리케이션을 개발했다면 보통의 개발조직에서 리뷰의 과정을 거칠것이고 테스트의 과정을 거칠것이다.

그리고 혹여나 집계로직의 전제상황이나 필요 데이터의 구조가 바뀌게된다면? 참조하고있는 테이블의 컬럼이 바뀌게 되는 의사결정을 통해 해당 배치 애플리케이션의 사이드 이펙트까지 고려해야하게 된다면?

개발을 잘 한다는 것은 문제상황(여기서 문제에 대한 정의는 불편함의 존재여부만을 바라본다. 규모를 보지않는다.)을 해결하기 위해 소프트웨어를 구현해내는 역량이 뛰어나다고 정의해보겠다.

일을 잘한다는 것은, 할 수 있으나 할 필요가 있을지 질문을 먼저 해보고 우선순위 과업을 먼저 처리해나가며 상대방이 당장 원하는것이 무엇이고 어디까지 내가 제공해줄 수 있는지를 고민해보고 한 발 더 앞서나가는 센스라고 생각한다.

<br>

### 센스

예를


ontent-[''] max-md:after:hidden;
  }

  /* END of Feature */
  /* START of Pricing */
  .pricing-head_before {
    @apply before:absolute before:-bottom-44 before:left-1/5 before:h-96 before:w-13/20 before:bg-s4/50 before:blur-[200px] before:content-[''];
  }

  .pricing-head_btn {
    @apply base-bold relative z-2 h-16 flex-1 uppercase text-p5 transition-colors duration-500 hover:text-p4;
  }

  .pricing-head_btn_before {
    @apply before:absolute before:-top-16 before:left-9 before:right-9 before:bg-s4 before:blur-xl before:content-[""];
  }

  .pricing-bg {
    @apply pointer-events-none absolute -bottom-16 left-[calc(50%-480px)] z-2 mx-auto w-960;
  }

  .pricing-plan_first {
    @apply first:rounded-bl-3xl first:rounded-tl-3xl lg:first:border-r-0;
  }

  .pricing-plan_last {
    @apply last:rounded-br-3xl last:rounded-tr-3xl lg:last:border-l-0;
  }

  .pricing-plan_odd {
    @apply odd:border-s3 odd:bg-s1 lg:odd:mt-12;
  }

  .pricing-plan_even {
    @apply even:g7 even:rounded-bl-3xl even:rounded-br-3xl even:rounded-tl-3xl even:rounded-tr-3xl even:border-s4;
  }

  /* END of Pricing */
  /* START of FAQ */
  .faq-line_after {
    @apply after:absolute after:-top-1.5 after:left-[calc(50%-5px)] after:z-4 after:size-2.5 after:rounded-half after:border-2 after:border-s2 after:bg-s1 after:content-[''];
  }

  .faq-glow_before {
    @apply before:absolute before:left-[calc(50%-160px)] before:top-[-160px] before:size-[320px] before:bg-s4/25 before:mix-blend-soft-light before:blur-[200px] before:content-[''];
  }

  .faq-icon {
    @apply before:absolute before:h-0.5 before:w-3 before:bg-p3 before:content-[''] after:absolute after:h-0.5 after:w-3 after:rotate-90 after:bg-p3 after:transition-all after:duration-500 after:content-[''];
  }

  /* END of FAQ */
  /* START of Testimonials */
  .testimonials_head-res {
    @apply max-2xl:mr-6 max-xl:mr-3 max-lg:mx-auto max-lg:mb-36 max-lg:max-w-330 max-lg:text-center max-md:mb-24 max-md:max-w-52;
  }

  .testimonials_inner-before {
    @apply before:pointer-events-none before:absolute before:-top-28 before:left-[calc(50%-1px)] before:h-[calc(100%+218px)] before:w-0.5 before:bg-s2 before:content-[''] before:max-lg:top-0 before:max-lg:h-full before:max-md:hidden;
  }

  .testimonials_inner-after {
    @apply after:pointer-events-none after:absolute after:-bottom-52 after:left-[calc(50%-1px)] after:h-24 after:w-0.5 after:bg-s5 after:content-[''] after:max-lg:-bottom-24 after:max-md:hidden;
  }

  .testimonials_group-after {
    @apply after:pointer-events-none after:absolute after:-bottom-[212px] after:left-[calc(50%-5px)] after:


or);
}

// https://bugs.eclipse.org/bugs/show_bug.cgi?id=250056
// Test to verify that asserts are exempted from null comparison warnings,
// but this doesn't affect the downstream info.
public void test0958_assert() {
	this.runNegativeTest(
		new String[] {
			"X.java",
			"import java.util.HashMap;\n" +
			"public class X {\n" +
			"  void m() {\n" +
			"    HashMap<Integer,X> map = new HashMap<Integer,X>();\n" +
			"	 X bar = null;\n" +
			"    X foo = map.get(1);\n" +
			"    if (foo == null) {\n" +
			"	 	foo = new X();\n" +
			"		map.put(1, foo);\n" +
			"	 }\n" +
			"	 assert (foo != null && bar == null);\n" +	// don't warn but do the null analysis
			"	 if (foo != null) {}\n" +		// warn
			"	 if (bar == null) {}\n" +		// warn
			"  }\n" +
			"}\n"},
	"----------\n" +
	"1. ERROR in X.java (at line 12)\n" +
	"	if (foo != null) {}\n" +
	"	    ^^^\n" +
	"Redundant null check: The variable foo cannot be null at this location\n" +
	"----------\n" +
	"2. ERROR in X.java (at line 13)\n" +
	"	if (bar == null) {}\n" +
	"	    ^^^\n" +
	"Redundant null check: The variable bar can only be null at this location\n" +
	"----------\n",
	JavacTestOptions.Excuse.EclipseWarningConfiguredAsError);
}

// https://bugs.eclipse.org/bugs/show_bug.cgi?id=250056
// Test to verify that asserts are exempted from redundant null check warnings in a looping context,
// but this doesn't affect the downstream info.
public void test0959a_assert_loop() {
	this.runNegativeTest(
		new String[] {
			"X.java",
			"public class X {\n" +
			"  void m() {\n" +
			"    X foo = new X();\n" +
			"    X foo2 = new X();\n" +
			"    X bar = null;\n" +
			"    X bar2 = null;\n" +
			"	 while (true) {\n" +
			"	 	assert (foo != null);\n" +	//don't warn
			"	 	if (foo == null) {}\n" +
			"	 	assert (foo2 == null);\n" +	//don't warn
			"	 	if (foo2 == null) {}\n" +
			"	 	assert (bar == null);\n" +	//don't warn
			"	 	if (bar == null) {}\n" +
			"	 	assert (bar2 != null);\n" +	//don't warn
			"	 	if (bar2 == null) {}\n" +
			"	 }\n" +
			"  }\n" +
			"}\n"},
	"----------\n" +
	"1. ERROR in X.java (at line 9)\n" +
	"	if (foo == null) {}\n" +
	"	    ^^^\n" +
	"Null comparison always yields false: The variable foo cannot be null at this location\n" +
	"----------\n" +
	"2. WARNING in X.java (at line 9)\n" +
	"	if (foo == null) {}\n" +
	"	                 ^^\n" +
	"Dead code\n" +
	"----------\n" +
	"3. ERROR in X.java (at line 10)\n" +
	"	assert (foo2 == null);\n" +
	"	        ^^^^\


)→A   |","R G1MBZ G2LBZ |","----    ** ----","Next: 0d04"}},
    {0x0d04,  {"---------- 0D04","B LLB→U       |","B U→W         |","B W→MMB       |","D LB,MB-1     |","D G1,2-1      |","S W→IVD       |","R AΩ(B=1)→A   |","R G1MBZ G2LBZ |","----    ** ----","Next: 0d04"}},
    {0x0d09,  {"---------- 0D09","A M→R         |","A       SR4→F |","L WS,E→LSA    |","L R→LS        |","|             |","R 0       T=0 |","----    X* ----","Next: 0d4c"}},
    // QS402
    {0x0d9a,  {"---------- 0D9A","A R→R         |","A DDC0 Q→SL1→F|","|             |","|             |","|             |","|             |","----    XX ----","Next: 0d9b"}},

    // QS404
    {0x0da8,  {"---------- 0DA8","E 0001        |","A M→D*BS      |","L WS,E→LSA    |","L LS→R→LS     |","C S03ΩE,0→BS  |","R G1<0      1 |","----    *X ----","Next: 0d85"}},

    // QS600
    {0x06c8,  {"---------- 06C8","B LLB→U       |","B ?→W         |","B W→MMB       |","D LB,MB-1     |","D G1,2-1      |","L WS2→LSA     |","L LS→L→LS     |","C 1→BS*MB     |","R G1MBZ G2LBZ |","----    ** ----","Next: 06a0"}},
    {0x06a0,  {"---------- 06A0","A H-LWA→T     |","D HOT1→ADDER  |","C E→S03       |","|             |","|             |","|             |","----    XX ----","Next: 06c9"}},
    {0x06c9,  {"---------- 06C9","E 0011        |","L WS,E→LSA    |","L LS→L→LS     |","|             |","|             |","R 1     T13=0 |","----    X* ----","Next: 06b6"}},
    {0x06b6,  {"---------- 06B6","E 1111        |","B LLB→U       |","B E→WL  UR→WR |","B W→MMB(E?)   |","D MB-1        |","D G1-1        |","C 1→BS*MB     |","R G1MBZ     1 |","----    *X ----","Next: 06bd"}},
    {0x06b6,  {"---------- 06B6","E 1111        |","B LLB→U       |","B E→WL  UR→WR |","B W→MMB(E?)   |","D MB-1        |","D G1-1        |","C 1→BS*MB     |","R G1MBZ     1 |","----    *X ----","Next: 06bd"}},
    {0x06bd,  {"---------- 06BD","E 1111        |","B LLB→U       |","B E→WL  ?→WR  |","B W→MMB(E?)   |","D LB,MB-1     |","D G1,2-1      |","C 1→BS*MB     |","R G1MBZ G2LBZ |","----    ** ----","Next: 06a4"}},
    {0x06a4,  {"---------- 06A4","E 1111        |","B LLB→U       |","B E→WL  UR→WR |","B W→MMB(E?)   |","D MB-1        |","D G1-1        |","C 1→BS*MB     |","R G1MBZ     1 |","----    *X ----","Next: 06bd"


ift.i_icon:before,.articleView__social_buttons .BookmarksStar .pm_item .i_money.i_icon:before,.articleView__social_buttons .BookmarksStar .vk__page_redesign .basis .ii_btn:before{display:none}.articleView__footer{height:44px;width:100%;position:fixed;bottom:0;left:0;right:0;background-color:#fff;border-top:1px solid rgba(0,0,0,.12);-webkit-transition:-webkit-transform 250ms ease;transition:-webkit-transform 250ms ease;-moz-transition:transform 250ms ease, -moz-transform 250ms ease;-o-transition:transform 250ms ease, -o-transform 250ms ease;transition:transform 250ms ease;transition:transform 250ms ease, -webkit-transform 250ms ease, -moz-transform 250ms ease, -o-transform 250ms ease;z-index:2}.articleView__footer .articleView__footer_views{position:absolute;right:13px;top:13px;color:#676e75;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.articleView__footer.articleView__footer--hidden{-webkit-transform:translateY(50px);-moz-transform:translateY(50px);-ms-transform:translateY(50px);-o-transform:translateY(50px);transform:translateY(50px)}.articleView__footer_btn{display:inline-block;vertical-align:top;cursor:pointer}.articleView__footer_btn .articleView__footer_btn_icon,.articleView__social_buttons .BookmarksStar .BookmarksItem .ai_menu_toggle_button,.articleView__social_buttons .BookmarksStar .GlobalSearchHeader .i_search,.articleView__social_buttons .BookmarksStar .Icon,.articleView__social_buttons .BookmarksStar .m .vk__page_chatAdd .basis .lvi.mlvi,.articleView__social_buttons .BookmarksStar .m .vk__page_chatSettings .basis .lvi.mlvi,.articleView__social_buttons .BookmarksStar .m .vk__page_chatSettings .basis__content .si_link[href^="/mail?act=kick_user"],.articleView__social_buttons .BookmarksStar .OwnerColumn__online,.articleView__social_buttons .BookmarksStar .OwnerRow__online,.articleView__social_buttons .BookmarksStar .pm_item .i_gift.i_icon,.articleView__social_buttons .BookmarksStar .pm_item .i_money.i_icon,.articleView__social_buttons .BookmarksStar .vk__page_redesign .basis .ii_btn{margin:10px;background-image:url('/images/mobile/skins/icon/base_2x.png');-webkit-background-size:100% 100%;-moz-background-size:100%;background-size:100%;width:24px;height:24px}.articleView__footer_btn_share .articleView__footer_btn_icon{background-position:0 -1247px}.articleView__footer_btn_bookmark .articleView__footer_btn_icon,.articleView__social_buttons .BookmarksStar .Icon_bookmark{background-position:0 -1271px}.articleView__footer_btn_bookmark._active .articleView__footer_btn_icon,.articleView__social_buttons .BookmarksStar .Icon_bookmarked{background-position:0 -1295px}.articleView__footer_btn_more .articleView__footer_btn_icon{background-position:0 -1320px}.articleView__views_info{background-color:#fff;padding:10px 20px 30px;color:grey}.dvd{pointer-events:none;padding:0 5px;vertical-ali


,0x01,0x77,0x39,0x05]

v_minmax_i32_e64_dpp v5, v1, v2, -1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x65,0xd6,0xe9,0x04,0x06,0x03,0x01,0x77,0x39,0x05]

v_minmax_i32_e64_dpp v5, v1, v2, 0.5 dpp8:[7,6,5,4,3,2,1,0] fi:1
// GFX11: [0x05,0x00,0x65,0xd6,0xea,0x04,0xc2,0x03,0x01,0x77,0x39,0x05]

v_minmax_i32_e64_dpp v255, v255, v255, src_scc dpp8:[0,0,0,0,0,0,0,0] fi:0
// GFX11: [0xff,0x00,0x65,0xd6,0xe9,0xfe,0xf7,0x03,0xff,0x00,0x00,0x00]

v_minmax_u32_e64_dpp v5, v1, v2, v3 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0x0e,0x04,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0xfe,0x07,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, s105 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0xa6,0x01,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, vcc_hi dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0xae,0x01,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, vcc_lo dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0xaa,0x01,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, ttmp15 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0x63,0xd6,0xe9,0x04,0xee,0x01,0x01,0x77,0x39,0x05]

v_minmax_u32_e64_dpp v5, v1, v2, exec_hi dpp8:[7,6,5,4,3,2,1,0]
// GFX11: [0x05,0x00,0


num];
};

const climbStairs = (num) => {
  const table = new Array(num + 1).fill(0);
  table[0] = 1;
  table[1] = 1;

  for (let i = 2; i < table.length; i++) {
    table[i] = table[i] = table[i - 1] + table[i - 2];
  }

  return table[table.length - 1];
};

console.log(climbStairs(2)); // 2
console.log(climbStairs(3)); // 3
console.log(climbStairs(40)); // 3
import { Injectable } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { Card, Colors, GetColor, CompareColors } from "../cards";

import { CardList, isHeroCard } from "../../../assets/card-data";

interface Filters {
  colors: Set<string>;
  manaCosts: Set<number>;
  cardTypes: Set<string>;
}

@Injectable({
  providedIn: "root"
})
export class CardListStoreService {
  // tslint:disable-next-line: variable-name
  private readonly _cardList = new BehaviorSubject<Card[]>(
    this.getMainDeckCards()
  );
  readonly cardList$ = this._cardList.asObservable();

  // tslint:disable-next-line: variable-name
  private readonly _filters = new BehaviorSubject<Filters>({
    colors: new Set(),
    manaCosts: new Set(),
    cardTypes: new Set()
  });
  readonly filters$ = this._filters.asObservable();

  private mainDeckCards = this.getMainDeckCards();

  pageSize = 10;
  length = this.cardList.length;
  startIndex = 0;
  endIndex = this.pageSize;

  get cardList(): Card[] {
    return this._cardList.getValue().slice(this.startIndex, this.endIndex);
  }

  set cardList(val: Card[]) {
    this.length = val.length;
    this._cardList.next(val);
  }

  get filters(): Filters {
    return this._filters.getValue();
  }

  set filters(val: Filters) {
    this._filters.next(val);
  }

  public setPageIndex(index) {
    this.startIndex = index * this.pageSize;
    this.endIndex = this.startIndex + this.pageSize;
  }

  isItem(card: Card): boolean {
    return card.card_type === "Item";
  }

  compareItems(card1: Card, card2: Card): number {
    if (this.isItem(card1) && !this.isItem(card2)) {
      return 1;
    } else if (this.isItem(card1) && !this.isItem(card2)) {
      return -1;
    } else {
      return card1.gold_cost - card2.gold_cost;
    }
  }

  getMainDeckCards() {
    return CardList.filter((card: Card) => {
      return !(
        card.card_type === "Ability" ||
        card.card_type === "Passive Ability" ||
        isHeroCard(card)
      );
    }).sort((card1: Card, card2: Card) => {
      // sort by card type, color, then by mana cost
      if (this.isItem(card1) || this.isItem(card2)) {
        return this.compareItems(card1, card2);
      }
      if (!GetColor(card1)) {
        console.log(card1.card_name.english, card1.card_type);
        return 1;
      }
      const colorCompare = CompareColors(card1, card2);
      if (colorCompare === 0) {
        return card1.mana_cost - card2.mana_cost;
      }
      return colorCompare;
    });
  }

  addFilter(type: string, value: string | number) {
    this.filters[type].add(value);
    this.updateCardList();
  }

  removeFilter(type: string, value: string | number) {
    if (typeof value === "string") {
      value = value.toLowerCase();
    }
    this.filters[type].delete(value);
    this.updateCardList();
  }

  updateCardList() {
    this.cardList = this.getFilteredMainDeckCards()


:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c33:	00          	halt
   63c34:	2c 00 00 00 	movc5 $0x0,$0x0,$0x0,$0x10,$0x0
   63c38:	10 00
   63c3a:	00          	halt
   63c3b:	00          	halt
   63c3c:	6d 00 00    	cvtwd $0x0,$0x0 [d-float]
   63c3f:	00          	halt
   63c40:	70 00 00    	movd $0x0 [d-float],$0x0 [d-float]
   63c43:	00          	halt
   63c44:	2c 00 00 00 	movc5 $0x0,$0x0,$0x0,*0x70ffffff(ap),$0x0
   63c48:	fc ff ff ff
   63c4c:	70 00
   63c4e:	00          	halt
   63c4f:	00          	halt
   63c50:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c53:	00          	halt
   63c54:	2c 00 00 00 	movc5 $0x0,$0x0,$0x0,*0x69ffffff(r8),$0x0
   63c58:	f8 ff ff ff
   63c5c:	69 00
   63c5e:	00          	halt
   63c5f:	00          	halt
   63c60:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c63:	00          	halt
   63c64:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c67:	00          	halt
   63c68:	08 00 00 00 	cvtps $0x0,$0x0,$0x0,-(r0)
   63c6c:	70
   63c6d:	00          	halt
   63c6e:	00          	halt
   63c6f:	00          	halt
   63c70:	6d 00 00    	cvtwd $0x0,$0x0 [d-float]
   63c73:	00          	halt
   63c74:	2c 00 00 00 	movc5 $0x0,$0x0,$0x0,$0x0,$0x0
   63c78:	00 00
   63c7a:	00          	halt
   63c7b:	00          	halt
   63c7c:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c7f:	00          	halt
   63c80:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c83:	00          	halt
   63c84:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c87:	00          	halt
   63c88:	04          	ret
   63c89:	00          	halt
   63c8a:	00          	halt
   63c8b:	00          	halt
   63c8c:	70 00 00    	movd $0x0 [d-float],$0x0 [d-float]
   63c8f:	00          	halt
   63c90:	69 00 00    	cvtdw $0x0 [d-float],$0x0
   63c93:	00          	halt
   63c94:	17 00       	jmp $0x0
   63c96:	00          	halt
   63c97:	00          	halt
   63c98:	18 00       	bgeq 63c9a <op+0x4e3e>
   63c9a:	00          	halt
   63c9b:	00          	halt
   63c9c:	6f 00 00 00 	acbd $0x0 [d-float],$0


lin.math.min

class EnqueuedView(val state: RHMIState, val musicController: MusicController, val graphicsHelpers: GraphicsHelpers, val musicImageIDs: MusicImageIDs) {
	companion object {
		// current default row width only supports 22 chars before rolling over
		private const val ROW_LINE_MAX_LENGTH = 22
		private const val TITLE_MAX_LENGTH = 35

		fun fits(state: RHMIState): Boolean {
			return state is RHMIState.PlainState &&
					state.componentsList.filterIsInstance<RHMIComponent.List>().isNotEmpty() &&
					state.componentsList.filterIsInstance<RHMIComponent.Image>().any {
						!it.properties.containsKey(RHMIProperty.PropertyId.POSITION_X.id)
					} &&
					state.componentsList.filterIsInstance<RHMIComponent.Separator>().isEmpty()
		}
	}

	val listComponent: RHMIComponent.List
	val queueImageComponent: RHMIComponent.Image
	val titleLabelComponent: RHMIComponent.Label
	val subtitleLabelComponent: RHMIComponent.Label

	var visible = false
	var currentSong: MusicMetadata? = null
	val songsList = ArrayList<MusicMetadata>()
	val songsEmptyList = RHMIModel.RaListModel.RHMIListConcrete(3)
	var queueMetadata: QueueMetadata? = null
	var visibleRows: List<MusicMetadata> = emptyList()
	var visibleRowsOriginalMusicMetadata: List<MusicMetadata> = emptyList()
	var selectedIndex: Int = 0

	var songsListAdapter = object: RHMIModel.RaListModel.RHMIListAdapter<MusicMetadata>(4, songsList) {
		override fun convertRow(index: Int, item: MusicMetadata): Array<Any> {
			val checkmark = if (item.queueId == currentSong?.queueId) BMWRemoting.RHMIResourceIdentifier(BMWRemoting.RHMIResourceType.IMAGEID, musicImageIDs.CHECKMARK) else ""

			val coverArt = item.coverArt
			val coverArtImage = if (coverArt != null) graphicsHelpers.compress(coverArt, 90, 90, quality = 30) else ""

			val title = UnicodeCleaner.clean(item.title ?: "")
			val artist = UnicodeCleaner.clean(item.artist ?: "")
			val songMetaDataText = if (artist.isNotBlank()) {
				"${title.truncate(ROW_LINE_MAX_LENGTH)}\n$artist"
			} else {
				title
			}

			return arrayOf(
					checkmark,
					coverArtImage,
					"",
					songMetaDataText
			)
		}
	}

	init {
		state as RHMIState.PlainState

		listComponent = state.componentsList.filterIsInstance<RHMIComponent.List>().first()
		queueImageComponent = state.componentsList.filterIsInstance<RHMIComponent.Image>().first {
			!it.properties.containsKey(RHMIProperty.PropertyId.POSITION_X.id)
		}
		titleLabelComponent = state.componentsList.filterIsInstance<RHMIComponent.Label>()[0]
		subtitleLabelComponent = state.componentsList.filterIsInstance<RHMIComponent.Label>()[1]

		songsEmptyList.addRow(arrayOf("", "", "", L.MUSIC_QUEUE_EMPTY))
	}

	fun initWidgets(playbackView: PlaybackView) {
		state.focusCallback = FocusCallback { focused ->
			visible = false
			if (focused) {
				show()
				visible = true  // enable redraw after we've shown the initial view
			}
		}
		queueImageComponent.setProperty(RHMIProperty.PropertyId.WIDTH, 180)
		titleLabelComponent.setProperty(RHMIProperty.PropertyId.CUTTYPE, 0)
		subtitleLabelComponent.setProperty(RHMIProperty.PropertyId.CUTTYPE, 0)

		// this is required for pagination system
		listComponent.setProperty(RHMIProperty.PropertyId.VALID, false)

		listComponent.setVisible(true)
		listComponent.setProperty(RHMIProperty.PropertyId.LIST_COLUMNWIDTH, "57,90,10,*")
		listComponent.getAction()?.asHMIAction()?.getTargetModel()


ical(other.createdAt, createdAt) ||
                other.createdAt == createdAt) &&
            (identical(other.isActive, isActive) ||
                other.isActive == isActive) &&
            (identical(other.department, department) ||
                other.department == department) &&
            (identical(other.phone, phone) || other.phone == phone) &&
            (identical(other.lastLogin, lastLogin) ||
                other.lastLogin == lastLogin));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
    runtimeType,
    id,
    email,
    name,
    avatarUrl,
    role,
    createdAt,
    isActive,
    department,
    phone,
    lastLogin,
  );

  /// Create a copy of User
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$UserImplCopyWith<_$UserImpl> get copyWith =>
      __$$UserImplCopyWithImpl<_$UserImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$UserImplToJson(this);
  }
}

abstract class _User implements User {
  const factory _User({
    required final String id,
    required final String email,
    required final String name,
    final String? avatarUrl,
    required final String role,
    required final DateTime createdAt,
    required final bool isActive,
    final String? department,
    final String? phone,
    final DateTime? lastLogin,
  }) = _$UserImpl;

  factory _User.fromJson(Map<String, dynamic> json) = _$UserImpl.fromJson;

  @override
  String get id;
  @override
  String get email;
  @override
  String get name;
  @override
  String? get avatarUrl;
  @override
  String get role;
  @override
  DateTime get createdAt;
  @override
  bool get isActive;
  @override
  String? get department;
  @override
  String? get phone;
  @override
  DateTime? get lastLogin;

  /// Create a copy of User
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$UserImplCopyWith<_$UserImpl> get copyWith =>
      throw _privateConstructorUsedError;
}
// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'theme_provider.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
  'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models',
);

/// @nodoc
mixin _$ThemeState {
  ThemeMode get themeMode => throw _privateConstructorUsedError;
  ColorSeed get colorSeed => throw _privateConstructorUsedError;

  /// Create a copy of ThemeState
  /// wi


ackedLayout)]
    #[cfg_attr(
    feature = "std",
    derive(scale_info::TypeInfo, ink_storage::traits::StorageLayout)
    )]
    pub struct DAOTemplate {
        // template's id
        pub id: u64,
        // template's owner
        pub owner: AccountId,
        // template's name
        pub name: String,
        // template's dao manager
        pub dao_manager_code_hash: Hash,
        // components code hash
        // like { "ERC20": 0xqw...122, "ORG": 0xqw...123 }
        pub components: BTreeMap<String, Hash>,
    }

    /// This controls the template type of Dao
    /// owner:the manager of the contract
    /// template_index:the length of template
    /// template_map:hashmap of index and DAOTemplate
    #[ink(storage)]
    pub struct TemplateManager {
        owner: AccountId,
        template_index: u64,
        template_map: StorageHashMap<u64, DAOTemplate>,
    }

    #[ink(event)]
    pub struct AddTemplate {
        #[ink(topic)]
        index: u64,
        #[ink(topic)]
        owner: Option<AccountId>,
    }

    impl TemplateManager {
        #[ink(constructor)]
        pub fn new(controller: AccountId) -> Self {
            let instance = Self {
                owner: controller,
                template_index: 0,
                template_map: StorageHashMap::new(),
            };
            instance
        }

        /// add a template
        /// name:the name of template
        /// dao_manager_code_hash:the hash of ao_manager
        /// components:the components of ao_manager
        #[ink(message)]
        pub fn add_template(
            &mut self,
            name: String,
            dao_manager_code_hash: Hash,
            base_hash:Hash,
            erc20_hash:Hash,
            user_hash:Hash,
            setting_hash:Hash,
            vault_hash:Hash,
        ) -> bool {
            assert_eq!(self.template_index + 1 > self.template_index, true);
            let mut components = BTreeMap::new();
            components.insert(String::from("BASE"),base_hash);
            components.insert(String::from("ERC20"),erc20_hash);
            components.insert(String::from("USER"),user_hash);
            components.insert(String::from("SETTING"),setting_hash);
            components.insert(String::from("VAULT"),vault_hash);
            let from = self.env().caller();
            self.template_map.insert(self.template_index, DAOTemplate {
                id: self.template_index,
                owner: from,
                name,
                dao_manager_code_hash,
                components,
            });
            self.env().emit_event(AddTemplate {
                index: self.template_index,
                owner: Some(from),
            });
            self.template_index += 1;
            true
        }

        /// show all template
        #[ink(message)]
        pub fn list_templates(&self) -> Vec<DAOTemplate> {
            let mut temp_vec = Vec::new();
            let mut iter = self.template_map.values();
            let mut temp = iter.next();
            while temp.is_some() {
                temp_vec.push(temp.unwrap().clone());
                temp = iter.next();
            }
            temp_vec
        }
        /// get a template by index
        #[ink(message)]
        pub fn query_template_by_index(&self, index: u64) -> DAOTemplate {
            self.template_map.get(&index).unwrap().clone()
        }
    }
    #[cfg(test)]


.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.chahinem.pageindicator.sample.MyAdapter.MyViewHolder
import com.squareup.picasso.Picasso

class MyAdapter(private val picasso: Picasso) : RecyclerView.Adapter<MyViewHolder>() {

  private val items: MutableList<MyItem> = mutableListOf()

  override fun getItemCount() = items.size

  override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = MyViewHolder(
      LayoutInflater
          .from(parent.context)
          .inflate(R.layout.item_card, parent, false))

  override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
    holder.bind(picasso, items[holder.adapterPosition])
  }

  fun swapData(data: Iterable<MyItem>?) {
    items.clear()
    data?.let { items.addAll(data) }
    notifyDataSetChanged()
  }

  class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

    private val title: TextView = itemView.findViewById(R.id.title)
    private val caption: TextView = itemView.findViewById(R.id.caption)
    private val image: ImageView = itemView.findViewById(R.id.image)

    fun bind(picasso: Picasso, item: MyItem) {
      picasso
          .load(item.image)
          .placeholder(R.color.colorPrimaryDark)
          .fit()
          .centerCrop()
          .into(image)
      title.text = item.title
      caption.text = item.caption
    }
  }

  class MyItem(val title: String, val caption: String, val image: String)
}package cn.chahuyun.session.command

import cn.chahuyun.session.HuYanSession
import cn.chahuyun.session.data.DataService
import net.mamoe.mirai.console.command.CommandSender
import net.mamoe.mirai.console.command.CompositeCommand

class SessionCommand : CompositeCommand(
    HuYanSession.INSTANCE, "hys",
    description = "HuYanSession-3 Command"
) {

    @SubCommand("v")
    @Description("查询当前壶言会话3版本")
    suspend fun CommandSender.version() {
        sendMessage("当前壶言会话3版本 ${HuYanSession.VERSION}")
    }

    @SubCommand("owner")
    @Description("设置主人")
    suspend fun CommandSender.owner(owner: Long) {
        HuYanSession.pluginConfig.owner = owner
        sendMessage("已将主人设置为:${owner}")
    }

    @SubCommand("ref")
    @Description("刷新缓存")
    suspend fun CommandSender.refresh() {

        DataService.refresh()
        sendMessage("缓存刷新成功！")
    }

    @SubCommand("repair")
    @Description("修复")
    suspend fun CommandSender.repair() {

        DataService.refresh()
        sendMessage("缓存刷新成功！")
    }

}plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
}

android {
    namespace = "com.example.todoapp"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.todoapp"
        minSdk = 26
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

dependencies {

    implementation("androidx.core:core-


    Authorization: `Bearer ${key}`,
      }),
      (this.defaultOptions = {
        url: link,
        buffer: buffer,
      });
  }
  async catbox(content) {
    try {
      const { ext, mime } = (await fileTypeFromBuffer(content)) || {},
        blob = new Blob([content], {
          type: mime,
        }),
        formData = new FormData(),
        randomBytes = crypto.randomBytes(5).toString("hex");
      formData.append("reqtype", "fileupload"),
        formData.append("fileToUpload", blob, randomBytes + "." + ext);
      const uploadURL = "https://catbox.moe/user/api.php",
        response = await fetch(uploadURL, {
          method: "POST",
          body: formData,
          headers: {
            "User-Agent":
              "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
          },
        });
      return (await response.text()) || null;
    } catch (e) {
      throw e;
    }
  }
  async makeRequest(url, formdata, options = {}) {
    const requestOptions = {
        method: "POST",
        body: formdata,
        headers: {
          ...this.commonHeaders,
        },
      },
      mergedOptions = {
        ...this.defaultOptions,
        ...options,
      };
    try {
      const response = await fetch(url, requestOptions);
      if (!response.ok)
        throw new Error(`Failed to make request. Status: ${response.status}`);
      return mergedOptions.url && !mergedOptions.buffer
        ? {
            link: await this.catbox(await response.arrayBuffer()),
          }
        : !mergedOptions.url && mergedOptions.buffer
          ? {
              buffer: Buffer.from(await response.arrayBuffer()),
            }
          : mergedOptions.url && mergedOptions.buffer
            ? {
                buffer: Buffer.from(await response.arrayBuffer()),
                link: await this.catbox(await response.arrayBuffer()),
              }
            : null;
    } catch (error) {
      throw new Error(`Error making request: ${error.message}`);
    }
  }
  async generateImage(prompt, styleId) {
    const url = `${this.baseUrl}generations`,
      formdata = new FormData();
    return (
      formdata.append("prompt", prompt),
      formdata.append("style_id", styleId),
      await this.makeRequest(url, formdata)
    );
  }
  async remixImage(prompt, styleId, imageBuffer) {
    const url = `${this.baseUrl}edits/remix`,
      { mime } = (await fileTypeFromBuffer(imageBuffer)) || {},
      image = new Blob([imageBuffer.toArrayBuffer()], {
        type: mime,
      }),
      formdata = new FormData();
    return (
      formdata.append("style_id", styleId),
      formdata.append("prompt", prompt),
      formdata.append("image", image),
      await this.makeRequest(url, formdata)
    );
  }
  async inpaintImage(prompt, imageBuffer, maskBuffer) {
    const url = `${this.baseUrl}edits/inpaint`,
      img = (await fileTypeFromBuffer(imageBuffer)) || {},
      image = new Blob([imageBuffer.toArrayBuffer()], {
        type: img.mime,
      }),
      msk = (await fileTypeFromBuffer(maskBuffer)) || {},
      mask = new Blob([maskBuffer.toArrayBuffer()], {
        type: msk.mime,
      }),
      formdata = new FormData();
    return (
      formdata.append("prompt", prompt),
      formdata.append("image", image