text:
package sk.henrichg.phoneprofiles;

import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences.Editor;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.Icon;
import android.media.AudioManager;
import android.os.Build;
import android.os.Handler;
import android.os.PowerManager;
import android.provider.Settings;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import androidx.appcompat.app.AlertDialog;
import me.drakeet.support.toast.ToastCompat;

import static android.content.Context.POWER_SERVICE;

class DataWrapper {

    public final Context context;
    //private boolean forGUI = false;
    private boolean monochrome = false;
    private int monochromeValue = 0xFF;
    private boolean useMonochromeValueForCustomIcon = false;

    boolean profileListFilled = false;
    final List<Profile> profileList = Collections.synchronizedList(new ArrayList<Profile>());

    DataWrapper(Context c, /*boolean fgui,*/ boolean mono, int monoVal,
                boolean useMonoValForCustomIcon)
    {
        //long nanoTimeStart = PPApplication.startMeasuringRunTime();

        context = c.getApplicationContext();

        setParameters(/*fgui,*/ mono, monoVal, useMonoValForCustomIcon);

        //activateProfileHelper = getActivateProfileHelper();

        //PPApplication.getMeasuredRunTime(nanoTimeStart, "ProfilesDataWrapper.constructor");
    }

    void setParameters(
            //boolean fgui,
            boolean mono,
            int monoVal,
            boolean useMonoValForCustomIcon)
    {
        //forGUI = fgui;
        monochrome = mono;
        monochromeValue = monoVal;
        useMonochromeValueForCustomIcon = useMonoValForCustomIcon;
    }

    private DataWrapper copyDataWrapper() {
        DataWrapper dataWrapper = new DataWrapper(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
        synchronized (profileList) {
            dataWrapper.copyProfileList(this);
        }
        return dataWrapper;
    }

    void fillProfileList(boolean generateIcons, boolean generateIndicators)
    {
        //long nanoTimeStart = PPApplication.startMeasuringRunTime();

        synchronized (profileList) {
            if (!profileListFilled)
            {
                profileList.addAll(getNewProfileList(generateIcons, generateIndicators));
                profileListFilled = true;
            }
        }

        //PPApplication.getMeasuredRunTime(nanoTimeStart, "ProfilesDataWrapper.getProfileList");
    }

    List<Profile> getNewProfileList(boolean generateIcons, boolean generateIndicators) {
        List<Profile> newProfileList = DatabaseHandler.getInstance(context).getAllProfiles();

        //if (forGUI)
        //{
            //noinspection ForLoopReplaceableByForEach
            for (Iterator<Profile> it = newProfileList.iterator(); it.hasNext();) {
                Profile profile = it.next();
                if (generateIcons)
                    profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
                if (generateIndicators)
                    profile.generatePreferencesIndicator(context, monochrome, monochromeValue);
            }
        //}
        return newProfileList;
    }

    void setProfileList(List<Profile> sourceProfileList)
    {
        synchronized (profileList) {
            if (profileListFilled)
                profileList.clear();
            profileList.addAll(sourceProfileList);
            profileListFilled = true;
        }
    }

    void copyProfileList(DataWrapper fromDataWrapper)
    {
        synchronized (profileList) {
            if (profileListFilled) {
                profileList.clear();
                profileListFilled = false;
            }
            if (fromDataWrapper.profileListFilled) {
                profileList.addAll(fromDataWrapper.profileList);
                profileListFilled = true;
            }
        }
    }

    static Profile getNonInitializedProfile(String name, String icon, int order)
    {
        //noinspection ConstantConditions
        return new Profile(
                name,
                icon + Profile.defaultValuesString.get("prf_pref_profileIcon_withoutIcon"),
                false,
                order,
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_volumeRingerMode")),
                Profile.defaultValuesString.get("prf_pref_volumeRingtone"),
                Profile.defaultValuesString.get("prf_pref_volumeNotification"),
                Profile.defaultValuesString.get("prf_pref_volumeMedia"),
                Profile.defaultValuesString.get("prf_pref_volumeAlarm"),
                Profile.defaultValuesString.get("prf_pref_volumeSystem"),
                Profile.defaultValuesString.get("prf_pref_volumeVoice"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_soundRingtoneChange")),
                Settings.System.DEFAULT_RINGTONE_URI.toString(),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_soundNotificationChange")),
                Settings.System.DEFAULT_NOTIFICATION_URI.toString(),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_soundAlarmChange")),
                Settings.System.DEFAULT_ALARM_ALERT_URI.toString(),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceAirplaneMode")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceWiFi")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceBluetooth")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceScreenTimeout")),
                Profile.BRIGHTNESS_ADAPTIVE_BRIGHTNESS_NOT_SET + Profile.defaultValuesString.get("prf_pref_deviceBrightness_withoutLevel"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceWallpaperChange")),
                Profile.defaultValuesString.get("prf_pref_deviceWallpaper"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceMobileData")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceMobileDataPrefs")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceGPS")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceRunApplicationChange")),
                Profile.defaultValuesString.get("prf_pref_deviceRunApplicationPackageName"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceAutosync")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceAutoRotation")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceLocationServicePrefs")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_volumeSpeakerPhone")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceNFC")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_duration")),
                Profile.AFTERDURATIONDO_UNDOPROFILE,
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_volumeZenMode")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceKeyguard")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_vibrationOnTouch")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceWiFiAP")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_devicePowerSaveMode")),
                Profile.defaultValuesBoolean.get("prf_pref_askForDuration"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceNetworkType")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_notificationLed")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_vibrateWhenRinging")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceWallpaperFor")),
                Profile.defaultValuesBoolean.get("prf_pref_hideStatusBarIcon"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_lockDevice")),
                Profile.defaultValuesString.get("prf_pref_deviceConnectToSSID"),
                Profile.defaultValuesString.get("prf_pref_durationNotificationSound"),
                Profile.defaultValuesBoolean.get("prf_pref_durationNotificationVibrate"),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceWiFiAPPrefs")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_headsUpNotifications")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceForceStopApplicationChange")),
                Profile.defaultValuesString.get("prf_pref_deviceForceStopApplicationPackageName"),
                0,
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceNetworkTypePrefs")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_deviceCloseAllApplications")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_screenNightMode")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_dtmfToneWhenDialing")),
                Integer.parseInt(Profile.defaultValuesString.get("prf_pref_soundOnTouch")),
                Profile.defaultValuesString.get("prf_pref_volumeDTMF"),
                Profile.defaultValuesString.get("prf_pref_volumeAccessibility"),
                Profile.defaultValuesString.get("prf_pref_volumeBluetoothSCO")
            );
    }

    @SuppressWarnings("WrapperTypeMayBePrimitive")
    private String getVolumeLevelString(int percentage, int maxValue)
    {
        Double dValue = maxValue / 100.0 * percentage;
        return String.valueOf(dValue.intValue());
    }

    Profile  getPredefinedProfile(int index, boolean saveToDB, Context baseContext)
    {
        int	maximumValueRing = 7;
        int	maximumValueNotification = 7;
        int	maximumValueMusic = 15;
        int	maximumValueAlarm = 7;
        //int	maximumValueSystem = 7;
        //int	maximumValueVoiceCall = 7;
        AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
        if (audioManager != null) {
            maximumValueRing = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
            maximumValueNotification = audioManager.getStreamMaxVolume(AudioManager.STREAM_NOTIFICATION);
            maximumValueMusic = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
            maximumValueAlarm = audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM);
            //maximumValueSystem = audioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);
            //maximumValueVoiceCall = audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);
        }

        Profile profile;

        switch (index) {
            case 0:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_home), "ic_profile_home_2", index+1);
                //if (android.os.Build.VERSION.SDK_INT >= 18) {
                    if (ActivateProfileHelper.canChangeZenMode(context, true)) {
                        profile._volumeRingerMode = 5;
                        profile._volumeZenMode = 1; // ALL
                        /*
                        if (android.os.Build.VERSION.SDK_INT >= 23) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 1; // ALL
                        } else if (android.os.Build.VERSION.SDK_INT >= 21) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 1; // ALL
                        } else
                            profile._volumeRingerMode = 1;
                        */
                    } else
                        profile._volumeRingerMode = 1;
                //} else
                //    profile._volumeRingerMode = 1;
                profile._volumeRingtone = getVolumeLevelString(71, maximumValueRing) + "|0|0";
                profile._volumeNotification = getVolumeLevelString(86, maximumValueNotification) + "|0|0";
                profile._volumeAlarm = getVolumeLevelString(100, maximumValueAlarm) + "|0|0";
                profile._volumeMedia = getVolumeLevelString(80, maximumValueMusic) + "|0|0";
                profile._deviceWiFi = 1;
                //profile._deviceBrightness = "60|0|0|0";
                break;
            case 1:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_outdoor), "ic_profile_outdoors_1", index+1);
                //if (android.os.Build.VERSION.SDK_INT >= 18) {
                    if (ActivateProfileHelper.canChangeZenMode(context, true)) {
                        profile._volumeRingerMode = 5;
                        profile._volumeZenMode = 1; // ALL
                        /*if (android.os.Build.VERSION.SDK_INT >= 23) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 1; // ALL
                        } else if (android.os.Build.VERSION.SDK_INT >= 21) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 1; // ALL
                        } else
                            profile._volumeRingerMode = 2;*/
                    } else
                        profile._volumeRingerMode = 2;
                //} else
                //    profile._volumeRingerMode = 2;
                profile._volumeRingtone = getVolumeLevelString(100, maximumValueRing) + "|0|0";
                profile._volumeNotification = getVolumeLevelString(100, maximumValueNotification) + "|0|0";
                profile._volumeAlarm = getVolumeLevelString(100, maximumValueAlarm) + "|0|0";
                profile._volumeMedia = getVolumeLevelString(93, maximumValueMusic) + "|0|0";
                profile._deviceWiFi = 2;
                //profile._deviceBrightness = "255|0|0|0";
                break;
            case 2:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_work), "ic_profile_work_5", index+1);
                //if (android.os.Build.VERSION.SDK_INT >= 18) {
                    if (ActivateProfileHelper.canChangeZenMode(context, true)) {
                        profile._volumeRingerMode = 5;
                        profile._volumeZenMode = 4; // ALL with vibration
                        /*if (android.os.Build.VERSION.SDK_INT >= 23) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 4; // ALL with vibration
                        } else if (android.os.Build.VERSION.SDK_INT >= 21) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 4; // ALL with vibration
                        } else
                            profile._volumeRingerMode = 1;*/
                    } else
                        profile._volumeRingerMode = 1;
                //} else
                //    profile._volumeRingerMode = 1;
                profile._volumeRingtone = getVolumeLevelString(57, maximumValueRing) + "|0|0";
                profile._volumeNotification = getVolumeLevelString(71, maximumValueNotification) + "|0|0";
                profile._volumeAlarm = getVolumeLevelString(57, maximumValueAlarm) + "|0|0";
                profile._volumeMedia = getVolumeLevelString(80, maximumValueMusic) + "|0|0";
                profile._deviceWiFi = 2;
                //profile._deviceBrightness = "60|0|0|0";
                break;
            case 3:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_meeting), "ic_profile_meeting_2", index+1);
                //if (android.os.Build.VERSION.SDK_INT >= 18) {
                    if (ActivateProfileHelper.canChangeZenMode(context, true)) {
                        profile._volumeRingerMode = 5;
                        profile._volumeZenMode = 3; // NONE
                        /*if (android.os.Build.VERSION.SDK_INT >= 23) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 3; // NONE
                        } else if (android.os.Build.VERSION.SDK_INT >= 21) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 3; // NONE
                        } else
                            profile._volumeRingerMode = 4;*/
                    } else
                        profile._volumeRingerMode = 4;
                //} else
                //    profile._volumeRingerMode = 4;
                profile._volumeRingtone = getVolumeLevelString(57, maximumValueRing) + "|0|0";
                profile._volumeNotification = getVolumeLevelString(71, maximumValueNotification) + "|0|0";
                profile._volumeAlarm = getVolumeLevelString(57, maximumValueAlarm) + "|0|0";
                profile._volumeMedia = getVolumeLevelString(80, maximumValueMusic) + "|0|0";
                profile._deviceWiFi = 0;
                //profile._deviceBrightness = Profile.BRIGHTNESS_ADAPTIVE_BRIGHTNESS_NOT_SET+"|1|1|0";
                break;
            case 4:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_sleep), "ic_profile_sleep", index+1);
                //if (android.os.Build.VERSION.SDK_INT >= 18) {
                    if (ActivateProfileHelper.canChangeZenMode(context, true)) {
                        profile._volumeRingerMode = 5;
                        profile._volumeZenMode = 6; // ALARMS
                        /*if (android.os.Build.VERSION.SDK_INT >= 23) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 6; // ALARMS
                        } else if (android.os.Build.VERSION.SDK_INT >= 21) {
                            profile._volumeRingerMode = 5;
                            profile._volumeZenMode = 3; // NONE
                        } else
                            profile._volumeRingerMode = 4;*/
                    } else
                        profile._volumeRingerMode = 4;
                //} else
                //    profile._volumeRingerMode = 4;
                profile._volumeRingtone = getVolumeLevelString(71, maximumValueRing) + "|0|0";
                profile._volumeNotification = getVolumeLevelString(86, maximumValueNotification) + "|0|0";
                profile._volumeAlarm = getVolumeLevelString(100, maximumValueAlarm) + "|0|0";
                profile._volumeMedia = getVolumeLevelString(80, maximumValueMusic) + "|0|0";
                profile._deviceWiFi = 0;
                //profile._deviceBrightness = "10|0|0|0";
                break;
            case 5:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_battery_low), "ic_profile_battery_1", index+1);
                profile._deviceAutoSync = 2;
                profile._deviceMobileData = 2;
                profile._deviceWiFi = 2;
                profile._deviceBluetooth = 2;
                profile._deviceGPS = 2;
                break;
            case 6:
                profile = getNonInitializedProfile(baseContext.getString(R.string.default_profile_name_battery_ok), "ic_profile_battery_3", index+1);
                profile._deviceAutoSync = 1;
                profile._deviceMobileData = 1;
                profile._deviceWiFi = 1;
                profile._deviceBluetooth = 1;
                profile._deviceGPS = 1;
                break;
            default:
                profile = null;
        }

        if (profile != null) {
            if (saveToDB)
                DatabaseHandler.getInstance(context).addProfile(profile);
        }

        return profile;
    }

    void fillPredefinedProfileList(@SuppressWarnings("SameParameterValue") boolean generateIcons,
                                   boolean generateIndicators,
                                   Context baseContext)
    {
        synchronized (profileList) {
            clearProfileList();
            DatabaseHandler.getInstance(context).deleteAllProfiles();

            for (int index = 0; index < 7; index++)
                getPredefinedProfile(index, true, baseContext);

            fillProfileList(generateIcons, generateIndicators);
        }
    }

    void clearProfileList()
    {
        synchronized (profileList) {
            if (profileListFilled)
            {
                for (Iterator<Profile> it = profileList.iterator(); it.hasNext(); ) {
                    Profile profile = it.next();
                    profile.releaseIconBitmap();
                    profile.releasePreferencesIndicator();
                    it.remove();
                }
            }
            profileListFilled = false;
        }
    }

    Profile getActivatedProfileFromDB(boolean generateIcon, boolean generateIndicators)
    {
        Profile profile = DatabaseHandler.getInstance(context).getActivatedProfile();
        if (/*forGUI &&*/ (profile != null))
        {
            if (generateIcon)
                profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
            if (generateIndicators)
                profile.generatePreferencesIndicator(context, monochrome, monochromeValue);
        }
        return profile;
    }

    public Profile getActivatedProfile(boolean generateIcon, boolean generateIndicators)
    {
        synchronized (profileList) {
            if (profileListFilled) {
                //noinspection ForLoopReplaceableByForEach
                for (Iterator<Profile> it = profileList.iterator(); it.hasNext(); ) {
                    Profile profile = it.next();
                    if (profile._checked) {
                        return profile;
                    }
                }
                // when profile not found, get profile from db
            }
            return getActivatedProfileFromDB(generateIcon, generateIndicators);
        }
    }

    /*
    public Profile getFirstProfile()
    {
        if (profileList == null)
        {
            Profile profile = DatabaseHandler.getInstance(context).getFirstProfile();
            if (forGUI && (profile != null))
            {
                profile.generateIconBitmap(context, monochrome, monochromeValue);
                profile.generatePreferencesIndicator(context, monochrome, monochromeValue);
            }
            return profile;
        }
        else
        {
            Profile profile;
            if (profileList.size() > 0)
                profile = profileList.get(0);
            else
                profile = null;

            return profile;
        }
    }
    */

    /*
    private int getItemPosition(Profile profile)
    {
        if (profile == null)
            return -1;

        if (profileList == null)
            return DatabaseHandler.getInstance(context).getProfilePosition(profile);
        else
        {
            for (int i = 0; i < profileList.size(); i++)
            {
                if (profileList.get(i)._id == profile._id)
                    return i;
            }
            return -1;
        }
    }
    */

    private void setProfileActive(Profile profile)
    {
        synchronized (profileList) {
            if (!profileListFilled)
                return;

            //noinspection ForLoopReplaceableByForEach
            for (Iterator<Profile> it = profileList.iterator(); it.hasNext();) {
                Profile _profile = it.next();
                _profile._checked = false;
            }

            if (profile != null)
                profile._checked = true;
        }
    }

    Profile getProfileById(long id, boolean generateIcon, boolean generateIndicators)
    {
        synchronized (profileList) {
            if (!profileListFilled) {
                Profile profile = DatabaseHandler.getInstance(context).getProfile(id);
                if (/*forGUI &&*/ (profile != null)) {
                    if (generateIcon)
                        profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
                    if (generateIndicators)
                        profile.generatePreferencesIndicator(context, monochrome, monochromeValue);
                }
                return profile;
            } else {
                //noinspection ForLoopReplaceableByForEach
                for (Iterator<Profile> it = profileList.iterator(); it.hasNext(); ) {
                    Profile profile = it.next();
                    if (profile._id == id)
                        return profile;
                }
                return null;
            }
        }
    }

    void updateProfile(Profile profile)
    {
        if (profile != null)
        {
            Profile origProfile = getProfileById(profile._id, false, false);
            if (origProfile != null)
                origProfile.copyProfile(profile);
        }
    }

    /*
    public void reloadProfilesData()
    {
        clearProfileList();
        getProfileList();
    }
    */

    void deleteProfile(Profile profile)
    {
        if (profile == null)
            return;

        synchronized (profileList) {
            profileList.remove(profile);
        }

        // unlink profile from Background profile
        if (Long.parseLong(ApplicationPreferences.applicationBackgroundProfile(context)) == profile._id)
        {
            ApplicationPreferences.getSharedPreferences(context);
            Editor editor = ApplicationPreferences.preferences.edit();
            editor.putString(ApplicationPreferences.PREF_APPLICATION_BACKGROUND_PROFILE, String.valueOf(Profile.PROFILE_NO_ACTIVATE));
            editor.apply();
        }
    }

    void deleteAllProfiles()
    {
        synchronized (profileList) {
            profileList.clear();
        }

        // unlink profiles from Background profile
        ApplicationPreferences.getSharedPreferences(context);
        Editor editor = ApplicationPreferences.preferences.edit();
        editor.putString(ApplicationPreferences.PREF_APPLICATION_BACKGROUND_PROFILE, String.valueOf(Profile.PROFILE_NO_ACTIVATE));
        editor.apply();
    }

    public void invalidateDataWrapper()
    {
        clearProfileList();
    }

    void refreshProfileIcon(Profile profile,
                            @SuppressWarnings("SameParameterValue") boolean generateIcon,
                            boolean generateIndicators) {
        if (profile != null) {
            boolean isIconResourceID = profile.getIsIconResourceID();
            String iconIdentifier = profile.getIconIdentifier();
            DatabaseHandler.getInstance(context).getProfileIcon(profile);
            if (isIconResourceID && iconIdentifier.equals("ic_profile_default") && (!profile.getIsIconResourceID())) {
                if (generateIcon)
                    profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
                if (generateIndicators)
                    profile.generatePreferencesIndicator(context, monochrome, monochromeValue);
            }
        }
    }

//----- Activate profile ---------------------------------------------------------------------------------------------

    void _activateProfile(final Profile profile, int startupSource, final boolean interactive, Activity _activity)
    {
        // remove last configured profile duration alarm
        ProfileDurationAlarmBroadcastReceiver.removeAlarm(context);
        Profile.setActivatedProfileForDuration(context, 0);

        //final Profile profile = _profile; //Profile.getMappedProfile(_profile, context);

        // get currently activated profile
        Profile activatedProfile = getActivatedProfile(false, false);

        DatabaseHandler.getInstance(context).activateProfile(profile);
        setProfileActive(profile);

        if (activatedProfile != null) {
            long profileId = activatedProfile._id;
            Profile.setActivatedProfileForDuration(context, profileId);
        }
        else
            Profile.setActivatedProfileForDuration(context, 0);
        ProfileDurationAlarmBroadcastReceiver.setAlarm(profile, context);

        PPApplication.showProfileNotification(/*context*/);
        ActivateProfileHelper.updateGUI(context, true);

        final Context _context = context;

        PPApplication.startHandlerThread();
        Handler handler = new Handler(PPApplication.handlerThread.getLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {

                PowerManager powerManager = (PowerManager) _context.getSystemService(POWER_SERVICE);
                PowerManager.WakeLock wakeLock = null;
                try {
                    if (powerManager != null) {
                        wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, PPApplication.PACKAGE_NAME + ":DataWrapper._activateProfile.1");
                        wakeLock.acquire(10 * 60 * 1000);
                    }

                    ActivateProfileHelper.execute(_context, profile/*, _interactive*/);
                } finally {
                    if ((wakeLock != null) && wakeLock.isHeld()) {
                        try {
                            wakeLock.release();
                        } catch (Exception ignored) {}
                    }
                }
            }
        });

        if (ApplicationPreferences.notificationsToast(context) && (!ActivateProfileHelper.lockRefresh))
        {
            // toast notification
            if (PPApplication.toastHandler != null)
            {
                PPApplication.toastHandler.post(new Runnable() {
                    public void run() {
                        showToastAfterActivation(profile);
                    }
                });
            }
            //else
            //    showToastAfterActivation(_profile);
        }

        if (interactive) {
            final DataWrapper dataWrapper = copyDataWrapper();

            PPApplication.startHandlerThread();
            handler = new Handler(PPApplication.handlerThread.getLooper());
            handler.post(new Runnable() {
                @Override
                public void run() {
                    PowerManager powerManager = (PowerManager) _context.getSystemService(POWER_SERVICE);
                    PowerManager.WakeLock wakeLock = null;
                    try {
                        if (powerManager != null) {
                            wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, PPApplication.PACKAGE_NAME + ":DataWrapper._activateProfile.2");
                            wakeLock.acquire(10 * 60 * 1000);
                        }

                        DatabaseHandler.getInstance(_context).increaseActivationByUserCount(profile);
                        dataWrapper.setDynamicLauncherShortcuts();
                    } finally {
                        if ((wakeLock != null) && wakeLock.isHeld()) {
                            try {
                                wakeLock.release();
                            } catch (Exception ignored) {
                            }
                        }
                    }
                }
            });
        }

        // for startActivityForResult
        if (_activity != null)
        {
            Intent returnIntent = new Intent();
            returnIntent.putExtra(PPApplication.EXTRA_PROFILE_ID, profile._id);
            returnIntent.putExtra(PPApplication.EXTRA_STARTUP_SOURCE, startupSource);
            _activity.setResult(Activity.RESULT_OK,returnIntent);
        }

        finishActivity(startupSource, true, _activity);
    }

    private void showToastAfterActivation(Profile profile)
    {
        Toast msg = ToastCompat.makeText(context.getApplicationContext(),
                context.getResources().getString(R.string.toast_profile_activated_0) + ": " + profile._name + " " +
                        context.getResources().getString(R.string.toast_profile_activated_1),
                Toast.LENGTH_SHORT);
        msg.show();
    }

    private void activateProfileWithAlert(Profile profile, int startupSource, /*boolean interactive,*/ Activity activity)
    {
        PPApplication.setBlockProfileEventActions(false);

        if (/*interactive &&*/ (ApplicationPreferences.applicationActivateWithAlert(context) ||
                            (startupSource == PPApplication.STARTUP_SOURCE_EDITOR)))
        {
            // set theme and language for dialog alert ;-)
            // not working on Android 2.3.x
            GlobalGUIRoutines.setTheme(activity, true, true);
            GlobalGUIRoutines.setLanguage(activity);

            final Profile _profile = profile;
            final int _startupSource = startupSource;
            final Activity _activity = activity;
            final DataWrapper _dataWrapper = this;

            if (_profile._askForDuration) {
                if (!_activity.isFinishing()) {
                    FastAccessDurationDialog dlg = new FastAccessDurationDialog(_activity, _profile, _dataWrapper,
                            /*monochrome, monochromeValue,*/ _startupSource);
                    dlg.show();
                }
            }
            else {
                AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(activity);
                dialogBuilder.setTitle(activity.getResources().getString(R.string.profile_string_0) + ": " + profile._name);
                dialogBuilder.setMessage(R.string.activate_profile_alert_message);
                //dialogBuilder.setIcon(android.R.drawable.ic_dialog_alert);
                dialogBuilder.setPositiveButton(R.string.alert_button_yes, new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {
                        if (Permissions.grantProfilePermissions(context, _profile, false,
                                /*true, monochrome, monochromeValue,*/
                                _startupSource, true, true, false))
                            _dataWrapper._activateProfile(_profile, _startupSource, true, _activity);
                        else {
                            Intent returnIntent = new Intent();
                            _activity.setResult(Activity.RESULT_CANCELED, returnIntent);

                            finishActivity(_startupSource, true, _activity);
                        }
                    }
                });
                dialogBuilder.setNegativeButton(R.string.alert_button_no, new DialogInterface.OnClickListener() {

                    public void onClick(DialogInterface dialog, int which) {

                        // for startActivityForResult
                        Intent returnIntent = new Intent();
                        _activity.setResult(Activity.RESULT_CANCELED, returnIntent);

                        finishActivity(_startupSource, false, _activity);
                    }
                });
                dialogBuilder.setOnCancelListener(new DialogInterface.OnCancelListener() {

                    public void onCancel(DialogInterface dialog) {
                        // for startActivityForResult
                        Intent returnIntent = new Intent();
                        _activity.setResult(Activity.RESULT_CANCELED, returnIntent);

                        finishActivity(_startupSource, false, _activity);
                    }
                });
                AlertDialog dialog = dialogBuilder.create();
                /*dialog.setOnShowListener(new DialogInterface.OnShowListener() {
                    @Override
                    public void onShow(DialogInterface dialog) {
                        Button positive = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_POSITIVE);
                        if (positive != null) positive.setAllCaps(false);
                        Button negative = ((AlertDialog)dialog).getButton(DialogInterface.BUTTON_NEGATIVE);
                        if (negative != null) negative.setAllCaps(false);
                    }
                });*/
                if (!activity.isFinishing())
                    dialog.show();
            }
        }
        else
        {
            // set theme and language for dialog alert ;-)
            // not working on Android 2.3.x
            GlobalGUIRoutines.setTheme(activity, true, true);
            GlobalGUIRoutines.setLanguage(activity);

            if (profile._askForDuration/* && interactive*/) {
                if (!activity.isFinishing()) {
                    FastAccessDurationDialog dlg = new FastAccessDurationDialog(activity, profile, this,
                            /*monochrome, monochromeValue,*/ startupSource);
                    dlg.show();
                }
            }
            else {
                boolean granted;
                //if (interactive) {

                    granted = Permissions.grantProfilePermissions(context, profile, false,
                            /*true, monochrome, monochromeValue,*/
                            startupSource, true, true, false);
                /*}
                else
                    granted = Permissions.grantProfilePermissions(context, profile, true,
                            forGUI, monochrome, monochromeValue,
                            startupSource, false, null, true);*/
                if (granted)
                    _activateProfile(profile, startupSource, true, activity);
                else {
                    Intent returnIntent = new Intent();
                    activity.setResult(Activity.RESULT_CANCELED, returnIntent);

                    finishActivity(startupSource, true, activity);
                }
            }
        }
    }

    void finishActivity(int startupSource, boolean closeActivator, final Activity activity)
    {
        if (activity == null)
            return;

        boolean finish = true;

        if (startupSource == PPApplication.STARTUP_SOURCE_ACTIVATOR_START)
        {
            finish = false;
        }
        else
        if (startupSource == PPApplication.STARTUP_SOURCE_ACTIVATOR)
        {
            finish = false;
            if (ApplicationPreferences.applicationClose(context))
            {
                if (PPApplication.getApplicationStarted(activity.getApplicationContext(), false))
                    finish = closeActivator;
            }
        }
        else
        if (startupSource == PPApplication.STARTUP_SOURCE_EDITOR)
        {
            finish = false;
        }

        if (finish) {
            final Handler handler = new Handler(context.getMainLooper());
            handler.post(new Runnable() {
                @Override
                public void run() {
                    try {
                        activity.finish();
                    } catch (Exception ignored) {}
                }
            });
        }
    }

    public void activateProfile(long profile_id, int startupSource, Activity activity)
    {
        Profile profile;

        // for activated profile, update of activity is required
        profile = getActivatedProfile(false, false);

        long backgroundProfileId = Long.parseLong(ApplicationPreferences.applicationBackgroundProfile(context));
        if ((profile == null) &&
            (backgroundProfileId != Profile.PROFILE_NO_ACTIVATE))
        {
            profile = getProfileById(backgroundProfileId, false, false);
        }

        boolean actProfile = false;
        //boolean interactive = false;
        if ((startupSource == PPApplication.STARTUP_SOURCE_SHORTCUT) ||
            (startupSource == PPApplication.STARTUP_SOURCE_WIDGET) ||
            (startupSource == PPApplication.STARTUP_SOURCE_ACTIVATOR) ||
            (startupSource == PPApplication.STARTUP_SOURCE_EDITOR) ||
            (startupSource == PPApplication.STARTUP_SOURCE_SERVICE) ||
            (startupSource == PPApplication.STARTUP_SOURCE_SERVICE_MANUAL))
        {
            // activity started from shortcut or service, activate profile
            actProfile = true;
            //interactive = ((startupSource != PPApplication.STARTUP_SOURCE_SERVICE));
        }
        else
        if (startupSource == PPApplication.STARTUP_SOURCE_BOOT)
        {
            // device boot

            ProfileDurationAlarmBroadcastReceiver.removeAlarm(context);
            Profile.setActivatedProfileForDuration(context, 0);

            if (ApplicationPreferences.applicationActivate(context))
            {
                actProfile = true;
            }
            else
            {
                if (profile != null)
                {
                    DatabaseHandler.getInstance(context).deactivateProfile();
                    //profile._checked = false;
                    profile = null;
                }
            }
        }
        else
        if (startupSource == PPApplication.STARTUP_SOURCE_ACTIVATOR_START)
        {
            // activity started after device boot

            ProfileDurationAlarmBroadcastReceiver.removeAlarm(context);
            Profile.setActivatedProfileForDuration(context, 0);

            if (ApplicationPreferences.applicationActivate(context))
            {
                actProfile = true;
            }
            else
            {
                if (profile != null)
                {
                    DatabaseHandler.getInstance(context).deactivateProfile();
                    //profile._checked = false;
                    profile = null;
                }
            }
        }

        if ((startupSource == PPApplication.STARTUP_SOURCE_SHORTCUT) ||
            (startupSource == PPApplication.STARTUP_SOURCE_WIDGET) ||
            (startupSource == PPApplication.STARTUP_SOURCE_ACTIVATOR) ||
            (startupSource == PPApplication.STARTUP_SOURCE_EDITOR) ||
            (startupSource == PPApplication.STARTUP_SOURCE_SERVICE))
        {
            if (profile_id == 0)
                profile = null;
            else
                profile = getProfileById(profile_id, false, false);
        }

        if (actProfile && (profile != null))
        {
            if (startupSource == PPApplication.STARTUP_SOURCE_BOOT)
                _activateProfile(profile, PPApplication.STARTUP_SOURCE_BOOT, false, null);
            else
                activateProfileWithAlert(profile, startupSource, /*interactive,*/ activity);
        }
        else
        {
            PPApplication.showProfileNotification(/*context*/);
            ActivateProfileHelper.updateGUI(context, true);

            // for startActivityForResult
            if (activity != null)
            {
                Intent returnIntent = new Intent();
                returnIntent.putExtra(PPApplication.EXTRA_PROFILE_ID, profile_id);
                returnIntent.putExtra(PPApplication.EXTRA_STARTUP_SOURCE, startupSource);
                activity.setResult(Activity.RESULT_OK,returnIntent);
            }

            finishActivity(startupSource, true, activity);
        }

    }

    void activateProfileAfterDuration(long profile_id)
    {
        int startupSource = PPApplication.STARTUP_SOURCE_SERVICE_MANUAL;
        Profile profile = getProfileById(profile_id, false, false);
        if (profile == null) {
            // remove last configured profile duration alarm
            ProfileDurationAlarmBroadcastReceiver.removeAlarm(context);
            Profile.setActivatedProfileForDuration(context, 0);
            PPApplication.showProfileNotification(/*context*/);
            ActivateProfileHelper.updateGUI(context, true);
            return;
        }
        if (Permissions.grantProfilePermissions(context, profile, true,
                /*false, monochrome, monochromeValue,*/
                startupSource, true, true, false)) {
            _activateProfile(profile, startupSource, true, null);
        }
    }

    void activateProfileOnBoot()
    {
        PPApplication.logE("DataWrapper.activateProfileOnBoot", "applicationActivate="+ApplicationPreferences.applicationActivate(context));
        if (ApplicationPreferences.applicationActivate(context))
        {
            Profile profile = DatabaseHandler.getInstance(context).getActivatedProfile();
            long profileId;
            if (profile != null)
                profileId = profile._id;
            else
            {
                profileId = Long.parseLong(ApplicationPreferences.applicationBackgroundProfile(context));
                if (profileId == Profile.PROFILE_NO_ACTIVATE)
                    profileId = 0;
            }
            activateProfile(profileId, PPApplication.STARTUP_SOURCE_BOOT, null/*, ""*/);
        }
        else
            activateProfile(0, PPApplication.STARTUP_SOURCE_BOOT, null/*, ""*/);
    }

    @TargetApi(Build.VERSION_CODES.N_MR1)
    private ShortcutInfo createShortcutInfo(Profile profile) {
        boolean isIconResourceID;
        String iconIdentifier;
        Bitmap profileBitmap;
        boolean useCustomColor;

        Intent shortcutIntent;

        isIconResourceID = profile.getIsIconResourceID();
        iconIdentifier = profile.getIconIdentifier();
        useCustomColor = profile.getUseCustomColorForIcon();

        if (isIconResourceID) {
            if (profile._iconBitmap != null)
                profileBitmap = profile._iconBitmap;
            else {
                //int iconResource = context.getResources().getIdentifier(iconIdentifier, "drawable", context.getPackageName());
                int iconResource = Profile.getIconResource(iconIdentifier);
                profileBitmap = BitmapFactory.decodeResource(context.getResources(), iconResource);
            }
        } else {
            Resources resources = context.getResources();
            int height = (int) resources.getDimension(android.R.dimen.app_icon_size);
            int width = (int) resources.getDimension(android.R.dimen.app_icon_size);
            //Log.d("---- ShortcutCreatorListFragment.generateIconBitmap","resampleBitmapUri");
            profileBitmap = BitmapManipulator.resampleBitmapUri(iconIdentifier, width, height, true, false, context.getApplicationContext());
            if (profileBitmap == null) {
                int iconResource = R.drawable.ic_profile_default;
                profileBitmap = BitmapFactory.decodeResource(context.getResources(), iconResource);
            }
        }

        if (ApplicationPreferences.applicationWidgetIconColor(context).equals("1")) {
            if (isIconResourceID || useCustomColor) {
                // icon is from resource or colored by custom color
                int monochromeValue = 0xFF;
                String applicationWidgetIconLightness = ApplicationPreferences.applicationWidgetIconLightness(context);
                if (applicationWidgetIconLightness.equals("0")) monochromeValue = 0x00;
                if (applicationWidgetIconLightness.equals("25")) monochromeValue = 0x40;
                if (applicationWidgetIconLightness.equals("50")) monochromeValue = 0x80;
                if (applicationWidgetIconLightness.equals("75")) monochromeValue = 0xC0;
                //if (applicationWidgetIconLightness.equals("100")) monochromeValue = 0xFF;
                profileBitmap = BitmapManipulator.monochromeBitmap(profileBitmap, monochromeValue/*, getActivity().getBaseContext()*/);
            } else {
                float monochromeValue = 255f;
                String applicationWidgetIconLightness = ApplicationPreferences.applicationWidgetIconLightness(context);
                if (applicationWidgetIconLightness.equals("0")) monochromeValue = -255f;
                if (applicationWidgetIconLightness.equals("25")) monochromeValue = -128f;
                if (applicationWidgetIconLightness.equals("50")) monochromeValue = 0f;
                if (applicationWidgetIconLightness.equals("75")) monochromeValue = 128f;
                //if (applicationWidgetIconLightness.equals("100")) monochromeValue = 255f;
                profileBitmap = BitmapManipulator.grayScaleBitmap(profileBitmap);
                profileBitmap = BitmapManipulator.setBitmapBrightness(profileBitmap, monochromeValue);
            }
        }

        shortcutIntent = new Intent(context.getApplicationContext(), BackgroundActivateProfileActivity.class);
        shortcutIntent.setAction(Intent.ACTION_MAIN);
        shortcutIntent.addCategory(Intent.ACTION_DEFAULT);
        shortcutIntent.putExtra(PPApplication.EXTRA_STARTUP_SOURCE, PPApplication.STARTUP_SOURCE_SHORTCUT);
        shortcutIntent.putExtra(PPApplication.EXTRA_PROFILE_ID, profile._id);

        String profileName = profile._name;
        String longLabel = profileName;
        if (profileName.isEmpty()) {
            profileName = " ";
            longLabel = " ";
        }

        return new ShortcutInfo.Builder(context, "profile_" + profile._id)
                .setShortLabel(profileName)
                .setLongLabel(/*context.getString(R.string.shortcut_activate_profile) + */longLabel)
                .setIcon(Icon.createWithBitmap(profileBitmap))
                .setIntent(shortcutIntent)
                .build();
    }

    void setDynamicLauncherShortcuts() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) {
            ShortcutManager shortcutManager = context.getSystemService(ShortcutManager.class);

            if (shortcutManager != null) {
                final int limit = 5;
                List<Profile> countedProfiles = DatabaseHandler.getInstance(context).getProfilesForDynamicShortcuts(true/*, limit*/);
                List<Profile> notCountedProfiles = DatabaseHandler.getInstance(context).getProfilesForDynamicShortcuts(false/*, limit*/);

                ArrayList<ShortcutInfo> shortcuts = new ArrayList<>();

                for (Profile profile : countedProfiles) {
                    //PPApplication.logE("DataWrapper.setDynamicLauncherShortcuts", "countedProfile=" + profile._name);
                    profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
                    shortcuts.add(createShortcutInfo(profile));
                }

                int shortcutsCount = countedProfiles.size();
                if (shortcutsCount < limit) {
                    for (Profile profile : notCountedProfiles) {
                        //PPApplication.logE("DataWrapper.setDynamicLauncherShortcuts", "notCountedProfile=" + profile._name);
                        profile.generateIconBitmap(context, monochrome, monochromeValue, useMonochromeValueForCustomIcon);
                        shortcuts.add(createShortcutInfo(profile));

                        ++shortcutsCount;
                        if (shortcutsCount == limit)
                            break;
                    }
                }

                if (shortcuts.size() > 0)
                    shortcutManager.setDynamicShortcuts(shortcuts);
            }
        }
    }

    void setDynamicLauncherShortcutsFromMainThread()
    {
        //PPApplication.logE("DataWrapper.setDynamicLauncherShortcutsFromMainThread", "start");
        final DataWrapper dataWrapper = copyDataWrapper();

        PPApplication.startHandlerThread();
        final Handler handler = new Handler(PPApplication.handlerThread.getLooper());
        handler.post(new Runnable() {
            @Override
            public void run() {
                PowerManager powerManager = (PowerManager) dataWrapper.context.getSystemService(POWER_SERVICE);
                PowerManager.WakeLock wakeLock = null;
                try {
                    if (powerManager != null) {
                        wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, PPApplication.PACKAGE_NAME + ":DataWrapper.setDynamicLauncherShortcutsFromMainThread");
                        wakeLock.acquire(10 * 60 * 1000);
                    }

                    dataWrapper.setDynamicLauncherShortcuts();
                } finally {
                    if ((wakeLock != null) && wakeLock.isHeld()) {
                        try {
                            wakeLock.release();
                        } catch (Exception ignored) {}
                    }
                }
            }
        });
    }

}


I trust my ability intelligence and skill you say this game is for you. Located bomb on the platform debuted in the first division after our game we are trying to manipulate the transport of zombies. Created propeller located at different points of the platform correctly and in a logical manner. Then click activates the bomb and overcome obstacles to reach the zombies. Of course, this star is located on the field while also collecting sections 3 stars trying to pass. We wish you luck.


text:
Sport
 Clube de Futebol Os Belenenses, polisportiva fondata nel 1919, nota soprattutto per la sezione calcistica
 Belenenses SAD, squadra di calcio fondata nel 2018 dopo la scissione con l'Os Belenenses

redpajama_set_name: RedPajamaWikipedia


text:
The X-Men face their most formidable and powerful foe when one of their own, Jean Grey, starts to spiral out of control. During a rescue mission in outer space, Jean is nearly killed when she's hit by a mysterious cosmic force. Once she returns home, this force not only makes her infinitely more powerful, but far more unstable. The X-Men must now band together to save her soul and battle aliens that want to use Grey's new abilities to rule the galaxy.
Director: Simon Kinberg
Actors: Evan Peters, James McAvoy, Jennifer Lawrence, Jessica Chastain, Michael Fassbender, Nicholas Hoult, Sophie Turner
Shock Wave
When a terrorist who specializes in explosives takes hold of an underground tunnel, he threatens to kill hostages if his demands are not met.
When the world is in shambles, plagued by a zombie outbreak, only the strong will survive, but just how much determination will it take? Will Luke and his crew have…
55 Days at Peking
Diplomats, soldiers and other representatives of a dozen nations fend off the siege of the International Compound in Peking during the 1900 Boxer Rebellion. The disparate interests unite for survival…
Genre: Action, Drama, History
SuperBob
Six years ago, Robert Kenner, a mild mannered postman from Peckham, South London was struck by a meteor which bestowed him with super powers. Today, Bob is an overworked under-appreciated…
A dangerous international spy is determined to give up his high stakes life to finally build a closer relationship with his estranged wife and daughter. But first, he must complete…
World World II: Shortly after D-Day, three American soldiers and two Army Corps nurses are stranded behind enemy lines. They take a high-ranking German officer as their prisoner and try…
Genre: Action, Drama, War
Alien Reign of Man
Stranded on a distant planet, a team must fight aliens and activate a machine meant to restore Earth to a time before its downfall.
Genre: Action, Science Fiction
The Russia House
An expatriate British publisher unexpectedly finds himself working for British intelligence to investigate people in Russia.
Genre: Action, Drama, Romance, Thriller
The Big Green
In a depressed Texas town, British foreign exchange teacher Anna attempts to inject some life into her hopeless kids by introducing them to soccer. They're terrible at first, but Anna…
As a young and naive recruit in Vietnam, Chris Taylor faces a moral crisis when confronted with the horrors of war and the duality of man.
A blind Vietnam vet, trained as a swordfighter, comes to America and helps to rescue the son of a fellow soldier.
The Jayhawkers!
Before the U.S. Civil War rebel leader Luke Darcy sees himself as leader of a new independent Republic of Kansas but the military governor sends an ex-raider to capture Darcy.
Genre: Action, Western
Trailer: Dark Phoenix

redpajama_set_name: RedPajamaCommonCrawl


I will override the creation of tenant so that each creation tenant re-exeucte all the patches on this tenant without losing the information of the other tenants .
If you are planning this for your client and thinking to keep it in future then do not use tenant because from version 6 it is being removed.
For the versions before 6 you may use.
I'm using the multi tenant just for a student project and I'm on version 5 and I do not need a version 6 what you have an idea commits to re-run the patch with each creation of a tenant ?
I am hopping you are using post webscript to create tenant, if yes then you just need to override org.alfresco.repo.web.scripts.tenant.TenantPost class in order to execute your logic around tenant creation.
I am already on this point but I am blocked because I do not know how to apply the execution of the patches after override creation tenant? how to invoke patches on a tenant? how to cause the re-execution of the patches?


Debate Club is one of the most popular columns in the monthly magazine - Indian Plumbing Today (IPT). Through this column, IPT attempts to offer clarity on a number of technical issues often debated in the plumbing industry in India.
Collective opinion of Indian and International experts has been sought on several technical issues. For this, IPA has inducted some of the most distinguished and enlightened professionals from India and abroad into the Technical Committee (TC), so that the Indian plumbing industry can benefit from their experience and expertise. Letters received in the form of questions/queries to the TC from individuals or organisations are also answered under 'Letter to TC'.


So assuming you are starting from scratch or your funds are limited here is my Kick Start Strategy For Bloggers – both in video and an expanded transcript below.
This strategy allows you to leverage your time and talents for maximum results with out having to spend a lot of money and it is my Marketing Strategy of choice for all new bloggers and even established bloggers for that matter.
I say it on the video and I will say it here again — this strategy is SIMPLE but don't let the fact that it is simple put you off. Simple WORKS!
Of course if you have money to invest or you already have an established blog then the 'rules' are slightly different – but for a start-up blogger this is the way to go.
Enjoy the video and make sure to read the transcript. I have included some extra info in the transcript.
Today I want to talk to you about something really cool. It's about how to get 1, 000 visitors in a day. One of the main reasons a lot of people fail is because they don't have traffic, and they just give up, they get fed up. I was working with one of my students today and he wanted to know what my recommended 'FREE TRAFFIC' Formula for new bloggers in 2010 was?
The first main thing you have to do with Twitter is set up a profile. It may sound a bit simple and you know, "Duh, " but it's not. You're going to have to have a profile picture. Don't just set up your profile, just create an account, and just start tweeting, thinking people are going to follow you. To get rapport with your audience and a quality FOLLOW (rather than an automated Follow) you need a profile pic and quality interesting tweets.
Set up your profile so you show where you live, something interesting about you.
So once you've got your profile, you want to start adding people.
There are a number of ways to do this – including automated ways (which Twitter frowns on) and of course the manual way. I will admit I have used automated methods in the past – but these days I am more selective and while I still use tools, I use them to help me manage the twitter accounts easily. (Tools for example that allow me to forward plan tweets).
When I first started I found some of the biggest names in my niche (Blogging and making money online) and I followed whoever they where following.
A lot of people only tweet while they're awake – but with software like Market Me Tweet you can plan to tweet 24/7. If you're tweeting while you're asleep, that's a whole audience that probably don't get your regular tweets.
Using software to Follow, Un-Follow, Tweet and mange your Twitter account saves some much time and frankly if you are serious about Twitter then you will need to invest in these inexpensive tools. My personal favorite is Market Me Tweet, the only Twitter Application that allows you to Brand, Market, and Manage, all in one!
There is also Twitter Adder which I have had great success with in the past. Both Market Me Tweet and Twitter Adder allow you to add more people, but Market Me Tweet also gives you a bunch of extra branding options.
This is Important: Make your tweets interesting, newsworthy, fun, inspiring – and naturally include links to wherever it is you want your followers to visit. Personal Fun Tweets are also OK – but remember at this stage, your goal is to get traffic to your website.
You want to create a fan page, telling a bit about you, and your website, and why to become a fan. Invite all your friends. When your friends join, they're going to see that you've joined this group, and then think, "Oh, my friend's joined, I'm going to join that." And then it just sort of goes viral and spreads.
There are other ways to grow your Fan Page quicker such as this tip I learned from Joshua March of when he spoke at Yanik Silvers Young Mogul Day. He said to find someone high profile in your niche, a bunch of them, and ask them to become a fan, because all their followers will then see them becoming a fan and a good number are likely to follow your lead.
Again – as I mentioned above this only works if what you are blogging and tweeting about is interesting, newsworthy, fun and inspiring. No big name is going to become your Fan unless they can see there is something worth being a Fan of.
Do this right and literally overnight, you'll get hundreds and hundreds of people joining your fan page. Something really powerful you should consider doing.
The next thing is, obviously, posting messages. Like, again, with Twitter, so many people have Facebook and Twitter, they just don't post. Constantly post. Not just your own stuff. Tweet other people's things and Facebook other people's things, and they'll then do the same for you.
Now the really powerful stuff starts. I shall pull my sleeves up for this one.
Top Lists, Top Lists, Top Lists!
The next thing you want to do is either create the list yourself or outsource it. I admit it – a lot of my lists are outsourced but when I started I of course could not afford that and did all the work myself. Lists can be quite Time Intensive (several days work some times) so I uses services such as TaskUs.com. Or you could use SitePoint.com or DigitalPoint.com to find somebody there who would go and do the work for you.
Inside Magic is a USA online magazine edited and published by Tim Quinlan and aimed at magicians and people interested in magic as a performing art.
CasinoTradingPost is an online casino portal run for the Australian gambling public by ex-members of the online gaming industry.


In the top-right corner of the list that shows existing Issues, click .
On the New bulk insert form, enter the Subjects of the new Issues, one Subject per line, and then click SAVE.
The new Issues are added on the list that shows the current Issues.
After you add Issues in bulk, you can manage each new Issue and set it up as needed. For more details about managing an Issue, you can go to How to manage an Issue.


text:
Wayne Boring
(person) by Jet-Poop Fri Sep 20 2002 at 16:31:33
American comic book artist (1916-1982). He was born in South Dakota into a farming family. He joined the Marine Corps and was stationed in Norfolk, Virginia. He later studied at the Chicago Art Institute and the Minnesota School of Art before starting to work at National Publications (which later grew up to be DC Comics) in 1937. He did some pencilling for characters like Slam Bradley and Dr. Occult, though his work was signed by Jerry Siegel and Joe Shuster (a common practice at the time, when a publisher would push some "star" artists as the creators of as many books as possible).
After Superman proved to be a great success in 1938, Boring began working on Superman comics nearly full-time, quickly becoming one of the most prominent and recognizable artists to work on that character. His version of the Man of Steel was more muscular than Siegel and Shuster's version and more clean-cut. It was also much more cleanly and clearly drawn. Boring had been inspired by early Flash Gordon comics, and that helped him create some of the wild science fiction stories that became more popular during the 1950s and '60s.
After 30 years of working on both the Superman comic books and the daily Superman comic strip, Boring was fired by DC, along with a number of older artists, in the late '60s. Afterwards, he ghosted backgrounds on the Sunday "Prince Valiant" strip and worked briefly for Marvel Comics. One of the greatest artists Superman ever had ended his career working as a bank security guard. The world is not fair.
Research from http://www.wayneboring.com and http://www.comic-art.com/bios-1/boring01.htm
« Comic Book Creators »
Look beyond the storm Superman Super-Heroes Battle Super-Gorillas Jerry Siegel and Joe Shuster
comic book Comics creators Curt Swan Stielhandgranate
random walk Dr. Occult rack and pinion Recognizable
clean-cut South Dakota DC Comics Marvel Comics
Prince Valiant prominent security guard Star
farming Bank Flash Gordon muscular


text:
Jarkko Lahti (born 1978 in Kokkola, Finland) is a Finnish actor, known for portraying Olli Mäki in the film The Happiest Day in the Life of Olli Mäki (2016). He won best Best Actor at the Jussi Awards in 2016. Lahti also appeared as Viirilä in the film The Unknown Soldier (2017).

References

External links

Finnish male actors
1978 births
Living people


The Nameserver ns44.domaincontrol.com have a IP Address of 208.109.255.22 which is hosted on United States.
Join the Global Health and Development Movement. Through Global Brigades chapters, university students and alumni mobilize to implement programs with partner communities abroad.
Public Knowledge preserves the openness of the Internet, preserves creativity through balanced copyright and protects the rights of consumes to use technology lawfully.
LearnVest helps people lead their richest lives. Take control of your money today, by getting started with a Certified Financial Planner for free.


text:
Three US aircraft carriers set for joint drill near Korea
09 November, 2017	0 comments
The U.S. 7th Fleet, which announced the exercise, did not say where in the western Pacific the exercise will be conducted, but officials have said recently that it is meant to demonstrate U.S. North Korea will be at the top of the agenda as Trump tries to pressure Beijing into cracking down on Pyongyang. This is the first time three nuclear-powered aircraft carriers of the US Navy will be carrying out naval manoeuvres at the same time since 2007, though sometimes two such giant vessels can ...	Read More »
Germany: police detain man hiding python in his trousers
He then revealed a 14 inch baby king python. Police in the southwestern city of Darmstadt said the 19-year-old was detained on Tuesday night after a loud argument with another man disturbed residents. Police put the snake in a box and the man in a jail cell so he could sober up , according to Deutsche Welle, but it's still not known why he stashed the critter in his trousers.	Read More »
Grades Up: Texas Tech Athletes Earn Highest Ever Graduation Success Rate
Joseph Tront, the faculty athletics representative to the ACC/NCAA and a professor of electrical and computer engineering at Virginia Tech. This year's six Tech teams in that category (again, four-year average) included men's golf, men's tennis, women's tennis, women's soccer, women's swimming and diving and volleyball. Read More »
USA ground invasion of North Korea could cost 'millions' of lives
That blunt assessment from the Pentagon is in response to a letter from two Democratic congressmen asking about casualty assessments in a conflict with North Korea . "A nonpartisan report by the Congressional Research Service indicates conflict on the peninsula could impact as many as 25 million people on either side of the border, including more than 100,000 US citizens".	Read More »
Bharti Airtel shares fall 6.7%, most in eight months
Rashed Fahad Al-Noaimi, CEO of investments at Qatar Foundation, is on Bharti Airtel's board. It is now offering shares of the Indian wireless carrier at 473 rupees to 480 rupees apiece, representing a 6.7 percent to 8 percent discount to its last close, according to terms for the deal obtained by Bloomberg on Tuesday. Read More »
Long term Growth Analysis of ConocoPhillips (NYSE:COP)
They now have $51.61 price target on the stock. The analysts estimated mean EPS at 0.37 while the high and low EPS estimate stand at 1.08 and 0.12 respectively. The company also recently declared a quarterly dividend, which will be paid on Friday, December 1st. Stockholders of record on Monday, October 16th will be issued a $0.265 dividend.	Read More »
Melania Upstaged By Korean Pop Star During Teen Meet And Greet
Now on a 12-day, five-nation tour of Asia alongside President Trump, FLOTUS arrived for the four-course meal with Korean President Moon Jae-in and first lady Kim Jung-sook wearing a long sleeved, black-and-navy lace gown with sequins and illusion detail by J. Read More »
China's Exports Expand Less Than Forecast
Coal imports had jumped almost 11% to 27.08 million tonnes in September from a year ago. The latest data showed that shipments to the U.S. rose 8.3 per cent on-year last month, while imports increased 4.3 per cent. The trade surplus against the U.S. was US$26.6 billion (S$36.3 billion) last month. "I think imports will remain relatively low (for November and December), but maybe not as low as October".	Read More »
Pentagon has been failing to report domestic violence convictions to Federal Bureau of Investigation
Channel 2 Investigates has confirmed with the United States Air Force that delusional mass murder Devin Kelley served a little more than nine months of his year-long confinement. Mattis says we have to "find out what's going on". CNN reports that the shooter, Devin Kelley, was given a bad conduct discharge from the U.S. Air Force in 2014 after spending 12 months in the brig for beating his wife and stepson, who was a baby at the time.	Read More »
Veterans Day 2017: Best free meals & military discounts, deals
According to their Facebook post, the deal is "a small (foil-wrapped) token of thanks for your service". Present proof of military ID or service, and enjoy a Free Create-Your-Own Combo Meal with rice and beans, plus chips & salsa. Military members will be able to get a free meal from the $9.99 menu at participating O'Charley's locations. On Saturday, November 11, Applebee's will offer a free meal to veterans and active duty military who can provide proof of military service.	Read More »
Senate Dems, Led by Feinstein, Introduce Assault Weapons Ban
A ban on bump stocks has stalled, and even a bill that would compel federal agencies (like the U.S. Air Force) to upload felony conviction records to the national background check system (which they are already supposed to do), and which might well have stopped the Texas shooter, does not have unanimous support. Read More »
D-304 middle schools to host Veterans Day ceremonies
This year the skydivers plan to again land in Coronado, on Wednesday, Nov. 8, at approximately 9:45 a.m. Photo by Sky Dive San Diego. Belmont School District will be having a program at 10:30 a.m. The public is invited to attend. Associate pastor Jay Miller of Victory Baptist Church in Mendota will give the invocation, and the Rev. Kent Svendsen, U.S.	Read More »
Self-driving shuttle crashes in Las Vegas hours after launch
A driverless shuttle in Las Vegas crashed just hours after it was unveiled Wednesday. No injuries were reported, and no word yet on the damage to the shuttle. The City of Las Vegas twitter account had earlier tweeted pictures of celebrities and the mayor at the shuttle's launch, later adding that people could "b$3 oard the free shuttle at any of the three stops on Fremont Street and Carson Street between Las Vegas Boulevard and 8th Street".	Read More »
Pence arrives in Texas to meet with survivors of church shooting
Officials say 26 people were killed in the attack. Pence will arrive in Indy at 4:15 p.m. for the 5:15 roundtable. Henry Cuellar, D-Texas, and Will Hurd, R-Texas. He died of a self-inflicted gunshot wound to the head following a brief auto chase with two men who were hailed as heroes for confronting him. The Las Vegas attack, the worst mass shooting in USA history, occurred October 1.	Read More »
Indian Mob Tries BURNING Elephants Alive
This exact phenomenon was portrayed by a photo taken by Biplab Hazra which shows an elephant and her calf running away from an irate mob who flung flaming tar balls and crackers at the elephants subjecting them to potential injuries, just to scare them away from their own settlements. Read More »
Who Is Ashanti Billie? Navy Veteran Charged With Teen's Kidnapping
According to the court document, co-workers told investigators that Brown could be seen frequenting the area where Billie worked, day and night. Police fingerprinted the auto and found a partial print, which was consistent with the vehicle having been wiped clean of fingerprints, court documents state. Read More »
Syria army, allies retake last IS-held town
The two outlets said earlier that Syrian troops had linked up with Iraqi forces across the border. On Wednesday, after a months-long advance through central and eastern Syria, the Syrian army and allied Shi'ite militias encircled and attacked Albu Kamal. Read More »
Michigan Senate approves concealed weapons in schools and bars
Republican lawmakers amended the legislation Wednesday to allow concealed pistol carriers to carry their guns at the Grand Rapids and Detroit airports from the curb to the Transportation Security Authority checkpoint, said Meekhof spokeswoman Amber McCann. Read More »
FBI Seeks Access to Texas Church Shooter's Cellphone
The case is reminiscent of the Apple-FBI legal feud previous year, in which the Justice Dept. sought to compel Apple to build a backdoor to bypass the encryption on the iPhone that belonged to Syed Farook, who with his wife Tashfeen Malik shot and killed 14 people in San Bernardino, California in December 2015. Read More »
Barack Obama Reporting for Jury Duty, Your Honor!
Cook County Chief Judge Timothy Evans told county commissioners that Obama has been summoned for jury duty in IL, according to WLS. Like others, Obama is in line to be paid $17.20 a day for jury duty. "Every office in a democracy counts!" A decade later, Mister T, whose real name is Lawrence Tureaud, appeared for jury duty at the Rolling Meadows courthouse but wasn't chosen.	Read More »
Judge Gags Manafort Case
U.S. District Judge Amy Berman Jackson's order does not bar the attorneys from talking to the media altogether. Defendants Paul Manafort and Rick Gates are included in that order from U.S. The judge said the limitations are aimed at potential comments "likely to influence the actual outcome of the trial " and "prejudice the jury". In the November 2 hearing , the judge criticized Manafort's lawyer, Kevin Downing, for making public statements to the media outside the courthouse after his ...	Read More »
Pro-independence rallies grind Catalonia to a halt
Madrid is organising new regional elections for next month as it tries to stem the fallout from Spain's deepest political crisis in decades. Protesters blocked roads and train lines across Catalonia on Wednesday, provoking commuter anger in a strike called by a pro-independence union after separatist leaders were detained in Madrid over their divisive secession drive. Read More »
Elated at Your Accomplishment: PM Modi to Mary Kom
Meanwhile, five other Indians had earlier settled for bronze medals at the continental showpiece after losing their respective semi-final bouts in different weight categories. Sonia also fought a draining bout and was at par with her rival in power, precision and pace. "I would like to personally like to thank BFI President Ajay Singh for his support and encouragement", Mary Kom said.	Read More »
Political parties protest on first anniversary of demonetisation
Was it ethical to heap misery on millions of people, especially 15 crore daily wage earners? Senior Congress leader and Thiruvananthapuram Lok Sabha member Shashi Tharoor said demonetisation has been all pain and no gain and slammed the BJP for going into a celebration mode. Read More »
2 police officers shot in Georgia, gunman found dead
Atlanta NBC affiliate WXIA-TV is reporting that two officers have been shot in Forest Park, Ga. prompting the area's middle school to be on lockdown. We have reporters at the hospitals where the officers were taken to get updates on their conditions, on Channel 2 Action News starting at 4 . Read More »
Donald Trump promises to 'figure it out' with South Korea's Moon Jae
The Times's Tokyo bureau chief, Motoko Rich, called it "a false note", while Guardian columnist Jessica Valenti hypothesized that Akie Abe had "pretended not to speak English for almost two hours to avoid talking to Trump". Pence has urged Japan to roll back its emergency import restrictions on US frozen beef, which saw tariffs rise to 50 percent from 38.5 percent. Ever since Saudi Arabia delivered a lavish welcome on Trump's first global trip, leaders have tried to outdo ...	Read More »
COP 23 Kicks Off with Calls to Implement Paris Agreement
Syria announced today it will join the Paris climate agreement , leaving the U.S.as the only country outside the worldwide accord. The Syria People's Assembly voted to approve ratification of the agreement last month, according to the country's state-run media outlet SANA. Read More »
Drug Take Back Day: Ohioans turn in 35000 pounds of prescription drugs
Unwanted or expired prescription medications were collected a few weeks ago for the 14th National Prescription Take-Back Day. Nationally, more than 912,000 pound or 456 tons of prescription medications were collected. "By taking risky drugs off of our streets, we keep addiction from spreading", U.S. Attorney General Jeff Sessions said in a news release from the Department of Justice.	Read More »
First openly transgender woman of color elected to public office in US
Jenkins urged her supporters to continue showing up and keep her abreast of community issues. "For young people who are transgender all over the United States, they are going to have examples for what they can do", she told local outlet KMIR. Read More »
USA would have to invade North Korea to secure Pyongyang nukes
Seoul has much warmer relations with Beijing, but at the same time it is nearly fully dependent on the " US military umbrella " in the view of the threat from the North, which the South regards as an " existential " one. Trump also plans to put pressure on Beijing to urge it to put more efforts in resolving the crisis around North Korean nuclear program, Leung said.	Read More »
Cloudy, cool Tuesday with a high near 46 in Oklahoma City
Monday: Mostly sunny, with a high near 71. Thursday night the region will be mostly clear to partly cloudy with lows in the upper 30s/ low 40s. The low Friday night will be around 21 degrees, it said. Night: Mostly clear and cold. Southeast wind 5 to 15 miles per hour. South winds 0-5 miles per hour. Sunday night - Partly cloudy, with a low around 57.	Read More »
Lin-Manuel Miranda will star in 'Hamilton' in Puerto Rico
Miranda is in Puerto Rico seven weeks after Hurricane Maria devastated the island. "When Lin said he wanted to take Hamilton to Puerto Rico and play the role again, I nearly leapt out of my chair", producer Jeffrey Seller added. 'In the aftermath of Maria we chose to expedite the announcement of the project to send a bold message that Puerto Rico will recover and be back in business, stronger than ever'.	Read More »
Queen should say sorry and be investigated over offshore cash - Corbyn
The Duchy invested in BrightHouse via the Dover Street VI Cayman Fund, which invests in global venture capital and private equity funds - in 2005, Dover Street fund managers contacted investors to request an injection of capital, setting out what was needed and where it would be invested. Read More »
Identity of fallen Abbotsford police officer now known
Abbotsford police have said a man in his 60s from Alberta was taken into custody Monday after exchanging gunfire with officers. The Independent Investigations Office (IIO) has been deployed and the Integrated Homicide Investigation Team (IHIT) is assuming the investigation. Read More »
New Cuba policy to restrict travel, trade for Americans
New restrictions on Americans' travel to Cuba will be enacted Thursday, the Trump administration said, and the USA also published a list of companies and other entities alleged to be controlled by the Cuban government that are forbidden from doing business with American citizens. Read More »
« First « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 »	... Last »


text:
Where the Pacific's Predators Go
Scientists have found that predator species trade off between prey availability and water temperature in their travels
Sarah Zielinski
A leatherback turtle is just one of many predators in the ocean NOAA
If I asked you to name a marine predator, your first answer would probably be a shark. But this category is so much bigger—sea turtles, tuna, elephant seals, whales, even birds reign at the top of the ocean's food webs. Many of these species are at risk from challenges such as overexploitation and climate change. And scientists hoping to protect these animals have often lacked good data on their movements; it's hard to see where creatures go beneath the water's surface.
In 2000, marine researchers began the Tagging of Pacific Predators project as part of the decade-long Census of Marine Life. They deployed 4,306 electronic tags, which yielded 1,791 tracks from individuals of 23 marine predator species in the northern Pacific (for a total of 265,386 days of data over 2000 to 2009). The results of their study were published earlier this month in Nature.
"It is like asking, 'How do lions, zebras and cheetahs use Africa as a whole continent?' only we have done it for a vast ocean," the study's lead author, Barbara Block of Stanford University, told Nature.
The species were concentrated along two main routes: One followed the California Current, which flows southward off the U.S. West Coast, and the other along the North Pacific transition zone, the boundary running east to west between the cold waters of the sub-Arctic and the warmer waters of the subtropics.
The researchers found that the exact location of a species represented a trade-off between having access to a greater amount of ocean productivity (meaning more food) and the temperatures that the predator–or its preferred prey–could withstand. As a result, two similar predator species can occupy two different ranges without overlapping (thus avoiding turf battles between, for example, white sharks and mako sharks).
Another factor that is likely to be an important driver of predator migration is upwelling, in which cool waters rich in nutrients are brought up to the surface of the ocean. Those nutrients help microscopic organisms grow and multiply and feed bigger critters up the food web. "Using satellite observations of temperature and chlorophyll concentrations , we can now predict when and where individual species will be," study co-author Daniel Costa of the University of California, Santa Cruz, told Nature.
Some predator species, such as yellowfin tuna, salmon sharks and elephant seals, can even be found returning to the same place every year, like wildebeests of the Serengeti.
Researchers hope that this data will help them manage these species in the future. Because no one can predict what might happen to the rest of the species in the food web if these top predators are lost—and who knows what tasty seafood may become a taste of the past.
Last up for Predator Week: What preys on humans?
Sarah Zielinski | | READ MORE
Sarah Zielinski is an award-winning science writer and editor. She is a contributing writer in science for Smithsonian.com and blogs at Wild Things, which appears on Science News.
Birds Fish Mammals Oceans


This velvety cream regenerates the skin at rest time with natural hydration, leaving it deeply nourished, revived and remarkably soft. Your skin is energized with moisturizing minerals that can only be properly absorbed in the delicate calm of night. Pleasant dreams; a new tomorrow awaits you.
Smooth onto cleansed skin every night. Apply during the daytime in extreme weather conditions.
I've been meaning to try Ahava skincare for some time. Started with the Age Control creme then the night replenisher. I like them both, for the light weight and smooth finish. I like that it's not full of fragrance, but just a tad of pure-fresh smell. I'm not sure if it's keeping me younger yet as it has been only 2 weeks but I am hopeful. But I'm glad I found something this pleasant, for both texture and scent. It is kind of on the pricey side.


text:
Long Straight Lines in 'the Ether'
Ancient man knew a lot about the significance, and the influence, of the invisible linear veins that criss-cross the planet. Today, only dowsers and alternative architects take much notice of them – which is probably one of the reasons that we, as a society and species, have come to be who we are.
The matrices of 'energy' currents are, from one perspective, akin to the blood vessels in our bodies or the electric cabling in our walls – conveying and containing important information about our environment and advising us how to best interact with it. Without them, we would cease to exist – at least in the physical sense of the word – yet for almost all of the time they reside, unnoticed, just below the surface of our perception.
We know that the ancients knew and revered these etheric features precisely because they put such mind-boggling effort into marking, and possibly using, the places where the various currents run, cross and interact. It's not just Stonehenge and the Pyramids that record these massive undertakings. The solitary menhirs of Devon and Cornwall, Brittany and Ireland are, in their own way, even more evocative of this determination to establish the energetic points and lines in everyday perception. And maybe it was only when the Long Straight Lines were fading from immediate human sensation that the menhirs and their cousins came to be needed at all.
Some of the LSLs are actually quite recent in origin, implying that they are probably human in origin, products of the anthropocene. But many others dowse as dating back to a time before the dawn of the human era. They appear to be inherent in the very nature of planet earth – and probably those of other celestial bodies – and their interaction with Gaia and her progeny is almost an afterthought.
The modern appreciation of LSLs probably dates to the early 20th century, when Alfred Watkins, a landscape historian and folklorist from Herefordshire, became aware of the alignment of ancient sacred and religious sites in the west of England – both when seen from high ground and on maps produced by the Ordnance Survey. The term ley, to give a tag to these features, was coined by one of his colleagues (on the basis that you had to call them something). But later, it entered common parlance and also into the written work of Watkins himself. Watkins didn't think of leys as lines, as such, but merely as alignments of significant places that had been established, perhaps as trackways, in times long gone.
However, when Guy Underwood – a Trustee of the British Society of Dowsers -was writing in the 1950's and 1960's, being both a diviner and someone who considered the local landscape in a more physical manner, he was certainly discussing not just the nature, but also the structure, of these Ley 'Lines'.
A few years later again, John Michel was taking a more esoteric view of the phenomenon. His focus was on sacred geometry and how that could help us to understand the transcendent, even spiritual, components of both the biosphere and of the planet herself. It was Michel's vision of an LSL stretching from Glastonbury Tor to St Michael's Mount that inspired Hamish Miller and Paul Broadhurst to embark on their epic quest, which rediscovered both the St Michael 'alignment' in the UK and equivalent linear entities across Europe and beyond. Others, notably Gary Biltcliffe and Caroline Hoare, have carried this baton forward – and regenerated comparators of the St Michael Alignment are coming, almost literally, to the surface all of the time.
Alfred Watkins
If leys of varying lengths, widths and qualities were the touchstones that sent a generation of dowsers on a linear grail search, then grids have filled in most of the remaining land-surface with improbable geometric forms. Forms that have, to date, defied any credible explanation. The Hartmann and Curry grids are found by most dowsers – and are believed by some to be fundamental to both the texture and the feeling of many built structures. Other grids – and notably that revealed by Anton Benker in 1953 – may also have added significance to the way our society has subsequently evolved.
However, some feel these grids have little, if any, beneficial or detrimental impact on the biosphere, while others consider them to be mere figments of the dowser's imagination (although that does not make them any less 'real' – to the questor at least).
Northern Ireland dowser Billy Gawn has added his own ingredient to this conglomeration, with the astonishing discovery of inter-planetary grids – possibly lines of cosmic gravity – that are a product of the interaction between the Earth and our celestial neighbours. Whether these sets of lines are of importance to mankind is unknown, but the presence of their intersections at many of the sacred sites mentioned above does imply that some cultures, at least, found them to be worth acknowledging and encouraging.
Alan Neal, founder of the Tamar Dowsers, working in the 1990's, became convinced that leys were man made. Very little in the natural world is straight, at least in the textbook sense of the word, and his take at the time was that 'we' thought or envisioned them into place – deliberately or otherwise. A generation of his students (myself included) took his worldview on board and, in so doing, probably inadvertently discovered a completely new, complex and incredibly widespread, network of LSLs, which we could term Lines of Consciousness.
Perhaps a little surprisingly, given the above, Alan was later also the first to suggest in the public domain that Watkins-type leys almost invariably overlie significant geological faults.
To this growing miscellany of LSLs, we could add barely tangible, linear features such as spirit lines, ways of the dead, beneficial or detrimental lines of human intent, astronomical and calendrical lines often found at stone rows and circles – and even some of the trackways of Watkins fame, which pass over bogs, escarpments and watercourses with such gay abandon.
The extent to which LSLs are created by, or can be affected by, humans is highly contentious. Clearly, those of a cosmic and/or geological nature have a decidedly stable geophysical source. Lines of human intent or construction, however, are essentially more recent and more temporary in essence – and, conceptually, could be modified by anyone with the appropriate 'password'. Between these two extremes lies a no-mans-land of philosophical and spiritual interaction, where the LSL affects the sensing being, and the perpetrator might just be able to influence the current.
It is tempting to treat all LSLs as just vibrational variations on a titanic theme. Yet, some are almost solid enough to be measured with meters, while others are so transient as to barely exist at all. It is apparent that we are not just looking at the same enigma at different wavelengths (although that may also be the case), we are investigating a veritable zoo of line types, with different sources and widely different interactive possibilities.
Some LSLs appear to be the dowsable output of earth energy, gravity or electro- magnetism, while others seem to derive from deep in the psychic or the spiritual domain. Even more confusingly, some even seem to have elements of both.
When out in the field, various types of LSL can overwrite one another in this space-time, and the dowser has to be very aware of which type of current is being sensed at any given time.
The fact that so many of the remaining ancient sacred sites display such a vibrantly-patterned mixture of LSLs implies that they have been around for a very long time – and, by extrapolation, that they could still be profoundly relevant to us, today. Even during the historical period, successive cultures appear to have worked with different combinations of them, possibly attempting to achieve a greater sense of harmony, benevolence and enlightenment.
We would do well to take note of the potential of LSLs to assist us in such challenging environmental and philosophical times.
Tamar Dowsers


Here presented 49+ Manga Boys Drawing images for free to download, print or share. Learn how to draw Manga Boys pictures using these outlines or print just for coloring. You can edit any of drawings via our online image editor before downloading.